需求规格说明书

需求规格相当于软件开发的图纸,一般说,软件需求规格说明书的格式可以根据项目的具体情况采用不同的格式,没有统一的标准。下面是一个可以参照的软件需求规格说明书的模板。

                                                                    

    1. 导言
  1. 目的

[说明编写这份项目需求规格的目的,指出预期的读者]

  1. 背景

说明:

    1. 待开发的产品名称;
    2. 本项目的任务提出者、开发者、用户及实现该产品的单位;
    3. 该系统同其他系统的相互来往关系。
  1. 缩写说明

[缩写]

[缩写说明]

列出本文件中用到的外文首字母组词的原词组。

  1. 术语定义

[术语]

[术语定义]

列出本文件中用到的专门术语的定义。

  1. 参考资料

[编号]《参考资料》[版本号]

列出相关的参考资料。

  1. 版本更新信息

具体版本更新记录如表所列。

表  版本更新记录

修改编号

修改日期

修改后版本

修改位置

修改内容概述

  1. 任务概述

2.1 系统定义

本节描述内容包括:

  1. 项目来源及背景;
  2. 项目要达到的目标,如市场目标、技术目标等;
  3. 系统整体结构,如系统框架、系统提供的主要功能,涉及的接口等;
  4. 各组成部分结构,如果所定义的产品是一个更大的系统的一个组成部分,则应说明本产品与该系统中其他各组成部分之间的关系,为此可使用一张方框图来说明该系统的组成和本产品同其他各部分的联系和接口。

2.2 应用环境

本节应根据用户的要求对系统的运行环境进行定义,描述内容包括:

  1. 设备环境;
  2. 系统运行硬件环境;
  3. 系统运行软件环境;
  4. 系统运行网络环境;
  5. 用户操作模式;
  6. 当前应用环境。

2.3 假定和约束

列出进行本产品开发工作的假定和约束,例如经费限制、开发期限等。列出本产品的最终用户的特点,充分说明操作人员、维护人员的教育水平和技术专长以及本产品的预期使用频度等重要约束。

    1. 需求规定
  1. 对功能的规定

本节依据合同中定义的系统组成部分分别描述其功能,描述应包括:

    1. 功能编号;
    2. 所属产品编号;
    3. 优先级;
    4. 功能定义;
    5. 功能描述。
  1. 对性能的规定

本节描述用户对系统的性能需求,可能的系统性能需求有:

    1. 系统响应时间需求;
    2. 系统开放性需求;
    3. 系统可靠性需求;
    4. 系统可移植性和可扩展性需求;
    5. 系统安全性需求;
    6. 现有资源利用性需求。
  1. 精度

说明对该产品的输入、输出数据精度的要求,可能包括传输过程中的精度。

  1. 时间特性要求

说明对于该产品的时间特性要求,如对:

  1. 响应时间;
  2. 更新处理时间;
  3. 数据的转换和传送时间;
  4. 计算时间等的要求。
    1. 灵活性

说明对该产品的灵活性的要求,即当需求发生某些变化时,该产品对这些变化的适应能力,如:

  1. 操作方式上的变化;
  2. 运行环境的变化;
  3. 同其他系统的接口的变化;
  4. 精度和有效时限的变化;
  5. 计划的变化或改进。

对于为了提供这些灵活性而进行的专门设计的部分应该加以标明。

  1. 输入输出的要求

解释各输入输出的数据类型,并逐项说明其媒体、格式、数值范围、精度等。对软件的数据输出及必须标明的控制输出量进行解释并举例,包括对硬拷贝报告(正常结果输出、状态输出及异常输出)以及图形或显示报告的描述。

  1. 数据管理能力要求

说明需要管理的文卷和记录的个数、表和文的大小规模,要按可预见的增长对数据及分量的存储要求做出估算。

  1. 故障处理要求

列出可能的软件、硬件故障以及对各项性能而言所产生的后果和对故障处理的要求。

  1. 其他要求

如用户单位对安全保密的要求,对使用方便的要求,对可维护性、可补充性、易读性、可靠性、运行环境可转换性的特殊要求等。

  1. 运行环境规定

4.1 设备

列出该产品所需要的硬件环境。说明其中的新型设备及其专门功能,包括:

  1. 处理器型号及内存容量;
  2. 外存容量、联机或脱机、媒体及其存储格式。设备的型号及数量;
  3. 输入及输出设备的型号和数量,联机或脱机;
  4. 数据通信设备的型号和数量;
  5. 功能键及其他专用硬件。

