Object Oriented Analysis and Design (OOAD) with UML

What is Object-Orientation? What is Object-Oriented (OO) Analysis and Design (OOAD)? How does it relate to system requirements? How does it relate to a software development process? How do I go from requirements to design? How are the OO requirements and design results documented? Is there a set of steps to get me started?

These are all essential questions and concepts to fully understand for all those who wish to be effective developers, whether their end goal is to develop in the Microsoft .NET Framewor or Java.

This is an essential foundational course that precedes any other object-oriented development courses!

Learn how to use object-oriented techniques from requirements gathering to implementation. Students learn how to analyze and design classes and their relationships to each other in order to build a model of the business requirements


•Overview of OOAD
•Requirements Workflow
•Analysis Workflow
•Class Identification
•Class Relationship Analysis
•Design Workflow
•Software Development Process
After completing this course, the student should be able to:

•Approach new complex software development with confidence
•Model applications using UML
•Implement the software based on the design
•Establish a software development methodology for in-house development
Note, this course does not rely on the use of any special tools, rather it focuses on the concepts needed to be understood in order to make good use of case tools for OOA&D.

Course Outline

1. Overview of OOAD
• Object-Oriented concepts
• Object
• Object relationships
• Encapsulation
• Class
• Inheritance
• Polymorphism
• The Unified Object-Oriented Software Development Process
• Unified Modeling Language and Rational Rose

2. Requirements Workflow
• Requirements Workflow
• Requirements
• Problem Analysis and User Needs
• Requirements Workshop
• UML and Requirements Capture

3. Use Case Analysis
• Use Case Analysis
• Use Cases and Actors.
• Use Cases Relationships.
• Use Case Diagram.
• Case study.

4. Analysis Workflow
• The Analysis Workflow
• Analysis In the Rational Unified Process
• Class Analysis
• Use Case Realizations
• Analysis Packages
• Post Analysis

5. Class Identification
• Class identification
• Class categories: entity, boundary, control
• Noun/verb analysis
• CRC cards
• Class diagrams
• Object diagrams

6. Class Relationship Analysis
• Class relationship analysis
• Class association
• Aggregation
• Composition
• Qualification
• Association Classes

7. Design Workflow
• Design Workflow
• Design in RUP
• Design vs. Analysis
• Design Workflow
• Refining Classes and Relationships
• Refining Use Cases

8. Software Development Process
• Risk Management
• Requirements Change
• Configuration Management
• Quality Assurance
• Agile Modeling

9. RUP
• Software Development Methodologies
• Waterfall v.s. Iterative
• Low Ceremony v.s. High Ceremony
• The Spirit of the Rational Unified Process
• The Life Cycle of Projects Using the Rational Unified Process


This course is valuable for Business Analysts, programmers, technical managers and anyone involved in the production, deployment and maintenace of software.