软件需求规范说明 (Software Requirements Specification, 简称SRS)
GB/T 9385-2008 笔记
为了形成确定和完备的规格说明, 我们需要明确
- 软件的顾客希望得到什么;
- 软件的供方理解用户想要什么;
4.2 SRS的基本性质
SRS是对在具体环境中执行确定功能的特定软件产品、程序或一组程序的规格说明。 SRS可由来自供方、顾客或双方的一个或多个人员来编写,推荐双方人员联合编写。
SRS编写人员应该关注以下基本点:
- 功能 - 软件将执行什么功能?
- 外部接口 - 软件如何与人、系统的硬件及其他硬件和其他软件进行交互?
- 性能 - 各种软件功能的速度、响应时间、恢复时间等是多少?
- 属性 - 软件的可用性、可靠性、可移植性、正确性、可维护性、安全性如何?
- 影响产品实现的设计方案 - 是否有使用标准、编程语言、数据库完整性方针、资源限制、运行环境等方面的要求?
编写人员宜避免把设计或项目需求写入SRS中。
4.4 好的SRS的特征
4.4.1 综述
SRS宜是:
- 正确;
- 无歧义;
- 完备;
- 一致;
- 重要性和/或稳定性分级;
- 可验证性;
- 可修改;
- 可追踪;
4.4.2 正确
当且仅当SRS中的每一项需求都是软件应满足的需求, SRS才是正确的。
4.4.3 无歧义
当且仅当SRS中的每一项需求都只有一种解释,SRS才是无歧义的。
4.4.2 完备
- 当且仅当SRS包含以下元素,SRS才是完备的。
- 所有重要的需求,不论是否与功能、性能、设计约束、属性或者外部接口有关。尤其是由系统规格说明所施加的任何外部需求都应当得到确认和处理。
- 软件响应的定义。
- SRS中所有图表的全面标记和索引,以及所有术语和度量单位的定义。
- 任何含有“待定”词语的SRS是不完备的。
软件需求规范说明 (Software Requirements Specification, 简称SRS)的更多相关文章
- Review software requirements specification and create test scenarios (what to test for a certain functionality)
1 srs2 what to test3 establish guidelines on how this deliverable is to be presented , the template4 ...
- 需求管理(REQM,Requirements Management)工具(转)
需求管理(REQM,Requirements Management)属于成熟度2级(受管理级)的过程域,是其他许多过程域实施的前提.对于暂未实施CMMI的企业,同样也可以借鉴CMMI的原则,实施和优化 ...
- 中兴软件编程规范C/C++
Q/ZX 深圳市中兴通讯股份有限公司企业标准 (设计技术标准) Q/ZX 04.302.1–2003 软件编程规范C/C++ 20 ...
- Python模块的导入以及软件开发规范
Python文件的两种用途 1 . 当脚本直接使用,直接当脚本运行调用即可 def func(): print("from func1") func() 2 . 当做模块被导入使用 ...
- python 全栈开发,Day29(昨日作业讲解,模块搜索路径,编译python文件,包以及包的import和from,软件开发规范)
一.昨日作业讲解 先来回顾一下昨日的内容 1.os模块 和操作系统交互 工作目录 文件夹 文件 操作系统命令 路径相关的 2.模块 最本质的区别 import会创建一个专属于模块的名字, 所有导入模块 ...
- 软件需求规格说明书(转自http://blog.csdn.net/li_canhui/article/details/6927540)
转自http://blog.csdn.net/li_canhui/article/details/6927540 1概述 1.1编写目的 指出编写<需求规格说明书>的目的.下面是示例: 编 ...
- [转]软件开发规范—模块开发卷宗(GB8567——88)
做软件开发是有那么一套国准可参照的,当然就是那些文档了,这里列出一下所有软件开发的规范文档: 操作手册 用户手册 软件质量保证计划 软件需求说明书 概要设计说明书 开发进度月报 测试计划文档 测试分析 ...
- C++轮子队-软件需求规格说明书
团队Github项目仓库 软件规格需求说明书 引言 编写目的 软件规格需求说明书书了“2048俄罗斯方块”1.0版本的软件功能性需求和非功能性需求. 文档约定 描述编写文档时所采用的标准或排版约定,包 ...
- Linux Framebuffer驱动剖析之一—软件需求
嵌入式企鹅圈将以本文作为2015年的终结篇,以回应第一篇<Linux字符设备驱动剖析>.嵌入式企鹅圈一直专注于嵌入式Linux和物联网IOT两方面的原创技术分享,稍后会发布嵌入式企鹅圈的2 ...
随机推荐
- Matlab数组创建
只用C语言,不用Matlab这种魔咒还是要打破的.Matlab是科学计算的常用工具,既然以前没用过,现在开始学吧...... 1. 向量的创建 1)直接输入: 行向量:a=[1,2,3,4,5] ...
- 在MFC中使用Cstring
此文介绍了关于MFC使用CString的资料,可一参考一下. 转自于VC知识库:http://www.vckbase.com/index.php/wv/829 通过阅读本文你可以学习如何有效地使用 C ...
- c# 读取 XML
XmlDocument xmldoc = new XmlDocument(); string xmlPath = HttpContext.Server.MapPath("~/*****.xm ...
- HTTP协议探索之Cache-Control
缓存的存与用的控制 Cache-Control指定了请求和响应遵循的缓存机制.好的缓存机制可以减少对网络带宽的占用,可以提高访问速度,提高用户的体验,还可以减轻服务器的负担. Cache-Contro ...
- 怎么从传统的盒子思想转为Flex 布局(css)
前端进化很快,总是有新的技术出来,开始可能有些人用惯了盒子模型的思想 依赖 display属性 + position属性 + float属性.这三大件.它对于那些特殊布局非常不方便 我们就来看看Fle ...
- nginx + php 403 原因分析
环境:nginx + php 问题: 配置的网站,访问出现报错:Access Denied (403) 常见解决方法: 1.文件权限问题 可能是文件权限问题,没有读权限. 或者selinux没有关闭. ...
- Django逻辑关系
title: Django学习笔记 subtitle: 1. Django逻辑关系 date: 2018-12-14 10:17:28 --- Django逻辑关系 本文档主要基于Django2.2官 ...
- python-flask-1
https://askubuntu.com/questions/244641/how-to-set-up-and-use-a-virtual-python-environment-in-ubuntu ...
- Spring Cloud-hystrix使用例子(七)
继承方式 HystrixCommand public class UserSelectAllCommand extends HystrixCommand<List<User>> ...
- Timus - 1209 - 1, 10, 100, 1000...
先上题目: 1209. 1, 10, 100, 1000... Time limit: 1.0 secondMemory limit: 64 MB Let's consider an infinite ...