Kruchten提出了' 41 '视图的模型,从包括逻辑尝试、过程视图、物理在内的5个不同视点出发
描述软件体系结构的视图、开发视图和场景视图。 每个视图只关心系统的一个方面,五个尝试
只有耦合才能反映出系统软件体系结构的全部内容。 下图:
逻辑视图(Logic View )逻辑主要用于描述系统的功能需求,即系统为最终用户提供的服务。 在逻辑视图中
系统分解为一系列功能抽象、功能分解和功能分析,它们主要来自问题领域(Problem Definition )。
在面向对象技术中,通过抽象、封装、继承,可以用对象模型表示逻辑视图,类图(Class )
Diagram )来描述逻辑视图。 下图:
组件:类、类服务、参数化类、类层次
连接(Connectors ) :关联、合并、使用、继承、实例化
开发视图(Development/Module View)“开发”视图主要用于描述软件模块的组织与管理。 为软件程序员提供服务
工作人员,便于后续设计和实现。 这通过系统输入输出关系的模型图和子系统图来描述。 必须考虑柔软性
零部件的内部需求:开发的难易程度、可复用性、通用性、局限性等。 开发视图的样式通常为
层次结构、层次越低,通用性越强。 (基本库: Java SDK,图像处理包)。 下图:部件:模块、
子系统、层连接:请参阅依赖关系、模块/流程调用
3358www.Sina.com/进程重点关注系统的进程视图,以关注非功能性需求(性能、可用性)。 对系统集成商的服务
工作人员,便于后续的性能测试。 强调并发性、分布式、集成性、鲁棒性(容错)、可扩展性、吞吐量等。
定义逻辑视图中每个类的具体操作发生在哪个线程上。
下图:要素:流程、简化流程、循环流程
连接器:未指定、消息、远程过程调用(RPC )、双向消息、事件广播
运行特性物理主要服务于http://www.Sina.com/http://www.Sina.com /,解决系统拓扑、系统安装、通信
等问题。 主要考虑如何将软件映射到硬件上,还必须考虑系统的性能、规模、可靠性等。 过程和
一起映射视图。 下图:
组件:处理器、计算机和其他设备
连接器:通信协议等
3358www.Sina.com/场景用于物理视图,以有机方式关联四个视图。 可以描述特定的视图
内在因素关系。 也可以描述不同视图之间的元素关系。 文本、图形显示都可以。