RUP 与UML

        如果说一曲美妙的乐章是作曲家根据音乐理论进行创作最后用标准的五线谱记录下来,相信不会有什么疑问。实际上RUP 与 UML 的关系正类似音乐理论和五线谱的关系。相信有很多读者并没有考虑过这个问题,他 们会觉得统一过程和UML 就是一个东西,统 一过程就是UML,UML 就是统一过程。这个错误的认识其实是因为统一过程采用了 UML作为基本语言,再加上统一过程和 UML 都来自三位面向对象大师的研究成果,都出自 Rational 公司(见注)。但是从本质上说,统一过程和 UML 是不同的两个领域。UML 是一种语言,用来描述软件生产过程中要产生的文档,统一过程则是指导如何产生这些文档以及这些文档要讲述什么的方法。虽然现在统一过程是指导UML 的方法中最著名、应用最广、可能也是最成功的一个,但这两者却不是完全不可以分开的。

注:Rational 目前已被IBM 收购,Rational 产品也成为IBM 五大产品家族之一。

        认识到这一点,许多读者的一些疑惑就能解开。所有初学 UML 的朋友都会以为学习 UML 必须同时学习统一过程,而由于统一过程本身的庞大和复杂,成为了学习UML 的障碍。更多的UML学习者不知道 UML 该怎么用,在什么地方用,在什么时候用,用 UML 的目标是什么。相信初学者最大的疑惑就是这些吧?

         事实上笔者自己在学习 UML 初期阶段也曾经非常迷惑而不得要领,这么多 UML 元素,每个都有其特定的含义,RUP 中定义了更多更复杂的流程、模板、工具……虽然读了很多资料,却始终感觉 UML 的信息太过于分散,不能很好地把 UML 应用到实际的项目中去。直到有一天笔者认识到 RUP 和 UML 并不是天生一体的,它们只是软件方法和建模语言的一个完美结合,然后更进一步认识到其实软件过程是比UML 更重要更本质的东西;于是转变了思维,不再把UML 和 RUP混在一起造成方法和语言混淆不清,而是站在软件过程的角度,先了解一个软件项目是怎么做的,再去UML 中寻找需要的工具,用UML 中适合的工具把软件过程要达到的要求记录下来。

        正是这一转变使笔者对 UML 的认识茅塞顿开,实际上不仅仅是 RUP 和 UML 的关系,对软件项目来说,面向对象也好,面向过程也好,UML 也好,UC 矩阵也好,这些都不是最重要的,软件项目真正的灵魂是软件过程,软件过程的需要才是这些工具和语言诞生的原因。因此建议读者在学习 UML 之前,应当先系统学习软件过程。只有掌握了软件过程,才会知道为什么要有用例,为什么要有分析模型;站在软件过程的立场,那些孤独的 UML 视图才会变得有生命力,才会知道在什么时候,在什么地方需要用什么样的 UML 图符来表达软件的观点,也才会知道 UML的那些视图到底在软件开发过程里起到了什么作用。认识到这些,UML 的元模型和视图就不会再面目可憎,它们是一群有着强大能力的精灵,帮助你在复杂的软件工程道路上搭起一座座通向光明目标的桥梁。

       不过笔者的意思并不是让读者把统一过程和UML 完全分开学习或只学习其中一个,而是告诉读者一个学习 UML 的方法。目前为止统一过程仍然是与 UML 结合最广的方法,毕竟师出同门,有着天然的内在联系,学习统一过程能更好地理解 UML,这也是采用统一过程作为方法来讲述UML 的原因。   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值