UML复习系列之二(工具使用)【原创】
0.本篇文章讲述Microsoft Visio 2003(中文版) 及 Rational Rose Enterprise Edition 2002(英文版) 的在UML 上的简单使用,UML 的学习重在对其思想的理解,(其基本概念的学习,请参考我的文章“UML复习系列之一(基本概念)”)而非局限于工具使用,转载请注明“天衣有缝”原创,本人新手,个中细节谬误之多难免,尚请方家不吝指正为幸。^_^
1.Microsoft Visio 2003(中文版)
A.安装,打开visio工具,选择菜单:“文件”-》“新建”-》“软件”-》“UML模型图”,进入系统。左边将出现“形状”视图,如未出现,选择菜单:“文件”-》“模具”-》“打开模具”-》“软件”,选择需要的UML模具。
B.类图:选择“形状”视图的“UML精通结构”,里面出现如“类”,“接口”,“依赖”,“使用”之类的对象。选择类,鼠标拖动到工作区间,双击之,出现“属性”对话框,里面可以填入类名。
填入的类名将会在“模型资源管理器”中出现。由于在操作过程中出现复制或其他操作,对象可能会以红色显示,这表明对象名有冲突,需修改之,否则在自动生产代码时可能会发生错误。
C.类的成员变量:打开类的属性对话框,在左边的列表框中选择“特性”,双击右边列表框中的第一个条目,可以编辑成员变量名称,在“类型”列中可以指定成员变量的类型。可见性可以指定“public,protected,public”,其意义与C++相同。
D.添加private成员变量和public成员变量各一个,点确定返回到主窗口,刚才的编辑即显示在视图之上。
成员变量前面有“+”表示为public,“-”表示为private,“#”表示为“protected”。
E.类的成员函数:打开类的属性对话框。在左边的列表选择“操作”。右边列表框中各项分别为成员函数名,返回类型,可见性,多态等属性。这里我们输入一个函数名,右边的“属性(P)...”按钮将由disable变为可用,鼠标点击,弹出对话框,在左边列表框选择“参数”,右边即可编辑某个参数的属性。过程教简,此处略去。
F.组成线和继承线:(这两个名词的定义请参考我的文章“UML复习系列之一”),我们建立了几个类,名称分别为“太阳系”,“水星”,“冥王星”,“土星”,“地球”等类,显然,后面的几个类都是“太阳系”的组成之一,拖动左边“UML静态结构”的“复合”对象到主窗口(是个菱形的实心箭头是也),箭头的实心箭头连到“太阳系”,另一头连到“冥王星”。双击该组成线,弹出属性对话框,大家可仔细琢磨里面的含义。“继承线”是左边视图的“归纳”对象。(UML称“继承”为“范化”,MS这里的“归纳”可能不太标准吧,嘿嘿,猜的),其操作和组成线一样简单。
G.对象:拖动左边“静态结构”的“对象”到主窗口,双击之可编辑对象名和对象所属的类,也可以对该对象的成员赋初值。
H.顺序图:选择左边“形状”视图的“UML 序列”,拖动两个“对象生命线”到主窗体,在添加一个“消息”对象,双击之,可以编辑“消息”的属性。说明:消息的同步和异步具体是哪个本人不太清楚(设计中用的也不多),在rose的使用中将会有解释,可参考之
I.至此,visio篇结束,书店里厚厚的一本被俺一讲,只剩下这么点咚咚,呵呵(里面的一些UML的繁文缛节讲述的实在太多,我主张实用第一)。用了一段时间的visio,大多参考书和同事切磋,渐觉其不爽(对UML标准的支持感到有些死板),遂转入rose,毕竟是“那三个人”出的产品,而今被imb一购,来势颇为惊人,hoho
2.Rational Rose Enterprise Edition 2002 (英文版)
A.rose是一种工具,提供建立、视图、修改和操作组件的能力。windows和unix各有相应的版本。
B.类图:安装rose,双击开始菜单的“Rational Rose Enterprise Edition”图标,打开rose建模平台,选择“VC6 MFC6.0”(其他工具也是一样的),系统默认为我们建立了一个名为“MFC 6.0”的包,双击之,可以看到这个包里面的一些类。左边视图选择“Logical View”,双击“main”可在右边的设计窗口设计类图。中间是工具条,较简单,略。
C.用例图:在左边的“browse”视图中,选择“use case view”,双击“main”,出现用例图主窗口。在“browse”和主窗口之间,有一些UML工具对象,拖动2个“actor”对象到主窗口,在加入一个“use case”对象(这里命名为“Add Task”,下文中还要用到),创建2个“actor”到“use case”的“unidirectional association”对象。读者可尝试编辑这些对象的属性。说明:“actor”的创建可以点击“use case view”的右键菜单,“new”-》“actor”,给它一个名字,然后拖动它到主窗口。在主窗口中可以按“del”键删除之,但是“use case view”中还存在,需要时可以拖回来,按“ctrl + D”可彻底删除之。
D.顺序图和协作图:右键点击左边视图的“Add Task”对象,选择菜单“new”-》“sequence diagram”,产生顺序图,输入一个名称,(这里输入“Add Task”),双击之,进入顺序图设计界面。中间会出现相应的工具条。从左视图中拖入一个“actor”,工具条中拖入几个“object”,拖入箭头工具(表示消息),读者可尝试操作并丰富之。我们可以从顺序图中直接得到协作图,它们是对同一模型的不同角度的观察。按“F5”可在它们之间切换。两边都可以调整设计视图。
E.静态视图:逻辑视图中建立几个类,可与顺序图中的object相关联。打开顺序图的设计界面,将类拖动到对象(“object”)上即可。
F.现实模型:系统的实现结构,可能是包图,部署图之类的咚咚。打开“component view”的“main”设计界面,工具条出现相应的工具。点击“component view”的右键菜单,选择“new”-》“component”添加一个“component”,双击弹出其属性,可以设定这个包的属性,如exe,dll,activeX等,拖动之到设计组件设计视图。在左边“browse”视图 中拖动类到包中,类就是这个包的组成之一了。
G.rose中代码自动生产是个复杂的问题,本菜鸟尚不会操作,请高手赐招,(也许俺的下一个教程就是呢,呵呵)
后记:
想和大家一起学东西,无奈基础甚弱,文学上更词不达意,有些朋友看的晕晕的,再次表示道歉,我相信终有一天我写的文章人人都可以看懂的。写的辛苦,转载请保留天衣有缝原创,爱好c++,希望能与诸虾米一同煮酒,方为人生一快!
写于2005.01.03凌晨00:20 深圳南山科技园