| 5. |
Software Design Level
Model |
|
|
|
Software development is risky business |
|
|
|
Available guidance is not enough |
|
|
|
Example of Potential
Benefits |
|
|
|
Example of Potential Benefits: Design
Reuse |
|
|
|
What is needed... |
|
|
|
Programming vs. Architecture |
|
|
|
The Notion of Design Levels |
|
|
|
Model of Software Scale |
|
|
|
Prevalent Forces in Software Decision-Making |
|
|
|
Key motivating forces at each scale |
|
|
|
Design Patterns |
|
|
|
Example: Observer Pattern |
|
|
|
Pattern Form/Template |
|
|
|
Several Key Types of Patterns/Solutions |
|
|
|
Patterns - Examples |
|
|
|
Common Interface Pattern |
|
|
|
Horizontal-Vertical-Metadata Pattern |
|
|
|
Multi-Level Applicability |
|
|
|
Partial Processing Pattern |
|
|
|
Comparison of Design Pattern Approaches |
|
|
|
|
|
|
|
Summary |
|
| 6. |
Patterns for Concurrent
and Network Objects |
90 min
|
|
|
Overview - Patterns for Concurrent
and Networked Objects |
|
|
|
Important Aspects of Concurrent
& Networked Applications |
|
|
|
Service Access & Configuration |
|
|
|
Event Handling |
|
|
|
Concurrency |
|
|
|
Synchronization |
|
|
|
Service Access and
Configuration Patterns |
|
|
|
Wrapper Facade Pattern |
|
|
|
Wrapper Facade Pattern:
Structure & Dynamics |
|
|
|
Wrapper Facade Pattern
: Implementations & Benefits |
|
|
|
Event Handling Patterns |
|
|
|
Reactor Pattern |
|
|
|
Reactor Pattern:
Structure |
|
|
|
Reactor Pattern:
Dynamics |
|
|
|
Reactor Pattern:
Implementation & Benefits |
|
|
|
Synchronization
Patterns |
|
|
|
Thread-Safe Interface
Pattern |
|
|
|
Thread-Safe Interface
Pattern : Implementation & Benefits |
|
|
|
Concurrency Patterns |
|
|
|
Monitor Object |
|
|
|
Monitor Object:
Structure |
|
|
|
Monitor Object:
Dynamics |
|
|
|
Monitor Object:
Implementation & Benefits |
|
|
|
The POSA2 Pattern
System |
|
|
|
|
|
|
|
Summary |
|
| 7. |
Part I - Development Process
and Intelligence Gathering Techniques |
|
|
|
Heroic Programmers miss the Bigger
Dragon |
|
|
|
Solving Software Problems |
|
|
|
Architecture-Centered Development
Process |
|
|
|
Planning Benefits |
|
|
|
Intelligence Operations |
|
|
|
Intelligence Gathering Techniques |
|
|
|
Architecture Mining |
|
|
|
Architecture Mining Process |
|
|
|
Applicability of Mining |
|
|
|
Design Elements |
|
|
|
Potential Consequences of Design
that is too flexible |
|
|
|
Architecture Iteration |
|
|
|
Software Processes |
|
|
|
Architecture Process |
|
|
|
Architecture Planning |
|
|
|
The Macro Process: Architecture
Iteration |
|
|
|
The Micro Process: Architecture
with Subprojects |
|
|
|
Strategies to be used with Architecture
Iteration |
|
|
|
Architecture Judgment |
|
|
|
Architectural Judgment - One form
of Problem Solving |
|
| |
|
|
|
|
Summary |
|
| 7. |
Part II - Software Architecture
Action Guide |
|
|
|
Why do we care about Software Architecture? |
|
|
|
Software Architecture: Components
and Relationships |
|
|
|
Software Architecture: Components
and Interfaces |
|
|
|
Software Architecture: Components
and Location |
|
|
|
Software Architecture: System-Level-
Concerns |
|
|
|
Architecting How To: Guiding Principles
& Strategies |
|
|
|
Architecting How To: Identify Components
(initial cut) |
|
|
|
Architecting How To: Model System
Behavior |
|
|
|
Architecting How To: Document Interfaces |
|
|
|
Architecting How To: Allocate Components
to Processes |
|
|
|
Architecting How To: Function Requirements |
|
|
|
Architecting How To: Non-Functional
Requirements |
|
|
|
Architecting How To: Architecture
Context |
|
|
|
Architecting How To: Sequence |
|
|
|
Architecting How To: Validation |
|
|
|
Arhitecting How To: Process overview |
|
|
|
Role of the Architect |
|
|
|
|
|
|
|
Summary |
|
| 7. |
Part III - Architectural
Tools |
|
|
|
OMG Metamodel Architecture |
|
|
|
Meta Object Facility
(MOF) |
|
|
|
MOF Overview |
|
|
|
Purpose of MOF |
|
|
|
Meta Object Facility (MOF) Overview |
|
|
|
OMG Modeling and Metadata Framework |
|
|
|
MOF Tools |
|
|
|
Common Warehouse Model |
|
|
|
Common Warehouse Metamodel (CWM) |
|
|
|
The CWM Metamodel |
|
|
|
Overview of CWM Metamodel |
|
|
|
Data Resource Matrix |
|
|
|
Migration Scenario |
|
|
|
CWM Tools |
|
|
|
OMG UML |
|
|
|
UML 1.3, a quick update |
|
|
|
The Object Constraint Language |
|
|
|
OCL Example |
|
|
|
UML 2.0 - following improvements
are being considered |
|
|
|
UML Tools |
|
|
|
XML Metadata Interchange (XMI) |
|
|
|
XMI Simplified |
|
|
|
Mapping UML to XML |
|
|
|
UML Model Transformation |
|
|
|
XMI Tools |
|
|
|
OMG IDL |
|
|
|
Why is IDL needed? |
|
|
|
New OMG IDL meta-type Component |
|
|
|
Technology Independence of the
IDL |
|
|
|
|
|
|
|
· Summary |
|
| 8. |
OMG Model Driven Architecture |
|
|
|
Overview - Model Driven Architecture |
|
|
|
Core Standards |
|
|
|
RM-ODP and Meta-Model how another
standard could be added |
|
|
|
Relationship between MDA core
and PIM/PSM |
|
|
|
What sorts of behaviour will
be incorporated into the PIM? |
|
|
|
Development with MDA |
|
|
|
Step I : The Platform - Independent
Model |
|
|
|
Step I : Structure of specification,
refinement & design |
|
|
|
Step I : PIM, annotated with
stereotypes |
|
|
|
Step - 2: The Platform - Specific
Model (PSM) |
|
|
|
Step II : Exchange services
of an RM-ODP framework |
|
|
|
PSM expressed using UML |
|
|
|
Step 3: Generating the Application
|
|
|
|
Mapping a model into object |
|
|
|
Mapping a model into an XML
file |
|
|
|
Using the MDA to generate a
CCM Server |
|
|
|
Developing in the MDA - Multiple
Target Platforms |
|
|
|
MDA Metamodel Example |
|
|
|
Leveraging other Middleware
and Client Platforms |
|
|
|
Relating the Various Standards |
|
|
|
System Lifecycle and the MDA
Approach |
|
|
|
MDA Integrates Across Computing
Platform |
|
|
|
MDA enables Model-Driven Integration |
|
|
|
Example |
|
| |
|
|
|
|
Summary |
|