OOAD Training for VFP Developers
(2 days)
A two day seminar on object-oriented analysis and design. This training is for advanced developers,
with the assumption that most participants are already comfortable with VFP.
The training is conducted by Steven Black with your developers at your site. Attendees can number from
one to thirty, as you need. .
The training is situation-oriented and configurable to your needs. It's not a course per se -- there
is no rigid course outline, and no pre-packaged script. the training is in the form of a mentoring
seminar that's tailored to the needs of the individuals in your group.
Key Benefits
- Learn the correct use and application of object-oriented terminology and concepts
- State system requirements using actors and use-cases
- Develop OO software architectures based on use-case analysis
- Describe the data and process model of a software architecture using the UML notation
- Overview and exposure to of leading object-oriented design and development methods
- Learn how object-oriented concepts are applied to software engineering and how they can be used to
build more robust and less expensive software systems.
Audience
System analysts, application programmers, VFP, Delphi, C++, and Java programmers, project leaders,
system designers.
Course Content
The course length is two days.
Object-Oriented Concepts
- Objects and Classes
- Foundations: Encapsulation, Polymorphism, Inheritance
- Concepts: Object, Class, Method, Message
- Managing Complexity
- Comparison to Structured Programming
Object-Oriented Notation: UML
- Unified Modeling Language (UML)
- Use-Cases
- Class Diagrams
- Sequence Diagrams
- Collaboration Diagrams
- State Charts
- Message Timing Annotations
- Structuring a Design
Software Development Life Cycle
- Requirements Analysis
- Domain Analysis
- System Design
- Implementation
- Validation and Quality
- Use-Case Analysis
Discovering Objects
- Techniques for Finding Objects
- Use-Cases, Actors, and Scenarios
- Scenario Traces
- Class Descriptions
- The CRC Method
- Refinement Techniques
- Abstract Classes
Identifying Relationships
- Inheritance and Generalization
- Associations and Object Links
- Containment and Composition
- Referential Aggregation
- Ownership of Objects
- Subtypes and is-a Hierarchies
- Cardinality and Multiplicity
Defining Methods and Services
- Definition of a Method
- Message Passing
- Polymorphism
- Discovering Methods with Scenario Diagrams
- Principle of Substitutability
- Defining Compatible Objects
- Polymorphism
- Method Invocation
- Method Design Guidelines
- Method Signature
Object-Oriented Modeling
- Attributes, Classes, and Relationships
- Class Categories
- Class Hierarchies: Inheritance and Composition
- Controller Classes
- Scenario Traces
- Model-View-Controller Framework
Object Scenarios
- Objects and Naming
- Use Case Scenarios
- Interaction and Event Diagrams
- Messages
- Iterative Design Process
- Business and Process Objects
- Object Visibility
- Model-View-Controller Framework
Object-Oriented Design
- Design vs.Analysis
- Strategies for Discovering Objects and Classes
- Attribution and Associations
- Defining Object Services
- Methods and Operations
- Designing for Extensibility
- Performance Considerations
- Qualiy and Testability
- Evaluating Design Tools: Visual Modeler, Rational Rose
- UML to VFP Translation
Please contact Steve Black for more details.
|