4.2 支持软件

列出支持软件。包括要用到的操作系统、编译程序、测试软件等。

4.3 双方签字

需求方 (需方):

开发方 (供方):

日期:

概要设计说明书

概要设计说明书格式规范是指在概要设计阶段,制定概要设计报告所依据的标准,若在承接产品时,用户提供了概要设计说明书,则按此标准检查概要设计报告是否在内容上满足要求,若未提供概要设计说明书则需按此标准建立概要设计说明书。这里提供一个标准以供参考。

    1. 导言
  1. 目的

说明文档的目的。

  1. 范围

说明文档覆盖的范围。

  1. 缩写说明

定义文档中所涉及的缩略语 (若无则填写无)

  1. 术语定义

定义文档内使用的特定术语 (若无则填写无)

  1. 引用标准

列出文档制定所依据、引用的标准 (若无则填写无)

  1. 参考资料

列出文档制定所参考的资料 (若无则填写无)

  1. 版本更新信息

记录文档版本修改的过程,具体版本更新记录如表1所列

表  版本更新记录

修改编号

修改日期

修改后版本

修改位置

修改内容概述

  1. 概述

对系统定义和规格进行分析,并以此确定:

  1. 设计采用的标准和方法;
  2. 系统结构的考虑;
  3. 错误处理机制的考虑。
    1. 规格分析

根据需求规格或产品规格对系统实现的功能进行分析归纳,以便进行概要设计。

  1. 系统体系结构

根据已选用的软件、硬件以及网络环境构造系统的整体框架,划分系统模块,并对系统内各个模块之间的关系进行定义。确定已定义的对象及其组件在系统内如何传输、通信。如果本系统是用户最终投入使用系统的一个子集或是将要使用现有的一些其他相关系统,在此应对他们各自的功能和相互之间的关系给予具体的描述。

[可通过图形的方式表示系统体系结构]

  1. 界面设计定义

设计用户的所有界面

  1. 接口定义

通常设计应考虑的接口包括:

人机交互接口

人机交互接口应确定用户采用何种方式同系统交互,如键盘录入、鼠标操作、文件输入等以及具体的数据格式,其中包括具体的用户界面的设计形式。尽早确定人机交互接口,有利于确定概要设计的其他方面。

用户界面设计原则:

  1. 命令排序:(1)最常用的放在前面; (2)按习惯工作步骤排序;
  2. 极小化:尽量少用键盘组合命令,减少用户击键次数;
  3. 广度和深度:由于人的记忆局限,层次不宜大于3;
  4. 一致性:使用一致的术语、一致的步骤、一致的动作行为;
  5. 显示提示信息;
  6. 减少用户记忆内容;
  7. 存在删除操作时。应能恢复操作;
  8. 用户界面吸引人;

网络接口

若本系统跨异种网络运行则应确定网络接口或采用何种网络软件,以使系统各部分间能有效地联络、通信、交换信息等,从而使整个系统紧密有效的结合在一起。

系统与外部接口

系统经常会与外部进行数据交换,因此应确定数据交换的时机、方式(如是批处理方式还是实时处理)、数据交换的格式(如是采用数据包还是其他方式)等。

系统内模块之间的接口

系统内部各模块之间也会进行数据交换,因此应确定数据交换的时机、方式等。

数据库接口

系统内部的各种数据通常会以数据库的方式保存,因此在接口定义时应确定与数据库进行数据交换的数据格式、时机、方式等。

  1. 模块设计

根据项目的时机需求情况,可将系统划分成若干模块,分别描述各模块的功能。这样可将复杂的系统简化、细化,有利于今后的设计和实现。划分各模块时,应尽量使其具有封闭性和独立性,具有低耦合性,减少各模块之间的关联,使其便于实现、调试、安装和维护。

7.1 模块功能

描述该模块在整个系统中所处的位置和所起的作用以及和其他模块的相互关系,该模块要实现的功能,对外部输入数据外部触发机制的具体要求和规定。如果采用OO技术,可结合Use Case技术进行描述。

7.2 模块对象(组件)

对模块涉及的输入/输出,用户界面、对象或组件,对象或组件的关系以及功能实现流程进行定义。如果采用OO技术,可使用顺序(sequence)图描述功能实现流程。

对象设计应包括:

Class Name (类名);

Describe (类描述);

Hierarchy (继承关系);

Public Attribute (公共属性)

Public Operation (公共操作)

Private Attribute (私有属性)

Private Operation (私有操作)

Protected Attribute (保护属性)

Protected Operation (保护操作)

组件设计应包括:

  1. 组件属性;
  2. 组件关联;
  3. 组件操作;
  4. 实现约束。

7.3 对象(组件)的触发机制

规定对象(组件)中各个操作在什么外部条件触发下被调用以及调用后的结果。

7.4 对象(组件)的关键算法

如果对象(组件)中涉及关键算法,如采用何种算法加密、何种算法搜索等,需在此规定并予以相应的说明。至于其他具体操作的算法可在系统构造中去设计实现。

  1. 故障检测和处理机制

8.1 故障检测和触发机制

系统发生故障可以有多种检测机制,如自动向上层汇报、由上层定时检测、将故障写入错误文件等。在此应明确系统所采用的故障检测机制。

8.2 故障处理机制

他描述故障发生后系统如何处理,如只发个消息显示出错信息、写入一个文件、或采取相应的措施,在这里应进行详尽的描述。

  1. 数据库设计

9.1 数据库管理系统选型

明确指出选用的数据库管理系统类型、版本、服务器与数据库、客户机与数据库之间的接口。

9.2 设计E-R图

根据系统数据实体之间的关系实际数据库E-R图。

9.3 数据库表设计

基于E-R图设计数据库物理表。

10.系统开发平台

根据概要设计的结果选择确定系统开发所需的平台,包括硬件平台、操作系统以及开发工具等。

详细设计说明书

  1. 导言

    1. 目的

说明文档的目的

  1. 范围

说明文档覆盖的范围

  1. 缩写说明

定义文档中所涉及的缩略语(若无则填写无)

  1. 术语定义

定义文档内使用的特定术语(若无则填写无)

  1. 引用标准

列出文档制定所依据、引用的标准(若无则填写无)

  1. 参考资料

列出文档制定所参考的资料(若无则填写无)

  1. 版本更新信息

记录文档版本修改的过程,具体版本更新记录如表1所列

表  版本更新记录

修改编号

修改日期

修改后版本

修改位置

修改内容概述

  1. 系统设计概述

本小节描述的主要内容包括:

  1. 简要描述系统的整体结构(文字和框图相结合)
  2. 模块划分和分布(如果采用OO技术,则可以Component图和Package图表示)
  3. 系统采用的技术和实现方法
  1. 详细设计概述

本小节以模块为单位简要描述:

  1. 模块用途
  2. 模块功能
  3. 特别约定
  1. 详细设计

本小节以模块为单位详细描述:

  1. 模块的定义
  2. 模块的关联
  3. 输入/输出数据说明
    1. 变量描述:重要的变量及其用途
    2. 约束或限制条件
  4. 实现描述/算法说明
    1. 说明本模块的实现流程,包括条件分支和异常处理
    2. 模块的应用逻辑
    3. 模块的数据逻辑

这部分可以通过流程图或者伪代码的方式实现。

  1. 程序提交清单

程序提交清单以模块为单位分别进行描述,格式如表2所示。

表  程序提交清单格式

模块

文件名

文件类别

用途

编码规范*

编码阶段的产品是按照代码标准和规范编写的源代码,可在必要地时候进行部署。所以提交的文档包括:

  1. 代码标准和规范
  2. 源代码

测试文档

 测试计划文档

测试是比较复杂和困难的过程,为了很好控制测试的复杂性和困难性,需要仔细编写完整的测试文档。

这里我们提供一个可以作为参照的系统测试计划模板。

1. 介绍

1.1 目的

说明文档的目的。

1.2  范围

说明文档覆盖的范围。

1.3  编写说明

定义文档中所涉及的缩略语 (若无则填写无)

1.4  术语定义

定义文档内使用的特定术语 (若无则填写无)

1.5  引用标准

列出文档制定所依据、引用的标准 (若无则填写无)

1.6  参考资料

列出文档制定所参考的资料 (若无则填写无)

1.7 版本更新信息

记录文档版本修改的过程,具体版本更新记录如表1所列

表1  版本更新记录

修改编号

