Anteprima
Vedrai una selezione di 8 pagine su 34
Appunti UML - Unified Modeling Language Pag. 1 Appunti UML - Unified Modeling Language Pag. 2
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Appunti UML - Unified Modeling Language Pag. 6
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Appunti UML - Unified Modeling Language Pag. 11
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Appunti UML - Unified Modeling Language Pag. 16
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Appunti UML - Unified Modeling Language Pag. 21
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Appunti UML - Unified Modeling Language Pag. 26
Anteprima di 8 pagg. su 34.
Scarica il documento per vederlo tutto.
Appunti UML - Unified Modeling Language Pag. 31
1 su 34
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

MODELLAZIONE UML

  • MODELLARE ➔ MODELLO ➔ astrazione della realtà che si vuole rappresentare e che ne cattura le proprietà salienti
  • modealre permette di idealizzare situazioni complesse in modo tale da evidenziare i tratti importanti facilitandone la comprensione.
  • la nostra mente compie continuamente operazioni di modellazione, producendo schemi per comprendere ed elaborare quello che viene percepito. la realtà è pertanto un'istanza del modello.

Perché modellare?

  1. Comprendere il soggetto in analisi
  2. Conoscere il soggetto in analisi
  3. Comunicare la conoscenza del soggetto
  • Prendendo ad esempio un tipico progetto software spesso coinvolge numerosi sviluppatori pertanto modealre può permettere:
    1. separare compiti e responsabilità
    2. raggruppare informazioni e suddividerle in livelli
  • Le caratteristiche di un progetto possono mutare nel tempo
    1. avere a disposizione dei modelli permette di comunicare in modo più chiaro e preciso
    2. prevedere e adattarsi ai cambiamenti
    3. stimare costi, tempo e risorse
  • Senza avere un modello cui far riferimento, come si può ragionare su un determinato problema?

LINGUAGGIO DI MODELLAZIONE

Un linguaggio di modellazione fornisce primitive a cui ricondurre la realtà in esame. Permette di esprimere sistemi complessi per mezzo delle entità fondamentali che lo compongono specificando caratteristiche e relazioni tra di esse.

  • In un progetto il LINGUAGGIO è normalmente distinto dal PROCESSO di sviluppo
    • LINGUAGGIO → cosa deve essere ottenuto
    • PROCESSO → passi da seguire per ottenerlo
    • LINGUAGGIO + PROCESSO → metodo di sviluppo

CHE COS'È UML

  • UML → Unified Modeling Language
  • SPECIFICARE
  • VISUALIZZARE
  • REALIZZARE
  • MODIFICARE
  • DOCUMENTARE

UML → linguaggio di modellazione

  • CAPIRE
  • DESCRIVERE

caratteristiche di un nuovo sistema o di uno esistente

  • ARTEFATTI → prodotto tangibile del progetto
  • SORGENTI
  • ESEGUIBILI
  • DOCUMENTAZIONE
  • FILE DI CONFIGURAZIONE
  • TABELLE / BENCHMARK
  • INDIPENDENTE ambito del progetto processo di sviluppo linguaggio di programmazione, infatti è progettato per adattarsi ai linguaggi OBJECT-ORIENTED

fa parte di un metodo di sviluppo ma non è esso stesso il metodo

Vantaggi Approccio Visuale

  • Progettista software necessità → rappresentare diversi aspetti del progetto
  • Diagrammi differenti → aspetti differenti
    • Visione completa da più punti di vista
    • Visione di dettaglio e particolari

Generazione del Modello

  • Tramite il concetto di astrazione anche una realtà molto complessa viene rappresentata semplificandola in un modello
  • Analisi e progettazione → generazione modello → identificare e isolare le caratteristiche di un sistema
  • Progettista screma le caratteristiche rilevanti e definisce relazioni tra queste

