使用UMLet绘制用例图及活动图

使用UMLet绘制用例图及活动图

UMLet是一款开放源代码的轻量级UML建模工具,它能够帮助我们快速地构建用例图、活动图等各种 UML模型。

用例图充当用户要求说明的焦点。 它描述要求、用户和主要组件之间的关系。 它不详细描述要求;这些要求可以在单独的关系图或可链接到每个用例的文档中进行描述。

活动图则常常用于描述用户与你的系统之间的业务流程或工作流,某一用例中执行的步骤,描述软件中的方法、函数或操作。

在系统分析与设计中,我们常常要利用用例图和活动图来帮助分析、设计和展示,这时UMLet就能发挥很大的用处。下面我介绍一下在使用UMLet工具绘制用例图及活动图的方法,并举酒店房间预订系统为例。

安装UMLet

  1. 前往UMLet官网下载UMLet的安装包。

  2. 如果系统内尚未有java环境支持,请按提示前往Oracle官网下载环境。

  3. 按如上流程完成后,安装即可。

界面介绍

打开后界面如下:


这里写图片描述

上图中分三个区:

  1. 工作区:存放使用模型并显示模型内文本的地方,也是UML图展示的区间。

  2. 模板区:可以从中拖取模型放入左侧的工作区,注意模板区的上方有一个选项栏,点击下拉就可以选择使用如用例模板等各类模板。

  3. 文本区:选中工作区内已有的任意模型,就可以在文本区内编辑显示在该模型内的文字以及控制模型内字体和背景颜色等文本。

绘制酒店房间预订系统的用例图

首先我们需要了解一些用例图的概念:

  1. 系统System:图中的大方框,可以是小型软件组件,也可以是完整的应用程序,里面包含外部可见的功能。在我们的例子中,这指的就是酒店订房系统。

  2. 参与者Actor:系统的左侧外的人形图案,表示与你的系统进行交互的一类人、组织、设备或外部软件组件,用户可以是人,也可以是其它的应用程序。在我们的例子中,这包括酒店的顾客,以及用于支付的银行信用卡体系。

  3. 用例Use Case:即系统内的椭圆,表示一个或多个参与者为实现特定目标而执行的操作,。在我们的例子中,这些包括找酒店,订房间,下单,等等。

  4. 关联Association:连接参与者和用例的无向实线,表示参与者与用例之间的通信。

  5. 包含Includes:由用例A发出的有向虚线,指向更细化的用例B,表示要完成用例A的所有行为前,必须先完成用例B的行为,即用例B的行为是用例A的行为不可缺少的一部分。例如,订酒店时,要完成一项订单,就必须先选好酒店。

  6. 扩展Extends:由用例A发出的有向虚线,指向更大类的用例B,表示用例A的行为是用例B的扩展,是可选而非必备的。例如,在预订酒店时,在找酒店这一步,并不一定要在搜索框输入酒店名,也可以在系统给出的列表中浏览查询。

了解这些概念后,再结合我们对预订酒店房间流程的一些常识性认知,包括找酒店,下单,管理订单,支付等操作,可以大致利用刚学习到的UMLet绘制相对应的用例图,UMLet的易用性使得我们可以通过简单的拖动和少量的文本输入,展示我们设计的用例图,如下图:


这里写图片描述

绘制酒店房间预订系统的活动图

首先我们需要了解一些活动图的概念:

  1. 系统System:图中的大方框,可以是小型软件组件,也可以是完整的应用程序,里面包含外部可见的功能。在我们的例子中,这指的就是酒店订房系统。

  2. 开始Initial:系统中最上方的实心点,标志着工作流的开始。

  3. 活动节点:圆角方框,表示一个活动,例如找酒店、下订单等。

  4. 转换:箭头,表示上一个活动结束后转到下一个活动。例如,选择好酒店后,就该选择房型了。

  5. 分支:菱形,一个进入转换对应多个离开转换,表示上一个活动结束后可能有多个后继动作。例如,选好房型后,可以进入进一步的确认,也可以返回修改成其它房型。

  6. 分叉与汇合:分叉用于将动作流分为两个或者多个并发运行的分支,而汇合则用于同步这些并发分支,以达到共同完成一项事务的目的。例如,查找酒店的方法不止一种,可以搜索栏搜索,也可以查表搜索。但找到酒店后都会进入选择房型的动作。

  7. 结束Final:系统中最下方的有圈的实心点,标志着工作流的结束。

了解这些概念后,再结合我们对预订酒店房间流程的一些常识性认知,包括找酒店,下单,管理订单,支付等操作,可以大致利用刚学习到的UMLet绘制相对应的活动图,UMLet的易用性使得我们可以通过简单的拖动和少量的文本输入,展示我们设计的活动图,如下图:


这里写图片描述

总结

UMLet是一款易用实用的UML图的作图工具,利用它,我们可以借助绘制用例图和活动图等方式来帮助分析、设计和展示软件系统的功能和业务流程等情况。

猜你喜欢

转载自blog.csdn.net/jacknights/article/details/79951798
今日推荐