文档作者:
文档呈送:
文档抄送:
XX项目
详细设计说明书
<VX.Y>
  写:         
  核:         
  准:         
参与评审:                                           
                                                     

变更记录
版本号
变化状态
修改点说明
变更人
存放位置
审批人
审批日期
*变化状态:C――创建,A——增加,M——修改,D——删除
修改点说明:对变化状态进行简单解释,如增加了某项功能,修改了某个模块等信息。不允许出现“根据评审意见修改等字样”
注:当文档未评审通过前版本号标识规则为V0.X ,第一次评审通过后,版本号直接升级为V1.0,之后变更按照V1.X升级。

1    前提和约束    4
编写目的    4
预期读者和阅读建议    4
定义、缩写词、略语    4
参考资料    5
2    前提和约束    6
前提条件    6
限制和约束    6
3    综合描述    6
3.1    系统目标    6
3.2    系统需求    6
3.3    系统概述    7
3.4    程序结构说明    7
3.5    源程序及编译链接组装说明    7
4    系统详细设计    7
4.1    XXX子系统名称    8
4.1.1    XXX包名称    9
4.2    XXX子系统名称2    10
5    用户界面详细设计(可裁剪)    10
5.1    界面结构    11
5.1.1    界面结构或菜单结构    11
5.1.2    用户界面图(如无此需要,可省略)    11
5.2    界面处理流程及界面约束描述(如无此需要,可省略)    11
5.2.1    界面或模块名1    11
5.2.2    处理流程    11
5.2.3    界面约束与事件约束    11
5.2.4    触发方式    11
5.2.5    界面或模块名2    11
6    尚未解决的问题    12
7    资源对象说明    12

1 文档简介
[说明]
本部分要描述文档的目的,帮助读者对本文档建立基本印象,并为阅读后续内容扫清障。
蓝字体部分是文档的说明,请各位同事在完成文档撰写后删除该部分。
编写目的
[说明]
本部分主要阐述文档目的,而非项目目的。否则造成同一项目多个文档之间的内容重复,不利于文档维护。
预期读者和阅读建议
[说明]
指定需要认真阅读此文档的人员。本小节应指明文档针对的读者对象,最好列出各种读者角,并说明每种读者角应该重点阅读的章节。
指明文档组织方式,简要描述各文档各部分关注的内容和解决的问题。
定义、缩写词、略语
[说明]
按字母或拼音顺序列出所有的定义和缩略语,以便读者可以正确地理解《架构设计说明书》,包括词头和缩写。注意:只需要列出对理解本文有用的术语。
序号
术语/缩略语
说明/定义
英文全称
中文译名
1
2
3
...
参考资料
[说明]
列举编写《架构设计说明书》时所参考的资料或其它来源。包括但不限于:用户界面风格指
导、合同、标准、系统需求规格说明书、用户需求、相关产品的产品需求规格说明书等。可根据项目的实际情况选择参考资料的范围,但至少应包括用户需求说明书和需求分析说明书。
作者
文献名称
出版单位(或归属单位)
版本或日期

