Modellazione dei dati in UML



Похожие документы
Strumenti di modellazione. Gabriella Trucco

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Elementi di UML (7): Diagrammi dei componenti e di deployment

UML Diagrammi delle classi. UML Diagramma classi 1

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Programmazione A.A Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII)

UniRoma2 - Ingegneria del Software 1 1

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Programmi e Oggetti Software

UML Unified Modeling Language

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Guida all uso di Java Diagrammi ER

Concetti di base di ingegneria del software

Dalla progettazione concettuale alla modellazione di dominio

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Rappresentazione grafica di entità e attributi

Object Oriented Software Design

Sequence Diagram e Collaboration Diagram

PROGETTAZIONE CONCETTUALE

I Sistemi Informativi

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Progettazione del Software A.A.2008/09

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Informatica (Basi di Dati)

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA CONCETTUALE LE ASSOCIAZIONI

Progettazione di Basi di Dati

Lezione 4. Modello EER

Diagrammi di Interazione

Progettaz. e sviluppo Data Base

Identificare le classi in un sistema

!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Informatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1)

Soluzione dell esercizio del 2 Febbraio 2004

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Basi di dati. Esercizi sul modello E.R.

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

Progettazione concettuale

Indice. Prefazione alla seconda edizione italiana XVII. Introduzione. Parte 1 Introduzione all UML e all UP 1

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Esercitazione di Basi di Dati

MODELLO E/R. Modellazione dei dati

BASI DI DATI - : I modelli di database

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Basi di Dati. Conversione Modello ER in Modello Relazionale. K. Donno - Conversione Modello ER in Modello Relazionale

Object Oriented Programming

Basi di dati. Esercitazione ER. Paolo Papotti. Esercizio giugno 2005

La progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1

DIPARTIMENTO IMPIEGATO PROGETTO SEDE. (0,1) (1,1) DIREZIONE Cognome. Codice. Telefono (0,1) (1,N) AFFERENZA. Stipendio (0,N) Nome (1,1) Età

Lezione V. Aula Multimediale - sabato 29/03/2008

PROGETTAZIONE CONCETTUALE

UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language

UML Component and Deployment diagram

Organizzazione degli archivi

Alessandra Raffaetà. Basi di Dati

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Progettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]

Lezione 2. Il modello entità relazione

Ingegneria del Software: UML Class Diagram

MODELLO RELAZIONALE. Introduzione

I database. Cosa sono e a cosa servono i Database

Basi di dati. Il Modello Relazionale dei Dati. K. Donno - Il Modello Relazionale dei Dati

Identificatori delle entità

Autodesk Map parte III query

PROGETTAZIONE DEL SOFTWARE

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

UML. Analisi Modellazione e altro. Macchine a stati, Diagrammi di attività.. UML aa 2006/7 G.Bucci 1

Informatica Documentale

ALGEBRA DELLE PROPOSIZIONI

Modellazione di sistema

Progettazione orientata agli oggetti Introduzione a UML

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

Università degli Studi di Messina

Modello di Controllo dell Accesso basato sui ruoli (RBAC)

Il paradigma OO e le relative metodologie di progettazione. Programmazione orientata agli oggetti

Analisi dei requisiti e casi d uso

ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML)

12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)

1. I FONDAMENTI DELLA PROGRAMMAZIONE AD OGGETTI

Introduzione alla programmazione in C

Introduzione ai database relazionali

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista

Data Base. Prof. Filippo TROTTA

TECNICHE DI SIMULAZIONE

Analisi e progettazione del software AbcBid studio di caso 6 dicembre 2007 REQUISITI ITERAZIONE 1

UML. Una introduzione incompleta. UML: Unified Modeling Language

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Le parole dell informatica: modello di calcolo, complessità e trattabilità

Il Modello Relazionale

UNIVERSITÀ DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Il modello Entity-Relationship per il progetto delle basi di dati

Транскрипт:

Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine

Introduzione UML (Unified Modeling Language): linguaggio grafico per la modellazione di applicazioni software basate sul paradigma orientato agli oggetti. Ambito: Ingegneria del Software. Viene utilizzato per modellare, per mezzo di opportuni diagrammi, i dati, le operazioni, i processi e le architetture di un applicazione software. 2

UML e basi di dati - 1 UML quale alternativa al modello ER per la rappresentazione concettuale dei dati. I diagrammi delle classi: descrivono le classi di oggetti di interesse per l applicazione e le loro relazioni. In base al principio dell incapsulamento, proprio del paradigma o.o., possono essere rappresentati anche gli aspetti procedurali di un applicazione. 3

UML e basi di dati - 2 Alcuni dei costrutti del modello ER (ad esempio, gli identificatori interni ed esterni) non sono previsti in UML. In questo caso si ricorre a notazioni non standard. Nota bene: il diagramma delle classi di un applicazione e lo schema concettuale della sua componente base di dati non vanno confusi. 4

UML: le origini Proposto a metà degli anni 90 quale formalismo unificante per la modellazione o.o. di applicazioni software, è stato standardizzato sotto l egida dell Object Management Group (OGM). UML offre una molteplicità di diagrammi, corredati da una descrizione testuale della loro semantica: molteplicità di viste della medesima applicazione. 5

UML: il modello dell applicazione L insieme dei diagrammi definisce il modello dell applicazione (controparte dello schema ER): UML è un metamodello per la descrizione di modelli di applicazioni software. Nella sua versione corrente UML prevede un certo numero di diagrammi fondamentali: diagramma delle classi, degli oggetti, dei casi d uso, di sequenza, di comunicazione, delle attività, degli stati, dei componenti e di distribuzione dei componenti. 6

UML: I diagrammi principali - 1 Diagramma delle classi: descrive le caratteristiche statiche e dinamiche delle componenti (classi) e delle loro relazioni (associazioni). Diagramma degli oggetti: rappresentazione delle possibili istanze delle classi (oggetti) e dei loro collegamenti. Diagramma dei casi d uso: modalità di utilizzo del sistema da parte di persone/altri sistemi (attori) e interazioni tra sistema e attori. 7

UML: I diagrammi principali - 2 Diagramma di sequenza: ordinamento temporale di messaggi (invocazione di metodi) scambiati tra i diversi oggetti dell applicazione (funzione analoga ha il diagramma di comunicazione). Diagramma delle attività: comportamento dinamico di un processo dell applicazione in termini dei flussi di attività da svolgere. Diagramma degli stati: descrive il ciclo di vita di un oggetto dell applicazione attraverso gli stati che può assumere. 8

UML: I diagrammi principali - 3 Diagramma dei componenti: descrive l organizzazione delle componenti fisiche del sistema (file, moduli,..) e le loro dipendenze. Diagramma di distribuzione dei componenti: descrivere la dislocazione dei nodi hardware del sistema e le loro associazioni. 9

Uso del diagramma delle classi per la modellazione dei dati 1. Le classi:controparte delle entità del modello ER. 10

Le classi Ogni classe viene rappresentata con un rettangolo contenente il nome della classe (in alto), gli attributi e, a differenza del modello ER, i metodi (esempio, il metodo AggiornaStipendio, che consente di incrementare lo stipendio di una certa percentuale). Agli attributi vengono associati i domini e proprietà di interesse, quali molteplicità, vincoli e visibilità (non rilevante). Non sono ammessi attributi composti (si possono modellare come domini strutturati). 11

Le associazioni Le associazioni: controparte delle relazioni del modello ER. 12

Caratteristiche delle associazioni Le associazioni binarie si rappresentano con linee che collegano due classi (eventuale nome associato alla linea). Vi possono essere più associazioni tra le medesime classi e si possono assegnare dei ruoli alle classi coinvolte. Non si possono assegnare attributi alle associazioni. Devono essere usate classi di associazione (descrivono proprietà di un associazione e sono legate ad essa per mezzo di una linea tratteggiata). 13

