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

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. canvas-文字粒子化(小程序)

    有2张画板,1张渲染文字为获取文字数组,另一张用来渲染粒子根据拿到的数组. step1:渲染文字,根据canvasGetImageData拿到rgba数组 step2:遍历rgba数组拿到粒子的坐标 ...

  2. Numpy | ndarray数组基本操作

    搞不懂博客园表格的排版... 说明: 0 ndarray :多维数组对象 1 np :import numpy as np 2 nda :表示数组的名称 1 生成数组 函数名 描述 np.array ...

  3. P1164 小A点菜【dp】

    P1164 小A点菜 提交 43.03k 通过 24.37k 时间限制 1.00s 内存限制 125.00MB 题目提供者洛谷 难度普及- 历史分数100 提交记录 查看题解 标签 洛谷原创   查看 ...

  4. centos yum 安装openresty

    yum 安装openresty sudo yum install yum-utils -y sudo yum-config-manager --add-repo https://openresty.o ...

  5. 想要学好Git,应该掌握哪些基础知识?

    说到Git,作为程序员的你,在项目开发中一定会使用到或将来也一定会使用到的,但是我相信,很多在使用Git的人,都只是停留一些简单的操作上,比如提交(commit).拉取(pull).推送(push). ...

  6. eclipse下载更新可用的SDK 2018-11-12

    懒人方法: mirrors.neusoft.edu.cn:80 操作步骤: 1. Android SDK Manager----Tools----Options-----Http Proxy Serv ...

  7. 算法竞赛入门经典第二版 蛇形填数 P40

    #include<bits/stdc++.h> using namespace std; #define maxn 20 int a[maxn][maxn]; int main(){ ; ...

  8. iOS13禁用深色模式

    全局禁用深色模式(暗黑模式)在Info.plist中增加UIUserInterfaceStyle,值为Light,如下 <key>UIUserInterfaceStyle</key& ...

  9. 软件工程 实验一 Git版本管理

    实验目的: 1)了解分布式分布式版本控制系统的核心机理: 2)   熟练掌握git的基本指令和分支管理指令: 实验内容: 1)安装git 2)初始配置git ,git init git status指 ...

  10. SpringCloud大白话之服务注册中心

    SpringCloud-Eureka白话说明 eureka.client.register-with-eureka 属性表示是否将自己注册到Eureka Server, 默认为true. 由于当前应用 ...