Title: From Design to Implementation in OpenEdge using UML and MDA
1From Design to Implementation in OpenEdge using
UML and MDA
Frank Beusenberg
Sr. Technical Consultant
2Theory vs Practice
Be pragmatic!
The difference between theory and practice is
that, in theory, there is no difference between
theory and practice!
3Shu Ha - Ri
Learning Curve
Shu - Learn Ha - Understand Apply Ri - Create
4Agenda
- Introduction
- UML 2.0 Diagrams
- MDA Introduction
- Guidelines
- QA
5Introduction
What is UML? Some facts
- UML Unified Modeling Language
- First UML spec in 1997
- Current version 2.0
- Object Management Group (OMG)
- Graphical language
- Object Oriented in nature
- Has Syntax
- Extensible
- NOT a methodology!
6Introduction
What is UML? Evolution
7Introduction
Why model?
- Manage Complexity
- Mitigate Risk
- Facilitate Communication
- Modeling provides ability to visualize entire
systems, assess options and designs - Software has grown from do-it-yourself into
highly complex systems - Software is integral part of business process, so
has to be well planned - Software has become capital equipment that cannot
just be removed/changed
8Introduction
The Software Development Life Cycle
Test
Deploy
Planning
Analysis
Design
Build
COMPRESS
Deploy
Planning
Test
Analysis
Design
Build
9Introduction
Why UML?
- Specify, visualize, and document models of
software systems - Current and New Systems
- Structure and Design
- Behavior and Interaction
- De Facto Standard (Tool Support!)
- Unambiguous and Consistent Notation
- Documentation
10Agenda
- Introduction
- UML 2.0 Diagrams
- MDA Introduction
- Guidelines
- QA
11UML 2.0 Diagrams
Commonly used
12Behavior Use Case Diagram
Describe Functional Requirements
13Behavior Activity Diagram
Describe (Business) Process Workflow
14Behavior Sequence Diagram
Describe Chronological Message Flow between
Objects
15Behavior Communication Diagram
Describe Chronological Message Flow between
Objects
16Structure Class Diagram
Describe Logical Structure of the System
17Structure Component Diagram
Describe Physical Structure of the System
18Structure Deployment Diagram
Describe How and Where the System will be deployed
19Agenda
- Introduction
- UML 2.0 Diagrams
- MDA Introduction
- Guidelines
- QA
20UML Modeling
Logical View
Implementation View
Use Case View
Dynamic View
Deployment View
21Model-Driven Architecture (MDA)
CIM gtgt PIM
PIM gtgt PSM
PSM gtgt Code
22Model-Driven Architecture (MDA)
Objective and Purpose
- Decouple the way that application systems are
defined from the technology they run on. - This is in order to ensure that the investments
made in building systems can be preserved even
when the underlying technology platforms change.
23Agenda
- Introduction
- UML 2.0 Diagrams
- MDA Introduction
- Guidelines
- QA
24Guidelines
Natural Order
- Create Use Case Diagram(s)
- Create Activity Diagram(s)
- Create Class Diagram(s)
- Create Sequence Diagram(s)
- Create Component Diagram(s)
- Create Deployement Diagram(s)
25Guideline - Use Case View
Describe System Functionality
- Gathering requirements
- Functional non-functional requirements
- Document functional requirements
- UML Use Case Diagram
- Use Case Description Documents
- Identify actor(s) and association to use case
- Create different levels of use cases (re-use!)
26Example - AutoEdge
Use different abstraction levels when appropriate
27Example - AutoEdge
Manage Dealer
28Guideline - Use Case View
Describe Use Case Scenarios
- Scenario Use Case Activity Flow
- Basic Scenario
- Alternate Scenario(s)
- UML Activity Diagram
- Describe what happens, not how!
29Example - AutoEdge
Manage Dealer
30Guideline - Use Case View
Describe Test Scenarios
- Identify paths in activity diagram
- Create minimal test-scenarios (using each path
once) - NOTE Test should test use case, not fooling
around in the system!
31Guideline Logical View
Describe and design the System Structure
- Identify entities/things used in use case
- Identify attributes
- Identify operations
- Identify entity relations
- Identify multiplicity
- Create class diagram
32Example - AutoEdge
Logical Data Model Process Testdrive Requests
33Example - AutoEdge
Dealership Business Entity
34Guideline Logical View
Identify and use Patterns
A pattern is a proven solution for a problem in
a context.
35Example AutoEdge
Client-Side Business Entity Pattern
36Guideline Dynamic View
Describe Behavior
- Identify objects involved
- Identify interactions (messages)
- Only show public operations
- Describe how things work (together)
- Identify missing classes and/or operations
- Ty back into class diagram
37Example - AutoEdge
Entity Creation within AutoEdge Architecture
38Guideline Implementation View
Describe Physical Software Artifacts
- Identify Physical Software Artifacts
- Source Compiled files
- Identify Packages Libraries
39Example - AutoEdge
Dealer Business Entity
40Guideline Deployment View
Describe Software on Physical Hardware
- Identify Location of Software Artifacts
- Identify how Hardware is related
- Identify (minimum) hardware requirements
41Guideline Deployment View
Describe Software on Physical Hardware
42In Summary
- Model Design
- Manage complexity
- Minimize risk
- Facilitate communication
- Use UML
- De facto standard
- Unambiguous
- Documentation
43Literature
Addison-Wesley Object Technology Series
- UML Distilled Third Edition
- Martin Fowler ISBN 0-321-19368-7
- Use Case Driven Object Modeling with UML
- Doug Rosenberg ISBN 0-201-43289-7
- Developing Software with UML
- Bernd Oestereich ISBN 0-201-75603-X
44Materials
Materials available on PSDN
- Complete AutoEdge Kit
- www.psdn.com/library/kbcategory.jspa?categoryID29
8 - Modeling Model Driven Architecture
- www.psdn.com/library/kbcategory.jspa?categoryID24
7
45Resources
Training Information
- Check with local subsidiary for UML training
- UML Resource Page
- www.uml.org
- MDA Resource Page
- www.omg.org/mda
46Questions?
47Thank you foryour time
48(No Transcript)