Object-oriented programming techniques are not new, but they are becoming necessary as programmers tackle more complex projects. Object-oriented design helps simplify the development of elaborate programs by breaking them down into Use Cases. Designing software to satisfy previously specified Use Cases uses Objects that manage their own behavior and hide internal complexities. The Unified Modeling Language (UML) standardizes the notation used to document complex systems. Furthermore, Design Patterns allow the software engineer to catalog and apply previously engineered solutions to similar problems (patterns). This provides for re-use at the design level.

Object-Oriented Design with UML Course

(detailed course outline)

Designed for those individuals who wish to enrich their software design skills through object-oriented design methodologies. This course is language independent. Starting with an overview of object-oriented analysis and design fundamentals, the course moves to Use Case Models, Object Modeling, and Class Diagrams. Dynamic Modeling includes State Diagrams, Sequence Diagrams, and Collaboration Diagrams. All diagrams are presented using UML, a third-generation object-oriented modeling language. (The Object Management Group has adopted UML as the official industry standard for software design notations.) Design patterns are also explored. The hands-on workshops allow participants to experiment with design features and UML notation using a Windows-based design tool. Finally, the course explores methodology and process approach using a case study.