软件设计规格说明书
编写指南
二○○三年四月
目录
文档类别使用对象 (3)
1.导言 (4)
1.1目的 (4)
1.2范围 (4)
1.3术语定义 (4)
1.4参考资料 (4)
1.5版本更新记录 (4)
2 功能模块的结构设计 (5)
3 详细设计 (5)
3.1功能项的具体实现 (5)
3.2 数据库设计 (5)
3.2.1表设计 (5)
3.2.2存储过程设计 (6)
3.2.3触发器设计 (6)
3.3 公共对象设计 (7)
3.4 全局变量设计 (7)
3.5 其他设计 (7)
4 运行环境定义 (7)
文档类别使用对象
文档类别
该文档是某项目的需求规格说明书,是技术文档。使用对象
该文档使用人员包括:
项目负责人
项目组成员
公司高级管理者
用户
1.导言
1.1目的
描述本文档的编写目的。
1.2范围
描述本文档所涉及的内容范围。1.3术语定义
对本文档所涉及的一些术语进行解释。1.4参考资料
描述本文档的参考资料
1.5版本更新记录
记录本文档的版本更新记录。
2 功能模块的结构设计
在本章节中要描述整个系统的功能组成,即整个系统有几个子系统构成,每个子系统又有哪些功能项组成,每个子系统之间的接口关系。
3 详细设计
3.1功能项的具体实现
背景描述:对这一任务的背景进行简单的描述。为什么需要此功能,其上下文环境。
功能的具体描述:具体实现的功能罗列。
操作的描述:具体的操作步骤。
操作对象:该功能对哪些数据对象进行写操作。
实现对象:实现该功能定义的对象。
属性:该对象的属性。
操作:定义在该对象的上的操作。
该操作的接口(输入、输出)。
实现的算法。
该功能项的界面:
屏幕详细布局
按钮分布
显示格式等。
注意事项:实现该功能项需注意的问题。
该功能项的性能设计:
3.2 数据库设计
3.2.1表设计
索引:名称[,unique][,clustered],列名
数据库的设计一般要求满足3范式,但为性能的需要,可以有些表不满足3范式。在下列情况下,通常要考虑进行非规范化处理:
大量频繁的查询过程所涉及的表都需要进行连接
主要的应用程序在执行时要将表连接起来进行查询
对数据的计算需要临时表或进行复杂的查询。
对表的设计应有一个初步的数据量的估计,不能太大。
在定义表时,最好把主键放在列的最前面,然后时常用的列。
3.2.2存储过程设计
过程1: 名称: ………………
功能: ………………
算法: ………………
调用方式:………….
入口参数:………….
出口参数:………….
过程2: 名称: ………………
功能: ………………
算法: ………………
调用方式:………….
入口参数:………….
出口参数:………….
……………
3.2.3触发器设计
触发器1: 名称: ………………
功能: ………………
算法: ………………
激活条件:………….
触发器2: 名称: ………………
功能: ………………
算法: ………………
激活条件:………….
………………
注意:过多地使用触发器反而会使系统的效率降低。
3.2.4视图设计
3.2.5索引设计
一般情况是在主键和键上建索引,特殊情况可以建立其它索引。
数据库设计的有用的性能标准:(经验准则)
单条记录的更新应当在1秒钟内。
多条记录的更新不超过10秒。
对与少于4个表的、数据有一定限度的查询,响应时间应在5秒钟之内。
对其他的数据有一定限度的多表查询应在10秒内完成。
整个表的查询时间应在30秒之内完成。
3.3 公共对象设计
3.4 全局变量设计
各个子系统的公用全局变量定义如下:………….
3.5 其他设计
4 运行环境定义
该软件的运行环境:
硬件平台:
服务器的最低配置要求
工作站的最低配置要求
外设的要求
软件平台:
服务器操作系统
应用服务器软件
通信服务器软件
数据库系统
中间件
客户端的操作系统
客户端的平台软件通信协议
网络平台