|
1.
Model-based architecture overview
The model-based approach to developing
enterprise components and integrating
systems, has become the de facto standard
- 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 the relevant
parts of UML.
- 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 of assigning responsibilities
and collaborations, and decoupling
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 - that is, patterns that
help you plan a component-based development
project.
-
process patterns overview
- project-level patterns: green field,
re-engineering, short-cycle development,
small project, large project, and
critical systems
- systems integration and component
development
- strategic patterns: technology migration,
reuse, re-architecture.
13. Process review
This section reviews the tasks and
deliverables involved in a typical
project to develop a model-based component
architecture.
- the main tasks and artefacts
- business/conceptual modelling
- specification/requirements modelling
- architecture
- design and implementation
- integrate and test
- short-cycle development
- spiral model
- phased development
- role of prototyping
|