本文转载至:http://blog.csdn.net/ls1645/article/details/42969587

 

 

用例图中包括三种元素,参与者,用例,它们之间的关系。下面说说参与者与用例之间,用例与用例之间都有哪些关系。

1.关联关系

        定义:参与者与用例之间通常用关联关系来描述。

        表示方法:带箭头的实线,箭头指向用例。

        如图所示:

 

 

2. 泛化关系

        定义:一个用例可以被特别列举为一个或多个子用例,这被称为用例泛化。

        泛化关系在类间也有。

        子用例从父用例处继承行为和属性,还可以添加行为或覆盖、改变已继承的行为。

        表示方法:带空心箭头的实线,箭头指向被泛化(被继承的用例,即父用例。(PS:泛化关系的箭头不是指向被泛化,而是指向被继承。泛化和继承是不同的方向。泛化是从下到上的抽象过程,继承是从上到下,从一般到特殊的过程。)

        如图所示:

 

        机房收费系统中可以这样应用:

 

        当系统中具有一个或多个用例是一般用例的特化时,就使用用例泛化。

3.包含关系

        定义:其中一个用例(基础用例)的行为包含了另一个用例(包含用例)的行为。基础用例可以看到包含用例,并依赖于包含用例的执行结果。但是二者不能访问对方的属性。

        表示方法:虚线箭头+<<include>>字样,箭头指向被包含的用例。

        如图所示:

 

        使用情况:

            (1)如果两个以上用例有重复的功能,则可以将重复的功能分解到另一个用例中。其他用例可以和这个用例建立包含关系。

            (2)一个用例的功能太多时,可以用包含关系创建多个子用例。

 

 4.扩展关系(extend)

        定义:是把新行为插入到已有用例的方法。

       个人感觉可以叫做特殊情况处理。比如去食堂用饭卡打饭,绝大部分人是刷卡,拿饭,两个步骤就完成了。但是如果某个学生的饭卡里没钱了,假定不用现金或者借钱或者赊账等等其他的方式来打饭,而是必须用自己的饭卡来打饭。那么他就要先去给饭卡充值。“饭卡充值”就是“刷卡”的一个扩展用例。“饭卡充值”与“刷卡”就是扩展关系。

        表示方法:虚线箭头+<<extend>>字样,箭头指向被扩展的用例(即基础用例)。

       如图所示:

        作用:为处理异常或构建灵活系统框架提供了一种有效的方法。

对比:

        包含与扩展的区别。在扩展关系中,基础用例没有扩展也是完整的,而在包含关系中,基础用例依赖于包含用例的执行结果。

总结:

        所有的箭头指向都是“被”的一端。

        找关系,是一件挺复杂的事儿。从不同的角度看会有不同的结果。找到大前提,再理顺特定环境下的关系,会更加顺手。

posted @ 2017-04-13 17:59 天牛 阅读(4946) 评论(0) 推荐(0) 编辑
摘要: 本文转载至:http://blog.csdn.net/a649518776/article/details/7493148 一.UML简介 UML(统一建模语言,Unified Modeling Language)是一种定义良好、易于表达、功能强大且普遍适用的可视化建模语言。它融入了软件工程领域的新 阅读全文
posted @ 2017-04-13 17:33 天牛 阅读(4977) 评论(0) 推荐(0) 编辑
摘要: 本文转载至 http://blog.csdn.net/u011452278/article/details/49511385 原文转载:http://blog.csdn.net/pang040328/article/details/40924737 新版的xcode(6.1)在导出企业级ipa时并没 阅读全文
posted @ 2017-02-16 15:50 天牛 阅读(609) 评论(0) 推荐(0) 编辑
摘要: 本文转载至 http://www.cnblogs.com/xiaoc1314/p/5595312.html 转自 http://www.cnblogs.com/shenlaiyaoshi/p/5472474.html 神来钥匙-陈诗友 iOS 企业版 打包 使用 iOS 企业版的证书发布应用可以跳过 阅读全文
posted @ 2017-02-16 15:48 天牛 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 本文转载至 http://www.cnblogs.com/niejunchan/p/5904365.html 做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了。闲话不多 阅读全文
posted @ 2016-11-22 15:24 天牛 阅读(841) 评论(0) 推荐(0) 编辑
摘要: 本文转载至 http://www.blogjava.net/jasmine214--love/archive/2011/01/12/342839.html :1.5 及更新版本 名词说明: WC:Working Copy 你的工作区 Versioned:受控的;受版本控制的 SVN是什么? SVN是 阅读全文
posted @ 2016-09-18 18:57 天牛 阅读(10086) 评论(0) 推荐(0) 编辑
摘要: 感谢原文作者的分享 本文转载至 http://my.oschina.net/u/2406027/blog/735738 感谢原文作者的分享 本文转载至 http://my.oschina.net/u/2406027/blog/735738 PYPhotoBrowser GitHub地址:https: 阅读全文
posted @ 2016-09-12 11:39 天牛 阅读(756) 评论(0) 推荐(0) 编辑
摘要: 本文转载至 http://www.jianshu.com/p/d19e19a91071 0.笨办法 看变量、对象?NSLog+重新编译运行;改某对象?改源码+重新编译运行;隔离某个方法?在方法中写 return 跳出+重新编译运行; 慢!!! 1.LLDB 改源码+重新编译的方式要等待时间太长,并且 阅读全文
posted @ 2016-09-03 14:53 天牛 阅读(388) 评论(0) 推荐(0) 编辑
摘要: 本文转载至 http://blog.csdn.net/liufeng520/article/details/7585140 iPhone API已经提供了系统写邮件界面的接口,使用MFMailComposeViewController,用来显示界面. 项目中需要添加MessageUi.framewo 阅读全文
posted @ 2016-08-29 17:16 天牛 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 本文转载至 http://www.jianshu.com/p/66b5b777f5dc 最近,在项目过程中遇到要自定义SearchBar的外观,虽然自己觉得用系统默认的外观就行了,不过UI设计师要求不用系统的默认样式,要跟app主题保持 一致。 图1:设计效果图 从上图可以看出,我们要做的UISea 阅读全文
posted @ 2016-08-24 15:53 天牛 阅读(7025) 评论(0) 推荐(0) 编辑
点击右上角即可分享
微信分享提示