Obiettivi dell esercitazione. Requisiti (cont.) Requisiti. Sapienza Università di Roma A.A
|
|
- Gastone Mazzoni
- 5 anni fa
- Visualizzazioni
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
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
DettagliSOLUZIONE. 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
DettagliRequisiti. 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
DettagliSAPIENZA 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
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 Requisiti L applicazione
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
DettagliSOLUZIONE. 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
DettagliProgettazione 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
DettagliSOLUZIONE. 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
DettagliSOLUZIONE. 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
DettagliSAPIENZA 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
DettagliProgettazione 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
DettagliCorso 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
DettagliUniversità 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
DettagliCorso 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
DettagliLa 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
DettagliProgettazione 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
DettagliProgettazione 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
DettagliFasi 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:
DettagliUniversità 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
DettagliFasi 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
DettagliFasi 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
DettagliProff. 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à
DettagliProgettazione 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
DettagliProgettazione 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
DettagliFasi 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
DettagliDiagramma 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
DettagliProgettazione 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
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
DettagliCorso 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
DettagliLa 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
DettagliProgetto 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
DettagliProgettazione 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
DettagliProgetto 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,
DettagliDiagramma 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
DettagliDiagramma 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
DettagliDiagramma 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
DettagliProgetto 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,
DettagliProgetto 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
DettagliCorso 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
DettagliFondamenti 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
DettagliSAPIENZA 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
DettagliLa 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
DettagliLa 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
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
DettagliCorso 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
DettagliSOLUZIONE. 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
DettagliSAPIENZA 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à
DettagliProgetto 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
DettagliEsercitazione 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
DettagliUML 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
DettagliSapienza - 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
DettagliSOLUZIONE. 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
DettagliProgetto 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
DettagliCorso 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
DettagliFasi 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
DettagliA. 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
DettagliFondamenti 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
DettagliCorso 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
DettagliA. 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
Dettagli1 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
DettagliStrutture 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
DettagliCorso 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
DettagliSistemi 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
DettagliRiferimenti 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?
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
DettagliProgetto 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
DettagliCorso 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
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
DettagliSOLUZIONE. 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
DettagliFondamenti 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
DettagliEsercitazioni 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
DettagliCorso 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
DettagliUniversità 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
DettagliInterfacce. 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
DettagliIl 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
DettagliPolitecnico 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
DettagliEsercitazione 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
DettagliProgrammazione 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)
DettagliUML2. 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
DettagliEsercizio: 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.
DettagliCorso 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
DettagliUnità 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
DettagliCorso 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
DettagliProgetto 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
DettagliEsempio 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
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 Esercizi svolti Esercizi proposti Paradigma OO Nella programmazione tradizionale,
DettagliEreditarietà 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
DettagliIntroduzione 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
DettagliCorso 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
DettagliProgetto 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,
DettagliProgrammazione 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
DettagliEsercitazione 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
DettagliProgrammazione 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
DettagliAlcuni 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