Obiettivi dell esercitazione. Requisiti (cont.) Requisiti. Sapienza Università di Roma A.A

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Obiettivi dell esercitazione. Requisiti (cont.) Requisiti. Sapienza Università di Roma A.A"

Transcript

1 Sapienza Università di Roma A.A Laurea in Ingegneria dell Informazione Sede di Latina Laurea in Ingegneria dell Informazione consorzio Nettuno Corso di PROGETTAZIONE DEL SOFTWARE Esercitazione sulla FASE DI ANALISI E DI PROGETTO SOLUZIONE Obiettivi dell esercitazione Partendo da un insieme di requisiti, svolgere la fase di analisi, producendo diagramma delle classi, diagramma dei casi d uso. Successivamente, effettuare la fase di progetto in maniera completa, ovvero: 1. progetto di algoritmi per le operazioni degli use case e delle classi UML; 2. scelta delle classi UML che hanno responsabilità sulle associazioni; 3. scelta/progetto delle strutture di dati; 4. scelta della corrispondenza fra tipi UML e Java; 5. scelta della tecnica di gestione delle precondizioni; 6. scelta della gestione delle proprietà di una classe UML; 7. scelta della rappresentazione degli stati in Java. 8. progetto della API delle principali classi Java. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 2 Requisiti Requisiti (cont.) L applicazione da progettare riguarda le informazioni sul rapporto tra quotidiani e lettori. Di ogni quotidiano interessa il nome, il capitale sociale (in migliaia di Euro), l anzianità (cioè da quanti anni viene pubblicato), e la quotazione, che si ottiene moltiplicando il capitale sociale per l anzianità. Di ogni quotidiano interessa anche conoscere le convenzioni in atto: una convenzione viene stipulata tra un quotidiano, un giornalaio, ed un cliente, e prevede che il giornalaio riservi ogni giorno un certo numero (maggiore di zero) di copie del quotidiano al cliente. Per ogni quotidiano interessa quindi conoscere tutte le informazioni sulle convenzioni in atto, ovvero: giornalaio coinvolto nella convenzione, cliente coinvolto nella convenzione, e relativo numero di copie riservate a fronte della convenzione. L unica restrizione sulle convenzioni è che uno stesso cliente non può stipulare due convenzioni diverse con lo stesso giornalaio per lo stesso quotidiano. Infine, di ogni quotidiano interessa conoscere il gradimento ottenuto dai clienti nell ultima indagine. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 3 Il gradimento viene rilevato mediante specifiche indagini e stabilisce, per i vari clienti, un indice (numero intero) per i diversi quotidiani, che indica appunto il gradimento dei clienti per i quotidiani. In genere, in una indagine, un cliente comunica il gradimento solo per una parte dei quotidiani, e non vi è alcuna assicurazione che per un quotidiano venga espresso il gradimento di almeno un cliente. I quotidiani politici sono quotidiani di proprietà di un partito politico, e di ciascuno di essi interessa il partito che detiene la sua proprietà, e gli abbonamenti con i clienti. Un abbonamento è un accordo tra un quotidiano politico ed un cliente, che prevede la spedizione al cliente stesso di ogni numero del quotidiano politico. La quotazione di un quotidiano politico si calcola moltiplicando il capitale sociale per l anzianità, diminuendo il risultato del 20%, e sommando poi il numero di abbonamenti di quel quotidiano politico. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 4

