Description
This course provides a practical introduction to object-oriented concepts, as well as hands-on experience an applying these
concepts to a real-world problem domain. The motivation for, and principles of objects and object-oriented software are
described. Next, the techniques that facilitate the development of such systems are described. Additionally, a working knowledge
of UML as a modeling language is provided and used it to perform analysis of a problem domain. The heart of the course centers
on a practicum with which to gain experience in the concepts and techniques in the class. Closing topics focus on methods
for improving designs (refactoring and patterns)
Duration
2 days
Audience
This course is intended for the professional developer who has had no exposure to object-oriented programming methodologies and/or principles
Prerequisites
Understanding of, and experience in programming at least one 3rd Generation Programming Language; familiarity with computer programming
fundamentals. No Object-Oriented knowledge required.
Variations
-
ED105: Introduction to Object-Oriented Analysis & Design for Procedural Programmers
This class is identical to ED 100 (above) with additional focus on helping procedural programmers correlate their existing experience to object-oriented principles.
Details
Topics:
Introduction to Object-Orientation
- Why Objects?
- Old to New
- What are Objects?
- Overview
- Concepts
- OO Analysis
- Inputs
- Outputs
- Use Cases
- OO Design
- Goals
- Exploration
- Modeling
- CRC Cards
- Results of a Design
- Design Guidelines
- Transforming a Design
- Construction Principles
- When are we done?
- Object Models
- Modeling Language
- UML Diagrams
- Use Case Diagrams
- Class Diagrams
- Interaction Diagrams
- Modeling Tools
- Objectives
- Comparison with Traditional Processes
- OO Development Process
- Inception
- Elaboration
- Construction
- Transition
- Spiraling through Increments
- Rigidity
Refining the Design
- Designing for Reuse
- Refactoring
- Patterns
Materials
[None]