前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >2019-5-30-UML用例图

2019-5-30-UML用例图

作者头像
黄腾霄
发布2020-06-10 11:58:30
8010
发布2020-06-10 11:58:30
举报
文章被收录于专栏:黄腾霄的博客

在面向对象的软件分析及设计中,UML用例图是分析业务,明确需求的一种常见工具。


定义

UML用例图(Use Case Diagrams)是一种描述用户和系统之间交互的简单表达方式。它描述了特定系统(主体)同外部用户(角色)之间的一系列交互行为(用例)。

概念

在用例图中,需要明确以下几个概念:

  • 主体
  • 角色
  • 用例

主体

主体(Subject)是指被研究的系统。它限定了用例图研究对象的范围和边界。

主体使用矩形表示,左上角标明主体的名称

例如在研究一个blog时,被研究的blog就是一个主体

角色

角色(Actor)是指同主体有关联或者交互的外部概念,可以是人员,也可以是其他系统。

例如对于blog案例,与其相关的外部角色,就可能是网友或者技术论坛

在表示方法上没有统一规定,可以是一个小人,或者是表示简单类型的类图。

需要注意的是这里的角色是独立于主题之外存在的。

用例

用例(use case)是指主题能够提供的功能性单元。一般使用椭圆表示。

对于博客来说,常见的用例有提供内容阅读,文章评论,文章转载等。

用例的泛化(Generalization)、扩展(Extend)、包含(Include)

泛化是指从父用例派生子用例,例如博客可以有.NET博客、Python博客之分,使用带空心三角形的实线表示,空心三角形端点为父用例。例如

扩展是指在原有的用例之上,提供扩展的用例。注意,这两个用例都是完备的功能点。例如blog提供了谷歌在线翻译的插件,这个就是一个扩展用例。扩展用例使用虚线箭头+关键字《extend》表示,箭头从扩展用例指向原用例。可以理解为翻译博客的用例扩展了阅读博客的用例。

包含是指原有用例内部,存在更细致的子模块。例如,博客的评论功能需要有登入、输入等包含用例。包含用例使用虚线箭头+关键字《include》表示,箭头从原用例指向子用例。可以理解为评论博客用例包含了登入和输入评论用例

用例与角色的关联

用例与角色之间通过UML关联(association)进行交互,此处的关联特指二元关联。关联使用实线进行表示,实线的端点可以指定量词,以表示关联双方的数量关系。量词的格式如表所示

如果BBS可以转载我任意数量的blog,那么就可以使用如下关联将BBS和blog转载关联。注意下图未标明BBS的数量,说明在这个研究场景中,BBS的数量是不重要的,因此未标明细节。这也符合我们在2019-5-30-UML基础 - huangtengxiao中所说的less is more的原则

绘制方法

我们在绘制用例图时,可以遵循下面的步骤:确定主体,寻找角色,定义用例,建立关联的方式一步步的确定用例图。如下是用UML描述的我的blog的用例图

参考链接:


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/UML%E7%94%A8%E4%BE%8B%E5%9B%BE.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 定义
    • 概念
      • 主体
      • 角色
      • 用例
      • 用例与角色的关联
  • 绘制方法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档