2 Requisiti (cont.) Requisiti (cont.) L associazione degli editori deve poter effettuare, come cliente della nostra applicazione, dei controlli sui giornali. A questo scopo, si faccia riferimento ad uno use case che prevede le seguenti operazioni: Di ogni giornalaio interessa il codice fiscale e l anno di inizio attività. ogni cliente interessa il nome, l indirizzo e l età. Un cliente può essere in regola con i pagamenti dei suoi abbonamenti, oppure moroso. Ogni volta che si riconosce che non ha effettuato i pagamenti dovuti, il cliente riceve un sollecito, fino ad un massimo di tre solleciti. Al terzo sollecito vengono cancellati tutti i suoi abbonamenti. In ogni momento il cliente può ritornare ad essere in regola, pagando il dovuto. Di dato un numero intero x, e dato un insieme S di quotidiani, si deve restituire un insieme che raccolga ogni quotidiano in S che ha la quotazione maggiore o uguale x, e che ha almeno una convenzione che coinvolge un cliente che ha espresso per esso gradimento minore di zero nell ultima indagine; dato un quotidiano politico, calcolare la percentuale, fra i suoi abbonati che hanno espresso per esso gradimento nell ultima indagine, di quelli che hanno espresso per esso gradimento minore di zero. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 5 Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 6 Diagramma delle classi UML Specifica delle classi UML Quotidiano nome: stringa capitalesociale: intero anzianità: intero positivo convenzione numerocopie: intero positivo Giornalaio codfiscale: stringa annoinizioattività: intero InizioSpecificaClasse Quotidiano pre: nessuna post: result è pari a this.capitalesociale * this.anzianità. vedi diagramma degli stati e delle transizioni InizioSpecificaClasse QuotidianoPolitico is-a Quotidiano QuotidianoPolitico partito: stringa gradimento indice: intero abbonamento nome: stringa indirizzo: stringa età: intero pre: nessuna post: result è pari a this.capitalesociale * this.anzianità * this.abbonamento, dove, this.abbonamento è l insieme degli oggetti di tipo legati a this tramite link di tipo abbonamento. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 7 Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 8

3 Specifica delle classi UML(notazione formale) Diagramma degli use case InizioSpecificaClasse Quotidiano pre: true post: result = this.capitalesociale this.anzianità InizioSpecificaClasse pre: true post: Definiamo Abb come l insieme QuotidianoPolitico is-a Quotidiano {c c < this, c > abbonamento} result = this.capitalesociale this.anzianità card(abb) AssociazioneEditori effettua controlli ControlliGradimento Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 9 Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 10 Specifica dello use case Specifica dello use case (cont.) InizioSpecificaUseCase ControlliGradimento RaccogliQuotidiani (x: intero, S: Insieme(Quotidiano)): Insieme(Quotidiano) pre: nessuna post: result è il sottoinsieme di S tale che ogni quotidiano q result ha tutte le seguenti caratteristiche: q.quotazione() x, esistono un cliente c e un giornalaio g tali che: esiste un link di tipo convenzione tra q, c e g,... GradimentoFraAbbonati (q: QuotidianoPolitico): reale pre: q ha almeno un abbonato che espresso per esso gradimento nell ultima indagine. post: result è la percentuale, fra gli abbonati di q che hanno espresso per q gradimento nell ultima indagine, di quelli che hanno espresso per q gradimento minore di zero. FineSpecifica esiste un link l di tipo gradimento fra c e q tale che l.indice < 0. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 11 Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 12

4 Specifica dello use case (notazione formale) Specifica dello use case (notazione formale)... InizioSpecificaUseCase ControlliGradimento RaccogliQuotidiani (x: intero, S: Insieme(Quotidiano)): Insieme(Quotidiano) pre: true post: Definiamo Quot come l insieme {q q S q.quotazione() x} result = {q q Quot c g Giornalaio < q,c,g > convenzione gradimento.indice(q,c) < 0} GradimentoFraAbbonati (q: QuotidianoPolitico): reale pre: Definiamo GradAbb come l insieme {c < q,c > gradimento < q,c > abbonamento} GradAbb 0 post: Definiamo GradAbbN come l insieme {c c GradAbbN gradimento.indice(q,c) < 0} result = (card(gradabbn)/card(gradabb)) 100 FineSpecifica Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 13 Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 14 in regola Diagramma degli stati e delle transizioni classe non paga paga moroso sollecitato 1 volta non paga sollecitato 2 volte non paga/ cancella abbonamenti sollecitato 3 volte Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 15 Algoritmi L operazione quotazione() delle classi Quotidiano e QuotidianoPolitico è descritta in maniera sufficientemente dettagliata dalla specifica. Per l operazione RaccogliQuotidiani adottiamo il seguente algoritmo: Insieme(Quotidiano) result = insieme vuoto; per ogni quotidiano q di S se q.quotazione() >= x allora Insieme() cl = insieme vuoto; per ogni link t di tipo gradimento in cui q è coinvolto se t.indice < 0 allora inserisci t. in cl; per ogni link v di tipo convenzione in cui q è coinvolto se v. è in cl allora inserisci q in result; return result; Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 16

