软件工程数据库软件详细设计模板.docx
《软件工程数据库软件详细设计模板.docx》由会员分享,可在线阅读,更多相关《软件工程数据库软件详细设计模板.docx(10页珍藏版)》请在冰点文库上搜索。
软件工程数据库软件详细设计模板
文档状态:
文档编号:
[]Draft
[√]Released
[]Modifying
编撰:
编撰日期:
保密级别:
文档版本:
1.0.0
需求名称
XXX项目小组
修订表
编号
生成版本
修订人
修订章节与内容
修订日期
1
2
3
4
5
审批记录
版本
审批人
审批意见
审批日期
1.0.0
1.引言
1.1目的
说明编写详细设计方案的主要目的。
详细设计的主要任务是对概要设计方案做完善和细化。
说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。
如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。
方案重点是模块的执行流程和数据库系统详细设计的描述。
1.2范围
1.3读者对象
1.4参考资料
资料名称[标识符]
出版单位
作者
日期
格式说明:
列出本文档的所有参考资料(可以是非正式的出版物),对于不为本单位所拥有的资料,要注明来源、引用章节,如果必要需将部分章节复印做为附件附在文档后。
1.5术语与缩略语
术语、缩略语
解释
2.设计概述
2.1任务和目标
说明详细设计的任务及详细设计所要达到的目标
2.1.1需求概述
对所开发软件的概要描述,包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。
2.1.2运行环境概述
对本系统所赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。
2.1.3条件与限制
详细描述系统所受的内部和外部条件的约束和限制说明。
包括业务和技术方面的条件与限制以及资金、进度、管理等方面的限制
2.1.4详细设计方法和工具
简要说明详细设计所采用的方法和使用的工具。
如HIPO图方法、IDEF(I2DEF)方法、E-R图,数据流程图、业务流程图、选用的CASE工具等,尽量采用标准规范和辅助工具。
3.系统详细需求分析
主要对系统级的需求进行分析。
首先应对概要设计分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。
3.1详细需求分析
包括:
∙详细功能需求分析
∙详细性能需求分析
∙详细信息需求分析
∙详细资源需求分析
∙详细组织需求分析
∙详细系统运行环境及限制条件分析
3.2详细系统运行环境及限制条件分析接口需求分析
包括:
∙系统接口需求分析
∙现有硬、软件资源接口需求分析
∙引进硬、软件资源接口需求分析
4.总体方案确认
着重解决系统总体结构确认及界面划分问题。
4.1系统总体结构确认
对系统组成、逻辑结构及层次进行确认,对应用系统、支撑系统及各自实现的功能进行确认,细化集成设计及系统工作流程,特别要注意因软件的引进造成的系统本身结构和公司其他系统的结构变化。
包括:
•系统组成、逻辑结构及层次确认
•应用系统结构确认
•支撑系统结构确认
•系统集成确认
•系统工作流程确认
4.2系统详细界面划分
对系统内部各功能及系统与外界之间的界面进一步细化。
4.2.1应用系统与支撑系统的详细界面划分
应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。
4.2.2系统内部详细界面划分
系统各功能之间的界面包括覆盖范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等。
5.系统详细设计
5.1系统结构设计及子系统划分
对系统的组成及逻辑结构进行设计前确认。
划分系统功能模块或子系统(如果有或者有必要,特别是大型的软件系统)。
5.2系统功能模块详细设计
按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计。
此为详细设计的主要部分之一。
用层次图(H图)描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能。
以上建议采用HIPO图进行功能分解与模块描述,更高的要求建议采用IDEF0方法进行功能模型设计。
详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。
与概要设计相比,此部分需要详细描述从最顶层到最底层模块和具体算法。
而概要设计不必如此详细(不必涉及太底层的模块)。
每个模块的描述说明可参照以下格式:
模块编号:
模块名称:
输入:
处理:
算法描述:
输出:
其中处理和算法描述部分主要采用伪码或具体的程序语言完成。
对详细设计更高的要求建议用IDEF0图进行各功能模块的设计。
注意:
如果系统的部分模块采用购买的软件产品实现,则不必对这个模块进行设计,但应对所购买软件的应用边界条件(包括应用接口及资源限制)进行确认。
如果对购买软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。
5.3系统界面详细设计
系统界面说明应用系统软件的各种接口。
整个系统的其他接口(如系统硬件接口、通讯接口等)在相应的部分说明。
5.3.1外部界面设计
根据系统界面划分进行系统外部界面设计,对系统的所有外部接口(包括功能和数据接口)进行设计。
5.3.2内部界面设计
设计系统内部各功能模块间的调用关系和数据接口。
5.3.3用户界面设计
规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计。
此部分内容可能比较多。
6数据库系统设计
详细设计阶段的数据库设计是对概要设计相应部分的细化和补充及实现。
数据库设计可单独成册,尤其对大型的数据库应用系统。
6.1设计要求
系统对数据库设计的要求。
6.2信息模型设计
说明对概要设计信息模型的设计的补充、改变或细化;
确定系统信息的类型(实体或视图),确定系统信息实体的属性、关键字及实体之间的联系,详细描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。
6.3数据库设计
6.3.1设计依据
说明数据被访问的频度和流量,最大数据存储量,数据增长量,存储时间等数据库设计依据。
6.3.2数据库逻辑结构
说明数据库概念模式向逻辑模式转换所采用的方法论及工具,完成数据库概念模式向逻辑模式的转换。
详细列出所使用的数据结构中每个数据项、记录和文件的标识、定义、长度及它们之间的相互关系。
此节内容为数据库设计的主要部分。
6.3.3物理结构设计
列出所使用的数据结构中每个数据项的存储要求、访问方法、存取单位和存取物理关系等。
建立系统程序员视图,包括:
•数据在内存中的安排,包括对索引区、缓冲区的设计;
•所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分;
•访问数据的方式方法。
6.3.4数据库安全
说明数据的共享方式,如何保证数据的安全性及保密性。
6.3.5数据字典
编写详细的数据字典。
对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。
7.信息编码设计
信息编码应在详细设计阶段完成。
7.1代码结构设计
确认信息分类编码总体方案,进行分类代码结构设计。
7.2代码编制
按代码结构编制信息代码
8.维护设计
维护设计针对系统运作的一些问题展开,具体条目参照概要设计方案。
如果此部分在概要设计方案中已经足够详细并且可操作,在详细设计里也可省略。
8.1系统的可靠性和安全性
系统在运行可靠性和安全性方面对用户需求的满意程度和特殊设计、考虑(如果有的话)。
8.2系统及用户维护设计
对一般用户日常维护操作和系统管理的日常维护进行设计,如备份、恢复操作,数据物理安全。
8.3系统扩充
系统的功能扩充、容量扩大和可移植性、开放性等方面的说明。
8.4错误处理
8.4.1出错类别
如系统对可能出现的某些错误和故障作了专门的设计考虑,给出这些错误或故障的定义和对错误进行编码。
8.4.2出错处理
说明将使用的恢复或再启动技术,使软件从故障点恢复执行或软件从头开始重新运行的方法。
8.5系统调整及再次开发问题
未来可能对系统进行的一些调整、限制和再次开发等问题,以及详细设计中尚未解决但开发者认为在开发阶段必须解决的问题。
9.系统配置
系统软件硬件配置资源明细及配置方案。
这部分针对概要设计相应部分加以补充和细化,输出为可操作的具体方案。
9.1.配置原则
说明系统的配置原则,如根据目标、需求、资源、阶段等的配置,特别需要包括系统的详细性能需求。
9.2.硬件配置
列出开发及运行系统所需要的硬件平台、工具等,说明采用依据。
将各层的硬件及网络配置方案列出图及表,并加以说明。
9.3.软件配置
列出开发及运行本系统所需要的软件平台(操作系统、数据库、网络平台等)、软件辅助工具及使用周期,说明采用依据。
将系统软件配置(如网络管理软件、数据库管理软件、客户端软件等)方案列出图表,并加以说明。
10.关键技术
关键技术指项目所采用的核心技术或技术难点、新技术(如果有的话)。
在详细设计阶段应确认概要设计中关键技术的设置,对每一项关键技术进一步明确详细的解决方案。
10.1关键技术的提出
说明关键技术提出的原则。
10.2.关键技术的一般说明
说明关键技术的名称、必要性、技术难点、进度、计划等(可以用表格)。
10.3.关键技术的实现方案
详细介绍各项关键技术的实现方案。
11.需求影响模块考虑
11.1.程序流程影响考虑
需求上线后对于原有系统流程有哪些修改,是否会影响到其他的流程。
11.2.数据库影响考虑
对于数据库的影响,是否会影响数据的一致性,是否会造成数据冗余等情况的考虑。
11.3.性能影响考虑
新系统上线后是否会影响原来系统的性能,包括数据库性能和程序性能。
12.实现后的功能流程
记录需求实现后的功能流程,方便以后进行维护和查找。