当前位置:首页>科技>怎么写好软件概要设计软件概要设计详细设计
发布时间:2026-07-21阅读(1)
概要设计说明书

目录
1 简介1.1 目的这部分要描述文档的目的。应该指明读者。
1.2 范围1.2.1 软件名称对软件命名
1.2.2 软件功能解释软件产品将完成或不完成的功能(可以直接描述也可以参考相关文档)
1.2.3 软件应用描述软件的应用领域(可直接描述也可以参考其他软件文档)
2 第0层设计描述2.1 软件系统上下文定义本节描述待开发软件系统与外部实体的关系,可以使用系统结构图来描述系统结构和交互关系。
外部实体属性描述只限于软件设计和描述相关的属性。考虑到描述的完整性,可参考相关软件实体文档,如OS程序员手册。
2.2 设计思路(可选)2.2.1 设计可选方案对本软件系统的几种设计方案进行分析、比较,并确定所采用的方案。
2.2.2 设计约束1. 遵循标准
描述本软件所遵循的标准、规范
2. 硬件限制
描述本软件系统实现的硬件限制
3. 技术限制
描述本软件的技术限制
2.2.3 其他描述其他有关的设计考虑
3 第一层设计描述3.1 系统结构如果本文档是针对增强开发/小特性的设计,继承了原有的系统结构,那么应拷贝原有的系统结构说明,如系统结构图和相应的文字说明,然后在一层设计中明显标识出新增功能在原有系统结构中的位置(属于原来哪一个模块的新增功能,与原有各模块之间有什么交互)。在后续的业务流程说明、模块分解描述、依赖性描述和接口描述中,如果与本次增强开发/小特性无关的,可以不再重复描述,如果有关联的,应该拷贝原有的设计说明,在此基础上再说明更改的内容。
3.1.1 系统结构描述这里要描述软件系统的总体结构,可以使用结构图、层次分解图或包图来描述,并应说明系统结构划分的原则(例如,基于标准、协议所规定的体系结构,来自于分析模型的结果,或者基于原有体系结构的结果)。对于使用分析模型的体系结构,应说明分析类的职责及相互关系。
3.1.2 业务流程说明描述系统架构模块/分析类之间的动态交互,来说明用例模型中的典型用例场景,以体现系统功能是如何实现的。建议采用Sequence图、Collaboration图等来描述。
3.2 分解描述本节描述系统中的子系统和模块。
3.2.1 模块/子系统1描述不要直接写“模块/子系统1”,用简短的词语命名模块/子系统。
按照以下格式描述:
1. 简介
2. 功能列表
3.2.2 数据设计本节描述系统中的数据结构。
外部数据实体不必描述。
1. 数据实体1描述
按照以下格式描述:
标识:
类型:
目的:
3.3 依赖性描述本节描述系统中的子系统,数据结构,模块,进程等设计实体间的关系。
依赖关系描述可以使用文字,结构图,(交互)事务图。
3.4 接口描述本节描述软件系统中设计实体(如子系统,模块,进程)的接口.
I接口描述可以使用接口文件,参数表。
对于外部实体只有同被描述软件相关的接口才需描述。
接口可以是函数调用、事件、消息、信号等。
3.4.1 模块/子系统1的接口描述对每个接口按照以下格式描述:
名称:(接口名称)
说明:(对接口的简短说明)
定义:(接口原型定义,说明接口类型及相关参数)
4 第二层设计描述L1中定义的每个模块的进一步设计在下面的章节进行描述。对层次比较多的模块,可以增加设计层次,最终要说明对应于最小分解模块的具体设计类(包括其public属性和public方法)。
对每个模块重复使用下述的格式。
4.1 模块1名称不要直接写 “模块1名称”,用简短的词语命名模块。
如果本文档是针对增强开发/小特性的设计,继承了原有的二层模块结构,那么应拷贝原有的模块结构说明,如包图/类图和相应的文字说明,然后在二层设计中明显标识出新增功能在原有模块结构中的位置(属于原来哪一个子模块/设计类的新增功能,与原有各子模块/设计类之间有什么交互)。在后续的功能实现说明和设计类定义中,如果与本次增强开发/小特性无关的,可以不描述,如果有关联的,应该拷贝原有的设计说明,在此基础上再说明更改的内容。 对更改的设计类应该给出类的完整定义,再标识出更改的属性和方法。
4.1.1 模块设计描述描述模块分解,例如每个子模块的功能定义。定义出具体的设计类,用类图来描述其相互关系,并说明所采用的设计模式。
对每个类重复使用下述的格式进行描述。
1.类名
按下面的格式对每个设计类进行说明。
1)CI标识
说明该类的配置项标识(用于需求跟踪,配置项的命名方式在CMP中已定义。一般为:产品名_模块名_类名,如果在类的命名中未包括前面两部分)。
2)简介
简单介绍该类的功能。
3)类定义(Optional)
如果该类在前面没有定义,使用类图、伪代码描述该类的类定义,需说明该类的所有public属性和public方法。
4.1.2 功能实现说明使用Sequence图、Collaboration图等来说明这些设计类之间如何交互,实现本模块的典型功能。
5 数据库设计(可选)本节列出所有的数据存储类的实体(表、存储过程、触发器等),详细描述实体的内容和并列出全部属性。对每个属性,详细描述其数据库、数据大小、特定约束。实体的所有约束及实体间的关系也要注明。
5.1 实体定义5.1.1 分解描述阐述设计思路及约束规则。
详细定义每个关键数据表、视图中的各个字段属性、存储要求、完整性约束、功能、注意事项,静态数据表可考虑定义初始配置记录。
5.1.2 内部依赖性描述使用E-R图描述实体间的关联依赖关系,分析对存取空间、性能、完整性的要求。
5.2 行为定义5.2.1 分解描述根据功能或其他方式对存储过程/触发器进行归类,便于进一步细化和分解,并说明每类存储过程/触发器主要功能。
详细定义每个存储过程(触发器)的功能、输入输出参数、返回值、返回的记录集、依赖的数据表和存储过程,以及一些特殊要求(比如需要启用事务等)。
5.2.2 外部依赖性描述描述与其它模块之间的依赖关系。
5.2.3 内部依赖性描述描述存储过程间、存储过程和数据表/视图间依赖关系。
6 组件视图6.1 系统运行组件使用Component图、deployment图来描述系统的运行组件(EXE文件、DLL等),及其网络部署情况。
6.2 文件组织形式描述源代码文件的目录结构(文件夹中各个目录下应存放什么文件)。
7 进程视图本节描述将系统分解为轻量级进程(单个控制线程)和重量级进程(成组的轻量级进程)的过程。本节按照各个通信或交互的进程组来加以组织。说明进程之间的主要通信模式,例如消息传递、中断和会合。
参考资料清单:
请罗列本文档所参考的有关参考文献和相关文档,格式如下:
作者+书名(或杂志、文献、文档)+出版社(或期号、卷号、公司文档编号)+出版日期 起止页码。
例如:
[1] D. B. Leeson, “A Simple Model of Feedback Oscillator Noise Spectrum,” Proc. IEEE, pp329-330, February 1966 (英文文章格式)
[2] D. Wolaver, Phase-Locked Loop Circuit Design, Prentice Hall, New Jersey,1991 (英文书籍格式)
[3] 王阳元,奚雪梅等,“薄膜SOI/CMOS SPICE电路模拟”,电子学报,vol.22,No.5,1994 (中文文章格式)
[4] 郑筠,《MOS存储系统及技术》,科学出版社,1990 (中文书籍格式)
[5] XXX,SDXXX用户手册 V1.1,基础部文档室,2001/4/26
详细设计模板

目录
1 概述1.1 目标应包含以下几个方面的内容:
1、该文档所描述的模块;
2、该文档所针对的读者;
1.2 范围概述本文档所包含的内容
2 模块1详细设计2.1 类12.1.1 简介详细描述CLASS1的职责和功能;必要时,可描述本类与相关类之间的静态/动态关系。
2.1.2 类图提供类的结构图
2.1.3 状态设计可用状态图来描述类的状态信息
2.1.4 属性可先定义相关的数据结构。.
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图