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.

 

Objectives:

 

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

GRASP

Larman: 14-17

Fowler: 3, 12

6. Elaboration 1

Visibility

Design to Code

Special topic: Agile development

Larman: 18, 19

7. Elaboration 1

More GRASP

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.

 

 

A

>80

B

70-80

Pass

60

 

Note:

 

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.