uml introduzione corso is i 2002 03 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
UML: Introduzione Corso IS I - 2002/03 PowerPoint Presentation
Download Presentation
UML: Introduzione Corso IS I - 2002/03

Loading in 2 Seconds...

play fullscreen
1 / 11

UML: Introduzione Corso IS I - 2002/03 - PowerPoint PPT Presentation


  • 124 Views
  • Uploaded on

UML: Introduzione Corso IS I - 2002/03. Gianna Reggio Versione 0.0. Cosa è UML. U M L = Unified Modelling Language MODELLI Il processo di sviluppo di un sistema software (o di una sua parte) consiste essenzialmente nel produrre una serie di elaborati (artifacts) che definiscono

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'UML: Introduzione Corso IS I - 2002/03' - amelia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
uml introduzione corso is i 2002 03

UML: IntroduzioneCorso IS I - 2002/03

Gianna Reggio

Versione 0.0

cosa uml
Cosa è UML
  • UML = UnifiedModellingLanguage
    • MODELLI
      • Il processo di sviluppo di un sistema software (o di una sua parte) consiste essenzialmente nel produrre una serie di elaborati (artifacts) che definiscono
        • tale sistema a diversi livelli di astrazione, es. requisiti dal punto di vista dell’utilizzatore del sistema, progetto (design)
        • particolari aspetti di tale sistema, es. prestazioni (Quality Of Service), dominio su cui opera il sistema
      • quindi occorre produrre descrizioni di (particolari aspetti) (parti di) sistemi software, i modelli
    • LANGUAGE
      • notazione visuale object-oriented per presentare modelli
    • UNIFIED
      • sviluppato dall’incontro dei “Three Amigos”
      • in pratica una collezione di varie notazioni integrate tra di loro, rese OO e “standardizzate”
storia di uml 1
Storia di UML (1)
  • linguaggi di programmazione OO
    • Simula-67, Smalltalk-80, Java 1996, C# (200?)
  • metodi OO di analisi e design
    • Shalaer&Mellor (1988)
    • Coad & Yourdon (1990,1991)
    • Booch (1991)
    • Rumbaugh et all (1991)
    • Jacobson et all (1992)
    • …. moltissimi altri
    • differenti metodi, basati su differenti rappresentazioni visuali per classi/oggetti/…

three amigos

storia di uml 2
Storia di UML (2)
  • metà anni novanta affermazione di
      • OMT-2 (Rumbaugh)
      • Booch "Object-oriented Analysis and Design with Applications", second edition, 1994
      • Objectory (Jacobson)
    • molte similarità, inorporano vari aspetti da altri metodi
  • 1994 Rumbaugh e Booch iniziano a lavorare alla Rational per unificare i loro metodi
  • 1995 si unisce Jacobson
  • sviluppo di UML e di “Unifed Software Development Process”
  • 1996 UML 0.9
storia di uml 3
Storia di UML (3)
  • 1996 OMG (Object Management Group) lanciò una RFP per un linguaggio di modellazione OO
  • Rational fonda un consorzio con IBM, HP, Microsoft, Oracle,… per rispondere
  • 1997 UML 1.1 accettato dall’OMG
  • 1998 UML 1.2
  • 1999 UML 1.3 nel corso useremo questa
  • 2001 UML 1.4
  • UML 2.0
    • in corso di sviluppo (doveva già essere finito)
    • importanti aggiunge e modifiche di parti problematiche
uml overview 1
UML: Overview (1)
  • Object-oriented
  • Visuale (diagrammi, non puro testo)
  • Un gruppo di notazioni integrate
    • class diagram
      • classi (operazioni, attributi), associazioni, specializzazione, aggregazione,… CONSTRAINTS
    • collaboration diagram
      • come alcuni oggetti collaborano tra di loro scambiandosi messaggi (chiamate di metodi) per realizzare una qualche attività
    • sequence diagram
      • collaboration ma mostrando l’ordine temporale degli scambi di messaggi
    • statechart diagram
      • comportamento dinamico di entità di vari tipi (oggetti, use case, metodi)
    • activity diagram
      • per descrivere workflow (attività e loro relazioni causali)
    • use case diagram
      • l’uso da parte dei fruitori di un sistema (prossimamente)
    • altre che non vedremo
      • component diagram, deployment diagram
uml overview 2
UML: Overview (2)
  • estensibile, in realtà è una famiglia di linguaggi
    • estremamente generale e molto ricco
      • usarlo per particolari domini, particolari tipi di applicazioni, particolari tecnologie implementative richiede di adattarlo (terminologia: definire un profilo)
        • per Corba (vedere Sistemi distribuiti ??)
        • per Enterprise Java Beans (vedere TAPS)
      • offre lui stesso i meccanismi per definire le sue varianti (es. stereotypes)
    • espressioni, tipi, azioni (statements) parzialmente definiti

è possibile usare il proprio linguaggio per tali parti

      • linguaggio naturale
      • di programmazione (Java, C++,…)
      • OCL (Object Constraint Language) per espressioni e tipi

nel corso OCL + gli ovvi statement imperativi per il controllo del flusso

uml come definito 1

frammento

esempio

UML: come è definito (1)
  • sintassi
    • molto diverso dai soliti linguaggi (es. Java)
    • astratta
      • espressa in modo OO, utilizzando una semplicissima notazione OO (sottoinsieme di UML)
      • corrispondente definizione XML
    • concreta
      • diagrammi
uml come definito 2
UML: come è definito (2)
  • correttezza statica (well-formedness)
    • constraints (proprietà, condizioni logiche) sulla sintassi astratta
  • semantica
    • definita informalmente utilizzando il linguaggio naturale
    • problemi
      • incompletezza, ambiguità, inconsistenze, ...
cosa non uml
Cosa non è UML
  • un modello del processo di sviluppo softwareun metodo OO per produrre software
    • esistono tantissimi metodi basati su UML
      • RUP (Rational Unified Process)
      • COMET (per sistemi distribuiti)
      • quello che useremo in questo corso (Astesiano&Reggio)
  • uno strumento CASE (Computer Aided Software Engineering)
    • esistono molti strumenti che supportano l’uso di UML
      • Rational Rose
      • Together (che useremo nel corso)
  • un linguaggio di programmazione OO
    • ma i tools aiutano a generare codice a partire dai modelli UML
sources
Sources
  • definizione ufficiale (http://www.omg.org/)

Unified Modeling Language Specification 1.3

(file99-06-08.pdf nel sito del corso)

    • per specialisti, o problemi specifici
    • notare che
      • Semantics
        • sintassi astratta + semantica informale
      • Notation guide
        • sintassi concreta
  • Libro usato nel corso
    • UML, Bennet-Skelton-Lunn (serie Shaum’s Outlines) [edizione italiana in biblioteca]
  • Altri libri/materiale vedere sito corso