2.模型验证

  这个应该是很多工具不具备的。

  是在uml模型上执行。要想进行模型验证和代码生成,至少需要类图和状态机图。序列图活动图,和用例图不被使用,其他图根据需要有可能被使用。需要的图和代码生成一样。

  说是验证,实际上是把模型生成可执行代码,执行。在uml模型上,能看到执行的过程等。基本的debug机能都有,step in ,step out 等,还有break point ,代码覆盖率统计的。比较不错,第一次看到时惊奇了一把。

  3.代码生成

  能生成c,c++,java代码。并且能编译成可执行文件。

  还能生成telelogic的面向嵌入式系统的agile c。

  这次我做的是生成agile c和c代码。

  基本上生成的代码不可读,不可调试,里面很多宏定义,在uml建模时候的变量名,生成之后也变得乱七八糟的了。

  我们设计主要集中在业务领域,通过signal和外部联系。当然内部也有signal通信了。

  主函数是uml kernel提供的,不停的去检测外部环境进来的signal。默认的性能比较差,什么都不干cpu在95%以上。

  4.其他

  其它也提供了一些不错的东西,比如TestingProfile,启用了这个插件,能建立各种test case 了。而且test case 是基于序列图和状态图的,基本也不用编码,只需要画图。一组test case 建立在test context之中,这个context执行后,会生成一个xml格式的报告。

  2 下面看看Rational Rose:

  Rational Rose是Rational公司出品的一种面向对象的统一建模语言的可视化建模工具。用于可视化建模和公司级水平软件应用的组件构造。像一个戏剧导演设计一个剧本一样,一个软件设计师使用Rational Rose,以演员(数字)、使用拖放式符号的程序表中的有用的案例元素(椭圆)、目标(矩形)和消息/关系(箭头)设计个种类,来创造(模型)一个应用的框架。当程序表被创建时,Rational Rose记录下这个程序表然后以设计师选择的C++, Visual Basic,Java, Oracle8,CORBA或者数据定义语言(Data Definition Language)来产生代码。Rational Rose的两个受欢迎的特征是它的提供反复式发展和来回旅程工程的能力。Rational Rose允许设计师利用反复发展(有时也叫进化式发展),因为在各个进程中新的应用能够被创建,通过把一个反复的输出变成下一个反复的输入。(这和瀑布式发展形成对比,在瀑布式发展中,在一个用户开始尝试之前整个工程被从头到尾的完成。)然后,当开发者开始理解组件之间是如何相互作用和在设计中进行调整时,Rational Rose能够通过回溯和更新模型的其余部分来保证代码的一致性,从而展现出被称为"来回旅程工程"的能力,Rational Rose是可扩展的,可以使用刻下载附加项和第三方应用软件,它支持COM/DCOM (ActiveX),JavaBeans 和 Corba组件标准.

  当前市场上基于UML可视化建模的工具很多,例如有Microsoft的Visio2002,Oracle的Designer2000,还有PlayCase 、CA BPWin、CA ERWin、Sybase PowerDesigner等等。

  为什么要选择Rational Rose呢?这不能不提到UML的三位创始人了,面向对象领域的大师级人物:Booch、Rumbaugh和Jacobson。而这三位大师目前都在Rational公司担任首席工程师,既然UML是业界标准的可视化建模语言,那么选择Rational Rose的原因不言而喻了。

  而且Rose与Rational其他一系列的软件工程方面的产品的紧密集成使得Rose的可用性和扩展性更好。

  需求 构架(分析/设计) 建造(编码) 测试

  需求管理 - 收集、管理及传达变更的软件需求和系统需求。 Rational RequisitePro 可视化建模 - 生成一个反映软件应用程序、其构件、接口和之间关系的图形化的设计图,便于理解和交流。 Rational Rose、Rational Rose RealTime 编程环境 - Rational Apex、Rational Summit/TM、Rational TestMate、

  Rational Ada Analyzer 软件质量和测试自动化 - 提供集成化编程和测试工具来简化构件的创建,并代替昂贵、冗长且容易出错的手工测试,从而在较短的时间内、在风险已降低的情况下生成更高质量的应用程序。 Rational Suite TestStudio、Rational Suite PerformanceStudio

  配置管理

  软件配置与变更管理-在创建、修改、构建和交付软件的过程中,控制团队的日常开发。 Rational ClearCase、Rational ClearCase MultiSite、Rational ClearQuest、Rational ClearDDTS

  软件流程

  软件流程自动化-为软件经理和开发人员如何开发有商业竞争力的软件资产提供指导。 Rational Unified Process、Rational SoDA

  上面从左至右是软件生命周期的四个典型环节,下面的配置管理和软件流程是贯穿整个软件生命周期的活动。

  目前Rational Rose在中国的市场占有率大约是4成(CSDN的调查统计),在国外的占有率应该会更高。