定义:需求
需求(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)。
分享到:
相关推荐
理解和应用设计模式可以提高代码的可读性、可维护性和复用性。在视频笔记中,可能会讲解如何在实际项目中运用这些模式。 "01.POS(项目初始).wrf"文件可能详细解释了如何运用UML进行POS系统的初步建模,包括识别关键...
Uml和模式应用 配套视频笔记4(2) 非常经典 帮助您迅速整理此书框架
Uml和模式应用 配套视频笔记5(3) 非常经典 帮助您迅速整理此书框架
Uml和模式应用 配套视频笔记5(1) 非常经典 帮助您迅速整理此书框架
通过阅读《UML和模式应用》的配套视频笔记,我们可以深化对UML的理解,学习如何有效地应用设计模式,同时掌握如何在实际项目中进行需求分析和迭代开发。这些知识对于提升软件开发的专业素养至关重要。
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...
《UML和模式应用》是一本深入探讨软件设计与建模的经典著作,它结合了统一建模语言(Unified Modeling Language)和设计模式的理论与实践,旨在帮助开发者更有效地理解和应用这两种工具。配套的视频笔记3是学习过程...
**UML(统一建模语言)是软件工程领域中一种重要的可视化建模工具,用于描述、构造和文档化系统的设计。...通过这份笔记,学习者可以系统地掌握UML,并将其应用于实际项目中,提升软件设计的可视化和沟通效率。
笔记记录分享-笔记记录分享系统-笔记记录分享系统源码-笔记记录分享管理系统-笔记记录分享管理系统java代码-笔记记录分享系统设计与实现-基于springboot的笔记记录分享系统-基于Web的笔记记录分享系统设计与实现-...
`UML符号及图.doc`可能是对这些符号的详细解释和示例,而`OOAD$UML笔记.txt`可能包含了学习UML和进行面向对象分析与设计的个人笔记,可能涵盖了一些案例研究和最佳实践。 理解并熟练使用UML符号集对于任何软件开发...
学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...
笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...
Uml和模式应用 配套视频笔记4(1) 非常经典 帮助您迅速整理此书框架
计算机网络设计第一章读书笔记------.pdf该文档详细且完整,值得借鉴下载使用,欢迎下载使用,有问题可以第一时间联系作者~
HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)HotApp云笔记 - 精品开源demo-基于免费API(源代码+截图)HotApp云笔记 - 精品开源demo-基于免费API(源...
笔记记录分享-笔记记录分享网站-笔记记录分享网站源码-笔记记录分享网站java代码-笔记记录分享网站设计与实现-基于springboot的笔记记录分享网站-基于Web的笔记记录分享网站设计与实现-笔记记录分享项目-笔记记录...