Introuml

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Introuml - Presentation Transcript

    1. Introduzione a UML versione 16 marzo 2009 © Adriano Comai http://www.analisi-disegno.com Pag. 1 ©Adriano Comai Introduzione a UML
    2. 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 Pag. 2 ©Adriano Comai Introduzione a UML
    3. 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 Pag. 3 ©Adriano Comai Introduzione a UML
    4. 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 Pag. 4 ©Adriano Comai Introduzione a UML
    5. 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”) Pag. 5 ©Adriano Comai Introduzione a UML
    6. 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 Pag. 6 ©Adriano Comai Introduzione a UML
    7. 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 Pag. 7 ©Adriano Comai Introduzione a UML
    8. Diagrammi UML (versioni 1.x) diagrammi “strutturali”: diagramma delle classi (class) diagramma dei componenti (component) implementation diagramma di distribuzione (deployment) diagrammi “comportamentali” : diagramma dei casi d’uso (use case) diagramma di sequenza (sequence) diagramma di collaborazione (collaboration) interaction diagramma di stato (statechart) diagramma delle attività (activity) Pag. 8 ©Adriano Comai Introduzione a UML
    9. Diagrammi UML (versioni 2.x) diagrammi “strutturali”: diagramma delle classi (class) hanno molti diagramma degli oggetti (object) diagramma dei componenti (component) aspetti in comune 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) diagrammi “comportamentali di interazione”: hanno molti diagramma di sequenza (sequence) aspetti in comune diagramma di comunicazione (communication) diagramma dei tempi (timing) diagramma di sintesi dell’interazione (interaction overview) Pag. 9 ©Adriano Comai Introduzione a UML
    10. UML 2.0 Package diagram in UML 1.x non è un diagramma “ufficiale” Dominio Vendite UI Vendite Catalogo Clienti Ordini Mapper Database Database Vendite Pag. 10 ©Adriano Comai Introduzione a UML
    11. Class diagram PersonaFisica Cliente Ordine 1 * Prodotto 1 -codice : char PersonaGiuridica -descrizione : char -prezzoUnitario : real +registra(In cod:char ,In desc:char ,In prezzo:real) +elimina(In cod:char) 1..* +aggPrezzo(In nuovoPrezzo:real) +getDescrizione(In cod:char):char 1 RigaOrdine * Pag. 11 ©Adriano Comai Introduzione a UML
    12. UML 2.0 Object diagram in UML 1.x non è un diagramma “ufficiale” p1:Prodotto cod=1251 o1:Ordine r1:RigaOrdine desc=PC mod.5800 c1:PersonaFisica prezzoUnitario=999,99 r2:RigaOrdine p2:Prodotto cod=49 desc=mouse standard prezzoUnitario=35,00 o2:Ordine r3:RigaOrdine stampante:Prodotto cod=437 desc=stampante inkjet 480 c2:PersonaGiuridica prezzoUnitario=159,99 Pag. 12 ©Adriano Comai Introduzione a UML
    13. Component diagram «subsystem» Vendite Browser SessioneAcquisto iSessione ICatalogo ICarrello CatalogoProdotti Carrello DBVendite IDB Pag. 13 ©Adriano Comai Introduzione a UML
    14. UML 2.0 Composite structure diagram IAutenticazione «subsystem» SistemaMulte FrontEndVigile InterfacciaVigile Vigile BackEndMulte IGestorePagamenti InterfacciaCittadino FrontEndCittadino GestorePagamenti Cittadino IPagamento Pag. 14 ©Adriano Comai Introduzione a UML
    15. Deployment diagram Client «artifact» Browser Database Server «execution env» Application Server Web Server DBMS «artifact» «artifact» FrontEndOrdini.jar «artifact» GestoreOrdini.exe SchemaDB Pag. 15 ©Adriano Comai Introduzione a UML
    16. Use case diagram Sistema Vendite Registrarsi Effettuare Ordini Compratore Amministrazione Aggiornare Catalogo Gestore Verificare Vendite Pag. 16 ©Adriano Comai Introduzione a UML
    17. Activity diagram Venditore: Amministrazione: Magazziniere: Spedizioniere: registrare ordine registrare pagamento preparare ordine verificare ordine [non ok] :Ordine :Ordine :Ordine [registrato] [pagato] [pronto per verifica] [ok] registrare per spedizione :Ordine [pronto per spedizione] spedire merce :Ordine [spedito] Pag. 17 ©Adriano Comai Introduzione a UML
    18. Statechart diagram pagamento registrato in preparazione [non ok] verifica completamento pronto per spedizione [ok] spedizione dopo 3 mesi dopo 10 anni spedito chiuso Pag. 18 ©Adriano Comai Introduzione a UML
    19. : FormRichiesta : Richiesta : Utente : Libro : Prestito : Utente Prestito Prestito biblioteca consente all'utilizzatore di richiedere in prestito uno o più libri 1: RichiestaPrestito 2: L'utente fornisce i dati relativi al libro (ai libri) 3: ControlloUtentePerPrestito ( ) che vuole in prestito. 4: 5: 6: err: utente non censito ( ) Il sistema verifica se 7: PrestitiDelCliente ( ) l'utente è censito, 8: 9: 10: err: utente deve restituire Verifica quindi se ha libri in prestito da restituire, o se ne ha gi à tre in prestito, segnal 11: richiesta (cod_libro) a l'impossibilità del 12: Prestito ( ) 13: prestito. 14: 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 Sequence l'errore diagram Pag. 19 ©Adriano Comai Introduzione a UML
    20. in UML 1.x si chiama “collaboration” Communication diagram 1: RichiestaPrestito : FormRichiesta Prestito 6: err: utente non censito ( ) : Utente 10: err: utente deve restituire 15: err: libro già in prestito biblioteca 5: 2: 9: 14: : Richiesta Prestito 13: 3: ControlloUtentePerPrestito ( ) : Libro 11: richiesta (cod_libro) 4: 12: Prestito ( ) 8: : Utente : Prestito 7: PrestitiDelCliente ( ) Pag. 20 ©Adriano Comai Introduzione a UML
    21. UML 2.0 Interaction overview diagram ref richiesta offerta [richiesta nuovo prodotto] [richiesta evoluzione prodotto esistente] ref ref sviluppo nuovo prodotto richiesta evoluzione prodotto [altrimenti] [richiesta cambiamento] ref richiesta cambiamento Pag. 21 ©Adriano Comai Introduzione a UML
    22. UML 2.0 Timing diagram dispositivo apertura chiuso in attesa verifica aperto sblocca blocca processore a riposo in verifica attivo porta chiusa aperta chiusa 0 10 20 30 40 50 60 70 80 90 100 Pag. 22 ©Adriano Comai Introduzione a UML
    23. 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 Pag. 23 ©Adriano Comai Introduzione a UML
    24. 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) Pag. 24 ©Adriano Comai Introduzione a UML
    25. 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 Pag. 25 ©Adriano Comai Introduzione a UML
    26. 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 Pag. 26 ©Adriano Comai Introduzione a UML
    27. 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 Pag. 27 ©Adriano Comai Introduzione a UML
    28. 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 Pag. 28 ©Adriano Comai Introduzione a UML
    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 Pag. 29 ©Adriano Comai Introduzione a UML
    30. Per approfondimenti e altri materiali: http://www.analisi-disegno.com Pag. 30 ©Adriano Comai Introduzione a UML

    + Adriano ComaiAdriano Comai, 8 months ago

    custom

    287 views, 0 favs, 0 embeds more stats

    Introduzione allo Unified Modeling Language (UML), more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 287
      • 287 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories