Rational统一建模过程的十大要素方案
作者:网络转载 发布时间:[ 2013/5/17 14:26:43 ] 推荐标签:
为了有效的应用 Rational 统一过程 (RUP),首先要理解它的关键目标,并且弄清楚每一个目标为什么重要,他们是怎么样结合在一起,共同帮助你的开发团队满足涉众需求,生产出优质产品的。
首要的是抓住要点
有天晚上,我的邻居 Randy 过来求助。他正在为野营和徒步旅行作准备,但是不知道带些什么东西才好。他知道,我经常领导和参加野外旅行,而且我能够很快的决定在有限的包裹里塞些什么东西,他还记得我曾经给他提过,我有一张我拥有的所有设备和衣服的清单。“那么,我可以借那张清单吗?”他问道。
“当然,但是恐怕帮助不大。”我解释道。你看,在我的外出设备清单中有好几百项,涉及很多种类型的外出,从背包攀登到滑雪,旅行时间从几天的短途旅行到很多天的远征探险。我知道,如果没有相应的指南,Randy 将会陷入冗长的清单之中,以致弄不清,他相对简单的外出而言,什么才是他真正需要的。
始于要素,逐步递增
因此,我提出看一下 Randy 在他的鼓鼓囊囊的包里面都已经装了那些东西。我们可以看以看,他是否可以少带些什么以减轻负担,或者是还有什么该带的却没有带。过了一会儿,我已经能肯定,他真正缺少的不是别的,而是对野外旅行的理解,也是说,抓不住野外旅行的要点。
我拿出一张空白的纸,列出以下十个项目:(1)
地图(Map)
指南针(Compass)
太阳镜和防晒油(Sunglasses 和 sunscreen)
额外的食物和水(Extra food 和 water)
额外的衣服(Extra clothing)
头上戴的小灯(Headlamp)
急救箱(First-aid kit)
打火机(Fire-starter)
火柴(Matches)
刀子(Knife)
“你看,Randy 。这是你真正需要的。如果你从这十大要素出发,那么,无论遇到什么旅行,再来考虑还需要增加哪些内容变得容易多了。”多年前,我第一次登山时,靠的是这张清单,现在我仍然使用它,无论我准备的旅行时那种类型、要去多长时间。每一项的膨胀或者压缩取决于旅行本身。始于简短的清单,然后需要时再扩展,这是一种方式;始于冗长的清单,然后再来决定不采用什么,这是另一种方式。但是两种方式相比,前者显然要容易得多。
把这一课应用到 RUP 中
当我帮助项目组 RUP 的很多元素进行排序时,常常听到这样的问题:“我怎样对所有这些内容进行排序?而且决定在我的项目里究竟需要哪些要素?”“RUP 包括这么多的信息。它一定是针对大项目的――我真的能在我的小项目使用它吗?”
我断定,这些人真正需要的是“ RUP 的十大要素”,像我给我的朋友 Randy 的简单的清单一样。这个 RUP 的清单,可以作为任何项目的符合情理的起点,无论小项目、中型项目还是大型项目。这个列表会聚焦在被我称之为“精华或要素”的东西上,可能是 RUP 的,也可能是任何有效软件过程的。
迭代式开发循环模型
iterate
在所有成员领悟到提交合格产品所需要的关键过程元素之前,项目往往陷入某个特定主题的细节的沼泽中。然后,当项目拖后时,大家会怪罪以前被过分强调的某些活动,或者是怪罪大家不理解其用处的某些活动,“嘿,我早告诉你需求管理(或者是用例、收集项目度量数据、使用配置管理、使用缺陷跟踪工具、召开项目状态会议里面的一个或几个)会放慢我们的进度!你不信!”
有一个“精华或要素”列表让团队成员采用一种更系统、更全面的方式来思考和执行整个软件开发过程。一旦一个过程框架或“构架”到位了,团队成员能更有效的面对和处理单个的问题域(大部分时间我得承认,需求管理应该在列表的顶部)。同样,一开始标识显然的问题以及相关的风险,并且确定处理他们的优先级,也是很重要的,这样,团队才能在早期根据需要采取相应的解决或缓解对策。
RUP 的十大要素
那么,在 RUP 的十大要素中应该包括哪些内容呢?下面是我的意见:
1. 开发前景
2. 达成计划
3. 标识和减小风险
4. 分配和跟踪任务
5. 检查商业理由
6. 设计组件构架
7. 对产品进行增量式的构建和测试
8. 验证和评价结果
9. 管理和控制变化
10. 提供用户支持
让我们逐一的审视这些要素,看一看它们什么地方适合 RUP,找出它们能够成为十大要素的理由。
1. 开发一个前景
有一个清晰的前景是开发一个满足涉众真正需求的产品的关键。
前景抓住了 RUP 需求流程的要点:分析问题,理解涉众需求,定义系统,当需求变化时管理需求。
前景给更详细的技术需求提供了一个高层的、有时候是合同式的基础。正像这个术语隐含的那样,它是软件项目的一个清晰的、通常是高层的视图,能被过程中任何决策者或者实施者借用。它捕获了非常高层的需求和设计约束,让前景的读者能理解将要开发的系统。它还提供了项目审批流程的输入,因此与商业理由密切相关。后,由于前景构成了“项目是什么?”和“为什么要进行这个项目?”,所以可以把前景作为验证将来决策的方式之一。
对前景的陈述应该能回答以下问题,需要的话这些问题还可以分成更小、更详细的问题:
关键术语是什么?(词汇表)
我们尝试解决的问题是什么?(问题陈述)
涉众是谁?用户是谁?他们各自的需求是什么?
产品的特性是什么?
功能性需求是什么?(用例)
非功能性需求是什么?
设计约束是什么?
2. 达成计划
“产品的质量只会和产品的计划一样好。” (2)
在 RUP 中,软件开发计划(SDP)综合了管理项目所需的各种信息,也许会包括一些在先启阶段开发的单独的内容。SDP 必须在整个项目中被维护和更新。
SDP 定义了项目时间表(包括项目计划和迭代计划)和资源需求(资源和工具),可以根据项目进度表来跟踪项目进展。同时也指导了其他过程内容的计划:项目组织、需求管理计划、配置管理计划、问题解决计划、QA 计划、测试计划、评估计划以及产品验收计划。
软件开发计划的格式远远没有计划活动本身以及驱动这些活动的思想重要。正如 Dwight D.Eisenhower 所说:“ plan 什么也不是,planning 才是一切。”
“达成计划”—和列表中第 3、4、5、8 条一起—抓住了 RUP 中项目管理流程的要点。项目管理流程包括以下活动:构思项目、评估项目规模和风险、监测与控制项目、计划和评估每个迭代和阶段。
3. 标识和减小风险
RUP 的要点之一是在项目早期标识并处理大的风险。项目组标识的每一个风险都应该有一个相应的缓解或解决计划。风险列表应该既作为项目活动的计划工具,又作为确定迭代的基础。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11