.net 面向对象程序设计深入](2)UML
1.用例图简介
定义:用例图主要用来描述“用户、需求、系统功能单元”之间的关系。它展示了一个外部用户能够观察到的系统功能模型图。
类型:动态图
应用:需求分析阶段
2.用例图元素
2.1 参与者(Actor)
表示与您的应用程序或系统进行交互的用户、组织或外部系统。用一个小人表示。

2.2 用例(Use Case)
用例就是外部可见的系统功能,对系统提供的服务进行描述。 用椭圆表示

2.3 子系统(Subsystem)
用来展示系统的一部分功能,这部分功能联系紧密。

2.4 关系
用例图中涉及的关系有:关联、泛化、包含、扩展;
a. 关联(Association)
表示参与者与用例之间的通信,任何一方都可发送或接受消息。
【箭头指向】:指向消息接收方

b. 泛化(Inheritance)
就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。
【箭头指向】:指向父用例

c. 包含或包括(Include)
包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤;
【箭头指向】:指向分解出来的功能用例

在VS2015用例图建模中,称为 “包括”
d. 扩展(Extend)
扩展关系是指 用例功能的延伸,相当于为基础用例提供一个附加功能。
【箭头指向】:指向基础用例

e. 依赖(Dependency)
以上4中关系,是UML定义的标准关系。 但VS用例模型图中,添加了依赖关系,用带箭头的虚线表示
表示源用例依赖于目标用例;
【箭头指向】:指向被依赖项

2.5 项目(Artifact)
用例图虽然是用来帮助人们形象地理解功能需求,但往往没有一个具体的单据或文档更详细。很多时候跟用户交流甚至用Excel都比用例图强,VS中引入了“项目”这样一个元素,以便让开发人员能够在用例图中链接一个普通文档。
用依赖关系把某个用例依赖到项目上

2.6 注释(Comment)

注释是对元素进行一个说明,由注释元素和注释连接线组成
3.Visual Studio 2015设计UML用例图
文章中的图例,可以使用第三方UML工具,上篇文章中有介绍,作为.NET开发者,VS2015企业版 和 2013旗舰版 中都具有建模项目,下面的示例使用VS2015建模项目,后面提代源代码下载。
使用VS 2015建模和上篇中介绍的方法一样,我们在选择模型时,选择UML用例图。下面是在Visual Studio 2015 企业版中设计用例图方法:
(1)新建“模型项目”

(2)新增 “模型文件”

(3)选择“UML用例图”

4.用例图的文字描述
用例图对需求描述,对于没有用UML基础的人来说,依然不能看明白画些什么,因此,在需求阶段,用例图需要配合文字描述来表达业务需求。
下面图片是网络上用例图的描述

