软件需求管理

发表于:2013-5-15 14:30

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:玉川憲    来源:51Testing软件测试网采编

  特别是关于设计和实现的信息,稍不注意就会介入,所以需要特别注意。如果需求中包含关于设计和体系结构的信息,则会被其信息所限制,对于应用程序来说就不能选择最合适的设计方法。但是,有时系统内部已经确定的场合也有。例如,因为组织许可方面的因素,明确了数据库必须使用DB2,这种情况下作为“设计限制(Design Constraints)”进行描述。

  重要的是尽量减少设计上的限制。那样,开发者只在最小限度的限制下能够实现必要的功能、设计出满足性能和可靠性的系统。

  需求的详细分类

  关于软件需求之前了解的情况,使用一句话来概括也会有多种。特别是可以按如下所示分为3种。

  1)功能需求

  2)非功能需求

  3)设计限制

  另外,如图3所示通常取出Functionality(功能性)、Usability(易用性)、Reliability(可靠性)、Performance(性能)、Supportability(易支持性)的开头字母以FURPS+形式来分类。FURPS+中最后的+表示不包含在FURPS中的设计方面的限制。该FURPS+用上述3种分类来说的话,各自相当于F是功能需求、URPS是非功能需求、+是设计限制。

  根据上述形式进行分类,形成识别需求时和评价对需求的理解时的检验一览表,可以防止遗漏和不完整性。

  软件非功能需求

  到前一节为止我们了解了所说的“软件需求”就是把系统在详细基准下定义的需求,从黑匣子的观点来描述系统能力的需求。另外软件需求可以用FURPS+方式分类。但是对于开发能够让客户满意的系统不仅仅是软件需求,掌握利害关系者的需求也是非常重要的。(利害关系者:拥有与项目有相关利害关系的人、特别是系统的用户被列举为重要的利害关系者)

  众所周知,为了有效地执行需求管理,作为详细标准需求的“软件需求”以外也作为需求来掌握,这一事项在经验上是很有效的。也就是说,把需求的语言对象不仅仅是系统详细定义的“软件需求”,也扩大到了利害关系者的“原始需求(Needs)”。并且另外一点,作为比软件需求抽象标准更高的需求,把“功能特性(Features)”也作为需求来掌握。有点麻烦但是倒入“需求类型”这一概念,其类型之一包括“原始需求”、“功能特性”,“软件需求”。由于功能特性比软件需求的抽象度要高,所以如果利用功能特性的话,就能很容易地把握系统整体,也就能轻松地管理开发范围。

  软件非功能需求

  到前一节为止我们了解了所说的“软件需求”就是把系统在详细基准下定义的需求,从黑匣子的观点来描述系统能力的需求。另外软件需求可以用FURPS+方式分类。但是对于开发能够让客户满意的系统不仅仅是软件需求,掌握利害关系者的需求也是非常重要的。(利害关系者:拥有与项目有相关利害关系的人、特别是系统的用户被列举为重要的利害关系者)

  众所周知,为了有效地执行需求管理,作为详细标准需求的“软件需求”以外也作为需求来掌握,这一事项在经验上是很有效的。也就是说,把需求的语言对象不仅仅是系统详细定义的“软件需求”,也扩大到了利害关系者的“原始需求(Needs)”。并且另外一点,作为比软件需求抽象标准更高的需求,把“功能特性(Features)”也作为需求来掌握。有点麻烦但是倒入“需求类型”这一概念,其类型之一包括“原始需求”、“功能特性”,“软件需求”。由于功能特性比软件需求的抽象度要高,所以如果利用功能特性的话,就能很容易地把握系统整体,也就能轻松地管理开发范围。

  那样的话,如图4所示可以把原始需求、功能特性和软件需求在3段的金字塔状中按照每个需求类型进行体系化描述。以订单管理业务的应用程序为例,如图5所示按照各自的需求类型分别描述需求样本。

43/4<1234>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号