Corso di Ingegneria del Software. Architetture in UML



Documenti analoghi
Mantenere il piano. Il piano guida il lavoro permettendo di misurare il progresso

Ingegneria del Software 11. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Corso di Ingegneria del Software. Informazioni sul corso

Elementi di UML (7): Diagrammi dei componenti e di deployment

Caso d Uso: AcquistoAbbonamentoStudentiSettimanaleGiornaliero Breve descrizione. Procedura per la registrazione al servizio CicloPi.

Traccia delle soluzioni

Modellazione dei dati in UML

SOMMARIO DIAGRAMMI DEI PACKAGE

Concetti di base di ingegneria del software

Corso di Ingegneria del Software. Casi di studio Parte III

UML Component and Deployment diagram

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A Marina Mongiello

Esercitazione su UML Ingegneria del Software - San Pietro

Gestione del workflow

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Il calcolatore - Applicazioni

Registratori di Cassa

Sequenza alternativa degli eventi: Variazione di prezzo superiore al 20% per almeno un articolo.

Università degli Studi di Salerno Ingegneria del Software: Tecniche Avanzate

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

LCMobile Restaurant. Guida su come usare il software per palmare LCMobile Restaurant.

INGEGNERIA DEL SOFTWARE

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

PROGETTAZIONE DEL SOFTWARE

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

Indice. Prefazione alla seconda edizione italiana XVII. Introduzione. Parte 1 Introduzione all UML e all UP 1

La specifica del problema

Corso di Laurea Magistrale in Ingegneria Informatica. Ingegneria del Software II (IS2)

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Componente evalue. ZUFFELLATO SERVICE s.r.l.

Modellazione di sistema

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

ANNO SCOLASTICO

Database. Si ringrazia Marco Bertini per le slides

GIOCHI MATEMATICI PER LA SCUOLA SECONDARIA DI I GRADO ANNO SCOLASTICO

FONDAMENTI di INFORMATICA L. Mezzalira

NMG2 Software di analisi NMG2-USB/RS232-PROSOFT

Come funziona il WWW. Architettura client-server. Web: client-server. Il protocollo

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Pagina 2 di 14. Indice

Rapporto tecnico sulle tipologie di agenti software definiti e implementati nell ambito del progetto

CASSA AUTOMATICA SelfCASH

Ingegneria del Software 17. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Che differenza c è tra una richiesta XML ed una domanda XML? (pag. 4)

Model Driven Software Development con Eclipse, StatechartUMC

Corso di Ingegneria del Software. Casi d uso

Activity Diagrams. Ing. Orazio Tomarchio

Sharpdesk V3.3. Guida all installazione Versione

IL SOFTWARE SECONDO LA NORMA UNI EN ISO :2008 (IIA PARTE) 1

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Una metodologia per la specifica di software basato su componenti

GESTIONE DEL MOVIMENTO DEL PERSONALE IN AMBIENTE INTRANET. Open System s.r.l.

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Strumenti e metodi per la redazione della carta del pericolo da fenomeni torrentizi

Tipi primitivi. Ad esempio, il codice seguente dichiara una variabile di tipo intero, le assegna il valore 5 e stampa a schermo il suo contenuto:

NORMA CEI EN PLC: programmazione. PLC: programmazione. PLC: programmazione. Automazione Industriale 3. Automazione Industriale

esales Forza Ordini per Abbigliamento

Basi di Dati. Programmazione e gestione di sistemi telematici

WEB SEMINAR Dettaglio servizio

Raggruppamenti Conti Movimenti

Ingegneria del Software. Introduzione ai pattern

UniRoma2 - Ingegneria del Software 1 1

Pillola 2015/057 del 06/10/2015: Cassa contanti - Panoramica

connessioni tra i singoli elementi Hanno caratteristiche diverse e sono presentati con modalità diverse Tali relazioni vengono rappresentate QUINDI

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

INFORMATICA 1 L. Mezzalira

Associazione GREST-TICINO

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Progettaz. e sviluppo Data Base

INFORMATICA APPLICATA AL TESSILE - I

Guida all uso delle Web View su ios

Tel e fax Tel. Port P.Iva C.F

Progettazione di Applicazioni Web

Introduzione ai tipi di dato astratti: applicazione alle liste

INGEGNERIA DEL SOFTWARE. Il Corso. Obiettivi. A.A Prof. Giuseppe Visaggio Presentazione

Esercizi di Ingegneria del Software

EW1051 Lettore di schede USB

Procedura SMS. Manuale Utente

Luca Mari, Sistemi informativi applicati (reti di calcolatori) appunti delle lezioni. Architetture client/server: applicazioni server

Breve introduzione curata da Alessandro Benedetti. Struts2-Introduzione e breve guida

Esempio ordini 08UMLEX1.1

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Esercizi di Ingegneria del Software

Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord. 270)

WoWords. Guida all uso: creare ed utilizzare le frasi. In questa guida è descritto come creare ed utilizzare le frasi nel software WoWords.

SOMMARIO... 3 INTRODUZIONE...

UML Unified Modeling Language

The Enterprise Service BUS. Manuale utente - VulCon

Scheda di Notifica Manuale d'uso

Capitolo 13. Interrogare una base di dati

Volume GESTFLORA. Gestione aziende agricole e floricole. Guidaall uso del software

Transcript:

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