SlideShare una empresa de Scribd logo
1 de 28
L0087 - 2010-09-19
Redistribution and other use of this material requires written permission from The RCP Company.
ITU - MDD – Modeling Techniques
This presentation describes different modeling techniques. It has three basic
purposes:
Give you an overview of some of the different types of models
Give you a set of tools to decide how to create a (good) model for a problem
Give you an overview of some of the different modeling techniques
This presentation is developed for MDD 2010 course at ITU, Denmark
L0087 - 2010-09-19
2
What is Data Modeling all About?
 It is primary a way to analyze and describe a problem domain in terms of the
objects and relationships that are relevant for the domain
 Often the result is also used to describe the functionality of the problem domain
in terms of who does what (UML term: interaction diagrams)
 The result is the abstract syntax for the problem domain
 Especially relevant for all problems that includes technologies like
 Object oriented languages like Java, C++ or C#
 Non-trivial data structures
 Relational databases
 … which is just about 95% of all interesting problems
L0087 - 2010-09-19
3
Agenda
 Types of Models
 Processes and Techniques
 Model Normalization
 Exercise
L0087 - 2010-09-19
4
Types of Models
 A question of abstraction!
 Information Model or Conceptual Model
 Describes the relationships between the important concepts of the model
 Data Model, Logical Model or Domain Model (DOM)
 Describes the corresponding relationships between the objects that are used
to realize the concepts
 Physical Model
 Describes the logical model in a form that can be directly implemented in the
target technology – e.g. Java or SQL
 It is often possible to automatically transform a logical model to a physical model
 Hibernate and JPA are examples of this
 The different types of models is not related to meta levels – these models exists
for M1-M3
L0087 - 2010-09-19
5
Conceptual Models
 The conceptual model
 describes the things or objects of significance to a specific problem domain

The “things” are not necessarily physical objects
 is meant to collect information, and characteristics of the objects in the
domain
 describes the most important associations between pairs of those things or
objects of significance
 is often used as the basis for the central use cases
 It can very often be a good start to write down statements about the problem
domain including the basic use cases before the model is started
 To describe the human body:

A human BODY consists of a TORSO, normally connected with two LEGS,
two ARMS, and a HEAD all called BODY PARTS
 To describe entity-relationship diagrams

An ENTITY can refer to a number of other entities via RELATIONS. An
entity can have ATTRIBUTES with DATA TYPES. REFERENCES between
ENTITIES can be bi-directional. ENTITIES can inherit RELATIONS and
ATTRIBUTES from a number of super-ENTITIES.
L0087 - 2010-09-19
6
Conceptual Model (cont’)
0..1
Attribute
Relation
Entity
Data Type
0..*
0..*
0..*
attributeType
opposite
superTypes
referenceType
0..*
0..*
Body Part
Torso
0..*
~
~
0..*
L0087 - 2010-09-19
7
Logical Model
 The logical model
 typically refines the conceptual model
 typically contains all the important data structures and classes from the
application architecture along with their relations
 is normally platform independent and can thus be implemented using all
types of technologies (e.g. Java or SQL)
 is often used as the basis for the detailed use cases
 All design choices must be made as part of the logical model!
 For large systems, the logical model exists in several layers with more detailed
models for different parts of the base model
L0087 - 2010-09-19
8
Logical Model (cont’)
 Constraints and invariants can often be implemented in the abstract syntax (the
model) as well as as dynamic constraints
 To keep the model understandable, the “plain data” for entities is often kept is
separate data dictionaries (including defined methods, etc for UML models) – this
can make it relatively difficult to normalize the model as it is difficult to get a
proper overview of the model
 You should not necessarily expect to find all the conceptual concepts in the
corresponding logical models!
L0087 - 2010-09-19
9
Torso
Logical Model (cont’)
Body Part
Torso
0..*
~
Leg Arm Head
0..2
Leg Arm Head
0..2 1
Torso
1
Leg Arm Head
1 1
X 2
X 2
L0087 - 2010-09-19
10
Logical Model (cont’)
~ Named Element
Model Element
0..1
Typed ElementClassifier
Structural Feature
Attribute
Reference
Class
Data Type
0..*
0..*
0..*
type
opposite
superTypes
0..*
L0087 - 2010-09-19
11
Physical Model
 The physical model
 normally closely mimics the logical model
 adapts the logical model to the technical constraints of the target platform
 adds or refines the information to be platform specific
 E.g.
 Data types are often more primitive – e.g. no enumerations or compound
