用Visio画UML用例图
1、用例图
用例图描述参与者所理解的系统功能。主要元素是用例和参与者。
用例图的4个基本组件:参与者(Actor)、用例(Use Case)、关系(Relationship)和系统。
下面以银行储蓄系统为例。
(1)用例:用户和计算机系统间的一次交互,代表系统的一个完整功能,是一组动作序列。系统执行完这组动作序列后将产生一个对参与者有价值的结果。
银行储蓄系统的用例:存款、取款、输入存款信息、打印存单、输入取款信息、打印余额......
用例图中用椭圆表示。
(2)参与者:与系统交互的人或物。
银行储蓄系统的参与者:业务员、储户。
用例图中用小人表示。
(3)联系
参与者和用例:通过<<communicate>>关系进行通信。communicate是一种关联关系,是单向关联。比如:业务员(角色)->取钱(用例),业务员是通信的启动者,业务员启动取钱用例。
参与者和参与者:如果参与者和参与者之间有关联,可以认为是一种泛化关系。泛化关系就是一般类和特殊类之间的继承关系。比如汽车和轮船,与交通工具是泛化关系。它们同属交通工具,用具备各自的特点。
用例和用例:通常有泛化、包含(使用)和扩展。
用例泛化:一个用例可以被特别列举为一个或多个子用例。"电话预订"和"网上预订"泛化为"预订"。
包含(使用)和扩展的表示是在依赖关系上加构造型,英文描述为:<<include>>(<<use>>)和<<extend>>。
银行储蓄系统:
<<include>>关系:一个用例执行的功能总是包括被包含用例的特征。在上图中,取款的行为序列就包含输入取款信息、检查余额、验证密码等行为序列,因此取款用例“包含”取款信息用例。
<<extends>>关系:一个用例的执行可能需要其他用例功能来扩展,但主要用途是使基本用例的功能不依赖于扩展用例。在上图中,取款行为序列要扩展到打印存款单,但取款行为不依赖打印存款单。也就是说,即使不打印存款单,存款行为也可以进行;但是只有存款行为进行时,才会打印存款单。扩展用例是通过基本用例来激活的。
2、用Visio画用例图
(1)打开Visio 2010软件
(2)点击“新建”->“软件和数据库”->“UML模型图”。
(3)在“模型资源管理器”中右击“顶层包”或者先新建一个子系统,“新建”->“用例图”
(4)在左边的“形状”->“UML用例”中拖拽“系统边界”,双击绘制界面中的系统边界,更改系统名称。
(5)下面就可以拖拽参与者和用例构建自己的用例图了。
(6)在绘制关系时,用例图所需要的图示都在“UML用例”中找到,如果找不到<<communicate>>,则单机菜单上的“UML”->“构造型”,在弹出的“UML构造型”对话框中,点击"新建",输入communicate的信息。如下图所示: