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

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. Cow Contest POJ - 3660 floyd传递闭包

    #include<iostream> #include<cstring> using namespace std; ,INF=0x3f3f3f3f; int f[N][N]; ...

  2. LaTeX技巧005:定制自己炫酷的章节样式实例

    示例一: 实现代码: \usepackage[Lenny]{fncychap} 示例二: 实现代码: \usepackage[avantgarde]{quotchap} \renewcommand\c ...

  3. windows 服务启动外部程序

    服务使用Process启动外部程序没窗体 在WinXP和Win2003环境中,安装服务后,右键单击服务“属性”-“登录”选项卡-选择“本地系统帐户”并勾选“允许服务与桌面交互”即可. 在Win7及以后 ...

  4. jquery tagsinput监听输入、修改、删除事件

    个人博客 地址:http://www.wenhaofan.com/article/20181118192458 由于度娘上的根本搜不到对应的操作,连该插件对应的文档介绍都没有,不得已debug了源码才 ...

  5. Docker最全教程——从理论到实战(十二)

    前言 Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,应用很广.本篇主要讲述Ubuntu下使用SSH远程登录并安装Docker,并且提供了Docker安装的两种方式,希望对大家有所帮 ...

  6. JS高级---创建正则表达式对象

    创建正则表达式对象 两种: 1.通过构造函数创建对象 2.字面量的方式创建对象   正则表达式的作用: 匹配字符串的   //对象创建完毕--- var reg = new RegExp(/\d{5} ...

  7. JavaScript DOM–节点操作

    节点 节点至少拥有nodeType(节点类型).nodeName(节点名称)和nodeValue(节点值)这三个基本属性. 元素节点 nodeType  为1 属性节点 nodeType  为2 文本 ...

  8. 给阿里云主机添加swap分区,解决问题:c++: internal compiler error: Killed (program cc1plus)

    前言 今天安装spdlog,一个快速得C++日志库,按照文档步骤,不料出现了一堆错误,像c++: internal compiler error: Killed (program cc1plus)等一 ...

  9. 0009 注册登录(第二步:获取短信接口access token)

    1 在GeneralTools目录下创建一个常量文件Constants.py 获取短信验证之前需要申请腾讯云短信服务. """ 腾讯云短信相关常量 "" ...

  10. C++——类与对象

    1.抽象: 是对具体对象(问题)进行概括,抽出这一类对象的公共性质并加以描述的过程. 1.1 先注意问题的本质描述,其次是实现过程和细节: 1.2 数据抽象:描述某类对象的属性或状态(对象相互区别的物 ...