Search my Sites:

Share this page:

Share |

Indexes

Favourite/Major Articles All Articles by Category All Articles by Title Review Index

Site Map:

Welcome / Home Page
Contact Me
Search the Site
Thoughts on the World
Consultancy Services
An introduction
IT Knowledge/Education
Customer Profiles
Training Courses
Previous Experience
Download Full CV
Customers
National Grid Group Plc
British Energy Power and Energy Trading
Legal Marketing Services Ltd.
Addison-Wesley
Marks and Spencer Plc
Faith Footwear Ltd.
Barclays Sales Financing Ltd.
Oracle Corporation UK Ltd.
Livingston Rental Group Ltd.
National Power Plc.
Blog
Agile Development
Coding Projects & Thoughts
General Thoughts
Humour
Personal
Photography
Products and Projects
Publications
Reviews: Books, Music & Films
Website Announcements
Full Index
Publications and Papers
A Hacker's Guide to Project Management
Conference Papers
Agile Architecture
Practical Enterprise Integration
Modelling an Enterprise Data Architecture
Strategies for Flexibility
Getting Sizing Right
Muzzling the Alligators
Evolution of a Test Method
Photography
Photography Articles & Discussion
Photo Gallery
Projects and Products
RelQuest - Reliability Modelling Tool
ConQuest - Container Yard Management System
Reviews
Full Index
Architecture
Biography and Personal Endeavour
Construction & Civil Engineering
Cryptography
Fiction
Human-Computer Interaction
Mathematics & Statistics
Military & 20th Century History
Modelling & Analysis
Photography & Photographers
Physics & Cosmology
Project & People Management
Psychology & Human Behaviour
Science, General
Links

Feeds and Tweets

Follow me on Twitter

@TweetAndrewJ

Thoughts on the World
(main feed)

Feedburner XML
Add to Google iGoogle
My Yahoo
My MSN
Bloglines Bloglines
RSS Version XML (direct)

How many subscribers?

Other Feeds

Professional Blog
Photo Blog
Photo Album
Review Pages

About my feeds

Google Blog Search

References to www.andrewj.com
References to www.agilearchitect.org

Sister Sites:

www.coppertrees.com

 

www.agilearchitect.org

 

 

Training Services

I offer developer and tester training in the following areas:

bullet Object Oriented Analysis and Design
bullet The Use of Rational Rose and UML
bullet Development of System Architectures
bullet Designing for Test and to Prevent Errors
bullet Objected Oriented Design and Programming using Visual Basic
bullet Unit Testing
bullet System Testing

The training courses are built from a series of modules, each of which can be tailored to a company's environment and requirements. I can also develop new training material to cover other topics.  This allows an individual training course to vary in length from one to several days, and to cover any subset of the above topics, plus local specifics if required. 

I will usually train at your site, provided appropriate resources are available. Please contact me for further details and references from previous clients.

Module Summaries

The following summaries provide a flavour of what is included in the existing modules.

An Introduction to Object Oriented Analysis and Design

  • The Software Crisis
  • The Traditional Analysis Problem, and how OOAD Helps
  • The Origins and Benefits of UML
  • Objects In A Nutshell
  • Encapsulation, Polymorphism and Inheritance
  • Beginning UML with Use Cases
  • Actors and Boundaries
  • How to Find the Use-Cases
  • Use Case Notation and Descriptions
  • Scenarios and Object Interaction
  • Sequence Diagrams
  • Classes and Properties
  • Identifying Classes
  • UML Class Notation and Stereotypes
  • Three-tiered Class Model
  • Boundary, Controller and Collection Class Behaviour
  • Operations and Attributes
  • One Model, Many Diagrams

Object Oriented Analysis

  • Packages - How and Why to Group Elements 
  • Using Packages to Control the Rose Model
  • Associations and Aggregations
  • Multiple Associations and Roles
  • Collaboration Through Relationships
  • Making the Models Work Together
  • Aggregation and Composition
  • Reflexive Relationships and Association Classes
  • Hierarchy Relationships and Inheritance
  • Discovering Hierarchies
  • Inheritance and Polymorphism
  • Multiple Inheritance
  • The Metamorphosis Problem
  • State Transition Diagrams
  • Events and Transitions
  • Guard Conditions
  • Actions and Activities 
  • Nested States

