Object-Oriented Analysis & Design


Instructor Information

Name: Dilip Dedhia


Object-oriented design is the process of transforming the descriptive analysis models into computational models for coding. During an object-oriented analysis, a descriptive model of the problem domain is developed. This course will focus on case studies and carry them through the design phase. Instruction uses the Unified Process (UP) and the notation specified by the Uniform Modeling Language (UML). Intended for software engineers and managers who will be involved in the design of an object-oriented system, the course covers the principles of object-oriented design and practical considerations for applying these principles.


Upon completion of this course, students should have an understanding of the principles of object-oriented design and experience in applying these principles to real-world projects.




n      Understand the iterative, incremental approach to building systems

n      Understand what type and depth of deliverables are pertinent to the Inception and Elaboration phases

n      Develop effective, accurate requirements with Use Cases and conceptual models

n      Understand OO design, objects, and responsibilities

n      Use interaction diagrams to assign responsibility, class structure and association on the design class diagram



Course Text(s) provide title, publisher, author, ISBN

Required Text(s): Applying UML and Patterns: Introduction to OOA/D & Iterative Development, 3rd edition, Larman


Recommended: UML Distilled, 3rd Edition, Fowler


Detailed Course Outline and Assignments


Assignment Topic

Chapters from the textbooks

1. Introduction to OOAD and UP

Larman: 1,2

Fowler: 1,2

2. Inception, Use Cases

Larman: 4,5, 6

Fowler: 9

3. Elaboration 1, Domain Model

Larman: 8, 9

Fowler: 3

4. Elaboration 1

System Sequence Diagrams

Operational Contracts

Larman: 10, 11

Fowler: 4

5. Elaboration 1

Interaction Diagrams

Class Diagrams


Larman: 14-17

Fowler: 3, 12

6. Elaboration 1


Design to Code

Special topic: Agile development

Larman: 18, 19

7. Elaboration 1


Design Patterns

Larman: 25, 26

8. Activity Diagrams

State machine Diagrams


Larman: 28, 29

Fowler: 10, 11


Each assignment is worth 12.5 points


Student Evaluation

How will the students be evaluated on what they have learned?

Based on the homework projects.


Grading Scale
Grading is based only on the homework (posted under Assignment under each Unit) . No finals.

Assignments are due at the end of every week. There is no penalty for up to two late assignments.












The quizzes are not graded. Complete the quizzes if you find them challenging. If you submit the quizzes to me, I will send you my answers.