12.07.2015 Views

DEV475 Mastering Object-Oriented Analysis and Design with UML ...

DEV475 Mastering Object-Oriented Analysis and Design with UML ...

DEV475 Mastering Object-Oriented Analysis and Design with UML ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>DEV475</strong> <strong>Mastering</strong> <strong>Object</strong>-<strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>What Is a Control Class?What Is a Control Class?• Use-case behavior coordinator• More complex use cases generally require oneor more control casesUse Case<strong>Analysis</strong> classstereotypeUse-case dependent, Environment independent<strong>Mastering</strong> <strong>Object</strong> <strong>Oriented</strong> <strong>Analysis</strong> <strong>and</strong> <strong>Design</strong> <strong>with</strong> <strong>UML</strong>Copyright © 2003 Rational Software, all rights reserved 22Control classes provide coordinating behavior in the system. The system can performsome use cases <strong>with</strong>out control classes by using just entity <strong>and</strong> boundary classes. Thisis particularly true for use cases that involve only the simple manipulation of storedinformation. More complex use cases generally require one or more control classesto coordinate the behavior of other objects in the system. Examples of control classesinclude transaction managers, resource coordinators, <strong>and</strong> error h<strong>and</strong>lers.Control classes effectively decouple boundary <strong>and</strong> entity objects from one another,making the system more tolerant of changes in the system boundary. They alsodecouple the use-case specific behavior from the entity objects, making them morereusable across use cases <strong>and</strong> systems.Control classes provide behavior that:• Is surroundings-independent (does not change when the surroundings change).• Defines control logic (order between events) <strong>and</strong> transactions <strong>with</strong>in a use case.• Changes little if the internal structure or behavior of the entity classes changes.• Uses or sets the contents of several entity classes, <strong>and</strong> therefore needs tocoordinate the behavior of these entity classes.• Is not performed in the same way every time it is activated (flow of eventsfeatures several states).Although complex use cases may need more than one control class it isrecommended, for the initial identification of control classes, that only one controlclass be created per use case.6 - 22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!