5 Algoritmi (cont.) Responsabilità sulle associazioni Per l operazione GradimentoFraAbbonati adottiamo il seguente algoritmo: Insieme(gradimento) G = insieme di link di tipo gradimento in cui q è coinvolto; Insieme(abbonamento) A = insieme di link di tipo abbonamento in cui q è coinvolto; int quantiesprimono = 0; int quantiscontenti = 0; per ogni link ab di A per ogni link gr in G se (ab. == gr.) allora quantiesprimono++; se gr.indice < 0 allora quantiscontenti++; return quantiscontenti * 100 / quantiesprimono; Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 17 Dai requisiti: Di ogni quotidiano interessa conoscere le convenzioni in atto. Di ogni quotidiano interessa conoscere il gradimento. Di ciascun quotidiano politico interessano gli abbonamenti con i clienti. Non ci sono molteplicità massime finite o minime diverse da zero. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 18 Responsabilità sulle associazioni (cont.) Per la realizzazione degli algoritmi: RaccogliQuotidiani: a partire da un oggetto q che è istanza di Quotidiano dobbiamo conoscere le istanze di gradimento e quelle di tipo convenzione alle quali q partecipa; GradimentoFraAbbonati: a partire da un oggetto q che è istanza di Quotidiano dobbiamo conoscere le istanze di gradimento e quelle di tipo abbonamento alle quali c partecipa. Possiamo riassumere il risultato delle considerazioni precedenti nella seguente tabella delle responsabilità. Associazione Classe ha resp. convenzione Quotidiano SÌ 1,2 NO Giornalaio NO gradimento Quotidiano SÌ 1,2 NO abbonamento QuotidianoPolitico SÌ 1,2 NO 1. dai requisiti 2. dagli algoritmi 3. dai vincoli di molteplicità Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 19 Strutture di dati Abbiamo la necessità di rappresentare collezioni omogenee di oggetti, per i seguenti motivi: Poiché la classe Quotidiano ha responsabilità sulle associazioni convenzione e gradimento, la cui molteplicità è, per la realizzazione di quest ultima avremo bisogno di rappresentare insiemi di link. Lo stesso si può dire prendendo in considerazione la classe QuotidianoPolitico. Per rappresentare l input dell operazione RaccogliQuotidiani avremo bisogno di un opportuno insieme di quotidiani. Per fare ciò, utilizzeremo Set<Elem> e HashSet<Elem> del Collections Framework di Java 1.5. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 20