types in SQL
 Bi-directional references are often resolved into multiple references
 Additional performance specific data can be added in the form of indexes and
storage specifications
B
*
A
*
RelA
*
B
*
L0087 - 2010-09-19
12
Common Terms
 Organization, Problem Domain or Universe – the area of interest, the “thing” that
most be modeled
 Entity – an object or concept from the problem domain – can also be data on
relations or associations
 Relation, Association or Reference – the connection between entities
 Aggregation, Composition or Containment – a relation that implies some sort of
ownership and shared life-cycle
 Attribute – a data item on an entity
 Key or Identifier – one or more attributes that are used to (uniquely) identify an
entity
 Structural Feature – common name for references and attributes
 Entity-Relationship Diagram (ER diagram)
L0087 - 2010-09-19
13
Model Notations
 Entity-Relationship Model or Diagram (ER
diagram)
 The overall common term for all the
notations
 Also allows data attributes on relations – can
always be converted to a simpler notation
 UML 2 Class Diagram
 OMG governed notation
 Very rich
 (I use a reduced UML notation when possible to
remove as much “noise” from the diagrams as
possible)
 ((Notations is the target of many religious
discussions – the end result is usually the same
though…))
L0087 - 2010-09-19
14
Notations
L0087 - 2010-09-19
15
Modeling Tools
 Hand written on paper or a white board!
 Eclipse Ecore Tools
 UML tools such as IBM RAD and similar IDEs
L0087 - 2010-09-19
16
The Typical Process
 “Modeling Techniques” are integrated and described in many different formal
development process
 Most processes encompass the following steps:
 Identify Entities – typically corresponding to the objects in the problem
domain
 Identify Relations – typically according to the ownership or interaction
between entities
 Introduce inheritance

to collapse common behavior

to allow to-many references
 Add attributes for all identifiers and specify constraints (especially cardinality
of relations)
 Apply generic model patterns and “normalize” the model to get the best
balance between consistency and performance
 Add all other “plain data” attributes
 Practice, practice, practice… Sorry, not easy road here
L0087 - 2010-09-19
17
Shop
Relations, References and Associations
 Two basic groups of relations:
 Aggregations, Composition and Containment
 Plain References (sometimes “Reference Relations”)
 Describes ownership and life-cycle
 UML has two concepts

Aggregation denotes a weak “has a”

Composition denotes a strong “has a”
Order
*
Customer
Order Item Shop Item
* *
*
*
*
L0087 - 2010-09-19
18
Techniques – One or More Relations
Torso
0..2
Leg Arm Head
0..2 1
Torso
1
Leg Arm Head
1 1
X 2
X 2
L0087 - 2010-09-19
19
Techniques – Inheritance
Torso
Body Part
Torso
0..*
Leg Arm Head
0..2
Leg Arm Head
0..2 1
Body Part
Torso
0..* Type := “Leg”, “Arm, “Head”
L0087 - 2010-09-19
20
Techniques – Attributes with Limited Value Set
 E.g. Colors, Fonts, Vendors, Zip codes, Employees, Flight No
 Model association as a string attribute
 Model association as an enumeration attribute
 Model association as a reference to a data entity (reference table)
 Model association as a reference to different sub-types (inheritance)
 Question: what is the meta level of the reference table?
 Question: What is the associated cost of changing the application for each
solution?
 Very much related to the notion of normal forms
L0087 - 2010-09-19
21
Techniques – Attributes with Limited Value Set
Body Part
Torso
0..* Type : String
Body Part
Torso
0..* Type := “Leg”, “Arm, “Head”
Body Part
Torso
0..*
Body Part Type0..*
1
Body Part
Torso
0..*
Leg Arm Head
L0087 - 2010-09-19
22
Model Normalization
 Model normalization is a process where certain types of redundancies are
removed from a logical model
 The primary aim is to avoid inconsistencies
 The price is typically an increased performance/execution cost – especially for
SQL based databases!
 First normal form (1NF) – An entity type is in 1NF when it contains no
repeating groups of data
 Second normal form (2NF) – An entity type is in 2NF when it is in 1NF and
