zoukankan      html  css  js  c++  java
  • UML Use Case之间的各种关系

    UML是软件开发和系统建模的标准工具。该统一建模语言用于软件系统的可视化、说明、构建和建立文档等方面。

    这里可以看到UML的一些介绍

    http://baike.baidu.com/view/23396.htm?fr=ala0_1_1

    本篇主要讲解UML用例图之间的关系, 用例主要有以下三种关系。

    包含

    包含关系指用例可以简单地包含其他用例具有的行为,并把它包含的用例行为作为自身行为的一部分。包含关系代表着基础用例会用到被包含用例,将被包含用例的时间流插入到基础用例的时间流中。

    在处理包含关系时,具体的做法就是把几个用例的公共部分单独地抽象成一个新的用例。主要有以下两种情况需要用到包含关系。

    • 多个用例用到同一段的行为,则可以把这段共同行为单独地抽象成一个用例,然后让其他用例来包含这一用例。
    • 当某一个用例功能过多,事件流过于复杂时,也可以把某一段事件流抽象成一个被包含的用例,以达到简化描述的目的。

    下面的用例说明添加用户和修改用户后都需要浏览用户信息,以后修改浏览用户时不会对添加用户和修改用户造成影响。

    image

    扩展

    在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例

    扩展关系和包含关系的不同

    • 在扩展关系中,基础用例提供了一个或者多个插入点,扩展用例为这些插入点提供了需要插入的行为。而在包含关系中,插入点只有一个。
    • 在扩展关系中,基础用例的执行并不一定会涉及到扩展用例,扩展用例只有在满足一定条件下才会被执行。而在包含关系中,当基础用例执行外后,被包含用例时一定要被执行的。
    • 即使没有扩展用例,扩展关系中的基础用例本身也是完整的。而包含关系,基础用例在没有被包含用例的情况下是不完整存在。

    image

    泛化

    用例的泛化指的是一个父用例可以被特化成多个子用例。

    image

  • 相关阅读:
    Java实现 LeetCode 155 最小栈
    Java实现 LeetCode 155 最小栈
    Java实现 LeetCode 154 寻找旋转排序数组中的最小值 II(二)
    Java实现 LeetCode 154 寻找旋转排序数组中的最小值 II(二)
    Java实现 LeetCode 154 寻找旋转排序数组中的最小值 II(二)
    IsBadStringPtr、IsBadWritePtr
    IPicture、BITMAP、HBITMAP和CBitmap的关系
    DrawDibDraw函数的使用方法
    第二章排错的工具:调试器Windbg(上)
    第二章排错的工具:调试器Windbg(下)
  • 原文地址:https://www.cnblogs.com/cnblogsfans/p/1785160.html
Copyright © 2011-2022 走看看