版本号
日期
<软件工程——大作业>
“XXXX 系统”
软件设计说明书
姓名:
班级:
学号:
完成日期:
指导老师:
中南大学信息科学与工程学院
目录
1 引言 ................................................................................................................................................ 1
1.1 编写目的........................................................................................................................1
1.2 范围................................................................................................................................1
1.3 定义................................................................................................................................1
1.4 参考资料........................................................................................................................1
2 项目概述 ........................................................................................................................................ 1
2.1 产品描述........................................................................................................................1
2.2 产品功能........................................................................................................................2
2.3 用户特点........................................................................................................................2
2.4 一般约束........................................................................................................................2
2.5 假设和依据....................................................................................................................2
3 具体需求 ........................................................................................................................................ 3
3.1 功能需求........................................................................................................................3
3.1.1 功能需求 1............................................................................................................................3
3.1.2 功能需求 2............................................................................................................................4
3.1.n 功能需求 n............................................................................................................................4
3.2 行为需求........................................................................................................................4
3.3 数据需求........................................................................................................................4
3.4 外部接口需求................................................................................................................4
3.4.1 用户接口...............................................................................................................................4
3.4.2 硬件接口...............................................................................................................................4
3.4.3 软件接口...............................................................................................................................4
3.4.4 通信接口...............................................................................................................................5
3.5 性能需求........................................................................................................................5
3.6 设计约束........................................................................................................................5
3.6.1 其他标准的约束...................................................................................................................5
3.6.2 硬件的限制...........................................................................................................................6
3.7 安全性.............................................................................................................................6
3.8 可维护性........................................................................................................................6
3.9 可转移 \转换性..........................................................................................................6
3.10 数据库..........................................................................................................................6
4 总体设计 ........................................................................................................................................ 7
4.1 运行环境.........................................................................................................................7
4.2 基本设计概念和处理流程.............................................................................................7
4.3 系统结构.........................................................................................................................7
4.4 接口设计........................................................................................................................7
4.4.1 用户接口................................................................................................................................7
4.4.2 外部接口................................................................................................................................7
4.5 功能需求与程序的关系.................................................................................................7
4.6 人工处理过程.................................................................................................................8
4.7 尚未问决的问题.............................................................................................................8
5 详细设计 ........................................................................................................................................ 8
5.1 系统数据结构设计.........................................................................................................8
5.1.1 逻辑结构设计要点................................................................................................................8
5.1.2 物理结构设计要点................................................................................................................8
5.1.3 数据结构与程序的关系........................................................................................................8
5.2 模块设计说明.................................................................................................................9
5.2.1 模块描述................................................................................................................................9
5.2.2 功能........................................................................................................................................9
5.2.3 性能........................................................................................................................................9
5.2.4 输入项....................................................................................................................................9
5.2.5 输出项....................................................................................................................................9
5.2.6 设计方法(算法)................................................................................................................9
5.2.7 流程逻辑..............................................................................................................................10
5.2.8 接口......................................................................................................................................10
5.2.9 存储分配..............................................................................................................................10
5.2.10 注释设计............................................................................................................................10
5.2.11 限制条件............................................................................................................................10
5.2.12 测试计划............................................................................................................................10
5.2.13 尚未解决的问题................................................................................................................10
5.3 运行设计......................................................................................................................10
5.3.1 运行模块组合......................................................................................................................10
5.3.2 运行控制..............................................................................................................................11
5.3.3 运行时间..............................................................................................................................11
5.4 系统出错处理设计....................................................................................................... 11
5.4.1 出错信息..............................................................................................................................11
5.4.2 补救措施..............................................................................................................................11
5.5 系统维护设计............................................................................................................... 11
附录......................................................................................................................................12
格式及内容要求(必读)
(1) 封面要统一;
(2) 全文正文用小 4 号宋体;
(3) 全文行距用固定值 20 磅;
(4) 以上目录为参考,具体内容个人可根据需要进行相应调
整,不做统一要求;
(5) 全文正文部分(除去封面、目录、附录、参考文献)不
得小于 15 页;
(6) 依据此文做一个相关的 ppt,每个小组上台汇报 5-8 分
钟;
(7) 汇 报 以 前 提 前 E-mail word 文 档 和 ppt
to:
yhxiong@mail.csu.edu.cn,以学号+姓名为邮件主题,并
于上台汇报时,交 word 文档的打印稿;
(8) 缺大作业者(缺 word 文档或没有上台汇报,均视为缺
大作业),直接取消考试资格。
1 引言
1.1 编写目的
说明编写这份软件需求说明书的目的,指出预期的读者范围。
1.2 范围
说明:
a. 待开发的软件系统的名称;
b. 说明软件将干什么,如果需要的话,还要说明软件产品不干什么;
c. 描述所说明的软件的应用。应当:
1)尽可能精确地描述所有相关的利益、目的、以及最终目标。
2)如果有一个较高层次的说明存在,则应该使其和高层次说明中的类似的陈述相
一致(例如,系统的需求规格说明)。
1.3 定义
列出本文件中用到的专门术语的定义和缩写词的原词组。
1.4 参考资料
列出要用到的参考资料,如:
a. 本项目的经核准的计划任务书或合同、上级机关的批文;
b. 属于本项目的其他已发表的文件;
c. 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。
列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的
来源。
2 项目概述
2.1 产品描述
叙述该项软件开发的意图、应用目标、作用范围以及其他应向读者说明的有关该软件开
发的背景材料。解释被开发软件与其他有关软件之间的关系。如果本软件产品是一项独立的
软件,而且全部内容自含,则说明这一点。如果所定义的产品是一个更大的系统的一个组成
部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说
第 1 页
明该系统的组成和本产品同其他各部分的联系和接口。
2.2 产品功能
本条是为将要完成的软件功能提供一个摘要。例如,对于一个记帐程序来说,需求说明
可以用这部分来描述:客房帐目维护、客房财务报表和发票制作,而不必把功能所要求的大
量的细节描写出来。
有时,如果存在较高层次的规格说明时,则功能摘要可从中取得,这个较高层次的规格
说明为软件产品分配了特殊的功能,为了清晰起见,请注意:
a. 编制功能的一种方法是制作功能表,以便第一次读这个文件的人都可以理解;
b. 用方框图来表达不同的功能和它们的关系也是有帮助的。但应牢记,这样的图不是
产品设计时所需求的,而只是一种有效的解释性的工具。
2.3 用户特点
列出本软件的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长,
以及本软件的预期使用频度。这些是软件设计工作的重要约束。
2.4 一般约束
本条对设计系统时限制开发者选择的其他一些项作一般性描述。而这些项将限定开发者
在设计系统时的任选项。这些包括:
a. 管理方针;
b. 硬件的限制;
c. 与其他应用间的接口;
d. 并行操作;
e. 审查功能;
f. 控制功能;
g. 所需的高级语言;
h. 通信协议;
i. 应用的临界点;
j. 安全和保密方面的考虑。
2.5 假设和依据
本条列出影响需求说明中陈述的需求的每一个因素。这些因此不是软件的设计约束,但
是它们的改变可能影响到需求说明中的需求。例如:假定一个特定的操作系统是在被软件产
第 2 页
品指定的硬件上使用的,然而,事实上这个操作系统是不可能使用的,于是,需求说明就要
进行相应的改变。
3 具体需求
3.1 功能需求
(本部分可画数据流图)
3.1.1 功能需求 1
对于每一类功能或者有时对于每一个功能,需要具体描述其输入、加工和输出的需求。
由四个部分组成:
a. 引言
描述的是功能要达到的目标、所彩的方法和技术,还应清楚说明功能意图的由来
和背景。
b. 输入
1) 详细描述该功能的所有输入数据,如:输入源、数量、度量单位、时间设定、
有效输入范围(包括精度和公差);
2) 操作员控制细节的需求。其中有名字、操作员活动的描述、控制台或操作员的
位置。例如:当打印检查时,要求操作员进行格式调整;
3) 指明引用接口说明或接口控制文件的参考资料。
c. 加工
定义输入数据、中间参数,以获得预期输出结果的全部操作。它包括如下的说明:
1) 输入数据的有效性检查;
2) 操作的顺序,包括事件的时间设定;
3) 响应,例如,溢出、通信故障、错误处理等;
4) 受操作影响的参数;
5) 降级运行的要求;
6) 用于把系统输入变换成相应输出的任何方法(方程式、数学算法、逻辑操作等);
7) 输出数据的有效性检查。
d. 输出
1) 详细描述该功能所有输出数据,例如:输出目的地、数量、度量单位、时间关
系、有效输出的范围(包括精度和公差)、非法值的处理、出错信息;
2) 有关接口说明或接口控制文件的参考资料。
此外,对着重于输入输出行为的系统来说,需求说明应指定所有有意义的输入、
第 3 页
输出对及其序列。当一个系统要求记忆它的状态时,需要这个序列,使得它可以
根据本次输入和以前的状态作出响应。也就是说,这种情况犹如有限状态机。
3.1.2 功能需求 2
......
3.1.n 功能需求 n
3.2 行为需求
(如由必要,本部分可画状态转移图)
3.3 数据需求
(如由必要,本部分可画 E-R 图)
3.4 外部接口需求
3.4.1 用户接口
提供用户使用软件产品时的接口需求。例如,如果系统的用户通过显示终端进行操作,
就必须指定如下要求:
a. 对屏幕格式的要求;
b. 报表或菜单的页面打印格式和内容;
c. 输入输出的相对时间;
d. 程序功能键的可用性。
3.4.2 硬件接口
要指出软件产品和系统硬部件之间每一个接口的逻辑特点。还可能包括如下事宜:支撑
什么样的设备,如何支撑这些设备,有何约定。
3.4.3 软件接口
在此要指定需使用的其他软件产品(例如,数据管理系统、操作系统或数学软件包),
以及同其他应用系统之间的接口。对每一个所需的软件产品,要提供如下内容:
a. 名字;
第 4 页