Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA)...

38
® IBM Software Group © 2004 IBM Corporation MDA and RUP Peter Eeles [email protected]

Transcript of Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA)...

Page 1: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

®

IBM Software Group

© 2004 IBM Corporation

MDA and RUP

Peter [email protected]

Page 2: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 3: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

3

What is a model?

� “A complete description of a system from a particular perspective”

[RUP]

Page 4: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 5: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

5

What is Model Driven Development?

Testing

RequirementsAnalysis &

DesignImplementation

Page 6: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 7: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 8: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

8

Rational Unified Process

Page 9: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

9

Models throughout the lifecycle

Page 10: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

10

Use Case Model

Page 11: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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.

Page 12: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

12

Models throughout the lifecycle

Page 13: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

13

Analysis Model

Page 14: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

14

Analysis Model

Page 15: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

15

Analysis Model

Page 16: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

16

Models throughout the lifecycle

Page 17: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

17

Design Model

OrderEntry

Accounting Shipping

FulfillmentAccount

ManagementCustomer

Management

Page 18: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

18

Design Model

Page 19: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

19

Design Model

Page 20: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

20

Design Model

Page 21: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 22: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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)

Page 23: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 24: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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)

Page 25: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 26: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 27: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 28: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 29: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

29

Conceptual Integrity

Page 30: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

30

Business Analysis Model to Use Case Model

Page 31: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

31

Use Case Model to Analysis Model

Page 32: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

32

Analysis Model to Design Model

Page 33: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

33

Design Model to Implementation Model

Page 34: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

34

Design Model to Data Model

Page 35: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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)

Page 36: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

36

MDA Information Center� http://www-306.ibm.com/software/rational/mda/

Page 37: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

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

Page 38: Architecting - MDA and RUP and RUP.pdfRational Unified Process (RUP) Model-Driven Architecture (MDA) Aligning MDA with RUP Automating MDA Summary IBM Software Group | Rational software

IBM Software Group | Rational software

38