1
1
OBJECT-ORIENTED ANALYSIS AND DESIGN
Le temps est un grand professeur, mais malheureusement il tue tous ses élèves (Time is a great teacher, but unfortunately it kills all its pupils.) —Hector Berlioz
Objectives
● ● ● ●
Describe the book goals and scope. Define object-oriented analysis and design (OOA/D). Illustrate a brief OOA/D example. Overview UML and visual agile modeling.
1.1
What Will You Learn? Is it Useful?
What does it mean to have a good object design? This book is a tool to help developers and students learn core skills in object-oriented analysis and design (OOA/D). These skills are essential for the creation of well-designed, robust, and maintainable software using OO technologies and languages such as Java or C#.
What’s Next?
This chapter introduces the book goals and OOA/D. The next introduces iterative and evolutionary development, which shapes how OOA/D is presented in this book. The case studies are evolved across three iterations. next chapter
Foreword
Preface (educator resources)
OOA/D Introduction
Iterative, Evolutionary & Agile
Case Studies
3
1 – OBJECT-ORIENTED ANALYSIS AND DESIGN
The proverb “owning a hammer doesn’t make one an architect” is especially true with respect to object technology. Knowing an object-oriented language (such as Java) is a necessary but insufficient first step to create object systems. Knowing how to “think in objects” is critical! This is an introduction to OOA/D while applying the Unified Modeling Language (UML) and patterns. And, to iterative development, using an agile approach to the Unified Process as an example iterative process. It is not meant as an advanced text; it emphasizes mastery of the fundamentals, such as how to assign responsibilities to objects, frequently used UML notation, and common design patterns. At the same time, mostly in later chapters, the material progresses to some intermediate-level topics, such as framework design and