第二部分初始阶段 第五章 进化式需求

定义:需求(requirement)就是系统(更广义的说法是项目)必须提供的能力和必须遵从的条件。

  UP提出了一系列的最佳实践,其中的需求管理(manager requirement)。需求管理不主张采用瀑布的观点,即在编程之前的第一阶段就试图完全定义和固化需求,而是采用迭代巧妙地进行需求分析。

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

进化式需求和瀑布式需求

  在UP的需求管理定义中使用了“不断变更”一词。UP能够包容需求中的变更,并将其作为项目的基本驱动力。这一点极为重要,也是迭代和进化式思想与瀑布思想的核心差异。

寻找需求可以采用的方法

  一种系统的方法来寻找,记录,组织和跟踪系统不断变更的需求。

需求的类型和种类

   在统一过程中,需求按照“FURPS+”模型进行分类,这是一种有效的记忆方法。其含义如下:

    1.功能性(Functional):特性,功能,安全性。

    2.可用性(Usability):人性化因素,帮助,文档。

    3.可靠性(Reliability):故障频率,可恢复性,可预测性。

    4.性能(Performance):响应时间,吞吐量,准确性,有效性,资源利用率。

    5.可支持性(Supportability):适应性,可维护性,国际化,可配置性。

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

    实现(Implementation):资源限制,语言和工具,硬件等。

    接口(Interface):强加于外部系统接口之上的约束。

    操作(Operation):对其操作设置的系统管理。

    包装(Packaging):例如物理的包装盒。

    授权(Legal):许可证或其他方式。

  在一般使用中,需求按照功能性(行为的)和非功能性(其他所有的行为)来分类。

原文地址:https://www.cnblogs.com/shadow-shine/p/9719928.html

时间: 2024-10-09 11:03:07

第二部分初始阶段 第五章 进化式需求的相关文章

第二部分初始阶段 第四章 初始不是需求阶段

初始阶段是建立项目共同设想和基本范围的比较简短的起始步骤.为了在随后的细化阶段能够开始编程,它将包括对10%的用例进行分析,关键的非功能需求的分析,业务案例创建和开发环境的准备. 什么是初始阶段 大多数项目需要一个简短的起始步骤,在该步骤中要考虑以下几类问题 1.项目的设想和业务案例是什么 2.是否可行 3.购买还是开发 4.粗略估计一下成本:是一万到十万美元,还是上百万美元 5.项目应该继续下去还是停止 想要定义设想并大致得出所需的预算,就必须研究需求.但是,初始阶段的目标并不是定义所有需求,

UML和模式应用4:初始阶段(2)--进化式需求

1. 前言 本文主要对迭代开发 初始阶段 的需求相关制品展开讨论,阐述了初始阶段并非定义所有需求,而是需要在后续的细化阶段逐步迭代. 同时也讨论了初始阶段关于需求相关的制品. 2.相关术语 术语 说明 需求 系统必须提供的能力和遵从的条件 需求管理 定义需求的方法 瀑布式需求管理 编程之前项目的第一个阶段就试图完全定义和固化需求 UP式需求管理 用一种系统的方法来寻找.记录.组织和跟踪系统不断变更的需求 表 需求相关术语说明 3. 寻找需求的方法 与客户一起编写用例 开发者和客户共同参加客户讨论

第二部分 应用篇 第五章 MongoDB高级查询

声明:该文章主要来自<MongoDB实战>一书内容,主要想通过该书学习MongoDB的相应知识,加深理解,故写在自己的博文当中,作为记录,在最后的章节中,会有一个自己集合MongoDB数据库应用的JavaEE的web应用. 本章将结合实际应用,重点阐述一些实际工作中最常用的方法. 面向文档的NoSQL数据库主要解决的问题不是高性能的并发读写,而是保证海量数据存储的同时,具有良好的查询性能. MongoDB最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似

团队项目开发第二次冲刺阶段第五天

昨天做了什么?为我的奖状部分和排行榜部分的listView进行了美化,而显示的内容数据库里并没有添加,搞了一下连数据库和实现显示头像的问题.今天准备做什么?今天还是主要解决连数据库和实现显示头像的问题,这个问题看起来挺复杂,找了很多方法但是感觉并不适用.遇到了哪些问题?因为我们的主体框架正在修改,我现在做的工作是脱离任务,没法进行测试,而且也没有找到很好的方法,头像问题比较难实现了.

第二部分 应用篇 第七章 MongoDB MapReduce

1.简介 MongoDB的MapReduce相当于MySQL中的group by,所以在MongoDB上使用Map/Reduce进行统计很容易,使用MapReduce要实现两个函数Map函数和Reduce函数,Map函数调用emit(key,value),遍历collection中所有的记录,将key与value传递给Reduce函数进行处理,Map函数和Reduce函数可以使用JavaScript来实现,可以通过db.runCommand或者mapReduce命令来执行一个MapReduce的

Python核心编程(第二版) 第五章习题答案

5-1.整型.讲讲Python普通整型和长整型的区别. 答:Python 的标准整数类型是最通用的数字类型.在大多数 32 位机器上,标准整数类型的取值范围是-2**31到 2**31-1,也就是-2,147,483,648 到 2,147,483,647.如果在 64 位机器上使用 64 位编译器编译 Python,那么在这个系统上的整数将是 64 位. Python 的长整数类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关. 5-2.操作符.(a)写一个函数,计算并返回两个数的乘积.

Gradle 1.12用户指南翻译——第二十五章. Scala 插件

其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc/tree/1.12. 直接浏览双语版的文档请访问: http://gradledoc.qiniudn.com/1.12/userguide/userguide.html. 另外,Android 手机用户可通过我写的一个程序浏览文档,带缓存功能的,目前

《Python核心编程》第二版第五章答案

5-1.整型.讲讲Python普通整型和长整型的区别. Python的标准整形类型是最通用的数字类型.在大多数32位机器上,标准整形类型的取值范围是-2**32-2**32 - 1. Python的长整型类型能表达的数值仅仅与你的机器支持的(虚拟)内存大小有关,换句话说,Python能轻松表达很大的整数. 长整型类型是标准整形类型的超集,当程序需要使用比标准整形更大的整型时,可以使用长整型类型,在整型值后面添加L,表示这个为长整型,这两种整形类型正在逐渐统一为 一种. 5-2.操作符.(a)写一

第五章相关分析第二小组作业 组长:乙佳荣

第五章 相关分析 第二小组成员: 组长:乙佳荣 组员:王洋 于媛龄 李天婵 小组成员任务: 乙佳荣:分配监督任务,进行ppt制作 王洋:查询资料并做总结 李天婵:回收资料,制作ppt 于媛龄:总结ppt并讲解ppt ppt展示: