软件架构师的简单方法 2/??






2.75/5 (5投票s)
一个简化软件架构学习的系列

背景
在我们之前的文章中,我们讨论了 4+1 范式,它为软件架构师提供了对整个软件系统深入而全面的了解,并能够将系统分解为一系列视图。我们已经讨论了每个视图如何实现以及每个视图的优点。
引言
今天,我们将讨论软件架构师在构建软件系统时的另一个视角,该视角取决于软件过程本身的性质,这被称为 SDI 范式(静态 - 动态 - 实现 范式)。
正如范式的名称所示,它基于展示正在构建的软件系统的动态、静态和实现(它是静态的子集)方面。
我们将在本文中按照以下大纲进行讲解:
1- 介绍每个方面以及它在软件架构过程中的重要性。
2- 指定用于介绍此方面的 UML 图。
3- 最后,我们对这些方面进行一个简单的比较。
静态模型
它显示了系统的结构特征,并使架构师能够深入了解正在设计的系统的结构。 我们可以将它的优点总结为以下几点:
* 显示系统结构。
* 强调构成系统的各个部分
* 定义类名、属性、方法签名和包。
静态模型由以下一个或所有图组成:
* 类图
* 对象图。
* 用例图。
动态模型
它显示了系统的行为特征,并为软件架构师提供了系统不同组件如何交互以及如何驱动事情发生的逻辑概述。 我们可以将它的优点和用途总结为以下几点:
* 显示系统对不同事件的响应行为。
* 识别所需的对象以及它们如何使用事件和函数相互交互。
* 帮助设计系统的逻辑和行为。
以下 UML 图用于表示系统的动态视图:
* 顺序图。
* 通信图。
* 状态图。
* 活动图。
实现模型
正如前面所说,它们是静态模型的一个子集,它为我们提供了一个视图,即哪些需要作为软件系统的一部分进行部署。 它的优点是
* 显示系统需要部署的不同元素。
* 组织软件组件和其他物理资源,例如硬件和连接路径。
表示实现模型的 UML 图是:
* 组件图。
* 部署图。
静态-动态模型最终说明
哪种模型最适合哪种情况?
* 静态图(尤其是类图)为开发人员提供了有关类、数据类型、参数和命名空间的详细信息。 并被认为是 UML 系统的支柱。
* 动态图(例如顺序图和通信图)有助于定义对象以及它们如何交互,因此不要吝啬动态模型,它们与静态模型同样重要。
* 所有软件过程管理方法都建议同时并行开发这些模型。