软件体系结构文档提供全面的系统体系结构概述,使用大量不同的体系结构视图来描述系统的不同方面。 
角色:  软件设计人员 
可选性/存在性:  主要在精化阶段开发。
模板和报告: 
示例: 
     
UML 表示:  一组相关体系结构视图:用例、逻辑、进程、部署、实施、数据。
更多信息:   
活动输入:    活动输出:   

目的 回到页首

软件体系结构文档提供软件系统体系结构的全面概述。它作为软件设计人员和其他项目团队成员之间关于已对项目作出的在体系结构方面重要的决策的通信媒介。

计时 回到页首

通常,必须在刚开始的若干迭代之前定义软件体系结构的表示和目标,然后在整个项目期间维护它们。 在最初版本的软件体系结构文档中记录了这些体系结构表示指南。

软件体系结构文档主要在精化阶段开发,因为该阶段的目的之一是建立可靠的体系结构基础。

应当在考虑其它视图之前先考虑文档中的用例视图,因为用例驱动开发并且是迭代规划的主要输入。对于有大量并发和分发的系统,早期也应考虑进程视图和部署视图,因为它们可能随后对整个系统有实质性的影响。

职责 回到页首

软件设计人员负责编写软件体系结构文档,该文档用于捕获多体系结构视图中最重要的设计决策。

软件设计人员建立每个体系结构视图的整体结构:视图的分解、元素的组织以及这些主要组之间的接口。因此,与其它角色相对,软件设计人员的视图注重广度(与深度相对)。

软件设计人员还负责在整个开发流程中,通过以下方法维护系统的体系结构完整性:

  • 核准对在体系结构方面重要的元素(例如软件体系结构文档中描述的主要接口)的所有更改。
  • 作为“变更控制委员会”决策的一部分,解决影响软件体系结构的问题。

定制 回到页首

您应调整软件体系结构文档的大纲以适合软件性质:

  • 某些体系结构视图可能是不相关的:
    • 对于单 CPU 系统不需要部署视图。
    • 如果系统仅使用单控制线程,则不需要进程视图。
    • 除非对象持久性是系统的重要方面并且持久机制需要持久和非持久对象之间的映射,否则不需要数据视图。
  • 软件的一些特定方面可能需要它们自己的部分;例如,与数据管理或可用性问题相关的方面。
  • 可能需要附加的附录来解释某些方面,例如与已被消除的解决方案一起的某些关键选择的基本原理,或定义首字母缩写或缩写,或说明一般的设计原理。
  • 根据系统的涉众以及他们的侧重点或感兴趣的方面,各个部分的顺序可能不同。

每个体系结构视图的优点和缺点如下:

用例视图

该视图是必需的。

逻辑视图

该视图是必需的。

进程视图

该视图是可选的。仅当系统有多个控制线程并且独立的线程交互或彼此依赖时,才使用该视图。

部署视图

该视图是可选的。仅当系统在多个节点之间分发时才使用该视图。即使在这些情况下,仅在分发具有体系结构意义的地方使用部署视图。例如,在有单个服务器和许多客户机的情况下,部署视图只需描述服务器以及作为节点类的客户机的职责,如果所有客户机都有相同的能力,则无需显示每个客户机节点。

实施视图

该视图是可选的。仅在没有严格地从设计驱动实施的情况下使用该视图,即在设计和实施模型中的对应包之间有不同的职责分配。如果设计和实施模型的包是相同的,则可以省略该视图。

数据视图

该视图是可选的。仅当持久性是系统的重要方面并且持久性机制不会自动完成从设计模型到数据模型的转换时才使用该视图。



Rational Unified Process   2003.06.15