6 Corrispondenza fra tipi UML e Java La tabella di corrispondenza dei tipi UML è la seguente. Tipo UML intero intero positivo stringa Rappresentazione in Java int int String Per tenere conto del fatto che int è semanticamente più esteso del tipo UML intero positivo, prevediamo una verifica delle condizioni di ammissibilità nel lato server, ovvero nella classe Java per convenzione e Quotidiano. Analogamente, per tenere conto del fatto che l operazione di use case GradimentoFraAbbonati ha precondizioni, ne prevediamo la verifica nel lato server, ovvero nel metodo Java che realizzerà tale operazione. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 21 Tabelle di gestione delle proprietà di classi UML Dobbiamo decidere se è il caso di operare scelte diverse da quelle di default (ovvero tutte le proprietà sono mutabili, le proprietà singole sono note alla nascita, le proprietà multiple non sono note alla nascita). Riassumeremo tutte le nostre scelte differenti da quelle di default mediante la tabella delle proprietà immutabili e la tabella delle assunzioni sulla nascita. In particolare, quest ultima sarà vuota. Classe UML Quotidiano QuotidianoPolitico Giornalaio Proprietà immutabile nome partito nome codfiscale annoinizioattività Proprietà Classe UML nota alla nascita non nota alla nascita Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 22 Rappresentazione degli stati in Java Classe UML. Rappresentazione in Java del diagramma degli stati e delle transizioni. Tabella di codifica degli stati mediante una variabile int. Rappresentazione in Java tipo var. int Stato nome var. stato in regola valore 1 sollecitato 1 volta valore 2 sollecitato 2 volte valore 3 sollecitato 3 volte valore 4 Il macrostato moroso può essere rappresentato implicitamente. Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 23 API di ogni classe Java progettata A titolo di esempio, riportiamo la API della classe Java. public class { // COSTRUTTORI /** n: nome, i: indirizzo */ public (String n, String i) { } // GESTIONE ATTRIBUTI public String getnome() { return null; } public String getindirizzo() { return null; } public int geteta() { return 0; } public void setindirizzo(string c) { } public void seteta() { } // GESTIONE ASSOCIAZIONI // - abbonamento: non ha responsabilità // - gradimento: non ha responsabilità // - convenzione: non ha responsabilità // OPERAZIONI DI CLASSE // assenti // GESTIONE EVENTI public void paga() { } public void non_paga() { } // STAMPA public String tostring() { return null; } } Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 24

7 Struttura dei file e dei package \---AppQuotidiani.java Giornalaio.java InsiemeListaOmogeneo.java TipoLinkConvenzione.java TipoLinkGradimento.java UseCaseAssociazioneEditori.java +---Quotidiano Quotidiano.java \---QuotidianoPolitico QuotidianoPolitico.java Progettazione del Software Esercitazione sulle fasi di analisi e di progetto 25

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

Obiettivi 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

Dettagli

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria Sapienza - Università di Roma Facoltà di Ingegneria Requisiti Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Prof. Giuseppe De Giacomo Canali A-L & M-Z A.A. 2006-07 Compito

Dettagli

Requisiti. Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria

Requisiti. Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria Sapienza - Università di Roma Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Prof. Giuseppe De Giacomo Canali A-L & M-Z A.A. 2006-07 Compito d esame

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso

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 Requisiti L applicazione

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

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.)

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) SAPIENZA Università di Roma Facoltà di Ingegneria Sede di Latina Corso di Laurea in Ingegneria Informatica e dell Informazione Requisiti Corso di PROGETTAZIONE DEL SOFTWARE Prof. Domenico Lembo A.A. 2008-09

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software Simulazione di esame II Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Requisiti L applicazione

Dettagli

SOLUZIONE. Requisiti. Requisiti (cont.) Fase di analisi. Università di Roma La Sapienza Facoltà di Ingegneria

SOLUZIONE. Requisiti. Requisiti (cont.) Fase di analisi. Università di Roma La Sapienza Facoltà di Ingegneria Università di Roma La Sapienza Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Proff. Marco Cadoli e Giuseppe De Giacomo Canali A-L & M-Z A.A. 2005-06

Dettagli

SOLUZIONE. Requisiti. Requisiti (cont.) Fase di analisi. Università di Roma La Sapienza, Facoltà di Ingegneria

SOLUZIONE. Requisiti. Requisiti (cont.) Fase di analisi. Università di Roma La Sapienza, Facoltà di Ingegneria Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Ing. Informatica) Proff. Marco Cadoli e Maurizio Lenzerini, Canali A-L & M-Z A.A. 2003-04 Compito d esame del

Dettagli

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software simulazione di esame III Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Requisiti L'applicazione da progettare riguarda la

Dettagli

Corso di Progettazione del Software

Corso di Progettazione del Software T. Mancini & M. Scannapieco E.P.1 Segreteria Studenti (SOLUZIONE) February 25, 2008 p. 1/20 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso

Dettagli

Università di Roma La Sapienza Facoltà di Ingegneria

Università di Roma La Sapienza Facoltà di Ingegneria Università di Roma La Sapienza Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Proff. Giuseppe De Giacomo e Marco Cadoli Canali A-L & M-Z A.A. 2004-05

Dettagli

Corso di Progettazione del Software

Corso di Progettazione del Software T. Mancini & M. Scannapieco E.P.2 Progetti universitari (SOLUZIONE) February 26, 2008 p. 1/21 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso

Dettagli

La fase di progetto e realizzazione. PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Diagramma delle classi realizzativo

