进化式需求
本章简要介绍迭代和进化式需求,并且描述特定的UP需求制品。
定义:需求
需求就是系统必须提供的能力和必须遵从的条件。
UP提出了一系列的最佳实践,其中之一就是需求管理。UP推崇“一种系统的方法来寻找、记录、组织和跟踪系统不断变更的需求”。
需求分析的最大挑战时寻找、沟通和记住什么时真正的需要的,并能够清楚地讲解给客户和开发团队的成员。
进化式需求与瀑布式需求
结合早期时间定量的迭代开发,进行迭代和进化式需求分析,并且引入频繁的涉众参与、评估和对局部结果的反馈。
寻找需求可以采用的方法
UP 欢迎任何能够带来价值并提高用户参与度的需求启发方法。
需求的类型和种类
在UP中,需求安装“FURPS+”模型进行分类:
- 功能性(Functional):特性、功能、安全性。
- 可用性(Usability):人性化因素、帮助、文档。
- 可靠性(Reliability):故障频率、可恢复性、可预测性。
- 性能(Performance):响应时间、吞吐量、准确性、有效性、资源利用率。
- 可支持行(Supportability):适应性、可维护性、国际化、可配置性。
"FURPS+"中"+"是指一些辅助性的和次要的因素:
- 实现(Implementation):资源限制、语言和工具、硬件等。
- 接口(Interface):强加于外部系统接口之上的约束。
- 操作(Operation):对其操作设置的系统管理。
- 包装(Packaging):例如物理的包装盒。
- 授权(Legal):许可证或其他方式。
其中某些需求可以统称为质量属性,包括:可用性、可靠性、性能和可支持性。
在一般使用中,需求按功能性可非功能性来分析。
非功能性需求对系统架构具有极大影响。
UP 制品如何组织需求
UP提供了一些需求制品:
- 用例模型:一组使用系统的典型场景。主要用于功能需求。
- 补充性规格说明:基本上是用例之外的所有内容。主要用于所有非功能性需求。该制品也用来记录没有表示为用例的功能特性。
- 词汇表:词汇表以对简单的形式定义重要的属于。同时也包含了数据字典的概念,其中记录了关于数据的需求。词汇表可以橡树任何元素:对象属性、操作调用的参与、报表布局等。
- 设想:概括了高阶需求,这些需求在用例模型和补充下规格说明中进行细化。设想也概括了项目的业务案例。
- 业务规则:业务规则通常描述了凌驾于某一软件项目的需求或正常,这些规则是领域或业务所要求的,并且需要应用应该遵从这些规则。
本书是否包含这些制品的示例
当然。