<项目名称>
软件构架文档
版本<1.0>
[注:以下提供的模板用于RationalUnifiedProcess。其中包括用方括号括起来并以蓝色斜体(样式=InfoBlue)显示的文本,它们用于向作者提供指导,在发布此文档之前应该将其删除。按此样式输入的段落将被自动设置为普通样式(样式=正文)。]
[要定制自动字段(选中时显示灰色背景),请选择“文件”>“属性”,然后将“标题”、“主题”和“单位”等字段替换为此文档的相应信息。当关闭该对话框后,选择“编辑”>“全选”(或Ctrl-A)并按F9,或者仅单击相应字段并按F9,即可更新整个文档的自动字段。对于“页眉”和“页脚”,这一操作必须单独进行。通过Alt-F9,可以在显示字段名和字段内容之间切换。有关字段处理的详细信息,请参见Word帮助。]
修订版历史
日期
|
版本
|
说明
|
作者
|
<
日
/
月
/
年
>
|
<x.x>
|
<
详细信息
>
|
<
姓名
>
|
|
|
|
|
|
|
|
|
|
|
|
|
目录
1.
简介
1.1
目的
1.2
范围
1.3
定义、首字母缩写词和缩略语
1.4
引用
1.5
概述
2.
构架表示方式
3.
构架目标和约束
4.
用例视图
4.1
用例实现
5.
逻辑视图
5.1
概述
5.2
在构架方面具有重要意义的设计包
6.
进程视图
7.
部署视图
8.
实施视图
8.1
概述
8.2
层
9.
数据视图(可选)
10.
大小和性能
11.
质量
软件构架文档
1.
简介
[
软件构架文档
的简介应提供整个软件构架文档的概述。它应包括此软件构架文档的目的、范围、定义、首字母缩写词、缩略语、引用和概述。]
1.1
目的
此文档从构架方面对系统进行综合概述,其中使用了大量不同的构架视图来描述系统的各个不同方面。它用于记录并表述已在构架方面对系统作出的重要决策。
[本节定义此软件构架文档在整个项目文档中的作用或目的,并对此文档的结构进行简要说明。应确定此文档的特定读者,并指出他们应该如何使用此文档。]
1.2
范围
[简要说明此软件构架文档适用的对象;此文档所影响的对象。]
1.3
定义、首字母缩写词和缩略语
[本小节应提供正确理解此软件构架文档所需的全部术语、首字母缩写词和缩略语的定义。这些信息可以通过引用项目词汇表来提供。]
1.4
引用
[本小节应完整地列出此软件构架文档中其他部分所引用的任何文档。每个文档应标有标题、报告号(如果适用)、日期和发布组织。列出可从中获取这些引用的来源。这些信息可以通过引用附录或其他文档来提供。]
1.5
概述
[本小节应说明此软件构架文档中其他部分所包含的内容,并解释此软件构架文档的组织方式。]
2.
构架表示方式
[本节说明软件架构在当前系统中的作用及其表示方式。它列举必需的用例视图、逻辑视图、进程视图、部署视图或实施视图,并分别说明这些视图包含哪些类型的模型元素。]
3.
构架目标和约束
[本节说明对构架具有某种重要影响的软件需求和目标,例如,安全性、保密性、市售产品的使用、可移植性、发布和重新使用。它还要记录可能适用的特殊约束:设计与实施策略、开发工具、团队结构、时间表、旧代码等。]
4.
用例视图
[本节列出用例模型中的一些用例或场景,这些用例或场景应体现最终系统中重要的、核心的功能;或在构架方面的涉及范围很广(使用了许多构架元素);或强调或阐明了构架的某一具体的细微之处。]
4.1
用例实现
[本节通过几个精选的用例(场景)实现来阐述软件的实际工作方式,并解释不同的设计模型元素如何促成其功能的实现。]
5.
逻辑视图
[本节说明设计模型在构架方面具有重要意义的部分,例如设计模型被分解为多个子系统和包。而每个重要的包又被分解为多个类和类实用程序。您应该介绍那些在构架方面具有重要意义的类,并说明它们的职责,以及几项非常重要的关系、操作和属性。]
5.1
概述
[本节按照设计模型中包的层次结构来说明设计模型的整体分解情况。]
5.2
在构架方面具有重要意义的设计包
[对于每个重要的包,都用一个小节来加以说明,其中应包括该包的名称、简要说明以及显示该包中所有重要的类和包的图。
对于该包中的每个重要类,应包括其名称、简要说明和(可选)对其主要职责、操作和属性等的说明。]
6.
进程视图
[本节描述将系统分解为轻量级进程(单个控制线程)和重量级进程(成组的轻量级进程)的过程。本节按照各个通信或交互的进程组来加以组织。说明进程之间的主要通信模式,例如消息传递、中断和会合。]
7.
部署视图
[本节说明用来部署和运行该软件的一种或多种物理网络(硬件)配置。它是部署模型的视图。对于每种配置,它至少应该指出用来执行该软件的物理节点(计算机、CPU)及其互连情况(总线连接、LAN连接、点到点连接等)。另外还要包括进程视图各进程到物理节点的映射。]
8.
实施视图
[本节说明实施模型的整体结构、软件分解为实施模型中的层和子系统的情况,以及所有在构架方面具有重要意义的构件。]
8.1
概述
[本小节指定并定义各个层及其内容、添加到给定层时要遵循的规则以及各层之间的边界。其中包括一个显示层间关系的构件图。]
8.2
层
[对于每个层,都用一个小节来加以说明,其中包括该层的名称和一个构件图,并列举位于该层的子系统。]
9.
数据视图(可选)
[从永久性数据存储方面来对系统进行说明。如果几乎或根本没有永久性数据,或者设计模型与数据模型之间的转换并不重要,那么本节就为可选。]
10.
大小和性能
[说明软件中会对架构产生影响的主要尺寸特征,以及目标性能约束。]
11.
质量
[说明软件构架如何促成所有系统性能(而非功能,例如可扩展性、可靠性、可移植性等)的实现。如果这些特征具有特殊的意义(例如在安全性或保密性方面的意义),则应该对它们进行详细的说明。]