Programmazione con Java

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Programmazione con Java"

Transcript

1 Programmazione con Java Astrazioni e UML Astrazioni Nella vita reale siamo abituati a osservare e descrivere oggetti a vari livelli di dettaglio Dai da mangiare a Fido Porta a passeggio il cane Di quale razza è quel cane? Bisogna amare gli animali Fido, cane, razza e animale sono denotazioni di oggetti a diverso livello di astrazione Astrazioni e UML 2

2 Classi e istanze Un oggetto con un insieme di proprietà Fido 7 kg nero abbaia morde chiama Un altro oggetto con un insieme di proprietà Pluto 36 kg bianco abbaia morde chiama Fido è un esemplare di cane Pluto è un esemplare di cane Astrazione instance of L oggetto modella le proprietà comuni di un insieme di oggetti quali attributi ha un cane come si comporta abbaia morde quali comandi può ricevere chiama Non è necessario descrivere separatamente Fido e Pluto: sono classificati come cani è quindi una classe 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 è 7 kg Astrazioni e UML 3 Classificazione e istanziazione Che legame esiste tra la classe e le sue istanze? Intuitivamente, è un concetto più astratto di Fido e Pluto Il legame è nei due sensi Classificazione: capire che Fido è un cane Definire la rappresentazione di un Istanziazione: creare istanze ( esemplari ) di Esempio: Fido, sapendo che è un cane, e specificando i dettagli (, ) Fido Pluto Astrazioni e UML 4 2

3 Astrazioni Il legame concettuale che esiste tra una classe e le sue istanze e un particolare esempio di astrazione Una astrazione è un procedimento concettuale per mezzo del quale Si definisce un concetto più generale (e in tal senso più astratto) a partire da concetti più elementari (e in tal senso più concreti) Rimuovendo dalla descrizione del concetto gli aspetti di dettaglio e particolari Mettendo in evidenza gli aspetti comuni e generali Astrazioni strutturali: modellano oggetti e relazioni fra oggetti Astrazioni e UML 5 Astrazioni di struttura Classificazione ( instance_of ) Lega istanze e classi La classe definisce le caratteristiche comuni degli oggetti di un insieme Ogni oggetto della classe possiede le proprietà definite dalla classe Esempio: Fido è un (esemplare di) Astrazioni e UML 6 3

4 Astrazioni di struttura 2 Generalizzazione ( is_a ) Lega una classe genitore (superclasse) a una o più classi figlie (sottoclassi) che ne sono sottoinsieme Ogni oggetto della sottoclasse appartiene anche alla superclasse Esempi I cani sono mammiferi La classe è una sottoclasse della classe Mammifero Gli oggetti di una classe appartengono anche a una classe più ampia Fido è un, quindi è anche un Mammifero Ogni esemplare di è anche un esemplare di Mammifero Ogni esemplare di possiede tutte le proprietà definite dalla classe e anche tutte le proprietà definite dalla classe Mammifero Astrazioni e UML 7 Astrazioni di struttura 3 Classificazione e Generalizzazione Attenzione: nel linguaggio comune, si usa è un in entrambi i sensi. Non confondere! Fido è un Fido è un oggetto concreto Un è un Mammifero un non è un oggetto concreto!!! Distinguere: Fido è un esemplare (instance_of) di è una sottoclasse (is_a) di Mammifero Astrazioni e UML 8 4

5 Astrazioni di struttura 4 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 Esempi: Un automobile comprende motore, carrozzeria, ruote Attenzione: non confondere aggregazione e generalizzazione! Un è un Mammifero (is_a) Un fa parte di un Branco (part_of) Un non è un Branco! Astrazioni e UML 9 Astrazioni di struttura 5 Associazione ( has_a ) Definisce una connessione logica fra oggetti di una classe e oggetti di un altra classe Esempi Classi:, Associazione: una è padrona di un Cani: Fido, Pluto Persone: Mario, Pino Mario è padrone di Fido Pino è padrone di Pluto Attenzione a non confondere Mario è padrone di Fido Fido non è parte di Mario Un non è una Astrazioni e UML 0 5

6 Formalismi di rappresentazione ER (Entity Relationships) entità relazioni nato nell area Basi Dati UML (Unified Modeling Language) classi proprietà relazioni comportamenti nato nell area Programmazione Esprimono concetti analoghi almeno per quanto riguarda le astrazioni di struttura usiamo UML Astrazioni e UML UML: diagramma delle classi Identificazione delle classi e delle relazioni fra le stesse: attività fondamentale in fase di analisi e di progetto Nome della classe Attributi Operazioni Astrazioni e UML 2 6