La fase di progetto e realizzazione. PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Diagramma delle classi realizzativo Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Prof. Giuseppe De Giacomo & Monica Scannapieco Anno Accademico 2003/04 LA FASE DI PROGETTO E

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software La fase di progetto Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Le slide di questo corso sono

Dettagli

Progettazione del Software

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

Dettagli

Fasi del ciclo di vita del software (riassunto)

Fasi del ciclo di vita del software (riassunto) Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Ing. Informatica, Nuovo Ordinamento) Prof. Giuseppe De Giacomo, Canale A-L & M-Z, A.A. 2006-07 TERZA PARTE:

Dettagli

Università di Roma La Sapienza, Facoltà di Ingegneria

Università di Roma La Sapienza, Facoltà di Ingegneria Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Ing. Informatica, Nuovo Ordinamento) Prof. Marco Cadoli, Canale A-L, A.A. 2005-06 Esercitazione numero 6 LA

Dettagli

Fasi del ciclo di vita del software (riassunto)

Fasi del ciclo di vita del software (riassunto) Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Insegnamento di PROGETTAZIONE

Dettagli

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

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto) Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Fasi del ciclo di vita del

Dettagli

Proff. Toni Mancini & Monica Scannapieco Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza

Proff. Toni Mancini & Monica Scannapieco Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza Università di Roma La Sapienza Facoltà di Ingegneria - Laurea in Ing. Gestionale Progettazione del Software Proff. Toni Mancini & Monica Scannapieco Dipartimento di Informatica e Sistemistica Università

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software La fase di realizzazione (parte I) Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Anno Accademico

Dettagli

Progettazione del Software Analisi

Progettazione del Software Analisi Progettazione del Software Analisi: UML Use Cases & Documenti di Specifica Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti SAPIENZA Università di Roma Le slide di questo

Dettagli

Fasi del ciclo di vita del software (riassunto)

Fasi del ciclo di vita del software (riassunto) SAPIENZA Università di Roma, Facoltà di Ingegneria Laurea in Ingegneria Informatica Corso di PROGETTAZIONE DEL SOFTWARE Prof. Giuseppe De Giacomo LA FASE DI PROGETTO (Diagrammi delle Classi) Fasi del ciclo

Dettagli

Diagramma delle classi UML

Diagramma delle classi UML Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Prof. Giuseppe De Giacomo, A.A. 2001-02 SOLUZIONE ESAME DEL 25/06/2002 Roma, 23 giugno 2003 1

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software Analisi: UML Use Cases & Documenti di Specifica Domenico Lembo Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Corso di Laurea in Ingegneria

Dettagli

//UML-class-diagram.txt. entrambe Molo e PostoBarca hanno responsabilità su contiene. solo PostoBarca ha responsabilità su assegnato, e

//UML-class-diagram.txt. entrambe Molo e PostoBarca hanno responsabilità su contiene. solo PostoBarca ha responsabilità su assegnato, e Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Prof. Giuseppe De Giacomo, A.A. 2001-02 SOLUZIONE ESAME DEL 25/06/2002 //UML-class-diagram.txt

Dettagli

Corso di Progettazione del Software

Corso di Progettazione del Software T. Mancini & M. Scannapieco S.R.1 La fase di Realizzazione: realizzazione di strutture dati February 26, 2008 p. 1/22 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in

Dettagli

La fase di realizzazione

