Introduzione a UML. Adriano Comai. http://www.analisi-disegno.com. versione 19 marzo 2010. Adriano Comai. Introduzione a UML Pag.



Documenti analoghi
UML - Unified Modeling Language

Introduzione a UML. Iolanda Salinari

UML un linguaggio universale per la modellazione del software. Adriano Comai

Introduzione ad UML. Perché modelliamo

Progettazione orientata agli oggetti Introduzione a UML

UML e (R)UP (an overview)

Concetti di base di ingegneria del software

Ingegneria del Software UML - Unified Modeling Language

Strumenti di modellazione. Gabriella Trucco

UML. Una introduzione incompleta. UML: Unified Modeling Language

Introduzione a UML Adriano Comai Introduzione a UML. Adriano Comai Pag. 1

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

PROGETTAZIONE DEL SOFTWARE

UniRoma2 - Ingegneria del Software 1 1

Introduzione. Il software e l ingegneria del software. Marina Mongiello Ingegneria del software 1

introduzione al corso di ingegneria del software

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

INGEGNERIA DEL SOFTWARE

L o. Walter Ambu japs: una soluzione agile (

Business Modeling UML

La Metodologia adottata nel Corso

ILL-SBN come strumento di cooperazione nazionale

Sistemi informativi secondo prospettive combinate

Manuale d uso Software di parcellazione per commercialisti Ver [05/01/2015]

Rational Unified Process Introduzione

Il catalogo MARKET. Mk6 Il sell out e il trade marketing: tecniche, logiche e strumenti

Implementing a new ADT based on the HL7 version 3 RIM. Esempio

Basi di Dati. Programmazione e gestione di sistemi telematici

Introduzione a UML. obiettivo di questa introduzione

[ Gentleware: Poseidon for UML 3.0". [ Sparxsystems: Enterprise Architect 6.1".

LINEE GUIDA - UML - MODELLI ARCHITETTURALI

3. I Virtual Learning Environment ovvero: le piattaforme

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it

Sistemi Informativi I Caso di studio con applicazione di UML

cin>>c8 s.r.l. Norme di Progetto Pagina 1 di 7 Norme di Progetto

Ingegneria del Software T

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

Modellazione di sistema

Identificare come i vari elementi dei Microsoft Dynamics CRM possono essere utilizzati per le relazioni con i clienti

RUP (Rational Unified Process)

Progetto LearnIT PL/08/LLP-LdV/TOI/140001

Introduzione a UML. Obiettivi. Unified Modeling Language. Gli autori di UML. Cos è UML. Cos è UML (cont.) Unified Modeling Language

La specifica del problema

Modellazione dei dati in UML

La normativa sul riuso del software nella P. A. e l esperienza Toscana

Software per Helpdesk

UML Component and Deployment diagram

Appendice III. Competenza e definizione della competenza

Basi di dati. Corso di Laurea in Ingegneria Informatica Canale di Ingegneria delle Reti e dei Sistemi Informatici - Polo di Rieti

Object Oriented Programming

SOFTWARE PER LA GESTIONE DELLA MENSA TIME & MEAL

SOFTWARE PER LA RILEVAZIONE PRESENZE SUL WEB

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

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

Infrastruttura di produzione INFN-GRID

B.P.S. Business Process Server ALLEGATO C10

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco Tel Stanza 1S-28

OS E PA. Open source e Pubblica Amministrazione a che punto siamo? Paolo Coppola Assessore all Innovazione ed e-government Comune di Udine

Sistema operativo. Sommario. Sistema operativo...1 Browser...1. Convenzioni adottate

La cultura della Sicurezza nelle PMI Ing. Francesco Guatelli Parma, 23 marzo 2006 Unione Parmense degli Industriali

1. I titoli conseguiti presso le Università consigliate vengono riconosciuti?

Ciclo di Vita Evolutivo

Il linguaggio di modellazione UML. Rational Unified Process. Model Driven Architecture. Sistemi Informativi Aziendali

Migliorare le prestazioni delle PMI collaborando con clienti e fornitori Sviluppo di nuove abilità e strumenti ICT di supporto

Corso di Basi di Dati e Conoscenza

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

SOMMARIO DIAGRAMMI DEI PACKAGE

Ambienti di Sviluppo

PRINCIPIO DI REVISIONE (SA Italia) 250B LE VERIFICHE DELLA REGOLARE TENUTA DELLA CONTABILITÀ SOCIALE

Network Monitoring. Introduzione all attività di Network Monitoring introduzione a Nagios come motore ideale

ALTER Un sistema gestionale ERP diverso

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato

lem logic enterprise manager

Presentazione di Cedac Software

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Activity Diagrams. Ing. Orazio Tomarchio

Soluzione dell esercizio del 2 Febbraio 2004

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Progettaz. e sviluppo Data Base

I MODULI Q.A.T. PANORAMICA. La soluzione modulare di gestione del Sistema Qualità Aziendale

AMMINISTRARE I PROCESSI

LogiTrack OTG. LogiTrack Gestione logistica controllo ordine spedizioni. OTG Informatica srl

Unified Modeling Language

More Riordino Automatico

Orientamenti sulla valutazione ex ante dei Programmi Il sistema di indicatori nella programmazione

Progetto Finale: Progettazione di un database e di una applicazione

Modellistica Medica. Maria Grazia Pia INFN Genova. Scuola di Specializzazione in Fisica Sanitaria Genova Anno Accademico

object oriented analysis

una società cooperative Europea (SCE) ropea Moduli e metodologie Mediterranea

Soluzione dell esercizio del 12 Febbraio 2004

Politecnico di Bari Corso di Laurea Specialistica in Ingegneria Informatica A.A Casi di Studio. Traccia n 1

Il Sistema di Valutazione delle Prestazioni del Gruppo Logiche e principali caratteristiche Presentazione alle OO.SS.

Sistemi avanzati di gestione dei Sistemi Informativi

InFormAL. Sistema informativo public domain per la gestione delle attività formative nelle Amministrazioni Locali

02CIXPG Sistemi informativi aziendali

leaders in engineering excellence

03. Il Modello Gestionale per Processi

LEAD GENERATION PROGRAM

Transcript:

Introduzione a UML versione 19 marzo 2010 http://www.analisi-disegno.com Introduzione a UML Pag. 1

Obiettivo di questa introduzione fornire alcuni elementi di base su UML introdurre i diagrammi fornire indicazioni sulle modalità di utilizzo di UML questi temi sono approfonditi, con esercitazioni, nel corso Sviluppo di applicazioni con UML : http://www.analisi-disegno.com/a_comai/corsi/sk_uml.htm Introduzione a UML Pag. 2

Unified Modeling Language (UML) linguaggio (e notazione) universale, per rappresentare qualunque tipo di sistema (software, hardware, organizzativo, ) standard OMG (Object Management Group), dal nov.1997 originatori: Grady Booch Ivar Jacobson Jim Rumbaugh Introduzione a UML Pag. 3

Cos è UML (e cosa non è) è un linguaggio di rappresentazione dei sistemi serve a specificare le caratteristiche di un nuovo sistema, oppure a documentarne uno già esistente è uno strumento di comunicazione tra i diversi ruoli coinvolti nello sviluppo e nell evoluzione dei sistemi Introduzione a UML Pag. 4

UML non è una metodologia è un linguaggio, non un metodo completo notazione, sintassi e semantica sono standard ma UML non è legato ad uno specifico processo, e non fornisce indicazioni sul proprio utilizzo quindi può essere (ed è) utilizzato da persone e gruppi che seguono approcci diversi (è indipendente dai metodi ) Introduzione a UML Pag. 5

UML come standard è stato definito con il contributo di molti metodologi, e delle più importanti società di software mondiali la sua evoluzione è a carico dell OMG, e soggetta a procedure ben definite per ogni cambiamento versione attuale: 2.2 documenti ufficiali: http://www.omg.org Introduzione a UML Pag. 6

Storia versioni di UML novembre 1997: 1.1 dicembre 1998: 1.2 giugno 1999: 1.3 maggio 2001: 1.4 marzo 2003: 1.5 agosto 2005 : 2.0 aprile 2006: 2.1 maggio 2008: 2.2 Introduzione a UML Pag. 7

Diagrammi UML (versioni 1.x) diagrammi strutturali : diagramma delle classi (class) diagramma dei componenti (component) diagramma di distribuzione (deployment) diagrammi comportamentali : diagramma dei casi d uso (use case) diagramma di sequenza (sequence) diagramma di collaborazione (collaboration) diagramma di stato (statechart) diagramma delle attività (activity) implementation interaction Introduzione a UML Pag. 8

Diagrammi UML (versioni 2.x) diagrammi strutturali : diagramma delle classi (class) diagramma degli oggetti (object) diagramma dei componenti (component) diagramma delle strutture composite (composite structure) diagramma di deployment (deployment) diagramma dei package (package) diagrammi comportamentali : diagramma dei casi d uso (use case) diagramma di stato (statechart) diagramma delle attività (activity) hanno molti aspetti in comune diagrammi comportamentali di interazione : diagramma di sequenza (sequence) diagramma di comunicazione (communication) diagramma dei tempi (timing) diagramma di sintesi dell interazione (interaction overview) hanno molti aspetti in comune Introduzione a UML Pag. 9

Package diagram UML 2.0 Dominio Vendite in UML 1.x non è un diagramma ufficiale UI Vendite Catalogo Clienti Ordini Mapper Database Database Vendite Introduzione a UML Pag. 10

Class diagram PersonaFisica Cliente 1 * Ordine 1 Prodotto PersonaGiuridica -codice : char -descrizione : char -prezzounitario : real 1..* +registra(in cod:char,in desc:char,in prezzo:real) +elimina(in cod:char) +aggprezzo(in nuovoprezzo:real) +getdescrizione(in cod:char):char RigaOrdine * 1 Introduzione a UML Pag. 11

Object diagram UML 2.0 in UML 1.x non è un diagramma ufficiale p1:prodotto c1:personafisica o1:ordine r1:rigaordine cod=1251 desc=pc mod.5800 p rezzounitario=999,99 r2:rigaordine p2:prodotto cod=49 desc=mouse standard p rezzounitario=35,00 o2:ordine r3:rigaordine stampante:prodotto c2:personagiuridica cod=437 desc=stampante inkjet 480 prezzounitario=159,99 Introduzione a UML Pag. 12

Component diagram «subsystem» Vendite Browser isessione SessioneAcquisto ICatalogo ICarrello CatalogoProdotti DBVendite IDB Carrello Introduzione a UML Pag. 13

UML 2.0 Composite structure diagram IAutenticazione Vigile FrontEndVigile InterfacciaVigile «subsystem» SistemaMulte BackEndMulte FrontEndCittadino InterfacciaCittadino IGestorePagamenti Cittadino GestorePagamenti IPagamento Introduzione a UML Pag. 14

Deployment diagram Client «artifact» Browser Database Server Web Server «artifact» FrontEndOrdini.jar Application Server «artifact» GestoreOrdini.exe «execution env» DBMS «artifact» SchemaDB Introduzione a UML Pag. 15

Use case diagram Sistema Vendite Registrarsi Compratore Effettuare Ordini Amministrazione Aggiornare Catalogo Verificare Vendite Gestore Introduzione a UML Pag. 16

Activity diagram Venditore: Amministrazione: Magazziniere: Spedizioniere: registrare ordine registrare pagamento preparare ordine verificare ordine [non ok] :Ordine [registrato] :Ordine [pagato] :Ordine [pronto per verifica] [ok] registrare per spedizione :Ordine [pronto per spedizione] spedire merce :Ordine [spedito] Introduzione a UML Pag. 17

Statechart diagram registrato pagamento in prep arazione [non ok] verifica comp letamento pronto per spedizione [ok] sp edizione spedito dopo 3 mesi chiuso dopo 10 anni Introduzione a UML Pag. 18

: Utente biblioteca consente all'utilizzatore di richiedere in prestito uno o più libri L'utente fornisce i dati relativi al libro (ai libri) che vuole in prestito. Il sistema verifica se l'utente è censito, : FormRichiesta Prestito 1: RichiestaPrestito 2: 6: err: utente non censito ( ) 10: err: utente deve restituire 5: 9: : Richiesta Prestito : Utente 3: ControlloUtentePerPrestito ( ) 4: 8: : Libro : Prestito 7: PrestitiDelCliente ( ) Verifica quindi se ha libri in prestito da restituire, o se ne ha gi à tre in prestito, segnal a l'impossibilità del prestito. 15: err: libro già in prestito Altrimenti il sistema controlla se i libri sono disponibili, e se lo son o li fornisce all'utente, altrimenti segnala l'errore 14: 11: richiesta (cod_libro) 12: Prestito ( ) 13: Sequence diagram Introduzione a UML Pag. 19

Communication diagram in UML 1.x si chiama collaboration : Utente biblioteca 1: RichiestaPrestito 6: err: utente non censito ( ) 10: err: utente deve restituire 15: err: libro già in prestito 13: : FormRichiesta Prestito 5: 9: 14: 2: : Richiesta Prestito 3: ControlloUtentePerPrestito ( ) : Libro 11: richiesta (cod_libro) 12: Prestito ( ) 4: 8: : Utente : Prestito 7: PrestitiDelCliente ( ) Introduzione a UML Pag. 20

UML 2.0 Interaction overview diagram ref richiesta offerta [richiesta nuovo prodotto] [richiesta evoluzione prodotto esistente] ref sviluppo nuovo prodotto ref richiesta evoluzione prodotto [altrimenti] [richiesta cambiamento] ref richiesta cambiamento Introduzione a UML Pag. 21

Timing diagram UML 2.0 dispositivo apertura chiuso in attesa aperto verifica processore a riposo in verifica attivo sblocca blocca porta chiusa aperta chiusa 0 10 20 30 40 50 60 70 80 90 100 Introduzione a UML Pag. 22

UML: meta-modello e diagrammi UML è basato su un meta-modello integrato, composto da numerosi elementi, collegati tra loro secondo regole precise utilizzando gli elementi del meta-modello è possibile creare i modelli per i sistemi da rappresentare molti elementi hanno una icona che li rappresenta graficamente gli elementi del meta-modello possono comparire in diagrammi di diverso tipo le regole permettono verifiche di correttezza Introduzione a UML Pag. 23

Strumenti: visual modeling UML Una lista molto parziale (ne esistono decine ) Rose; Rational Modeler ed Architect (IBM - Rational) Together (Borland) Visio (Microsoft) TAU (IBM - Telelogic) Objecteering (Softeam) Poseidon (Gentleware) Enterprise Architect (Sparx Systems) Magic Draw (No Magic) Argo (open source) StarUML (open source) Introduzione a UML Pag. 24

Strumenti UML: criteri di scelta Tra i fattori da considerare: costo aderenza allo standard UML supporto al lavoro di gruppo generazione codice / reverse engineering integrazione con altre tipologie di strumenti: gestione requisiti programmazione (IDE) gestione test gestione configurazione Introduzione a UML Pag. 25

UML è complesso intende rappresentare qualunque tipo di sistema software, a diversi livelli di astrazione il numero degli elementi è elevato, e in molti casi è possibile scegliere tra forme di rappresentazione diverse UML non suggerisce, né tantomeno prescrive una sequenza di realizzazione dei diversi diagrammi offre un ampia gamma di possibili modalità di utilizzo, tra le quali i progettisti sono liberi di scegliere Introduzione a UML Pag. 26

UML va adattato alle proprie esigenze Tra i fattori da considerare: settore di attività (es. militare, finanziario) tipologia di progetto (rischio, complessità) processo di sviluppo adottato esigenze di conformità a norme e standard comunicazione con committenti e stakeholders comunicazione con fornitori composizione e distribuzione del gruppo di lavoro non ha senso che tutti usino UML nello stesso modo Introduzione a UML Pag. 27

UML in sintesi è uno standard: uniformità nei concetti e nelle notazioni utilizzate, interoperabilità tra strumenti di sviluppo, indipendenza dai produttori, dalle tecnologie, dai metodi è articolato: può rappresentare qualunque sistema software, a diversi livelli di astrazione è complesso: va adattato ("ritagliato") in base alle specifiche esigenze dei progettisti e dei progetti, utilizzando solo ciò che serve nello specifico contesto Introduzione a UML Pag. 28

Video: come si usa UML Prima parte - Cosa è UML: 1) http://www.youtube.com/watch?v=almsj1tssbo 2) http://www.youtube.com/watch?v=kxfbpqoftwa Seconda parte - UML in pratica: 3) http://www.youtube.com/watch?v=p2dkcyyjzyg 4) http://www.youtube.com/watch?v=8t_qga7cejw 5) http://www.youtube.com/watch?v=_lnp-ogtopo Introduzione a UML Pag. 29

Bibliografia Jim Rumbaugh, Ivar Jacobson, Grady Booch: The Unified Modeling Language Reference Manual (2nd Edition) - Addison Wesley 2005 Bruce Powel Douglass : Real Time UML (3nd Edition) - Addison Wesley 2004 Martin Fowler : UML Distilled (3nd Edition) - Addison Wesley 2003 Robert Martin : UML for Java Programmers - Prentice Hall 2003 Craig Larman : Applying UML and Patterns (3nd Edition) - Prentice Hall 2005 http://www.omg.org Introduzione a UML Pag. 30

Grazie per l attenzione! Per approfondimenti e altri materiali: http://www.analisi-disegno.com Introduzione a UML Pag. 31