首页 > 其他分享 > 参与者、用例及其关系

参与者、用例及其关系

时间:2023-10-12 20:35:38浏览次数:35  
标签:关系 泛化 包含 箭头 及其 用例 参与者

参与者、用例及其关系


引言

  软件需求工程是指在软件开发过程中,通过对用户需求的分析、收集、规范和管理,确定软件系统的功能、性能、接口、约束等方面的需求,并将其转化为可实现的软件系统的过程。

  参与者、用例以及它们之间的关系属于软件需求工程中的知识点,应用于用例图。


简介

  • 参与者(Actor):在用例中,参与者通常是指与系统进行交互的人、组织或其他系统。

  • 用例(Use Case):用例是描述系统如何满足参与者需求的一种方式,是从用户角度描述系统行为的一种技术,用于描述系统的功能需求和业务流程。

  • 关系(Relationship):用例和参与者之间的关系可以是一对一、一对多或多对多。常见的关系有:扩展关系(Extend)、包含关系(Include)和泛化关系(Generalize)。


常见关系

1.关联关系

定义:参与者与用例之间通常用关联关系来描述,关联关系可以是单向的或双向的,它描述了类对象之间的关联性。

表示方法:

 单项:带箭头的实线,箭头指向用例(用例被关联)。

 双向:双向箭头加实线或不带箭头的实线。

如图:

2. 泛化关系

定义:泛化关系是一种特殊的继承关系,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。表示一个用例可以泛化为另一个或多个子用例,通常用于描述一些相似但有差异的功能。

注意:泛化关系的箭头不是指向被泛化,而是指向被继承。泛化和继承是不同的方向。泛化是从下到上的抽象过程,继承是从上到下,从一般到特殊的过程。

表示方法:带空心箭头的实线,指向父用例(父用例被泛化)。

如图:

3. 包含关系

定义:一个用例的行为包含了另一个用例的行为,是比较特殊的依赖关系,通常用于描述一些共用的、重复的功能。

注意:包含关系双方不能访问对方的属性。

表示方法:虚线箭头且有<< include>>字样,箭头指向被包含的用例(包含用例被包含)。

如图:

4. 扩展关系

定义:扩展关系表示一个用例可以在另一个用例的基础上进行扩展,通常用于描述一些可选的、非必须的功能。

注意:在扩展关系中,基础用例没有扩展也是完整的,而在包含关系中,基础用例依赖于包含用例的执行结果。

表示方法:虚线箭头且有<< extend>>字样,箭头指向被扩展的用例(基础用例被扩展)。

如图:


总结

 了解参与者、用例以及它们之间的关系,有助于分析和理解系统的需求,进而指导软件开发过程中的设计和实现。

标签:关系,泛化,包含,箭头,及其,用例,参与者
From: https://www.cnblogs.com/cjw2002/p/17760481.html

相关文章

  • nittest单元测试框架—加载测试用例的3种方法以及测试报告存储管理
     项目结构 测试用例importunittestclassLoginTestCase(unittest.TestCase):deftest_login_success(self):self.assertEqual({'code':200,'msg':'登录成功'},self.login('kobe','666'))deftest_......
  • 通过unittest加载测试用例的不同方法
    使用python+unitest做自动化测试执行时,执行用例时就涉及测试用例的加载。即如何把测试cases加载到测试suite,然后进行运行。一般把用例加载方法分为两大类:通过unittest.main(),或者通过testsuit。第一种方式使用比较简单,第二种比较灵活多样。 一、测试文件中有测试类,及main......
  • 软件测试技术之地图导航的测试用例
    外观测试屏幕显示不能有花屏、黑点和闪屏,清晰度、亮度、颜色要正常。检测所有按键都能起到相应作用,是否手感不良。UI显示状态、颜色、清晰度、效果。控制:放大,缩小,音量调节功能测试。交叉路口查询测试,点击交叉路口查询后能正确输入城市名称吗。关键字查询:点击关......
  • 浅谈视频智能分析预警 事件识别算法硬件智能分析网关V2版的功能 及其智能分析网关V1版
    智能分析网关V1版本和智能分析网关V2版本相比,不仅在硬件外观上有所改变,而且在算法类别上也增加了一些新的内容。因此,今天我们将重点介绍智能分析网关V2版本的相关特性。智能分析网关V2是一种先进的数据处理设备,它融合了云计算、物联网和人工智能技术,主要应用于工业生产环境中......
  • 智慧工厂中的UWB定位技术及其在人员安全管理中的应用
    位置信息大数据定位平台源码 UWB高精度人员定位系统源码智慧工厂是产业升级的外在表现形式,利用物联网技术加强信息管理的新模式,人员定位管理通过物联网技术、位置信息大数据的综合处理应用,在智慧工厂人员管理方面具有独到的优势。UWB定位技术具有传输速率高,发射功率低,传统能力强等......
  • python读取excel测试用例数据
     #excel_readUtil.pyfromopenpyxlimportload_workbookimportpandasclassHandleExcel:"""封装excel文件处理类"""def__init__(self,filename,sheetname=None):"""定义构造方法:p......
  • 【原创】实现自动编写软件功能测试用例
    国内积极推进“去测试化”的大环境下,想走完一套从需求评审-用例编写-提测的完整流程,越来越难但软件测试入行越久,就越会发现“用例驱动测试”才是正确的事但编写测试用例本身是一件耗时,又不被允许耗时的重要事示例: 用例放大: 留言多的话,我再细说 ......
  • pytest如何设置 批量用例执行时,失败自动retry重试机制
    失败重跑插件pytest-rerunfailures1.环境前提:以下先决条件才能使用pytest-rerunfailuresPython3.5,最高3.8,orPyPy3pytest5.0或更高版本2.安装插件pipinstallpytest-rerunfailures插件重点:命令行参数:–rerunsn(重新运行次数),–reruns-delaym(等待运行秒......
  • channel 通道错误的使用例子
    1.向已经关闭的通道发送值,引起panic错误packagemainimport"fmt"funcrecv(cchanint){ ret:=<-c fmt.Println("接收成功",ret)}funcmain(){ ch:=make(chanint) gorecv(ch)//启用goroutine从通道接收值 ch<-10 close(ch) ch<-9 fmt.Prin......
  • logger.add() 方法的所有参数及其用法说明:
    Loguru是一个强大而易于使用的日志记录库,logger.add()方法用于向Logurulogger添加处理程序。下面是logger.add()方法的所有参数及其用法说明:logger.add(sink,*,level=None,format=None,filter=None,colorize=None,backtrace=None,diagnose=None,serialize=False,......