In UML class diagrams, what are Boundary Classes, Control Classes, and Entity Classes?

Viewed 213469

I'm now using NetBeans as my IDE-of-choice, and it has a plugin for UML modeling. In the class diagram, there are model elements known as Boundary Class, Control Class, and Entity Class. However, I can't find a good definition of them, but I did find this site on UML Class Diagrams.

6 Answers

Often used with/as a part of OOAD and business modeling. The definition by Neil is correct, but it is basically identical to MVC, but just abstracted for the business. The "Good summary" is well done so I will not copy it here as it is not my work, more detailed but inline with Neil's bullet points.

Good summary - Conceito: Entity-Control-Boundary Pattern

OOAD

These are class stereotypes used in analysis.

  • boundary classes are ones at the boundary of the system - the classes that you or other systems interact with

  • entity classes classes are your typical business entities like "person" and "bank account"

  • control classes implement some business logic or other

Actually, the Robustness Diagrams (or Analysis Diagrams, as they are sometimes called) are just specialized Class Diagrams. They are a part of UML, and have been from the beginning (see Jacobson's book, The Unified Software Development Process - part of the "Three Amigos" series of books). The aforementioned book has a good definition of these three classes on pp 183-185.

For the records, the Entity-Boundary-Control pattern comes from use-case driven software development and is much older than Scott Ambler's robustness diagrams who only reused the concept.

The pattern is not part of UML, but is closely related to it because it was promoted by Ivar Jacobson (who initiated it in 1992), Grady Booch and Jim Rumbaugh, the founding fathers of UML... and of the Unified process (UP, RUP). In UML it's just stereotypes like any others.

The Wikipedia explains it best, but Control classes correspond to Use Cases, Boundary classes correspond to the association between a Use-Case and an Actor, and Entities correspond to domain objects identified as being involved in the use-case.

The circulars symbols that most UML tools use with predefined BCE stereotypes are also from Jacobson. The robustness rules are just the transposition of the use-case mapping explained above.

Related