
一、编写目的
项目主管或软件工程师根据《软件需求说明书》,对程序系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计。 运行设计、数据结构设计和出错处理设计等,需编写《软件设计说明书》,本文档供项目主管和软件工程师遵循《用户需求规格说明书》(见《用户需求规格说明书编写规范》)如何编写《软件设计说明书》所编写的规范。
二、应用文档
本文在编写时所应用到下列文件:
《文档编排格式规范》
《软件需求规格说明书》
《UML时序图规范说明书》
三、要求及内容
1
2
2.1编写格式要求
在编写《软件设计说明书》时,对封面、正文、字体及编号应参考《文档编排格式规范》约定的格式对封面、正文、字体、大纲及编号进行编写。
2.2说明书内容
2.2.1说明书目的
软件设计说明书又可称系统设计或程序设计,这里所说的系统是指程序系统。编制的目的是说明对程序 系统的设计考虑,包括程序系统的基本处理流程、程序系统的组织结构、模块划分、功能分配、接口设计。 运行设计、数据结构设计和出错处理设计等;更详细设计说明是将一个软件系统各个层次中的每一个程序 (每个模块或子程序)的设计考虑,此时可对程序较为详细设计,如果一个软件系统比较简单,层次很少,可直接编写系统设计,本说明书可供软件设计师、项目主管及测试人员使用。
2.2.2参考资料及文档
列出编写本说明书时参考的文件(如经核准的计划任务书或合同、上级机关的批文等)、资料、技术标准,以及他们的作者、标题、编号、发布日期和出版单位等。
2.2.3设计原则
2.2.3.1界面设计原则
设计大体遵循以下原则:
A.界面简洁大方
B.附有详细的说明
C.遵循用户的操作习惯
D.具有指引性
E.色调协调
2.2.3.2数据结构设计原则
设计大体遵循以下原则:
A.每个数据表都设有主键,做为流水号,放在第一字段;字段名使用中文字段命名。
B.字段类型使用字符型,整形,浮点型,时间型及二进制型。
C.只使用数据库的存储功能,数据表间的关系以程序逻辑实现控制。
2.2.3.3程序结构设计原则
程序结构设计,对软件程序做出一个划分,应根据具体情况不同,做出不同的调整,程序结构设计过程中,经常用到的程序结构划分方式包括:
A.根据功能划分
B.根据技术划分
C.根据程序借口划分
D.程序结构划分应大体遵循以下原则:
1)应以用户为中心划分
2)围绕中心问题划分
3)符合结构清晰,层次简明的原则
2.2.3.4框图、UML协作图和UML时序图
程序需包含系统结构框图,较为复杂时应提供相应的UML协作图(见《UML时序图规范说明书》)。
在涉及到复杂方法体时应引用程序员为方法或过程编写的UML时序图。
2.2.4接口描述
2.2.4.1软件模块分配
A.数据处理软件模块;
数据处理软件模块是整个软件的基础,为整个软件提供分析数据,其接口要求如下表:
[此处加入接口要求表]
B.数据分析软件模块;
分析软件模块包括电能、电压、电量、谐波 4个模块,是整个软件的功能实现,实现软件的分析功能,其接口要求分别如表1,表2,表3,表4及表5:
[此处加入表]
说明:表5 是xxxxxx.
C.报表软件模块;
报表软件模块是为整用户提供报表功能,其接口要求如下表:
[此处加入接口要求表]
D.主界面软件模块;
主界面软件模块是整个软件的总控,为软件的各个模块提供接口,其接口要求如下表:
[此处加入接口要求表]
由于上表较长,表中分为3部分,表中第2部分说明为:xxxxxxxxxxxxx
2.2.4.2模块之间的关系
[此处加入模块之间的关系]
2.2.5功能描述
A.功能说明
[此处加入功能说明]
B.功能框图
[此处加入功能框图]
C.时顺图
复杂功能可用UML时序图(见《UML时序图规范说明书》)表示。
2.2.6接口协议
[此处加入接口协议]
2.2.7编程协定
A.操作系统
windows NT 操作系统,或windows 98 操作系统.
B.编程工具
Delphi 7.0 编程工具,由于该软件工具具有可视化编程,对象化处理的优点,利于我们快速完成编程工作,减少编程BUG ,提高工作效率,降低开发成本;因此,我们确定使用该软件为软件的主界面,分析,及报表功能的开发平台。
VC++ 编程工具,由于该软件具有编程深度高,实现灵活,有利于完成我们软件中的入库程序。
另外,根据本软件的特点:xxxxxxxxxxxxx
C.编辑、调试、联接程序
[此处加入编辑、调试、联接程序]
D.编译工具
[此处加入编译工具]
E.模拟、仿真数据
模拟数据使用过去的真实数据,数据如下:
[此处加入数据]
过程、方法如下:
[此处加入过程、方法]
F.诊断、测试程序
[此处加入诊断、测试程序]
G.检测程序
[此处加入检测程序]
2.2.8数据结构
A. 物理结构
[此处加入物理结构]
B.库结构
[此处加入库结构]
C.链路结构
[此处加入链路结构]
D.表结构
[此处加入表结构]
E.内部存贮区分配
[此处加入内部存贮区分配]
2.2.9逻辑结构
A.常量定义
[此处加入常量定义]
B.变量定义
[此处加入变量定义]
C.结构定义
[此处加入结构定义]
D.全局定义
[此处加入全局定义]
2.2.10程序流程
A.主程序
1)功能
[此处加入功能]
2)入口参数
[此处加入入口参数]
3)出口参数
[此处加入出口参数]
4)局部变量
[此处加入局部变量]
5)函数调用
[此处加入函数调用]
6)对象调用
[此处加入对象调用]
7)流程图
[此处加入流程图]
8)UML时序图(见《UML时序图规范说明书》)
仅用于复杂程序流程,一般可用流程图表示即可。
B.子程序
1)功能
[此处加入功能]
2)入口参数
[此处加入入口参数]
3)出口参数
[此处加入出口参数]
4)局部变量
[此处加入局部变量]
5)函数调用
[此处加入函数调用]
6)流程图
[此处加入流程图]
7)UML时序图或协作图(见《UML时序图规范说明书》)
仅用于复杂程序流程,一般可用流程图表示即可。
C.信息及通讯
1)信息类型
[此处加入信息类型]
2)信息等级
[此处加入信息等级]
3)功能
[此处加入功能]
4)入口参数
[此处加入入口参数]
5)出口参数
[此处加入出口参数]
6)局部变量
[此处加入局部变量]
7)队列
[此处加入队列]
8)流程图
[此处加入流程图]
D.对象
1)功能
[此处加入功能]
2)入口参数
[此处加入入口参数]
3)出口参数
[此处加入出口参数]
4)变量(私有,公有,重载等)
[此处加入变量]
5)函数
[此处加入函数]
6)属性
[此处加入属性]
7)流程图
[此处加入流程图]
2.2.11源文件列表
[此处加入源文件列表]
列表如下:
| 序号 | 应用程序 | 文件名 | 作用 | 存放路径 |
[相关参考资料及文档其他信息]
2.3文档修订历史
文档修订列表如下:
| 修定版本 | 更改人 | 日期 | 描述(注明修改的条款或页) |
| 修定版本 | 职务 | 姓名 | 日期 |
五、样例及模板文档
样板请参考《软件设计说明书模板》文档。 下载
