Object-Oriented Analysis (OOA) M. M. Pickard, PhD Department of Computer Science
Steps in OOA Use-case modeling Class Modeling Dynamic Modeling
Use-Case Modeling Show the functionality of the contemplated product. Use cases: Show the general interaction between classes of the software product and users. Scenarios: Show the steps in a particular interaction between users and specific objects.
Entity Class Extraction Functional modeling Scenarios of all use cases. Normal Exceptions Entity Class Modeling (class diagram) Identify classes and attributes Class interrelationships Dynamic modeling (state chart)
Entity Class Modeling Extract classes and their attributes. Attempt to deduce them from the use cases. Use CRC cards if have domain expertise. Noun extraction.
Entity Class Modeling Deduction from use cases and scenarios: May yield a large number of candidate classes. Harder to delete extraneous classes than it is to add classes.
Entity Class Modeling Class-responsibility-collaboration (CRC) cards. Name of the class Responsibility (functionality) of the class. List other classes required to perform its functionality (collaboration).
Entity Class Modeling Noun extraction (advised if no domain expertise). Create a concise problem definition. Express an informal strategy. Formalize the strategy. Identify nouns as candidate classes.
Build Class Diagrams Show attributes. No methods (operations) at this point. Show relationships between classes. Iteratively refine the diagram.
Dynamic Modeling Produce a state diagram for each entity class that shows actions performed by or on that class. Looks similar to a finite state machine.
Class Extraction First, entity classes. Then, boundary classes And control classes.
Boundary Class Extraction Boundary classes Help to model interaction between the product and actors. Usually show input/output. One for each screen or report.
Control Class Extraction Control classes Model non-trivial algorithmic computations.
Use Case Realization Realization – making it real. For each use case diagram Show a class diagram that includes boundary and control classes. Build interaction diagrams to “realize” the associated scenario.
Use Case Realization Interaction Diagrams Sequence diagram Emphasizes the sequence of actions. Collaboration diagram Emphasizes the interrelationships among classes. Each can be transformed into the other.
Object Oriented Analysis Use cases are the foundation. Extraction and modeling of entity classes is iterative. Once entity, boundary, and control classes are extracted, Refine use cases; Realize the use cases.