Object Oriented Design
Duration: 5 days
The Unified Modeling Language (UML) is the industry
standard notational language for developing object oriented software. This
is an advanced course in object technology. It covers developing an architecture,
and looks at system level design issues including the use of patterns.
There is a small amount of optional coding in the class. There are code
examples in simple C++. A case study of a real software system will be
followed throughout the course.
This course is appropriate for senior engineers with
some experience in Object Oriented Development. Homework projects are in
the form of text documents and UML models of a realistic software system.
Use of an OO development tool is encouraged, but not required. Participants
should have access to a word processing tool.
Class Outline
Module 1
- Review of OOA
- Introduction to Design
Module 2
- Architecture Overview
- Static Architecture
Module 3
Module 4
- Dynamic Architecture
- Development Architecture
Module 5
- Hardware Architecture
- User Architecture
- Resolving Design Issues
Module 6
- Common Mechanisms - Multi-Process
- Common Mechanisms - Existing Code
Module 7
- Common Mechanisms - Design Patterns
- Common Mechanisms - Other
Module 8
- Transition to Construction
- Class Design
- State Machines
Module 9
Module 10
- Completing Architecture and Design
Required Texts:The Unified Modeling Language
User Guide, Grady Booch, James Rumbaugh, Ivar Jacobson, Addison Wesley
Longman, ISBN 0-201-57168-4
Software Architecture: Perspectives on an Emerging Discipline, Mary
Shaw, David Garlan, Prentice-Hall 1996.
Prerequisite: Object Oriented Analysis and C++
I or Java I