Claudia Raibulet raibulet@disco.unimib.it



Похожие документы
Informatica (Basi di Dati)

Progettazione orientata agli oggetti Introduzione a UML

Esercizio data base "Biblioteca"

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

Progettazione orientata agli oggetti

Esercitazione su UML Ingegneria del Software - San Pietro

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

UML Unified Modeling Language

Dalla progettazione concettuale alla modellazione di dominio

Basi di dati 9 febbraio 2010 Compito A

Esercizio sui data base "Gestione conti correnti"

Traccia di soluzione dell esercizio del 25/1/2005

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

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Organizzazione degli archivi

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

Corso di Informatica

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Alessandra Raffaetà. Basi di Dati

MODELLO E/R. Modellazione dei dati

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

CREAZIONE DI UN AZIENDA

Luigi Piroddi

Rappresentazione grafica di entità e attributi

Basi di dati 30 settembre 2010 Compito A

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

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

Basi di dati. Esercizi sul modello E.R.

Soluzione dell esercizio del 2 Febbraio 2004

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

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

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

Corrispondenze e funzioni

Database 1 biblioteca universitaria. Testo del quesito

Modellazione dei dati in UML

4 3 4 = 4 x x x 10 0 aaa

Guida all uso di Java Diagrammi ER

Nuova procedura di Cassa Contanti Wingesfar: istruzioni per le farmacie Novembre 2009

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

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

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

Associazioni. Informatica. Associazioni. Associazioni. Associazioni. Attributi. Possono esistere associazioni diverse che coinvolgono le stesse entità

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

Esercitazione di Basi di Dati

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

Lezione 4. Modello EER

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

ORGANIZZAZIONE PRODOTTI

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

2 - Modifica Annulla ANNULLA TOPOGRAFICO ANNULLA TOPOGRAFICO MULTIPLO FIGURA 2.1

CitySoftware PROTOCOLLO. Info-Mark srl

SCRUTINIO ON LINE 2 PERIODO

Soluzione dell esercizio del 12 Febbraio 2004

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

Ingegneria del Software: UML Class Diagram

Sistema Informativo Gestione Fidelizzazione Clienti MANUALE D USO

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

Manuale Terminal Manager 2.0

Tutorial: mappa dei punti di ricarica per i veicoli elettrici

La Metodologia adottata nel Corso

Mon Ami 3000 Multimagazzino Gestione di più magazzini fisici e/o logici

PROGETTAZIONE CONCETTUALE

SISTEMI DI NUMERAZIONE E CODICI

Istruzioni per la configurazione di IziOzi

Strumenti di modellazione. Gabriella Trucco

Bilanci CEE e Personalizzati su METODO

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

Testo Esercizio Sommario Note relative alla modellazione UML. Note relative al testo dell esercizio.

Basi di dati. L Algebra Relazionale. K. Donno - L Algebra Relazionale

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

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

UML Diagrammi delle classi. UML Diagramma classi 1

Introduzione all Algebra Relazionale

Il principio di induzione e i numeri naturali.

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e

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

2 - Modifica Annulla Selezione finestra. S.C.S. - survey CAD system FIGURA 2.1

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

Operazioni sui database

Progetto PI , passo A.2 versione del 6 febbraio 2007

Esercizio 1: trading on-line

Potenzialità statistiche Excel

Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono:

ALGEBRA DELLE PROPOSIZIONI

Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi

Manuale d Uso del sistema di Protocollo. Autorità Portuale di Livorno

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

Compito DA e BD. Tempo concesso: 90 minuti 12 giugno 03 Nome: Cognome: Matricola: Esercizio 1

Strutturazione logica dei dati: i file

Programma Gestione Presenze Manuale autorizzatore. Versione /08/2010. Area Sistemi Informatici - Università di Pisa

CONTROLLO DI GESTIONE DELLO STUDIO

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

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

Metodi e Modelli Matematici di Probabilità per la Gestione

Транскрипт:

