Part 2. Introduction to Unified Modeling Language UML

Similar documents
11 November

A Rational Software Whitepaper

Umbrello UML Modeller Handbook

UML Modeling Guidelines

Data Modeling Basics

Many applications consist of one or more classes, each containing one or more methods. If you become part of a development team in industry, you may

The Entity-Relationship Model

Graphical Systems Modeling with UML / SysML Class diagrams

UML Class Diagrams. Lesson Objectives

Database Design Overview. Conceptual Design ER Model. Entities and Entity Sets. Entity Set Representation. Keys

INSPIRE Infrastructure for Spatial Information in Europe. D2.8.III.1 Data Specification on Statistical Units Draft Guidelines

1. Visual Paradigm for UML

Introduction. UML = Unified Modeling Language It is a standardized visual modeling language.

WebSphere Business Monitor

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Chapter 7 Data Modeling Using the Entity- Relationship (ER) Model

Chapter 3. Data Modeling Using the Entity-Relationship (ER) Model

Representing XML Schema in UML A Comparison of Approaches

Database Design Methodology

Compliance and Requirement Traceability for SysML v.1.0a

Tutorial - Building a Use Case Diagram

The UML Class Diagram

Rose Data Modeler (logical)

Case studies: Outline. Requirement Engineering. Case Study: Automated Banking System. UML and Case Studies ITNP090 - Object Oriented Software Design

Java (12 Weeks) Introduction to Java Programming Language

SYSML PLUGIN. version user guide

Core Components Data Type Catalogue Version October 2011

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

How to make a good Software Requirement Specification(SRS)

Lecture 12: Entity Relationship Modelling

6-1. Process Modeling

How to Make a Domain Model. Tutorial

not necessarily strictly sequential feedback loops exist, i.e. may need to revisit earlier stages during a later stage

Database Design Methodology

mdwfs Model-driven Schema Translation for Integrating Heterogeneous Geospatial Data

Using UML Part One Structural Modeling Diagrams

A technical discussion on modeling with UML 06/11/03 Entity Relationship Modeling with UML

INSPIRE Infrastructure for Spatial Information in Europe. D2.8.III.8 Data Specification on Production and Industrial Facilities Draft Guidelines

Relational Algebra and SQL

Lectures 2 & 3: Introduction to Modeling & UML. Getting started

BUILDING TURKISH NATIONAL GIS (TRGIS) and DEVELOPMENT OF GEO-DATA STANDARDS

IV. The (Extended) Entity-Relationship Model

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

Why SBVR? Donald Chapin. Chair, OMG SBVR Revision Task Force Business Semantics Ltd

SQL. Short introduction

a. Inheritance b. Abstraction 1. Explain the following OOPS concepts with an example

DATABASE DESIGN. - Developing database and information systems is performed using a development lifecycle, which consists of a series of steps.

Database Modelling in UML

History OOP languages Year Language 1967 Simula Smalltalk

Managing Variability in Software Architectures 1 Felix Bachmann*

Organization of DSLE part. Overview of DSLE. Model driven software engineering. Engineering. Tooling. Topics:

An Introduction To UML Class Diagrams Classes

Chapter 10 Practical Database Design Methodology and Use of UML Diagrams

Software Project Management and UML

UML Modeling Guidelines

Databases and BigData

Database Design Process

INSPIRE Infrastructure for Spatial Information in Europe. D2.8.III.7 Data Specification on Environmental Monitoring Facilities Draft Guidelines

A technical discussion of UML 06/11/03 Relational Modeling with UML

GetLibraryUserOrderList

Chapter 7: Structuring System Process Requirements

Enterprise Application Development Using UML, Java Technology and XML

Programming Language Constructs as Basis for Software Architectures

The Relational Model. Why Study the Relational Model? Relational Database: Definitions

Chapter 1 Java Program Design and Development

How To Understand The Purpose Of A Class Diagram In Java.Io (Java)

Cúram Modeling Reference Guide

Software Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville

IT2304: Database Systems 1 (DBS 1)

7.1 The Information system

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

Generating Enterprise Applications from Models

Semantics of UML class diagrams

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

Modeling business logic in Web-specific components can be done in a coherent and consistent way. Modeling. Web Application.

Data Modeling. Database Systems: The Complete Book Ch ,

Object-Based Databases

Tutorial: Using Enterprise Architect with a central UML repository

Best of Both Worlds - A Mapping from EXPRESS-G to UML

Model Driven Interoperability through Semantic Annotations using SoaML and ODM

Tool Support for Instantiating UML Models from Domain Models

SEARCH The National Consortium for Justice Information and Statistics. Model-driven Development of NIEM Information Exchange Package Documentation

The process of database development. Logical model: relational DBMS. Relation

BCS THE CHARTERED INSTITUTE FOR IT. BCS HIGHER EDUCATION QUALIFICATIONS BCS Level 5 Diploma in IT SYSTEMS ANALYSIS & DESIGN EXAMINERS REPORT

CS 487. Week 8. Reference: 1. Software engineering, roger s. pressman. Reading: 1. Ian Sommerville, Chapter 3. Objective:

COMP 378 Database Systems Notes for Chapter 7 of Database System Concepts Database Design and the Entity-Relationship Model

Part 1 Foundations of object orientation

Towards a Common Metamodel for the Development of Web Applications

Systems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g

13 Classes & Objects with Constructors/Destructors

Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations

A Tool for Generating Relational Database Schema from EER Diagram

IT2305 Database Systems I (Compulsory)

DRAFT S-100 UNIVERSAL HYDROGRAPHIC DATA MODEL

Documentation to use the Elia Infeed web services

Domain Modeling. Domain Modeling

Information Technology Topic Maps Part 2: Data Model

The Entity-Relationship Model

