CHAPTER 1 – Object-oriented analysis and design
1.3 What Is Analysis and Design?
- Analysis: emphasizes an investigation of the problem and requirements, rather than a solution.
o It is broad term, known as requirement analysis or object-oriented analysis
- Design: emphasizes a conceptual solution that fulfills the requirements, rather than the implementation
o the term is best qualified, as in object-oriented design or database design.
- Analysis and design have been summarized in the phase do the right thing (analysis), and do the thing right
1.4 What Is Object-Oriented Analysis and Design?
- During object-oriented analysis, there is an emphasis on finding and describing the objects—or
concepts—in the problem domain.
o Ex. Library information system : Book, Library, Patron
- During object-oriented design, there is an emphasis on defining software object and how they
collaborate to fulfill the requirements, contains the attributes and methods
Ex. Library Object Case: a Book software object may have a title attribute and a getChap-ter method,
1.5 A Short Example
- A "dice game" in which a player rolls two dies. If the total is seven, they win; otherwise, they lose.
Defining Use Cases
- Requirement analysis can be written as use cases and use cases are simply written stories
- Example of a Use Case:
o Play a Dice Game: Player requests to roll the dice. System presents results: If the
dice face value totals seven, player wins; otherwise, player loses.
Define a Domain Model:
- It is the classification by objects
- A decomposition of the domain involves an identification of the concepts, attributes and
o The result is expressed as a domain model (ITM 500)
Define Interaction Diagrams:
- A common notation to illustrate these collaborations is the sequence diagram. It shows the flow
of messages between software objects, and thus the invocation of methods. Define Design Class Diagrams
- it is useful to create a static view of the class definitions with a design class diagram
- Since a play message is sent to a DiceGame object, the DiceGame class requires a play method, while
class Die requires a roll and getFaceValue method. In contrast to the domain model, this diagram does not
illustrate real-world concepts; rather, it shows software classes.
1.6 What is the UML
- The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and
documenting the artifacts of software systems
o It is basically pictures and text
Three Ways to Apply UML
1) UML as