Dalla progettazione concettuale alla modellazione di dominio



Documenti analoghi
Informatica (Basi di Dati)

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

Progettaz. e sviluppo Data Base

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

Strumenti di modellazione. Gabriella Trucco

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

Modellazione dei dati in UML

Progettazione di Basi di Dati

Organizzazione degli archivi

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

Lezione 2. Il modello entità relazione

Gli attributi di STUDENTE saranno: Matricola (chiave primaria), Cognome, Nome.

Basi di dati 9 febbraio 2010 Compito A

Programmi e Oggetti Software

Alessandra Raffaetà. Basi di Dati

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Concetti di base di ingegneria del software

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

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale

Informatica (Basi di Dati)

Progettazione di Database. Un Esempio

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

MODELLO RELAZIONALE. Introduzione

Il database management system Access

Corso di Informatica (Basi di Dati)

PROGETTAZIONE CONCETTUALE

Metodologie per la Progettazione Concettuale

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

Progettazione del Software, Laurea in Ingegneria Gestionale Progettazione del Software Laurea in Ing. Gestionale

Il Modello Relazionale

Progettazione base dati relazionale

Corso di Informatica

Identificare le classi in un sistema

Modello Relazionale. Modello Relazionale. Relazioni - Prodotto Cartesiano. Relazione: tre accezioni. Es. Dati gli insiemi

Esame dell 8 settembre 2012

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

Basi di dati. Esercizi sul modello E.R.

Corso di Sistemi di Elaborazione delle Informazioni I Anno 2005/2006. Esercizi entità relazione risolti. a cura di Angela Campagnaro

GERARCHIA IS-A (è un) GENERALIZZAZIONI / SPECIALIZZAZIONI ESEMPIO 1

Grafi pesati e relazioni n-arie: un approccio generale all organizzazione automatica di. Marco Giunti Università di Cagliari giunti@unica.

Una metodologia per la specifica di software basato su componenti

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

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

Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.

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

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

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

Progettazione di un DB....in breve

MODELLO E/R. Modellazione dei dati

BASI DI DATI - : I modelli di database

DB - Modello relazionale dei dati. DB - Modello Relazionale 1

Database. Si ringrazia Marco Bertini per le slides

Progettazione del Software A.A.2008/09

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

Identificatori delle entità

Obiettivi dell esercitazione. Requisiti (cont.) Requisiti. Università di Roma La Sapienza A.A Facoltà di Ingegneria Sede di Latina

database: modello entityrelationship

Claudia Raibulet

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

I database. Cosa sono e a cosa servono i Database

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Introduzione al data base

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Architetture software

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

2.2b: RELAZIONI E BASI DI DATI. Atzeni, cap

Basi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale

UML Unified Modeling Language

Sistema Informativo Geografico:

Il Modello Relazionale

Soluzione dell esercizio del 2 Febbraio 2004

Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro

PROCESSO DI INDICIZZAZIONE SEMANTICA

Capitolo 2. Operazione di limite

Analisi e progettazione del software

Cardinalità e identificatori. Informatica. Generalizzazioni. Generalizzazioni. Generalizzazioni. Generalizzazioni

Analisi e progettazione del software

PROGETTAZIONE CONCETTUALE

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

Unità C1 Modello logico

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

LABORATORIO di INFORMATICA

Esercitazione di Basi di Dati

Capitolo 13. Interrogare una base di dati

Esercitazione di Basi di Dati

1. PRIME PROPRIETÀ 2

ARCHIVI E DATABASE (prof. Ivaldi Giuliano)

I Sistemi Informativi

La riforma del servizio di distribuzione del

Rappresentazione grafica di entità e attributi

Modello Relazionale dei DBMS - Vincoli Tradizionalmente, esistono quattro modelli logici: Gerarchico Reticolare Relazionale A oggetti XML I modelli

Corrispondenze e funzioni

Generazione Automatica di Asserzioni da Modelli di Specifica

La Social Network Analysis applicata alla ricerca semantica

