[读书笔记]UML和模式应用 ---- 进化式需求

定义:需求

       需求(Requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件[JBR99]

"Requirements are capabilities and conditions to which the system—and more broadly, the project—must conform". [JBR99]

 

    UP(Unified Process)提出了一系列的最佳实践,其中之一就是需求管理 (requirement management)。需求管理不主张采用瀑布的观点,即在编程之前项目的第一个阶段就试图完全定义和固化需求。在变更不可避免,涉众医院不明朗的情况下,UP更推崇用"一种系统的方法来寻找、记录、组织和跟踪系统不断变更 的需求"[RUP](Rational Unified Process)

    简单言之,就是通过迭代巧妙的进行需求分析,而非草率和随意为之。

    需求分析的最大挑战是寻找、沟通和记住(通常是指记录)什么是真正需要的,并能够清楚地讲解给客户和开发团队的成员。

 

寻求需求可以采用的方法

  • 与客户一同编写用例
  • 开发者和客户共同参加需求研讨会
  • 请客户代理参加焦点小组
  • 向客户演示每次迭代的成果以求得反馈

需求的类型和种类

在UP中,需求按照"FURPS+"模型进行分类[Grady92]

  • 功能性(Functional):特性、功能、安全性。
  • 可用性(Usability):  人性化因素、帮助、文档。
  • 可靠性(Reliability):故障频率、可恢复性、可预测性。
  • 性能(Performance):响应时间、吞吐量、准确性、有效性、资源利用率。
  • 可支持性(Supportability):适应性、可维护性、国际化、可配置性。

FURPS+中的”+“是指一些辅助性的和次要的因素,比如:

  • 实现(Implementation):资源限制、语言和工具、硬件等。
  • 接口(Interface):强加于外部系统接口之上的约束。
  • 操作(Operation):对其操作设置的系统管理。
  • 包装(Packaging):例如物理的包装盒。
  • 授权(Legal):许可证或者其他方式。
IBM RUP对FURPS+的定义

The FURPS+ System for Classifying Requirements

One such classification system was devised by Robert Grady at Hewlett-Packard. 2 It goes by the acronym FURPS+ which represents:

* Functionality
* Usability
* Reliability
* Performance
* Supportability

The "+" in FURPS+ also helps us to remember concerns such as:

* Design requirements
* Implementation requirements
* Interface requirements
* Physical requirements

 

UP制品如何组织需求

     UP提供了一些需求制品。同所有的UP制品一样,它们都是可选的。其中关键的制品包括:

  • 用例模型 :一组使用系统的典型场景。主要用于功能(行为的)需求。
  • 补充性规格说明 :基本上是用例之外的所有内容。主要用于所有非功能需求,例如性能或许可发布。该制品也用来记录没有(或者不能表示)为用例的功能特性,例如报表生成。
  • 词汇表 :词汇表以最简单的形式定义重要的术语。同时也包含了数据字典 (data directionary)的概念,其中记录了关于数据的需求,流入有效性规则,容许值等。词汇表可以详述任何元素:对象属性、操作调用的参数、报表布局等。
  • 设想 :概括了高阶需求,这些需求在用例模型和补充性规格说明中进行细化。设想也概括了项目的业务案例。设想是简短的执行概要文档,用以快速了解项目的主要思想。
  • 业务规则 :业务规则(也称为领域规则)通常描述了凌驾于某以软件项目的需求或政策,这些规则是领域或业务所要求的,并且许多应用应该遵从这些规则。领域规则的细节可以记录在补充性规格说明中,但是因为这些规则通常更为持久,并且不止对一个软件项目适用,所以应将其放入集中的业务规则制品(供公司的所有分析员共享),以便在这方面做出的分析工作能够被更好的重用。

总结:UP的推崇迭代和进化式需求,强调了需求的"不断变更 "的重要特性。使用一种系统的方法来寻找、记录、组织和跟踪系统不断变更的需求[RUP]--需求管理(manage requirement)。

阅读更多
个人分类: 项目管理
上一篇[读书笔记]UML和模式应用 ---- 初始不是需求阶段
下一篇[读书笔记]UML和模式应用 ---- 用例
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