7 UML: diagramma degli oggetti Identificazione gli oggetti del sistema e dei loro stati durante la loro vita Nome oggetto Attributi specifici Fido : = nero = Fido = 0 Pluto : = marrone = Pluto = 5 Astrazioni e UML 3 Associazioni associazione possiede Un associazione è una linea che collega le classi coinvolte Astrazioni e UML 4 7

8 Associazioni possiede Nome: esprime il significato dell associazione Spesso è un verbo Opzionale (ma fortemente consigliato ) Astrazioni e UML 5 Associazioni ruolo ruoli cane possiede padrone Ruolo: esprime il ruolo giocato dal partner Spesso è un sostantivo o un aggettivo Opzionale (ma fortemente consigliato ) Astrazioni e UML 6 8

9 Associazioni cardinalità cane 0..* possiede cardinalità padrone 0.. Cardinalità: esprime quante istanze della classe possono essere associate all altra classe Molto importante Astrazioni e UML 7 Associazioni cardinalità Esempi di cardinalità Classe molti * Classe da a molti..* Classe da a 5..5 Classe esattamente 9 9 Classe nessuno o 0.. Classe o, o 4, o 6,4,6 Astrazioni e UML 8 9

10 Esempi cane 0..* possiede padrone 0.. luca : marco : mario : pippo : È corretto? piero : pluto : paperino : Astrazioni e UML 9 Esempi cane 0..* possiede padrone 0.. luca : marco : X mario : pippo : È corretto? piero : pluto : paperino : Astrazioni e UML 20 0

11 Esempi cane possiede padrone luca : marco : mario : pippo : È corretto? piero : pluto : paperino : Astrazioni e UML 2 Esempi cane possiede padrone X luca : marco : X mario : pippo : È corretto? piero : X pluto : paperino : Astrazioni e UML 22

12 Associazioni multiple Volo numero voliinpartenza * voliinarrivo parte atterra partenza arrivo si gl a Aeroporto * Associazione multipla: esplicita più associazioni tra una coppia di classe per arricchirne la descrizione se non la potessi usare, il diagramma sarebbe meno leggibile Astrazioni e UML 23 Associazioni a cappio ogni ha un numero qualsiasi di figli (che sono Persone) figlio 0..* madre ogni ha una madre (che è una ) Che problema ci vedete in questo diagramma? Astrazioni e UML 24 2

13 Associazioni Navigabilità Frigorifero contiene cibo Cibo capacità marca * descrizione qta Navigabilità: esplicita chi vede cosa Come si vedrà, determina la modalità con cui viene realizzata l associazione Astrazioni e UML 25 Aggregazione lavoratore..* Azienda Relazione parte di Astrazioni e UML 26 3

14 Composizione Carrozzeria Auto Ruota 4 Motore È una relazione più forte L oggetto parte appartiene ad un solo tutto e le parti hanno lo stesso ciclo di vita dell insieme All atto della distruzione dell oggetto principale si ha la propagazione della distruzione agli oggetti parte Astrazioni e UML 27 Altri esempi Club * * Aggregazione Poligono 3..* Punto Composizione Astrazioni e UML 28 4

15 Generalizzazione Animale Leone Gatto Pesce Astrazioni e UML 29 Esercizio: classificazione, associazione e aggregazione testo Uno studente è caratterizzato dall avere una matricola, un e un cog. Possiede inoltre un libretto che contiene gli esami da lui sostenuti con data e voto i quali sono relativi a insegnamenti. Un insegnamento è caratterizzato da una denominazione, un codice identificativo e da un numero di CFU Astrazioni e UML 30 5

16 Esercizio: classificazione, associazione e aggregazione soluzione Studente cog matricola Libretto 0..* voto data Esame Insegnamento denominazione CFU codice Astrazioni e UML 3 Esercizio: classificazione, associazione, aggregazione e generalizzazione testo Uno studente è identificato da una matricola, un e un cog. Ha un libretto universitario in cui sono riportati gli esami con data e voto i quali si riferiscono ad insegnamenti che sono caratterizzati da una. Un insegnamento è caratterizzato da una denominazione, un codice identificativo e da un numero di CFU Studente laureando è uno studente che sta svolgendo una tesi di laurea su un certo argomento e il cui relatore e correlatore sono docenti universitari Astrazioni e UML 32 6

