21
Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot] dk 5.2.47 Information Systems March 3, 2007

Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

Model Driven Design and UnifiedProcess

Peter Dologdolog [at] cs [dot] aau [dot] dk5.2.47Information SystemsMarch 3, 2007

Page 2: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

2Peter Dolog, SOE, MDD and UP

Outline

Model Driven DesignTutorial on Requirements Eng. and SCRUM reflections (D402a,

s601c)Unified Process

Page 3: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

3Peter Dolog, SOE, MDD and UP

Learning Goal

To apply MDD principlesTo reflect on Requirements Engineering and SCRUMTo apply Unified Process

Page 4: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

4Peter Dolog, SOE, MDD and UP

Outline

Model Driven Design• Some Definitions• Principles• Examples• Some suggestions for Agile

Tutorial on Requirements Eng. and SCRUM reflections (D402a, s601c)

Unified Process

Page 5: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

5Peter Dolog, SOE, MDD and UP

Definitions of “Architecture”

... the highest level concept of a system in its environment

a shared understanding of the system design ... a social construct

things that people perceive as hard to change

one of an architect’s most important tasks is to remove architecture by finding ways to eliminate irreversibility in software designs.

Fowler, 2003

Page 6: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

6Peter Dolog, SOE, MDD and UP

Model-driven development is simply the notion that we can construct a model of a system that we can then transform into the real thing. (Mellor, Clark & Futagami, 2003)

Model Driven Architecture

Page 7: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

7Peter Dolog, SOE, MDD and UP

What is a model?A model is a coherent set of formal elements describing something (for example, a

system, bank, phone, or train) built for some purpose that is amenable to a particular form of analysis, such as:

Communication of ideas between people and machines

Completeness checking

Race condition analysis

Test case generation

Viability in terms of indicators such as cost and estimation

Standards

Transformation into an implementation

Page 8: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

8Peter Dolog, SOE, MDD and UP

Models

Statements about a system under study (SUS)

A correct model makes only true statements

Often incomplete in concepts and/or details

Make value judgments about what’s important

Characteristics of a useful model

Abstraction of the SUS

Understandable

Accurate

Predictive

Inexpensive (relative to the SUS)

Models become primary development artifacts in MDADoug Tolbert, 2004

Page 9: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

9Peter Dolog, SOE, MDD and UP

Notorious Failures: CASE

In the 1980’s, CASE technologies promised to marry design and implementationtechnologies

Multiple failures

Model-to-implementation mapping abstractions weak

Immature enabling technologies - Code generators, middleware, deployment

Vendor hype exceeded capabilities

Visible product failures (AD/Cycle)

Fueled market skepticism about value of underlying technologies

Doug Tolbert, 2004

Page 10: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

10Peter Dolog, SOE, MDD and UP

Mellor et al. 2003

... model-driven development offers the potential for automatic transformation of high-level abstract application-subject matter models into running systems

... modeling technology has matured to the point where it can offer significant leverage in all aspects of software development

... in an increasing number of application areas, you can generate much of the application code directly from models

Page 11: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

11Peter Dolog, SOE, MDD and UP

OMG –Metamodel Architecture

Page 12: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

12Peter Dolog, SOE, MDD and UP

Webml.orgCourseLecturesCourses

Subject LO

LO[Category2LO]

[Type=”Course”]

Lecture Modules

LO

Lecture Name

Categories

Category Index

Category Category

Category Details

L

LO

Course description Course Lectures

LO[LO2LO]

[Tipe=”Lecture”]

Lecture Modules

LO[LO2LO]

[Type=”LectureModule”]

LectureContent

Contents

Content[LO2Content]

Module Scroller

LO[LO2LO]

[Type=”LectureModule”]

LO

Module Title

Examples

LO[LO2LO]

[Type=”Example”]

Tests

LO[LO2LO]

[Type=”Test”]

To Example Page

To Test Page

Definitions

LO[LO2LO]

[Type=”Definition”]NEST Content[LO2Content]

Excercises

LO[LO2LO]

[Type=”Exercise"]

To Excercise Page

L

© Ceri, Dolog, Matera, Nejdl: Model-Driven Design of Web Applications with Client-Side Adaptation, ICWE 2004.

Page 13: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

13Peter Dolog, SOE, MDD and UP

WebMLSiteView

+Landmark : Boolean+Homepage : Boolean+Default : Boolean

WebMLPage*

1

-SuperPage

0..1

-SubPage*

+Landmark : Boolean+Default : Boolean

WebMLArea

0..1*

-SuperArea_10..1-SubArea_1 *

-siteView0..1

-area*

{WebMLPage.allInstances->select(homepage=true)->size<=1WebMLPage.allinstances->select(default=true)->union(self.area.allInstances(default=true))->size<=1}

1

-alternative

*

{WebMLPage.allinstances->select(default=true)->union(self.area.allInstances(default=true))->size<=1}

Unit

DataUnit IndexUnit MuliDataUnitHierarchicalUnit

1

*

Entity

*1

WebMLLink

Link Automatic Link Transport Link

+target

1

1+source11

Selector

Attribute

1

0..1

1..*1

OKLink KOLink

Operation Parameter

1 *

Relation-source

* 0..1-target

* 0..1

1-source1-source 1

1

1

-target

1

1

-target

1

1

-target

1

-attribute : Attribute-predicate : Predicate-value

Condition

1..*1

© Dolog: Engineering Adaptive Web Appliactions. Doctoral Thesis

Page 14: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

14Peter Dolog, SOE, MDD and UP

Webratio.com

Page 15: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

15Peter Dolog, SOE, MDD and UP

Point, Counterpoint

MDA is the next logical evolutionary step to complement 3GLs in the business of software engineeringAxel Uhl, 2003

Has it been 10 years already? The “uber-modeling tool” vision rears its ugly head yet againScott Ambler, 2003

Page 16: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

16Peter Dolog, SOE, MDD and UP

Ambler, 2003

Generative MDD, epitomized by the Object Management Group’s Model Driven Architecture, is based on the idea that people will use very sophisticated modeling tools to create very sophisticated models that they canautomatically “transform” with those tools to reflect the realities of various deployment platforms. Great theory—as was the idea that the world is flat.

... I believe that modeling is a way to think issues through before you code because it lets you think at a higher abstraction level.

Page 17: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

17Peter Dolog, SOE, MDD and UPCycle n : Development

Cycle 2: Development

Cycle 1: Development

Cycle 0: Initial Modeling

Initial RequirementsModeling

(days )

Initial ArchitecturalModeling

(days )

ModelStorming(minutes )

Implementation(Ideally Test Driven )

(hours)

Reviews(optional )

All Cycles(hours)

Goals: Gain an initial understanding of the scope, the business domain , and your overall approach .

Goal: Quickly explore in detail a specific issue before you implement it .

Goal: Develop working software in an evolutionary manner .

Agile MDD (AMDD) Project Level

Page 18: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

18Peter Dolog, SOE, MDD and UP

AMDD – Simple Approach

Page 19: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

19Peter Dolog, SOE, MDD and UP

AMDD – CASE Approach

Page 20: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

20Peter Dolog, SOE, MDD and UP

AMDD – Agile MDA Approach

Page 21: Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf · Model Driven Design and Unified Process Peter Dolog dolog [at] cs [dot] aau [dot]

21Peter Dolog, SOE, MDD and UP

Outline

Model Driven Design• Some Definitions• Principles• Examples• Some suggestions for Agile

Tutorial on Requirements Eng. and SCRUM reflections (D402a, s601c)

Unified Process