系统设计报告编写规范.docx
《系统设计报告编写规范.docx》由会员分享,可在线阅读,更多相关《系统设计报告编写规范.docx(18页珍藏版)》请在冰豆网上搜索。
系统设计报告编写规范
系统设计报告编写规范
文件编号:
NW506101
生效日期:
2000.3.20
受控编号:
密级:
秘密
版次:
Ver2.1
修改状态:
总页数
19
正文
4
附录
15
编制:
胡景德
审核:
袁淮、孟莉
批准:
孟莉
沈阳东大阿尔派软件股份有限公司
(版权所有,翻版必究)
文件修改控制
修改记录编号
修改
状态
修改页码及条款
修改人
审核人
批准人
修改日期
目录
1.目的
2.适用范围
3.术语及缩略语
4.编写规范
4.1排版规范
4.2模板使用
5.引用文件
6.附录
1.目的
系统设计报告主要为使软件产品和软件项目满足规定的软件规格要求而确定软件系统的体系结构、组成成分、数据组织、模块、内外部接口。
主要任务有:
1)建立软件产品和软件项目目标系统的总体结构。
对于大规模软件系统,应分为若干子系统,在本报告中只说明总体设计,然后为每个子系统编写《系统设计报告》;
2)总体设计;
3)模块设计;
4)涉及使用数据库的设计需编写数据库设计。
2.适用范围
适用于软件开发设计阶段的《系统设计报告》的编写。
3.术语及缩略语
本程序采用NQ402100《质量手册》中的术语和缩略语及其定义。
4.编写规范
4.1排版规范
1)整个规范由2节构成,模板单独一节。
2)正文样式采用“规范正文”。
3)标题编号采用每节独立编号。
4.2模板使用
系统设计报告的编写可依据具体情况选用摸板的格式或编写指南的格式。
1)拷贝规范。
2)删除第一节(系统设计报告封面前的所有页)。
3)在修改完内容后,更新目录域和相关的页数域。
5.引用文件
(无)
6.附录
以下部分为系统设计报告的模板与编写指南。
密级:
机密
文档编号:
第版
分册名称:
第册/共册
项目名称(项目编号)
系统设计报告
(部门名称)
沈阳东大阿尔派软件股份有限公司
总页数
正文
附录
生效日期:
年月日
编制:
审核:
批准:
目录
1.引言
1.1目的
1.2背景
1.3术语
1.4参考资料
2.总体设计
2.1系统运行环境
2.2软件功能描述
2.3软件结构
2.4技术路线
2.5外部接口
2.5.1用户接口
2.5.2软件接口
2.5.3其它接口
3.模块设计
3.1功能
3.2性能
3.3内部接口
3.4外部存贮结构设计
4.故障处理说明
5.数据库设计
5.1数据字典设计
5.2安全保密设计
1.引言
1.1目的
说明编写本《系统设计说明书》的目的。
1.2背景:
说明理解本报告所需的背景,如与公司其它软件之间的联系等。
1.3术语
列出本系统设计说明书中专门术语的定义和英文缩写词的原词组。
1.4参考资料:
列出编写参考的文件、资料、技术标准以及他们的作者、标题、编号、发布日期和出版单位。
编号
资料名称
简介
作者
日期
出版单位
列出编写本报告时需查阅的Intenet上杂志、专业著作、技术标准以及他们的网址。
网点
简介
7.总体设计
7.1系统运行环境
给出本软件系统运行所需的基本软/硬件环境、使用本软件系统典型用户的设备分布图及设备上相应软件配置。
软件环境包括:
操作系统、数据库、以及其它支撑软件;硬件环境包括:
主机类型、网络类型、存储器容量、其它特殊设备。
7.2软件功能描述
描述被开发软件的功能,如有同等作用的文件(如已编写的《软件功能规格说明书》)则可直接在此引述该文件名及归档的部门即可。
7.3软件结构
以图表形式给出软件子系统结构和模块组成结构。
凡单独编写《系统设计报告》的子系统,其内部自用的模块不必列出。
7.4技术路线
给出本软件系统在实现过程中所采用的技术路线、方法。
对比较新的技术给予详细的阐述及必要的说明,在可能的情况下给出相应的技术参考资料。
7.5外部接口
7.5.1用户接口
描述该软件与用户的接口,包括用户输入输出界面样式、操作方式和界面间的转移关系。
如具有等同作用的文件(如使用开发工具编写的界面原型程序等),本处仅需列出该文件名、保管部门即可。
7.5.2软件接口
描述该软件与其它系统的软件接口,主要说明其它系统提供的编程接口和本系统向其它系统提供的编程接口,如具有等同作用的文件(如包含接口说明及注释的源文件程序头文件、接口帮助的超文本文件等),本处仅需列出该文件名、保管部门即可。
7.5.3其它接口
描述该软件与其它系统的其它类型接口,主要说明其它系统提供的和本系统向其它系统提供的硬件接口、通信协议及规程、数据交换格式等,如具有等同作用的文件,本处仅需列出该文件名、保管部门即可。
8.模块设计
8.1功能
简述各模块的功能。
8.2性能
说明对各模块的性能要求,包括精度、时间特性和处理速度。
8.3内部接口
说明各模块之间接口,包括:
1)各模块的用途、使用(调用)方式;
2)说明其每个子程序(方法,Method)、特性(Property)和反馈的事件(Event),相应的输入、输出项说明;
3)指明各模块内含的各类外部接口,并列出这些外部接口说明材料名。
8.4外部存贮结构设计
说明本系统存贮于磁盘等持久性存贮介质,而且不是由数据库管理系统进行管理的数据的组织结构,包括数据名称、用途、每个数据项的标识名、类型和含义,组织结构、访问方法和存储要求。
9.故障处理说明
说明本系统所采用的基本错误处理方法和原则,例如:
统一采用C++try-catch错误方法,所有错误最终必须以界面形式向用户说明。
用一览表方式说明各类可能的错误或故障出现时系统的处理方法和补救措施。
10.数据库设计
10.1数据字典设计
对数据库设计中涉及到的各种项目,如数据项、记录、表、数据库等建立数据字典,以说明它们的标识符、同义名及有关信息,并说明对此数据字典设计的基本考虑。
凡采用数据库设计工具(如ER图设计工具)生成的数据字典,本处仅需列出对应的文件名、保管部门即可。
10.2安全保密设计
说明在数据库的设计中,如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密设计考虑。
系统设计报告编写指南之一
1.Introduction介绍
●描述这个文档的编写目的;
●描述这个文档的适用范围;
●描述这个文档的读者;
●确定这个系统/产品的名称和/或版本号;
●定义重要的术语、缩写词或缩略语;
●总结(或给出一个概要)这个文档的内容。
2.SystemOverview系统概述
对软件系统的一般性描述,包括系统的功能和其他与设计相关的内容。
3.DesignConsiderations设计上的考虑
本节描述在完成一个完整的设计解决方案之前必须阐明或解决的问题。
3.1AssumptionsandDependencies假设和依赖
●相关的软件和硬件
●操作系统
●最终用户特征
●在功能上可能发生的变化
3.2GeneralConstraints一般限制
●描述对软件系统的设计有重要影响的全局限制或约束。
●硬件或软件环境;
●最终用户环境;
●资源的可用性和挥发性;
●标准的兼容;(option)
●协同工作的要求;
●接口/协议的要求;
●数据储存和发布要求;
●安全性的要求(或其它类似的规则);
●内存和其它的容量限制;
●性能要求;
●网络通信;(option)
●验证和确认的要求(测试);
●其他质量目标的要求;
●在需求分析说明书中所描述的其它要求。
3.3GoalsandGuidelines目标和指导方针
描述所有支配软件系统设计的目标、指导方针、原则或者优先权。
●尽量保持它简单易用;
●强调速度与内存使用的矛盾;
●象对待一个已经存在的产品那样工作、观察或者体会。
3.4DevelopmentMethods开发方法
简要地描述用于软件设计的方法。
如果采用正式/已公布的方法,那么就要对这些方法进行详细描述,同时还要简单解释一下为什么采用这个方法或其中的某些部分。
4.ArchitecturalStrategies体系结构策略
描述所有影响整个系统的组织和结构的设计决定和/或策略,这些策略深入描述系统体系结构所使用的关键技术和机制。
对于每个设计决定和/或策略都要描述其产生原因(可能要引用前面阐述的设计目标和原则),以及它们是如何得到均衡和折中的,涉及内容:
●使用特定类型产品(编程语言、数据库、函数库等);
●重用现有组件;
●软件未来扩展和升级的计划;
●用户接口模型(或系统的输入和输出模型);
●硬件或软件接口模型;
●错误检测和恢复;
●内存管理策略;
●外部数据库和/或数据存储管理和维护;
●网络上分布式数据或控制;
●控制的一般方法;
●并发和同步;
●通信机制;
●其它资源的管理。
每一个被采用的重要战略必须在相应的子章节内加以讨论。
5.SystemArchitecture系统体系结构
在本节应该在一个较高的层次来说明如何将系统的功能划分给各个子系统或组件,不要涉及这些组件本身的细节(后面有一个小节专门来详细描述组件)。
本节的主要目标是描述系统是如何进行分解、这样分解的原因以及各部分是如何协作工作以完成预定功能。
在较高的层次上描述系统所要承担的主要工作责任、系统所扮演的各种角色;描述如何将系统划分成各个组件/子系统,每个组件/子系统的作用是什么;描述高层组件之间是如何协调工作已完成预期的功能;进行系统分解时所采用的基本原则;可以使用图表、模型、流程图等形式来描述上述内容。
5.1SubsystemArchitecture子系统的体系结构
建立一个子章节来详细描述某一组件的作用,进一步描述该组件是如何分为子组件的以及各个子组件之间的关系。
6.PoliciesandTactics政策和实施策略
描述影响系统的接口细节和系统实现细节的各个方面:
●选择特定产品来使用(如编译器、解释器、数据库、函数库等);
●工程上的折中;
●编码规范和惯例;
●一个或多个子系统、模块或子程序的协议;
●选择某一特定算法或编程用语来实现系统的一部分;
●功能性说明;
●保证需求可回溯性的计划;
●软件测试计划;
●软件维护计划;
●最终用户、软件、硬件和通信的接口;
●将源代码按照物理形态(文件和路径)进行分层组织;
●如何构造和/或产生系统的交付物(如何编译、链接、加载等)。
以上各项内容必须有相应的子章节进行讨论。
如果还有其他方案可供选择时,要说明你没有选择这些方案的原因。
可以使用图表、模型、流程图等形式来描述上述内容。
7.DetailedSystemDesign详细设计
在系统体系结构中所描述的绝大多数组件需要在本章节进行更深一步的讨论,同样,其它低层的组件和子组件也需要描述。
为每个组件建立一个子章节来详细描述组件,包括以下内容:
●Classification分类
组件的种类,例如是一个子系统、模块、类、包、函数、文件等等。
●Definition定义
组件的确切用途和语义。
可能需要参照需求说明。
●Responsibilities责任
该组件的主要责任和/或行为,要完成什么?
扮演什么角色?
给客户提供哪写服务?
可能需要参照需求说明。
●Constraints约束
与该组件相关的任何假设、限制、或者约束,如时间、存储或组件状态,还可能包括与该组件进行交互的规则(前提条件,后置条件,不变量,其它在输入和输出值、局部或全局值上的限制,数据格式和数据存取,同步,例外等)。
●Composition合成
描述组成该组件的子组件及其用途。
●Uses/Interactions用户/接口
描述该组件与其它组件之间的关系,如该组件被哪些组件所使用?
该组件使用了哪些其它组件?
这关系到所使用的交互作用的方法。
面向对象的设计必须描述那些已知的和预期的子类、超类和元类。
●Resources资源
描述这个组件所管理的、影响的和使用的所有资源,如内存、处理器、打印机、数据库或软件库,要描述可能存在的资源竞争、死锁等情况以及相应的解决方案。
●Processing过程
描述该组件的执行过程,包括所使用的算法、状态的变化、相关的时间或空间的复杂性、并发、创建方法、初始化、清除和例外情况的处理。
●Interface/Exports界面/出口
描述该组件所提供的服务,如资源、数据、类型、常量、子程序和例外等集合,明确定义每一个服务元素,即分类、定义、责任、约束、组合、使用、资源、处理和接口的描述。
7.1DetailedSubsystemDesign详细子系统设计
在本章节内对该组件进行更详细描述,可使用一些复杂的图表来显示组件结构、行为、或者信息/控制流。
8.Glossary词汇表
列出在文档中所定义的术语和概念。
9.Bibliography参考书目
一个参考书目和/或相关出版物的列表。
系统设计报告编写指南之二
.Objectives目标
描述系统设计报告的内容和目的。
.Scope范围
适用于指导包含设计阶段的项目编写系统设计报告。
3.References参考
4.OutstandingIssues尚存主要问题
5.Approvals批准
R&D单位负责人
6.Responsibilities职责
6.1开发部长对系统设计报告进行审核;
6.2项目管理部门组织对系统设计报告进行评审;
6.3设计人员提交符合本指南的系统设计报告。
6.4设计人员对设计阶段的文档进行配置管理。
7.Template模板
7.1Introduction绪论
●项目概述;
●所设计的产品的概述。
7.2SystemDescription系统描述
7.2.1SupportforRequirements对需求的支持
●设计满足需求的程度;
●设计未能完全满足的需求及其原因。
7.2.2SystemPurpose系统目标
简述所开发的系统,如果本系统同其他系统有不论是手工还是计算机方面的关系,也要描述。
可参考需求分析报告的内容。
7.2.3InputsandOutputs输入和输出
详细描述系统的所有输入和输出,包括界面设计、报表设计,参数格式。
7.2.4Functions功能
描述系统所提供的所有功能。
7.2.5Storeddata数据存贮
简述系统的数据文件。
7.2.6Securityandbackup安全和备份
系统在安全和备份方面的考虑与设计,包括回滚和恢复。
7.2.7Exceptionhandling例外处理
系统产生的所有错误信息的列表,包括错误发生的条件以及所采取的措施。
所有例外情况的列表,以及系统所采取的措施。
7.2.8Impactassessment影响评估
描述系统对现有环境的重要影响,如工序的变化,工作量的变化和硬件的变化。
可以参照需求分析报告的内容。
7.3UserProcedures用户规程
7.3.1Systemnavigation系统导航
描述那些使用户能充分使用系统的规则;
7.3.2Routine例程
●描述在正常工作环境下,系统预期的使用方法;
●使用流程图来描述例程,流程图要带有辅助描述,描述那些使用每个功能的用户的类型。
7.3.3Exception例外处理
描述系统在异常情况下所使用的处理方式,如网络失效时的数据恢复。
7.3.4Installation安装
描述系统的安装过程。
7.4Systemarchitecture系统结构
7.4.1Designprinciples设计原则
描述系统设计所采用的策略,如用户界面的形式,所使用的标准产品等。
7.4.2Designrationale设计原理
●描述进行设计的依据,如数据库结构等;
●模块调用原理:
是内部还是外部,是修改还是重建或重用。
7.4.3Softwarecomponentsandinterfaces软件组件和接口
●描述系统中的主要组件,包括它们之间传递的包和数据流;
●数据流图和功能分解图;
●描述所引用的外部模块。
7.4.4Capacityrequirements系统资源需求
估计系统容量等需求的临界值,如内存、磁盘空间和、传输速率等。
7.4.5Systemstructure系统结构
描述系统的各模块是如何连接在一起工作的。
7.5Data数据
7.5.1Definitions定义
对系统中包含的所有数据项的描述。
7.5.2Databasedesign数据库设计
●对逻辑数据库/文件设计的描述;
●对物理数据库/文件设计的描述;
●数据校验规则。
7.5.3Calculations算法
●定义系统所采用的计算或算法;
●确定实现这些算法的流程。
7.5.4Datamanagementprocedures数据管理程序
描述对系统数据的管理流程,如存档等。
7.6Modulespecifications模块说明
●详细描述每个模块的逻辑、功能或每个模块的所有状态、与其他模块的关联、状态的变迁、存在的条件及采取的动作;
●使用简洁、标准的语言;
●说明每个模块的输入和输出。
7.7Physicalenvironment物理环境
描述建立和运行系统所需要的物理环境。
7.8Appendices附录
●数据流图
●数据模型