Esempio di classe di associazione Osservazione: non occorre associare un nome all associazione. 14

Le associazioni n-arie Per le associazioni n-arie si usa la notazione del modello ER (fornitura è una classe di associazione). 15

Associazioni come classi Come nel caso del modello ER, le relazioni di grado superiore al secondo si possono eliminare tramite reificazione. 16

Proprietà delle associazioni - 1 Con una freccia si può indicare un verso privilegiato di navigabilità di un associazione. Si possono specificare associazioni che sono aggregazioni di concetti (composto / componenti). 17

Proprietà delle associazioni - 2 Rombo bianco = un oggetto della classe parte può esistere senza dover appartenere ad un oggetto della classe composta. Rombo nero = non vi può essere componente senza composto (composizione). 18

Vincoli di integrità: le molteplicità - 1 E possibile indicare la cardinalità (detta molteplicità) di partecipazione delle classi alle associazioni attraverso una coppia (min,max) come nel modello ER. Tale molteplicità si può associare anche agli attributi. Le convenzioni sono diverse: (x,y) diventa x..y e N diventa * (esempio: (1,N) diventa 1..*) * sta per 0..N 1 sta per 1..1 (default, a parte il caso delle aggregazione ove il default per la classe aggregante è *; può essere omesso). 19

Vincoli di integrità: le molteplicità - 2 Differenza principale a livello di notazione: le cardinalità di partecipazione minima e massima di una classe ad un associazione non vengono riportate accanto alla classe stessa, ma accanto all altra classe che partecipa alla relazione. 20

Identificatori interni - 1 Non vi è una notazione standard per gli identificatori (interni) delle classi (UML è un modello basato sull identità degli oggetti). Una possibilità: utilizzare un vincolo utente. UML consente di definire vincoli di integrità su associazioni e su attributi specificandoli tra parentesi graffe vicino all elemento oggetto del vincolo. Vi sono alcuni vincoli predefiniti, nessuno riconducibile alla nozione di identificatore. Si possono definire vincoli propri, detti vincoli utente. 21

Identificatori interni - 2 Un identificatore viene specificato col vincolo utente {id}. Se l identificatore è costituito da più attributo, il vincolo viene associato a ciascun attributo (solo un identificatore per classe). 22

Identificatori esterni - 1 Per gli identificatori esterni si ricorre agli stereotipi. Uno stereotipo viene utilizzato da UML per estendere i costrutti base quando si vuole modellare un concetto che non può essere modellato con i costrutti di base. Di norma, gli stereotipi si ottengono per estensione da qualche costrutto di base. Si possono definire anche stereotipi personalizzati. Gli stereotipi sono rappresentati da un nome racchiuso tra i simboli << e >>. 23

Identificatori esterni - 2 Esempio: uso di uno stereotipo per modellare una relazione identificante (qualora ci fossero ambiguità sulla classe da identificare, si potrebbe sfruttare il nome dell identificatore). 24

Le generalizzazioni - 1 Definizione simile a quella del modello ER. Differenze: tipicamente ogni figlio viene collegato al genitore da una freccia distinta, ma tali frecce si possono unire. Le proprietà delle generalizzazioni possono essere rappresentate con appositi vincoli. 25

Le generalizzazioni - 2 Due esempi di generalizzazione, con indicazione, nella seconda, delle proprietà della generalizzazione. 26

Una notazione alternativa Una notazione alternativa per la rappresentazione delle proprietà delle generalizzazioni è riportata nel prossimo lucido. Triangolo bianco disgiunti = generalizzazione con figli Triangolo nero = generalizzazioni con figli che possono sovrapporsi 27

Una gerarchia di generalizzazioni 28

Uso delle note E possibile documentare un diagramma UML attraverso delle note. Una nota è un semplice commento testuale riportato nel diagramma all interno di un rettangolo con l angolo superiore destro ripiegato, eventualmente collegato all elemento cui fa riferimento attraverso una linea tratteggiata (tale collegamento non è necessario). 29

Un esempio completo 30

Un altro esempio 31