软件需求规范说明 (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 ...
随机推荐
- VHDL之User-defined data types
VHDL allows the user to define own data types. 1 user-defined integer types -- This is indeed the pr ...
- ROS:Nvidia Jetson TK1平台安装使用ROS
原文连接: http://wiki.ros.org/indigo/Installation/UbuntuARM Ubuntu ARM install of ROS Indigo There are c ...
- AI:忧郁的机器人
1.塔奇克马 塔奇克马研究起来哲学,被缴械....... 2.机器人瓦力 孤独等待EVA的瓦力 3.马文 http://www.guokr.com/post/683881/
- raspberry pi树莓派设置
买了个pi3b 安装系统 需要class10 TF卡.读卡器 下载系统并解压Raspbianhttps://www.raspberrypi.org/downloads/raspbian/访问慢的话请用 ...
- GET 请求控制器 返回绑定后HTML
//$.get("/Home/index/" + $("#S_BookName").val(), function (data) { //MVC控制器返回Vie ...
- 如何查看Linux的CPU负载
哪些工具可以查看 CPU 负载? 可以使用 top 命令.uptime 命令,特别是 top 命令,功能强大,不仅仅可以用来查看 CPU 负载. CPU 负载怎么理解?是不是 CPU 利用率? 要区别 ...
- BPM结束任务
var pi = tw.system.findProcessInstanceByID("158");for(var i=0; i<pi.tasks.length; i++) ...
- Mysql [Err] 1118 - Row size too large
首先声明,对MySQL不懂,很多都不知道原因 设计了一个表,里面很多text字段,然后填进去的东西太多(用的是Python的MySQLdb),报错: _mysql_exceptions.Operati ...
- 11.6 【Linq】分组和延续
11.6.1 使用 group...by 子句进行分组 class Program { static void Main(string[] args) { var query = from defec ...
- Perl PPM安装模块
介绍一下如何使用PPM(Perl Package Manager)安装模块(必须安装了ActivePerl).打开PPM,我们看到的界面是这样的: 我们看到第二行是工具栏,从左到右,第一个是查看仓 ...