Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013
|
|
- Letizia Mari
- 8 anni fa
- Visualizzazioni
Transcript
1 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013
2 Relazioni tra classi Ereditarietà Generalizzazione Specializzazione Aggregazione Composizione Dipendenza Associazione Sommario
3 Relazioni tra classi Ereditarietà Generalizzazione Specializzazione Aggregazione Composizione Associazione Dipendenza Sommario
4 Relazioni tra classi:ereditarietà Generalizzazione & Specializzazione L ereditarietà è il meccanismo attraverso il quale una classe detta Figlio eredita le caratteristiche di una classe detta Padre Il significato della generalizzazione è che ogni istanza della sottoclasse è anche istanza della superclasse pertanto la classe figlio può essere interpretata anche come un tipo di padre. A è una generalizzazione di B B è una specializzazione di A. B aggiunge caratteristiche strutturali e comportamentali ad A B ha i propri attributi e metodi + attributi e operazioni ereditati da A (con visibilità public,protected) B può ridefinire attributi e operazioni ereditati da A 16/01/2013 4
5 Relazioni tra classi:ereditarietà Generalizzazione & Specializzazione L ereditarietà è il meccanismo attraverso il quale una classe detta Figlio eredita le caratteristiche di una classe detta Padre Il significato della generalizzazione è che ogni istanza della sottoclasse è anche istanza della superclasse pertanto la classe figlio può essere interpretata anche come un tipo di padre. La relazione nel verso della generalizzazione può essere letta come Uno Studente è un tipo di Persona La relazione nel verso della specializzazione può essere letta come Una Persona può essere uno Studente 16/01/2013 5
6 Relazioni tra classi:ereditarietà Generalizzazione & Specializzazione L ereditarietà è il meccanismo attraverso il quale una classe detta Figlio eredita le caratteristiche di una classe detta Padre Il significato della generalizzazione è che ogni istanza della sottoclasse è anche istanza della superclasse pertanto la classe figlio può essere interpretata anche come un tipo di padre. Si dice che tra una sottoclasse e la sua superclasse esiste una relazione di tipo is-a Studente e un tipo di (is-a, is-a-kind-of) Persona 16/01/2013 6
7 Relazioni tra classi:ereditarietà Generalizzazione & Specializzazione Esempio UML:Class Diagram Mostra un insieme di classi (concrete, astratte, interfacce ) e le relazioni tra esse (dipendenza, associazione, aggregazione, composizione, generalizzazione) Può essere visto come un grafo dove i classi/interfacce e gli archi le relazioni nodi sono 16/01/2013 7
8 Esempio UML:Object Diagram I diagrammi degli oggetti sono una variante dei class diagram (hanno la stessa notazione ). Forniscono possibili fotografie del sistema in esecuzione. Mettono in relazione ISTANZE (oggetti) di classi specificando il loro nome e tipo(classe). 16/01/2013 8
9 Relazioni tra classi:ereditarietà Generalizzazione & Specializzazione 16/01/2013 9
10 Relazioni tra classi:ereditarietà Generalizzazione & Classi Astratte Una Classe Astratta contiene metodi privi di implementazione Per questa ragione non può essere istanziata Il corsivo permette di distinguere le parti astratte da quelle concrete 10
11 Relazioni tra classi:ereditarietà Generalizzazione & Classi Astratte Una Classe Astratta contiene metodi privi di implementazione Per questa ragione non può essere istanziata Il corsivo permette di distinguere le parti astratte da quelle concreteclasseastratta 11
12 Relazioni tra classi:ereditarietà Generalizzazione & Classi Astratte La classe astratta Veicolo definisce le caratteristiche comuni di tutti i veicoli ma la classe non è istanziabile in quanto non esiste un veicolo. Lo stesso vale per le altre classi astratte Veicolo Terrestre e Veicolo Aereo Le classi Automobile, Moto, Aereo ed Elicottero sono invece classi istanziabili perche si riferiscono ad entità esistenti nel mondo reale di cui è possibile definire una implementazione per tutte le operazioni. 12
13 Relazioni tra classi:ereditarietà multipla L'ereditarietà singola modella bene le relazioni insieme/sottoinsieme ma non le intersezioni di insiemi, che necessitano della ereditarietà multipla 13
14 Relazioni tra classi:ereditarietà multipla Diventa una tassonomia di INTERFACCE!! L'ereditarietà singola modella bene le relazioni insieme/sottoinsieme m non le intersezioni di insiemi, che necessitano della ereditarietà multipla 14
15 Relazioni tra classi:ereditarietà multipla Interfacce Una interfaccia è una specifica di comportamento Una interfaccia è definita da un insieme di operazioni astratte. Una classe che implementa una interfaccia fornisce una possibile realizzazione della specifica La relazione che lega una interfaccia alla classe che la implementa si chiama realizzazione La classe Elicottero implementa l interfaccia IVolante in quanto implementa tutte le sue operazioni (in questo caso vaia ) 15
16 Relazioni tra classi:ereditarietà multipla Interfacce Le interfacce rappresentano collezioni di operazioni che sono utilizzate per specificare un servizio di una classe e definiscono solo la segnatura delle operazioni 16
17 La freccia tratteggiata indica esattamente la realizzazione,ossia l implementazione di un interfaccia Da non confondere con la freccia continua dell ereditarietà Esempio di interface Le interfacce sono SEMPRE PUBBLICHE e dichiarano sempre e solo metodi PUBBLICI e costanti PUBBLICHE 16/01/
18 Relazioni tra classi:ereditarietà multipla Interfacce Una interfaccia può ereditare operazioni da un altra interfaccia 18
19 Relazioni tra classi:ereditarietà multipla Interfacce Una interfaccia può ereditare operazioni da un altra interfaccia Dopo extends può esservi un elenco di più interfacce 19
20 Relazioni tra classi:aggregazione L aggregazione è un vincolo debole (più debole della composizione) identifica classi con periodo di vita diverso ciò implica che quando l'oggetto ottenuto aggregando altri oggetti viene distrutto gli oggetti che lo caratterizzano rimangono comunque in vita. Nota:l aggregazione è indicata da un rombo vuoto rivolto verso la classe contenitore.
21 Relazioni tra classi:aggregazione L aggregazione è un vincolo debole (più debole della composizione) identifica classi con periodo di vita diverso ciò implica che quando l'oggetto ottenuto aggregando altri oggetti viene distrutto gli oggetti che lo caratterizzano rimangono comunque in vita. Nota:l aggregazione è indicata da un rombo vuoto rivolto verso la classe contenitore.
22 L'aggregazione (vincolo debole) indica che gli oggetti "contenuti" ha vita propria anche senza l'oggetto contenitore ovvero esistono anche se sparisce la relazione... Esempio: La classe A è formata da istanze delle classi B, C, D (precedentemente definite) messe in relazione per aggregazione. Il programmatore per utilizzare la classe A rispettando la relazione di aggregazione nel main crea prima le istanze dei tre oggetti (B;C;D) e poi li associa ai componenti dell'oggetto: public class A { private B oggettob; private C oggettoc; private D oggettod; public void setb(b ob); public void setc(c oc); public void setd(d od); } tipo identificatore 16/01/
23 L'aggregazione (vincolo debole) indica che l'oggetto "contenuto" ha vita propria anche senza l'oggetto contenitore. public static void main(string[] args) { B b = new B(); C c = new C(); D d = new D(); } } A a = new A(); a.setb(b); a.setc(c); a.setd(d); 16/01/
24 Esercizio sull Aggregazione 16/01/
25 Esercizio sull Aggregazione 16/01/
26 Esercizio sull Aggregazione 16/01/
27 Relazioni tra classi:composizione L aggregazione è un vincolo debole (più debole della composizione) identifica classi con periodo di vita diverso ciò implica che quando l'oggetto ottenuto aggregando altri oggetti viene distrutto gli oggetti che lo caratterizzano rimangono comunque in vita. Nota:l aggregazione è indicata da un rombo vuoto rivolto verso la classe contenitore.
28 La composizione identifica classi con stesso periodo di vita ciò implica che quando viene distrutto l'oggetto composito tutti gli oggetti che lo caratterizzano devono essere distrutti. Nota:la composizione è indicata da un rombo pieno rivolto verso la classe contenitore. 16/01/
29 La composizione identifica classi con stesso periodo di vita ciò implica che quando viene distrutto l'oggetto composito tutti gli oggetti che lo caratterizzano devono essere distrutti. Nota:la composizione è indicata da un rombo pieno rivolto verso la classe contenitore. L'aggregazione (vincolo forte) indica che l'oggetto contenuto non ha vita propria, quindi deve essere distrutto assieme al contenitore 16/01/
30 Esempio: La classe A è formata da istanze delle classi B, C, D (precedentemente definite) messe in relazione per composizione ( quindi per rispettare questa relazione il programmatore non può mai creare istanze di B, C e D al di fuori di un'istanza di A). Il programmatore per utilizzare la classe A rispettando la relazione di aggregazione deve creare prima nella classe A le istanze dei tre oggetti (B;C;D) che compongono i campi dell'oggetto A. public class A { } La composizione identifica classi con stesso periodo di vita ciò implica che quando viene distrutto l'oggetto composito tutti gli oggetti che lo caratterizzano devono essere distrutti. La composizione è una relazione più forte quindi gli oggetto contenuti non possono esistere senza il contenitore... public void usob() tipo { B b = new B(); b.metododib(); } identificatore public void usoc() { C c = new C(); c.metododic(); } public void usod() { D d = new D(); d.metododid(); 16/01/2013 } 30
31 La composizione identifica classi con stesso periodo di vita ciò implica che quando viene distrutto l'oggetto composito tutti gli oggetti che lo caratterizzano devono essere distrutti. La composizione è una relazione più forte quindi gli oggetto contenuti non possono esistere senza il contenitore... Nel main si crea l oggetto A e automaticamente si usano i suoi componenti. public static void main(string[] args) { A a = new A(); a.usob(); a.usoc(); a.usod(); } 16/01/
32 UML:Class Diagram Mostra un insieme di classi (concrete, astratte, interfacce ) e le relazioni tra di esse (dipendenza, associazione, aggregazione, composizione, generalizzazione) Può essere visto come un grafo dove i classi/interfacce e gli archi le relazioni nodi sono 16/01/
33 UML:Object Diagram I diagrammi degli oggetti sono una variante dei class diagram (hanno la stessa notazione ) cheforniscono possibili fotografie del sistema in esecuzione. Infatti mettono in relazione ISTANZE (oggetti) di classi identificati con il loro nome e non tipi di dato (classi). 16/01/
34 Relazioni tra classi:associazione L'associazione è una relazione simile all aggregazione che esprime una relazione fra una o più classi. E' caratterizzata da: un nome una molteplicità Può essere: simmetrica (navigabile nelle due direzioni) ricorsiva (ovvero tra oggetti della stessa classe) Si rappresenta con una linea continua di unione senza freccia (per indicare che il senso di lettura è bidirezionale) o con freccia. Ci sono fondamentalmente 3 tipi di associazioni: uno-a-uno uno-a-molti molti-a-molti Nel primo caso l'oggetto della classe A contiene il riferimento all'oggetto della classe B (Esattamente come nell'esempio dell'aggregazione). Nel secondo caso l'oggetto della classe A contiene il riferimento a un array di oggetti appartenenti alla classe B. 16/01/ L'ultimo caso, cambia dal secondo solo perché pure la classe B avrà un array che fa riferimento alla classe A.
35 L'associazione uno a uno Un Automobile ha al più un Proprietario Nel Proprietario Non c è il riferimento all automobile 16/01/
36 L'associazione uno a uno 16/01/
37 L'associazione uno a uno 16/01/
38 L'associazione uno a uno bidirezionale 16/01/
39 L'associazione uno a uno bidirezionale class CartaIdentita { private Persona possessore; private String numero; public void associapersona(persona partner); CartaIdentita (String numcarta); }; class Persona { private CartaIdentita documento; private String nome; public void associacartaidentita(cartaidentita partner); Persona (String nompersona); } Nella classe Persona c è il riferimento alla classe CartaIdentità 16/01/
40 L'associazione uno a uno bidirezionale { //istanziazione delle variabili CartaIdentita cartiden = new CartaIdentita( AC1234 ); Persona pers = new Persona( Tizio ); //creazione dell associazione tra i due oggetti cartiden.associapersona(pers); pers.associaazienda(cartiden); // segue }; 16/01/
41 L'associazione riflessiva 16/01/
42 Esercizio di associazione 16/01/
43 Esempio di associazione uno-a-molti. In una casa vivono una o più persone. Un oggetto della classe Casa contiene il riferimento a un array di classe Persona. La classe Persona, invece, contiene solamente un riferimento alla classe Casa. 16/01/
44 Associazione uno-a-molti Corso di Laurea Studente class CorsodiLaurea { private Studente [] studenti; private String denominazione; public void aggstudente (Studente newstud); CorsodiLaurea (String denomcorso); }; class Studente { private CorsodiLaurea iscrizione; private String matricola; private String nome; public void associacdl(corsodilaurea partner); Studente(String nome, String numeromat); }; 16/01/
45 Associazione uno-a-molti Impiegato Società 16/01/
46 Relazioni tra classi:dipendenze Una dipendenza è una relazione tra due elementi, dove un cambiamento ad uno di essi (il fornitore) può influenzare o fornire delle informazioni necessarie all altro (il cliente) La dipendenza va in un sola direzione: dal cliente al fornitore A differenza delle associazioni, una relazione di dipendenza non sussiste fra istanze nel dominio rappresentato, ma sussiste fra gli elementi del modello UML stesso o fra le astrazioni che tali elementi rappresentano 16/01/
47 Relazioni tra classi:dipendenze L automobile per viaggiare usa le strade (tratto percorribile) Al contrario le strade esistono indipendentemente dalle automobili void public class Automobile {public void percorri( TrattoPercorribile p){...}} 16/01/
48 Esercizio 16/01/
49 Esercizio 16/01/
Programmazione a oggetti e JAVA. Prof. B.Buttarazzi A.A. 2011/2012
Programmazione a oggetti e JAVA Prof. B.Buttarazzi A.A. 2011/2012 Sommario Variabili statiche Ereditarietà multipla Le interfacce Binding Esercizi Esercizio ContoCorrente Creare una classe ContoCorrente
DettagliUML Diagrammi delle classi. UML Diagramma classi 1
UML Diagrammi delle classi UML Diagramma classi 1 Diagramma delle classi Non è nei nostri obiettivi affrontare UML nel suo complesso Ci concentreremo sui diagrammi delle classi che ci forniscono un linguaggio
DettagliRelazioni tra oggetti e classi : Composizione. Relazioni tra oggetti e classi : esempio di Aggregazione. classe contenitore
Relazioni tra oggetti e classi : Generalizzazione Fondamenti di Informatica II 20. Laboratorio 6 Collegamenti e associazioni Le relazioni di tipo generalizzazione (specializzazione), servono per poter
DettagliClass Diagram. Catia Trubiani. Laboratorio di Ingegneria del Software a.a. 2013-2014
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
DettagliRappresentazione grafica di entità e attributi
PROGETTAZIONE CONCETTUALE La progettazione concettuale, ha il compito di costruire e definire una rappresentazione corretta e completa della realtà di interesse, e il prodotto di tale attività, è lo schema
DettagliUML Unified Modeling Language
UML Unified Modeling Language Lezione 4-1 - UML Il diagramma delle classi Parte Seconda - 2 - Relazioni tra Classi&Oggetti I diagrammi delle classi mettono in evidenza i blocchi costitutivi del sistema
DettagliInformatica 3. LEZIONE 7: Fondamenti di programmazione orientata agli oggetti (1)
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 Informatica 3 Lezione 7 -
DettagliLezione 4. Modello EER
Lezione 4 Modello EER 1 Concetti del modello EER Include tutti i concetti di modellazione del modello ER Concetti addizionali: sottoclassi/superclassi, specializzazione, categorie, propagazione (inheritance)
DettagliIl modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono:
IL MODELLO EER Modellazione Entità-Associazione estesa 2 Modellazione EER (modellazione ER-estesa) Il modello EER comprende tutti i concetti di modellazione del modello ER, cui si aggiungono: i concetti
DettagliProgrammazione a Oggetti Lezione 10. Ereditarieta
Programmazione a Oggetti Lezione 10 Ereditarieta Sommario Come definire sottoclassi Costruttori Abstract Classes Final Ereditarietà: promemoria Strumento tipico dell OOP per riusare il codice e creare
DettagliI casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.
UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d
DettagliCatia Trubiani. Laboratorio di Ingegneria del Software a.a. 2013-2014
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
DettagliSoluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
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 Incapsulamento Polimorfismo e Overloading Ereditarietà e Overriding Esercizi svolti Esercizi proposti Paradigma OO Le
DettagliModellazione dei dati in UML
Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):
DettagliMODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni
MODELLO E/R Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata individuandone
DettagliConcetto di Funzione e Procedura METODI in Java
Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile
DettagliPROGETTAZIONE 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.
Dettagliprogettare buone gerarchie
progettare buone gerarchie 1 generalizzazione permette di definire dettagli del modello a vari livelli di astrazione 2 generalizzazione le istanze delle classi più specifiche sono istanze anche delle classi
DettagliAPPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)
ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1) Un insieme è una collezione di oggetti. Il concetto di insieme è un concetto primitivo. Deve esistere un criterio chiaro, preciso, non ambiguo, inequivocabile,
DettagliIdentificare le classi in un sistema
3.7 (Caso di studio facoltativo) Pensare a oggetti: identificare le classi nella specifica del problema Cominciamo ad affrontare la progettazione del simulatore di ascensore introdotto nel capitolo. Iniziamo
DettagliBasi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007
Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE
DettagliIntroduzione. Java. Composizione. Esempio -- composizione. G. Prencipe prencipe@di.unipi.it. È qualcosa che abbiamo già visto varie volte
Java riutilizzo delle classi G. Prencipe prencipe@di.unipi.it Introduzione Una delle caratteristiche fondamentali in Java è il riutilizzo del codice Ci sono due modi per ottenerlo Creare oggetti di classi
DettagliModulo 4: Ereditarietà, interfacce e clonazione
Modulo 4: Ereditarietà, interfacce e clonazione Argomenti Trattati: Classi, Superclassi e Sottoclassi Ereditarietà Ereditarietà ed Attributi Privati Override super Ereditarietà e Costruttori Polimorfismo
DettagliDatabase. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014
Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche
DettagliRealizzazione di una classe con un associazione
Realizzazione di una classe con un associazione Nel realizzare una classe che è coinvolta in un associazione, ci dobbiamo chiedere se la classe ha responsabilità sull associazione. Diciamo che una classe
DettagliElementi di UML (7): Diagrammi dei componenti e di deployment
Elementi di UML (7): Diagrammi dei componenti e di deployment Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio
DettagliMetodologie di progetto Estensione di classi Implementazione di interfacce Composizione
Gerarchie di Tipi Metodologie di progetto Estensione di classi Implementazione di interfacce Composizione Notazione UML Relazione Simbolo Significato Ereditarietà Implementazione Aggregazione Dipendenza
DettagliAlcuni Design Pattern in Java
Marco Faella Alcuni Design Pattern in Java basato su Progettazione del Software e Design Pattern in Java, di Cay Horstmann Pattern ITERATOR Contesto: 1) Un oggetto (aggregato) contiene altri oggetti (elementi)
DettagliUML: Class Diagram. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it
UML: Class Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Class Diagram Forniscono una vista strutturale
DettagliLE BASI DI DATI. Seconda parte La progettazione di database Relazionali SCHEMA CONCETTUALE LE ASSOCIAZIONI
LE BASI DI DATI Seconda parte La progettazione di database Relazionali SCHEMA CONCETTUALE LE ASSOCIAZIONI L'associazione (in inglese Relationship) descrive eventuali legami concettuali tra una, due o più
DettagliBasi 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à
Dettagli12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP)
12 - Introduzione alla Programmazione Orientata agli Oggetti (Object Oriented Programming OOP) Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica,
DettagliTipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:
Tipi primitivi Il linguaggio Java offre alcuni tipi di dato primitivi Una variabile di tipo primitivo può essere utilizzata direttamente. Non è un riferimento e non ha senso tentare di istanziarla mediante
DettagliBasi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2
Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980
DettagliCorso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005
Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Si noti che le soluzioni ai quesiti saranno considerate
DettagliCapitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti
Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta
DettagliProgettazione del Software
L4.4 Progettazione del Software Emiliano Casalicchio Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti http://www.ce.uniroma2.it/courses/psw Seconda Parte La fase di
DettagliLezione 2. Il modello entità relazione
Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste
DettagliI Sistemi Informativi
I Sistemi Informativi Definizione Un Sistema Informativo è un mezzo per acquisire, organizzare, correlare, elaborare e distribuire le informazioni che riguardano una realtà che si desidera descrivere e
DettagliIntroduzione a Classi e Oggetti
Introduzione a Classi e Oggetti Oggetto: concetto astratto Entità di un programma dotata di tre proprietà caratteristiche stato informazioni conservate nell oggetto condizionano il comportamento dell oggetto
DettagliProgettazione di basi di dati. Progettazione di basi di dati. Ciclo di vita dei sistemi informativi. Fasi del ciclo di vita [1]
Progettazione di basi di dati Progettazione di basi di dati Requisiti progetto Base di dati Struttura Caratteristiche Contenuto Metodologia in 3 fasi Progettazione concettuale Progettazione logica Progettazione
DettagliTesto Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.
Testo Esercizio Un negozio di musica vende anche libri e riviste musicali. Si intende automatizzare l intero processo, dall approvvigionamento alla vendita. Si analizzino i requisiti e se ne rappresentino
DettagliSistemi ICT per il Business Networking
Corso di Laurea Specialistica Ingegneria Gestionale Sistemi ICT per il Business Networking Unified Modelling Language (UML) Class Diagram Docente: Massimo Cossentino Slide adattate dagli originali di:
DettagliFondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html. Outline
Fondamenti di Informatica C Esercitazioni di Laboratorio / 3 http://polaris.ing.unimo.it/fic/laboratorio.html Ing. Francesco De Mola demola.francesco@unimore.it DII, Modena Via Vignolese (lab. Dottorandi
DettagliGuida all uso di Java Diagrammi ER
Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con
DettagliJava Virtual Machine
Java Virtual Machine programmi sorgente: files.java compilatore files.class bytecode linker/loader bytecode bytecode Java API files.class interprete macchina ospite Indipendenza di java dalla macchina
DettagliTesto Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.
Testo Esercizio Si consideri la realizzazione di un semplice programma grafico per il disegno di figure geometriche in due dimensioni. Si analizzino i requisiti e se ne rappresentino i risultati in UML
DettagliModello 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
DettagliDATABASE. www.andreavai.it
Cos'è un database? Quando si usa? Differenze con i fogli elettronici Le tabelle: record, campi, tipi di dati Chiavi e indici Database relazionali (R-DBMS) Relazioni uno-a-uno Relazioni uno-a-molti Relazioni
DettagliLa prima applicazione Java. Creazione di oggetti - 1. La prima applicazione Java: schema di esecuzione. Gianpaolo Cugola - Sistemi Informativi in Rete
La prima applicazione Java Programma MyFirstApplication Il programma visualizza una finestra vuota sullo schermo. Importo il package delle classi usate nel seguito. Dichiaro la classe MyFirstApplication
DettagliInformatica (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.
DettagliJava: Compilatore e Interprete
Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT
DettagliGESTIONE DEI PROCESSI
Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto
DettagliObiettivi dell esercitazione. Requisiti (cont.) Requisiti. Università di Roma La Sapienza A.A. 2008-2009. Facoltà di Ingegneria Sede di Latina
Università di Roma La Sapienza A.A. 2008-2009 Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria Informatica ed Ingegneria dell Informazione Corso di PROGETTAZIONE DEL SOFTWARE Esercitazione sulla
DettagliDatabase: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro
Database relazionali: un'introduzione Database: collezione di fatti, registrabili e con un ben preciso significato, relazionati fra di loro Rappresentazione astratta di aspetti del mondo reale (Universe
DettagliFunzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
DettagliTraccia di soluzione dell esercizio del 25/1/2005
Traccia di soluzione dell esercizio del 25/1/2005 1 Casi d uso I casi d uso sono in Figura 1. Ci sono solo due attori: il Capo officina e il generico Meccanico. Figura 1: Diagramma dei casi d uso. 2 Modello
DettagliObject Oriented Programming
OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in
DettagliAlessandra 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
DettagliDFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA
UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA DISPENSA DEL CORSO DI SISTEMI INFORMATIVI Prof. Carlo Combi DFD Appunti a cura di E. Peri M. Devincenzi Indice 1
DettagliCorso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 13 settembre 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
DettagliUniversità di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a. 2009-10. prof.
Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 009-10 prof. Viviana Bono Blocco 9 Metodi statici: passaggio parametri, variabili locali, record
DettagliConcetti di base di ingegneria del software
Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza
DettagliEsercitazione n 4. Obiettivi
Esercitazione n 4 Obiettivi Progettare e implementare per intero un componente software in Java Linguaggio Java: Classi astratte Utilizzo di costruttori e metodi di superclasse Polimorfismo Esempio guida:
DettagliMODELLO E/R. Modellazione dei dati
MODELLO E/R Maria Mirto Modellazione dei dati Modellare i dati significa: costruire una rappresentazione semplificata della realtà osservata, individuandone gli elementi caratterizzanti e i legami intercorrenti
DettagliSoluzione dell esercizio del 12 Febbraio 2004
Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale
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
DettagliIngegneria del Software: UML Class Diagram
Ingegneria del Software: UML Class Diagram Due on Mercoledì, Aprile 1, 2015 Claudio Menghi, Alessandro Rizzi 1 Contents Ingegneria del Software (Claudio Menghi, Alessandro Rizzi ): UML Class Diagram 1
DettagliLa progettazione concettuale: il modello ER. 17/12/2007 Unità di Apprendimento A2 1
La progettazione concettuale: il modello ER 17/12/2007 Unità di Apprendimento A2 1 1 La progettazione concettuale Prima di procedere con la progettazione concettuale è necessario effettuare un analisi
DettagliProgrammazione A.A. 2002-03. Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII)
Programmazione A.A. 2002-03 I Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII) Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università
DettagliTelematica II 17. Esercitazione/Laboratorio 6
Multitasking e Multithreading Telematica II 17. Esercitazione/Laboratorio 6 Multitasking si riferisce all abilità di un computer di eseguire processi (jobs) multipli in maniera concorrente si ricorda che
DettagliEsercizi della lezione 5 di Java
Esercizi della lezione 5 di Java Esercizio 5 Create il tipo di dato Counter dell Esercizio 1 come sottoclasse del tipo di dato SimpleCounter. Esercizio 1 Create un tipo di dato Counter che abbia: un valore
DettagliObject Oriented Software Design
Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Object Oriented Software Design Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria
Dettagli!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9
!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se
DettagliUno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti:
Javadoc Uno dei pregi di Java è quello di integrare la documentazione con il codice stesso Formato dei commenti: /* commenti */ // commenti /** commenti documentazione */ Questi ultimi generano automaticamente
DettagliParola chiave extends
Il Linguaggio Java Ereditarietà Ereditarietà L'ereditarietà permette di creare nuove classi sulla base di classi esistenti In particolare, permette di riusare il codice (metodi e campi); aggiungere nuovi
DettagliTelerilevamento e GIS Prof. Ing. Giuseppe Mussumeci
Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme
DettagliUML. Unified Modeling Language (linguaggio di modellazione unificato) prof. Antonio Gervasi IIS «A.Meucci» Casarano
UML Unified Modeling Language (linguaggio di modellazione unificato) 1 Cos è UML L UML nasce negli anni 90 come unificazione di diverse metodologie di analisi. Si propone come strumento per facilitare
DettagliSequence Diagram e Collaboration Diagram
Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction
DettagliAnno 1. Le relazioni fondamentali (equivalenza, d'ordine, inverse, fra insiemi)
Anno 1 Le relazioni fondamentali (equivalenza, d'ordine, inverse, fra insiemi) 1 Introduzione In questa lezione imparerai a utilizzare le diverse tipologie di relazione e a distinguerle a seconda delle
DettagliL ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo
Design Pattern L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo sviluppo dei programmi, il loro mantenimento,
DettagliDalla 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
DettagliUn modello è ragionevole quando contiene queste tre caratteristiche.
Testo Esercizio Si consideri un agenzia che opera come biglietteria ferroviaria, aerea e navale, accettando diversi modi di pagamento. Si identifichino le principali entità coinvolte illustrando le gerarchie
DettagliEsercitazione di Basi di Dati
Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza
DettagliJava:Struttura di Programma. Fabio Scanu a.s. 2014/2015
Java:Struttura di Programma Fabio Scanu a.s. 2014/2015 Altre Attenzioni da riservare Java è Case Sensitive: La variabile «a» e la variabile «A» sono diverse Java ha alcune regole di scrittura: I nomi delle
DettagliBasi di Dati e Sistemi Informativi. Progettazione logica: Il modello relazionale
Basi di Dati e Sistemi Informativi Progettazione logica: Il modello relazionale Corso di Laurea in Ing. Informatica Ing. Gestionale Magistrale Introduzione Basato sul lavoro di Codd (~1970) E attualmente
DettagliIndice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
DettagliOggetti Lezione 3. aspetti generali e definizione di classi I
Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione
DettagliProgettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
DettagliClaudia 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
DettagliProgettazione : Design Pattern Creazionali
Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali
DettagliCorso di Amministrazione di Reti A.A. 2002/2003
Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm
DettagliLo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica.
Progettazione logica Lo schema concettuale risultante dalla progettazione concettuale è l input alla fase di progettazione logica. La progettazione logica è basata su un particolare modello logico dei
DettagliIntroduzione alla Programmazione Orientata agli Oggetti. Classi, Oggetti e Messaggi
Introduzione alla Programmazione Orientata agli Oggetti Classi, Oggetti e Messaggi Agenda 1. La metodologia di progettazione ad oggetti Concetti fondamentali: oggetti, classi, messaggi 2. I concetti fondamentali
DettagliBASI DI DATI - : I modelli di database
BASI DI DATI - : I modelli di database DAL 1960 ci si e' orientati verso 3 direzioni: 1 MODELLO GERARCHICO Se i dati si presentano naturalmente in una struttura ad albero (ES. File System) Limiti: rigidità
DettagliLinguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008. Esercitazione. Programmazione Object Oriented in Java
Linguaggi Corso M-Z - Laurea in Ingegneria Informatica A.A. 2007-2008 Alessandro Longheu http://www.diit.unict.it/users/alongheu alessandro.longheu@diit.unict.it Programmazione Object Oriented in Java
DettagliRegione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da
ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario
DettagliIngegneria del Software T
Home Finance 1 Requisiti del cliente 1 Si richiede di realizzare un sistema per la gestione della contabilità familiare. Il sistema consente la classificazione dei movimenti di denaro e la loro memorizzazione.
DettagliDB - Modello relazionale dei dati. DB - Modello Relazionale 1
DB - Modello relazionale dei dati DB - Modello Relazionale 1 Definizione Un modello dei dati è un insieme di meccanismi di astrazione per definire una base di dati, con associato un insieme predefinito
Dettagli