软件需求说明

维基百科,自由的百科全书
跳转至: 导航搜索

软件需求说明Software requirements specification),也称软件需求说明书软件需求规格说明软件需求规格说明书,缩写是SRS

软件需求说明是软件系统需求的规格化说明,是对将要开发系统的行为的说明。它包括功能性需求非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求,质量标准,或者设计限制。

传统的软件需求说明书[编辑]

中国大陆对软件需求说明是根据 GB8567-88《计算机软件产品开发文件编制指南》进行编写的,虽然此标准到2008年就已经废止,但其影响深远,至今各组织的软件需求说明书模板虽然经过使用后历经调整,仍然有明显的该标准痕迹,可以说形成了传统的软件需求说明书的写法。

相关历史[编辑]

  • 1984年,IEEE发布了Guide to Software Requirements Specifications. [1]
  • 1988年,中国大陆发布了GB8567-88《计算机软件产品开发文件编制指南》以及GB9385-88《计算机软件需求说明编制指南》[2],这几项标准中中国大陆影响深远,很好的指导了上世纪90年代的软件开发,也统治了当时中国大陆的软件工程教材。直到今天仍然有大量企业参照,而当时用例分析方法还没有流行。
  • 1986年,UML统一过程的重要贡献者Ivar Jacobson,将他在1967年定义爱立信AXE系统的构架时开始书写使用场境usage scenarios改名为Use Case(用例),即是用例。
  • 1997年11月,UML被OMG全体成员一致通过,并被采纳为标准,而用例是其中的关键部分。
  • 1998年,用户故事起源于极限编程中,
  • 2008年,中国大陆发布了GB/T9385-2008 《计算机软件需求说明编制指南》 [3],它是GB/T9385《计算机软件需求说明编制指南》的第一次修订,代替被废止GB/T9385-1988。

近状[编辑]

到2014年為止,在软件需求表达方式领域出现了如下三种常见情况:

  1. 仍然基于传统SRS表达方式,常见的利用word来书写
  2. 采用用例分析的表达方式,常见的利用UML工具来管理,比如Rose,EA等等 [4]
  3. 用户故事的表达方式,常见的利用条目化(工作项)工具来管理,比如卡片,Jira,VSTS,Scrumworks等

有些组织虽然仍然称呼需求文档为需求说明书(或者SRS),而实质的表达采用的是用例,这种情况归属于上述的第2种情况。

在最新的SWEBOK V3.0[5]中,在这一领域仍然采用了“Software requirements specification”的说法。

但是在中文领域,软件需求说明书是无法在字面意思上涵盖「不采用SRS写法的用例分析」和「用户故事」的。

因此,提议中文领域对应词汇是“软件需求说明”或者“软件需求规格说明”, 没有“书”字,这样的字面意思就能够涵盖用例和用户故事。

说明:至于表达内部事务的用户故事是否属于需求范畴,那是另一回事,毕竟多数的用户故事表达的是需求。[原創研究?]

参考资料[编辑]

  1. ^ 830-1984 - IEEE Guide to Software Requirements Specifications
  2. ^ GB9385-88 计算机软件需求说明编制指南
  3. ^ GB/T9385-2008 《计算机软件需求说明编制指南》
  4. ^ 张秋余 杨玥 王雪 王鹏 贾志龙 基于用例的需求建模方法 《计算机工程与设计》 2006年19期
  5. ^ Guide to the Software Engineering Body of Knowledge V3.0 SWEBOK V3.0