计算机应用论文对两款UML建模工具的功能评价
所属栏目:特殊教育论文
发布时间:2013-11-09 10:28:05 更新时间:2013-11-09 10:48:01
计算机应用论文发表期刊推荐《现代计算机》杂志于1985年创刊,由中山大学主管主办,是一本面向计算机全行业的综合性学术刊物,一直以来致力于营造一个融洽的学术交流平台,帮助读者对象在学业、事业上更上一层楼。
摘要:这篇文章针对UML建模工具的功能,从用户的角度提出了一种评价的方法。这种方法包括了对工具七个方面的功能进行测评,并且应用这一方法对当前最热门的两款工具ModelMaker和RationalRose进行了测评,通过测评最后得出了每种工具的优缺点及它们的适用场合。
关键词:功能评价,CASE工具,modelmaker,rationalrose
1概述
随着UML的提出与发展,UML建模工具也越来越多,每一个软件开发者都希望找到适合自己的,拥有自己所需要的功能并且尽可能简单的建模工具。为此本文提出了一种基于用户的对UML建模工具的功能评价的方法,并且对两款CASE工具做了简单的评价与比较。开发者也可以通过对下面几个方面的评价与测试来选择一款合适的工具。
2基于用户的功能评价
2.1绘图支持
绘图支持功能的评价主要从三个方面入手,具体如下:
(1)工具应使绘图工作简单而有趣,不仅必须提供优秀的选择、放置、连接和定义图中元素的机制,而且要帮助建模者着色,形成一张正确的图。
RR的绘图区中提供了很好的选择功能,可以方便地选择某个,某些或全部元素,另外在绘图窗口中的右键菜单中还提供了“selectinbrowser”在浏览器中选择的功能。MM同样提供了方便的选择功能,
(2)工具还应该有理解元素语义的能力。这种能力能够提示一个具体的操作与其他操作之间存在不一致问题。比如,在一个模型中,若修改某个图后,将会引起该图与其他图的冲突,这时系统就会自动警告,提示建模者的修改可能出现错误。
在测试不一致问题时,将从以下两个方面进行。
浏览窗口中显示的不一致:
RR中在左边的浏览器中的用例视图和组件视图中都可以创建类,如果在同一个视图中创建两个同名的类会发出警告,并且最终不允许类名相同。如果在不同的视图中创建两个相同的类,则也会出现警告,但最终将允许类名相同。
RR中浏览器中的用例视图和组件视图中都可以创建类图,无论在相同或者不同的视图中创建一个同名的类图,系统都不会发出警告,并且默认它们为不同的类图。在两个视图中还分别可以创建用例图和序列图,协作图,活动图等,创建同名图的时候都属于上述情况。
MM的界面设置相对合理,因此极少出现次类情况。
图与浏览器显示的不一致:
RR中在右边绘图窗口中的图与浏览器中所表示的图于元素是对应的,如绘图区的类图中加入一个新类,那么,左边的浏览器中,类图名子下就会多出这个类。但是,如果在绘图区中用DELETE键将该类删除时,浏览器下仍然保持显示这个类,并且没有任何警告。而反过来在浏览器中删除元素则会正常地对应到图中。
MM中在绘图区删除某一元素,也不会直接反映到浏览器中,这一点与RR很象。
(3)工具也应该提供图的版面设计功能。比如,允许建模者重新排列模型元素,而代表消息的线条由工具自动地重新排列,使它们彼此不会交叉。
RR中在绘图区点鼠标右键出先的菜单中有一项“fitinwindow”功能,这一功能的主要作用是调整整个图在窗口中的位置,采取缩小的方式尽量将图一次全部显示出来。
RR中没有自动调整图内各元素位置的功能。例如,当图中线条有交叉时,只能通过手动调整。
MM具有全屏显示图形的功能。
MM具有较强的自动排列功能。可以在绘图区的右键菜单中找到该功能,使用这一功能不仅可以让图中的各元素的位置变的更合理,还可以重新排列各元素位置,以消除线条的交叉现象。
MM中的类图还可以自动按继承关系排列。该功能同样在绘图区的右边键菜单中。使用该功能可以使类图中的类按照继承关系自上而下排列,最上层的将是祖先。
2.2导航
把几个视图和图合起来共同描述一个系统的时候,能够方便地在视图和图之间导航是很重要的。CASE工具一定要支持导航功能,达到方便地浏览不同的图和搜索模型元素的目的。
(1)在CASE工具中表示的模型元素本身应该具有超链功能。右击元素应能弹出一个快捷菜单,上面显示普通的操作并给出可能的导航。
RR没有超链功能。
MM具有超链功能。用法为点击超链按钮,再点击图中想要加超链的图形元素,选择链接目标,便可以在添加超链元素的右键菜单中的“Navigation”子菜单下找到链接目标。比如说,给A类添加超链目标为B类,那么便可以在编辑A类的同时方便地找到B类,给设计者带来了很大的方便。
(2)另一种控制复杂图的方式是定义过滤器,用过滤器把图中一些开发者感兴趣的方面独立表示出来或高亮显示。有了过滤器,建模者就可以在某一时段只研究那些重要的高亮显示部分。
RR中没有过滤器功能。
MM具有过滤器功能。主界面中的左下角的窗体用来显示图中与某个元素直接相关的子元素。比如说,一个类的所有属性、方法、事件、域等信息都显示在这个窗体中,该窗体上方有过滤按钮,可以分别过滤属性、方法、事件、域等信息,按下相应的按钮则该信息被过滤,不会显示在该窗体中,直到再按下该按钮取消过滤。
MM中的绘图区域还可以选择是否显示类的关系,类的细节,单元的关系等等。这一点也属于过滤器功能。
综合上述可以看出,在导航方面RR的功能明显不足于MM。
2.3输出图表
一个经常被忽略的关键特性是用某种格式输出图表,以便引入到文字处理文档或Web页面中。用于输出的最流行图像格式是GIF、PNG和JPEG。这一功能将大大方便开发文档的制作。
MM中绘制的图不仅可以直接打印(“print”功能),还可以通过“exportasimage”功能将绘制的图做为图片文件输出,它支持的格式有WMF、PNG、BMP、JPG。用哪种格式来保存可以随意选择。
RR也支持“print”功能,但是如果想将图作为图片文件输出的时候就必须通过工具栏中的拷贝按钮将图中元素拷贝,再粘贴到其他的文件中。比如说可以粘贴到WindowsXP自带的画图软件中,或者干脆直接粘贴到WORD文档中。
2.4双向工程
一款优秀的UML工具都支持由模型自动生成代码,而今天这一技术非常有限,一般只能对类产生代码。
逆向工程与代码生成几乎是对立的二个功能。CASE工具阅读和分析代码为的是用图显示代码的结构。通常只有静态(比如类图)能用代码构建,动态信息是不能从代码中提取的。
产生代码和逆向工程合在一起称为双向工程(ROUND-TRIPENGINEERING)。
RR只能产生类代码,产生代码时将自动转入开发环境的创建工程步骤,并将其引入该工程,如果系统没有安装所需要的开发环境的话,那么将用一个WINDOWS文本文档来保存代码。
RR生成代码后如果对模型有所修改,那么它并不能够自动地反映带模型中去,必须通过手动来升级代码,通常会使用生成代码菜单中的“UPDATACODE”功能。同时修改代码要想获得新的模型也需要手动完成。
MM采用了强大的实时同步引擎,使得开发者的设计可以直接映射成代码,在代码上的修改可以自动逆向反映到设计模型。也就是说修改模型或者代码时候,它会自动地映射到代码或模型中去,而无需要手动升级。这一点RR很难做到。
2.5多用户支持
CASE工具应能让多个用户在同一个模型上协同工作。也就是说,彼此之间没有干扰。一般地,如果一个用户正在某个图上工作,那么该用户应该锁定这个图,不让其他用户同时改变这个图。更进一步地说,CASE工具要具有识别对积累中共享元素的任何改变的能力,但是这种改变是否适当是否有效还要靠用户决定。
RR通过使用控制单元支持多用户的并行开发。控制单元可以是用例视图、逻辑视图、组件视图中的任何包。也可以是配置视图和模型道具单元。在控制一个单元时,这个单元中所有模型元素存放在独立于模型的文件中。这样独立文件可以利用支持SCC的版本控制工具进行控制。在使用控制单元的过程中,如果希望在任何时候都可以浏览但不能修改项目,可以对控制单元写保护。
RR中的ModelIntegrator(模型集成器)可以比较和合并多个Rose模型,这项功能在多个设计人员共同开发时也非常有用,每个人可以独立工作,最后再将所有的模型集成到一起。
在MM中,模型分界线是一对相关的问题,因为他们处理同样的问题:什么应该在一个模型中而什么不应该在一个模型中。使用模型分界线功能可以完成多用户的共同开发。
2.6集成
建模工具与系统开发时需要使用的其他工具形成一个整体,就是集成。其他工具主要包括开发环境(比如,编辑器、编译器和调试器)和企业工具(比如,配置管理和版本控制系统)等。
CASE工具一定要能与其他工具集成,这样才能给开发者带来最大的方便,也是使用UML工具进行系统设计的先决条件。
一款UML建模工具可以集成的工具有开发环境、配置和版本控制、文档工具、测试工具、GUI构造器、需求说明工具、工程管理和过程支持工具等七种。
(1)开发环境:
Rationalrose:add-inmanager:很多外部的产品都对rose发布了add-in支持,以对rose的功能做进一步的扩展,如java、oracle、delphi,有了这些add-in,rose就可以做更多的深层次的工作了。例如装了delphilink之后,rose就可以直接可以生成delphi的框架代码,也可以从delphi代码转化成rose模型,并进行两者的同步。
Modelmaker:为delphi的建模而开发,因此与delphi可以说是无缝隙连接。
(2)文档工具
Rationalrose:提供了文档窗口,它包含与模型元素规范窗口中完全相同的信息,描述模型元素或者关系,描述角色、约束、目的以及模型元素基本行为等信息。文档窗口中输入的一切都将显示为生成的代码中的说明语句,以后不必输入系统代码的说明语句。
Modelmaker:图中的每一个单元,类,类的所有成员,事件类型和符号都可以用一个简短的描述(成为“OneLiner”)和更长的文本(称为文档)来进行文档化。为编辑“OneLiner”和文档,我们将使用文档视图。我们也可以使用浮动的文档窗口来进行编辑。
3结论
从绘图支持、打印、导航、双向工程等九项功能指标当前最流行的两款Case工具进行测评。通过评测试,对结果进行比对,不难看出:
(1)MM的界面虽然较RR复杂,但是使用起来更加方便。
(2)在绘图支持这项功能的评测过程中,可以发现MM在不一致检查,自动排版等方面都强于RR。
(3)导航方面MM又具有了RR所不具备的超链接和过滤器功能,为开发者提供了更大的方便。
(4)MM采用了强大的实时同步引擎,使得开发者的设计可以直接映射成代码,在代码上的修改可以自动逆向反映到设计模型。而RR不能做到这一点。
综上所述,Modelmaker的优势在于它的绘图操作更加的方便,而Rationalrose的优势主要在于它支持更多的开发环境。
参考文献:
[1]MartinFowler.UMLDistilled[M].AddisonWesley,2003.
[2]蔡敏,徐慧慧,黄炳强.UML基础与Rose建模教程[M].人民邮电出版社,2006年.
[3]刘文红,王占武,吴欣,刘莹.软件评测技术研究与实践[J].飞行器测控学报,Jun2004,Vol23.
月期刊平台服务过的文章录用时间为1-3个月,依据20年经验,经月期刊专家预审通过后的文章,投稿通过率100%以上!