(RUP核心概念解析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(RUP核心概念解析

来源:/Article/programme/softwareengineering/200503/2986.html RUP核心概念解析 2005-03-16 07:26:00??作者:佚名??来源:松耦合空间制作组? 关键字: 文档 教程 软件工程 在实践中,笔者发现,对概念的理解不到位,特别是对概念之间的关系理解不到位,是阻碍不少人成功应用RUP的原因之一。 ??本文采用“为概念及其关系建模”的方法,对概念及其关系进行考察,以期深入理解RUP的核心概念。 ??1、弄清概念的必要性 ??随着软件学科和软件业的不断发展,“名词”越来越多。但是,“名词”背后的“含义”也真的有如此之多的增长吗? ??举个例子。1986年,Barry Boehm提出了软件开发的螺旋模型。从那时起,螺旋模型被当作软件开发的标准方法。螺旋模型还有其他不同的常用名字,比如演进模型,或者迭代模型[1]。类似的例子还有很多。 ??看来,软件界存在不少这种“新瓶装旧酒”的现象——一个新名词出现了,它可能仅仅是披着新的表达形式的外衣,而其含义其实和某个旧名词相同。 笔者认为,在软件学科飞速发展的今天,反而是踏踏实实搞清楚“变幻无穷”的诸多名词背后的真正含义,才是最便捷之道。 ??2、本文的方法:一图胜千言 ??本文采用“为概念及其关系建模”这样一种方法,不仅考察单个名词的含义,还考察名词之间的关系。 ??一图胜千言。一个概念的本质,往往需要从它同其他概念的关系中,得以体现。不仅考察个体,还考察多个个体之间的关系,这种方法在系统论中,被比喻成“1 + 1 2”。令人愉快的是硬币的另一面,注重考察关系这种方法,从其成本角度而言却是“1 + 1 2”。 ??3、RUP核心概念解析 ??3.1、任务来自问题 ??RUP著名的二维结构,其时间维相关的概念有阶段、迭代、里程碑等,内容维相关概念有工作流、角色、活动、工件等。但笔者发现,不少人对这些概念理解不深,特别是对概念之间的关系把握不到位,造成实践中出现问题。 ??另外,就是迭代式开发——这种包括RUP在内的多种软件工程过程都一致推崇的最佳实践——和活动、工件这些基本概念有何关系。不知道迭代和活动、工件的关系,实际应用RUP时又如何贯彻迭代式开发的思想呢? ??还有,配置和变更管理对所有现代软件开发过程都是必不可少的支持活动,RUP更是将其列为“RUP的6大最佳实践”之一。但笔者发现,不少开发人员认为配置和变更管理太麻烦,仅仅是因为他们没有理解配置和变更管理和工件的基本关系。 我们的任务,就来自于这些问题。我可以用一幅图解决这些问题吗? ??3.2、一图胜千言 ??下图是一幅UML类图,它概括了上述问题的相关概念,并着重表达了概念之间的关系。本图的丰富语义,我们通过下面几节细细来分析。 ??3.3、角色执行活动,活动生产工件 ??任何软件工程过程,都少不了角色(role)、活动(activity)、工件(artifact)等概念(或者类似概念)。 ??这些概念本身很好理解。角色是对个人或者作为开发团队的一组人的职责的规定;具体人和角色的关系,好比人和帽子的关系。活动就是角色执行的工作单元。工件就是工作的成品或半成品。 ??倒是这些概念的关系显得更加重要。角色的职责,具体体现在他执行活动和负责工件上。工件是由活动生产出来的——工件是活动的输出;比如制定《编码规范》。然而,活动本身也可能以工件为输入——活动可能要求使用工件;比如编码活动要参考《编码规范》。还有一种关系,工件既是活动的输入又是它的输出——活动修改工件;比如修改《编码规范》。 ??3.4、阶段和迭代:提供不同级别的决策时机 ??尽早解决重大风险,是软件工程管理中的一条重要原则。正如Tom Glib所说:“如果我们不主动化解风险,那么它们会自己找上门来。”[2]心存侥幸是很危险的。 ??RUP是风险驱动的。它将整个开发生命周期分为4个阶段:初始阶段、细化阶段、构造阶段、移交阶段。初始阶段着重化解业务风险,并确保所有涉众对项目达成一致的认识。细化阶段主要化解技术风险,要定义并创建可执行的系统架构。相对而言,当决定开始构造阶段的时候,风险已经比较小了。当然,风险是动态变化的,构造阶段和移交阶段照样会有这样那样的风险存在。 ??RUP的每个阶段又可分为一到多个迭代周期。采用迭代式开发,意味着有持续不断的反馈;反馈是决策的基础,也是化解风险的基础。迭代式开发的一个主要目的就是尽早降低风险,通过每次迭代中分析、按重要性排序并解决主要风险,来达到尽早化解风险的目的。 ??这个根据持续反馈来进行决策的时机,叫做里程碑(milestone)。里程碑有2种,阶段结束对应的里程碑叫做主要里程碑(major milestone);迭代结束对应的里程碑叫

文档评论(0)

popo786 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档