Architecture

  • Why Do We Need an Architecture?
  • What’s a Good Architecture?
  • How Does Architecture Fit Into the Process?
  • Two-Tier Client-Server
  • Three-Tier Client-Server
  • Advantages of New Architectures
  • Improving Applications
  • Technologies in the New Architecture
  • How Design Should Really Happen
  • How Do Classes Become Components?
  • How is the Architecture Documented?

Physical Design Using Visual Basic

  • Design Principles
  • Where Does the Processing Go?
  • Modularisation
  • When to Use a Class Module, and when Not To!
  • When to Use Property Procedures
  • Keeping the Interfaces Stable
  • Class Design Tips
  • Mimicking Inheritance
  • Using Complex Traditional Structures
  • Key Mechanisms
  • How Does Rose Support the 3-Tier Model?
  • Microsoft Transaction Server
  • Standards and Templates

Moving from Analysis to Design

  • What Happens In Design?
  • Physical Scenario Diagrams
  • Converting Scenario Diagrams
  • Completing the Business Classes and introducing Implementation Classes
  • Adding Key Mechanism Items
  • Handling Events
  • Defining the Data Structure
  • Designing User Service Classes
  • Design Documentation

The Principles of Testing

  • What Can Go Wrong
  • Common Misconceptions About Testing
  • Error-Centric Testing
  • Principles of Good Testing
  • Benefits of Good Testing
  • A Building Block Approach
  • Static and Dynamic Testing
  • Structural and Functional Testing
  • Influences on the Testing Process
  • Cost per Error
  • Test Stage, Test Script and Test Case Structure
  • Why Do Inspections?
  • Selecting Good Test Cases
  • DOs and DON'Ts of Good Testing 
  • What to Emphasise
  • When to Stop Testing
  • Further Reading

Understanding and Preventing Errors

  • Error-prone Areas
  • Error Lifecycles
  • Sources of Error - Before and During Coding
  • Typical Error Rates
  • Prevention is Better than Cure
  • Testing and System Quality
  • Error Analysis
  • Using Error Targets
  • Verifying the Requirements
  • Modular Design
  • "Testing" the Design
  • Preventing Common Errors
  • Defensive Programming
  • Verifying Assumptions and Checking Your Work
  • The Value of Inspections

Unit Test Techniques

  • Interpreting the Requirements
  • Ad Hoc vs Unit Testing
  • Path, Statement and Decision Coverage
  • Paths in VB or Oracle Forms
  • A Good Way of Finding Paths
  • Covering Paths
  • Code and Form Loops
  • Choosing Good Test Cases
  • Equivalence Partitioning
  • Boundary Value Analysis
  • Error Guessing 
  • Input Validation Testing
  • Date-Related Testing
  • Concurrency Testing
  • Recommended Structural Testing
  • Stages in Preparing Unit Testing
  • Grouping Tests

Link Testing

  • Layered and Service Architectures
  • What is Link testing?
  • Integration Strategies
  • Stub and Driver
  • Build and Test Strategies
  • Link Test Cases
  • The Ariane V Problem

System Test Techniques

  • Test Types for System Testing
  • Process for System Testing
  • Interpreting the Requirements
  • Flow Graphs
  • Path, Statement and Decision Coverage
  • Why Use Models?
  • Transaction Flows
  • Fault Tree Analysis
  • Choosing Good  Test Cases
  • Equivalence Partitioning
  • Boundary Value Analysis
  • Error Guessing 
  • Date-Related Testing
  • Concurrency Testing
  • Security Testing
  • Why Can’t We Test for Reliability and Availability?
  • Performance Testing

© Questa Computing Ltd. 1999
Page last updated 23 July, 2010 07:54