17 Esercizio: classificazione, associazione, aggregazione e generalizzazione soluzione Studente Libretto Esame Insegnamento + matricola 0..* + voto + data + denominazione + CFU + codice +relatore Laureando Tesi Docente +correlatore Astrazioni e UML 33 Esercizi Un libro è composto da un certo numero di pagine. Ogni pagina ha del testo e delle immagini. Un libro ha un titolo ed è scritto da uno o più autori. Ogni libro è riposto in uno scaffale di una libreria. Ogni scaffale è numerato. Un azienda ha una denominazione. È caratterizzata dall avere un numero di dipendenti superiore ai 5. Ogni dipendente ha associata una matricola. I dipendenti possono essere operai, dirigenti e impiegati. Ogni dipendente ha uno stipendio e un. I dirigenti hanno un auto aziendale. Astrazioni e UML 34 7

Modello Entità-Relazione

Modello Entità-Relazione Modello Entità-Relazione Modelli concettuali, perché? servono per ragionare sulla realtà di interesse, indipendentemente dagli aspetti realizzativi permettono di rappresentare le classi di dati di interesse

Dettagli

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1

IL MODELLO ENTITY RELATIONSHIP. il modello ER 1 IL MODELLO ENTITY RELATIONSHIP il modello ER 1 CONOSCENZA CONCRETA costrutti fondamentali PROPRIETÀ o ATTRIBUTI: fatti che descrivono le caratteristiche delle istanze di entità e le caratteristiche delle

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione ModelloEntity-Relationship. E-R E il modello concettuale più diffuso Fornisce costrutti per descrivere le

Dettagli

Il modello Entità/Relazioni (ER)

Il modello Entità/Relazioni (ER) Il modello Entità/Relazioni (ER) Basi di dati 1 Il modello Entità/Relazioni (ER) Angelo Montanari Dipartimento di Matematica e Informatica Università di Udine Il modello Entità/Relazioni (ER) Basi di dati

Dettagli

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

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

Dettagli

Elena Baralis, Claudio Demartini

Elena Baralis, Claudio Demartini Progetto concettuale Il progetto concettuale 1 Obiettivo: produrre lo schema concettuale Strumenti: meccanismi di astrazione forniti dal modello Entità-Relazione Specifiche iniziali: descrizioni in linguaggio

Dettagli

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione

Gerarchia di Generalizzazione. Esempio. Rappresentazione grafica. Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Gerarchia di Generalizzazione 22 Cap. 4 - Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Concetti Definizioni Esempi Mette in relazione (legami logici) una o più entità, E 2,...,

Dettagli

I database. Introduzione alla teoria delle basi di dati

I database. Introduzione alla teoria delle basi di dati I database Introduzione alla teoria delle basi di dati 1 Cosa sono e a cosa servono i Database Un database (o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di un database

Dettagli

Basi di dati. Progettazione di basi di dati: Metodologie e modelli

Basi di dati. Progettazione di basi di dati: Metodologie e modelli Basi di dati Progettazione di basi di dati: Metodologie e modelli Perché preoccuparci? Proviamo a modellare una applicazione definendo direttamente lo schema logico della base di dati: da dove cominciamo?

Dettagli

Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++

Classi. Oggetti e classi. Creazione e inizializzazione di oggetti in C++ Distruzione di oggetti in C++ Informatica 3 Informatica 3 LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1) Modulo 1: Introduzione: oggetti e classi Modulo 2: Link e associazioni Modulo 3: Aggregazione Lezione 7 -

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 29 Aprile 2004 Da Access a Protégé Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035

Dettagli

Il modello Entity-Relationship: elementi avanzati

Il modello Entity-Relationship: elementi avanzati Il modello Entity-Relationship: elementi avanzati Sistemi Informativi T Versione elettronica: 06.2.ER.avanzato.pdf Identificatori esterni Oltre a poter identificare un entità E mediante uno o più attributi

Dettagli

PROGETTAZIONE CONCETTUALE

PROGETTAZIONE CONCETTUALE Fasi della progettazione di basi di dati PROGETTAZIONE CONCETTUALE Parte V Progettazione concettuale Input: specifiche utente Output: schema concettuale (astrazione della realtà) PROGETTAZIONE LOGICA Input:

