|
1.
Catalysis overview
A model-based approach to developing
enterprise components.
- business modelling: concepts and
tasks
- system requirements models
- responsibilities and collaborations
- persistence, GUI, distribution
- component-based design overview
- components and interfaces
- components kits and architecture
- component and reuse culture
- patterns in the process
2.
UML
This section introduces those parts
of UML relevant to Catalysis.
- static models
- objects, types, attributes, snapshots
- subtypes
- dynamics
- use-cases and tasks
- event charts
- state charts
- building a business model
- finding use-cases
- connecting use-case and class views
- the dictionary
- UML notation review
- uses of business models
- architecture of business process
- context for software requirements
- basis for component interface definition
- documentation style
3.
Requirements and component specification
This section deals with the specification
of requirements of a software component,
application, or complete system. More
modelling patterns and techniques
are investigated.
- 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
4.
Component design
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
5. Design patterns
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
- Observer
- Recursive Composite
- State Delegation
- Interface Decoupling
|
6.
Domain coupling
The linkage of the 'core(s)' to presentation,
persistence, and other layers.
- GUI
- MVC and reification of use-cases
in UI objects
- persistence: proxy and building
atop object and relational DBs
- networks: layering
7.
Frameworks
Partial models (views) as reusable
artefacts.
- generalization of two example static
models
- collaborations: generic designs
for interactions
- roles
- synthesis of collaborations
8.
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
9.
Component technology
- pluggable code and connector
protocols
- component kits and building tools
- component architecture
- common models
- common couplings
- wrapping existing assets
- product Vs component building
10.
Enterprise components
- architectures
- J2EE, CORBA, DCOM
- 3 and n-tier
- EJBs
- defining interfaces in UML
- distributed system building tools
- patterns for distributed systems
11.
Re-engineering existing systems
- business process and existing asset
analysis
- wrapping Vs re-engineering
- low-risk re-engineering path
12. Process patterns
There is no one process that fits
all development requirements. Instead,
we will look at a basic set of process
patterns - patterns that help you
plan a component-based development
project.
-
process patterns - introduction
- project-level patterns: green field,
re-engineering, short-cycle development,
small project, large project, critical
systems, systems integration, and
component development
- strategic patterns: technology migration,
reuse, re-architecture
13. Catalysis process
review
This section reviews the tasks and
deliverables involved in a typical
Catalysis development project.
- the main tasks and artefacts
- business/conceptual modelling
- specification/requirements modelling
- architecture
- design and implementation
- integration and test
- short-cycle development
- spiral model
- phased development
- role of prototyping
|