5.总结
UML图比较多,博客中会介绍几种比较常用的,类图、用例图、活动图。在日常工作中,也不是每个设计都需要这些图,学习UML图一是能看懂别人的设计意图,而是为了让别人看懂自己的设计意图。即统一建模。
转载:http://www.cnblogs.com/yubinfeng/p/5212350.html
.net 面向对象程序设计深入](2)UML的更多相关文章
- [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图
[.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 1.活动图简介 定义:是阐明了业务用例实现的工作流程. 业务工作流程说明了业务为向 ...
- [.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图
[.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图 1.用例图简介 定义:用例图主要用来描述“用户.需求.系统功能单元”之间的关系. ...
- [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图 1.UML简介 Unified Modeling Language (UML)又称统 ...
- .net 面向对象程序设计深入](1)UML
1.UML简介 Unified Modeling Language (UML)又称统一建模语言或标准建模语言. 简单说就是以图形方式表现模型,根据不同模型进行分类,在UML 2.0中有13种图,以下是 ...
- 面向对象程序设计第四单元总结(UML系列)
2019面向对象程序设计第四单元总结 前言 本单元是面向对象程序设计课程的最后一个单元了,本单元是和UML模型相关,也就是说,我们需要正确理解UML模型的基础上,对构建出的UML模型进行解析,但是 ...
- UML与面向对象程序设计原则
[实验任务一]:UML复习 阅读教材第一章复习UML,回答下述问题: 面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明. 1. 关联关系 (1) 双向关联 (2) 单向关联 (3) ...
- [.net 面向对象程序设计深入](0) 开篇
[.net 面向对象程序设计深入](0)开篇 [.net 面向对象编程基础]和 [.net 面向对象程序设计进阶]在15年底写完了,群里也加进来不少热爱学习的小伙伴.让我深切感受到在这个 ...
- [.net 面向对象程序设计进阶] (28) 结束语——告别2015
[.net 面向对象程序设计进阶] (28) 结束语——告别2015 <.net面向对象程序设计进阶>这一系列文章写了太长的时间了,大概有半年没写,在年底又一口气写了好几篇.在整个过程中目 ...
- 实验二 Java面向对象程序设计
实验二 Java面向对象程序设计 实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. 熟悉S.O.L.I.D原则 5. 了解设计 ...
- 20145212《Java程序设计》实验报告二 《 Java面向对象程序设计》
20145212 实验二< Java面向对象程序设计> 实验内容 单元测试 三种代码 伪代码 百分制转五分制: 如果成绩小于60,转成"不及格" 如果成绩在60与70之 ...
随机推荐
- unity 渲染第二步
先不要用 unity shader 提供给你的转换矩阵,看看屏幕上的图形,你会学到更多. --- <unity 渲染箴言> 假设你 create 了一个 cube,放在默认的位置,默认的 ...
- DB2 锁问题的监控和解决
常见的锁问题包括: 锁等待 锁超时 锁升级 死锁 而根据问题的特性通常分为两种: 实时事件:问题正在发生 历史事件:问题已经过去 如果实时事件,DBA 可以通过查看表信息.GET SNAPSHOT 或 ...
- 关于mouseleave事件触发的bug问题
在做下拉树搜索功能的时候,下方内容框需要一个鼠标移出时就隐藏的功能,于是使用mouseleave的方法, 但是出现了一个问题就是在点击树展开个隐藏的时候,也触发了leave事件,将下方的树进行隐藏,出 ...
- oracle系统包——dbms_transaction用法
用于在过程,函数和包中执行sql事务处理语句. 1.read_only用于开始只读事务,其作用与sql语句set transaction read only完全相同2.read_write用于开始读写 ...
- vue 坑之 vuex requires a Promise polyfill in this browser
android内嵌H5页面不显示出现这个问题,原因有很多 首先,别急,请看下面的推荐方案: 1.找个Android真机测试下(机型版本为4.4以上),真机联调测试 Android 只需要四个步骤: 1 ...
- badboy详解篇
上一篇学习了jmeter录制的两种方法,badboy是比较好用的一个,它本身就是个测试工具,今天具体来介绍一下: 1.检查点 检查点就是记录被测系统某个值的预期结果 以百度搜索gogomall为例子 ...
- MySql数据库与JDBC编程
JDBC -- Java Database Connectivity,即Java数据库连接,通过使用JDBC就可以使用同一种API访问不同的数据库 SQL语句基础(SQL结构化查询语言) 能完成的任务 ...
- (原创).Net将EF运用于Oralce一 准备工作
网上有很多EF运用于Oracle的博文,但是找了半天发现大多数博文大都语焉不详,于是决定自己折腾. 首先我的开发工具为vs2010,那么最适用于VS2010的EF版本为多少呢?答案是EF5.我在Sta ...
- Azure Java Libraries 入门
本指南演示了以下 Azure Java Libraries 的用法,包括设置认证.创建并使用 Azure 存储.创建并使用 Azure SQL 数据库.部署虚拟机.从 GitHub 部署 Azure ...
- hdu 4055 Number String(递推DP)
给一个只含‘I','D','?'三种字符的字符串,I表示当前数字大于前面的数字,D表示当前的数字小于前面一位的数字,?表示当前位既可以小于又可以大于. 问1~n的排列中有多少个满足该字符串. http ...