Object-Oriented Analysis and Design
Duration (in days):
5
Description:
Object-Oriented Analysis and Design course covers object-oriented analysis and design, designers and architects need to know to successfully execute object-oriented projects. The course teaches a proven method of building software systems by using activities of domain/business modeling, system analysis, and system architecture and design. The course teaches and practices a set of skills applicable for both agile and lightweight as well as more rigorous projects. The course uses UML, the standard modeling notation. The participants also learn the powerful techniques of refactoring, directly improving the quality of designs and code.
The emphasis in the Object-Oriented Analysis and Design course is on making participants able to deliver high quality models and designs leading to efficient, easily maintainable implementations. The participants will learn a productive path from problem domain and requirements to software components.
The course provides numerous exercises and several case studies that enable participants to practice the learned material.
Objectives:
Create models using the industry standard UML notation
Effectively communicate using models
Apply productive techniques for object-oriented analysis and design
Be able to represent problem domain and requirements as models
Transition from analysis models to designs, using design patterns
Create efficient and easily maintainable designs
Improve designs using refactoring
Go from models to object-oriented code using a set of mappings between the designs and code
Prerequisites:
Object-Oriented Analysis and Design course covers object-oriented analysis and design, designers and architects need to know to successfully execute object-oriented projects. The course teaches a proven method of building software systems by using activities of domain/business modeling, system analysis, and system architecture and design. The course teaches and practices a set of skills applicable for both agile and lightweight as well as more rigorous projects. The course uses UML, the standard modeling notation. The participants also learn the powerful techniques of refactoring, directly improving the quality of designs and code.
The emphasis in the Object-Oriented Analysis and Design course is on making participants able to deliver high quality models and designs leading to efficient, easily maintainable implementations. The participants will learn a productive path from problem domain and requirements to software components.
The course provides numerous exercises and several case studies that enable participants to practice the learned material.
Audience
Anyone involved in software development. That includes managers, architects, developers and testers.
Outline
A Quick Overview of Object-Oriented Technology and Modeling
Objects in Code
Objects, Classes, and Interfaces
Why Visual Modeling and UML?
From Models to OO Code and Back
Object-Oriented Domain Modeling
Modeling Information in the Problem Domain
Type (Information) Models
Associations, Aggregation, and Composition
Generalization
Representing Behavior: Business Processes
Activity Models
State Models
Object-Oriented Analysis
Transition from Problem Domain to Analysis
Defining the System we Intend to Build
Representing Requirements: Working with Use Cases
Modeling Services
Working with Large Projects
Consistency Checks
Object-Oriented Design
Transition from Analysis to Design
Overview of Design
Allocating Responsibilities to Classes
Representing Interactions with Sequence Diagrams
Basic Architectural Design
Designing the Core of the System
Inheritance and Interfaces: How to Use Them Correctly
Mapping from Design to Object-Oriented Code
Effectively Communicating: Representing Object-Oriented Code in UML
Advanced Object-Oriented Design
Advanced Architectural Design
Connecting the Application Tiers
Design Criteria
Design Heuristics
Design Patterns
Refactoring: Recognizing and Improving Poor Designs
Object-Oriented Frameworks
Components