系统设计报告编写规范

系统设计报告编写规范

(版权所有,翻版必究)

文件修改控制


目录

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上杂志、专业著作、技术标准以及他们的网址。

                                                             

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    内部接口

说明各模块之间接口,包括:

1)        各模块的用途、使用(调用)方式;

2)        说明其每个子程序(方法,Method)、特性(Property)和反馈的事件(Event),相应的输入、输出项说明;

3)        指明各模块内含的各类外部接口,并列出这些外部接口说明材料名。

3.4    外部存贮结构设计

说明本系统存贮于磁盘等持久性存贮介质,而且不是由数据库管理系统进行管理的数据的组织结构,包括数据名称、用途、每个数据项的标识名、类型和含义,组织结构、访问方法和存储要求。


4.        故障处理说明

说明本系统所采用的基本错误处理方法和原则,例如:统一采用C++ try-catch错误方法,所有错误最终必须以界面形式向用户说明。用一览表方式说明各类可能的错误或故障出现时系统的处理方法和补救措施。

5.        数据库设计

5.1    数据字典设计

对数据库设计中涉及到的各种项目,如数据项、记录、表、数据库等建立数据字典,以说明它们的标识符、同义名及有关信息,并说明对此数据字典设计的基本考虑。凡采用数据库设计工具(如ER图设计工具)生成的数据字典,本处仅需列出对应的文件名、保管部门即可。

5.2    安全保密设计

说明在数据库的设计中,如何通过区分不同的访问者、不同的访问类型和不同的数据对象,进行分别对待而获得的数据库安全保密设计考虑。


系统设计报告编写指南之一

1.    Introduction介绍

l  描述这个文档的编写目的;

l  描述这个文档的适用范围;

l  描述这个文档的读者;

l  确定这个系统/产品的名称和/或版本号;

l  定义重要的术语、缩写词或缩略语;

l  总结(或给出一个概要)这个文档的内容。

2.    System Overview系统概述

对软件系统的一般性描述,包括系统的功能和其他与设计相关的内容。

3.    Design Considerations设计上的考虑

本节描述在完成一个完整的设计解决方案之前必须阐明或解决的问题。

3.1  Assumptions and Dependencies假设和依赖

l  相关的软件和硬件

l  操作系统

l  最终用户特征

l  在功能上可能发生的变化

3.2        General Constraints一般限制

l  描述对软件系统的设计有重要影响的全局限制或约束。

l  硬件或软件环境;

l  最终用户环境;

l  资源的可用性和挥发性;

l  标准的兼容;(option)

l  协同工作的要求;

l  接口/协议的要求;

l  数据储存和发布要求;

l  安全性的要求(或其它类似的规则);

l  内存和其它的容量限制;

l  性能要求;

l  网络通信;(option)

l  验证和确认的要求(测试);

l  其他质量目标的要求;

l  在需求分析说明书中所描述的其它要求。

3.3        Goals and Guidelines目标和指导方针

描述所有支配软件系统设计的目标、指导方针、原则或者优先权。

l  尽量保持它简单易用;

l  强调速度与内存使用的矛盾;

l  象对待一个已经存在的产品那样工作、观察或者体会。

3.4        Development Methods开发方法

简要地描述用于软件设计的方法。如果采用正式/已公布的方法,那么就要对这些方法进行详细描述,同时还要简单解释一下为什么采用这个方法或其中的某些部分。

4.    Architectural Strategies体系结构策略

描述所有影响整个系统的组织和结构的设计决定和/或策略,这些策略深入描述系统体系结构所使用的关键技术和机制。对于每个设计决定和/或策略都要描述其产生原因(可能要引用前面阐述的设计目标和原则),以及它们是如何得到均衡和折中的,涉及内容:

l  使用特定类型产品(编程语言、数据库、函数库等);

l  重用现有组件;

l  软件未来扩展和升级的计划;

l  用户接口模型(或系统的输入和输出模型);

l  硬件或软件接口模型;

l  错误检测和恢复;

l  内存管理策略;

l  外部数据库和/或数据存储管理和维护;

