Object-oriented software development has been an increasingly popular approach to producing software applications of
all types. The object-oriented approach offers a more natural way of conceptualizing & developing software that can result
in increased developer productivity and increased reusability of software components.
This course provides participants with a solid understanding of the concepts, principles, and techniques used in object-oriented
analysis and design.
What You Will Learn
- Object-oriented concepts and terminology
- How to analyze problems using an object orientation
- How to identify objects
- How to design software using objects
- How to document analysis & design efforts
- How to make a smooth transition between analysis & design phases
- How to use UML notation and artifacts
Who Should Attend
This course is intended for analysts, designers, and other software professionals who are involved in
developing or maintaining object-oriented software applications.
Course Outline
Introduction to Object-Oriented Development
- Comparison of object-oriented vs. traditional development approaches
- Object-oriented development issues
- Object-oriented development challenges
Object-Oriented Terms & Concepts
- Objects & classes
- Instantiation
- Polymorphism
- Inheritance
- Messages
- Encapsulation
Basic Tools, Notations & Diagrams
- The Unified Modeling Language (UML)
- Class diagrams
- Interaction diagrams
- Collaboration diagrams
- Sequence diagrams
- State models
- Package diagrams
- Use case diagrams
- Action diagrams
Object-Oriented Requirements Analysis (OORA)
- Analyzing problems from an object-oriented viewpoint
- Step-by-step approach to OORA
- OORA deliverables
- Applicable UML diagrams used in OORA
- Tools & techniques
- Developing use case models
- Guidelines for finding objects
- Assigning roles & responsibilities
Object-Oriented Design (OOD)
- Making the transition from OORA to OOD
- Steps in the OOD process
- Steps & deliverables in preliminary design
- Steps & deliverabls in detailed design
- Translating analysis objects into design objects
- Object refinement techniques
- Applying inheritance concepts
- Reusability principles
- Design patterns
- Handling persistant data
- Design metrics
Seminar Length: 3 Days