在UML类图中,什么是边界类,控件类和实体类?

时间:2009-03-25 22:46:04

标签: uml class-diagram

我现在使用NetBeans作为我的首选IDE,它有一个用于UML建模的插件。在类图中,有一些模型元素称为Boundary ClassControl ClassEntity Class。但是,我找不到它们的好定义,但我确实在UML类图上找到了this site

5 个答案:

答案 0 :(得分:176)

鲁棒性图是在用例之后和类图之前编写的。它们有助于确定用例步骤的作用。您可以使用它们确保您的用例足够强大来表示您正在构建的系统的使用要求。

他们涉及:

  1. 演员
  2. 用例
  3. 实体
  4. 边界
  5. 控件
  6. 尽管Model-View-Controller模式用于用户界面,但实体控制边界模式(ECB)用于系统。 ECB的以下方面可以比作MVC的抽象版本,如果这有用的话:

    UML notation

    实体 (型号)
    表示系统数据的对象,通常来自域模型。

    边界 (查看/服务合作者)
    与系统参与者交互的对象(例如用户外部服务)。 Windows,屏幕和菜单是与用户交互的边界的例子。

    控件 (控制器)
    在边界和实体之间进行调解的对象。它们充当边界元素和实体元素之间的粘合剂,实现管理各种元素及其交互所需的逻辑。重要的是要理解您可能决定在设计中实现控制器而不是对象 - 许多控制器很简单,可以实现为实体或边界类的方法。

    他们的沟通有四条规则:

    1. 演员只能与边界对象交谈。
    2. 边界对象只能与控制器和演员交谈。
    3. 实体对象只能与控制器通信。
    4. 控制器可以与边界对象和实体对象以及其他控制器进行通信,但不能与演员进行对话
    5. 允许沟通:

               Entity    Boundary   Control
      Entity     X                     X
      Boundary                         X
      Control    X          X          X
      

答案 1 :(得分:18)

经常与/作为OOAD和业务建模的一部分一起使用。 Neil的定义是正确的,但它与MVC基本相同,但只是为业务抽象。 “好的总结”很好,所以我不会在这里复制,因为它不是我的工作,更详细,但与Neil的要点一致。

<强> Good summary - Conceito: Entity-Control-Boundary Pattern

OOAD

答案 2 :(得分:15)

这些是分析中使用的阶级刻板印象。

  • 边界类是系统边界的边界类 - 您或其他系统与之交互的类

  • 实体类课程是典型的商业实体,如“人”和“银行帐户”

  • 控件类实现了一些业务逻辑或其他

答案 3 :(得分:4)

实际上,Robustness Diagrams(或者分析图,有时也称为)只是专门的类图。它们是UML的一部分,并且从一开始就是如此(参见Jacobson的书,统一软件开发过程 - “三Amigos”系列丛书的一部分)。上述书籍在第183-185页对这三个类别有很好的定义。

答案 4 :(得分:3)

边界控制实体模式有两个版本:
- 旧结构,在127处描述(实体作为数据模型元素,控制作为函数,边界作为应用程序接口)
- 新的对象模式


作为对象模式:
- 边界是“其他世界”的界面 - 控制任何内部逻辑(如DDD模式中的服务)
- 实体是对象的持久性服务(如DDD模式的存储库) 所有课程都有操作(参见Fowler贫血领域模型反模式)
所有这些都是MVC模式中的Model组件。规则:
- Only Boundary为“其他世界”提供服务 - Boundary只能调用Controll
- 控制可以打电话给任何人 - 实体不能呼叫任何人(!),只能被呼叫。

JZ​​