La fase di realizzazione SAPIENZA Università di Roma, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I Laurea in Ingegneria Informatica Prof. Giuseppe De Giacomo A.A. 2007/08 QUARTA PARTE: LA FASE DI REALIZZAZIONE (versione

Dettagli

Progetto PC versione del 11 gennaio 2008

Progetto PC versione del 11 gennaio 2008 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PC.20080110

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software La fase di realizzazione Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Sapienza Università di Roma Le slide di questo corso

Dettagli

Progetto PI , passo A.1 versione del 16 marzo 2007

Progetto PI , passo A.1 versione del 16 marzo 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PI.20050411,

Dettagli

Diagramma delle classi UML

Diagramma delle classi UML Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Prof. Giuseppe De Giacomo, A.A. 2002-03 SOLUZIONE ESAME DEL 11/07/2003 Roma, 11 luglio 2003 1

Dettagli

Diagramma delle classi UML. Diagramma e specifica degli use case. Specifica delel classi del diagramma

Diagramma delle classi UML. Diagramma e specifica degli use case. Specifica delel classi del diagramma Università di Roma La Sapienza, Facoltà di Ingegneria Diagramma delle classi UML Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Giuseppe De Giacomo e Monica Scannapieco, A.A. 2003-04 SOLUZIONE ESAME

Dettagli

Diagramma delle classi UML

Diagramma delle classi UML Università di Roma La Sapienza, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE (Ing. Gestionale) Giuseppe De Giacomo e Monica Scannapieco, A.A. 2003-04 SOLUZIONE ESAME DEL 11/07/2003 Roma, 9

Dettagli

Progetto PI , passo A.3 versione del 28 marzo 2007

Progetto PI , passo A.3 versione del 28 marzo 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PI.20050411,

Dettagli

Progetto PC versione del 12 marzo 2007

Progetto PC versione del 12 marzo 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PC.20050922

Dettagli

Corso di Progettazione del Software

Corso di Progettazione del Software T. Mancini & M. Scannapieco S.R.3 La fase di Realizzazione: realizzazione di associazioni a resp. singola February 26, 2008 p. 1/35 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 9: array

Fondamenti di informatica T-1 (A K) Esercitazione 9: array Fondamenti di informatica T-1 (A K) Esercitazione 9: array AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 9 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del

Dettagli

SAPIENZA Università di Roma, Facoltà di Ingegneria

SAPIENZA Università di Roma, Facoltà di Ingegneria SAPIENZA Università di Roma, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE Laurea in Ingegneria Informatica Prof. E.Casalicchio A.A. 2008/09 QUARTA PARTE: Soluzioni Esercizi 13-23 Soluzione

Dettagli

La fase di realizzazione. Realizzazione di una classe UML con soli attributi. Traduzione in Java del diagramma delle classi

La fase di realizzazione. Realizzazione di una classe UML con soli attributi. Traduzione in Java del diagramma delle classi SAPIENZA Università di Roma, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE Laurea in Ingegneria Informatica Prof. Giuseppe De Giacomo A.A. 2008/09 La fase di realizzazione si occupa di: La

Dettagli

La fase di realizzazione

La fase di realizzazione SAPIENZA Università di Roma, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE Laurea in Ingegneria Informatica Prof. Giuseppe De Giacomo LA FASE DI REALIZZAZIONE (Diagrammi delle classi) La fase

Dettagli

Realizzazione di una classe con un associazione

Realizzazione 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

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 04 Introduzione ai Tipi astratti di dato A. Miola Febbraio 2007 http://www.dia.uniroma3.it/~java/fondinf2/ Introduzione ADT 1

Dettagli

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Università di Roma La Sapienza Facoltà di Ingegneria

SOLUZIONE. Requisiti. Requisiti (cont.) Requisiti (cont.) Università di Roma La Sapienza Facoltà di Ingegneria Università di Roma La Sapienza Facoltà di Ingegneria Requisiti Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Prof. Giuseppe De Giacomo Canali A-L & M-Z A.A. 2006-07

Dettagli

SAPIENZA Università di Roma, Facoltà di Ingegneria

SAPIENZA Università di Roma, Facoltà di Ingegneria SAPIENZA Università di Roma, Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE Laurea in Ingegneria Informatica Prof. E.Casalicchio A.A. 2008/09 QUARTA PARTE: LA FASE DI REALIZZAZIONE Responsabilità

Dettagli

Progetto PC versione del 22 aprile 2008

Progetto PC versione del 22 aprile 2008 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PC.20080418

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

UML UNIFIED MODELING LANGUAGE

UML UNIFIED MODELING LANGUAGE UML UNIFIED MODELING LANGUAGE Cos è UML E un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (C, C++, Java, ) Fornisce una serie di diagrammi per rappresentare ogni tipo

Dettagli

Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione Corso di Laurea in Ingegneria Informatica

Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione Corso di Laurea in Ingegneria Informatica Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione Corso di Laurea in Ingegneria Informatica Esercitazioni di Progettazione del Software - A.A. 2009/2010 Prova al calcolatore del 18

Dettagli

SOLUZIONE. Requisiti. Requisiti (cont.) Fase di analisi. Università di Roma La Sapienza Facoltà di Ingegneria

SOLUZIONE. Requisiti. Requisiti (cont.) Fase di analisi. Università di Roma La Sapienza Facoltà di Ingegneria Università di Roma La Sapienza Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Proff. Giuseppe De Giacomo e Marco Cadoli Canali A-L & M-Z A.A. 2004-05

Dettagli

Progetto E versione del 12 marzo 2007

Progetto E versione del 12 marzo 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto E.20060411

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E16 Esercizi Strutture Collegate e Oggetti C. Limongelli Maggio 2012 1 Contenuti q Verifiche universali ed esistenziali su strutture

Dettagli

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

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto) Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria dell Informazione Fasi del ciclo di vita del software (riassunto) Corso di PROGETTAZIONE DEL SOFTWARE