Dettagli

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione

Basi di Dati. Il Modello Entità-Relazione. Il Modello Entità-Relazione Basi di Dati Perché i modelli concettuali? Tranne casi banali, passare direttamente dai requisiti allo schema logico della base di dati presenta diverse difficoltà. Da dove si parte? Si rischia di perdersi

Dettagli

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia

MODELLI DEI DATI. Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno : Modelli dei Dati MODELLI DEI DATI Prof. Alberto Postiglione

Dettagli

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica

Progettazione logica relazionale (1/2) Progettazione logica. Progettazione logica relazionale (2/2) Introduzione. Progettazione logica Progettazione logica Progettazione logica relazionale (1/2) Introduzione Ristrutturazione dello schema ER Eliminazione delle gerarchie Partizionamento di concetti Eliminazione degli attributi multivalore

Dettagli

Introduzione alla OOP Object Oriented Programming

Introduzione alla OOP Object Oriented Programming Introduzione alla OOP Object Oriented Programming Programmazione Orientata agli Oggetti I livelli dei linguaggi livelli di tensione porte logiche codice binario linguaggio assembler linguaggi procedurali

Dettagli

I livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria

I livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria Introduzione alla OOP Object Oriented Programming Programmazione Orientata agli Oggetti I livelli dei linguaggi livelli di tensione porte logiche codice binario linguaggio assembler linguaggi procedurali

Dettagli

Traduzione ER - relazionale

Traduzione ER - relazionale Traduzione ER - relazionale 1 Introduzione Algoritmo applicato ad uno schema ER ristrutturato:!! I. Traduzione delle entità (non deboli)! II. Traduzione delle associazioni 2 I.Traduzione delle entità (1)

Dettagli

Ciclo di vita di un sistema informativo

Ciclo di vita di un sistema informativo Ciclo di vita di un sistema informativo 1) Studio di fattibilità definire, in maniera per quanto possibile precisa, i costi delle varie alternative possibili stabilire le priorità di realizzazione delle

Dettagli

Esercizio 1: un semplice schema concettuale. Descrivere lo schema concettuale della seguente realtà:

Esercizio 1: un semplice schema concettuale. Descrivere lo schema concettuale della seguente realtà: Esercizio 1: un semplice schema concettuale Descrivere lo schema concettuale della seguente realtà: Esercitazione 1 - Il modello Entita Relazione Università degli Studi di Milano-Bicocca Corso di Elementi

Dettagli

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring TITLE Laboratorio di Sistemi Software UML per Design Patterns e Refactoring Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi Class Diagram Object

Dettagli

Claudia Raibulet raibulet@disco.unimib.it

Claudia Raibulet raibulet@disco.unimib.it 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

Dettagli

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 22 Introduzione ai database Prima dei DBMS, le organizzazioni utilizzavano semplici file per

Dettagli

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring TITLE Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di

Dettagli

Progettazione del Software

Progettazione del Software L4.3 Progettazione del Software Emiliano Casalicchio Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti http://www.ce.uniroma2.it/courses/psw! Abbiamo introdotto il concetto

Dettagli

Fase di Analisi Class Diagram. Esercizi

Fase di Analisi Class Diagram. Esercizi Fase di Analisi Class Diagram Esercizi Nota Iniziale Esercizi 1 e 2 : possono essere svolti dopo l introduzione del concetto di attributo nelle associazioni nei class diagram Esercizi 3, 4, 5 e 6: possono

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati IL MODELLO E-R Modellazione concettuale e progettazione della Base di Dati 2 Progettazione di basi di dati È una delle attività del processo di sviluppo dei sistemi informativi va quindi inquadrata in

Dettagli

Basi di Dati e Sistemi Informativi su Web

Basi di Dati e Sistemi Informativi su Web Basi di Dati e Sistemi Informativi su Web Corso di Laurea Specialistica in Ingegneria Informatica Massimo Ruffolo E-mail: ruffolo@icar.cnr.it Web: http://www.icar.cnr.it/ruffolo Istituto di CAlcolo e Reti

Dettagli

Analisi e progettazione ad oggetti

Analisi e progettazione ad oggetti Analisi e progettazione ad oggetti Richiami di Analisi e progettazione ad oggetti L idea di base della analisi ad oggetti è di partire da una descrizione del problema in termini di entità e relazioni tra

