|
1.
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
2.
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
3. 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
4.
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
|
5.
Frameworks
Partial models (views) as reusable
artefacts.
- generalization of two example static
models
- collaborations: generic designs
for interactions
- roles
- synthesis of collaborations
6.
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
7.
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
8.
Enterprise components
- architectures
- J2EE, CORBA, DCOM
- 3 and n-tier
- EJBs
- defining interfaces in UML
- distributed system building tools
- patterns for distributed systems
|
|
Please
note, when taught at your site, this
course is customizable. Modules
can be adapted, removed, added from
other courses, or even created.
|