• 用例图包含关系、扩展关系、泛化关系解析(最全总结,非常详细)


    一、用例图中的各种关系

    a)参与者与用例间的关联关系:参与者与用例之间的通信,也成为关联或通信关系。

    b)用例与用例之间的关系:包含关系(include)、扩展关系(extend)、泛化关系。

    1.包含关系

    (1)包含:当可以从两个或两个以上的用例中提取公共行为时,应该使用包含的关系来表示它们。其中这个提取出来的公共用例成为抽象用例,而把原始用例成为基本用例或基础用例。其中“<>”是包含关系的构造型,箭头指向抽象用例。

    例如,在机房收费系统中“注册学生信息”和“充值”两个用例都需要操作员或者管理员登陆,为此,可以定义一个抽象用例“用户登陆”。用例“注册学生信息”和“充值”与用例“用户登陆”之间的关系就是包含关系。

    如图               

    (2)一个用例的功能太多时,可以使用包含关系建立若干个更小的用例。

    在这里插入图片描述
    说明:一般用户有很多功能,其中包括各种信息的查看,这时可以建立一个查询信息这一个用例,然后下面在包含查看余额、查看上机记录、查看充值记录这三个小用例。

    2.扩展关系

    如果一个用例明显地混合了两种或者两种以上的不同场景,即根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样可能会使描述更加清晰。扩展用例为基用例添加新的行为。扩展用例可以访问基用例的属性,因此他能根据基用例中扩展点的当前状态来决定是否执行自己。而扩展用例对基用例不可见。如机房收费系统中“维护学生信息”操作时如果发现信息有误或者更新则需要使用“修改学生信息”用例完成更新,所以用例“查询上机记录”和“导出EXCEL”之间的关系就是扩展关系。“<>”是扩展关系的构造型,箭头指向基本用例。

    说明:罚款与还书用例之间属于扩展关系,你还书不一定要罚款,如果你超时还书可能要罚款;但是如果你按时还书,就不需要罚款了。即两个用例只在特定条件下才会执行。

    3.泛化关系

     当多个用例共同拥有一种类似的结构和行为时,可以将他们的共性抽象成为父用例,其他的用例作为泛化关系的子用例。在用例的泛化关系中,子用例是父用例的一种特殊形式,它继承了父用例的所有结构、行为、关系。其中三角箭头指向父用例。注意,这里是三角箭头

  • 相关阅读:
    115道高频Java面试题,
    十三、企业开发(5)
    打家劫舍问题
    java177-获取应用程序的路径
    C语言第二十七弹---内存函数
    react 使用useRoutes遇到的问题
    华为数通方向HCIP-DataCom H12-821题库(单选题:281-300)
    Mybatis框架的详细介绍(基础版)
    【Python脚本进阶】1.1、基础环境
    自己动手从零写桌面操作系统GrapeOS系列教程——23.从硬盘读取文件
  • 原文地址:https://blog.csdn.net/daima3/article/details/133900453