软件概要设计报告文档模板
1. 1 引言
引言是对这份软件系统概要设计报告的概览,是为了帮助阅读者了解这份文档是如何编写的,并且应该如何阅读、理解和解释这份文档。
1.1 1.1 编写目的
说明这份软件系统概要设计报告是基于哪份软件产品需求规格说明书编写的,开发这个软件产品意义、作用、以及最终要达到的意图。通过这份软件系统概要设计报告详尽说明了该软件产品的软件结构,包括数据库结构和出错处理,从而对该软件产品的结构的描述。
如果这份软件系统概要设计报告只与整个系统的某一部分有关系,那么只定义软件系统概要设计报告中说明的那个部分或子系统。
1.2 1.2 项目风险
具体说明本软件开发项目的全部风险承担者,以及各自在本阶段所需要承担的主要风险,首要风险承担者包括:
● 任务提出者;
● 软件开发者;
● 产品使用者。
1.3 1.3 预期读者和阅读建议
列举本软件系统概要设计报告所针对的各种不同的预期读者,例如,可能的读者包括:
● 用户;
● 开发人员;
● 项目经理;
● 营销人员;
● 测试人员;
● 文档编写人员;
● 等等。
描述文档中,其余部分的内容及其组织结构,并且针对每一类读者提出最适合的文档阅读建议。
1.4 1.4 参考资料
列举编写软件产品概要设计报告时所用到的参考文献及资料,可能包括:
● 本项目的合同书;
● 上级机关有关本项目的批文;
● 本项目已经批准的计划任务书;
● 用户界面风格指导;
● 开发本项目时所要用到的标准;
● 系统规格需求说明;
● 使用实例文档;
● 属于本项目的其它已发表文件;
● 本软件系统概要设计报告中所引用的文件、资料:
● 相关软件系统概要设计报告:
● 等等。
为了方便读者查阅,所有参考资料应该按一定顺排列。如果可能,每份资料都应该给出:
● 标题名称;
● 作者或者合同签约者;
● 文件编号或者版本号;
● 发表日期或者签约日期;
● 出版单位或者资料来源。
2. 设计概述
本节描述现有开发条件和需要实现的目标,说明进行概要设计时应该遵循的设计原则和必须采用的设计方法。
2.1 限制和约束
简要描述起到限制和约束作用的各种可能存在的条件,例如:
● 技术条件;
● 资金状况;
● 开发环境(包括:工具和平台);
● 时间限制;
● 等等。
并且说明在上述条件下,应该实现的系统目标,
2.2 设计原则和设计要求
描述对本软件系统进行概要设计的原则,通常可以考虑以下几方面的内容:
● 命名规则;
● 模块独立性原则:
● 边界设计原则;
● 数据库设计规则;
● 必须的安全措施;
● 安全性和保密原则;
● 系统灵活性要求;
● 系统易操作性要求;
● 系统可维护性要求;
● 等等。
3. 系统逻辑设计
本节内容主要根据软件产品需求规格说明书和软件产品数据字典建立系统的逻辑模型。此种模型暂时与系统的物理因素(例如:计算机、数据库管理系统)无关。它是系统需求与物理实现的中间结构,它的主要结果是建立:系统结构图、系统界面结构图、系统出错处理、以及系统开发技术说明。
说明:如果进行系统设计时尚未编写软件数据字典:应首先参照附录B说明,编写软件数据字典。在完成软件数据字典后,再进行系统设计。
3.1 系统组织设计
系统组织设计通过系统组织表描述本系统由哪些子系统(模块)组成,这些子系统与业务职能之间的关系,以及各个子系统的安装地点。系统组织表的格式如下:
其中:
● 子系统编号
给出本系统中指定子系统的顺序编号。如果本系统末划分为多个子系统,仅由一个运行模块组成;则本项内容仍需要描述,但是本表内容只有一行。
说明:在一个系统中有可能安装若干个相同的子系统,在这种情况下,应该视为一个子系统,并且对多个安装地点分别进行描述。如果相同的子系统通过系统设置,实现的业务职能具有明显差异时,应该采用多行进行分别描述,并且在备注中说明其差异所在。
● 子系统英文名称
给出本子系统的英文名称,该名称是在应用软件中实际使用的可执行文件名称,必须能够说明该子系统的特点。
若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行。
● 子系统中文名称
给出本子系统的中文名称,该名称必须能够说明该子系统的特点。若本系统中只有一个子系统,则本项内容仍需要描述,但是本表内容只有一行。
● 业务职能
描述该子系统完成的核心业务。
● 安装地点
描述该子系统实际安装的部门、或者某个具体地点。
● 备注
针对该子系统,需要说明的其它有关问题。
3.2 系统结构设计
本节将对系统特性作较为详细的描述,并给出系统特性结构图。
系统特性是系统中完成某项具体操作的基本单元,它由入口参数,出口参数以及处理过程三部分组成。
系统特性可以具有操作界面,也可以没有操作界面;可以被其它操作界面、或者系统特性调用,也可以调用其它操作界面、非操作界面、或者系统特性;但是不允许递归调用(调用自己),包括间接递归调用。
当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统特性表进行描述。系统特性表的格式如下:
其中
● 子系统编号
含义同上。
● 子系统英文名称
含义同上。
● 子系统中文名称
含义同上。
● 特性编号
整个系统所有特性的统一编号。
● 系统特性英文名称
系统特性的英文正式名称,将来用于软件开发中,必须符合命名规范。
● 系统特性中文名称
系统特性的中文正式名称,来源于需求规格说明书中,系统特性一节中的有关描
述。
● 操作功能
是指该特性实际完成的操作说明。
● 调用对象
是指调用该系统特性的系统对象,这里的系统对象可以是系统特性、也可以是操作界面。
● 被调用对象
是指被该系统特性调用的系统对象,这里的系统对象可以是系统特性、也可以是操作界面。
说明:某些较低层的系统特性,可能不存在被调用对象。
● 备注
描述与该系统特性有关的其它注意事项。
● 说明
描述与该系统特性表有关的其它注意事项。
系统特性结构图给出系统特性在逻辑层面上相互之间的关系,其主要依据来源于需求规格说明书中,系统特性一节中的有关描述。
如果系统划分为多个子系统,应分别给出系统与子系统、以及各个子系统与系统特性的结构图。绘制系统与子系统结构图时,一般不需要描绘出系统特性,如果确有必要,尽可能只画出第一层系统特性。绘制子系统与系统特性结构图时,通常也不需要描绘出第二层系统特性,如果确有必要可以画出,但是尽可能不要画出第三层系统特性。
3.3 系统接口设计
系统接口是一种非可视的系统界面,在多数情况下,它对用户是透明的。
本节将对系统接口作较为详细的描述,并给出接口说明清单。
接口作为系统的一种输入/输出形式,分为网络接口、数据库接口、RS-232串行通讯接口、IEEE—485串行总线接口、并行I/O接口等等多种类型。
对于一些为可视界面服务的接口,例如:打印机接口、显示器接口等,因为这类接口对应用软件是透明的,所以不在本节描述范围内。
当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统接口表进行描述。系统接口表的格式如下:
其中:
● 子系统编号
含义同上。
● 子系统英文名称
含义同上。
● 子系统中文名称
含义同上。
● 接口编号
整个系统所有接口的统一编号。
● 接口名称
系统接口的正式名称,必须符合通常习惯。
● 接口类型
指出该接口所传输的数据在该模块中起到的作用。
● 接口性质
指出该接口在通讯中起到的作用,这里的作用可以是:
n 输入;
n 输出;
n 双向。
● 接口速率
指出该接口的传输速率。如果该接口依赖于其它通讯方式,那么传输速率将不高于它所依赖的其它通讯方式的速率。
● 接口协议
给出该接口实际使用的通讯协议。
● 相关对象
给出直接使用本接口的系统对象,这里的系统对象,可以是操作界面,也可以是系统特性。
● 备注
描述与该系统接口有关的其它注意事项。
● 说明
描述与该系统接口表有关的其它注意事项。
逐项详细描述系统接口表中所列出各个系统接口使用的传输协议,以及其它相关内容,例如:驱动程序、动态连接库、等等。
3.4 系统完整性设计
描述系统对象(数据元、数据类),所受到的逻辑约束关系。当系统由多个子系统(模块)组成时,每个子系统应分别使用一张系统完整性约束表进行描述。系统完整性约束表的格式如下:
其中:
● 子系统编号
含义同上。
● 子系统英文名称
含义同上。
● 子系统中文名称
含义同上。
● 约束编号
整个系统所有约束的统一编号。
● 完整性名称
系统完整性约束的正式名称,必须符合通常习惯。
● 相对对象名
完整性约束中的相关对象(数据元和数据类)。
● 约束表达式
用一阶逻辑表达式表达的约束方程式。
● 备注
描述与该系统完整性约束有关的其它注意事项。
● 说明
描述与该系统完整性约束表有关的其它注意事项。
4. 系统出错处理设计
本节描述系统发生外界及内在错误时,所提供的错误信息及处理方法,它包括系统出错处理表及维护处理过程表。
4.1 系统出错处理表
本表给出有关出错处理的产生原因、提示信息、以及建议处理方法。当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统出错处理表进行描述。系统出错处理表的格式如下:
其中:
● 子系统编号
含义同上。
● 子系统英文名称
含义同上。
● 子系统中文名称
含义同上。
● 错误编号
整个系统所有错误的统一编号。
● 错误名称
错误的正式名称,该名称应该是常用的,并且为人们所普遍接受的。
● 错误原因
对该错误产生原因的解释与说明。
● 错误信息
产生该错误时,向用户发出的提示信息。
● 处理方式
对该错误处理的一种建议,此项允许缺省。
● 备注
描述与该系统错误有关的其它注意事项。
● 说明
描述与该系统错误表有关的其它注意事项。
4.2 维护处理过程表
系统出错时,将调用维护处理过程对错误进行处理,有关维护处理过程的各项内容由维护处理过程表进行描述。
当系统有多个子系统(模块)组成时,每个子系统分别使用一张维护处理过程表进行描述。维护处理过程表的格式如下:
其中:
● 子系统编号
含义同上。
● 子系统英文名称
含义同上。
● 子系统中文名称
含义同上。
● 错误编号
含义同上。
● 处理过程英文名称
系统维护处理过程的英文正式名称,将来用于软件开发中,必须符合命名规范。
● 处理过程中文名称
系统维护处理过程的中文正式名称,是系统维护处理过程英文名称的中文说明。
● 处理功能
描述本维护处理过程对错误的处理方式。
由于一个维护处理过程有可能具有对多个错误进行处理的能力,因此该处理功能
必须是针对本项错误编号的。
● 入口参数
进行本项错误处理时,赋给维护处理过程的入口参数。
● 出口参数
进行本项错误处理时,维护处理过程返回的出口参数。
● 备注
描述与该系统错误有关的其它注意事项。
● 说明
描述与该系统错误表有关的其它注意事项。
5. 技术设计
系统技术设计描述系统各个特性实际使用的开发技术,以及具体开发技术使用时应该注意的事项。
5.1 系统开发技术说明表
本表描述系统各个特性开发时实际使用的具体技术,只有一些不太常用的技术需要在这里描述。一些常用技术,例如:通过数据库接口调用存储过程,则不必冗述。当系统由多个子系统(模块)组成时,每个子系统分别使用一张系统开发技术说明表进行描述。系统开发技术说明表的格式如下:
其中:
● 子系统编号
含义同上。
● 子系统英文名称
含义同上。
● 子系统中文名称
含义同上。
● 技术编号
这个系统所使用各种技术的统一编号。
● 开发技术英文名称
该开发技术的英文正式名称,可以便用缩写。
该名称应该是常用的,并且为人们所普遍接受的。
● 开发技术中文名称
该开发技术的中文正式名称,是该开发技术英文名称的中文说明。
该名称应该是常用的,并且为人们所普遍接受的。
● 处理功能
描述本开发技术的处理目的。
● 系统特性编号
含义同上。
由于一项开发技术可能在多处使用,因此针对一项开发技术,有可能存在多个系统特性编号,在此必须一一列出。
● 备注
描述与该系统开发技术相关的其它注意事项。
● 说明
描述与该系统开发技术说明表有关的其它注意事项。
5.2 开发技术应用说明
逐项详细描述系统开发技术说明表中所列出各项系统开发技术使用的技术要点,以及其它相关内容,例如:所需的服务、使用的动态连接库、调用的组件、等等。
6. 数据库设计
如果该软件产品需要使用数据库,不论是使用数据库平台支撑的,还是采用由软件产品开发者自行定义的;都应该在完成软件产品需求分析报告后,开始进行软件产品详细设计之前,按照软件产品数据库设计说明文档模板完成数据库设计工作。
7. 词汇表
列出本文件中用到的专业术语的定义,以及有关缩写的定义(如有可能,列出相关的外文原向)。为了便于非软件专业或者非计算机专业人士阅读软件系统概要设计报告,要求使用非软件专业或者非计算机专业的术语进行描述。所以这里所指的专业术语,是指业务层面上的专业术语,而不是软件专业或者计算机专业的术语。但是,对于无法回避的软件专业或者计算机专业术语,也应该列入词汇表,并且加以准确定义。
8. 进度计划
列出进度计划,包括各子系统、各子模块完成进度计划,人员配备计划等。
第二篇:软件详细设计报告文档模板
软件详细设计报告文档模板
1. 引言
1.1 编写目的
说明编写详细设计方案的主要目的。
说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。
如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。
方案重点是模块的执行流程和数据库系统详细设计的描述。
1.2 背景
应包含以下几个方面的内容:
A. 待开发软件系统名称;
B. 该系统基本概念, 如该系统的类型、从属地位等;
C. 开发项目组名称。
1.3 参考资料
列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料。
1.4 术语定义及说明
列出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。
2. 设计概述
2.1 任务和目标
说明详细设计的任务及详细设计所要达到的目标 。
1.1.1 需求概述
对所开发软件的概要描述, 包括主要的业务需求、输入、 输出、主要功能、性能等,尤其需要描述系统性能需求。
1.1.2 运行环境概述
对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。
1.1.3 条件与限制
详细描述系统所受的内部和外部条件的约束和限制说明。包括业务和技术方面的条件与限制以及进度、管理等方面的限制。
1.1.4 详细设计方法和工具
简要说明详细设计所采用的方法和使用的工具。如HIPO图方法、IDEF(I2DEF)方法、E-R图,数据流程图、业务流程图、选用的CASE工具等,尽量采用标准规范和辅助工具。
3. 系统详细需求分析
主要对系统级的需求进行分析。首先应对需求分析提出的企业需求进一步确认,并对由于情况变化而带来的需求变化进行较为详细的分析。
3.1 详细需求分析
包括:
详细功能需求分析
详细性能需求分析
详细资源需求分析
详细系统运行环境及限制条件分析
3.2 详细系统运行环境及限制条件分析接口需求分析
包括:
系统接口需求分析
现有硬、软件资源接口需求分析
引进硬、软件资源接口需求分析
4. 总体方案确认
着重解决系统总体结构确认及界面划分问题。
4.1 系统总体结构确认
对系统组成、逻辑结构及层次进行确认,对应用系统、支撑系统及各自实现的功能进行确认,细化集成设计及系统工作流程,特别要注意因软件的引进造成的系统本身结构和公司其他系统的结构变化。包括:
系统组成、逻辑结构及层次确认
应用系统结构确认
支撑系统结构确认
系统集成确认
系统工作流程确认
4.2 系统详细界面划分
1.1.5 应用系统与支撑系统的详细界面划分
应用系统与支撑系统之间的界面包括系统主服务器与其他服务器的服务范围及访问方式,网络及数据库对应用系统的支撑方式,全局数据的管理与存取方式等。
1.1.6 系统内部详细界面划分
系统各功能之间的界面包括覆盖范围,模块间功能调用涉及到的系统模块及方法,全局数据格式,系统性能要求等。
5. 系统详细设计
5.1 系统结构设计及子系统划分
对系统的组成及逻辑结构进行设计前确认。
划分系统功能模块或子系统(如果有或者有必要,特别是大型的软件系统)。
5.2 系统功能模块详细设计
按结构化设计方法,在系统功能逐层分解的基础上,对系统各功能模块或子系统进行设计。此为详细设计的主要部分之一。
用层次图描述系统的总体结构、功能分解及各个模块之间的相互调用关系和信息交互,用IPO图或其他方法描述各模块完成的功能。 以上建议采用HIPO图进行功能分解与模块描述,更高的要求建议采用IDEF0方法进行功能模型设计。
详细设计应用系统的各个构成模块完成的功能及其相互之间的关系,用IPO或结构图描述各模块的组成结构、算法、模块间的接口关系,以及需求、功能和模块三者之间的交叉参照关系。
每个模块的描述说明可参照以下格式:
模块编号:
模块名称:
输入:
处理:
算法描述:
输出:
其中处理和算法描述部分主要采用伪码或具体的程序语言完成。
对详细设计更高的要求建议用IDEF0图进行各功能模块的设计。
如果对软件需进行二次开发(包括功能扩展、功能改造、用户界面改造等),则相应的设计工作应该设立子课题完成。
5.3 系统界面详细设计
系统界面说明应用系统软件的各种接口。整个系统的其他接口(如系统硬件接口、通讯接口等)在相应的部分说明。
1.1.7 外部界面设计
根据系统界面划分进行系统外部界面设计,对系统的所有外部接口(包括功能和数据接口)进行设计。
1.1.8 内部界面设计
设计系统内部各功能模块间的调用关系和数据接口。
1.1.9 用户界面设计
规定人机界面的内容、界面风格、调用方式等,包括所谓的表单设计、报表设计和用户需要的打印输出等设计。此部分内容可能比较多。
6. 数据库系统设计
此数据库设计可单独成册,尤其对大型的数据库应用系统,即有一个单独的《数据库设计说明书》。
6.1 6.1设计要求
6.2 6.2 信息模型设计
确定系统信息的类型(实体或视图),确定系统信息实体的属性、关键字及实体之间的联系, 详细描述数据库和结构设计,数据元素及属性定义,数据关系模式,数据约束和限制。
6.3 数据库设计
1.1.10 设计依据
说明数据被访问的频度和流量,最大数据存储量,数据增长量,存储时间等数据库设计依据。
1.1.11 数据库种类及特点
说明系统内应用的数据库种类、各自的特点、数量及如何实现互联,数据如何传递。
1.1.12 数据库逻辑结构
说明数据库概念模式向逻辑模式转换所采用的方法论及工具,完成数据库概念模式向逻辑模式的转换。 详细列出所使用的数据结构中每个数据项、记录和文件的标识、定义、长度及它们之间的相互关系。此节内容为数据库设计的主要部分。
1.1.13 物理结构设计
列出所使用的数据结构中每个数据项的存储要求、访问方法、存取单位和存取物理关系等。建立系统程序员视图,包括:
数据在内存中的安排,包括对索引区、缓冲区的设计;
所使用的外存设备及外存空间的组织,包括索引区、数据块的组织与划分; 访问数据的方式方法。
1.1.14 数据库安全
说明数据的共享方式,如何保证数据的安全性及保密性。
1.1.15 数据字典
编写详细的数据字典。 对数据库设计中涉及到的各种项目,如数据项、记录、系、文卷模式、子模式等一般要建立起数据字典,以说明它们的标识符、同义名及有关信息。
7. 信息编码设计
7.1 代码结构设计
确认信息分类编码总体方案,进行分类代码结构设计。
7.2 代码编制
按代码结构编制信息代码