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>Example: Finding Boundary ClassesExample: Finding Boundary Classes• One boundary class per actor/use case pairStudentRegister for CoursesCourse Catalog SystemRegisterForCoursesFormCourseCatalogSystem<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 16The goal of <strong>Analysis</strong> is to form a good picture of how the system is composed, not todesign every last detail. In other words, identify boundary classes only for phenomenain the system or for things mentioned in the flow of events of the Use-CaseRealization.Consider the source for all external events <strong>and</strong> make sure there is a way for thesystem to detect these events.One recommendation for the initial identification of boundary classes is oneboundary class per actor/use-case pair. This class can be viewed as havingresponsibility for coordinating the interaction <strong>with</strong> the actor. This may be refined as amore detailed analysis is performed. This is particularly true for window-based GUIapplications where there is typically one boundary class for each window, or one foreach dialog box.In the above example:• The RegisterForCoursesForm contains a Student's "schedule-in-progress." Itdisplays a list of Course Offerings for the current semester from which theStudent may select courses to be added to his or her Schedule.• The CourseCatalogSystem interfaces <strong>with</strong> the legacy system that provides theunabridged catalog of all courses offered by the university. This class replaces theCourseCatalog abstraction originally identified in Architectural <strong>Analysis</strong>.6 - 16

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

Saved successfully!

Ooh no, something went wrong!