转自: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截图只针对浏览器的 ...
随机推荐
-
jquery:validate的例子
该文档转载自 http://ideabean.javaeye.com/blog/363927 官方网站 http://bassistance.de/jquery-plugins/jquery-plug ...
-
【PHP面向对象(OOP)编程入门教程】12.重载新的方法(parent::)
在学习PHP 这种语言中你会发现, PHP中的方法是不能重载的, 所谓的方法重载就是定义相同的方法名,通过“参数的个数“不同或“参数的类型“不 同,来访问我们的相同方法名的不同方法.但是因为PHP是弱 ...
-
webView.loadUrl 错误:A WebView method was called on thread &#39;JavaBridge&#39;.
String voicePath="file://"+MVOICEPATH; webView.loadUrl("javascript:voiceStopCallback( ...
-
JQuery Datatables(一)
最近项目中用了Bootstrap的样式风格,控件用了JQuery Datatables,主要有几下几点目标: 实现BootStrap风格的table,使用Ajax获取数据,并有勾选项 可以实现全选,单 ...
-
ThoughtWorks 一道面试题及解法
前两天面试ThoughtWorks,有一道家庭作业题,题目如下: Problem Two: Conference Track Management You are planning a big pro ...
-
企业级docker仓库Harbor部署
1.安装环境下载离线安装包地址https://github.com/vmware/harbor/releases/yum install -y dockerpip install -i https:/ ...
-
SQLInjection 靶场配置
对于渗透,太小型的网站没有太大价值,而大型网站(比如各种电商平台)对于代码审计往往非常严格,新手基本找不到漏洞,而一些比较容易搞掉的站点(*.gov.各种教育网站.edu或者很多商业中型站点)渗透又 ...
-
SQL AND &;amp; OR 运算符
AND 和 OR 运算符用于基于一个以上的条件对记录进行过滤. AND 和 OR 运算符 AND 和 OR 可在 WHERE 子语句中把两个或多个条件结合起来. 假设第一个条件和第二个条件都成立,则 ...
-
The YubiKey -- HOW IT WORKS
A single YubiKey has multiple functions for protecting access to your email, your apps and your phys ...
-
iOS 排序算法总结、二分法查找
1.插入排序 在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的.如此反复循环,直到全部排好顺序. 直接插 ...