手把手教你使用startuml画用例图
转自:http://www.2cto.com/os/201502/377091.html
最近准备研究下volley的源码,但看了网上一些大牛的博客都是配合图这样看起来更直观,分析起来逻辑也很好,什么类图可以很清晰的分析下各类之间的关系,怎么样抽取的,所以首先先学习下建模的工具软件,我是用了start uml作为画图工具,start uml可以画用例图 类图 时序图 部署图等,哪就一个一个耐心的去学,一口气吃不了一个胖子,学习贵在坚持!
用例图概述:
由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图
参与者:是指存在于系统外部并直接与系统交互的人、系统或设备等
参与者的分类:
参与者按是否使用系统核心功能可分为主要参与者与次要参与者
参与者在start uml工具中如图表示:
用例概述:
是系统为参与者提供的功能,对于用例的命名我们可以给用例取一个简单的名称,概括性的名称。一般是带有动作性的名称.用例在画图中用椭圆来表示。椭圆下面附有用例的名称,实线箭头,在用例图中用于连接参与者与用例,用例方向指向用例
参与者与用例之间的关系就是参与者使用系统的功能用一个箭头指向用例并且是实线如图:
用例与用例之间也是有关系的,分为三种:
1:泛化(generalization)代表一般与特殊的关系
在泛化关系中,子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或父用例中的行为和含义。
下面以机票预订方式画一个用例之间的泛化关系图:
2:包含(include)关系
指的是两个用例之间的关系,其中一个用例(称作基本用例,base use case)的行为包含了另一个用例(称作包含用例,inclusion case)的行为
3:扩展(extend)关系
将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中
手把手教你使用startuml画用例图的更多相关文章
- 手把手教你用MATLAB画灰度直方图
hist =[1,2,3,4,5,6,7,8,7,6,5,4,3,2,1] %15个元素 这个行矩阵(数组)输入到命令行 bar(hist) 用列矩阵也行 hist_im=imhis ...
- 手把手教你做个人 app
我们都知道,开发一个app很大程度依赖服务端:服务端提供接口数据,然后我们展示:另外,开发一个app,还需要美工协助切图.没了接口,没了美工,app似乎只能做成单机版或工具类app,真的是这样的吗?先 ...
- 最准确的单点登录SSO图示和讲解(有代码范例)|手把手教做单点登录(SSO)系列之二
写第一篇博客<手把手教做单点登录(SSO)系列之一:概述与示例>,就获得了园子里朋友们热情的评论和推荐,感谢各位. 我那篇文章同时发了CSDN和博客园.对比一下,更感受到博客园童鞋们的技术 ...
- 手把手教你如何玩转Activiti工作流
手把手教你如何玩转Activiti工作流 置顶 2018年01月30日 19:51:36 Cs_hnu_scw 阅读数:24023 版权声明:本文为博主原创文章,未经博主允许不得转载. https ...
- 手把手教你用深度学习做物体检测(五):YOLOv1介绍
"之前写物体检测系列文章的时候说过,关于YOLO算法,会在后续的文章中介绍,然而,由于YOLO历经3个版本,其论文也有3篇,想全面的讲述清楚还是太难了,本周终于能够抽出时间写一些YOLO算法 ...
- 手把手教你避开组件cover-view的那些坑
腾讯位置服务基于微信提供的小程序插件能力,专注于(围绕)地图功能,打造一系列小程序插件,可以帮助开发者简单.快速的构建小程序,是您实现地图功能的最佳伙伴.目前微信小程序插件提供路线规划.地铁图.地图选 ...
- 手把手教你MyEclipseUML建模(下)
手把手教你MyEclipseUML建模(下) 点击访问:手把手教你MyEclipseUML建模(上) 1.用UML 2建模 MyEclipse提供了以下UML 2特性: UML 2图:类.组件.部署. ...
- 手把手教你分析解决MySQL死锁问题
在生产环境中如果出现MySQL死锁问题该如何排查和解决呢,本文将模拟真实死锁场景进行排查,最后总结下实际开发中如何尽量避免死锁发生. 一.准备好相关数据和环境 当前自己的数据版本是8.0.22 mys ...
- 《手把手教你》系列技巧篇(六十)-java+ selenium自动化测试 - 截图三剑客 -中篇(详细教程)
1.简介 前面我们介绍了Selenium中TakeScreenshot类来截图,得到的图片是浏览器窗口内的截图.有时候,只截浏览器窗口内的图是不够的,而且TakeScreenshot截图只针对浏览器的 ...
随机推荐
- Hunters
Hunters Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total Submi ...
- servlet第2讲(下集)----创建servlet实例(继承HttpServlet)
- 转载--C# PLINQ 内存列表查询优化历程
http://www.cnblogs.com/dengxi/p/5305066.html 产品中(基于ASP.NET MVC开发)需要经常对药品名称及名称拼音码进行下拉匹配及结果查询.为了加快查询的速 ...
- 尚未配置为Web项目.指定的本地IIS URL http://localhsst/..要打开项目,需要配置虚拟目录 。是否立即创建虚拟目录 解决
1.编辑.csproj文件 2.修改 UseIIS节点改为false,再次打开程序即可
- select用法
每一次操作select的时候,总是要出来翻一下资料,不如自己总结一下,以后就翻这里了. 比如<select class="selector"></select&g ...
- zf-删除重复数据只保留一条(转)
http://blog.csdn.net/anya/article/details/6407280
- 关于spring的注解方式注入默认值(转) -- 首字母小写
1.是首字母小写 比如 UserAction对应的id是userAction 可以通过ApplicationContext 对象的act.getBean("userAction") ...
- CSS Day04 css核心基础
1.在HTML中引入CSS的方法 (1)行内式 行内式即在标记的style属性中设定CSS样式,这种方式本质上没有体现出CSS的优势,因此不推荐使用. 例如: <h1 style=“colo ...
- POJ1556 The Doors 叉积+最短路
题目大意:求从(0,5)到(10,5)的最短距离,起点与终点之间有n堵墙,每个墙有2个门. 题目思路:判断两点间是否有墙(判断两点的连线是否与某一堵墙的线段相交),建立一个图,然后最短路求出就可以了. ...
- C++调用C#之C# COM控件
C#做界面真的是比C++方便多了,所以尝试了一下,使用C++做核心功能(例如绘图),然后用C#来做节目(例如对话框),考虑到以后可能不能使用.net,使用DLL做一个隔离层,隔离C++和C#,方便以后 ...