Dettagli

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

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

Dettagli

I modelli logici dei dati

I modelli logici dei dati I modelli logici dei dati I modelli logici tradizionali sono tre: gerarchico reticolare relazionale I modelli gerarchio e reticolare sono più vicini alle strutture fisiche di memorizzazione. Quello relazionale

Dettagli

Raccolta e analisi dei requisiti

Raccolta e analisi dei requisiti Raccolta e analisi dei requisiti Definizione di requisito: asserzione riguardante un servizio del sistema o un vincolo Un asserzione di servizio descrive il modo in cui il sistema deve reagire alle richieste

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Gestione della Conoscenza

Gestione della Conoscenza Gestione della Conoscenza Corso di Laurea Specialistica in Informatica Massimo Ruffolo E-mail: ruffolo@icar.cnr.it Web: http://www.icar.cnr.it/ruffolo Istituto di CAlcolo e Reti ad alte prestazioni del

Dettagli

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi

Le basi di dati. Le basi di dati. dalla teoria all'utilizzo di tutti i giorni. Alessandro Tanasi Le basi di dati Le basi di dati dalla teoria all'utilizzo di tutti i giorni Alessandro Tanasi alessandro@lonerunners.net http://www.lonerunners.net 1 Sistemi Informativi Il problema: organizzare dati in

Dettagli

Diagrammi di classe e sistemi orientati agli oggetti

Diagrammi di classe e sistemi orientati agli oggetti Appendice D Diagrammi di classe e sistemi orientati agli oggetti ANDREA GINI Un effetto della strategia di incapsulamento è quello di spingere il programmatore a esprimere il comportamento di un sistema