修改日期

修改后版本

修改位置

修改内容概述

  1. 测试项目

对被测试项目进行描述。

  1. 测试特性

描述测试的特性和不被测特性。

  1. 测试方法

分析和描述本次测试采用的测试方法和技术。

  1. 测试标准

描述测试通过的标准以及测试审批的过程。测试挂起/恢复的条件。

  1. 系统测试交付物

测试完成后提交的所有产品。

  1. 测试任务
  2. 环境需求

8.1 硬件需求

8.2 软件需求

8.3 测试工具

8.4 其他

  1. 角色和职责
  2. 人员及培训
  3. 系统测试进度

 测试设计文档

测试设计主要是根据相应的依据(需求、概要设计、详细设计等) 设计测试方案,测试的覆盖率以及设计测试用例等。表6-13的测试覆盖表和表6-14的测试用例表可以作为参照。

表6-13 测试用例覆盖矩阵

序号

功能项

预期结果

优先级

测试用例

表6-14 测试用例编码

测试项目名称:

测试人员:

测试时间:

测试项目标题:

测试内容:

测试环境与系统配置:

测试输入数据:

测试次数:

预期结果:

测试过程:

测试结果:

测试结论:

实现限制:

备注:

测试跟踪文档

可以采用工具跟踪测试的结果,如表6-15所列就是一个缺陷跟踪的表格。目前市场上存在很多缺陷跟踪的商用工具软件。

表6-15 测试跟踪记录表

序 号

时 间

事件描述

错误类型

状 态

处理结果

测试人

开发人

1

2

3

 测试总结文档

下面的测试总结报告模板(可裁剪),可以参照。

  1. 介绍

1.1 目的

说明文档的目的。

1.2  范围

说明文档覆盖的范围。

1.3  编写说明

定义文档中所涉及的缩略语 (若无则填写无)

1.4  术语定义

定义文档内使用的特定术语 (若无则填写无)

1.5  引用标准

列出文档制定所依据、引用的标准 (若无则填写无)

1.6  参考资料

列出文档制定所参考的资料 (若无则填写无)

1.7 版本更新信息

记录文档版本修改的过程,具体版本更新记录如表1所列

表1  版本更新记录

修改编号

修改日期

修改后版本

修改位置

修改内容概述

  1. 测试时间、地点和人员
  2. 测试环境描述
  3. 测试数据度量

4.1 测试用例执行度量

4.2 测试进度和工作量度量

4.3 缺陷数据度量

4.4 综合数据分析

计划进度偏差 = [ (实际进度 — 计划进度) / 计划进度 ] * 100%

用例执行效率 = 执行用例总数 / 执行总时间 (小时)

用例密度 = (用例总数 / 规模)* 100

缺陷密度 = (缺陷总数 / 规模)* 100

用例质量 = (缺陷总数 / 用例总数)* 100

缺陷严重程度分布饼图:

缺陷类型分布饼图:

  1. 测试评估

5.1 测试任务评估

例如,评估结论:本次测试执行准备充足,完成了既定目标。

5.2 测试对象评估

例如,评估结论:测试对象符合系统测试阶段质量要求,可以进入到下一阶段。

  1. 遗留缺陷分析
  2. 审批报告

提交人签字: 日期:

开发经理签字: 日期:

产品经理签字: 日期:

  1. 附件

附件1  测试用例执行表

附件2  测试覆盖率报告

附件3  缺陷分析报告

