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]
Post on 28-Jun-2020
2 Views
Preview:
Transcript
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
top related