Dettagli

A. Ferrari Object Oriented Design

A. Ferrari Object Oriented Design Object Oriented Design UML class diagram cos è UML o è un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (Python, C, C++, Java, ) o fornisce una serie di diagrammi per

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Object Oriented Programming: Fondamenti Prof. Stefano Mariani Dott. Alket Cecaj Indice Introduzione all OOP Classi vs. oggetti Campi

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

Dettagli

A. Ferrari Object Oriented Design

A. Ferrari Object Oriented Design Object Oriented Design UML class diagram cos è UML o è un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (Python, C, C++, Java, ) o fornisce una serie di diagrammi per

Dettagli

1 Catena di officine, versione 2

1 Catena di officine, versione 2 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Esercitazione E.A.3

Dettagli

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica

Dettagli

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1 Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero

Dettagli

Sistemi Informativi Aziendali. Programma del corso

Sistemi Informativi Aziendali. Programma del corso Sistemi Informativi Aziendali Corso di Laurea in Ingegneria Gestionale Programma del corso Anno Accademico 2008/09 Docente: Massimo Cossentino Programma del corso a.a. 2008-09 Introduzione al corso ICT

Dettagli

Riferimenti ad oggetti: Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro. Riferimenti ad oggetti: (Esempio)

Riferimenti ad oggetti: Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro. Riferimenti ad oggetti: (Esempio) Fondamenti di Informatica L-B Esercitazione n 4 Java: I/O, Costruttori e altro A.A. 2005/06 Tutor: Loris Cancellieri loris.cancellieri@studio.unibo.it Riferimenti ad oggetti: Cosa si può fare con i riferimenti?

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

Progetto PC versione del 2 aprile 2008

Progetto PC versione del 2 aprile 2008 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PC.20080401

Dettagli

Corso di Progettazione del Software

Corso di Progettazione del Software T. Mancini & M. Scannapieco S.JOO.3 Java: le classi Object e Class February 2, 2008 p. 1/12 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti 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

Dettagli

SOLUZIONE. Requisiti. Requisiti (cont.) Fase di analisi. Università di Roma La Sapienza Facoltà di Ingegneria

SOLUZIONE. Requisiti. Requisiti (cont.) Fase di analisi. Università di Roma La Sapienza Facoltà di Ingegneria Università di Roma La Sapienza Facoltà di Ingegneria Requisiti Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Proff. Giuseppe De Giacomo e Marco Cadoli Canali A-L & M-Z

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti

Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 8 Introduzione al calcolatore e Java Linguaggio Java, basi e

Dettagli

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010) Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Esercizi sui metodi Carla Limongelli Maggio 2010 Esercizi 1 Passaggio di parametri di tipo primitivo Indicare che cosa viene visualizzato sullo

Dettagli

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento)

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria. Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria Corso di INGEGNERIA DEL SOFTWARE (Ing. Informatica, Nuovo Ordinamento) Prof. Marco Cadoli, Canale M-Z A.A. 2005-06 ESERCITAZIONE SUL TEST

Dettagli

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I {

Interfacce. Esempio: interfaccia I con una sola funzione g() public interface I { Interfacce Una interfaccia è un astrazione per un insieme di funzioni pubbliche delle quali si definisce solo la segnatura, e non le istruzioni. Un interfaccia viene poi implementata da una o più classi

Dettagli

Il diagramma delle classi è raffigurato in Figura 1, insieme alla descrizione della responsabilità sulle associazioni.

Il diagramma delle classi è raffigurato in Figura 1, insieme alla descrizione della responsabilità sulle associazioni. SAPIENZA Università di Roma Facoltà di Ingegneria - Corso di Laurea in Ingegneria Informatica Corso di Progettazione del Software A.A. 2008/2009 Prova al calcolatore (riveduta) del 5 giugno 2009 L applicazione

Dettagli

Politecnico di Milano Ingegneria del Software a.a. 2008/09

Politecnico di Milano Ingegneria del Software a.a. 2008/09 Politecnico di Milano Ingegneria del Software a.a. 2008/09 Appello del 17 Luglio 2009 Cognome Nome Matricola Sezione (segnarne una) Baresi, Ghezzi, San Pietro Istruzioni 1. La mancata indicazione dei dati

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

UML2. Attività di Progettazione. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino

UML2. Attività di Progettazione. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino UML2 Attività di Progettazione Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Laboratorio di Ingegneria del Software) UML 2 Attività di

Dettagli

Esercizio: Lista Circolare

Esercizio: Lista Circolare Esercizio: Lista Circolare Si realizzi in Java un gestore di una lista circolare. La dimensione minima della lista è 2 elementi (ed è anche la dimensione iniziale). La dimensione massima è 20 elementi.

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

Dettagli

Unità B2.1. I tipi di dato

Unità B2.1. I tipi di dato (A) CONOSCENZA TERMINOLOGICA Dare una breve descrizione dei termini introdotti: char int float double boolean short long String conversione implicita conversione esplicita (B) CONOSCENZA E COMPETENZA Rispondere

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E04 Esercizi sui problemi di ordinamento C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Algoritmi di Ordinamento

Dettagli

Progetto PC versione del 20 settembre 2007

Progetto PC versione del 20 settembre 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PC.20070906

Dettagli

Esempio su strutture dati dinamiche: ArrayList

Esempio su strutture dati dinamiche: ArrayList Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti 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 Esercizi svolti Esercizi proposti Paradigma OO Nella programmazione tradizionale,

Dettagli

Ereditarietà e Polimorfismo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Ereditarietà e Polimorfismo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Ereditarietà e Polimorfismo Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Ereditarietà L ereditarietà è lo strumento che permette di costruire nuove classi utilizzando

Dettagli

Introduzione al Java Collections Framework. Progettazione del Software Anno Accademico Interfacce del Collections Framework

Introduzione al Java Collections Framework. Progettazione del Software Anno Accademico Interfacce del Collections Framework Università di Roma La Sapienza, Facoltà di Ingegneria Corso di Progettazione del Software Anno Accademico 2003-2004 Corso di Laurea in Ingegneria Gestionale Prof. Giuseppe De Giacomo & Prof. Monica Scannapieco

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA8 B1 Accesso sequenziale 1 Prerequisiti Programmazione ad oggetti Conoscenza classi di base di I/O Tecnica della programmazione 2 1 Introduzione In questa Unità vediamo

Dettagli

Progetto PI , passo P.1 versione del 11 marzo 2007

Progetto PI , passo P.1 versione del 11 marzo 2007 Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Corso di Laurea in Ingegneria Gestionale Corso di Progettazione del Software Proff. Toni Mancini e Monica Scannapieco Progetto PI.20050704,

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe/array Uguaglianza tra oggetti Utilizzo di classi come componenti

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

Alcuni diagrammi. OCL (Object Constraint Language)

Alcuni diagrammi. OCL (Object Constraint Language) UML e Java UML Alcune discipline ingegneristiche dispongono di validi mezzi di rappresentazione (schemi, diagrammi di prestazioni e consumi,...) Il software non dispone ancora di tecniche efficaci per

Dettagli