最近开始学习使用rational rose进行双向工程,略有心得,记下备忘。
rational rose的帮助文档十分简洁(稍微有点过度的说) 这次主要是使用Rational Rose生成一个自己做的游戏引擎的框架代码,考虑到今后可能使用内嵌ASM 多媒体指令集来优化,所以采用C++语言。
首先需要针对C++语言对Rational Rose进行一些配置,在Diagram Window中,选择Tools->Options
这个设置模型图默认所使用的语言,如果没有预先设置的话,可能会出现“模型没有分配到C++语言”之类的提示,这样的话就需要转换类所使用的语言或者重新建类了。
然后查看browser:
 
这里rose给我们预先生成了用例,逻辑,组件,部署几个视图。逻辑视图中可以使用类图,活动图,序列图等UML标准图形来对软件进行逻辑层面上的设计。其间所有的类和关系都分门别类地放入包中,这些包之后可以通过正向工程转换为组件,再由组件生成代码。
在模型中使用第三方库就需要建立组件,把第三方库的.h和.cpp文件导入,然后逆向工程,把第三方库的元素导入逻辑视图。
右击diagram window中的元素可以在菜单中选择 ->ANSI C++->Browse Header和Browse Cpp在内嵌的文本编辑器中查看源代码,生成代码和逆向工程也在其中。
我想Rose的这个菜单布局是否是想为多种语言协作开发提供可能呢?
 
精简图面:
我记得学习C++时老师总结的一句什么是对象,非常经典:
“类的本质是对现实世界中事物的简化抽象,这个抽象是要根据具体问题而定的,C++中的对象只保留与问题有关的性质,忽略无关的细节”
用UML建模的过程其实也可以看做一个问题分解的过场,上面的观点推而广之,类和对象在uml图中也同样往往不需要显示它所有的部分,只需显示在特定图中与我们所要描述的过程或者模型相关的属性,方法即可。Eidt->Compatment选项正是精确达到这一目的工具,选择一个类,然后使用这个菜单指令,你就明白我的意思了。
更一般的,在类的右键菜单中Options子菜单中有批量隐藏,显示属性,成员的一些选项。
 
向图中添加元素:
类图标(notation)右键菜单中的add operation和add attributes可以直接增加属性或者方法,注意增加成员变量的时候,使用:就可以直接指定变量的类型了,要比打开specification窗口增加来得更快。
至于sterotype...这个明天继续学习咯
晚安~
(未完待续)