when all of its non-key attributes are fully dependent on its primary key
 Third normal form (3NF) – An entity type is in 3NF when it is in 2NF and when
all of its attributes are directly dependent on the primary key

 Only one key attribute
 Very often a model will go through a number of normalization/de-normalization
cycles to find the right balance between consistency and performance
L0087 - 2010-09-19
23
Model Normalization Example (0NF)
L0087 - 2010-09-19
24
Model Normalization Example (1NF)
L0087 - 2010-09-19
25
Model Normalization Example (2NF)
L0087 - 2010-09-19
26
Model Normalization Example (3NF)
L0087 - 2010-09-19
27
Exercises
 We have a BOOK SHOP with a number of BOOKS on stock.
 The BOOKS are sold to CUSTOMERS. A single ORDER can include many different
BOOKS to a specific CUSTOMER.
 Exercise I: Build a conceptual model for the book shop
 What meta level does the model have (M0-M3)?
 Exercise II: Build the corresponding data model for the book shop
 What normal form does the model have? Can you make the model NF3? Is it
worth it?
 Exercise III: How must be models be changed if we need to track the price of
BOOKS over time so we can draw diagrams with PRICE versus ORDERS for specific
BOOKS
L0087 - 2010-09-19
28
Syllabus (”Pensum”)
 The reading materials for this lecture is in the form of the following three
articles:
 Wikipedia on Data Modeling - http://en.wikipedia.org/wiki/Data_modeling

Overview of the concepts behind data modeling
 “Data Modeling 101” by Scott Ambler -
http://www.agiledata.org/essays/dataModeling101.html

Good introduction to the modeling process
 “UML 2 Class Diagrams” by Scott Ambler -
http://www.agilemodeling.com/artifacts/classDiagram.htm

Good over the UML 2 Class Diagram Notation

Más contenido relacionado

La actualidad más candente

Unified Modelling Language
Unified Modelling LanguageUnified Modelling Language
Unified Modelling LanguageJismy .K.Jose
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineeringMubashir Jutt
 
Ch 12 O O D B Dvlpt
Ch 12  O O  D B  DvlptCh 12  O O  D B  Dvlpt
Ch 12 O O D B Dvlptguest8fdbdd
 
Unified Modeling Language (UML)
Unified Modeling Language (UML)Unified Modeling Language (UML)
Unified Modeling Language (UML)ppd1961
 
Ch 6 Logical D B Design
Ch 6  Logical D B  DesignCh 6  Logical D B  Design
Ch 6 Logical D B Designguest8fdbdd
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraintsKumar
 
Ch 5 O O Data Modeling
Ch 5  O O  Data ModelingCh 5  O O  Data Modeling
Ch 5 O O Data Modelingguest8fdbdd
 
Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5Ricardo Quintero
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASEbabak danyal
 
Object oriented design using uml
Object oriented design using umlObject oriented design using uml
Object oriented design using umlKarunaShrivastav
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling LanguageShahzad
 
Omg Fundamental Certification 4
Omg Fundamental Certification 4Omg Fundamental Certification 4
Omg Fundamental Certification 4Ricardo Quintero
 

La actualidad más candente (20)

Unified Modelling Language
Unified Modelling LanguageUnified Modelling Language
Unified Modelling Language
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
Unified Modeling Language
Unified Modeling LanguageUnified Modeling Language
Unified Modeling Language
 
Ch 12 O O D B Dvlpt
Ch 12  O O  D B  DvlptCh 12  O O  D B  Dvlpt
Ch 12 O O D B Dvlpt
 
Unified Modeling Language (UML)
Unified Modeling Language (UML)Unified Modeling Language (UML)
Unified Modeling Language (UML)
 
Uml
UmlUml
Uml
 
Sequence diagrams in UML
Sequence diagrams in UMLSequence diagrams in UML
Sequence diagrams in UML
 
Ch 6 Logical D B Design
Ch 6  Logical D B  DesignCh 6  Logical D B  Design
Ch 6 Logical D B Design
 
UML Trainings
UML TrainingsUML Trainings
UML Trainings
 
4 the relational data model and relational database constraints
4 the relational data model and relational database constraints4 the relational data model and relational database constraints
4 the relational data model and relational database constraints
 
Ch 5 O O Data Modeling
Ch 5  O O  Data ModelingCh 5  O O  Data Modeling
Ch 5 O O Data Modeling
 
Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5Uml Omg Fundamental Certification 5
Uml Omg Fundamental Certification 5
 
Lecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASELecture#02, building blocks of uml ASE
Lecture#02, building blocks of uml ASE
 
Design UML diagrams
Design UML diagramsDesign UML diagrams
Design UML diagrams
 
Object oriented design using uml
Object oriented design using umlObject oriented design using uml
Object oriented design using uml
 
UML- Unified Modeling Language
UML- Unified Modeling LanguageUML- Unified Modeling Language
UML- Unified Modeling Language
 
Omg Fundamental Certification 4
Omg Fundamental Certification 4Omg Fundamental Certification 4
Omg Fundamental Certification 4
 
0136061257
01360612570136061257
0136061257
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 

Destacado (16)

Electromagnetic induction (2)
Electromagnetic induction (2)Electromagnetic induction (2)
Electromagnetic induction (2)
 
2010-National Geographic Photos
2010-National Geographic Photos2010-National Geographic Photos
2010-National Geographic Photos
 
Thiet ke web
Thiet ke webThiet ke web
Thiet ke web
 
Degu3
Degu3Degu3
Degu3
 
Naumen CRM для Негосударственных Пенсионных Фондов
Naumen CRM для Негосударственных Пенсионных ФондовNaumen CRM для Негосударственных Пенсионных Фондов
Naumen CRM для Негосударственных Пенсионных Фондов
 
Az emberi arckifejezések biológiája
Az emberi arckifejezések biológiájaAz emberi arckifejezések biológiája
Az emberi arckifejezések biológiája
 
Oct16
Oct16Oct16
Oct16
 
Settore Mobile Arredo
Settore Mobile ArredoSettore Mobile Arredo
Settore Mobile Arredo
 
Immunology essay
Immunology essayImmunology essay
Immunology essay
 
Tombe la neige adamo
Tombe la neige  adamoTombe la neige  adamo
Tombe la neige adamo
 
Web User Experience in 2021
Web User Experience in 2021Web User Experience in 2021
Web User Experience in 2021
 
Giuseppes M E N U
Giuseppes  M E N UGiuseppes  M E N U
Giuseppes M E N U
 
EpicenterSpark Brouchure
EpicenterSpark BrouchureEpicenterSpark Brouchure
EpicenterSpark Brouchure
 
ChrisLucas Resume - Sept 2016
ChrisLucas Resume - Sept 2016ChrisLucas Resume - Sept 2016
ChrisLucas Resume - Sept 2016
 
Quinton Thesis Pub
Quinton Thesis PubQuinton Thesis Pub
Quinton Thesis Pub
 
Dissertacao
DissertacaoDissertacao
Dissertacao
 

Similar a ITU - MDD – Modeling Techniques

MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...Aravind NC
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologiesnaina-rani
 
Introduction To Uml
Introduction To UmlIntroduction To Uml
Introduction To Umlguest514814
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manualPraseela R
 
Chapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docxChapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docxmccormicknadine86
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and DesignAnirban Majumdar
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented DatabaseMegan Espinoza
 
Cs 2401 Unit 1
Cs 2401 Unit 1Cs 2401 Unit 1
Cs 2401 Unit 1Susan Cox
 
Darshan sem4 140703_ooad_2014 (diagrams)
Darshan sem4 140703_ooad_2014 (diagrams)Darshan sem4 140703_ooad_2014 (diagrams)
Darshan sem4 140703_ooad_2014 (diagrams)Gajeshwar Bahekar
 
Architecture and design
Architecture and designArchitecture and design
Architecture and designhimanshu_airon
 
Comparison of the Formal Specification Languages Based Upon Various Parameters
Comparison of the Formal Specification Languages Based Upon Various ParametersComparison of the Formal Specification Languages Based Upon Various Parameters
Comparison of the Formal Specification Languages Based Upon Various ParametersIOSR Journals
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineeringMuhammadTalha436
 
Third AssignmentDescribe in 100 – 200 words an application with .docx
Third AssignmentDescribe in 100 – 200 words an application with .docxThird AssignmentDescribe in 100 – 200 words an application with .docx
Third AssignmentDescribe in 100 – 200 words an application with .docxrandymartin91030
 

Similar a ITU - MDD – Modeling Techniques (20)

MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
MC0083 – Object Oriented Analysis &. Design using UML - Master of Computer Sc...
 
Apostila UML
Apostila UMLApostila UML
Apostila UML
 
Ch 2.1
Ch 2.1Ch 2.1
Ch 2.1
 
Mca 504 dotnet_unit4
Mca 504 dotnet_unit4Mca 504 dotnet_unit4
Mca 504 dotnet_unit4
 
Ooad
OoadOoad
Ooad
 
Object oriented methodologies
Object oriented methodologiesObject oriented methodologies
Object oriented methodologies
 
Introduction To Uml
Introduction To UmlIntroduction To Uml
Introduction To Uml
 
Ooad lab manual
Ooad  lab manualOoad  lab manual
Ooad lab manual
 
Chapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docxChapter 7 Design Architecture and Methodology1.docx
Chapter 7 Design Architecture and Methodology1.docx
 
l1_introuml.pdf
l1_introuml.pdfl1_introuml.pdf
l1_introuml.pdf
 
Object Oriented Analysis and Design
Object Oriented Analysis and DesignObject Oriented Analysis and Design
Object Oriented Analysis and Design
 
Object Oriented Database
Object Oriented DatabaseObject Oriented Database
Object Oriented Database
 
Cs 2401 Unit 1
Cs 2401 Unit 1Cs 2401 Unit 1
Cs 2401 Unit 1
 
Darshan sem4 140703_ooad_2014 (diagrams)
Darshan sem4 140703_ooad_2014 (diagrams)Darshan sem4 140703_ooad_2014 (diagrams)
Darshan sem4 140703_ooad_2014 (diagrams)
 
Architecture and design
Architecture and designArchitecture and design
Architecture and design
 
Comparison of the Formal Specification Languages Based Upon Various Parameters
Comparison of the Formal Specification Languages Based Upon Various ParametersComparison of the Formal Specification Languages Based Upon Various Parameters
Comparison of the Formal Specification Languages Based Upon Various Parameters
 
Data Modeling.docx
Data Modeling.docxData Modeling.docx
Data Modeling.docx
 
Analysis modeling in software engineering
Analysis modeling in software engineeringAnalysis modeling in software engineering
Analysis modeling in software engineering
 
Analysis modeling
Analysis modelingAnalysis modeling
Analysis modeling
 
Third AssignmentDescribe in 100 – 200 words an application with .docx
Third AssignmentDescribe in 100 – 200 words an application with .docxThird AssignmentDescribe in 100 – 200 words an application with .docx
Third AssignmentDescribe in 100 – 200 words an application with .docx
 

Más de Tonny Madsen

L0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard ViewsL0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard ViewsTonny Madsen
 
L0037 - Basic Eclipse Configuration
L0037 - Basic Eclipse ConfigurationL0037 - Basic Eclipse Configuration
L0037 - Basic Eclipse ConfigurationTonny Madsen
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and EditorsTonny Madsen
 
L0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationL0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationTonny Madsen
 
L0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitL0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitTonny Madsen
 
L0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-inL0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-inTonny Madsen
 
L0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformL0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformTonny Madsen
 
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...Tonny Madsen
 
PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?Tonny Madsen
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureEclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureTonny Madsen
 
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An IntroductionEclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An IntroductionTonny Madsen
 
ITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model TransformationsITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model TransformationsTonny Madsen
 
IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)Tonny Madsen
 
IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)Tonny Madsen
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...Tonny Madsen
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insTonny Madsen
 
eclipse.dk - Eclipse RCP Under the Hood
eclipse.dk - Eclipse RCP Under the Hoodeclipse.dk - Eclipse RCP Under the Hood
eclipse.dk - Eclipse RCP Under the HoodTonny Madsen
 

Más de Tonny Madsen (20)

L0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard ViewsL0043 - Interfacing to Eclipse Standard Views
L0043 - Interfacing to Eclipse Standard Views
 
L0037 - Basic Eclipse Configuration
L0037 - Basic Eclipse ConfigurationL0037 - Basic Eclipse Configuration
L0037 - Basic Eclipse Configuration
 
L0036 - Creating Views and Editors
L0036 - Creating Views and EditorsL0036 - Creating Views and Editors
L0036 - Creating Views and Editors
 
L0033 - JFace
L0033 - JFaceL0033 - JFace
L0033 - JFace
 
L0020 - The Basic RCP Application
L0020 - The Basic RCP ApplicationL0020 - The Basic RCP Application
L0020 - The Basic RCP Application
 
L0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget ToolkitL0018 - SWT - The Standard Widget Toolkit
L0018 - SWT - The Standard Widget Toolkit
 
L0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-inL0016 - The Structure of an Eclipse Plug-in
L0016 - The Structure of an Eclipse Plug-in
 
L0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse PlatformL0001 - The Terminology of the Eclipse Platform
L0001 - The Terminology of the Eclipse Platform
 
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
EclipseCon '11 - Using Adapters to Handle Menus and Handlers in Large Scale A...
 
PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?PROSA - Eclipse Is Just What?
PROSA - Eclipse Is Just What?
 
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the FutureEclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
Eclipse Demo Camp 2010 - Eclipse e4 – The Status and the Future
 
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An IntroductionEclipse Demo Camp 2010 - UI Bindings - An Introduction
Eclipse Demo Camp 2010 - UI Bindings - An Introduction
 
ITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model TransformationsITU - MDD – Model-to-Model Transformations
ITU - MDD – Model-to-Model Transformations
 
IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)IDA - Eclipse Workshop II (In Danish)
IDA - Eclipse Workshop II (In Danish)
 
IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)IDA - Eclipse Workshop I (In Danish)
IDA - Eclipse Workshop I (In Danish)
 
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
IDA - Fra forretningside til bundlinie: Eclipse følger dig hele vejen (In Dan...
 
ITU - MDD - EMF
ITU - MDD - EMFITU - MDD - EMF
ITU - MDD - EMF
 
ITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-insITU - MDD - Eclipse Plug-ins
ITU - MDD - Eclipse Plug-ins
 
ITU - MDD - XText
ITU - MDD - XTextITU - MDD - XText
ITU - MDD - XText
 
eclipse.dk - Eclipse RCP Under the Hood
eclipse.dk - Eclipse RCP Under the Hoodeclipse.dk - Eclipse RCP Under the Hood
eclipse.dk - Eclipse RCP Under the Hood
 

Último

Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104misteraugie
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...Sapna Thakur
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfJayanti Pande
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfAyushMahapatra5
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024Janet Corral
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingTechSoup
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 

Último (20)

INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
BAG TECHNIQUE Bag technique-a tool making use of public health bag through wh...
 
Web & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdfWeb & Social Media Analytics Previous Year Question Paper.pdf
Web & Social Media Analytics Previous Year Question Paper.pdf
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
General AI for Medical Educators April 2024
General AI for Medical Educators April 2024General AI for Medical Educators April 2024
General AI for Medical Educators April 2024
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 

ITU - MDD – Modeling Techniques

  • 1. L0087 - 2010-09-19 Redistribution and other use of this material requires written permission from The RCP Company. ITU - MDD – Modeling Techniques This presentation describes different modeling techniques. It has three basic purposes: Give you an overview of some of the different types of models Give you a set of tools to decide how to create a (good) model for a problem Give you an overview of some of the different modeling techniques This presentation is developed for MDD 2010 course at ITU, Denmark
  • 2. L0087 - 2010-09-19 2 What is Data Modeling all About?  It is primary a way to analyze and describe a problem domain in terms of the objects and relationships that are relevant for the domain  Often the result is also used to describe the functionality of the problem domain in terms of who does what (UML term: interaction diagrams)  The result is the abstract syntax for the problem domain  Especially relevant for all problems that includes technologies like  Object oriented languages like Java, C++ or C#  Non-trivial data structures  Relational databases  … which is just about 95% of all interesting problems
  • 3. L0087 - 2010-09-19 3 Agenda  Types of Models  Processes and Techniques  Model Normalization  Exercise
  • 4. L0087 - 2010-09-19 4 Types of Models  A question of abstraction!  Information Model or Conceptual Model  Describes the relationships between the important concepts of the model  Data Model, Logical Model or Domain Model (DOM)  Describes the corresponding relationships between the objects that are used to realize the concepts  Physical Model  Describes the logical model in a form that can be directly implemented in the target technology – e.g. Java or SQL  It is often possible to automatically transform a logical model to a physical model  Hibernate and JPA are examples of this  The different types of models is not related to meta levels – these models exists for M1-M3
  • 5. L0087 - 2010-09-19 5 Conceptual Models  The conceptual model  describes the things or objects of significance to a specific problem domain  The “things” are not necessarily physical objects  is meant to collect information, and characteristics of the objects in the domain  describes the most important associations between pairs of those things or objects of significance  is often used as the basis for the central use cases  It can very often be a good start to write down statements about the problem domain including the basic use cases before the model is started  To describe the human body:  A human BODY consists of a TORSO, normally connected with two LEGS, two ARMS, and a HEAD all called BODY PARTS  To describe entity-relationship diagrams  An ENTITY can refer to a number of other entities via RELATIONS. An entity can have ATTRIBUTES with DATA TYPES. REFERENCES between ENTITIES can be bi-directional. ENTITIES can inherit RELATIONS and ATTRIBUTES from a number of super-ENTITIES.
  • 6. L0087 - 2010-09-19 6 Conceptual Model (cont’) 0..1 Attribute Relation Entity Data Type 0..* 0..* 0..* attributeType opposite superTypes referenceType 0..* 0..* Body Part Torso 0..* ~ ~ 0..*
  • 7. L0087 - 2010-09-19 7 Logical Model  The logical model  typically refines the conceptual model  typically contains all the important data structures and classes from the application architecture along with their relations  is normally platform independent and can thus be implemented using all types of technologies (e.g. Java or SQL)  is often used as the basis for the detailed use cases  All design choices must be made as part of the logical model!  For large systems, the logical model exists in several layers with more detailed models for different parts of the base model
  • 8. L0087 - 2010-09-19 8 Logical Model (cont’)  Constraints and invariants can often be implemented in the abstract syntax (the model) as well as as dynamic constraints  To keep the model understandable, the “plain data” for entities is often kept is separate data dictionaries (including defined methods, etc for UML models) – this can make it relatively difficult to normalize the model as it is difficult to get a proper overview of the model  You should not necessarily expect to find all the conceptual concepts in the corresponding logical models!
  • 9. L0087 - 2010-09-19 9 Torso Logical Model (cont’) Body Part Torso 0..* ~ Leg Arm Head 0..2 Leg Arm Head 0..2 1 Torso 1 Leg Arm Head 1 1 X 2 X 2
  • 10. L0087 - 2010-09-19 10 Logical Model (cont’) ~ Named Element Model Element 0..1 Typed ElementClassifier Structural Feature Attribute Reference Class Data Type 0..* 0..* 0..* type opposite superTypes 0..*
  • 11. L0087 - 2010-09-19 11 Physical Model  The physical model  normally closely mimics the logical model  adapts the logical model to the technical constraints of the target platform  adds or refines the information to be platform specific  E.g.  Data types are often more primitive – e.g. no enumerations or compound types in SQL  Bi-directional references are often resolved into multiple references  Additional performance specific data can be added in the form of indexes and storage specifications B * A * RelA * B *
  • 12. L0087 - 2010-09-19 12 Common Terms  Organization, Problem Domain or Universe – the area of interest, the “thing” that most be modeled  Entity – an object or concept from the problem domain – can also be data on relations or associations  Relation, Association or Reference – the connection between entities  Aggregation, Composition or Containment – a relation that implies some sort of ownership and shared life-cycle  Attribute – a data item on an entity  Key or Identifier – one or more attributes that are used to (uniquely) identify an entity  Structural Feature – common name for references and attributes  Entity-Relationship Diagram (ER diagram)
  • 13. L0087 - 2010-09-19 13 Model Notations  Entity-Relationship Model or Diagram (ER diagram)  The overall common term for all the notations  Also allows data attributes on relations – can always be converted to a simpler notation  UML 2 Class Diagram  OMG governed notation  Very rich  (I use a reduced UML notation when possible to remove as much “noise” from the diagrams as possible)  ((Notations is the target of many religious discussions – the end result is usually the same though…))
  • 15. L0087 - 2010-09-19 15 Modeling Tools  Hand written on paper or a white board!  Eclipse Ecore Tools  UML tools such as IBM RAD and similar IDEs
  • 16. L0087 - 2010-09-19 16 The Typical Process  “Modeling Techniques” are integrated and described in many different formal development process  Most processes encompass the following steps:  Identify Entities – typically corresponding to the objects in the problem domain  Identify Relations – typically according to the ownership or interaction between entities  Introduce inheritance  to collapse common behavior  to allow to-many references  Add attributes for all identifiers and specify constraints (especially cardinality of relations)  Apply generic model patterns and “normalize” the model to get the best balance between consistency and performance  Add all other “plain data” attributes  Practice, practice, practice… Sorry, not easy road here
  • 17. L0087 - 2010-09-19 17 Shop Relations, References and Associations  Two basic groups of relations:  Aggregations, Composition and Containment  Plain References (sometimes “Reference Relations”)  Describes ownership and life-cycle  UML has two concepts  Aggregation denotes a weak “has a”  Composition denotes a strong “has a” Order * Customer Order Item Shop Item * * * * *
  • 18. L0087 - 2010-09-19 18 Techniques – One or More Relations Torso 0..2 Leg Arm Head 0..2 1 Torso 1 Leg Arm Head 1 1 X 2 X 2
  • 19. L0087 - 2010-09-19 19 Techniques – Inheritance Torso Body Part Torso 0..* Leg Arm Head 0..2 Leg Arm Head 0..2 1 Body Part Torso 0..* Type := “Leg”, “Arm, “Head”
  • 20. L0087 - 2010-09-19 20 Techniques – Attributes with Limited Value Set  E.g. Colors, Fonts, Vendors, Zip codes, Employees, Flight No  Model association as a string attribute  Model association as an enumeration attribute  Model association as a reference to a data entity (reference table)  Model association as a reference to different sub-types (inheritance)  Question: what is the meta level of the reference table?  Question: What is the associated cost of changing the application for each solution?  Very much related to the notion of normal forms
  • 21. L0087 - 2010-09-19 21 Techniques – Attributes with Limited Value Set Body Part Torso 0..* Type : String Body Part Torso 0..* Type := “Leg”, “Arm, “Head” Body Part Torso 0..* Body Part Type0..* 1 Body Part Torso 0..* Leg Arm Head
  • 22. L0087 - 2010-09-19 22 Model Normalization  Model normalization is a process where certain types of redundancies are removed from a logical model  The primary aim is to avoid inconsistencies  The price is typically an increased performance/execution cost – especially for SQL based databases!  First normal form (1NF) – An entity type is in 1NF when it contains no repeating groups of data  Second normal form (2NF) – An entity type is in 2NF when it is in 1NF and when all of its non-key attributes are fully dependent on its primary key  Third normal form (3NF) – An entity type is in 3NF when it is in 2NF and when all of its attributes are directly dependent on the primary key   Only one key attribute  Very often a model will go through a number of normalization/de-normalization cycles to find the right balance between consistency and performance
  • 23. L0087 - 2010-09-19 23 Model Normalization Example (0NF)
  • 24. L0087 - 2010-09-19 24 Model Normalization Example (1NF)
  • 25. L0087 - 2010-09-19 25 Model Normalization Example (2NF)
  • 26. L0087 - 2010-09-19 26 Model Normalization Example (3NF)
  • 27. L0087 - 2010-09-19 27 Exercises  We have a BOOK SHOP with a number of BOOKS on stock.  The BOOKS are sold to CUSTOMERS. A single ORDER can include many different BOOKS to a specific CUSTOMER.  Exercise I: Build a conceptual model for the book shop  What meta level does the model have (M0-M3)?  Exercise II: Build the corresponding data model for the book shop  What normal form does the model have? Can you make the model NF3? Is it worth it?  Exercise III: How must be models be changed if we need to track the price of BOOKS over time so we can draw diagrams with PRICE versus ORDERS for specific BOOKS
  • 28. L0087 - 2010-09-19 28 Syllabus (”Pensum”)  The reading materials for this lecture is in the form of the following three articles:  Wikipedia on Data Modeling - http://en.wikipedia.org/wiki/Data_modeling  Overview of the concepts behind data modeling  “Data Modeling 101” by Scott Ambler - http://www.agiledata.org/essays/dataModeling101.html  Good introduction to the modeling process  “UML 2 Class Diagrams” by Scott Ambler - http://www.agilemodeling.com/artifacts/classDiagram.htm  Good over the UML 2 Class Diagram Notation