架构设计4+1视图

  • 4+1 视图模型概况

Kruchten 提出了一个"4+1"视图模型,从 5 个不同的视角包括包括逻辑试图、进程视图、物理
视图、开发视图、场景视图来描述软件体系结构。每一个视图只关心系统的一个侧面,5 个试图

结合在一起才能反映系统的软件体系结构的全部内容。如下图:

架构设计4+1视图_第1张图片

 

  • 逻辑视图(Logic View )

逻辑试图主要是用来 描述系统的功能需求,即系统提供给最终用户的服务. 在逻辑视图中,
系统分解成一系列的功能抽象、功能分解与功能分析,这些主要来自问题领域(Problem Definition)。
在面向对象技术中,通过抽象、封装、继承,可以用对象模型来代表逻辑视图,可以用类图(Class
Diagram)来描述逻辑视图。如下图:
构件(Components):类、类服务、参数化类、类层次
连接件(Connectors):关联、包含聚集、使用、继承、实例化

 

架构设计4+1视图_第2张图片

 

  • 开发视图(Development/Module View)

开发视图主要用来 描述软件模块的组织与管理(通过程序库或子系统)。服务于软件 编程人
, 方便后续的设计与实现。它通过系统输入输出关系的模型图和子系统图来描述。要考虑软
件的内部需求:开发的难易程度、重用的可能性,通用性,局限性等等。开发视图的风格通常是
层次结构,层次越低,通用性越好(底层库:Java SDK,图像处理软件包)。如下图: 构件:模块、
子系统、层 连接件:参照相关性、模块/过程调用

 

架构设计4+1视图_第3张图片

 

 

  • 进程视图

进程试图侧重系统的 运行特性,关注非功能性的需求(性能,可用性)。服务于系统集成人
,方便后续性能测试。强调并发性、分布性、集成性、鲁棒性(容错)、可扩充性、吞吐量等。
定义逻辑视图中的各个类的具体操作是在哪一个线程(Thread)中被执行。
如下图: 构件:进程、简化进程、循环进程
连接件:未指定,消息、远程过程调用(RPC)、双向消息、事件广播

 

架构设计4+1视图_第4张图片

 

  • 物理视图

物理试图主要 描述硬件配置。服务于 系统工程人员,解决系统的拓扑结构、系统安装、通信
等问题。主要考虑如何把软件映射到硬件上,也要考虑系统性能、规模、可靠性等。可以与进程
视图一起映射。如下图:
构件:处理器、计算机、其它设备
连接件:通信协议等

 

架构设计4+1视图_第5张图片

 

  • 场景(Scenarios)

场景用于 刻画构件之间的相互关系,将四个视图有机地联系起来。可以描述一个特定的视图
内的构件关系,也可以描述不同视图间的构件关系。文本、图形表示皆可。

 

 

你可能感兴趣的:(软考,软考----架构)