Calcolo delle probabilità

Introduzione all Information Retrieval

BASI DATI BIOINGEGNERIA ED INFORMATICA MEDICA. Lezione II - BioIngInfMed

Ascrizioni di credenza

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Transcript:

Luca Cabibbo A P S Analisi e Progettazione del Software Dalla progettazione concettuale alla modellazione di dominio Capitolo 91 marzo 2015 Se qualcuno vi avvicinasse in un vicolo buio dicendo psst, vuoi vedere un diagramma UML?. ci sono buone probabilità che sia un diagramma delle classi. 1 Martin Fowler A P S Introduzione Lo studente dovrebbe essere familiare con le nozioni relative alla progettazione concettuale di basi di dati, parte della progettazione di basi di dati, studiate nel corso di Basi di dati I queste nozioni sono simili (attenzione, non uguali) a quelle della modellazione di dominio, parte dell analisi orientata agli oggetti qui vogliamo allora comprendere (almeno in parte) questa similitudine, in termini di analogie e differenze 2

A P S Progettazione concettuale La progettazione concettuale di basi di dati ha lo scopo di rappresentare le specifiche informali della realtà di interesse in termini di una descrizione (dell organizzazione dei dati) formale e completa ma indipendente dai criteri di rappresentazione utilizzati nei sistemi di gestione di basi di dati In effetti, è un attività di analisi e non un attività di progettazione è interessata al che cosa e non al come sarebbe pertanto più corretto chiamarla analisi concettuale in particolare, è interessata alla modellazione delle informazioni della realtà di interesse 3 A P S Modellazione di dominio Nell analisi orientata agli oggetti, la modellazione di dominio ha lo scopo di descrivere le informazioni della realtà di interesse secondo una rappresentazione concettuale e a oggetti in questo contesto, la realtà di interesse viene chiamata dominio del problema dunque, progettazione concettuale e modellazione di dominio hanno scopi simili vedremo anche che sono attività svolte con strumenti simili e metodi simili Osservazione la modellazione di dominio è un modo particolare di fare analisi orientata agli oggetti ci sono anche altri modi di fare analisi ma non tutti sono interessati alle informazioni della realtà di interesse 4

A P S Un po di terminologia Nelle basi di dati i diagrammi si chiamano schemi i formalismi per esprimere schemi si chiamano modelli ad es., il modello Nell ingegneria del software i diagrammi si chiamano modelli i formalismi per esprimere modelli si chiamano linguaggi ad es., il linguaggio UML Il risultato della progettazione concettuale è uno schema concettuale espresso mediante un diagramma di un modello concettuale () Il risultato della modellazione di dominio è un modello di dominio espresso mediante un diagramma delle classi di UML usato dal punto di vista concettuale 5 A P S Entità e classi concettuali un entità rappresenta una classe di oggetti che hanno proprietà comuni una classe concettuale rappresenta un insieme di cose o concetti con caratteristiche simili le relative istanze sono chiamate istanze o occorrenze le relative istanze sono chiamate istanze o oggetti 6

A P S Attributi un attributo descrive una proprietà elementare di un entità o di una relazione un attributo rappresenta una proprietà elementare degli oggetti di una classe matricola cog matricola cog 7 A P S Relazioni e associazioni una relazione rappresenta un legame logico tra due o più entità un associazione rappresenta una relazione (una connessione significativa) tra classi frequenza Corso Corso le istanze di un associazione si chiamano collegamenti 8

A P S Relazioni e associazioni le relazioni possono essere binarie o anche N-arie le associazioni sono in genere binarie le N-arie sono possibili, ma poco comuni le relazioni possono avere attributi è possibile rappresentare associazioni con attributi, ma è poco comune il è generalmente un sostantivo che indica una relazione il è generalmente un verbo che indica una relazione 9 A P S Identificatori per ciascuna entità va indicato (almeno) un identificatore è possibile associare identificatori alle classi, ma è poco comune matricola cog matricola cog 10

