Rational 统一建模过程的十大要素
来源:互联网 发布:马士兵java百度网盘 编辑:程序博客网 时间:2024/05/19 20:56
Rational 统一建模过程的十大要素 | ||||
为了有效的应用 Rational 统一过程 (RUP),首先要理解它的关键目标,并且弄清楚每一个目标为什么重要,他们是怎么样结合在一起,共同帮助你的开发团队满足涉众需求,生产出优质产品的。 首要的是抓住要点 “当然,但是恐怕帮助不大。”我解释道。你看,在我的外出设备清单中有好几百项,涉及很多种类型的外出,从背包攀登到滑雪,旅行时间从几天的短途旅行到很多天的远征探险。我知道,如果没有相应的指南,Randy 将会陷入冗长的清单之中,以致弄不清,就他相对简单的外出而言,什么才是他真正需要的。 始于要素,逐步递增 我拿出一张空白的纸,列出以下十个项目:(1)
“你看,Randy 。这就是你真正需要的。如果你从这十大要素出发,那么,无论遇到什么旅行,再来考虑还需要增加哪些内容就变得容易多了。”多年前,我第一次登山时,靠的就是这张清单,现在我仍然使用它,无论我准备的旅行时那种类型、要去多长时间。每一项的膨胀或者压缩取决于旅行本身。始于简短的清单,然后需要时再扩展,这是一种方式;始于冗长的清单,然后再来决定不采用什么,这是另一种方式。但是两种方式相比,前者显然要容易得多。 把这一课应用到 RUP 中 我断定,这些人真正需要的是“ RUP 的十大要素”,就像我给我的朋友 Randy 的简单的清单一样。这个 RUP 的清单,可以作为任何项目的符合情理的起点,无论小项目、中型项目还是大型项目。这个列表会聚焦在被我称之为“精华或要素”的东西上,可能是 RUP 的,也可能是任何有效软件过程的。 在所有成员领悟到提交合格产品所需要的关键过程元素之前,项目往往陷入某个特定主题的细节的沼泽中。然后,当项目拖后时,大家就会怪罪以前被过分强调的某些活动,或者是怪罪大家不理解其用处的某些活动,“嘿,我早就告诉你需求管理(或者是用例、收集项目度量数据、使用配置管理、使用缺陷跟踪工具、召开项目状态会议里面的一个或几个)会放慢我们的进度!你不信!” 有一个“精华或要素”列表让团队成员采用一种更系统、更全面的方式来思考和执行整个软件开发过程。一旦一个过程框架或“构架”到位了,团队成员就能更有效的面对和处理单个的问题域(大部分时间我得承认,需求管理应该在列表的顶部)。同样,一开始就标识显然的问题以及相关的风险,并且确定处理他们的优先级,也是很重要的,这样,团队才能在早期就根据需要采取相应的解决或缓解对策。 RUP 的十大要素
让我们逐一的审视这些要素,看一看它们什么地方适合 RUP,找出它们能够成为十大要素的理由。 1. 开发一个前景 前景抓住了 RUP 需求流程的要点:分析问题,理解涉众需求,定义系统,当需求变化时管理需求。 前景给更详细的技术需求提供了一个高层的、有时候是合同式的基础。正像这个术语隐含的那样,它是软件项目的一个清晰的、通常是高层的视图,能被过程中任何决策者或者实施者借用。它捕获了非常高层的需求和设计约束,让前景的读者能理解将要开发的系统。它还提供了项目审批流程的输入,因此就与商业理由密切相关。最后,由于前景构成了“项目是什么?”和“为什么要进行这个项目?”,所以可以把前景作为验证将来决策的方式之一。 对前景的陈述应该能回答以下问题,需要的话这些问题还可以分成更小、更详细的问题:
2. 达成计划 在 RUP 中,软件开发计划(SDP)综合了管理项目所需的各种信息,也许会包括一些在先启阶段开发的单独的内容。SDP 必须在整个项目中被维护和更新。 SDP 定义了项目时间表(包括项目计划和迭代计划)和资源需求(资源和工具),可以根据项目进度表来跟踪项目进展。同时也指导了其他过程内容的计划:项目组织、需求管理计划、配置管理计划、问题解决计划、QA 计划、测试计划、评估计划以及产品验收计划。 软件开发计划的格式远远没有计划活动本身以及驱动这些活动的思想重要。正如 Dwight D.Eisenhower 所说:“ plan 什么也不是,planning 才是一切。” “达成计划”—和列表中第 3、4、5、8 条一起—抓住了 RUP 中项目管理流程的要点。项目管理流程包括以下活动:构思项目、评估项目规模和风险、监测与控制项目、计划和评估每个迭代和阶段。 3. 标识和减小风险 4. 分配和跟踪任务 这些项目“快照”突出了需要引起管理注意的问题。随着时间的变化/虽然周期可能会变化,定期的评估使经理能捕获项目的历史,并且消除任何限制进度的障碍或瓶颈。 5. 检查商业理由 商业理由应该给项目创建一个简短但是引人注目的理由,而不是深入研究问题的细节,以使所有项目成员容易理解和记住它。在关键里程碑处,经理应该回顾商业理由,计算实际的花费、预计的回报,决定项目是否继续进行。 6. 设计组件构架 RUP 提供了一种设计、开发、验证构架的很系统的方法。在分析和设计流程中包括以下步骤:定义候选构架、精化构架、分析行为(用例分析)、设计组件。 要陈述和讨论软件构架,你必须先创建一个构架表示方式,以便描述构架的重要方面。在 RUP 中,构架表示由软件构架文档捕获,它给构架提供了多个视图。每个视图都描述了某一组涉众所关心的正在进行的系统的某个方面。涉众有最终用户、设计人员、经理、系统工程师、系统管理员,等等。这个文档使系统构架师和其他项目组成员能就与构架相关的重大决策进行有效的交流。 7. 对产品进行增量式的构建和测试 8. 验证和评价结果 根据项目的规模和风险以及迭代的特点,评估可以是对演示及其结果的一条简单的纪录,也可能是一个完整的、正式的测试复审记录。 这儿的关键是既关注过程问题又关注产品问题。越早发现问题,就越没有问题。 9. 管理和控制变化 用户拿到产品的第一个原型后(往往在这之前就会要求变更),他们会要求变更。重要的是,变更的提出和管理过程始终保持一致。 在 RUP 中,变更请求通常用于记录和跟踪缺陷和增强功能的要求,或者对产品提出的任何其他类型的变更请求。变更请求提供了相应的手段来评估一个变更的潜在影响,同时记录就这些变更所作出的决策。他们也帮助确保所有的项目组成员都能理解变更的潜在影响。 10. 提供用户支持 项目组至少要给用户提供一个用户指南(也许是通过联机帮助的方式提供),可能还有一个安装指南和版本发布说明。 根据产品的复杂度,用户也许还需要相应的培训材料。最后,通过一个材料清单(BOM 表,即 Bill of Materials)清楚地记录应该和产品一起交付哪些材料。 关于需求 刚开始我对此非常惊讶(我有军方的宇航开发背景)。他们怎么会没有需求呢?当我进一步询问时,我发现,对他们来说,需求意味着一套外部提出的强制性的陈述,要求他们必须怎么样,否则项目验收就不能通过。但是他们的确没有得到这样的陈述。尤其是当项目组陷入了边研究边开发的境地时,产品需求从头到尾都在演化。 因此,我接着问他们另外一个问题:“好的,那么你们的产品的前景是什么呢?”。这时他们的眼睛亮了起来。然后,我们非常顺利的就第一个要素(“开发一个前景”)中列出的问题进行了沟通,需求也自然而然的流动着 也许只有对于按照有明确需求的合同工作的项目组,在要素列表中加入“满足需求”才是有用的。请记住,我的清单仅仅意味着进行进一步讨论的一个起点。 总结:十大要素的应用 对于非常小的项目 实际上,即使没有任何自动化工具也可以实施十大要素。管理一个小项目,一个项目笔记本,就已经是一个非常好的起点,可以把它分成十个部分,每一部分专用于十大要素中的一个要素。(我还发现及时贴对于小项目变更请求的管理和跟踪以及确定变更的优先级非常有用。) 对于增长的项目 对于成熟的项目团队 对于所有的项目
现在你知道了,不懂得十大要素是一件非常冒险的事情。我鼓励你把它们作为项目组的一个起点。决定哪些是你们想要的,哪些是不要的,哪些是要修改的。然后,再决定还有哪些其他因素是你们项目(无论项目大小)成功(保证项目组及时的、不超预算的交付产品,并且真正满足涉众的真正需求)的关键因素。 其他要素
|
- Rational 统一建模过程的十大要素
- Rational 统一建模过程的十大要素
- Rational统一建模过程的十大要素
- 幸福的十大要素
- RUP的十大要素
- RUP的十大要素
- RUP的十大要素
- Rational统一过程
- Rational 统一过程
- Rational 统一过程
- Rational统一过程
- RUP(Rational Unified Process, Rational统一过程, 统一软件开发过程)的测试分类
- Rational统一过程(Rational Unified Process)
- Rational统一过程(Rational Unified Process,RUP)
- 选择终身伴侣的十大要素
- 友情链接必须知道的十大要素
- 成为出色工程师的十大要素
- RUP(Rational 统一过程)详解
- 转载容器类的介绍
- rmi的初体验!
- 嵌入式系统开发 (Linux)
- 转贴: .Net/C# 获取字节流编码
- SQL to Excel 的应用
- Rational 统一建模过程的十大要素
- 关于在IBM httpserver服务中添加报表服务器的说明
- 欢迎给我留言!!
- 使用Mailet处理邮件
- 模态窗口的使用(转)
- 彻底明白Java的IO系统(文摘)---JAVA之精髓IO流
- 在Rose中设置外部Java代码编辑器
- 电影收藏
- Win98下TAPI的调制解调器编程