惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Attack and Defense Labs
Attack and Defense Labs
T
Tor Project blog
Scott Helme
Scott Helme
Schneier on Security
Schneier on Security
Security Archives - TechRepublic
Security Archives - TechRepublic
S
Security @ Cisco Blogs
GbyAI
GbyAI
Help Net Security
Help Net Security
T
Troy Hunt's Blog
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta
L
LINUX DO - 最新话题
TaoSecurity Blog
TaoSecurity Blog
AWS News Blog
AWS News Blog
Y
Y Combinator Blog
SecWiki News
SecWiki News
Microsoft Azure Blog
Microsoft Azure Blog
Spread Privacy
Spread Privacy
A
About on SuperTechFans
Stack Overflow Blog
Stack Overflow Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Google DeepMind News
Google DeepMind News
NISL@THU
NISL@THU
T
Threat Research - Cisco Blogs
S
Securelist
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
雷峰网
雷峰网
H
Help Net Security
AI
AI
The Hacker News
The Hacker News
B
Blog
罗磊的独立博客
L
Lohrmann on Cybersecurity
爱范儿
爱范儿
C
Cisco Blogs
有赞技术团队
有赞技术团队
Project Zero
Project Zero
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
S
Secure Thoughts
A
Arctic Wolf
Blog — PlanetScale
Blog — PlanetScale
腾讯CDC
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Latest news
Latest news
Cloudbric
Cloudbric
D
Docker
博客园 - 叶小钗
月光博客
月光博客

博客园 - yubinfeng

Git常见问题 [.net 面向对象程序设计深入](9).NET Core 跨平台开发环境搭建 [.net 面向对象程序设计深入](8)认识.NET Core [敏捷开发实践](0) 开始 [敏捷开发实践](2) 用于开发和维持复杂产品的敏捷开发框架Scrum [敏捷开发实践](1) 认识敏捷开发 [.net 面向对象程序设计深入](31)实战设计模式——使用Ioc模式(控制反转或依赖注入)实现松散耦合设计(1) [.net 面向对象程序设计深入](26)实战设计模式——策略模式 Strategy (行为型) [.net 面向对象程序设计深入](18)实战设计模式——设计模式使用场景及原则 [.net 面向对象程序设计深入](36)Redis——基础 《HiWind企业快速开发框架实战》(3)使用HiWind创建和管理菜单 《HiWind企业快速开发框架实战》(2)使用HiWind创建自己的项目 《HiWind企业快速开发框架实战》(1)框架的工作原理 《HiWind企业快速开发框架实战》(0)目录及框架简介 [.net 面向对象程序设计深入](6).NET MVC 6 —— 模型、视图、控制器、路由等的基本操作 [.net 面向对象程序设计深入](5)MVC 6 —— 构建跨平台.NET开发环境(Windows/Mac OS X/Linux) [.net 面向对象程序设计深入](4)MVC 6 —— 谈谈MVC的版本变迁及新版本6.0发展方向 [.net 面向对象程序设计深入](3)UML——在Visual Studio 2013/2015中设计UML活动图 [.net 面向对象程序设计深入](1)UML——在Visual Studio 2013/2015中设计UML类图
[.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计UML用例图
yubinfeng · 2016-02-24 · via 博客园 - yubinfeng

[.net 面向对象程序设计深入](2)UML——在Visual Studio 2013/2015中设计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图一是能看懂别人的设计意图,而是为了让别人看懂自己的设计意图。即统一建模。

6.源文件下载

 Git下载:https://github.com/yubinfeng/BlogExamples

==============================================================================================

返回目录

<如果对你有帮助,记得点一下推荐哦,如有有不明白或错误之处,请多交流>

<对本系列文章阅读有困难的朋友,请先看 《.net 面向对象编程基础》 和 《.net 面向对象程序设计进阶》 >

<转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

.NET 技术交流群:467189533 .NET 程序设计

==============================================================================================