65.9K
CodeProject 正在变化。 阅读更多。
Home

软件架构的简单之道 1/??

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.70/5 (8投票s)

2008年10月5日

CPOL

3分钟阅读

viewsIcon

20788

一个简化软件架构学习的系列

引言

在你的软件架构之道上,你必须经历一个里程碑,那就是学习如何将你的想法、思绪和用户需求转化为一个设计良好、易于理解且更重要的是标准化的输出。

使任何软件架构师能够做到这一点的工具是 UML。

UML 或统一建模语言是那种将软件架构师的想法和用户需求转化为标准化模型的工具,这种模型易于与你的软件开发团队和项目经理共享。它是通过类比土木建筑设计而发明的。

4+1 模型

在本文中,我们将介绍你在设计中查看软件系统时可能使用的不同视图。有许多方法可以做到这一点,但最成熟且灵活的方法之一是 4+1 视图方法,该方法由 Philippe Kruchten 于 1995 年开发。

它由从开发角度看待软件系统的 4 个不同视图加上一个从外部世界角度看待的视图组成。
对于这些视图中的每一个,它都有自己的 UML 图集来构建该视图,我们将在接下来的章节中讨论每一个视图。

逻辑视图

软件的逻辑视图旨在表示软件逻辑及其各部分之间的联系;我们可以将其优点总结为以下几点。

• 展示构成系统的各个部分以及它们之间的交互。
• 代表一组抽象。
• 强调类和对象。

我们使用 5 种不同的图来展示系统的逻辑视图,它们是:

Class Diagram(类图)。
Communication Diagram(通信图)。
State Diagram(状态图)。
Sequence Diagram(顺序图)。
Object Diagram(对象图)。

我倾向于将它们称为 CCSSO 图;我们将在本系列中的一篇独立文章中讨论它们中的每一个。

进程视图

进程视图顾名思义,描述了系统的进程及其通信。
当你的系统由许多并发进程或线程组成时,它会很有帮助;我们可以将其优点总结为以下几点。

• 描述系统的进程。
• 显示进程之间的通信。
• 探讨系统中需要发生的事情。

代表进程视图的唯一 UML 图是 **Activity Diagram**(活动图)。


物理视图

它提供了以下好处。

• 模拟系统执行环境。
• 将软件构件映射到托管它们的硬件。

与进程视图一样,物理视图也有一个唯一的 UML 图来表示它,即 **Deployment Diagram**(部署图)。


开发视图

此视图涵盖了开发人员对正在开发的软件系统的观点,可用于执行以下操作。

• 描述系统模块,包括包、子系统和类库。
• 提供系统的构建块视图。
• 帮助管理系统层。

有两个 UML 图展示了开发视图,它们是:

• Package Diagram(包图)。
• Component Diagram(组件图)。

用例视图

最后是 **+1** 视图,用例视图,如前所述,它是连接外部世界与你的系统的桥梁,我们可以按以下方式使用它。

• 捕获用户和利益相关者的目标和场景。
• 展示系统的功能。
• 定义和解释其他四个视图的结构。
• 从外部世界角度提供系统视图。

与其他四个视图不同,用例视图不仅由 UML 图组成,还由以下部分组成。

• UML Use Case Diagram(UML 用例图)。
• Written Use Cases(书面用例)。
• User requirements document and specifications(用户需求文档和规范)。

我希望在这篇文章结束时,我能够涵盖 4+1 模型,并且所有要点都清晰明了,请随时与我联系以提供您的评论。

© . All rights reserved.