Post on 13-Aug-2020
®
IBM Software Group
© 2004 IBM Corporation
MDA and RUP
Peter Eelespeter.eeles@uk.ibm.com
IBM Software Group | Rational software
2
Agenda
� Models and Model-Driven Development (MDD)
� Rational Unified Process (RUP)
� Model-Driven Architecture (MDA)
� Aligning MDA with RUP
� Automating MDA
� Summary
IBM Software Group | Rational software
3
What is a model?
� “A complete description of a system from a particular perspective”
[RUP]
IBM Software Group | Rational software
4
Why do we model?
� To manage complexity
� To clearly understand different concerns
� To detect errors and omissions early in the lifecycle
� To examine the relative merits of different options
� To communicate with stakeholders
� To drive implementation
� To understand the impact of change
� To ensure that resources are deployed efficiently
IBM Software Group | Rational software
5
What is Model Driven Development?
Testing
RequirementsAnalysis &
DesignImplementation
IBM Software Group | Rational software
6
Why Model Driven Development?
� To speed up project delivery
�In the absence of heroics, it is the fastest way to get from A to B
� To improve the quality of the delivered system
�Each model can act as a “quality gate”
� To weave together multiple stakeholder views
�Stakeholders have different, yet related, concerns
� To improve team working
�Models form the basis of a “contract” between project roles
� To be more efficient
�Reusing models (and model elements) throughout the lifecycle
IBM Software Group | Rational software
7
Agenda
� Models and Model-Driven Development (MDD)
� Rational Unified Process (RUP)
� Model-Driven Architecture (MDA)
� Aligning MDA with RUP
� Automating MDA
� Summary
IBM Software Group | Rational software
8
Rational Unified Process
IBM Software Group | Rational software
9
Models throughout the lifecycle
IBM Software Group | Rational software
10
Use Case Model
IBM Software Group | Rational software
11
Use Case Model
� Basic flow of the “Create Order” Use Case
1. The use case starts when the Sales Clerk receives a request to place an
Order from a Customer (who, for example, has contacted the Sales Clerk
by phone, email or post).
2. The Customer details are retrieved.
3. The Customer details, together with relevant details about each Order Item,
are added to the Order.
4. A request to place the Order is made.
5. Stock levels are checked to ensure that the Order can be fulfilled, and the
Order is placed.
6. The use case ends.
IBM Software Group | Rational software
12
Models throughout the lifecycle
IBM Software Group | Rational software
13
Analysis Model
IBM Software Group | Rational software
14
Analysis Model
IBM Software Group | Rational software
15
Analysis Model
IBM Software Group | Rational software
16
Models throughout the lifecycle
IBM Software Group | Rational software
17
Design Model
OrderEntry
Accounting Shipping
FulfillmentAccount
ManagementCustomer
Management
IBM Software Group | Rational software
18
Design Model
IBM Software Group | Rational software
19
Design Model
IBM Software Group | Rational software
20
Design Model
IBM Software Group | Rational software
21
Agenda
� Models and Model-Driven Development (MDD)
� Rational Unified Process (RUP)
� Model-Driven Architecture (MDA)
� Aligning MDA with RUP
� Automating MDA
� Summary
IBM Software Group | Rational software
22
Model Driven Architecture (MDA)
� Model-Driven Development (MDD)
�Is a general term used by IBM and other
organizations
� Model-Driven Architecture (MDA)
�Is a specific initiative of the Object Management
Group (OMG)
�Builds upon open standards (UML, MOF, CWM, …)
�Is not yet a standard – more of a philosophy
�Models aren’t necessarily visual (e.g. code)
�Other standards being driven by MDA (e.g. QVT)
IBM Software Group | Rational software
23
MDA Concepts – models and transformations
Code
CIM >> PIM
Transformation
PIM >> PSM
Transformation
PSM >> Code
Transformation
Computation Independent Model(CIM)
Business Analyst
Platform Independent Model(PIM)
Architect / Designer
Platform SpecificModel(PSM)
Developer / Tester
CIM >> CIM
Transformation
PIM >> PIM
Transformation
PSM >> PSM
Transformation
IBM Software Group | Rational software
24
Relationships between models is not one to one
� A PIM is usually described in UML
� Bridges between PSMs can be generated as well as PSMs
Platform Independent Model (PIM)
EJB(PSM)
SQL(PSM)
SQL(Code)
EJB(Code)
EJB – SQL mapping(PSM)
EJB – SQL mapping(Code)
IBM Software Group | Rational software
25
Agenda
� Models and Model-Driven Development (MDD)
� Rational Unified Process (RUP)
� Model-Driven Architecture (MDA)
� Aligning MDA with RUP
� Automating MDA
� Summary
IBM Software Group | Rational software
26
RUP Models and MDA� RUP
�Business Use-Case Model
�Business Analysis Model
�Use-Case Model
�Analysis Model
�Data Model (logical)
�Design Model
�Data Model (physical)
� Implementation Model
�Deployment Model
� MDA
�CIM
�CIM
�CIM
�PIM
�PIM
�PIM (logical elements) / PSM
�PSM
�PSM
�PSM
IBM Software Group | Rational software
27
Agenda
� Models and Model-Driven Development (MDD)
� Rational Unified Process (RUP)
� Model-Driven Architecture (MDA)
� Aligning MDA with RUP
� Automating MDA
� Summary
IBM Software Group | Rational software
28
Models and transformations� Model-model transformation
�E.g. Use-Case Model to Analysis Model
� Model-code transformation
�E.g. code generation, database schema generation
� Code-model transformation
�E.g. model generation from code
�E.g. visual trace
� Architected RAD
IBM Software Group | Rational software
29
Conceptual Integrity
IBM Software Group | Rational software
30
Business Analysis Model to Use Case Model
IBM Software Group | Rational software
31
Use Case Model to Analysis Model
IBM Software Group | Rational software
32
Analysis Model to Design Model
IBM Software Group | Rational software
33
Design Model to Implementation Model
IBM Software Group | Rational software
34
Design Model to Data Model
IBM Software Group | Rational software
35
Volvo IT – JNX Framework
Design Model
Domain Model
Implementation Model
Requirements
synchronize
Platform-specific Model
Platform-independent ModelModel
templates
Patterns
Patternstransform
extend
Patternsintegrate
validate
Code & TestBusiness
logic
RAS
Repository
Service
Reusable asset
(.ras file)
Reusable asset
(.ras file)
Reusable asset
(.ras file)
Reusable asset
(.ras file)
IBM Software Group | Rational software
36
MDA Information Center� http://www-306.ibm.com/software/rational/mda/
IBM Software Group | Rational software
37
Summary
� Visual modeling is a software development best practice
� Modeling is a cornerstone of the Rational Unified Process (RUP)
� Model-Driven Architecture (MDA) is a relevant standardisation initiative
� RUP aligns with the MDA philosophy
� MDA approaches can be automated using appropriate tooling
IBM Software Group | Rational software
38