转自DW中国
作者:陈 樟洪, 高级软件工程师, IBM
公元前……很多年(抱歉,因为笔者的历史知识实在糟糕),也就是在我们的祖先发明公元纪年前的某一天清晨,在贺兰山附近的一个山头,因为饥饿人们早早地就从湿漉漉的山洞里走出来,聚集在昨天晚上吃掉的动物尸骸边开始为今天的口粮讨论。大家对于如何围捕山谷中那两头野鹿持有不同意见,于是这样的讨论在语言尚未形成、基本靠手势的交流方式下进展得异常艰难。为了快速达成一致,部落里的智者兼巫师灵机一动,拿出平常绘画祭祀图符的石块,在岩石上把他综合两方意见后的计划画了出来,图1.1就是贺兰山岩画。
大伙儿对于这样的围捕计划发出了“嗷嗷”的叫声表示赞同,对于巫师的能力那是更加的顶礼膜拜。在太阳刚从山间漏出一小脸儿的时候,人们已经开始按照巫师的指示行动了,看来今天将是一个可以饱餐一顿的好日子。
是什么让人们对巫师的计划顶礼膜拜?除了绘画技巧,应该还有巫师的聪明和智慧。他能把人们的需求和行动方案进行分析和抽象,并最终用图画的方式表示出来,这样即便没有足够的语言进行信息交流,人们也能够通过这些岩画上的人物肢体、位置等很直观的图像获得所需要的信息。所以使巫师获得部落的崇拜并不是什么神的能力,而是巫师出色的“建模”能力,在古代人类的智慧里出类拔萃,从而获得其他人的尊重。
穿越时空回到现代社会,我们依然可以发现,直观的模型往往具有比语言更强的信息传达能力,并且可以避免语言中一些模棱两可的描述所带来的不同理解。这也是为什么在语言高度发达的今天,我们依然需要用鼠标(巫师的“石块”)和电脑屏幕(巫师门前的岩石),分析人们的需求(也许要比打两头野鹿要复杂得多),用抽象的图形和文字的辅助对这些复杂的需求、流程进行模型建立,描绘出其内、外部的关系,信息的流通渠道、时序等信息。
经历了20世纪60年代中期到70年代中期的软件业大发展时期,和20世纪90年代到21世纪初的软件产业的高速发展;从一开始发现自由软件开发过程中存在的问题并导致“软件危机”这一名词的产生,到现代软件工程中的CMM模型的创建、ISO过程的确立及Agile方法的普及,都说明了我们的计算机应用技术的日益强大及日益庞大、复杂和变化的业务需求之间似乎是一个不可调和的矛盾体。
也许正是因为这些模型变得日益复杂,我们才抛弃了石块,发明了鼠标,摒弃了巨大的岩壁,而改为使用小小的荧屏,并且开发出了很多工具和模型来帮助我们从事相关的建模工作。
巫师已经永远的退出了历史舞台(不排除某些人迹罕至的地方,还保留这一“神圣的”职位),在浩瀚的历史长河中,他们完成了他们的建模任务(仅仅是捕捉野鹿么?好像还有野猪什么的),历史的重担现如今已经交到了IBM手中。
在介绍建模工具之前,让我们先回顾一下建模语言的发展历史。公认的面向对象建模语言出现于20世纪70年代中期,在从1979年到1994年的15年中其数量从不到10种增加到了50余种,语言的创造者为了努力宣传自己的产品,还曾经爆发了一场“方法大战”。20世纪90年代中期,一批新方法又出现了,其中就有大名鼎鼎的Booch 1993,OMT-2及OOSE等。
作为面向对象方法最早的倡导者之一,Grady Booch提出了面向对象软件工程的概念,并于1991年将面向Ada的工作扩展到了整个面向对象设计领域。Jim Rumbaugh等人提出了面向对象的建模技术(OMT)方法,采用了面向对象的概念,并引入各种独立于语言的表示符。1994年Jacobson提出了OOSE方法,其最大的特点是面向用例(Use Case),同时在描述用例中引入了外部角色的概念,从而将用例这一能够精确描述需求的工具贯穿于整个软件开发过程中。这些新方法的出现,尤其是Jim Rumbaugh等人提出了面向对象的建模技术(OMT),采用了面向对象的概念,并且引入各种独立于语言的表示符,其所定义的概念和符号可用于软件开发的分析、设计和实现的全过程,极大方便了软件开发人员,减少了因为表示符号的不统一或者概念的转换而导致的一些额外的工作和交流困难。
1994年10月,Grady Booch和Jim Rumbaugh首先将Booch 93和OMT-2统一起来,于1995年10月发布了第一个公开版本,称之为统一方法UM 0.8(United Method)——非常佩服他们可以把名字起得这么有前瞻性。Jacobson于1995年秋天也加入了这个团队,经过三人的共同努力UML 0.9和0.91在1996年相继发布,并将UM重新命名为UML(Unified Modeling Language)(再一次为大师们在命名方面的高瞻远瞩所倾倒)。UML成员协会也随之成立,IBM、Rational、Microsoft、HP和Oracle等业界显赫的公司都在其列。
在1997年正式发布UML以后,大量商用UML建模CASE工具也相继粉墨登场。说起建模工具,一个响亮的名字——IBM Rational Rose就如同一座里程碑矗立在建模领域,让我们就从IBM Rational Rose谈起。
IBM Rational Rose的前身是美国的Rational公司开发的产品,在Rational被IBM公司收购后,更名为IBM Rational Rose。IBM Rational Rose是一种面向对象的基于统一建模语言(UML)的可视化建模工具,能够以组件化和可视化的方式为企业级软件应用进行建模。就像戏剧导演设计剧本一样,软件设计师则使用Rational Rose,以拖拽的方式,利用模板中的各种元素,如椭圆、对象(矩形)和消息/关系(箭头)来为一个应用框架建模。当模型被创建后,设计师就可以使用Rational Rose选择C++,Visual Basic,Java,Oracle 8,CORBA或者数据定义语言(Data Definition Language)等来产生代码。
Rational Rose受欢迎的两个特征是它提供迭代式开发模型和反向工程的能力。Rational Rose允许设计师利用迭代式开发模型,在各个进程中通过把一个迭代的输出变成下一个迭代的输入,(这和瀑布式开发模型形成对比,在瀑布式开发模型中,用户开始测试之前,整个工程需要被从头到尾地完成)。然后,当开发者开始理解组件之间是如何相互作用和在设计中进行调整时,Rational Rose能够通过回溯和更新模型的其余部分来保证代码的一致性,从而展现出被称为“反向工程”的能力。Rational Rose是可扩展的,可以使用可下载附加项和第三方应用软件,它支持COM/DCOM (ActiveX),JavaBeans和CORBA组件标准。
Rational XDE是IBM Rational产品系列中用于软件开发的工具平台。Rational XDE合并了软件分析、设计、程序开发及自动化测试,并以IBM WebSphere Studio Workbench注 1 IBM WebSphere Studio Workbench是Eclipse的一个IBM的商业实现,它除了拥有Eclipse的可扩展框架外,还具有很多IBM开发的商业功能。1 或Microsoft Visual Studio .NET作为基础平台。Rational XDE使程序员能够流畅地完成软件的分析、设计、编码和测试的工作,而无须打开其他的开发工具。Rational XDE 有两个版本,一个是支持Java/Java EE软件开发的Rational XDE for Java版本,另一个是支持微软.NET平台软件开发的Rational XDE for NET版本。
有人可能会问WebSphere Studio和Rational XDE之间是什么关系呢?WebSphere Studio是用来进行Java/Java EE开发、测试和部署的集成开发环境。WebSphere Studio提供给不垃圾广告面的开发人员相同的用户体验,从而节省了开发人员用于熟悉工具的时间。Rational XDE与WebSphere Studio所关注的角度不同,它是以建模、运行时分析和自动化测试为目标的。它以插件的方式集成到WebSphere Studio的集成开发环境中,成为WebSphere Studio的一个功能部分,在提供新的功能的同时还有效地与WebSphere Studio的原有功能进行协作,实现了模型和代码同步的双向工程的特性。当Rational XDE被插入到WebSphere Studio时,会新增加一个叫做“建模”(Modeling)的透视图,专门用于对系统进行建模,实现对系统的分析与设计。下面主要介绍一下Rational XDE for Java。
Rational XDE for Java是一个非常强大的贯穿于整个软件开发生命周期的用于设计、编码、测试、团队沟通和构建文档的集成开发工具。Rational XDE for Java 的诸多特性可以改进你的工作方式,它可以帮助你:
1.更有效的工作
不但允许你使用经典的设计模式,同时允许你定义自己的模式,并且自动地验证你的软件体系结构、设计和代码模板、模型模板,从而节省你的时间和精力,并帮助你符合合理的标准。同时,你可以重用你累积下来的代码方案和设计模式,并且将他们与你的团队共享。
2.形象化所有的信息类型
你既可以使用统一建模语言(UML)进行建模,也可以使用非UML中定义的自由形式的模型。这样可以增强对软件系统的描述能力。
3.产生更加优质的代码
对UML的校验的支持和针对于特定编程语言的标准检查,可以帮助你确定模型和代码的规范性。同时你可以自动或手动地同步你的模型和代码之间的对应关系。
4.使共享项目信息更加容易
通过将设计和开发的工作产品作为Reusable Asset Specification(RAS)的产物,你能够将阶段性的工作产品作为公司资产进行存档,并将它们发布到本地的或共享的RAS存储库中。另一种共享你的工作成果的方法是,使用Rational XDE Extensibility APIs将你开发的模型输出成为HTML的形式,复制图形到Word文档或者创建自定义的报告和表格,将这些形式的文档分发给你的同伴。
2006年6月5日,IBM宣布收回如表1.1所示的Rational Rose XDE产品系列。Rational XDE组件正在退出市场;但IBM仍继续支持Rational Rose组件,这些组件将重新封装到一组新的产品组合中。
表1.1 IBM宣布收回的Rational Rose XDE产品系列
收回产品 | 替代产品 |
IBM Rational Rose XDE Developer Plus V6软件 | IBM Rational Rose Developer for Java V7软件 |
IBM Rational Rose XDE Developer Plus V6软件 | IBM Rational Rose Developer for Visual Studio V7软件 |
IBM Rational Rose XDE Developer Plus V6软件 | IBM Rational Rose Enterprise V7软件 |
IBM Rational Rose XDE Developer Plus V6软件 | IBM Rational Rose Modeler V7软件 |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14780873/viewspace-600432/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/14780873/viewspace-600432/