Definition and Generation of Data Exchange Formats in AUTOSAR

Transcription:

1 Part 2 Introduction to Unified Modeling Language UML

Levels of modelling 2 Conceptual Model Formally describes the content and structure of a data set Describes the Universe of Discourse: a view on the real-world, depending on the aimed application(s) Is software/platform independent Is generally described using a graphical conceptual language (e.g. UML)

Levels of modelling 3 Logical Model Closer to implementation, but still emphasis on information content and how it is structured, constraints, etc... Physical storage Model How it is actually stored/encoded (detailed instructions), also indexes, table spaces, binary compression methods, etc...

Levels of modelling 4

UML basics (acknowledgement goes to Julien Gaffuri DG JRC) 5 Purpose of slides: give basis to read INSPIRE UML class diagrams. Notions: Class, Attribute, Operation, Association, Constraint, Package, Stereotype...

UML class diagram 6 INSPIRE UML class diagram for administrative units

Class 7 Definition: description of a set of objects that share the same attributes, operations, relationships, and semantics.

Class 8 UML representation: Simple view ClassName Full view ClassName + AttributeName : DataType... + OperationName(parameter1Name : DataType) : outdatatype...

Class: Attribute 9 Definition: characteristic common to all the objects of a class. visibility name [multiplicity] : data-type = value Visibility: + (public) or (private) (always + in INSPIRE) Multiplicity: number of values (optional) Value: possible default values (optional)

Class: Operation 10 Definition: An operation (or method) is a service that can be requested from an object. visibility name (parameters): outdatatype parameters: list of parameters (a parameter = a name + a data type)

Class 11 Example: Car + seatnumber : int + color [1..*] : Col + repair(tool : Tool) : Bill + wash() : void «A car is characterised by a seat number and one or several colours.» «A car can be repaired. This operation returns a bill to pay» «A car can be washed»

Inheritage / generalisation 12 Definition: taxonomic relationship between a more general element and a more specific element. Representation: ClassA ClassB «A classb instance is also a classa instance» «classb instances share the same characteristics as class A instances» «classb specialises classa» «classa is more abstract / generalised than classb»...

Inheritage / generalisation 13 Example: Vehicule ownername : String constructiondate : Date Car Boat draft : float Bus passengernb : int «Cars, boats, and buses are vehicules» «All vehicules have a construction date» «A bus is a vehicule with a passenger number value»

Association 14 Definition: relationship between classes that specifies connections between their instances. ClassA rolea 0..2 AssociationName roleb * ClassB Example: Company employer 1..* Employment employed 0..* Person

Multiplicity-Cardinality 15 Definition: number of instances of a class that may be associated with a class at the other end of the association. Possible values: Fixed: 1, 2, n, etc. Any: * Several: 0,1, 0,2,4 Within an interval: 0..1, 0..*, 1..*, etc.

Multiplicity-Cardinality 16 Examples: Company employer 1..* Employment employed 0..* Person «Companies and persons are linked with an employment relation» «A person can be employed by several companies» «A compagny has to employ at least one person» parent 2 Individual 0..* child Kinship «There is a kinship relation between individuals» «All individuals have exactly 2 parents» «Each individual can have several children»

Aggregation 17 Definition: Aggregation relationship between instances of a class and several instances of another class AggregateClass 0..2 * AggregatedClass «A classa instance is a an aggregate of instances of classb» Example: Country 1 * Region «A country is an aggregation of regions»

Composition 18 Definition: Composition relationship between instances of a class and several instances of another class (they cannot exist independently) CompositeClass ComponantClass 0..2 * «A classa instance is a a composite of instances of classb» Example: Book 0..1 2..* Page «A book is composed of pages (at least two)»

Navigability 19 Definition: Indication on the navigation supported by an association ClassA supplier 0..2 user * ClassB «A classb instance knows the classa instances it is associated with» «It is not necessary to retrieve ClassB instances linked to a ClassA instance»

Note 20 Definition: Comment or a constraint attached to a diagram element Usually linked to the element it is related to (with dashed line) In natural language ClassA Comment on classa

Constraint 21 Definition: condition or restriction to satisfy. Can be represented in { } or in a note In natural language, or OCL (when possible) OCL = Object Constraint Language ClassA ClassA objects should be like this {ClassA objects should be like that}

Package 22 Definition: A package is a set of classes Defined according to some needs of decomposition of UML models. UML representations: PackageX PackageX ClassA ClassB ClassA 0..2 * ClassB PackageX

Package diagram 23 Definition: representation of the relations between packages. Provides a higher level of abstraction.

Package diagram 24 INSPIRE package diagram for administrative units

Stereotype 25 Definition: Stereotypes extend the semantics, but not the structure of pre-existing UML elements (classes, attributes, operations, associations, roles, packages) UML representation: << StereotypeName >> ClassName << StereotypeName >> + AttributeName : DataType

Stereotype 26 Examples: <<DataType>>: set of values without identity <<Enumeration>>: data type with named literal values (ex: Boolean TRUE, FALSE) <<CodeList>>: extendable enumeration

Stereotype 27 INSPIRE stereotypes: <<FeatureType>>: for spatial object classes. <<Voidable>>: element that may not be present <<PlaceHolder>>: class that will be specified in the future

What is it? 28 INSPIRE UML class diagram for administrative units

Example 29 CityModel Usage: string * Owner Identification: string Building Type: string Parcel Parcel ID: string Area: float * Name: string Adress: string Private company Type: string NumberOfEmpl: integer Private person IncomeTax: float

30 30

Nesting vs normalisation 31 UML diagrams often explains nested structures (complex in XML) Most databases are normalised Simple structures (simple XML files) Independent tables (more or less) The same conceptual model can be implemented in various ways Can we transform a XML file from one schema to another?