l  网络上分布式数据或控制;

l  控制的一般方法;

l  并发和同步;

l  通信机制;

l  其它资源的管理。

每一个被采用的重要战略必须在相应的子章节内加以讨论。

5.    System Architecture系统体系结构

在本节应该在一个较高的层次来说明如何将系统的功能划分给各个子系统或组件,不要涉及这些组件本身的细节(后面有一个小节专门来详细描述组件)。本节的主要目标是描述系统是如何进行分解、这样分解的原因以及各部分是如何协作工作以完成预定功能。

在较高的层次上描述系统所要承担的主要工作责任、系统所扮演的各种角色;描述如何将系统划分成各个组件/子系统,每个组件/子系统的作用是什么;描述高层组件之间是如何协调工作已完成预期的功能;进行系统分解时所采用的基本原则;可以使用图表、模型、流程图等形式来描述上述内容。

5.1        Subsystem Architecture子系统的体系结构

建立一个子章节来详细描述某一组件的作用,进一步描述该组件是如何分为子组件的以及各个子组件之间的关系。

6.    Policies and Tactics政策和实施策略

描述影响系统的接口细节和系统实现细节的各个方面:

l  选择特定产品来使用(如编译器、解释器、数据库、函数库等);

l  工程上的折中;

l  编码规范和惯例;

l  一个或多个子系统、模块或子程序的协议;

l  选择某一特定算法或编程用语来实现系统的一部分;

l  功能性说明;

l  保证需求可回溯性的计划;

l  软件测试计划;

l  软件维护计划;

l  最终用户、软件、硬件和通信的接口;

l  将源代码按照物理形态(文件和路径)进行分层组织;

l  如何构造和/或产生系统的交付物(如何编译、链接、加载等)。

以上各项内容必须有相应的子章节进行讨论。如果还有其他方案可供选择时,要说明你没有选择这些方案的原因。可以使用图表、模型、流程图等形式来描述上述内容。

7.    Detailed System Design详细设计

在系统体系结构中所描述的绝大多数组件需要在本章节进行更深一步的讨论,同样,其它低层的组件和子组件也需要描述。为每个组件建立一个子章节来详细描述组件,包括以下内容:

l  Classification 分类

       组件的种类,例如是一个子系统、模块、类、包、函数、文件等等。

l  Definition 定义

组件的确切用途和语义。可能需要参照需求说明。

l  Responsibilities 责任

该组件的主要责任和/或行为,要完成什么?扮演什么角色?给客户提供哪写服务?可能需要参照需求说明。

l  Constraints 约束

与该组件相关的任何假设、限制、或者约束,如时间、存储或组件状态,还可能包括与该组件进行交互的规则(前提条件,后置条件,不变量,其它在输入和输出值、局部或全局值上的限制,数据格式和数据存取,同步,例外等)。

l  Composition 合成

              描述组成该组件的子组件及其用途。

l  Uses/Interactions 用户/接口

描述该组件与其它组件之间的关系,如该组件被哪些组件所使用?该组件使用了哪些其它组件?这关系到所使用的交互作用的方法。面向对象的设计必须描述那些已知的和预期的子类、超类和元类。

l  Resources 资源

描述这个组件所管理的、影响的和使用的所有资源,如内存、处理器、打印机、数据库或软件库,要描述可能存在的资源竞争、死锁等情况以及相应的解决方案。

l  Processing 过程

描述该组件的执行过程,包括所使用的算法、状态的变化、相关的时间或空间的复杂性、并发、创建方法、初始化、清除和例外情况的处理。

l  Interface/Exports 界面/出口

描述该组件所提供的服务,如资源、数据、类型、常量、子程序和例外等集合,明确定义每一个服务元素,即分类、定义、责任、约束、组合、使用、资源、处理和接口的描述。

       7.1        Detailed Subsystem Design详细子系统设计

在本章节内对该组件进行更详细描述,可使用一些复杂的图表来显示组件结构、行为、或者信息/控制流。

8.    Glossary词汇表

列出在文档中所定义的术语和概念。

9.    Bibliography参考书目

一个参考书目和/或相关出版物的列表。


系统设计报告编写指南之二

1.    Objectives 目标

描述系统设计报告的内容和目的。

2.    Scope 范围

       适用于指导包含设计阶段的项目编写系统设计报告。

3.        References 参考

4.        Outstanding Issues 尚存主要问题

5.        Approvals 批准

R&D单位负责人

6.        Responsibilities   职责

6.1  开发部长对系统设计报告进行审核;

6.2  项目管理部门组织对系统设计报告进行评审;

6.3  设计人员提交符合本指南的系统设计报告。

6.4  设计人员对设计阶段的文档进行配置管理。

7.        Template 模板

7.1         Introduction 绪论

l  项目概述;

l  所设计的产品的概述。

7.2         System Description 系统描述

7.2.1      Support for Requirements 对需求的支持

l  设计满足需求的程度;

l  设计未能完全满足的需求及其原因。

7.2.2  System Purpose 系统目标

简述所开发的系统,如果本系统同其他系统有不论是手工还是计算机方面的关系,也要描述。可参考需求分析报告的内容。

       7.2.3      Inputs and Outputs 输入和输出

详细描述系统的所有输入和输出,包括界面设计、报表设计,参数格式。

7.2.4      Functions功能

描述系统所提供的所有功能。

7.2.5      Stored data 数据存贮

简述系统的数据文件。

7.2.6      Security and backup 安全和备份

系统在安全和备份方面的考虑与设计,包括回滚和恢复。

7.2.7      Exception handling 例外处理

系统产生的所有错误信息的列表,包括错误发生的条件以及所采取的措施。所有例外情况的列表,以及系统所采取的措施。

7.2.8      Impact assessment 影响评估

描述系统对现有环境的重要影响,如工序的变化,工作量的变化和硬件的变化。可以参照需求分析报告的内容。

7.3         User Procedures 用户规程

7.3.1      System navigation 系统导航

描述那些使用户能充分使用系统的规则;

7.3.2      Routine 例程

l  描述在正常工作环境下,系统预期的使用方法;

l  使用流程图来描述例程,流程图要带有辅助描述,描述那些使用每个功能的用户的类型。

7.3.3      Exception 例外处理

描述系统在异常情况下所使用的处理方式,如网络失效时的数据恢复。

7.3.4      Installation 安装

描述系统的安装过程。

7.4         System architecture 系统结构

7.4.1      Design principles 设计原则

描述系统设计所采用的策略,如用户界面的形式,所使用的标准产品等。

7.4.2      Design rationale 设计原理

l  描述进行设计的依据,如数据库结构等;

l  模块调用原理:是内部还是外部,是修改还是重建或重用。

7.4.3      Software components and interfaces 软件组件和接口

l  描述系统中的主要组件,包括它们之间传递的包和数据流;

l  数据流图和功能分解图;

l  描述所引用的外部模块。

7.4.4      Capacity requirements      系统资源需求

估计系统容量等需求的临界值,如内存、磁盘空间和、传输速率等。

7.4.5      System structure 系统结构

描述系统的各模块是如何连接在一起工作的。

7.5         Data 数据

7.5.1      Definitions 定义

对系统中包含的所有数据项的描述。

7.5.2      Database design 数据库设计

l  对逻辑数据库/文件设计的描述;

l  对物理数据库/文件设计的描述;

l  数据校验规则。

7.5.3      Calculations 算法

l  定义系统所采用的计算或算法;

l  确定实现这些算法的流程。

7.5.4      Data management procedures 数据管理程序

描述对系统数据的管理流程,如存档等。

7.6         Module specifications 模块说明

l  详细描述每个模块的逻辑、功能或每个模块的所有状态、与其他模块的关联、状态的变迁、存在的条件及采取的动作;

l  使用简洁、标准的语言;

l  说明每个模块的输入和输出。

7.7         Physical environment 物理环境

描述建立和运行系统所需要的物理环境。

7.8         Appendices 附录

l  数据流图

l  数据模型


相关推荐