这部分要描述文档的目的。应该指明读者。
对软件命名
解释软件产品将完成或不完成的功能(可以直接描述也可以参考相关文档)
描述软件的应用领域(可直接描述也可以参考其他软件文档)
本节描述待开发软件系统与外部实体的关系,可以使用系统结构图来描述系统结构和交互关系。
外部实体属性描述只限于软件设计和描述相关的属性。考虑到描述的完整性,可参考相关软件实体文档,如OS程序员手册。
对本软件系统的几种设计方案进行分析、比较,并确定所采用的方案。
1. 遵循标准
描述本软件所遵循的标准、规范
2. 硬件限制
描述本软件系统实现的硬件限制
3. 技术限制
描述本软件的技术限制
描述其他有关的设计考虑
如果本文档是针对增强开发/小特性的设计,继承了原有的系统结构,那么应拷贝原有的系统结构说明,如系统结构图和相应的文字说明,然后在一层设计中明显标识出新增功能在原有系统结构中的位置(属于原来哪一个模块的新增功能,与原有各模块之间有什么交互)。在后续的业务流程说明、模块分解描述、依赖性描述和接口描述中,如果与本次增强开发/小特性无关的,可以不再重复描述,如果有关联的,应该拷贝原有的设计说明,在此基础上再说明更改的内容。
这里要描述软件系统的总体结构,可以使用结构图、层次分解图或包图来描述,并应说明系统结构划分的原则(例如,基于标准、协议所规定的体系结构,来自于分析模型的结果,或者基于原有体系结构的结果)。对于使用分析模型的体系结构,应说明分析类的职责及相互关系。
描述系统架构模块/分析类之间的动态交互,来说明用例模型中的典型用例场景,以体现系统功能是如何实现的。建议采用Sequence图、Collaboration图等来描述。
本节描述系统中的子系统和模块。
不要直接写“模块/子系统1”,用简短的词语命名模块/子系统。
按照以下格式描述:
1. 简介
2. 功能列表
本节描述系统中的数据结构。
外部数据实体不必描述。
1. 数据实体1描述
按照以下格式描述:
标识:
类型:
目的:
本节描述系统中的子系统,数据结构,模块,进程等设计实体间的关系。
依赖关系描述可以使用文字,结构图,(交互)事务图。
本节描述软件系统中设计实体(如子系统,模块,进程)的接口.
I接口描述可以使用接口文件,参数表。
对于外部实体只有同被描述软件相关的接口才需描述。
接口可以是函数调用、事件、消息、信号等。
对每个接口按照以下格式描述:
名称:(接口名称)
说明:(对接口的简短说明)
定义:(接口原型定义,说明接口类型及相关参数)
L1中定义的每个模块的进一步设计在下面的章节进行描述。对层次比较多的模块,可以增加设计层次,最终要说明对应于最小分解模块的具体设计类(包括其public属性和public方法)。
对每个模块重复使用下述的格式。
不要直接写 “模块1名称”,用简短的词语命名模块。
如果本文档是针对增强开发/小特性的设计,继承了原有的二层模块结构,那么应拷贝原有的模块结构说明,如包图/类图和相应的文字说明,然后在二层设计中明显标识出新增功能在原有模块结构中的位置(属于原来哪一个子模块/设计类的新增功能,与原有各子模块/设计类之间有什么交互)。在后续的功能实现说明和设计类定义中,如果与本次增强开发/小特性无关的,可以不描述,如果有关联的,应该拷贝原有的设计说明,在此基础上再说明更改的内容。 对更改的设计类应该给出类的完整定义,再标识出更改的属性和方法。
描述模块分解,例如每个子模块的功能定义。定义出具体的设计类,用类图来描述其相互关系,并说明所采用的设计模式。
对每个类重复使用下述的格式进行描述。
1.类名
按下面的格式对每个设计类进行说明。
1)CI标识
说明该类的配置项标识(用于需求跟踪,配置项的命名方式在CMP中已定义。一般为:产品名_模块名_类名,如果在类的命名中未包括前面两部分)。
2)简介
简单介绍该类的功能。
3)类定义(Optional)
如果该类在前面没有定义,使用类图、伪代码描述该类的类定义,需说明该类的所有public属性和public方法。
使用Sequence图、Collaboration图等来说明这些设计类之间如何交互,实现本模块的典型功能。
本节列出所有的数据存储类的实体(表、存储过程、触发器等),详细描述实体的内容和并列出全部属性。对每个属性,详细描述其数据库、数据大小、特定约束。实体的所有约束及实体间的关系也要注明。
阐述设计思路及约束规则。
详细定义每个关键数据表、视图中的各个字段属性、存储要求、完整性约束、功能、注意事项,静态数据表可考虑定义初始配置记录。
使用E-R图描述实体间的关联依赖关系,分析对存取空间、性能、完整性的要求。
根据功能或其他方式对存储过程/触发器进行归类,便于进一步细化和分解,并说明每类存储过程/触发器主要功能。
详细定义每个存储过程(触发器)的功能、输入输出参数、返回值、返回的记录集、依赖的数据表和存储过程,以及一些特殊要求(比如需要启用事务等)。
描述与其它模块之间的依赖关系。
描述存储过程间、存储过程和数据表/视图间依赖关系。
使用Component图、deployment图来描述系统的运行组件(EXE文件、DLL等),及其网络部署情况。
描述源代码文件的目录结构(文件夹中各个目录下应存放什么文件)。
本节描述将系统分解为轻量级进程(单个控制线程)和重量级进程(成组的轻量级进程)的过程。本节按照各个通信或交互的进程组来加以组织。说明进程之间的主要通信模式,例如消息传递、中断和会合。
联系客服