一起来学UML(1)——UML建模工具Umbrello初体验

一、UML

UML是统一建模语言,是一种可视化的语言。本系列内容拟通过Umbrello工具一起来学UML。正向逆向工程均以C++代码为例。

 (本文第一次上传图片时图片都在本地,所以读者们一直看不到图片,这里我重新整理了一下这篇文章)

二、UML工具对比

我所接触到的工具以及其各自的特性如下:

工具名称                       优点                                          缺点

Rational Rose             功能全,可以正向和逆向工程         收费,且其比较庞大

Visio                           简单                                          收费,无正向和逆向工程

VS2008                      可以逆向工程                              收费,逆向工程也不是很完美,所能表达的关系太少

                                                                                 (貌似只能表达泛化关系,即继承关系)

UML Start                   免费,可以正向工程                     无逆向工程

Umbrello                    免费,跨平台,可正向逆向工程      Windows下安装稍微有点复杂

 这里的“正向工程”是指通过UML图来生成代码,逆向工程是指通过代码生成UML图。

 

三、Umbrello的安装

在Linux安装应该是比较方便的,我在Fedora中用过。这里说说Windows下的安装。

1. 下载

http://windows.kde.org页面点击“Download Installer ”即可下载KDE。基于KDE可以在Windows下跑Linux应用。

2. 安装KDE

安装过程中步骤为:

一起来学UML(1)——UML建模工具Umbrello初体验_第1张图片

    a. 选择"Install from Internet",如上图。

一起来学UML(1)——UML建模工具Umbrello初体验_第2张图片

    b. 选择安装路径,如上图。

一起来学UML(1)——UML建模工具Umbrello初体验_第3张图片

    c. 安装模式选择终端用户,编译器模式我选择的是MSVC2008,如上图。

一起来学UML(1)——UML建模工具Umbrello初体验_第4张图片

d.选择临时现在的文件存储的路径,如上图。

一起来学UML(1)——UML建模工具Umbrello初体验_第5张图片

e. 选择联网方式,我这里选择的是直接接入,如上图。

一起来学UML(1)——UML建模工具Umbrello初体验_第6张图片

f. 选择一个站点来下载安装文件(我选的jp,速度还可以),如上图。点击下一步之后入进入下图,如果没有看到任何内容,可以返回这一步重新选择一个站点,如上图。

一起来学UML(1)——UML建模工具Umbrello初体验_第7张图片

g. 我选择的stable latest,如上图。

一起来学UML(1)——UML建模工具Umbrello初体验_第8张图片

h. 选择kdesdk,可以看到后边括弧中有umbrello,如上图。其实,在4.3版本中是单独的一个umbrello,大家可以根据自己选择的kde版本,在列表中找一下。之后点击下一步、下一步、完成、即可完成安装。

一起来学UML(1)——UML建模工具Umbrello初体验_第9张图片

安装好之后可以在开始->程序中看到上图。

一起来学UML(1)——UML建模工具Umbrello初体验_第10张图片

点击Umbrello,启动后窗口如上图,大功告成。 

四、Umbrello设置

点击Settings->Configure Umbrello.

a. 默认语言,General->Default Language中,即启动Umbrello之后默认的语言;

b. 支持的语言,Code Generation->Language中,若默认语言为C++,而你想生成Java,那么在这里选择。同时可以看到Umbrello支持的语言;

c. 生成代码的路径,Code Generation->Folders,这个很重要,如果是一个不存在的路路径,就如法生成代码。 

五、Umbrello初体验

a. 点击上图中的“类图”(第3行第6个图标),生成一个名为Base的类,然后再创建一个名为Derive的类。

b. 点击上图中的“实现关系”(第3行第14个图标),然后先点击Derive类,再点击Base类,可以看到如下图的UML类图:

  一起来学UML(1)——UML建模工具Umbrello初体验_第11张图片

该图表示类Derive集成了Base,Derive实现了Base。

c. 正向工程。点击工具栏Code->Code Generation Wizard,然后选择要生成代码的类。完成之后可以在Settings中设置的代码路径中看到四个文件,Base.h, Base.cpp, Derive.h, Derive.cpp。

如果点击工具栏Code->Generate All Code,则会直接生成所有类的代码。

d. 逆向工程。

删除左边UML Model中的Logical View中的Base和Derive,并且删除绘图区域中的图。

右击上图中的Logical View,选择Import Class,选择刚才生成了Base和Derive类的.h文件。这时又可以看到Logcal View中有了Base和Derive两个类,将这两个类分别拖动到绘图区。Umbrello自动帮我们生成了类图以及类之间的关系。 

六、小节

 认识了一款优秀的UML建模工具——Umbrello,后续将基于该工具来介绍UML。此外,学习使用Umbrello,有以下几个好处:

1. 他是开源免费的,可以让我们摆脱对收费软件的依赖

2. 本身出身与Linux平台,我们知道如何在Windows上跑Linux下的一些程序

3. 等于是学习了一款跨平台的工具,以后我们在Linux下可以很顺手的用Umbrello进行建模

一起来学UML(1)——UML建模工具Umbrello初体验

一起来学UML(2)——类图和泛化

一起来学UML(3)——类间的依赖、关联、聚合、组合关系

一起来学UML(4)——类图中的多重性(Multiplicity)

一起来学UML(5)——用例图

你可能感兴趣的:(UML)