Search my Sites:
Share this page:
Indexes
Favourite/Major Articles
All Articles by Category
All Articles by Title
Review Index
Site Map:
Feeds and Tweets
Follow me on Twitter
@TweetAndrewJ
Thoughts on the World (main feed)
Feedburner XML
iGoogle
My Yahoo
My MSN
Bloglines
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
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.
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
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
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?
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
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
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
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
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
Layered and Service Architectures
What is Link testing?
Integration Strategies
Stub and Driver
Build and Test Strategies
Link Test Cases
The Ariane V Problem
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