首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
其他好文
> 详细
4+1视图与UML对应关系
时间:
2016-05-07 13:12:32
阅读:
331
评论:
0
收藏:
0
[点我收藏+]
标签:
4+1视图模型概况
Kruchten 提出了一个"4+1"视图模型,从5个不同的视角包括包括逻辑试图、进程视图、物理视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5个试图结合在一起才能反映系统的软件体系结构的全部内容。如下图:
逻辑试图主要是用来
描述系统的功能需求
,即系统提供给
最终用户
的服务. 在逻辑视图中,系统分解成一系列的功能抽象、功能分解与功能分析,这些主要来自问题领域(Problem Definition)。
在面向对象技术中,通过抽象、封装、继承,可以用对象模型来代表逻辑视图,可以用类图(Class Diagram
)来描述逻辑视图。如下图:
构件
(Components):类、类服务、参数化类、类层次
连接件
(Connectors):关联、包含聚集、使用、继承、实例化
开发视图(Development/Module View)
开发视图主要用来
描述软件模块的组织与管理
(通过程序库或子系统)。
服务于软件
编程人员
,
方便后续的设计与实现。
它通过系统输入输出关系的模型图和子系统图来描述。
要考虑软件的内部需求:开发的难易程度、重用的可能性,通用性,局限性等等。
开发视图的风格通常是层次结构,层次越低,通用性越好(底层库:Java SDK
,图像处理软件包)。如下图:
构件
:模块、子系统、层
连接件
:参照相关性、模块/
过程调用
进程视图
进程试图侧重系统的
运行特性
,关注非功能性的需求(性能,可用性)。服务于
系统集成人员
,方便后续性能测试。
强调并发性、分布性、集成性、鲁棒性(容错)、可扩充性、吞吐量等。
定义逻辑视图中的各个类的具体操作是在哪一个线程(Thread
)中被执行。
如下图:
构件
:进程、简化进程、循环进程
连接件
:未指定,消息、远程过程调用(RPC
)、双向消息、事件广播
物理视图
物理试图主要
描述硬件配置
。服务于
系统工程人员
,解决系统的拓扑结构、系统安装、通信等问题。主要考虑如何把软件映射到硬件上,也要考虑系统性能、规模、可靠性等。可以与进程视图一起映射。如下图:
构件
:处理器、计算机、其它设备
连接件
:通信协议等
场景(Scenarios)
场景用于
刻画构件之间的相互关系
,
将四个视图有机地联系起来。
可以描述一个特定的视图内的构件关系,
也可以描述不同视图间的构件关系。
文本、图形表示皆可。
小结
逻辑视图、开发视图,都主要是用来描述系统的静态结构。
进程视图、物理视图,主要是用来描述系统的动态结构。