Chapter1

Chpater 1 Introduction

what will you learn?

  1. OOAD
  2. Requirements analysis
  3. Pattern
  4. Principles and guidelines
  5. UML notation
  6. Iterative development with an agile Unified Process

The Most Important Learning Goal

  1. skillfully assign responsiblities to software component
  2. GRASP patterns, nine fundamental principles in object design

What is Analysis and Design?

  1. Analysis emphasizes an investigation of the problem rather than how a solution is defined.
  2. Design emphasizes a logical solution, how the system fulfills the requiements

What is OOAD?

  1. The essence of OOAD is consider a problem domain and logical solution from the perspective of objects
  2. OO Analysis emphasizes finding and describing the objects-or concepts in the problem domain
    1. identifies
      1. Concepts in the problem domain
      2. Relationships among those concepts
      3. Attributes of those concepts
  3. OO Design emphasizes defining logical software objects that have attributes and methods
    1. defines a logical software solution for the problem
    2. solution is defined based on findings of OOA phase.
    3. includes definition of class methods that represen a logical software solution
    4. new concepts, attributes or relationship among concepts are often discovered during design phase.

OOAD examples

1. define use case 2. build a domain model 3. construct interaction diagram(sequence diagram & communication diagram) 4. develop design class diagram(models of the software constructs)