用例图主要用来描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用这个系统干什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示这些元素之间的各种关系,如泛化、关联和依赖。它展示了一个外部用户能够观察到的系统功能模型图,帮助开发团队以一种可视化的方式理解系统的功能需求。

一、用例图所包含的元素

1.1参与者(Actor)–与应用程序或者系统进行交互的用户、组织或者外部系统,用一个小人表示。

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

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

二、用例图所包含的关系

用例图中所涉及的关系有:关联、泛化、包含、扩展

2.1关联关系

参与者与用例之间通信,任何一方都可以发送和接收消息,没有箭头,将参与者与用例相连,指向消息接收方。

2.2泛化

就是通常理解的继承关系,子用例和父用例相似,但是表现为更特别的行为。子用例继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的,在实际应用中很少使用泛化关系,箭头指向父用例。

2.3包含

包含是用来把一个复杂的用例表示为一个功能分解的较小步骤,包含关系典型的应用就是复用,也就是定义中说的情景,但是有时候当某个用例的事件流太过于复杂时,我们也可以把一段事件流抽象成一个被包含的用例;相反用例太细的时候,也可以抽象出一个基用例,来包含这些细粒度的用例。例如:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那添加、修改以及删除都要在用例详述中描述,过于复杂;如果分成添加用例、修改用例和删除用例,则划分太细。这时包含关系可以用来理清关系。【箭头指向】:指向分解出来的功能用例

2.4扩展(Extend)

扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。将基用例中一段相对独立并且可选的动作,用扩展(Extension)用例加以封装,再让它从基用例中声明的扩展点(Extension Point)上进行扩展,从而使基用例行为更简练和目标更集中。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此它能根据基用例中扩展点的当前状态来判断是否执行自己。但是扩展用例对基用例不可见。
对于一个扩展用例,可以在基用例上有几个扩展点。
【箭头指向】:指向基础用例

e. 依赖(Dependency)
以上4种关系,是UML定义的标准关系。但VS2010的用例模型图中,添加了依赖关系,用带箭头的虚线表示,表示源用例依赖于目标用例。


包含(include)、扩展(extend)、泛化(Inheritance) 的区别:
条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是有条件的;
直接性:泛化中的子用例和extend中的延伸用例为参与者提供直接服务,而include中被包含的用例为参与者提供间接服务。
对extend而言,延伸用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容。
对Inheritance而言,子用例包含基础用例的所有内容及其和其他用例或参与者之间的关系;
●泛化侧重表示子用例间的互斥性;
●包含侧重表示被包含用例对Actor提供服务的间接性;
●扩展侧重表示扩展用例的触发不定性;
另外一点需要提及的是:泛化中的子用例和扩展中的扩展用例均可以作为基本用例事件的备选择流而存在。


以下为某在线购物系统的用例图,对系统做出做了整体的描绘。

(1)系统整体用例图
  
(商品用例图)

(购买信息用例)
(用户资料用例)