软件开发过程文档规范说明书--敲重点相关推荐

  1. 软件开发过程 文档

    在软件开发的过程中,为了有效地进行开发和管理,人们往往根据经验规律,形成一定的模式.将开发过程分成几个阶段,每个阶段都有明确的任务,并且需要产生一定规格的文档资料交付给下一个阶段,下一个阶段在上阶段的 ...

  2. 国际软件设计文档——概要设计说明书

    1 引言 1.1 编写目的 说明编写这份概要设计说明书的目的,指出预期的读者. 1.2 背景 说明: 待开发软件系统的名称: 列出此项目的任务提出者.开发者.用户以及将运行该软件的计算站(中心). 1 ...

  3. 需求规格说明书和软件概要设计文档最终版上线~

    由于前面已经发布的版本中的部分活动图在由Word文档转化为Pdf文件时发生变形,此次针对这个问题进行了修复和完善~推出了最终的需求规格说明书4.0版本和软件概要设计说明书3.0版本~ 需求规格说明书修 ...

  4. 软件测试计划文档(初)

    软件测试计划文档 1.引言 1.1 编写目的 满足大学生选课需求,解决选课难的问题 1.2 项目背景 如今,网上选课已成为大学生必经之路,但是普通的官方系统难以满足大学生需求,我们拟在大学内推广该软件 ...

  5. 敏捷开发:软件与文档

    也曾尝试过,不带文档的"裸体"前进,可想而知,最后经常造成项目的返工,新来的人员要拼命读以前的人留下的几乎没有注释的源码.        后来尝试过,制订完善的规范,用了大量的软件 ...

  6. 内部软件技术文档怎么做?

    今天,互联网被认为是一个知识库.任何人都可以使用互联网访问任何类型的信息,例如文档,查看超文本和多媒体(音频和视频)通过Web服务器数据库. 此外,对于任何组织来说,提供对公司网站的公开访问都变得必要 ...

  7. 软件设计文档如何编写,设计文档内容都包括什么

    我们经常听到这样的话: "设计文档没有用,是用来糊弄客户和管理层的文档": "用来写设计文档的时间,项目开发早就做完了": "项目紧张,没有时间做设计 ...

  8. 软件需求分析文档模版

    软件需求分析文档模版(转载自国家计算机标准和文件模板) 软件需求分析就是把软件计划期间建立的软件可行性分析求精和细化,分析各种可能的解法,并且分配给各个软件元素.需求分析是软件定义阶段中的最后一步,是 ...

  9. 局域网聊天软件 设计文档怎么写?

    局域网聊天软件 设计文档怎么写?这种针对数据库记录的 局域网聊天软件 窃取,被一些攻击者称为拖库,于是有了一个自然而谐音的戏称脱裤.只是攻击者日趋不厚道,从前只是偷了人家的裤子,现在还要晾在大街上,并 ...

  10. 企业图纸文档规范管理措施 图文档管理系统

    从项目管理的角度来看,图纸及相关联文档是一个企业的运营知识资产,如果企业各部门的知识资产的管理不规范或者缺少相应管理措施,那么企业各部门就会不断遇到到因管理不到位而产生的问题. 因此,图纸文档的版本管 ...

最新文章

  1. NA-NP-IE系列实验7:CDP
  2. 时域和频域变换之---傅里叶级数的数学推导
  3. Mocha Pro 2020中文版
  4. android文件管理器,ES文件浏览器(com.estrongs.android.pop) - 4.2.4.6.1 - 应用 - 酷安
  5. (11)python里面while到底有多少知识点
  6. 前端学习(1272):路由的基本概念和说明
  7. Linux排查java程序CPU占用过高问题
  8. 安装selenium教程
  9. 华为5G专利收费标准曝光!原来卖专利真的很挣钱
  10. K8s 很难么?带你从头到尾捋一遍,不信你学不会
  11. UE4 材质学习 (焚烧材质)
  12. 编辑器进化 VSCode + Vim
  13. LAND网络渗透测试
  14. 【推荐】真正的安卓网络摄像机(Android IPCamera)任意浏览器输入IP地址即可观看视频
  15. mysql查询性能测试工具_MySQL性能测试工具MySQLslap使用实例详解
  16. AI作诗:深度学习应用演示平台
  17. FLASH的基础知识
  18. 垂直起降固定翼的学习大纲
  19. 三容水箱液位控制系统_基于MATLAB三容水箱液位控制系统
  20. 编译原理:素短语、短语、直接短语、句柄的基本概念

热门文章

  1. Linux驱动开发-编写W25Q64(Flash)驱动
  2. jQuery按住滑块拖动验证插件
  3. 如何压缩jpg图片的大小?
  4. 真4k测试样片_如何让自己的抖音视频更高清?测试一天后,偷偷告诉你
  5. Redis安装(Windows环境下Redis安装)
  6. mesh和wifi中继的区别_mesh和无线中继的区别
  7. 204页数字化转型:集团企业信息化规划方案
  8. 【实验技术笔记】细胞表型检测之细胞增殖(CCK-8法 + BrdU掺入法 + 平板克隆)
  9. SQLHelper--四种方法完整版
  10. 一网打尽Mac上的软件套装 - Omi特别篇(附演示视频)