文档章节

UML_3_浅谈UML学习笔记之用例图

朱门中人
 朱门中人
发布于 2016/04/28 10:29
字数 561
阅读 33
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

       最近一直在学习UML的基础知识,再看完视频之后,并没有很好的总结,在画图的过程中发现了很多的问题,下面是看书的过程自己总结的UML用例图的一点知识,与大家分享一下。

          一、概念

        用例图是由参与者、用例以及它们之间的关系构成的用于描述系统功能的动态视图。

用例是系统中的一个功能单元描述一个系统做什么(what)的信息,并不是怎么(how)做。用例图的作用是描述参与者和用例的关系,表示系统的用户使用了系统中的哪些用例。

        二、组成

        用例图组成的概念,我们通过一张图学习:

       我们重点讲解用例组成中用例之间的关联:

  1. 包含

【表示方式】虚线箭头   +   include;箭头由基础用例指向被包含用例

【作用】提高用例模型的可维护性;简化描述避免多个用例中重复描述同一段行为或对同一段行为描述不一致

【包含图】

  1. 扩展

【表示方式】虚线箭头   +  extend;箭头指向基础用例

【作用】一定条件下,扩展用例为基础用例增加新的行为

【扩展图】

  1. 泛化

【表示方式】实线空三角箭头;箭头指向父用例

【作用】子用例继承父用例所有的结构、行为和关系,是父用例的一种特殊形式

 【泛化图】

   

       扩展关系和包含关系的比较:

       1、扩展关系:基础用例提供一个或多个插入点,扩展用例为插入点提供需要插入的行为

            包含关系中只有一个插入点

       2、扩展关系:基础用例执行,扩展不一定执行

             包含关系:基础用例执行,包含用例必须执行

       3、扩展关系:即使没有扩展用例,基础用例本身是完整的

            包含关系:没有包含用例,基础用例本身不完整

             为大家简单的举一个机房收费系统的小例子:

           

            

朱门中人
粉丝 3
博文 47
码字总数 310
作品 0
南京
程序员
私信 提问
加载中
请先登录后再评论。
我的架构演化笔记 功能1: 基本的用户注册

“咚咚”,一阵急促的敲门声, 我从睡梦中惊醒,我靠,这才几点,谁这么早, 开门一看,原来我的小表弟放暑假了,来南京玩,顺便说跟我后面学习一个网站是怎么做出来的。 于是有了下面的一段...

强子哥哥
2014/05/31
976
3
Swift百万线程攻破单例(Singleton)模式

一、不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法。单例的实现有多种方法,如下面: class SwiftSingleton { } 这段代码的实现,在shared中进行条...

一叶博客
2014/06/20
3.3K
16
Nutch学习笔记4-Nutch 1.7 的 索引篇 ElasticSearch

上一篇讲解了爬取和分析的流程,很重要的收获就是: 解析过程中,会根据页面的ContentType获得一系列的注册解析器, 依次调用每个解析器,当其中一个解析成功后就返回,否则继续执行下一个解...

强子哥哥
2014/06/26
712
0
桌面即时贴软件--GloboNote

GloboNote 是一个桌面记事软件,可帮你创建待办事宜、提醒和其他笔记信息。无限制即时贴的数量,可分组整理,支持搜索,可定制文本的显示格式(字体、颜色和大小),可将某个即时贴始终显示在...

匿名
2013/01/21
6.7K
1
WebUI自动化测试框架--Dagger

Dagger是网易杭州研究院QA团队开发的一个轻量级、运行稳定的WebUI自动化测试框架,主要基于Selenium及TestNg可以认为是对Selenium进行二次封装的一个框架(俗称 造轮子 )。之所以把这个轮子...

ChenKan
2013/03/05
2.8W
6

没有更多内容

加载失败,请刷新页面

加载更多

OpenCV开发笔记(六十九):红胖子8分钟带你使用传统方法识别已知物体(图文并茂+浅显易懂+程序源码)

若该文为原创文章,未经允许不得转载 原博主博客地址:https://blog.csdn.net/qq21497936 原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062 本文章博客地址:h...

红模仿_红胖子
25分钟前
5
0
Dubbo

泛化调用 在提供端,比起常规的dubbo调用,泛化调用会多经过一个 GenericFilter,即判断是泛化方法才会经过该Filter进行处理。主要以下几个处理步骤: 1.首先根据方法签名,通过Java反射获取...

KafkaPlus
25分钟前
0
0
ThingJS 3D开发新体验,iframe元素提升网页加载性能

谷歌浏览器率先支持iframe元素,延迟加载有助于减少内存使用量、提升页面其它部分的加载速度并保存数据。ThingJS 3D开发有了新的体验。 在使用ThingJS制作物联网可视化项目时,需要使用Thing...

森友鹿锘
38分钟前
0
0
什么是TypeScript?为什么我要用它代替JavaScript? [关闭]

问题: Closed . 已关闭 。 This question needs to be more focused . 这个问题需要更加集中 。 It is not currently accepting answers. 它当前不接受答案。 Want to improve this questio......

法国红酒甜
48分钟前
27
0
键盘输入限制

// 用户输入的时候替换:nativeOnInput 替换负数setInputValue(e, row, prop) { if(e.target.value.includes('-')) { e.target.value = '-'+e.target.value.replace(/-/g, ......

赤月三号
51分钟前
21
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部