Model Driven Design and Unified Processpeople.cs.aau.dk/~dolog/courses/sweng2008/lecture5_1.pdf ·...

Preview:

Citation preview

Model Driven Design and UnifiedProcess

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

2Peter Dolog, SOE, MDD and UP

Outline

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

s601c)Unified Process

3Peter Dolog, SOE, MDD and UP

Learning Goal

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

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

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

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

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

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

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

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

11Peter Dolog, SOE, MDD and UP

OMG –Metamodel Architecture

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.

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

14Peter Dolog, SOE, MDD and UP

Webratio.com

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

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.

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

18Peter Dolog, SOE, MDD and UP

AMDD – Simple Approach

19Peter Dolog, SOE, MDD and UP

AMDD – CASE Approach

20Peter Dolog, SOE, MDD and UP

AMDD – Agile MDA Approach

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

Recommended