Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it
Deployment diagram Package diagram Component diagram Esempio Bibliografia Sommario
Tipi di viste viste di tipo strutturale viste di tipo comportamentale (C&C) viste di tipo logistico
Tipi di viste con UML viste di tipo strutturale ) Package diagram viste di tipo comportamentale (C&C) ) Component diagram viste di tipo logistico ) Deployment diagram
Tipi di viste con UML viste di tipo strutturale ) Package diagram viste di tipo comportamentale (C&C) ) Component diagram viste di tipo logistico ) Deployment diagram
Tipi di viste con UML viste di tipo strutturale ) Package diagram viste di tipo comportamentale (C&C) ) Component diagram viste di tipo logistico ) Deployment diagram
Tipi di viste con UML viste di tipo strutturale ) Package diagram viste di tipo comportamentale (C&C) ) Component diagram viste di tipo logistico ) Deployment diagram
Deployment diagram Deployment diagram Package diagram Component diagram Esempio Bibliografia Sommario
Deployment diagram Deployment diagram Concetti di base Deployment diagram: grafo di nodi (risorse). Gli archi descrivono canali fisici o protocolli di comunicazione.
Deployment diagram Deployment diagram Elementi costitutivi Nodi Cuboidi che rappresentano le risorse di elaborazione (computer, memorie, periferiche, sensori) Associazioni Le associazioni di comunicazione collegano i nodi e possono indicare la natura della connessione tra i nodi
Deployment diagram Deployment diagram Esempio
Deployment diagram Deployment diagram Esempio
Deployment diagram Deployment diagram Esempio
Deployment diagram Deployment diagram Concetti di base Artefatto (artifact): manifestazione fisica del software Esempi di artefatti sono: un file sorgente un file binario eseguibile un messaggio un documento XML una pagina HTML un immagine uno script un database
Deployment diagram Deployment diagram Concetti di base Relazione di allocazione Si disegna l artefatto all interno del nodo
Deployment diagram Deployment diagram Esempio
Deployment diagram Deployment diagram Esempio
Deployment diagram Esempio: sistema ORDINI Activity diagram
Deployment diagram Esempio: sistema ORDINI Deployment diagram
Package diagram Deployment diagram Package diagram Component diagram Esempio Bibliografia Sommario
Package diagram Tipi di viste con UML viste di tipo strutturale ) Package diagram viste di tipo comportamentale (C&C) ) Component diagram viste di tipo logistico ) Deployment diagram
Package diagram Package diagram Costituenti Elementi Moduli Package Relazioni decomposizione eredita da usa (dipendenza dependency) può usare
Package diagram Package diagram Elementi UML Package
Package diagram Package diagram Relazioni : decomposizione Decomposizione di un package package2 è parte di package1 package3 è parte di package1 package4 è parte di package1
Package diagram Package diagram Relazioni : decomposizione Decomposizione di un package: esempio
Package diagram Package diagram Relazioni : use Relazione hhuseii Il package1 usa il package2
Package diagram Package diagram Relazioni : dipendenza Modifiche alla definizione del package2 possono comportare modifiche al package1
Package diagram Package diagram Relazioni : eredita da Relazione di generalizzazione Il package2 generalizza il package1 Alcune classi contenute nel package1 ereditano da alcune classi del package2.
Package diagram Package diagram Relazioni : eredita da Relazione di generalizzazione
Package diagram Package diagram Relazioni : può usare Relazione tra layer Il Layer1 può usare le funzioni del Layer2
Package diagram Package diagram Commento Remaining Agile I rarely create UML package diagrams in their own right, although I do apply packages on diagrams (particularly when I m using a CASE tool). I have heard of Java development teams using package diagrams to depict the high-level organization of their code base, Java natively supports packages of classes, although I don t see how it adds anything beyond the code browsing capabilities of Java development environments. The fact is that I find physical diagrams such as UML component diagrams much more useful. My best advice is to create a package diagram only if it adds value, and that when you do to keep things as simple as possible. Scott W. Ambler Introduction to UML 2 Package Diagrams http://www.agilemodeling.com/artifacts/packagediagram.htm
Package diagram Package diagram Commento I package sono utili per mettere assieme classi. I package diagram sono quindi uno strumento di organizzazione.
Package diagram Package diagram Commento Decomposizione dei sistemi di medie e grandi dimensioni decomposizione funzionale basata sulla separazione tra i processi (funzionalità) e dati. package Nei sistemi OO un package è un insieme di classi la cui interazione serve ad assolvere ad un certo compito Differenze tra Class Diagram e Package Diagram: il livello di astrazione
Package diagram Notazione Activity diagram
Package diagram Esempio: sistema ORDINI Deployment diagram
Package diagram Esempio: sistema ORDINI Deployment diagram
Package diagram Esempio: sistema ORDINI Considerazioni finali I Package Diagram aiutano a gestire la complessità di un sistema. a comprendere più facilmente il sistema a testare e manutenere il sistema
Package diagram Esempio: sistema ORDINI ESERCIZIO PROPOSTO Disegnare un package diagram un deployment diagram per il SISTEMA ORDINI.
Package diagram Deployment diagram Package diagram Component diagram Esempio Bibliografia Sommario
Component diagram Tipi di viste con UML viste di tipo strutturale ) Package diagram viste di tipo comportamentale (C&C) ) Component diagram viste di tipo logistico ) Deployment diagram
Component diagram UML C&C Costituenti : componente Elementi Un componente è unità concettuale costitutiva di un sistema a tempo di esecuzione.
Component diagram UML C&C Costituenti : porto Elementi Un componente è caratterizzato dalla sua interfaccia (definita usando i porti).
Component diagram UML C&C Costituenti : interfacce Interfacce fornite (BALL) Servizi che il componente offre all ambiente Figura: porto caratterizzato da un interfaccia fornita
Component diagram UML C&C Costituenti : interfacce Interfacce richieste (SOCKET) Servizi che il componente richiede all ambiente Figura: porto caratterizzato da un interfaccia richiesta
Component diagram UML C&C Costituenti : interfacce
Component diagram UML C&C Costituenti : connettori Modi di realizzare i connettori (Semini 2007) 1. collegando un interfaccia richiesta con una fornita 2. con una linea tra due (o più) porti
Component diagram UML C&C Esempio
Component diagram UML C&C Esempio : PIPE AND FILTER
Component diagram UML C&C Esempio : PIPE AND FILTER
Esempio Deployment diagram Package diagram Component diagram Esempio Bibliografia Sommario
Esempio Pub Requisiti Il proprietario di un pub ha deciso di introdurre un sistema per la raccolta e la gestione delle ordinazioni dei clienti, per migliorare il servizio diminuendo i tempi di attesa, e per semplificare le interazioni tra i dipendenti. Il pub è situato nella zona centrale di una città di medie dimensioni. D inverno il pub ha 25 tavoli nei locali interni, mentre d estate può utilizzare la piazza antistante per altri 15 tavoli. I clienti sono serviti ai tavoli o al bancone. V. Ambriola, C. Montangero, L. Semini, Esercizi di Ingegneria del Software (terza edizione). Nota didattica, 2007. http://www.di.unipi.it/~ambriola/is/radice.htm
Esempio Pub Requisiti Il servizio ai tavoli prevede la raccolta delle ordinazioni da parte dei camerieri e la successiva consegna delle bevande e degli snack ordinati. Di norma l ordinazione di un tavolo è raccolta una volta sola anche se, sempre più spesso, i clienti richiamano il cameriere per ordinare ulteriori bevande e snack. Il cameriere accetta solo ordinazioni che fanno riferimento a bevande e snack presenti sul menu giornaliero. V. Ambriola, C. Montangero, L. Semini, Esercizi di Ingegneria del Software (terza edizione). Nota didattica, 2007. http://www.di.unipi.it/~ambriola/is/radice.htm
Esempio Casi d uso
Esempio Pub Requisiti Raccolta l ordinazione, il cameriere la consegna al bar e in cucina. Uno dei baristi prende un ordinazione dalla lista di quelle da servire (rispettando l ordine temporale di consegna), prepara le bevande indicate su un vassoio che appoggia sul bancone, a disposizione del cameriere. Lo stesso accade in cucina per gli snack, preparati da uno dei cuochi. Il cameriere preleva le bevande e gli snack e li consegna ai clienti. V. Ambriola, C. Montangero, L. Semini, Esercizi di Ingegneria del Software (terza edizione). Nota didattica, 2007. http://www.di.unipi.it/~ambriola/is/radice.htm
Esempio Casi d uso
Esempio Pub Requisiti Prima di lasciare il pub, il cliente passa dalla cassa e comunica al cassiere il numero del suo tavolo, ottenendo il conto che può pagare sia in contanti sia mediante carta di credito o bancomat. Il conto è calcolato utilizzando i prezzi indicati nel menu. Il cassiere rilascia uno scontrino fiscale, a prova dell avvenuto pagamento. In seguito a un ordinanza del sindaco, nel periodo estivo non è permesso servire bevande alcoliche dopo le 22, fino alla chiusura. Per dare una veste accattivante al locale, il proprietario è disposto a dotare ogni cameriere di un palmare collegato senza fili al sistema di raccolta e gestione delle ordinazioni. V. Ambriola, C. Montangero, L. Semini, Esercizi di Ingegneria del Software (terza edizione). Nota didattica, 2007. http://www.di.unipi.it/~ambriola/is/radice.htm
Esempio Casi d uso
Esempio ESERCIZIO PROPOSTO Attività Completare i casi d uso (se necessario) Formulare i digrammi di attività Formulare un diagramma E-R
Esempio Deployment diagram Hardware per il sistema Pub
Esempio Deployment diagram Hardware per il sistema Pub con stereotipi
Esempio Deployment diagram Hardware per il sistema Pub con stereotipi
Esempio Deployment diagram Hardware per il sistema Pub con stereotipi
Esempio Deployment diagram Hardware per il sistema Pub con stereotipi
Esempio Pub: Vista C&C Requisiti e casi d uso Prima di lasciare il pub, il cliente passa dalla cassa e comunica al cassiere il numero del suo tavolo, ottenendo il conto che può pagare sia in contanti sia mediante carta di credito o bancomat. Il conto è calcolato utilizzando i prezzi indicati nel menu. Il cassiere rilascia uno scontrino fiscale, a prova dell avvenuto pagamento.
Esempio Pub: Vista C&C Activity diagram
Esempio Pub: Vista C&C Componenti
Esempio Pub: Vista C&C Componenti
Esempio Pub: Vista C&C Componenti
Esempio Pub: Vista C&C Pub Architettura C&C
Esempio ESERCIZIO PROPOSTO Disegnare: Casi d uso Diagrammi di attività Architetture per il sistema PUB.
Esempio Conclusioni Diagrammi UML
Bibliografia Deployment diagram Package diagram Component diagram Esempio Bibliografia Sommario
Bibliografia Bibliografia Riferimenti bibliografici 1. R. Pressman Ingegneria del software Mc Graw Hill Italia, 5a edizione, 2007, Cap. 13. 2. S. Bennett, J. Skelton, K. Lunn, Introduzione a UML, McGraw Hill, 2002. 3. M. Fowler, UML Distilled Guida rapida al linguaggio di modellazione standard, Addison Wesley, 2004. 4. L. Semini, Architetture software, (terza edizione). Nota didattica, 2007. http://compass2.di.unipi.it/didattica/inf/share/corsi/ corso.asp?id=2809&cds=inf&anno=2008 5. V. Ambriola, C. Montangero, L. Semini, Esercizi di Ingegneria del Software (terza edizione). Nota didattica, 2007. http://www.di.unipi.it/~ambriola/is/radice.htm