用例图是在项目初期确认需求的时候,需要明确各个参与者之间的关系以及对应的功能,它可视化地展示了整个系统的功能以及功能之间、功能与参与者之间的关系。

1、元素

1.1 角色(actor)

角色不一定是人,可以是一个程序、组织或者外部系统。

1.2 用例(use case)

这个名词有点难以理解,在公司里,测试用例说的是每个测试项目,而在这里的意思是指功能。

1.3 子系统(subsystem)

它代表着一个系统、模块的集合,在子系统里有自己的功能

1.4 关系

关系是连接用例与用例之间、用例与角色之间的连接线,常用的分为以下5种

a、关联(association)

含义:角色与用例之间的联系、交互等

箭头:

连接对象:角色与用例之间

箭头指向:指向消息接收方,对于角色来说,如果发出指令给用例,那么箭头指向用例;如果是接受用例执行的结果和数据,那么箭头指向自己。

b、泛化(Inheritance)

含义:跟面向对象编程里的意义类似,具体用例继承于抽象用例,子角色继承于父角色

箭头:

连接对象:用例之间或者角色之间

箭头指向:子用例指向父用例,子角色指向父角色

c、包含(include)

含义:将一个复杂的用例分解成多个较小的用例或者步骤。

箭头:

连接对象:用例之间

箭头指向:父用例指向子用例

d、依赖(dependency)

含义:用例之间的依赖关系

箭头:

连接对象:用例之间

箭头指向:依赖方指向被依赖方

e、扩展(extend)

含义:用例的延伸,就相当于给用例增加了一个附加功能

箭头:

连接对象:用例之间

指头指向:指向被扩展方

2、重点

包含、扩展、泛化这三点有时候很难区分

条件性:泛化中的子用例和include中的被包含的用例会无条件发生,而extend中的延伸用例的发生是由条件的;

直接性:泛化中的子用例和extend中的延伸用例,是可以为参与者提供直接服务的,但include就不能提供直接服务,只能提供间接服务;

对扩展而言:延伸的用例并不包含基础用例的内容,基础用例也不包含延伸用例的内容;

而对于泛化而言:子用例包含基础用例的所有内容及其和其他用例或者参与者之间的关系。

本文的学习对象:https://www.cnblogs.com/biehongli/p/6052421.html

【StarUML】用例图的更多相关文章

  1. UML 中的用例图解析以及starUML详细介绍

    UML中的用例(Use Case)概念分析及StarUML实例 在UML 中use case 似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用 ...

  2. 【原】使用StarUML画用例图

    在写一份升级方案的时候,发现文字描述半天,好多句子,依然不容易被人看明白,使用visio画了个流程图,后来觉得画个时序图是最清晰得了. 于是在找了一个工具: startUML,当然,做时序图,建模之类 ...

  3. StarUML 系列,静态图与动态图,用例图,类图【ps:熟悉一下starUML】

    大部分:   静态图部分,即静态不动的图 1.用例图, Use case diagram 1.展示系统核心功能及与其交互的用户ACTOR 表示:椭圆

  4. StarUML 系列,静态图与动态图,用例图,类图

    大部分:   静态图部分,即静态不动的图 1.用例图, Use case diagram 1.展示系统核心功能及与其交互的用户ACTOR 表示:椭圆

  5. 安装StarUML 及使用时序图(Sequence Diagram)和用例图(use case diagram)

    时序图 用例图

  6. UML系列01之 UML用例图

    UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言. UML是在开发阶段,说明,可视化,构建和书写一个面 ...

  7. StarUML使用简明教程

    最近了解到StarUML比较多,所以写一篇教程供大家参考,不足支持,请见谅. StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具.StarUML是一 ...

  8. staruml详解

    一.用例图   1.说明        1.1  用例图说明的事谁要使用系统以及他们使用该系统可以做些什么?  <业务需求>        1.2  解析一个用例图,我们可以发现它包含4个 ...

  9. StarUML自动生成Java代码

    下载一个starUML 链接:https://pan.baidu.com/s/1pIGNVmhtwBxMrCG9LHdkCQ 提取码:c4i6 复制这段内容后打开百度网盘手机App,操作更方便哦 添加 ...

随机推荐

  1. POJ1273【网络流】

        Drainage Ditches   Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 91824   Accepted ...

  2. layedit不可编辑,按钮不能使用

    $("#LAY_layedit_1").contents().find("body[contenteditable]").prop("contente ...

  3. 微信小程序判断input是否为空

    微信小程序中用到input值时候,判断其内容是否为空,可以用if-else判断内容的length,也可以给input加点击事件,判断其内容:以下是我解决问题的过程wxml代码 <view cla ...

  4. idea软件操作

    1.快捷键: 1.1.格式化代码:crtl+alt+L 1.2.一些构造啊,setter/getter等方法:alt+insert 1.3.crtl + f 搜素当前页面

  5. 记录 Docker 的学习过程 (单机编排)

    容器的编排 什么是容器的编排?就是让容器有序的启动并在启动的过程加以控制 docker-compose -f bainpaiwenjian.yul up 如果编排文件为默认名称docker-compo ...

  6. 二分-D - Can you solve this equation?

    D - Can you solve this equation? Now,given the equation 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y,can you ...

  7. vue学习指南:第十二篇(详细) - Vue的 路由 第二篇 ( 路由按需加载(懒加载))

    各位朋友 因 最近工作繁忙,小编停更了一段时间,快过年了,小编祝愿 大家 事业有成 学业有成 快乐健康 2020开心过好每一天.从今天开始 我会抽时间把 Vue 的知识点补充完整,以及后期会带给大家更 ...

  8. python之路模块

    time模块 print time.time() print time.mktime(time.localtime()) print time.gmtime() #可加时间戳参数 print time ...

  9. 洛谷P1028 数的计算

    https://www.luogu.org/problem/P1028 #include<cstdio> using namespace std; int main(){ ,i,f[]; ...

  10. onvif学习一:wsdl 和soap

    来源:https://www.cnblogs.com/huanghongbo/p/5920123.html WSDL是用来描述WebService的,它用XML的格式描述了WebService有哪些方 ...