【StarUML】用例图
用例图是在项目初期确认需求的时候,需要明确各个参与者之间的关系以及对应的功能,它可视化地展示了整个系统的功能以及功能之间、功能与参与者之间的关系。
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】用例图的更多相关文章
- UML 中的用例图解析以及starUML详细介绍
UML中的用例(Use Case)概念分析及StarUML实例 在UML 中use case 似 乎最簡單的,用例建模的最主要功能就是用来表达系统的功能性需求或行为,依我的理解用例建模可分为用例图和用 ...
- 【原】使用StarUML画用例图
在写一份升级方案的时候,发现文字描述半天,好多句子,依然不容易被人看明白,使用visio画了个流程图,后来觉得画个时序图是最清晰得了. 于是在找了一个工具: startUML,当然,做时序图,建模之类 ...
- StarUML 系列,静态图与动态图,用例图,类图【ps:熟悉一下starUML】
大部分: 静态图部分,即静态不动的图 1.用例图, Use case diagram 1.展示系统核心功能及与其交互的用户ACTOR 表示:椭圆
- StarUML 系列,静态图与动态图,用例图,类图
大部分: 静态图部分,即静态不动的图 1.用例图, Use case diagram 1.展示系统核心功能及与其交互的用户ACTOR 表示:椭圆
- 安装StarUML 及使用时序图(Sequence Diagram)和用例图(use case diagram)
时序图 用例图
- UML系列01之 UML用例图
UML,全称是Unified Modeling Language,中文是"统一建模语言".通俗点说,UML是一种创建模型的语言. UML是在开发阶段,说明,可视化,构建和书写一个面 ...
- StarUML使用简明教程
最近了解到StarUML比较多,所以写一篇教程供大家参考,不足支持,请见谅. StarUML(简称SU),是一种创建UML类图,生成类图和其他类型的统一建模语言(UML)图表的工具.StarUML是一 ...
- staruml详解
一.用例图 1.说明 1.1 用例图说明的事谁要使用系统以及他们使用该系统可以做些什么? <业务需求> 1.2 解析一个用例图,我们可以发现它包含4个 ...
- StarUML自动生成Java代码
下载一个starUML 链接:https://pan.baidu.com/s/1pIGNVmhtwBxMrCG9LHdkCQ 提取码:c4i6 复制这段内容后打开百度网盘手机App,操作更方便哦 添加 ...
随机推荐
- layer弹出层右上角的关闭按钮怎么没有显示
问题描述:layer弹出层右上角的关闭按钮怎么没有显示,但鼠标移上去又可以点击 解决方式: 这是因为样式中需要一个图标,你的项目中缺少.解决如下:1.下载图标:http://www-x-zi-han- ...
- Wannafly Camp 2020 Day 2J 邦邦的2-SAT模板
#include <bits/stdc++.h> using namespace std; int main() { int n; cin>>n; cout<<n& ...
- jdk 1.8.0_131 Class JavaLaunchHelper is implemented
错误提示:objc[49447]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jd ...
- C#关于文件的创建
若使用文件夹Directory类判断了文件夹的存在,后面的文件就不需要使用File类来判断文件的存在与否和创建,只需要在前面判断过得文件夹路径后面加上文件的名字即可,它会自动判断文件是否存在,若不存在 ...
- Python的特点
简单易学. 免费开源. 跨平台. 解释性.不需要编译就可以直接运行,使用更加简单,移植性更强. 面向对象.arcgis也支持面向对象编程.
- Qt中的Label和PushButton背景图自动缩放设置
Label 背景图自动缩放 QPixmap* pixmap = new QPixmap(":/images/HeadIcon/1.png"); pixmap->scaled( ...
- python面试的100题(14)
32.请写出一个函数满足以下条件 该函数的输入是一个仅包含数字的list,输出一个新的list,其中每一个元素要满足以下条件: 1.该元素是偶数 2.该元素在原list中是在偶数的位置(index是偶 ...
- mybatis(四):执行流程
实现流程 // 读取mybatis-config.xml文件 InputStream inputStream = Resources.getResourceAsStream("mybatis ...
- centos开发环境搭建
1.检查是否安装php php -v yum install php 2.安装composer curl -sS https://getcomposer.org/installer |php //下载 ...
- js学习(精华帖)
js获取当前域名.Url.相对路径和参数以及指定参数 js获取当前url组成部分 jquery操作select(增加,删除,清空)