logo

Steven Black Consulting

Contact me

Services
Consulting
Mentoring
Training

INTL Toolkit
Support
Info
INTL VFP
INTL 2.x
Price
Upgrade
Purchase

Also
Wikis
Downloads
Articles
Links

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.