初学UML——用例图
开始学习UML建模语言,从用例图入手。建模工具选择visio
用例图描述的是参与者所理解的系统功能,主要元素是用例和参与者,是帮助开发团队以一种可视化的方式理解系统的功能需求。这时处于项目初始,分析用户需求的阶段,不用管怎么实现具体的功能,只要能向客户形象化的表述项目的功能就行。
用例图有四个部分:用例(Use Case), 参与者(Actor),系统边界,关系。
1)参与者(Actor)
参与者是与系统交互的人或物。首先当然包括我们的开发系统用户,除此之外,与我们开发的系统有关联的其他系统也算是参与者。
在UML图中我们用一个小人表示。

2)用例(Use Case)
用例是参与者可以感受到的系统服务或功能单元。我理解的就是用户可以使用我们开发的项目去做的任何事情
任何用例都不能在缺少参与者的情况下独立存在,同样,任何参与者也必须要有与之关联的用例。在UML图中我们用椭圆表示:

3)系统边界
指系统与系统之间的界限。把系统边界以外的同系统相关联的其他部分称为系统环境。
在UML图中我们用一个矩形表示。

4)关系
用例图中的关系有4种:关联,泛化,包含和扩展。
关联:表示参与者和用例之间的交互。为通信途径,任何一方都可发送或可接收消息。
箭头指向:指向消息接收方。在UML中用直线表示

包含:包含关系用来把一个较复杂的用例所表示的功能分解成较小的步骤。包含用例是必须的,如果缺少包含用例,基用例就是不完整的。
包含关系最典型的应用就是复用。这种情况类似与在过程设计语言中,将程序的某一段算法封装成一个子过程,然后在从主程序中调用这一子过程(这么说好像懂了点)
在UML中,包含关系用带箭头的虚线段加《include》表示,箭头指向被包含的用例。
在VISIO中没有找到include包含关系,解决办法:
1)选择菜单栏中的'UML'-》单击’构造型‘-》新建-》构造型那里输入include-》基类那里选择归纳,点击确定
2)将UML用例下的“扩展”拖到绘图页上-》双击或右键属性-》构造下拉列表中选择include-》确定

扩展:扩展关系是指用例功能的延伸。与包含关系不同的是,扩展用例是可选的,如果缺少扩展用例。不会影响到基用例的完整性。
在UML中,扩展关系用带箭头的虚线段加《extend》表示,要注意的是箭头指向基用例。

泛化:用例的泛化指的是一个父用例可以被特化形成多个子用例,用我们熟悉的语言来说就是继承关系。
在UML中,泛化关系用空心箭头表示,箭头指向的是父用例。

把书上的用例图用VISIO操作一遍:
1)确定参与者:这里的参与者有业务员和储户。
2)功能:包括存款和取款两大基本功能,这两个基本功能又包含一些子功能。
步骤:1)打开visio,新建-》软件-》UML模型图。
2)在模型资源管理器中右键顶层包,新建用例图。
3)按照上文的方法先把include包含关系创建出来。
4)添加两个参与者,为业务员和储户,这些都是可以从UML用例中直接拖过去。双击或右键都可以改变属性。
5)添加系统边界。
6)根据系统功能添加实例和各个实例之间的关系。(搞不明白的是扩展和包含用例之间拖过来都是空心实现箭头,和书上说的虚线箭头不同,所以就右键改了下线段格式为虚线,不知道这样做行不行⊙﹏⊙)

初学UML——用例图的更多相关文章
- [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图
[.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图 1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...
- [转载]UML用例图总结
前言 用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示一个外部用户能够观察到的系统功能模型图.用例图多用于静态建模阶段(主要是业务建模和需求建模),帮助开发团队以一种可视化的方式理解系 ...
- 团队项目UML用例图
团队项目UML用例图
- UML用例图总结
用例图主要用来描述“用户.需求.系统功能单元”之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. [用途]:帮助开发团队以一种可视化的方式理解系统的功能需求. 用例图所包含的元素如下: 1. ...
- 产品需求文档写作方法(三)用例文档(UML用例图、流程图)
在产品和技术领域里都有UML的技能知识,而对于产品人员的UML则更多的是指用例图,也就是我所称呼的用户流程图.在讲PRD文档写作的第二篇文章里,我提到了用户流程图的制作,实际上用户流程图是我在产品规则 ...
- UML第一次作业:UML用例图绘制
UML用例图绘制 一.plantuml用例图语法小结 1.用例 用法:用例用圆括号(),或者使用关键字来定义用例 示例1: @startuml (First UML) (Another UML)a ...
- VISO画UML用例图添加Include关系的方法
VISO画UML用例图添加Include关系的方法 今天用Microsoft Visio 2007画用例图时,发现visio UML用例里面找不到include关系,查到一个可行的解决办法: 1)创 ...
- Visio画图(一):UML用例图
Visio画图(一):UML用例图 1.找到UML用例图 A.有网状态 第一步 在搜索框内输入用例图进行搜索. 第二步,移动鼠标直到找到用例图 B.无网状态 第一步 点击特别推荐旁的类别选项 第二步 ...
- 解析UML用例图中include与extend的区别
UML用例图有很多值得学习的地方,这里向大家简单介绍一下UML用例图中include与extend的区别,希望本文的介绍对你有所帮助. 本文和大家重点讨论一下UML用例图中include与extend ...
随机推荐
- DuiLib事件分析(一)——鼠标事件响应
最近在处理DuiLib中自定义列表行元素事件,因为处理方案得不到较好的效果,于是只好一层一层的去剥离DuiLib事件是怎么来的,看能否在某一层截取消息,自己重写. 我这里使用CListContaine ...
- selenium and win32api
I:Web 测试 selenium-2.45.0 python 2.7.8 win32api http://sourceforge.net/projects/pywin32/files/pywin32 ...
- leetcode 374
这个题目很简单,但是要注意细节和对题目的理解,一开始我把guess函数的作用理解错了,第一版代码长这样: int guessNumber(int n) { ; int high = n; while( ...
- Oracle常用操作-----(二)
Oracle主要类型函数: 单行函数:只能输入一行结果,返回一个结果.常见的单行函数有: 字符函数 数字函数 转换函数 日期函数 2.聚合函数:同时可以对多行数据进行操作,并返回一个结果.(AVG.S ...
- ActiveMQ的使用笔记(基本实现原理)
具体原理不进行深入,会用就好. 第一:当然是先安装ActiveMQ,选择操作系统位数,安装成功以后,输入网址http://ip:8161/admin/,会出现相关页面,账号密码都是admin.在这个页 ...
- Android -- 仿ios上下反弹效果
1,前几天在一个app上看到了滑动反弹效果,觉得这个效果挺不错的,然后想自己来实现一下,在网上查了一下基本上都是大致的说了下思路,自己看了一下,决定把实现的思路来详细的写下来,先看一下我们实现的效果吧 ...
- 【003:ubuntu 基本开发环境设置】
1.基础开发环境 sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install Oracl ...
- 在Repeater中嵌套使用Repeater
在一般的网站中浏览类别的用户控件通常都位于大多数 ASP.NET 页的左边,它使用户能够按类别快速的查找产品.最近遇到一个客户,因为在他网站上展示的产品并不多,所以要求在原有类别浏览的基础上将产品也加 ...
- Unable to create SVNRepository object
I think you are missing at least the library setup stuff: /* * Initializes the library to w ...
- [6] 智能指针boost::weak_ptr
[1]boost::weak_ptr简介 boost::weak_ptr属于boost库,定义在namespace boost中,包含头文件 #include<boost/weak_ptr.hp ...