秘密▲
技 术 文 件
技术文件名称:
技术文件编号:<小四 Arial 及宋体>
本:<小四 Arial 及宋体>
版
共 <小四 Arial 及宋体> 页
(包括封面)
拟 制
审 核
会 签
标准化
批 准
XXXX 有限公司
秘密▲
<模板修改记录
版本号
拟制人/
拟制/修改
修改人
日期
更改理由
主要更改内容
(写要点即可)
模板说明:
本模板在应用于计划阶段的软件系统设计或软件概要设计:
1、
2、
在后台软件或纯软件产品中,可以作为软件总体设计的模板,如果软件项目规
模较大,划分了子系统,那么本模板又可以作为子系统的概要设计模板。
软硬件复合的系统项目中,如果单板软件规模较大,内容比较复杂,内部划分
多个层次和模块,也作为单板软件子系统的概要设计模板。
本模板使用时候,已经假定在概念阶段在概念生成,概念选择和概念验证已经确定了系
统的构架、关键技术问题和关键算法的解决方案。本模板在概念方案的基础上,进一步设计、
整合和完善软件的系统或概要设计。
本模板不可裁减 1 级和 2 级结构标题,除非模板内有可以裁减的说明。
本模板可以使用面向对象(OO)或面向过程(OP)的分析设计方法, 虽然本模板内大
部分例子都是基于 OO 的。
本模板主要内容分为 5 大部分,分别是:
a) 设计思路:在上游文档的要求下,设计人员将设计过程中的思考以合适的形式在“设
计思路”一章中描述,该章节是本文的创造性工作的集中体现。
b) 构架说明:将思考得到的系统的构架,以简明扼要的形式在 “构架说明”一章中
描述,让读者对系统整体组成有清晰的认识。
c) 协作说明:对得到的系统构架,需要显式地为组成本系统的这组构件分配具体的职
责,也是证明这些构件的互相协作能够保证满足上游文档中对本系统的需求,这些
“职责分配”/“证明”信息就放在本文的“协作说明”一章。
d) 组件说明:描述在构架下分配到各个组件的需求与设计约束,或者称为组件需求。
e) 接口说明:详细定义组件之间的接口。
秘密▲
其中,“组件说明”部分可以单独成文为多份《软件子系统/模块需求说明书》,“接口说
明”部分可以单独成文为一份或多份《接口说明书》。
本模板的内容的质量要求为:
1、
2、
本文对概要设计需要细化到足够可以指导软件开发人员进行模块(组件)的详
细设计,其中组件说明章节要明确定义了模块的需求,而不需要开发人员询问
和自己猜测模块需求。
本文和接口规范结合起来,可以做为集成测试用例设计的输入。
本模板的几个关键概念
1、 软件概要设计:从横向上包括构架设计和功能(业务)设计。从纵向上来说,包括
总体设计和子系统设计。
2、软件构架:软件构架是对软件系统的抽象,指构成系统的一个或多个结构,其中每
个结构包括多个组件,以及组件之间的关系。它至少应该包括:
软件产品各个组件的划分结构和关系;
组件之间的接口和外部软件接口;
软件组件之间的协作关系;
为实现质量需求的设计机制和设计规则;
为实现功能需求的基础设施功能和服务;
软件进程或线程模型;
软件到硬件的物理发布模型;
软件组件模板或代码骨架;
3、软件组件:这里所说的组件,是指在构架上下文下的子系统或模块。子系统是一种
大粒度的模块,即模块分级体系中最上层的模块。如果软件系统结构比较简单,可以没有子
系统这样的层次。反之,如果系统非常复杂,可能有更多级别的子系统。
4、 软件模块:是软件构架的组成部分,它封装了一组功能相近的设计元素与行为,对
外提供一组接口;在结构化设计中模块(Module)指能完成一定功能的一类进程或一组函数,
而在面向对象设计中,模块一般指完成特定功能的特殊包(即 Subsystem Package), 外部必
须通过访问模块接口才能使用模块内部功能;从内部看来,模块是一组实现模块接口行为的
设计元素集合,内部可以包括设计包(Package)、类(Class)、函数等。
本文中采用的标识规则的定义如表 0.2(使用扩展巴科斯范式定义)。
秘密▲
表 0.2
定义
举例
例子说明
功能协作全局标识 ::= ’PD-’ 本系统标识 ’-CF-’
编号
性能协作全局标识 ::= ’PD-’ 本系统标识 ’-CP-’
编号
质量属性协作全局标识 ::= ’PD-’ 本系统标
识 ’-CQ-’ 编号
PD-ABC-CF-10-00
10
PD-ABC-CP-10-00
10
PD-ABC-CQ-10-00
10
其他协作全局标识 ::= ’PD-’ 本系统标识 ’-CM-’
编号
接口全局标识 ::= ’PD-’ 本系统标识 ’-I-’ 编号 PD-ABC-I-0010
PD-ABC-CM-10-00
10
构件标识 ::= 构件名缩写
/*“本系统标识”指本文描述的对象的标识,从上游文
档中得到。*/
编号 ::= [0-9]+ | [0-9]+ ’-’ 编号
/* A+ 表示与一个或多个A相匹配。*/
构件名缩写 ::= [A-Z] [a-zA-Z0-9]*
/* A* 表示与零个或多个A相匹配。*/
XYZ
ABC
10-010-0010
XYZ
ABC系统的协作组10
的0010号功能协作
ABC系统的协作组10
的0010号性能协作
ABC系统的协作组10
的0010号质量属性协
作
ABC系统的协作组10
的0010号其他协作
ABC系统的的0010号
接口
XYZ构件
本系统标识“ABC”,
项目中唯一
组10 的子组010 的
0010号
构件XYZ
注1:上述标识中的“-”必须是半角符号。
注2:在初始使用编号时,编号个位最好为0,这样便于以后插入。
注3:从上表可以看出,协作的标识是从对应的需求标识中在需求类型代码(F、P、Q、M)之前增
加‘C’得到(CF、CP、CQ、CM)。
>
秘密▲
修改记录
文件编号
版本号
拟制人/
修改人
拟制/修改
日期
更改理由
主要更改内容
(写要点即可)
注1:每次更改归档文件(指归档到事业部或公司档案室的文件)时,需填写此表。
注2:文件第一次归档时,“更改理由”、“主要更改内容”栏写“无”。
秘密▲
目
录
1 引言 .........................................................................................................................................7
1.1 编写目的 ........................................................................................................................... 7
1.2 文档约定 ........................................................................................................................... 7
2 术语、定义和缩略语 ............................................................................................................... 7
2.1 术语、定义 ....................................................................................................................... 8
2.2 缩略语 ...............................................................................................................................8
3 相关文档 ..................................................................................................................................8
4 设计思路 ..................................................................................................................................9
4.1 <可靠性的设计> ..............................................................................................................10
4.1.1 系统保护机制 ...........................................................................................................10
4.1.2 容错考虑 .................................................................................................................. 11
4.1.3 MTBF& MTTR.......................................................................................................... 11
4.1.4 数据安全性 .............................................................................................................. 11
4.1.5 操作安全性 .............................................................................................................. 11
4.2 <性能的设计> ..................................................................................................................11
4.3 <易用性的设计> ..............................................................................................................12
4.4 <可扩展性的设计> .......................................................................................................... 12
4.5 <可测试性的设计> .......................................................................................................... 12
4.5.1 可测试性总体设计 ................................................................................................... 13
4.5.2 测试的输入输出通道和测试总线 ............................................................................. 13
4.5.3 可视性设计 .............................................................................................................. 14
4.5.4 可控性设计 .............................................................................................................. 16
4.5.5 内置自测试 BIST ..................................................................................................... 17
4.5.6 隔离性设计与故障诊断 ............................................................................................ 17
4.6 <安全性的设计> ..............................................................................................................18
4.7 <兼容性的设计> ..............................................................................................................19
4.8 <可移植性的设计> .......................................................................................................... 19
4.9 <外部可维护性的设计> ................................................................................................... 20
4.9.1 软件可安装性 ...........................................................................................................20
4.9.2 系统升级与扩容 .......................................................................................................20
4.9.3 维护支持设计 ...........................................................................................................20
4.9.4 用户支持 ..................................................................................................................21
4.10 <复用和外购的设计> .....................................................................................................21
5 架构说明 ................................................................................................................................22
秘密▲
5.1 构架概述 ......................................................................................................................... 23
5.2 <关键分析模型> ..............................................................................................................24
5.3 系统静态视图 ..................................................................................................................27
5.4 <系统运行视图> ..............................................................................................................29
5.5 <系统部署视图> ..............................................................................................................30
5.6 架构标准化设计 .............................................................................................................. 31
5.7 重用、购买说明 .............................................................................................................. 31
6 协作说明 ................................................................................................................................32
6.1 功能 ................................................................................................................................ 32
6.1.1 <功能协作 1 全局标识 功能协作 1 名称> ...............................................................32
6.1.2 <功能协作 2 全局标识 功能协作 2 名称> ...............................................................35
6.1.3 <功能协作 n 全局标识 功能协作 n 名称> ...............................................................35
6.2 性能 ................................................................................................................................ 35
6.2.1 <性能协作 1 全局标识 性能协作 1 名称> ...............................................................35
6.2.2 <性能协作 n 全局标识 性能协作 n 名称> ...............................................................35
6.3 质量属性 ......................................................................................................................... 35
6.3.1 <质量属性协作 1 全局标识 质量属性协作 1 名称> ................................................ 35
6.3.2 <质量属性协作 n 全局标识 质量属性协作 n 名称> ................................................ 36
6.4 其他 ................................................................................................................................ 36
6.4.1 <其他协作 1 全局标识 其他协作 1 名称> ...............................................................36
6.4.2 <其他协作 n 全局标识 其他协作 n 名称> ...............................................................37
7 组件说明 ................................................................................................................................37
7.1 <组件全局标识 组件名称> .............................................................................................37
7.1.1 功能需求 ..................................................................................................................37
7.1.2 性能需求 ..................................................................................................................38
7.1.3 质量属性需求 ...........................................................................................................38
7.1.4 其他需求 ..................................................................................................................38
7.2 <组件全局标识 组件名称> .............................................................................................38
8 接口说明 ................................................................................................................................38
8.1 <接口全局标识 <组件 1>和<组件 2>间接口> ................................................................39
8.1.1 接口信息类型说明 ................................................................................................... 39
8.1.2 信息元素类型说明 ................................................................................................... 39
8.2 <接口全局标识 <组件 1>和<组件 2>间接口> ................................................................39
9 参考文献 ................................................................................................................................39
秘密▲
1 引言
1.1 编写目的
<本节概要描述本文档在系统中起的作用(注意,不是对描述对象的说明,而是文档本
身作用的说明),内容一般包括:
a) 编写本文档的目的。
b) 本文档描述的对象名称。
c) 本文档的内容简介。
>
<===Example Begin====================================================
本文描述的对象是(后文简称“本系统”或“系统”),通过对设计的
思路、系统的构架、组成本系统的组件间的协作、组件的具体要求和组件间接口的详细描述,
来满足上层<设计/需求>的要求,同时为组成本系统的每个组件的进一步设计、集成测试、
编写用户文档等工作提供依据。
====Example End====================================================>
1.2 文档约定
<本节描述编写本文档时的所采用的全文性的一些约定,如特殊排版约定、专用的符号、
限于本文的一些常用说法等等,这些说明既有助读者理解本文的内容也有助于规范本文的行
文一致性(特别是当本文由多名作者合作完成时)。应将每一类约定用一段或若干段进行描
述,即应避免在一段中描述所有这些内容。对于一些非全文性的约定(即作用范围仅限于某
个章节的约定),最好放在相应章节中加以说明。>
<===Example Begin====================================================
例1.2.1 特殊排版约定
本文因为同时作为指导书,因此需要提供一些示例,某些示例的篇幅较大,为了不引起
阅读的混淆,对那些篇幅较大的例子,都用整行的“<===Example Begin==…”和
“====Example End==…==>”框起来,有时还会给例子一个示例编号和名称。特此说明。
====Example End====================================================>
2 术语、定义和缩略语
<在一个项目中的共用的术语、定义和缩略语,应该使用一份单独的“术语、定义和缩
略语”文件中加以保存,以避免每份文档都重复罗列、罗列不齐以及罗列不一致的情况,但
对于只有本文自己使用的独特的术语、定义和缩略语,则不应该放到这份被很多文档应用的
独立文件中,而需要在本文中列表描述。另外要注意的是,缩略语列表中必须按照字母(不