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 Entity ClassesExample: Finding Entity Classes• Use use-case flow of events as input• Key abstractions of the use case• Traditional, filtering nouns approach• Underline noun clauses in the use-case flow ofevents• Remove redundant c<strong>and</strong>idates• Remove vague c<strong>and</strong>idates• Remove actors (out of scope)• Remove implementation constructs• Remove attributes (save for later)• Remove operations<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 20Taking the use-case flow of events as input, underline the noun phrases in the flow ofevents. These form the initial c<strong>and</strong>idate list of analysis classes.Next, go through a series of filtering steps where some c<strong>and</strong>idate classes areeliminated. This is necessary due to the ambiguity of the English language. The resultof the filtering exercise is a refined list of c<strong>and</strong>idate entity classes. While the filteringapproach does add some structure to what could be an ad-hoc means of identifyingclasses, people generally filter as they go rather than blindly accepting all nouns <strong>and</strong>then filtering.6 - 20

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

Saved successfully!

Ooh no, something went wrong!