TriReme director Dr Alan Wills is author of best selling book on frameworks
('Objects, Components, and Frameworks with UML. The Catalysis™ Approach').
His ideas have been successfully used by many companies.
They can also show how to refactor your existing systems to make use of this powerful technology.
Duration: 5 days
The course is suitable for software architects or designer familiar with UML.
Requirements and component specification
This section deals with the specification of requirements of a software component, application, or complete system.
- system context models
- high-level operation specs
- state charts for system models
- meaning of 'model'
- how to start abstract and get more detailed
- event charts: horizontal and vertical expansion
- elaborating models
- relating the levels of detail
- building a system spec
- system context
- defining system use-case goals
- modelling patterns
This section covers the key design stages: assign responsibilities and collaborations, decouple roles and components.
- separating core from GUI, persistence, and other layers
- selection of control objects
- designing system operations with messages
- decoupling, extensibility, reusability
- dependencies and visibilities
- the class dictionary
- translation to code)
In this section, the usefulness of design patterns as a way of thinking
about and describing designs is investigated. Several patterns are discussed,
and then a problem is presented which participants model and then
sketch a solution for, using the patterns.
- Two-way Link
- Recursive Composite
- State Delegation
- Interface Decoupling)
The linkage of the 'core(s)' to presentation, persistence, and other layers.
- MVC and reification of use-cases in UI objects
- persistence: proxy and building atop object and relational DBs
- networks: layering)
Partial models (views) as reusable artefacts.
- generalization of two example static models
- collaborations: generic designs for interactions
- synthesis of collaborations)
Reuse and adaptability
Reuse does not come automatically, and requires not only appropriate technology,
but also management and motivation at the corporate level.
- management and economics of reuse
- component repositories
- what's in the repository
- components, frameworks, patterns, and plans)
- pluggable code and connector protocols
- component kits and building tools
- component architecture
- common models
- common couplings
- wrapping existing assets
- product vs component building)
Please note, when taught at your site, this course is customizable;
modules can be adapted, removed, added from other courses, or even created.
The course is presented by one of our senior consultants, each of whom has at
least ten years' experience in software development, and at least three years'
experience as a trainer and consultant in a diverse range of application areas.