2 软件体系结构建模

2.1 体系结构视图模型

在这里插入图片描述
(1)什么是模型:
生活中的模型:汽车模型、飞机模型等
(体系结构)模型是把设计的想法表达在纸上,表达的方法有文字描述,画图,符号表示等。
(2)什么是视图:用画图的方式表示的模型。
(3)软件视图

2.1 “4+1”视图模型

在这里插入图片描述
(1)背景:
问题:一个视图模型,涵盖的方面较窄,只靠一个视图模型无法充分展现软件设计想法不利于软件开发。
解决:用多个视图模型指导一个软件的开发
(2)“4+1”视图模型
视图模型太多也不行,研究表明,“4+1”个模型是比较合适的,其中,“4”个模型包括逻辑模型、开发模型、过程模型、物理模型,“1”个模型是脚本模型
逻辑模型描述系统的模块,以及模块之间的关系,来源于功能性需求(将功能转化为设计);
开发模型描述软件开发时的模块分组,便于软件更新,来源于可扩展性、可维护性等非功能需求;
过程模型描述软件运行时的模块之间的通信同步,来源于性能、并发度等非功能性需求;
物理模型描述软件模块应该怎样部署在硬件之上
,也来源于非功能性需求;
脚本模型直接描述软件的功能性需求,属于需求分析的模型而不是软件设计的模型,所以没有和上述4个模型并列。

2.2 统一建模语言UML

不同软件设计师对同一设计的画法不同,需要统一,于是统一建模语言即UML应运而生。用UML可以画不同类型的图,而这些图有一些可以作为“4+1”模型的某个模型,另一些可以作为“4+1”模型的另一个模型。
UML画的图有13种,其中主要的图包括:类图、包图、时序图、部署图、用例图,可分别作为“4+1”模型的逻辑模型、开发模型、过程模型、物理模型、脚本模型。具体图的特点在软件工程概论课程说明,这里不作赘述。
UML介绍

2.3 Rational的 4+1 视图模型

在这里插入图片描述
不是所有系统都需要所有视图:
• 单一处理器: 舍弃部署视图
• 单一进程: 舍弃交互视图
• 小程序: 舍弃实现视图
添加视图:
• 数据视图、安全视图。

用例视图

• 用例视图包含描述用户、分析师和测试工程师看到的系统行为的用例。
• 根据视图可确定系统架构
UML:
• 静态方面由用例图描述
• 动态方面由交互图、状态图和活动图描述。

设计视图

• 设计视图包含构建系统的类、接口和类之间的协作。
• 主要支持系统的功能性需求,也即系统提供给用户的服务。
UML:
• 静态方面由类图、对象图描述
• 动态方面由交互图、状态图和活动图描述。

交互视图

• 交互视图描述了系统不同部分之间的控制流,包括可能的并发和同步机制。
• 主要解决系统的性能、可拓展性、吞吐量等问题。
UML
• 静态方面和动态方面的描述所采用图都和设计视图相同。

实现视图

• 实现视图包含用于组装和发布物理系统的组件。
• 主要解决系统发布的配置管理问题。
UML:
• 静态方面用物件图描述。
• 动态方面用交互图、状态图和活动图描述。

部署视图

• 部署视图包含形成系统硬件拓扑结构的节点。
• 主要解决构成物理系统的部件的分布、发布和安装问题。
UML:
• 静态方面由部署图描述
• 动态方面由交互图、状态图和活动图描述。

发布了22 篇原创文章 · 获赞 7 · 访问量 746

猜你喜欢

转载自blog.csdn.net/qq_39753778/article/details/104746208