A P S Cardinalità e molteplicità una cardinalità caratterizza la partecipazione (minima e massima) di un entità a una relazione una molteplicità indica quante istanze di una classe possono essere associate a un istanza dell altra classe (1,1) nascita (0,N) Città * 1 Città Nato a 11 A P S Cardinalità e molteplicità (A,B) A..B (A,A) A (0,N) * (1,N) 1..* Attenzione, le posizioni sono invertite rispetto a quanto studiato nel corso di basi di dati! (Ma ci sono alcuni dialetti del modello che adottano la posizione del linguaggio UML.)

A P S Generalizzazioni La nozione di generalizzazione è presente sia nel modello che in UML la semantica delle generalizzazioni nei due formalismi è però un po differente in ogni caso, per ora non le prendiamo in considerazione 13 A P S Altre differenze (significative) per rappresentare solo informazioni che devono essere gestite in modo persistente un entità rappresenta sia una classe di istanze che il relativo insieme in genere nessuna entità ha una sola istanza le entità hanno in genere almeno un attributo le entità rappresentano informazioni per rappresentare tutte le informazioni che devono essere gestite da un applicazione una classe rappresenta una classe di oggetti ma non il relativo insieme può essere ok avere classi che hanno un solo oggetto può essere ok avere classi senza attributi con cautela può essere ok avere classi che rappresentano solo comportamento con cautela

A P S Dalla PCBD alla MD Alcune idee importanti della modellazione di dominio corrispondono (con alcune varianti) a quelle della progettazione concettuale di basi di dati bisogna rappresentare le informazioni del dominio del problema senza preoccuparsi dell implementazione di queste informazioni bisogna concentrarsi solo su ciò che è rilevante ai fini della descrizione del dominio del problema le classi concettuali rappresentano classi di oggetti o fatti che hanno proprietà comuni ed esistenza autonoma le associazioni rappresentano legami logici significativi tra due classi concettuali gli attributi descrivono le proprietà elementari delle classi concettuali 15 A P S Dalla PCBD alla MD Criteri generali di rappresentazione se un concetto ha proprietà significative e/o descrive una classe (insieme) di oggetti con esistenza autonoma, è opportuno rappresentarlo come una classe concettuale se un concetto ha una struttura semplice e pensiamo ad esso come ad un valore, è opportuno rappresentarlo come un attributo, associato alla classe concettuale a cui si riferisce se sono state individuate due classi concettuali e c è un concetto che le associa, questo concetto può essere rappresentato come un associazione Strategie top down, bottom up, inside-out (a macchia d olio), mista 16

A P S Esempio di modello di dominio (parziale) matricola cog * Nato a 1 Città popolazione * codice cfu * Corso 17 A P S Oggetti di dominio Un diagramma degli oggetti di dominio rappresenta, in modo visuale, un insieme di oggetti di esempio del mondo reale nel contesto del dominio del problema un grafo di oggetti ciascun nodo rappresenta un oggetto etichettato con il di una classe ciascun oggetto è decorato con valori per gli attributi della classe ciascun arco rappresenta un collegamento etichettato con il di un associazione (tra quelle che collegano le classi dei due oggetti) 18

A P S Oggetti di dominio Oggetti di dominio per rappresentare uno studente Mario Rossi, nato a Roma, che frequenta i corsi di SIW e APS mario: siw:corso roma:città Nato a matricola=12345 = Mario cog= Rossi codice=80784 = Sistemi... cfu=6 = Roma popolazione=2753k aps:corso codice=80881 = Analisi... cfu=6 19 A P S Oggetti di dominio Oggetti di dominio per rappresentare uno studente Mario Rossi, nato a Roma, frequenta SIW e APS una studentessa Eva Verdi, nata a Roma, frequenta APS mario: siw:corso roma:città Nato a matricola=12345 = Mario cog= Rossi codice=80784 = Sistemi... cfu=6 = Roma popolazione=2753k Nato a eva: matricola=54321 = Eva cog= Verdi aps:corso codice=80881 = Analisi... cfu=6 20