Tipi di Relazioni

  • Strutturali → es. Associazioni tra classi
  • Temporali → es. Sequenza di messaggi
  • Causa-Effetto → es. Diagramma di stato
  • Organizzative → es. Raggruppamento degli elementi
  • Evolutive → es. Dipendenza tra i diagrammi

UML - Unified Modeling Language

  • Linguaggio di modellazione visuale
  • Consente agli analisti e progettisti di sistemi orientati agli oggetti di modellare, rappresentare e documentare sistemi software
  • Non è un linguaggio di programmazione, tuttavia esistono software che convertono diagrammi UML in elementi software da eseguire
  • Non è una metodologia di sviluppo del software
  • UML è un linguaggio, un insieme di regole e di elementi, mancante di specifica formale
  • CASI D’USO
    • visione d’insieme del sistema che si sta analizzando
    • fondamentale nella FASE INIZIALE del PROGETTO
    • rappresentano il sistema visto dell’utilizzatore
    • modellano il dialogo tra UTILIZZATORE e SISTEMA
      • interazione ATTORE / SISTEMA (coppia astratta)
      • espressi in forma testuale
      • diversi livelli di definizione (sistema complesso/parziale)
      • rappresentano modalità d’uso del sistema da parte di uno o più attori
    • consentono di scoprire requisiti funzionali
    • ausilio dialogo con utenti
    • fondamentali con espansioni non felici
    • vengono rappresentati da un diagramma

diagramma dei casi d’uso

  • rappresenta i casi d’uso, gli attori e le associazioni che li legano
  • visualizzano le modalità di utilizzo del sistema da parte di uno o più utilizzatori, definiti ATTORI
  • i singoli casi d’uso descrivono le interazioni tra sistema e attori
  • un ATTORE è un elemento esterno al sistema che fornisce un input a cui il sistema deve rispondere

ATTORE - utilizzatore del sistema che interagisce con i casi d’uso

  • può essere umano o un altro sistema
  • rappresenta un ruolo di un oggetto
    • un oggetto fisico (classe) può assumere ruoli diversi e quindi essere modellato da più attori
    • nel caso di attori umani, il nome di un attore identifica le sue richieste/azioni
    • se l’attore svolge un ruolo contestuale, allora è suo incarico o mansione

Attributi

  • Visibilità
  • Nome
  • Tipo
  • Molteplicità
  • Default
  • Proprietà

visibilità nome : tipo molteplicità = default {proprietà}

  • Visibilità → attributo pubblico (+) o privato (-)
  • Nome → nome della variabile
  • Tipo → tipo di dato (string, integer, classe, ...)
  • Molteplicità → numeri di elementi
  • Default → valore iniziale dell'attributo
  • Proprietà → proprietà aggiuntive (const, readonly, ...)

Operazioni (firma)

visibilità nome (nome parametro : tipo, ... ) : tipo restituito

  • Visibilità → pubblico (+) o privato (-)
  • Nome → nome del metodo (camel case)
  • Parametri → elenco nomi e tipo di dato
  • Tipo Restituito → tipo di dato restituito

ogni operazione di una classe deve avere una firma univoca (signature)

Visibilità

L'elemento è visibile all'esterno del namespace o della classe che lo contiene a secondo della sua visibilità, concetto fondamentale della OOP: incapsulamento o information hiding

  • + public → altri elementi possono vedere ed usare
  • # protected → solo dei suoi discendenti (ereditarietà)
  • - private → solo degli elementi nell'elemento stesso
  • ∼ package → solo degli elementi nello stesso package

Relazioni

Legame tra due oggetti, normalmente tra istanze di classi diverse (non necessariamente)

UML fornisce rappresentazioni grafiche per

  • Associazione ← Aggregazione
  • Composizione
  • Generazione
  • Dipendenza → Uso Realizzazione
Dettagli
A.A. 2019-2020
34 pagine
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher dispense-appunti di informazioni apprese con la frequenza delle lezioni di Laboratorio di informatica e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Gravina Raffaele.