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...

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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>Unify <strong>Analysis</strong> ClassesUnify <strong>Analysis</strong> ClassesRegisterForCoursesFormRegistrationControllerCourseCatalogSystemRegisterForCoursesFormRegistrationControllerRegister forCoursesCourseOfferingScheduleStudentCourseOfferingStudentCloseRegistrationCloseRegistrationFormBillingSystemCourseOfferingCloseRegistrationControllerCourseCatalogSystemStudentScheduleCourseCatalogSystemCloseRegistrationFormCloseRegistrationControllerScheduleBillingSystem<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 58Before the <strong>Design</strong> work can be done, the analysis classes need to be filtered to ensurethat a minimum number of new concepts have been created.Different use cases will contribute to the same classes. In the example above, theclasses CourseCatalogSystem, CourseOffering, Schedule <strong>and</strong> Student participate inboth the Register for Courses <strong>and</strong> Close Registration use cases.A class can participate in any number of use cases. It is therefore important toexamine each class for consistency across the whole system.Merge classes that define similar behaviors or that represent the same phenomenon.Merge entity classes that define the same attributes, even if their defined behavior isdifferent; aggregate the behaviors of the merged classes.When you update a class, you should update any “supplemental” use-casedescriptions (described earlier in this module), where necessary. Sometimes anupdate to the original Requirements (that is, use cases) may be necessary, but thisshould be controlled, as the Requirements are the contract <strong>with</strong> the user/customer,<strong>and</strong> any changes must be verified <strong>and</strong> controlled.6 - 58

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

Saved successfully!

Ooh no, something went wrong!