首页 > 其他分享 >用例图

用例图

时间:2024-11-07 13:09:17浏览次数:1  
标签:关系 泛化 系统 用例 行为 参与者

用例图

参与者、用例以及之间的关系构成的用于描述系统功能的动态视图

椭圆表示用例,用例名称放在椭圆的中心或下面

参与者(人形符号)用箭头的线段表示参与者和用例之间的关系,箭头所指表示对话的被动接受者

可以使用注释,更清晰的描述用例和参与者

(黑盒子)

构成

1. 参与者(Actor)

​ 是指存在于系统外部并直接与系统进行交互的人、系统、子系统或类的外部实体的抽象。
​ 每个参与者可以参与一个或多个用例,每个用例也可以有一个或多个参与者。
  在用例图中使用一个人形图标来表示参与者,参与者的名字写在人形图标下面。

image-20240604155618611

2. 参与者间的的关系

​ 参与者实质上也是类,所以它拥有与类相同的关系描述,即参与者与参与者之间主要是泛化关系(或称为“继承”关系)
​ 泛化关系的含义是把某些参与者的共同行为提取出来表示成通用行为,并描述成超类。泛化关系表示的是参与者之间的一般/特殊关系,在UML图中,使用带空心三角箭头的实线表示泛化关系。

image-20240604160302740

3.系统边界

​ 系统边界是指系统与系统之间的界限(通常说的系统可以认为是由一系列相互作用的元素形成的具有特定功能的有机整体)

​ 系统是相对的,一个系统本身可以是另一个更大系统的组成部分。系统和系统之间需要使用系统边界区分开。

​ 系统环境:系统边界以外的同系统相关联的其他部分

image-20240605133335715

重要元素

1.如何识别

任何用例图都不能在缺少参与者的情况下独立存在,同样,任何参与者也必须要与之关联的用例。所以识别用例的最好方法就是从分析参与者开始,在分析过程中往往会发现新的参与者。

  • 参与者希望系统提供什么功能
  • 参与者是否会读取、创建、修改、删除、存储系统的某种信息;如果是,参与者如何完成这些操作的
  • 参与者是否会将外部的某些事件通知给系统
  • 系统中发生的事件是否通知参与者
  • 是否存在影响系统的外部事件
2.用例的粒度

粒度是指:用例所包含的系统服务或功能单元的多少。粒度越大,用例包含的功能越少。

用例数目过多会造成用例模型过大和引入设计困难大大提高,用例数目过少会造成用例的粒度太大,不便于进一步的分析。

3.用例规约

对每个用例,需要有详细的描述信息

  • 简要说明:用例作用和目的的简要描述
  • 事件流:包括基本流和备选流。基本流使用里的基本流程,“正常”运行的场景
  • 用例场景:同一个用例在实际执行的时候有很多不同的情况发生,成为用例场景——即用例的实例
  • 特殊需求:一个用例的非功能性需求和设计约束。特殊需求通常是非功能性需求,包括可靠性、性能、可用性和可扩展性登。(法律法规、应用程序标准和所构建系统的质量属性)
  • 前置条件:执行用例前系统必须所属的状态(要求用户有访问权限或者要求某个用例必须先执行完)
  • 后置条件:用例执行完系统可能处于的一个状态(比如,执行完一个用例,必须执行另一个用例)
4.关系
1.包含

一个用例包含其他用例,并把这个用例包含的用力行为作为自身行为的一部分。

image-20240607085235302

把几个用例的公共部分单独的抽象出来成为一个新的用例:

  1. 多个用例用到同一段的行为,把这段共同的行为单独抽象成为一个新的用例,让其他用例来包含这一用例
  2. 某个用例的功能过多、事件流过于复杂,可以把某一段事件流抽象成一个被包含的用例,达到简化的目的
2.扩展

把新的行为加到已有的用例中,获得新的用例叫扩展用例,原有的叫基础用例

一个基础用例可以有一个或多个扩展用例

image-20240607085631879

3.泛化

一个父用例可以被特化形成多个子用例,这种关系就是泛化关系