2 前提和约束
前提条件
[说明]
对详细设计工作依赖的上游文档做说明。可使用表格或文字进行简要说明,没有的项目写无。
类别
文件名称
主要依据章节及内容
是否完全依据
需求
架构
概要设计
其他前提条件
特殊情况说明:
限制和约束
[说明]
阐述应遵循的重要限制和约束,包括技术条件、软硬件条件、功能、性能目标约束等。
3 综合描述
3.1 系统目标
[说明]
系统最终要解决的实际问题或要达到的用户要求,系统如何能够做到客户满意。
3.2 系统需求
[说明]
系统由上游文档规定的需求的简要说明。说明本系统,本文档涵盖的需求及功能实现部分。
3.3 系统概述
[说明]
简述系统功能,映射详细设计的基础轮廓。用系统结构图表示系统内的包和主要类的名称、标识符和它们之间的层次结构关系,可以以系统体系结构划分,也可以由类类别划分(边界类、控制类、助手类、实体类、数据类),甚至可以由功能结构划分。
3.4 程序结构说明
页面设计说明[说明]
结合上游文件中的逻辑视图,描述最终的程序划分、结构图及功能与调用关系简要说明、程序种类说明。本节为以下详细设计的简要索引,为系统程序的上层结构体系描述。详细设计时可能得不到精确的最终程序文件名列表,但是应当尽量完整说明其种类和主要文件内容。建议使用UML图配合文字说明。
3.5 源程序及编译链接组装说明
[说明]
结合上游文件中的物理视图,本处为源程序和前一节的最终程序如函数库、可执行程序、资源文件等的对照表,以及从源程序文件转化成这些最终文件的具体过程(编译、链接、组装)描述。在详细设计时可能得不到精确的源程序文件名,但是应当尽量完整说明其种类和主要文件内容。如果不同的文件具有不同的编译链接组装方式,则应在此处分别描述清楚。在此处应明确分出各级编译单元,即哪些文件需要一起编译生成一个或一组编译后的文件。编译单元文件可以是最终文件也可以是源程序和最终文件之间的中间文件。建议使用UML图配合文字说明。
4 系统详细设计
[说明]
系统详细设计应当以3.4节程序结构说明节内容为索引,而不是3.5节源程序及编译链接组装说明,换句话说,应当以最终的物理功能实现(逻辑视图)为主线索,源程序的结构(物理视图)作为辅线索,结合数据结构(数据视图)进行存储设计,结合模块间交互(运行视图)。
编写原则为公用的,重要的,接口类的程序段,应当尽量组织在文档前部,以示声明。功能性的可以放在文档偏后的位置,如果使用公共模块应当标明引用章节位置。建议在设计时做好公共模块的封装和组织。
如:在说明公共函数所在的动态链接库时,如果动态链接库只有一个,而会被三个其他程序调用,应当先描述本动态链接库,说明动态链接库的详细设计,其他程序调用时说明引用地址,并列出源程序与函数的对照表。如果遇到概要设计中没有写明的逻辑问题,则应通知概要设计人员及时讨论并变更概要设计。
本章描述重点是程序段(面向对象中称作类中的方法或在面向过程中称为函数)。在描述程序段过程中兼顾数据,流程,结构等内容。
菜单级别组织:
参考上游文档中五视图的划分,建议如下划分详细设计内容
对系统模块的划分可按以下两种方式进行:
方式一
按系统的层级进行分解,每个层机中分别描述模块的功能及交互数据等内容,如:
4.1系统第一层分解描述
4.1,1系统第二层分解
4.1.1.1系统第三层分解
4.1.1.1.1函数名称1
方式二
先划分子系统再划分包,再划分类,最后至方法:
4.1子系统
4.1.1包定义
4.1.1.1类定义
4.1.1.1.1方法名称1
以下以方式二为例说明:
菜单层级可以根据项目大小变化,方法或函数内的内容框架应当按照模板进行描述。
本处无文字。
4.1 XXX子系统名称
[说明]
子系统描述,参考上游文件进行描述。说明子系统的功能。建议使用UML包图描述并附加说明。
需概括说明可以被其他系统调用接口,及需要调用其他接口情况。如果较多可以使用列表说明。
4.1.1 XXX包名称
[说明]
说明本包的功能,作用,划分依据,包内类的相互关系及其他包相关内容。
建议使用UML类图并并附加说明。
需概括说明可以被其他包调用接口,及需要调用其他包的情况。如果较多可以使用列表说明。
4.1.1.1 XXX类名称
[说明]
说明本类的功能,作用,划分依据,类内各个函数的相互关系及其他包相关内容。
需说明可以被其他类调用接口,及需要调用其他类的情况。如果较多可以使用列表说明。
4.1.1.1.1 XXXXX函数或方法名称1
a) 方法特征描述
[说明]
<可在此描述其调用形式,如:int GetNum(int iNum1,char cCha1);>
b) 功能性能描述
[说明]
<方法所完成的功能,如果有明确的性能指标分配,应当也在此注明。该章节将作为单元测试的输入>
c) 输入/输出项
[说明]
<如果是函数则说明:输入参数、输出参数、返回值,以及函数的处理对象在处理前和处理后的状态。如果是其它形式的处理单元,则描述相应的输入输出形式和内容。
如果输入输出需要某种条件触发,需明确描述输入输出项的发生条件。异常抛出算做输出>
d) 数据结构说明
[说明]
<公共变量,内存数据结构,存取的数据库表和字段,存取机制说明。>
e) 调用关系
[说明]
<本处描述调用和被调用关系,本方法被哪个或哪些实体主调,被调用或被触发方式;另外本方法调用的可执行程序公共函数库或函数,以及调用或触发方式。>
f) 算法