1、文档编号: 版 本 号: 密 级: XXX详细设计方案(模板)项目名称:(此处填入项目中文名称)(此处填入项目英文名称)项目负责人:(此处填入项目负责人)拟制: 年 月 日审核: 年 月 日批准: 年 月 日项目名称文档名称文 件 控 制 变更记录日期作者版本更改说明审阅日期审阅者意见分发编号接收人地点目录1 引言51.1 编写目的51.2背景51.3 参考资料51.4术语定义及说明52 2设计概述52.1任务和目标52.1.1需求概述52.1.2运行环境概述62.1.3条件与限制62.1.4详细设计方法和工具63 系统详细需求分析63.1详细需求分析63.2接口需求分析64 总体方案确认74
2、.1系统总体结构确认74.2 系统详细界面划分74.2.1应用系统与支撑系统的详细界面划分74.2.2系统内部详细界面划分75 系统详细设计75.1系统结构设计及子系统划分75.2系统功能模块详细设计85.3系统界面详细设计85.3.1外部界面设计85.3.2内部界面设计95.3.3用户界面设计96 数据库系统设计96.1设计要求96.2信息模型设计96.3数据库设计96.3.1设计依据96.3.2数据库选型96.3.3数据库种类及特点96.3.4数据库逻辑结构96.3.5物理结构设计 106.3.6数据库安全106.3.7数据字典107 网络通信系统设计107.1设计要求107.2网络结构确
3、认107.3网络布局设计107.4网络接口设计118 8信息编码设计118.1代码结构设计118.2代码编制119 9维护设计 119.1系统的可靠性和安全性119.2系统及用户维护设计 119.3系统扩充119.4错误处理 119.4.1出错类别119.4.2 出错处理119.5 系统调整及再次开发问题 1210 系统配置1210.1配置原则1210.2硬件配置1210.3软件配置1211 11关键技术1211.1关键技术的提出1211.2关键技术的一般说明1211.3关键技术的实现方案1312 组织机构及人员配置1313 投资预算概算及资金规划1314 实施计划1314.1限制1314.2
4、实施内容和进度安排1314.3实施条件和措施1314.4系统测试计划1314.4.1测试策略1414.4.2测试方案1414.4.3预期的测试结果1414.4.4测试进度计划1414.5验收标准141 引言1.1 编写目的说明编写详细设计方案的主要目的。详细设计的主要任务是对概要设计方案做完善和细化。说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。 方案重点是模块的执行流程和数据库系统详细设计的描述。1.2 背景应包含以下几个方
5、面的内容:A. 待开发软件系统名称;B. 该系统基本概念, 如该系统的类型、从属地位等;C. 开发项目组名称;D. 项目代号(项目规划所采用的代号);E. 说明遵从的IT标准和原则,符合公司的IT ABBs。1.3 参考资料列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料。1.4 术语定义及说明列出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。2 设计概述条目基本参照概要设计,对其进行细化、修正和补充。2.1 任务和目标说明详细设计的任务及详细设计所要达到的目标 。2.1.1 需求概述对所开发软件的概要描述, 包括主要的业务
6、需求、输入、 输出、主要功能、性能等,尤其需要描述系统性能需求。 更详细的需求描述见后。2.1.2 运行环境概述对本系统所赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。2.1.3 条件与限制详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及资金、进度、管理等方面的限制。2.1.4 详细设计方法和工具简要说明详细设计所采用的方法和使用的工具。如HIPO图方法、IDEF(I2DEF)方法、ER图,数据流程图、业务流程图、选用的CASE工具等,尽量采用标准规范和辅助工具。3 系统详细需求分析主要对系统级
7、的需求进行分析。首先应对概要设计分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。3.1 详细需求分析包括: 详细功能需求分析 详细性能需求分析 详细信息需求分析 详细资源需求分析 详细组织需求分析 详细系统运行环境及限制条件分析3.2 详细系统运行环境及限制条件分析接口需求分析包括: 系统接口需求分析 现有硬、软件资源接口需求分析 引进硬、软件资源接口需求分析4 总体方案确认着重解决系统总体结构确认及界面划分问题。 4.1 系统总体结构确认对系统组成、逻辑结构及层次进行确认,对应用系统、支撑系统及各自实现的功能进行确认,细化集成设计及系统工作流程,特别要注意因
8、软件的引进造成的系统本身结构和公司其他系统的结构变化。包括: 系统组成、逻辑结构及层次确认 应用系统结构确认 支撑系统结构确认 系统集成确认 系统工作流程确认4.2 系统详细界面划分对系统内部各功能及系统与外界之间的界面进一步细化。4.2.1 应用系统与支撑系统的详细界面划分应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。4.2.2 系统内部详细界面划分系统各功能之间的界面包括覆盖范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等。5 系统详细设计5.1 系统结构设计及子系统划分对
9、系统的组成及逻辑结构进行设计前确认。划分系统功能模块或子系统(如果有或者有必要,特别是大型的软件系统)。5.2 系统功能模块详细设计按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计。此为详细设计的主要部分之一。用层次图(H图)描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能。 以上建议采用HIPO图进行功能分解与模块描述,更高的要求建议采用IDEF0方法进行功能模型设计。详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能
10、和模块三者之间的交叉参照关系。与概要设计相比,此部分需要详细描述从最顶层到最底层模块和具体算法。而概要设计不必如此详细(不必涉及太底层的模块)。每个模块的描述说明可参照以下格式:模块编号:模块名称:输入:处理:算法描述:输出:其中处理和算法描述部分主要采用伪码或具体的程序语言完成。对详细设计更高的要求建议用IDEF0图进行各功能模块的设计。注意:如果系统的部分模块采用购买的软件产品实现,则不必对这个模块进行设计,但应对所购买软件的应用边界条件(包括应用接口及资源限制)进行确认。如果对购买软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。5.3 系
11、统界面详细设计系统界面说明应用系统软件的各种接口。整个系统的其他接口(如系统硬件接口、通讯接口等)在相应的部分说明。5.3.1 外部界面设计根据系统界面划分进行系统外部界面设计,对系统的所有外部接口(包括功能和数据接口)进行设计。5.3.2 内部界面设计设计系统内部各功能模块间的调用关系和数据接口。5.3.3 用户界面设计规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计。此部分内容可能比较多。1 数据库系统设计详细设计阶段的数据库设计是对概要设计相应部分的细化和补充及实现。数据库设计可单独成册,尤其对大型的数据库应用系统。1.1 设计要求系统对数
12、据库设计的要求。1.2 信息模型设计说明对概要设计信息模型的设计的补充、改变或细化;确定系统信息的类型(实体或视图),确定系统信息实体的属性、关键字及实体之间的联系, 详细描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。 1.3 数据库设计1.3.1 设计依据说明数据被访问的频度和流量,最大数据存储量,数据增长量,存储时间等数据库设计依据。1.3.2 1数据库选型对数据库选型进行确认。1.3.3 数据库种类及特点说明系统内应用的数据库种类、各自的特点、数量及如何实现互联,数据如何传递。1.3.4 数据库逻辑结构说明数据库概念模式向逻辑模式转换所采用的方法论及工具,完成数
13、据库概念模式向逻辑模式的转换。 详细列出所使用的数据结构中每个数据项、记录和文件的标识、定义、长度及它们之间的相互关系。此节内容为数据库设计的主要部分。1.3.5 物理结构设计 列出所使用的数据结构中每个数据项的存储要求、访问方法、存取单位和存取物理关系等。建立系统程序员视图,包括: 数据在内存中的安排,包括对索引区、缓冲区的设计; 所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分; 访问数据的方式方法。1.3.6 数据库安全说明数据的共享方式,如何保证数据的安全性及保密性。1.3.7 数据字典编写详细的数据字典。 对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷模式、
14、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。2 网络通信系统设计(对比较大型的分布式系统项目,特别是拥有独立网络架构的项目,此部分比较重要)。2.1 设计要求系统对网络通信设计的要求。网络设计对公司网络大环境的要求和影响。2.2 网络结构确认确认网络选型及网络拓扑结构,网络协议及服务、通信软件,网络互联方法,信息载体及硬件配置。2.3 网络布局设计细化网络的物理布局,明确站点分布的位置及相互间的距离,提出网络安装施工的要求。2.4 网络接口设计系统的硬件和通讯接口设计,如服务器的网络接口、协议等。3 信息编码设计信息编码应在详细设计阶段完成。3.1 代码结构设计确认信息
15、分类编码总体方案,进行分类代码结构设计。3.2 代码编制按代码结构编制信息代码4 维护设计 维护设计针对系统运作的一些问题展开,具体条目参照概要设计方案。如果此部分在概要设计方案中已经足够详细并且可操作,在详细设计里也可省略。4.1 系统的可靠性和安全性系统在运行可靠性和安全性方面对用户需求的满意程度和特殊设计、考虑(如果有的话)。4.2 系统及用户维护设计 对一般用户日常维护操作和系统管理的日常维护进行设计,如备份、恢复操作,数据物理安全。4.3 系统扩充系统的功能扩充、容量扩大和可移植性、开放性等方面的说明 。4.4 错误处理 4.4.1 出错类别如系统对可能出现的某些错误和故障作了专门的
16、设计考虑, 给出这些错误或故障的定义和对错误进行编码。4.4.2 出错处理说明将使用的恢复或再启动技术, 使软件从故障点恢复执行或软件从头开始重新运行的方法。4.5 系统调整及再次开发问题 未来可能对系统进行的一些调整、限制和再次开发等问题,以及详细设计中尚未解决但开发者认为在开发阶段必须解决的问题。5 系统配置系统软件硬件配置资源明细及配置方案。这部分针对概要设计相应部分加以补充和细化,输出为可操作的具体方案。5.1 配置原则说明系统的配置原则,如根据目标、需求、资源、阶段等的配置,特别需要包括系统的详细性能需求。5.2 硬件配置列出开发及运行系统所需要的硬件平台、工具等,说明采用依据。将各
17、层的硬件及网络配置方案列出图及表,并加以说明。5.3 软件配置列出开发及运行本系统所需要的软件平台(操作系统、数据库、网络平台等)、软件辅助工具及使用周期,说明采用依据。将系统软件配置(如网络管理软件、数据库管理软件、客户端软件等)方案列出图表,并加以说明。6 关键技术关键技术指项目所采用的核心技术或技术难点、新技术(如果有的话)。在详细设计阶段应确认概要设计中关键技术的设置,对每一项关键技术进一步明确详细的解决方案。6.1 关键技术的提出说明关键技术提出的原则。6.2 关键技术的一般说明说明关键技术的名称、必要性、技术难点、进度、计划等(可以用表格)。6.3 关键技术的实现方案详细介绍各项关
18、键技术的实现方案 。1 组织机构及人员配置说明系统运行对企业组织机构设置的要求,组织机构调整方案,调整后组织机构的任务和职责。说明系统对人员配置的要求和配置方案。2 投资预算概算及资金规划列出经费投资预算表,说明系统的基本建设费用(包括系统平台软件硬件和应用软件),说明一次性投资及分期投资的项和投资数额。计算项目总投资和分类投资明细。对投资方面的限制要在此单独说明。3 实施计划说明项目的下一步实施计划和具体的实施方案,为确保方案实施在技术方法、组织机构、人员配置、技术培训等等所应采取的措施和计划。包括系统测试计划和验收标准。3.1 限制说明在进度设计和实施等方面的限制。3.2 实施内容和进度安
19、排对本期实施的内容、进度等进行详细的说明,要求计划切实、可操作,需求条件清楚,时间比较精确,目标清楚,进度可检查。对准备远期实施的内容与进度只要求大致说明。3.3 实施条件和措施对实施条件和所采取的具体措施进行描述。3.4 系统测试计划系统的测试方案及计划,要求涉及从顶层到底层各模块。概要设计后期的测试计划重点放在集成测试,而详细设计后应该提供详细的单元测试计划。测试计划和方案部分可单独编写成册。3.4.1 测试策略说明系统调试的环境、工具,集成测试的方法(从下而上或从上而下),模块测试的顺序,步骤, 并给出辅助的模块或驱动模块及测试用例, 说明这些测试用例的选取原则。3.4.2 测试方案3.4.3 预期的测试结果3.4.4 测试进度计划3.5 验收标准明确工程验收办法及步骤,对涉及到的各项验收标准、计量标准及质量标准进行说明。