子用例继承了父用例所有的机构、行为和关系

子用例可以添加、覆盖、改变继承的行为

image-20240607090211592

image-20240607090223047

标签:关系,泛化,系统,用例,行为,参与者
From: https://www.cnblogs.com/cimengmenga/p/18531842

相关文章

  • 用例图基础知识
    什么是用例图用例图描述了一组用例、参与者以及它们之间的关系使用阶段:软件需求分析使用者:软件分析人员、软件开发人员用例模型:把系统看成黑盒子,外部,不考虑功能怎么实现,只考虑有什么功能用例图:用来描述用户的需求,从用户的角度描述系统的功能,并指出各功能的执行者,强调谁在使用......
  • 不按套路出牌版的测试用例编写思路
    这是4年测试经验,自我总结出来的适用于所有产品编写测试用例的一个大致思路吧,仅供参考,有其他见解的可以一起讨论。个人看法是:在产品需求分析阶段,书写测试用例之前我们就应该想好以下问题,大致有个思路和规划,可以帮助我们更加清晰的梳理测试用例。要写出一个逻辑清晰,条理清晰的测......
  • 教育用例
    教育用例——辅导课业“内心独白法”:让模型把那些不想让用户看到的内容,隐藏地放到一个结构化的格式里。然后在把输出展示给用户之前,解析一下这段输出,只展示能给学生看到的那部分。步骤1-首先,用你自己的解题思路来解决问题。不要看学生的答案,学生的答案可能是不对的。把你的题......
  • 【linux命令】史上最全Linux命令,结合用例通俗易懂
    前言:目前关于Linux命令的文章往往存在内容不全的问题,导致初学者和中级用户在使用过程中遇到困难。许多文章仅涵盖基础命令,而缺乏对系统管理、网络配置、包管理和脚本编写等重要主题的详细讲解。此外,实际操作中的常见问题及其解决方案也常常未被提及,使得用户在遇到困难时无法......
  • ES API,使用Kibana的开发工具用例说明
    @目录创建template,用于滚动索引判断template是否存在测试自定义解析器测试内置解析器查index信息添加document查index下document全部信息查所有template删除index查某一template信息模糊搜索+高亮显示设置滚动索引批量插入本人先关其他文章链接创建template,用于滚动索引PUT_tem......
  • pytest实现按业务线来执行,各业务线下的业务测试用例
    importargparseimportpytestdefmain():parser=argparse.ArgumentParser(description='Runspecificbusinesslinetests.')parser.add_argument('--line',choices=['line_1','line_2'],required=True,......
  • 在Postman中使用Pre-request Script简单使用例子(二)——全局环境变量使用
    本文主要介绍在Postman中Pre-requestScript怎么使用全局环境变量快速进行api接口测试的方法。需求背景:客户端调用服务端不同接口,但是接口的使用规则都是一样的,就是使用常见的ak+sk方式进行生成签名放到header当中,服务端获取签名根据约定规则进行验证签名合法性。如果是开......
  • 测试用例设计方法(重点)
            软件测试的核心是测试用例的编写,是每个测试人员必须掌握的技能!!!应聘测试岗的必考题!!!目录一、等价类划分法1、概念2、等价类划分法用例设计原则3、等价类划分法/边界值分析法常用的运用场景二、边界值分析法1、概念        1.1定义      ......
  • 第8课—设计测试用例编写技巧
    一、查看用例的模板案例模板1:案例模板2:案例模板3:二、用例的要素讲解.编写用例的要素?用例编号,用例标题,前置条件,测试步骤,预期结果,优先级(必写)系统名称、模块名称、用例创建时间,实际结果,用例类型,执行时间,执行状态等(非必填项)三、详解测试用例要素(一)用例编号可以称为:用例id,测......
  • pytest 执行用例 将测试结果追加到表格并生成测试报告并推送至企微
    ReadExcel#-*-coding:utf-8-*-fromopenpyxlimportload_workbookimportosclassTestExcel():defget_TestExcel(self,file_name,sheet_name):print("======",os.getcwd())#workbook=load_workbook('Datas.xlsx......