Analisi Orientata agli Oggetti
|
|
- Paolina Fiori
- 6 anni fa
- Visualizzazioni
Transcript
1 Generalità Concetti di base: Oggetto, Classe, Attributo, Operazione, Associazione, Aggregazione, Generalizzazione, Ereditarietà Il Diagramma delle Classi: notazione UML 1 Generalità Approccio all analisi del problema basato sul principio del partizionamento rispetto agli oggetti oggetti intesi come entità/ concetti del dominio del problema con un proprio stato (struttura dei dati) e comportamento (operazioni/funzioni) evoluzione del concetto di Tipo di dato Astratto Principali differenze dall approccio procedurale (orientato alle funzioni): nell approccio procedurale, struttura dati e funzioni sono debolmente connesse l approccio OO è applicabile a tutte le fasi di sviluppo, analisi, progettazione, codifica: cambia solo il livello di astrazione ma non i concetti e la notazione 2 1
2 Concetti fondamentali dell OO Un sistema OO è visto come una collezione di oggetti discreti che interagiscono attraverso i servizi che essi offrono Classe (di oggetti): incapsulamento di struttura dati e funzioni Relazione tra oggetti: associazione, aggregazione e generalizzazione Ereditarietà e polimorfismo (specifico della progettazione) 3 Oggetto Definizione generale un oggetto rappresenta una qualsiasi cosa (reale o astratta) che abbia un confine definito (concetto associato) Definizione più specifica un oggetto è qualcosa di identificabile, che ricorda il proprio stato, e che può rispondere a richieste di operazioni relative al proprio stato Proprietà dell oggetto: attributi (o variabili di istanza) che descrivono lo stato operazioni (o metodi) che descrivono il comportamento Gli oggetti interagiscono tra di loro richiedendo servizi o informazioni reciprocamente in risposta ad una richiesta, un oggetto può invocare una operazione che può cambiare il suo stato 4 2
3 Classe (di oggetti) Una classe rappresenta un gruppo di oggetti con proprietà simili (attributi), comportamento comune (operazioni), relazioni comuni con altri oggetti e semantica comune. I termini oggetto e istanza (di classe) sono interscambiabili Dal punto di vista formale una classe equivale al tipo di dato astratto (incapsulamento di dati ed operazioni sui dati) un oggetto è un elemento del tipo 5 Incapsulamento Nome classe Attributo 1 Attributo 2 Attributo 3 Operazioni Attributi Operazione 1 Operazione 2 Operazione 3 6 3
4 Classi e Oggetti Persona (Persona) Mario Rossi (Persona) Luigi Verdi (Persona) Fabio Bianchi Classe Oggetti 7 Attributi Un attributo è una proprietà statica di un oggetto nome, età, peso sono attributi della classe Persona colore, peso, anno, modello sono attributi della classe Auto Un attributo contiene un valore per ogni istanza l attributo età ha valore 24 nell oggetto Mario Rossi I nomi degli attributi devono essere unici all interno di una classe Il valore di un attributo non ha identità (non è un oggetto) tutte le occorrenze di 24 sono indistinguibili 8 4
5 Operazioni Un operazione è un azione che un oggetto esegue su un altro oggetto e che determina una reazione Le operazioni su di un oggetto operano sui dati incapsulati dell oggetto Tipi di operazione selettore (query): accedono allo stato dell oggetto senza alterarlo (es. lunghezza della classe coda) modificatore: alterano lo stato di un oggetto (es. appendi della classe coda) Operazioni di base per una classe di oggetti: costruttore: crea un nuovo oggetto e/o inizializza il suo stato distruttore: distrugge un oggetto e/o libera il suo stato 9 Operazioni.. Nome classe Nome operazione Nome operazione (lista argomenti): tipo risultato Persona nome età cambia-lavoro() cambia-indir() File nome dimensione ultimo_aggiorn. Stampa( ) Oggetto geometrico colore posizione muovi(delta:vettore) seleziona(p:punto):boolean ruota(angolo) 10 5
6 Legami e Associazioni Un legame rappresenta una relazione (fisica o concettuale) tra oggetti es. Mario Rossi lavora per Dipartimento di Informatica Un associazione descrive un gruppo di legami aventi struttura e semantica comuni es. Persona lavora per Dipartimento Le relazioni sono bidirezionali sebbene il nome della relazione faccia riferimento ad un unica direzione 11 Associazioni e legami Nazione nome ha per capitale Città nome Diagramma delle classi (nazione) nome=canada ha per capitale (Città) nome=ottawa Diagramma degli oggetti (nazione) nome=italia ha per capitale (Città) nome=roma 12 6
7 Molteplicità delle associazioni (notazione UML) La molteplicità specifica quante istanze di una classe possono essere associate con una singola istanza di un altra classe Il simbolo di molteplicità adiacente alla classe 2 indica quante istanze della classe 2 possono avere legami con una singola istanza della classe 1 classe1 nome associazione 1 classe2 Uno ed uno solo classe1 nome associazione classe2 Opzionale (zero o uno) 0..1 classe1 nome associazione 0..* classe2 molti (zero o più di uno) classe1 nome associazione 1..* classe2 Uno o più di uno 13 Classe associativa e attributi di legame E utilizzata per modellare proprietà delle associazioni Un attributo di una classe associativa contiene un valore per ogni legame E in genere usata nelle associazioni molti-a-molti File accessibile da 0..* 1..* Utente Accesso permess o 14 7
8 Ruoli I ruoli forniscono una modalità per attraversare relazioni da una classe all altra i nomi di ruolo per una classe sono posti alla fine della relazione con un altra classe i nomi di ruolo possono essere usati in alternativa ai nomi delle associazioni I ruoli sono spesso usati per relazioni fra oggetti della stessa classe Utente 0..*Utente autorizzato 0..* proprietario 0..* Directory contenitore contenuto contiene 15 Aggregazione La relazione di aggregazione è un associazione speciale che aggrega gli oggetti di una classe componente in un unico oggetto della classe la si può leggere come è composto da in un verso e è parte di nell altro verso Proprietà transitività: se A è parte di B e B è parte di C, allora A è parte di C antisimmetria: se A è parte di B, allora B non è parte di A dipendenza: un oggetto contenuto potrebbe non sopravvivere senza l oggetto contenente Un albero di aggregazione rappresenta una classe con più di una relazione di aggregazione 16 8
9 Aggregazione classe composta classe composta 0..* classe componente classe parte 1 0..* classe parte 2 17 Aggregazione: un esempio documento titolo 0..1 sottosezione 1 0..* sezione 0..* paragrafo 1..* frase 18 9
10 Generalizzazione/specializzazione La relazione di generalizzazione rappresenta una tassonomia delle classi la classe generale è detta superclasse ogni classe specializzata è detta sottoclasse Può essere letta come è un tipo di (verso di generalizzazione) può essere un (verso di specializzazione) Ogni oggetto di una sottoclasse è anche un oggetto della sua superclasse 19 Generalizzazione superclasse sottoclasse1 sottoclasse2 Notazione UML 20 10
11 Ereditarietà L ereditarietà è un meccanismo di condivisione delle proprietà degli oggetti in una gerarchia di generalizzazione Tutte le proprietà (attributi e operazioni) di una superclasse possono essere applicati alle sottoclassi (sono ereditati) generalizzazione ed ereditarietà godono della proprietà transitiva è possibile definire nuove proprietà per le sottoclassi è possibile ridefinire le proprietà ereditate (eredità non stretta) 21 forma geometrica colore posizione riferimento spessore tratto muovi( ) seleziona( ) ruota( ) mostra( ) forma adimensionale forma monodimensionale orientamen to forma bidimensionale orientamento tipo-riempimento scala( ) riempi( ) punto linea punt i final arco raggio angolo polilinea pun ti poligono numero lati vertici cerchio centr o 22 11
12 Ereditarietà multipla Una sottoclasse ha più di una superclasse ed eredita la proprietà da tutte le superclassi comoda nella modellizzazione ma può creare conflitti nella realizzazione persona docente studente non docente dottorando studente_cdl studente_du istruttore corso 23 Un insieme di linee guida per l analisi Come condurre l analisi? Non esistono algoritmi, ma solo linee guida per condurre l analisi I passi fondamentali secondo l approccio di Code e Yourdon Identificare gli oggetti Identificare le strutture Identificare gli attributi Identificare le associazioni Definire i servizi 24 12
13 Linee guida per Identificare gli oggetti A partire da una descrizione del problema, identificare gli oggetti candidati fra i nomi corrispondenti a: entità fisiche, dispositivi, eventi ricordati, ruoli giocati, organizzazioni, etc. Un candidato può essere scelto come un oggetto se il sistema ha bisogno di ricordare qualcosa riguardo all oggetto se il sistema ha bisogno di qualche servizio offerto dall oggetto, per svolgere le sue funzioni se l oggetto presenta molti attributi 25 Identificare le strutture Catturare le relazioni di generalizzazione-specializzazione e quelle di aggregazione (tutto-parti) identificare le classi più generali e derivare quelle più specializzate che aggiungono o ridefiniscono attributi/ servizi es. In una libreria, gli oggetti da leggere possono specializzarsi in libri, riviste, giornali identificare oggetti in relazione di tutto-parti con altri oggetti es. la libreria (il tutto) si compone degli oggetti libro, rivista, materiale audio-visivo 26 13
14 Identificare gli attributi Per ciascun oggetto, valutare quali sono gli attributi che risultano rilevanti nel dominio del problema es. uno stesso attributo dell oggetto Persona (es. Altezza) può essere rilevante o meno a seconda del problema analizzato Collocare correttamente gli attributi nelle gerarchie di oggetti un attributo comune ad una gerarchia di oggetti, dovrebbe essere definito all interno della classe più generale (la superclasse), mentre quelli specifici di un oggetto specializzato, andranno nella classe specializzata (la sottoclasse) 27 Identificare le associazioni Le associazioni devono descrivere relazioni permanenti fra oggetti delle classi, non transitorie, legate ad un evento passeggero es. Persona lavora per Dipartimento Qualunque dipendenza fra due o più classi è una associazione una classe richiede una qualche risorsa dell altra Un riferimento da una classe ad un altra può essere modellato come una associazione 28 14
15 Identificare i servizi Ciascun oggetto offre servizi ad altri oggetti che ne fanno richiesta mediante un messaggio Identificare prima i servizi necessari per creare, distruggere e modificare le istanze della classe questi servizi non sono in genere evidenziati sul modello ad oggetti quindi identificare gli altri servizi necessari al sistema per fornire le funzionalità desiderate 29 L esempio del Ristorante Obiettivi richiesti al sistema: automatizzare la produzione del conto ai clienti, ottenere statistiche sulle vendite, determinare discordanze fra le forniture ricevute e quelle consumate, automatizzare gli ordinativi delle forniture Dalla descrizione del dominio del problema e dagli obiettivi richiesti al sistema si ottiene un primo insieme di oggetti candidati: Ristorante, Proprietario, Conto, Menu, Ordine-Cliente, Fornitore, Ordine-Fornitore, Gestore-Ordini, Piatti. Vanno eliminati gli oggetti: Proprietario, Piatti, Fornitore... perchè il sistema non deve conservare alcuna informazione su di essi 30 15
16 Modello ad oggetti iniziale Gestione Forniture Ordine-Fornitore Ristorante Menu Ordine Conto 31 Passi successivi Il Ristorante costituisce una aggregazione di Menu e di Gestione-Forniture Un Menu è una aggregazione di molte Voci-Menu (nuovo oggetto) Un Ordine-Fornitore è un aggregato di molti Elementifornitura (nuovo oggetto) Tra Ordine-Fornitore ed Elementi-fornitura c è una associazione con un attributo quantità Scelta degli attributi e delle associazioni Scelta dei servizi 32 16
17 Gestore Forniture Credito-Fornitura( ) Debito-Fornitura( ) Ordine-Fornitore 1..* Produci-assegno() Elemento-fornitura Nome-elemento Prezzo-unitario Ristorante quan.forn. Statistiche( ) Report-discrepanze( ) Menu Voce Menu Nome Numero Prezzo 1..* Forniture-usate 1..* Ordine 1..* Produci-conto( quantità forn
Programmazione ad Oggetti
Programmazione ad Oggetti Analisi e Progettazione OO Origini Le metodologie ad oggetti nascono negli anni 70 ma si affermano solo negli anni 80 grazie alla nascita dei linguaggi di programmazione ad oggetti
DettagliIngegneria 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
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliProgettare 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
DettagliIl 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
DettagliClassi. 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 -
DettagliTecniche di sviluppo di progetti. Lezione 4: Diagrammi UML
Tecniche di sviluppo di progetti Lezione 4: Diagrammi UML Struttura di un progetto UML Un progetto software è composto da parti, dette diagrammi UML. Ogni diagramma UML contiene un tipo ben definito di
DettagliRappresentazione. Unified Modeling Language. Genesi dell UML. Principali Diagrammi UML. Unified Modeling Language (UML)
Rappresentazione Unified Modeling Language Unified Modeling Language (UML) DIB Unified Modeling Language - 1 DIB Unified Modeling Language - 2 Genesi dell UML Booch OOD 91 OOAD 94 94 RATIONAL OOD Objext
DettagliProgettazione orientata agli oggetti e UML
Operatore Giuridico d Impresa Informatica Giuridica A.A 2003/2004 II Semestre Progettazione orientata agli oggetti e UML prof. Monica Palmirani Origini storiche Il paradigma orientato agli oggetti è una
DettagliISTITUTO 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
DettagliSOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica,
DettagliUnità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione
Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere
DettagliCatia Trubiani. Laboratorio di Ingegneria del Software a.a
Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2013-2014 Catia Trubiani Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM) - Università degli Studi
DettagliProgrammazione con Java
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
DettagliProgettazione orientata agli oggetti
Operatore Informatico Giuridico Informatica Giuridica A.A 2006/2007 II Semestre Progettazione orientata agli oggetti Lezione 4 prof. Monica Palmirani Origini storiche Il paradigma orientato agli oggetti
DettagliAnalisi 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
DettagliIngegneria 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
DettagliRichiami su oggetti e OOP
Richiami su oggetti e OOP Un oggetto (object) è una entità caratterizzata da una struttura dati alla quale si associa l insieme delle operazioni che è possibile compiere su di essa. Un oggetto può essere
DettagliInformatica 3. LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2)
Informatica 3 LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Modulo 1: Ereditarietà Modulo 2: Polimorfismo e classi astratte Modulo 3: Visibilità delle proprietà di una classe Modulo
DettagliGerarchia 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,...,
DettagliLa programmazione ad oggetti: chiamate di metodi. Overloading. This
ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMA SVOLTO A.S. 2015/2016 Classe IV C Informatica Proff. Fabio Ciao / Simone Calugi Libro di testo: Cloud B P.
DettagliEsercitazione 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
DettagliSOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni Concetti base e avanzati DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica,
DettagliRiassunto: cos è la OOP? classi astratte, interfacce, classi interne. Scaletta. Figura con area()? Figura senza area()? Stefano Mizzaro 1.
OO in Java: classi astratte, interfacce, classi interne Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione,
DettagliIl 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
DettagliPrima di iniziare. Diamo qualche definizione :
1 Prima di iniziare. Diamo qualche definizione : Modello E/R (Entity/Relationship in italiano Entità- Relazione) : è un modello concettuale di dati e, come tale, fornisce una serie di strutture, detti
DettagliMODELLI 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
DettagliInformatica Generale (AA 07/08) Corso di laurea in Scienze della Comunicazione Facoltà di Lettere e Filosofia. Università degli Studi di Salerno
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 Prof. Alberto Postiglione Università degli
DettagliSISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3
SISTEMI INFORMATIVI TERRITORIALI DATABASES -LEZIONE 3 Patrizio Pelliccione patrizio.pelliccione@di.univaq.it Dipartimento di Informatica Università degli Studi dell Aquila RINGRAZIAMENTI Queste slides
DettagliINTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a
INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo
DettagliUML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato
Introduzione all UML UML come abbozzo UML - Unified Modeling Language E una famiglia di notazioni grafiche per la modellazione visuale del software Modellazione: rappresentazione di elementi che corrispondono
DettagliI Diagrammi di Flusso OO
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - I Diagrammi di Flusso OO Generalità I diagrammi di attività vengono usati per modellare processi a
DettagliObject-Oriented Programming
Object-Oriented Programming Una metodologia di programmazione che consente di modellare la realtà in modo più naturale e vicino all uomo Concetti fondamentali Oggetto Incapsulazione Messaggio Classe Ereditarietà
DettagliInformatica 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/
DettagliIntroduzione 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
DettagliInformatica 3. Informatica 3. LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Lezione 8 - Modulo 1
Informatica 3 Informatica 3 LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Modulo 1: Ereditarietà Modulo 2: Polimorfismo e classi astratte Modulo 3: Visibilità delle proprietà di una
DettagliIl 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
DettagliI 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
DettagliProgrammazione 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.
DettagliLE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione
LE BASI DI DATI Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione ALCUNE PRECISAZIONI Il modello logico «relazionale» si occupa dello studio delle «Relazioni matematiche».
DettagliProgrammazione Orientata agli Oggetti
Programmazione Orientata agli Oggetti Lezione 13 La programmazione ad oggetti si basa su due principi fondamentali ereditarietà polimorfismo Queste due proprietà consentono di definire nuovi tipi di dato
DettagliSQL e linguaggi di programmazione. Cursori. Cursori. L interazione con l ambiente SQL può avvenire in 3 modi:
SQL e linguaggi di programmazione L interazione con l ambiente SQL può avvenire in 3 modi: in modo interattivo col server attraverso interfacce o linguaggi ad hoc legati a particolari DBMS attraverso i
DettagliIntroduzione alla programmazione Object Oriented. Luca Lista
Introduzione alla programmazione Object Oriented Luca Lista Concetti base del software OO Classi e oggetti Incapsulamento Relazione di ereditarietà Polimorfismo Cos è un Oggetto? Definizione da vocabolario:
DettagliIngegneria del Software
Università degli Studi di Napoli Federico II Ingegneria del Software a.a. 2013/14 UML : I Class Diagrams Obiettivi della lezione Comprendere in dettaglio il formalismo dei Class Diagram di UML Uso dei
DettagliIngegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliDatabase. Cos è un database? Intro Tipi di entità Mapping ER/EER à Relazionale
Database Intro Tipi di entità Mapping ER/EER à Relazionale Ing. Lucia Vaira PhD Student @ University of Salento lucia.vaira@unisalento.it Cos è un database? 1 Cos è un database? È una struttura di dati
DettagliLe Basi di dati: progettazione concettuale
Le Basi di dati: progettazione concettuale Progettazione di una base di dati requisitidel Sistema Informativo progettazione concettuale SCHEMA CONCETTUALE SCHEMA FISICO progettazione fisica progettazione
DettagliCorso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque
DettagliProgettazione 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
DettagliSISTEMI INFORMATIVI GEOGRAFICI (GIS)
SISTEMI INFORMATIVI GEOGRAFICI (GIS) Prof. Dipartimento di Elettronica e Informazione Politecnico di Milano SISTEMA INFORMATIVO GEOGRAFICO E UN SISTEMA CHE USA SIA DATI SPAZIALI (CIOE BASATI SU RIFERIMENTI
DettagliProgettazione concettuale usando il modello Entità-Relazione (ER)
Progettazione concettuale usando il modello Entità-Relazione (ER) 1 Introduzione alla progettazione delle basi di dati Progettazione concettuale (in questa fase si usa il modello ER) Quali sono le entità
DettagliFondamenti 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
DettagliProgramma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
DettagliI file utente sistema operativo nome
I file I File sono l unità base di informazione nell interazione tra utente e sistema operativo Un file e costituito da un insieme di byte attinenti ad un unica entità logica fino a un po di tempo fa i
DettagliElena 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
DettagliIL 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
DettagliDiagrammi 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
Dettaglidiagrammi entità-relazioni
diagrammi entità-relazioni laboraorio di basi di dati Pierluigi Pierini pierluigi.pierini@technolabs.it Entità Corso Nome_ Una entità rappresenta una classe di oggetti distinti ed autonomi all interno
DettagliModello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati
di basi di dati Modello Entità-Relazione concettuale logica Normalizzazione Sistemi informativi D B M G D B M G2 Modello Entità-Relazione di basi di dati di basi di dati Entità e relazioni Attributi Identificatori
DettagliLE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione Tabelle riassuntive
LE BASI DI DATI Seconda parte La progettazione di database Relazionali SCHEMA LOGICO Regole di derivazione Tabelle riassuntive ELENCO DEI TERMINI USATI NEI DIVERSI LIVELLI DI ASTRAZIONE Livello concettuale
DettagliFondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011
Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Paradigma OO Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO
DettagliD B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati
Sistemi informativi D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione logica Normalizzazione D B M G 2 1 Progettazione di basi di dati D B M G Modello
DettagliModello 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
DettagliIl 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
DettagliLinguaggi di Programmazione I Lezione 4
Linguaggi di Programmazione I Lezione 4 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 18 marzo 2008 Modello orientato ad oggetti 3 Introduzione............................................................
DettagliProgrammazione 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
DettagliProgrammazione è gestione di eventi
FUNZIONI Ed Eventi Programmazione è gestione di eventi Evento 1 (tasto premuto) Evento 2 (mouse) Evento 3 (cambio frame) Oggetto Evento 4 (fine di un brano audio) Azioni per evento 1 1. Azione 1 2. Azione
Dettagli18 - Classi parzialmente definite: Classi Astratte e Interfacce
18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/
DettagliProgrammazione orientata agli oggetti Ereditarietà
Programmazione orientata agli oggetti Ereditarietà Fondamenti di Informatica L-B 1 Programmazione basata su oggetti Il modello visto finora costituisce un sottoinsieme del modello orientato agli oggetti
DettagliElena Baralis 2007 Politecnico di Torino 1
Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,
DettagliProgettare una base di dati. Progettare una base di dati
Consorzio per la formazione e la ricerca in Ingegneria dell'informazione Sistematizzare è meglio che improvvisare Docente: Cesare Colombo CEFRIEL colombo@cefriel.it http://www.cefriel.it Il ciclo di vita
DettagliOggetti 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,
DettagliEreditarietà e polimorfismo
Università della Calabria Corso di Laurea in Ingegneria Elettronica Programmazione Orientata agli Oggetti A.A. 2006/2007 Ereditarietà e polimorfismo Paolo Trunfio * * DEIS, Università della Calabria http://si.deis.unical.it/~trunfio
DettagliAlgoritmi e Strutture Dati
Introduzione al corso di Algoritmi e Strutture Dati Luigi Pontieri Il nome del corso: Algoritmi e Strutture Dati Algoritmo: metodo per la risoluzione di problemi di elaborazione di informazioni, espresso
DettagliIL MODELLO ENTITÀ- RELAZIONE. Gli altri costruttori
IL MODELLO ENTITÀ- RELAZIONE Gli altri costruttori Sommario Cardinalità Identificatori Generalizzazioni Costruzione di schemi E-R E R con tutti i costruttori Cardinalità delle relazioni Coppia di valori
DettagliI 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
DettagliProgrammazione Java Avanzata Programmazione Object- Oriented in Java
Programmazione Java Avanzata Programmazione Object- Oriented in Java Ing. Gianluca Caminiti Testi di Riferimento (Java) Cay Horstmann Concetti di informatica e fondamenti di Java Apogeo, 2007 (Versione
DettagliUML I diagrammi implementativi
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di
DettagliLab metodi programmazione. Testi. Caratteristiche di Java. Paradigmi di programmazione. Linguaggio Java Progetto
Lab metodi programmazione Linguaggio Java Progetto Testi C.S. Horstmann Computing Concepts with Java Essentials 3rd Edition, Wiley Ed. italiana: Concetti di informatica e fondamenti di Java 2 Seconda edizione,
DettagliFondamenti di Informatica T-1
Fondamenti di Informatica T-1 Classi e metodi astratti Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De Filippo 1 / 15 Classa astratta: definizione
DettagliIl modello concettuale dei dati
Il modello concettuale dei dati A. Lorenzi, E. Cavalli INFORMATICA PER SISTEMI INFORMATIVI AZIENDALI Copyright Istituto Italiano Edizioni Atlas Livelli di analisi Realtà Modello Concettuale Entità/Associazioni
DettagliUML GML- Classi di Oggetti
UML GML- Classi di Oggetti Claudio Rocchini Istituto Geografico Militare Introduzione Per lavorare nel GIS serve sapere anche queste cose? Si, perché: I dati geografici verranno scambiato nel formato GML
DettagliBasi di Dati - III. La costruzione di una base di dati. Progettazione concettuale di schemi. Esercizio: Segreteria studenti
La costruzione di una base di dati 2 Basi di Dati - III Corso di Laurea in Informatica Anno Accademico 2010/2011 Analisi dei requisiti Progettazione Progettazione concettuale, logica e fisica dei dati
DettagliPOO in JAVA e Robot EV3
POO in JAVA e Robot EV3 1. Introduzione Dal procedurale agli oggetti La programmazione procedurale Per tutta la classe terza, abbiamo lavorato con un paradigma di programmazione che si chiama procedurale
DettagliLinguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
DettagliBasi 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?
DettagliEreditarietà e Polimorfismo
Ereditarietà e Polimorfismo Riusare il software A volte si incontrano classi con funzionalità simili In quanto sottendono concetti semanticamente vicini È possibile creare classi disgiunte replicando le
DettagliRICHIAMI DI PROGRAMMAZIONE A OGGETTI. Corso di Informatica Medica
Università degli Studi di Trieste Corso di Laurea Magistrale in INGEGNERIA CLINICA RICHIAMI DI PROGRAMMAZIONE A OGGETTI Corso di Informatica Medica Docente Sara Renata Francesca MARCEGLIA Dipartimento
DettagliLezione 3. Modellazione dei Dati mediante il Modello Entità Associazione (ER)
Lezione 3 Modellazione dei Dati mediante il Modello Entità Associazione (ER) 1 Sommario Esempio di Applicazione con Database (AZIENDA) Concetti del Modello ER Entità ed Attributi Entità, Istanze, Domini
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il
DettagliProgettazione di basi di dati
Progettazione di basi di dati Sistemi Informativi L Corso di Laurea in Ingegneria dei Processi Gestionali A.A. 2003/2004 Docente: Prof. Wilma Penzo Progettazione di basi di dati È una delle attività del
DettagliCdL in Medicina Veterinaria - STPA AA
CdL in Medicina Veterinaria - STPA AA 2007-08 I Files I files I Files sono l unità base di informazione nell interazione tra utente e sistema operativo Costituito da un insieme di byte (di natura omogenea)
DettagliProgrammi 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
DettagliMetodologie e Modelli di Progetto
Metodologie e Modelli di Progetto Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio
DettagliLE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI
LE BASI DI DATI Prima parte Premesse introduttive I MODELLI DEI DATI MODELLAZIONE DEI DATI Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la natura
DettagliTraduzione 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
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 08 Ereditarietà A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Ereditarietà 1 Contenuti!Livelli di astrazione
DettagliLe basi di dati. Lez. 2: Progettazione di un DB. Laboratorio di informatica gestionale
Le basi di dati Lez. 2: Progettazione di un DB Cos è un dato? Un dato (dal latino datum) è la descrizione elementare di una cosa, di un avvenimento. Un dato è utilizzabile se esiste una chiave di interpretazione.
DettagliLaboratorio 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