Dettagli

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono BASI DI DATI Una base di dati (database) è un insieme organizzato di informazioni caratterizzate da alcuni aspetti fondamentali: tra esse esiste un nesso logico (cioè sono in qualche modo inerenti ad un

Dettagli

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009

La progettazione logica Traduzione dal modello Entità-Associazione al modello relazionale Anno accademico 2008/2009 La progettazione logica Traduzione dal modello Entità-Associazione al modello Anno accademico 2008/2009 Obiettivo: Costruire uno schema logico in grado di descrivere le informazioni contenute nello schema

Dettagli

Il Dimensional Fact Model

Il Dimensional Fact Model Il Dimensional Fact Model Per le slides si ringrazia il Prof. Stefano Rizzi (http://www-db.deis.unibo.it/~srizzi/) e il Dott. Angelo Sironi Quale formalismo? Mentre è universalmente riconosciuto che un

Dettagli

SISTEMI INFORMATIVI E DATABASE

SISTEMI INFORMATIVI E DATABASE SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,

Dettagli

Fondamenti di Informatica T-1. Ereditarietà & Polimorfismo

Fondamenti di Informatica T-1. Ereditarietà & Polimorfismo Ereditarietà & Polimorfismo Ereditarietà Meccanismo per definire una nuova classe (classe derivata) come specializzazione di un altra (classe base) La classe base modella un concetto generico La classe

Dettagli

Prima di andare avanti. Progettazione. La programmazione a oggetti. Progettazione di un applicazione. Progettazione. Ingegneria del software

Prima di andare avanti. Progettazione. La programmazione a oggetti. Progettazione di un applicazione. Progettazione. Ingegneria del software Prima di andare avanti Progettazione Fase di progettazione di un applicazione Fase di implementazione Abbiamo appreso i concetti fondamentali di classe/oggetto/metodo Sappiamo scrivere semplici applicazioni

Dettagli

OOP in Python L O R E N Z O D I S I L V E S T R O

OOP in Python L O R E N Z O D I S I L V E S T R O L O R E N Z O D I S I L V E S T R O w w w. d m i. u n i c t. i t / ~ d i s i l v e s t r o d i s i l v e s t r o @ d m i. u n i c t. i t Imperativo Paradigmi di programmazione 2 i programmi sono sequenze

Dettagli

Esercizi svolti sul modello ER con regole di lettura. Esercizio 1

Esercizi svolti sul modello ER con regole di lettura. Esercizio 1 Esercizio 1 Esercizi svolti sul modello ER con regole di lettura Un università vuole raccogliere ed organizzare in un database le informazioni sui propri studenti in relazione ai corsi che essi frequentano

Dettagli

Quante occorrenze abbiamo nella relazione Insegnamento? 1000 (studenti) x 25 (insegnanti per ciascuno studente) = 25000

Quante occorrenze abbiamo nella relazione Insegnamento? 1000 (studenti) x 25 (insegnanti per ciascuno studente) = 25000 Si consideri il primo schema ER e siano date le seguenti informazioni: - Ciascun corso è in media incluso nel piano di studi di 1,5 corsi di laurea - Ciascun professore è in media docente di 2 corsi -

Dettagli

Fase di Analisi Class Diagram. Esercizi

Fase di Analisi Class Diagram. Esercizi Fase di Analisi Class Diagram Esercizi Nota Iniziale Esercizi e 2 : possono essere svolti dopo l introduzione del concetto di attributo nelle associazioni nei class diagram Esercizi 3, 4, 5 e 6: possono

Dettagli

Definizione Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno.

Definizione Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno. MODELLI INFORMATICI 1 Definizione Un modello astratto è la rappresentazione formale di idee e conoscenze relative a un fenomeno. Aspetti di un modello: il modello è la rappresentazione di certi fatti;

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi che aggiungono via via più

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, Progettazione logica. Dati di ingresso e uscita Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw -Hill, 1996-2002 Capitolo 8: Progettazione logica 17/10/2002 Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione

Dettagli

Dalla progettazione concettuale alla modellazione di dominio

Dalla progettazione concettuale alla modellazione di dominio 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

Dettagli

Architettura CPU. Memoria principale (RAM) Dispositivi di ingresso. Dispositivi di uscita. Memoria secondaria (memoria di massa)

Architettura CPU. Memoria principale (RAM) Dispositivi di ingresso. Dispositivi di uscita. Memoria secondaria (memoria di massa) Architettura CPU Dispositivi di ingresso Memoria principale (RAM) Dispositivi di uscita Memoria secondaria (memoria di massa) Architettura a tre livelli (ANSI-SPARC 78) Schema Est 1 Schema Est 2... Schema

Dettagli

PROGETTAZIONE CONCETTUALE

PROGETTAZIONE CONCETTUALE PROGETTAZIONE CONCETTUALE 1 Il Modello Concettuale Nella progettazione concettuale la descrizione dei dati da rappresentare avviene a livello astratto indipendentemente dal computer e dal software utilizzato.

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Progettazione OO Agenda Astrazione e classificazione Generalizzazione e Refactoring Riuso Interfacce e classi di utilità Patterns di progettazione GRASP Obiettivi Ottenere dei modelli

Dettagli

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la comunità scientifica di ricerca paleontologica.

Si considerino le seguenti specifiche relative alla realizzazione di un sistema informativo per la comunità scientifica di ricerca paleontologica. Compito Sistemi Informativi. Tempo concesso : 90 minuti 22 giugno 2011 Nome: Cognome: Matricola: Crediti: [6] [9] Esercizio 1 (punti 6+2) Si considerino le seguenti specifiche relative alla realizzazione

Dettagli

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI

Dettagli

Traduzione dello schema E-R in modello logico relazionale

Traduzione dello schema E-R in modello logico relazionale Traduzione dello schema E-R in modello logico relazionale 1 2 Entità con identificatore esterno - Esempio Risoluzione delle entità con identificatore esterno 3 4 5 Traduzioni dal modello E-R al modello

Dettagli

RELAZIONI E BASI DI DATI

RELAZIONI E BASI DI DATI Informatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia Università degli Studi di Salerno :Modello Relazionale (2)-Relazioni e DB, valori nulli Prof.

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati

Atzeni, Ceri, Paraboschi, Torlone Basi di dati Atzeni, Ceri, Paraboschi, Torlone Basi di dati Capitolo 9 (II parte): Progettazione logica: Dallo schema ER allo schema relazionale Traduzione verso il modello relazionale idea di base: le entità diventano

Dettagli

Capitolo 2. Dall idea al codice con UML 2 Esercizi introduttivi

Capitolo 2. Dall idea al codice con UML 2 Esercizi introduttivi Capitolo 2 Dall idea al codice con UML 2 Esercizi introduttivi Obiettivo Identificare le classi per risolvere il problema proposto 1. Valutazione di polinomi Un polinomio, identificato da una lettera minuscola

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.

Dettagli

Cap. 3 - Il modello ER

Cap. 3 - Il modello ER Cap. 3 - Il modello ER Introduzione Introduzione Il modello ER nella progettazione Il modello e la progettazione concettuale Progettazione logica Progetto applicazioni di basi di dati 33 Progetto DB relazionale

Dettagli

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni

Basi di Dati e Sistemi Informativi. Progettazione Concettuale: Il modello Entità-Relazioni Basi di Dati e Sistemi Informativi Progettazione Concettuale: Il modello Entità-Relazioni Corso di Laurea in Ing. Inform. e dell Autom. Ing. Gestionale Magistrale Introduzione Sistema Informativo: sistema

Dettagli

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale

LE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale LE BASI DI DATI Seconda parte La progettazione di database Relazionali SCHEMA LOGICO - Ristrutturazione dello schema concettuale LA PROGETTAZIONE LOGICA L'obiettivo della progettazione logica è quello

Dettagli

Dichiarazione degli schemi in SQL DDL 1

Dichiarazione degli schemi in SQL DDL 1 Dichiarazione degli schemi in SQL DDL 1 Storia di SQL Definito nell'ambito del progetto SYSTEM R (IBM S. JOSE) nel 1976 Nome originario: SEQUEL Adottato progressivamente da tutti i sistemi commerciali

Dettagli

Il modello Entity-Relationship

Il modello Entity-Relationship Il modello Entity-Relationship Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: ER.pdf Sistemi Informativi L-B I modelli concettuali dei dati

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Modello Entità-Relazione Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof.

Dettagli

L assetto organizzativo dell azienda

L assetto organizzativo dell azienda Dipartimento di Scienze umanistiche e sociali Dumas L assetto organizzativo dell azienda Dott. Federico Rotondo frotondo@uniss.it Economia aziendale: lezione n. 15 La moderne teorie rappresentano una visione

Dettagli

2. Simulazione discreta: entità ed operazioni

2. Simulazione discreta: entità ed operazioni Anno accademico 2006/07 Il sistema da modellare I principali elementi che utilizzeremo per rappresentare un sistema sono: Entità: caratterizzano un sistema da un punto di vista statico Operazioni: producono

Dettagli

Generalizzazione. Docente : Alfredo Cuzzocrea Tel. : Informatica

Generalizzazione. Docente : Alfredo Cuzzocrea   Tel. : Informatica Università Magna Graecia di Catanzaro Informatica Generalizzazione Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill,

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza Definizione 1 Lezione 2 Le basi di dati Gli archivi di dati Organizzato in modo integrato attraverso tecniche di modellazione di dati Gestiti su memorie di massa Con l obiettivo Efficienza trattamento

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

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

Basi di dati. Le funzionalità del sistema non vanno però ignorate Basi di dati La progettazione di una base di dati richiede di focalizzare lo sforzo su analisi, progettazione e implementazione della struttura con cui sono organizzati i dati (modelli di dati) Le funzionalità

Dettagli

Progettazione orientata agli oggetti Introduzione a UML

Progettazione orientata agli oggetti Introduzione a UML Progettazione orientata agli oggetti Introduzione a UML Claudia Raibulet raibulet@disco.unimib.it Il processo di sviluppo software Rappresenta un insieme di attività per la specifica, progettazione, implementazione,

Dettagli

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL

Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL. Il linguaggio SQL: fondamenti. Il linguaggio SQL : fondamenti Linguaggio per gestire le basi di dati relazionali Structured Query Language SQL possiede istruzioni per definire lo schema di una base di dati relazionale leggere e scrivere i dati definire

Dettagli

Riconoscere e formalizzare le dipendenze funzionali

Riconoscere e formalizzare le dipendenze funzionali Riconoscere e formalizzare le dipendenze funzionali Giorgio Ghelli 25 ottobre 2007 1 Riconoscere e formalizzare le dipendenze funzionali Non sempre è facile indiduare le dipendenze funzionali espresse

Dettagli

Logica Formale. Introduzione. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Logica Formale [1]

Logica Formale. Introduzione. Marco Piastra. Intelligenza Artificiale I. Intelligenza Artificiale I - A.A Logica Formale [1] Intelligenza Artificiale I Logica Formale Introduzione Marco Piastra Intelligenza Artificiale I - A.A. 2010- Logica Formale 1] Sistemicità del linguaggio naturale Capacità di astrazione della descrizione

Dettagli

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009 UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata

Dettagli

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita

Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, Progettazione logica. Dati di ingresso e uscita Atzeni, Ceri, Paraboschi, Torlone Basi di dati McGraw-Hill, 1996-2002 Capitolo 8: Progettazione logica 17/10/2002 Progettazione concettuale Requisiti della base di dati Schema concettuale Progettazione

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software Simulazione di esame Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Anno Accademico 2015/2016

Dettagli

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento Diagrammi di interazione Diagrammi di sequenza Diagrammi di comunicazione (ex collaborazione) Diagrammi di interazione generale Diagrammi di temporizzazione Descrivono la collaborazione di un gruppo di

Dettagli

La Statistica: introduzione e approfondimenti

La Statistica: introduzione e approfondimenti La Statistica: introduzione e approfondimenti Definizione di statistica Che cosa è la statistica? La statistica è una disciplina scientifica che trae i suoi risultati dalla raccolta, dall elaborazione

Dettagli

L insieme prodotto cartesiano

L insieme prodotto cartesiano L insieme prodotto cartesiano L insieme prodotto cartesiano Definizione Dato un insieme A e un insieme B non vuoti, sia a un qualunque elemento di A e b un qualunque elemento di B. Chiamiamo coppia ordinata

Dettagli

6. La progettazione concettuale

6. La progettazione concettuale Astrazioni nel modelli concettuali 6. La progettazione concettuale 6.2 modello ER Ringrazio il Prof. Lenzerini di aver messo a disposizione queste dispense 1. introduzione alla progettazione di basi di

Dettagli

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà

S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali. Alessandra Raffaetà Lezione 5 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Schemi a oggetti

Dettagli

La tesi di laurea. Prof. Sandro Cavirani Dott.ssa Sara Flisi, DVM

La tesi di laurea. Prof. Sandro Cavirani Dott.ssa Sara Flisi, DVM La tesi di laurea Prof. Sandro Cavirani Dott.ssa Sara Flisi, DVM Da dove si parte? Il titolo della tesi di laurea deve essere depositato alla Segreteria Studenti entro la fine del 2 semestre del IV anno

Dettagli

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Informazioni generali Docente Giacomo Cabri Come contattarmi Via email (consigliato) giacomo.cabri@unimore.it Telefono 059/2058320 Ricevimento Lunedì dalle 15 alle 17 presso Matematica,

Dettagli

Matematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica A.A.

Matematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica  A.A. Matematica e-learning - Gli Insiemi Prof. Erasmo Modica http://www.galois.it erasmo@galois.it A.A. 2009/2010 1 Simboli Matematici Poiché in queste pagine verranno utilizzati differenti simboli matematici,

Dettagli

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

Modello dei Dati ENTITÀ-RELAZIONE (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale Modello dei Dati E-R ENTITÀ-RELAZIONE O (ENTITY-RELATIONSHIP) é l insieme di concetti, simboli, regole che useremo per rappresentare il modello concettuale R.Gori - G.Leoni Modello dei Dati Entità-Relazione

Dettagli

CAPITOLO V. DATABASE: Il modello relazionale

CAPITOLO V. DATABASE: Il modello relazionale CAPITOLO V DATABASE: Il modello relazionale Il modello relazionale offre una rappresentazione matematica dei dati basata sul concetto di relazione normalizzata. I principi del modello relazionale furono

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare

Dettagli

Numero di contratto di noleggio CodiceInterno Chiave primaria CodiceInternazionale Codice identificativo internazionale

Numero di contratto di noleggio CodiceInterno Chiave primaria CodiceInternazionale Codice identificativo internazionale Videoteca Si vuole progettare una base di dati per una videoteca. La videoteca gestisce il noleggio di videocassette, dove ogni videocassetta è caratterizzata da un codice interno, un codice internazionale,

Dettagli

Oggetti e classi. Cos è un oggetto

Oggetti e classi. Cos è un oggetto Oggetti e classi Cos è un oggetto Basta guardarsi intorno per scoprire che il mondo reale è costituito da oggetti: libri, biciclette, giocattoli, ma anche ragazzi, bambini, fiori, gatti, cani, fiumi, montagne,

Dettagli

Il modello logico dei dati

Il modello logico dei dati Il modello logico dei dati A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Come organizzare i dati Realtà Modello Concettuale Modello Logico

Dettagli