Classi e stati Claudia Raibulet raibulet@disco.unimib.it la classe Cane modella le proprietà comuni di un insieme di oggetti quali attributi ha un cane peso colore come si comporta abbaia morde quali comandi può ricevere chiama non è necessario descrivere separatamente Fido e Pluto, sono classificati come cani Classi e oggetti sappiamo già che Fido, in quanto cane, abbaia, morde e può essere chiamato personalizzare gli attributi: l oggetto di Fido è un cane nero il cui peso è 17 kg oggetti un oggetto con un insieme di proprietà Fido 17 kg nero abbaia morde chiama un altro oggetto con un insieme di proprietà Pluto 12 kg bianco abbaia morde chiama Fido è un esemplare di cane Pluto è un esemplare di cane Astrazione instance-of :

Relazioni fra classi e oggetti Classificazione ( instance_of ) lega istanze e classi ogni oggetto della classe possiede le proprietà definite dalla classe Generalizzazione ( is_a ) lega una classe genitore (superclasse) a due o piu classi figlie (sottoclassi) che ne sono un sottoinsieme Aggregazione ( part_of ) lega una classe Aggregato con un insieme di classi Parti ogni oggetto di Aggregato è costituito da oggetti delle classi Parti caso particolare di Associazione Associazione lega fra loro una o più classi ogni oggetto di una delle classi può essere associato a oggetti delle altre classi Classi in UML della classe attributi operazioni Cane peso colore abbaia() morde() chiama()

Associazioni in UML cardinalità dell associazione Persona datanascita codfiscale...() Cane peso 0..1 possiede 0..* colore +padrone +cane abbaia() morde() chiama() ruolo Proprietà delle associazioni Nome: esprime il significato dell associazione spesso è un verbo opzionale (ma consigliato ) Ruolo: esprime il ruolo giocato dal partner spesso è un sostantivo o un aggettivo opzionale (ma consigliato ) Cardinalità: esprime quante istanze della classe possono essere associate all altra classe 1 - esattamente una n - esattamente n 0..* - zero o più 1..* - una o più 0..1 - zero o una eccetera

Esempio di cardinalita 1 a 1 ogni Cane è posseduto da 1 Persona ogni Persona possiede 1 Cane Persona 1 possiede 1 Cane Esempio di cardinalita 0 a * ogni Cane è posseduto da 1 Persona ogni Persona possiede un numero qualsiasi di Cani (anche 0) Persona 1 possiede 0..* Cane

Esempio di cardinalita 0 a 1 e 0 a * ogni Cane è posseduto da 0 o 1 Persona ogni Persona possiede un numero qualsiasi di Cani (anche 0) Persona 0..1 0..* possiede Cane Esercizio 1 Si chiede di modellare le partenze e gli arrivi nelle stazioni feroviare tramite un diagramma UML. Ogni stazione e descritta da un Ogni partenza e descritta dall orario di partenza, da un eventuale ritardo relativo alla partenza e la sua destinazione Ogni arrivo e descritto dall orario di arrivo e da un eventuale ritardo di arrivo Per ogni partenza e arrivo si specifica anche il binario caratterizzato da un numero univoco Una stazione puo avere da 3 a 30 binari

Esercizio 1 - Soluzione Partenza orario ritardo destinazione 1..* Stazione 1..* 1 1 1..* Arrivo orario ritardo provenienza 0..* 1 3..30 Binario 1 1 numero 0..* Esercizio 2 Si chidede di modellare la struttura di un edificio tramite un diagramma UML Un edificio ha almeno un piano, ma non piu di 50 Un piano ha vari appartamenti di varie metratture Un appartamento e caratterizzato dalla sua superficie e puo avere da una a cinque stanze Una stanza puo comunicare o meno con altre stanze dell appartamento

Esercizio 2 - Soluzione Edificio 1 Piano 1..50 Appartamento Stanza 1 1..6 1 1..5 0..4 0..4 comunica Diagrammi di stato Diagrammi statechart Claudia Raibulet raibulet@disco.unimib.it

