Chpater 1 Introduction
what will you learn?
- OOAD
- Requirements analysis
- Pattern
- Principles and guidelines
- UML notation
- Iterative development with an agile Unified Process
The Most Important Learning Goal
- skillfully assign responsiblities to software component
- GRASP patterns, nine fundamental principles in object design
What is Analysis and Design?
- Analysis emphasizes an investigation of the problem rather than how a solution is defined.
- Design emphasizes a logical solution, how the system fulfills the requiements
What is OOAD?
- The essence of OOAD is consider a problem domain and logical solution from the perspective of objects
- OO Analysis emphasizes finding and describing the objects-or concepts in the problem domain
- identifies
- Concepts in the problem domain
- Relationships among those concepts
- Attributes of those concepts
- identifies
- OO Design emphasizes defining logical software objects that have attributes and methods
- defines a logical software solution for the problem
- solution is defined based on findings of OOA phase.
- includes definition of class methods that represen a logical software solution
- 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)