UML建模--用例图相关推荐

  1. UML建模——用例图(Use Case Diagram)

    用例图主要用来描述角色以及角色与用例之间的连接关系.说明的是谁要使用系统,以及他们使用该系统可以做些什么.一个用例图包含了多个模型元素,如系统.参与者和用例,并且显示这些元素之间的各种关系,如泛化.关 ...

  2. 软件设计师考试下午真题 数据流图 数据库设计 面向对象 数据结构与算法 UML建模

    数据流图 数据流图基本概念 包括四种基本元素 数据流图的分层DFD 数据字典 解题技巧 案例分析1 案例分析2 数据库设计 ER模型 实体间联系类型 E-R图向关系模型的转换 面向对象 JAVA 数据 ...

  3. 软件设计师学习笔记-UML建模

    UML建模 用例图 类图与对象图 顺序图 活动图 带泳道的活动图 状态图 通信图 协作图(顺序图的另外一种表达方式)

  4. 需求分析——掌握UML建模语言的用例图

    在前面的课程中,我们主要讨论了人脉V1.0系统的角色及角色间的关系,也讨论了角色的属性和行为.在这节课中,我们将使用UML建模语言的用例图对人脉V1.0系统的角色及角色行为建立系统功能模型. 在建模之 ...

  5. UML建模—EA创建Use Case(用例图)

    用例图主要用来描述"用户.需求.系统功能单元"之间的关系.它展示了一个外部用户能够观察到的系统功能模型图. 1.新建用例图 2.用例图工具: 3.一个简单用例: 用例图所包含的元素 ...

  6. 设计模式——UML建模之精选核心知识用例图、构件图、部署图、对象图的小结(一)

    文章大纲 引言 一.UML 的核心图概述 二.用例图 1.用例图概述 2.用例图的核心元素 2.1.参与者 2.2.用例 2.3.容器 2.4.用例图内的关系 三.组件图 四.部署图 五.对象图 引言 ...

  7. UML基础、建模与设计实战笔记03第3、4章建模工具简介,常见uml建模工具,创建模块,创建类,用例图,参与者,用例,用例描述,用例之间的可视化表示,用例图建模技术及应用,进销存系统用例图

    1.常见uml建模工具 建模工具应该具有的功能 绘图 存储 一致性检查 对模型进行组织 导航 写作支持 代码生成 逆向项目 集成 支持多种抽象层和开发过程 文档生成 脚本编程 工具主要有 Rose P ...

  8. (转)轻量级 UML 建模工具JUDE 介绍(二)

    [译]Learn UML with JUDE(二) 六. UML about Bowling 现在都准备好了,我们可以开始画diagram了.我们画什么diagram呢?你最近有去打过保龄球吗?我非常 ...

  9. UML建模系列文章总结

    一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...

  10. UML建模系列文章总结 (转载)

    一.为什么要学习UML 二.UML的历史 三.UML的特点 四.UML中的视图 五.UML建模工具 六.UML的应用领域 七.UML的构成 1.需求阶段如何书写Use Case 2.设计阶段如何画用例 ...

最新文章

  1. 生鲜在卖场中的六大类别
  2. 信息学奥赛一本通(1106:年龄与疾病)
  3. java for遍历hashmap_Java中HashMap遍历几种方式
  4. linux open函数使用,linux中open函数使用
  5. nmap扫描局域网存活主机_第十五天Nmap篇:每日一练之Kali Linux面试题
  6. 不再依赖A*,利用C++编写全新寻路算法
  7. 用C#实现将html文件转换为chm文件
  8. (转)Atom安装插件被墙,解决方案:给apm设置中国国内镜像
  9. 网页版查询mysql数据_网页查询数据库 数据库查询
  10. 大数据毕设/课设 - 基于大数据的全国疫情实时监控大屏系统设计与实现
  11. Windform c# pictureBox 更换背景图片
  12. linuxwindows应急响应
  13. 如何查SCI期刊的影响因子与排名
  14. C++中的常成员函数以及const用于函数重载
  15. 像素和分辨率的关系 完全剖析
  16. 实现所有网站的qq登录返回登录后的cookie信息
  17. unity入门API————最常用的基类总结
  18. 【STM32技巧】ADC模拟量采集的几种用法
  19. python基础教程Day06
  20. HSI Dataset Visualization:Indian Pines---Python Spectral

热门文章

  1. c语言盗取qq号程序,C++获取本机登陆过的QQ号码示例程序
  2. android 小说下载器 源码 分享
  3. 食品科学与工程与计算机论文,2010食品科学与工程专业毕业论文
  4. OpenGL ES 绘制纹理
  5. css 小尖角,css如何实现气泡的小尖角效果 css实现气泡的小尖角效果代码示例
  6. JS正则表达式--正则量词与元字符
  7. 电商行业短信平台选择,电商行业短信通道选择考虑的问题
  8. DNS的更新和ddns(动态域名解析)
  9. hwaddr和macaddr的区别
  10. Linux学习之安装配置VM虚拟机