Modellazione con statechart Un modello statechart è un estensione dei modelli basati su automi a stati finiti. Gli statechart descrivono le modifiche dinamiche degli stati di una classe (evoluzione degli oggetti della classe). Descrivono il comportamento di un qualunque oggetto della classe. Stati e transizioni Stati e transizioni Lo stato di un oggetto = l insieme dei valori attuali dei suoi attributi. L identità di un oggetto non muta mai. Un oggetto cambia lo stato tramite una transizione di stato. Soltanto i cambiamenti significativi provocano una transizione di stato: Una persona diventa ricca se il suo conto in banca supera 1 milione di euro. Altrimenti, anche se il suo conto corrente cambia, resta una persona non-ricca.

Diagrammi statechart Mostrano come gli oggetti di una classe reagiscono a determinati eventi, cioè quale azione fa un oggetto all accadere di un certo evento. L azione dell oggetto dipende dallo stato in cui esso si trova e determina di solito una modifica dello stato. Transizioni evento [parametri] [guardia] / [azione] Un evento è il verificarsi, in un certo momento, di un fatto che interessa qualsiasi oggetto della classe. Un evento può avere dei parametri. Innesca la transizione. Guardia l evento può essere condizionato da una guardia (condizione); solo quando la condizione è vera l azione viene eseguita. L azione/attivita è una breve computazione eseguita quando la transizione scatta. Uno stato può contenere computazioni complesse, cioè delle attività. Osservazione: gli elementi delle transizioni sono tutti opzionali transizioni automatiche (senza trigger) transizioni non condizionate (senza guardia) transizioni senza attività

Esempio: stati di un cane evento attività transizione accarezza / scodinzola guardia accarezza / abbaia Normale [stomaco vuoto] / abbaia Affamato / scodinzola cibo servito stato iniziale stato PastoInCorso [deperimento] accarezza / morde stato finale Esercizio 3 Si chiede di modellare i clienti di una banca con i loro conti correnti. Ogni banca ha un e un indirizzo e ha un minimo di 1000 conti correnti. Un cliente e descritto dal suo, cog, codice fiscale e data di nascita. Un cliente puo avere soltanto un conto corrente nella banca. Per ogni conto corrente si specifica il saldo. Esistono conti correnti speciali per cui sono disponibili soltanto un numero limitato di operazioni (per esempio 100 operazioni all anno). Le operazioni che puo fare un cliente sono relative ad un prelievo o un versamento oppure ad un interrogazione del saldo disponibile. Per ogni operazione effettuata da un cliente il suo conto deve essere aggiornato. La banca ha il diritto di aprire e chiudere conti correnti. Si chiede il diagramma delle classi.

Esercizio 3 - Soluzione Banca indirizzo apricc() chiudicc() ContoCorrente saldo 1 1000..* 1 1 aggiornasaldo() Cliente cog datadinascita codicefiscale preleva() versa() richiedisaldo() ContoCorrenteSpeciale numerooperazioni Esercizio 4 Quando un cliente apre un conto corrente puo scegliere di effettuare un versamento oppure di lasciare il conto vuoto. Se il cliente effettua un versamento allora il conto e in un stato normale con saldo maggiore di zero, altrimenti e in uno stato vuoto con saldo uguale a zero. Se il cliente preleva una somma maggiore del saldo allora il conto resta in rosso. Se il cliente lascia il conto in rosso piu di 30 giorni allora il conto viene bloccato. Per sbloccare il conto il cliente deve fare un versamento. Si chiede il diagramma di stato per la classe ContoCorrente.

Esercizio 4 - Soluzione effettua versamento[ somma > 0 ] / versa apri nuovo conto / apricc chiudi conto / chiudicc Vuoto effettua versamento[ somma > 0 ] / versa effettua prelevamento[ somma = saldo ] / preleva Normale effettua prelevamento[ saldo-somma > 0 ] / preleva effettua versamento[ saldo+somma > 0 ] / versa effettua versamento[ saldo+somma > 0 ] / versa effettua prelevamento[ saldo -somma < 0 ] / preleva Bloccato [ piu' di 30 giorni ] InRosso