Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B1_2 V2.3 UML

Documenti analoghi
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi D1_3 V3.

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

Microsoft Visio 2002 UML Sergio Colosio

Principi di Progettazione del Software a.a

SOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni

Alcuni diagrammi. OCL (Object Constraint Language)

UML UNIFIED MODELING LANGUAGE

Modellazione discreta con UML

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

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

A. Ferrari Object Oriented Design

SOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B1_1 V2.1. Reti di Petri

Progettazione Object-Oriented

Fondamenti di Informatica II 21. Standard UML

Fondamenti di Informatica

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi D1_2 V3.

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring

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

SOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni

SOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni

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

DIAGRAMMI DEI PACKAGE

SOMMARIO DIAGRAMMI DI SEQUENZA

I Diagrammi di Flusso OO

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base

1. UML 2 ed il Processo Unificato

A. Ferrari Object Oriented Design

Unified Modeling Language (UML)

SOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base

Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A2_1 V3.

SOMMARIO DIAGRAMMI DI ATTIVITÀ

Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_2 V3.

Corso di Ingegneria del Software. Activity Diagram

Introduzione a UML. obiettivo di questa introduzione

Giovanni A. Cignoni 1

UML2. Attività di Progettazione. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino

UML2. Concetti base. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Università di Camerino

Corso di Ingegneria del Software. Casi d uso

Basi di conoscenza nella logica del primo ordine

Sommario. I Uso degli oggetti 39

SOMMARIO. DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Partecipanti e messaggi.

CLASS DIAGRAM PARTE 1

UML Unified Modeling Language

Programmazione ad Oggetti

Sistemi Informativi I Strumenti - UML

Diagrammi delle classi

Gestione dello sviluppo software Modelli Base

Il PROCESSO UNIFICATO

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

SOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base.

UML. Unified Modeling Language (linguaggio di modellazione unificato) prof. Antonio Gervasi IIS «A.Meucci» Casarano

UML e i diagrammi di attività

Relazioni tra le classi e rappresentazione mediante diagrammi delle classi UML. Relazioni tra le classi Ereditarietà (is a)...

Fondamenti di Informatica e Programmazione

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

SYLLABUS TRIENNIO. prof. Mauro Malatesta. Approvata dal Dipartimento di il. Approvata dal Consiglio di classe il...

Relazioni. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_5 V3.

Casi d uso: esercizi

Basi di dati Modelli e linguaggi di interrogazione

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_3 V2.1. Gestione

Requisiti. Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria

Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Linguaggi di Programmazione I Lezione 4

Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2006/2007

Classi. Meccanismi di Rappresentazione e Scoperta. Andrea Polini

Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A2_2 V3.

Progettazione concettuale A. Ferrari

Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B3_1 V3.2.

Note sugli Statechart Diagrams

Casi d uso. Marina Zanella - Ingegneria del Software UML: Casi d uso 1

Ingegneria del Software

INTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a

tipi di dato astratti

La progettazione concettuale

Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3

Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)

UML. Unified Modeling Language

Class diagram COMPORTAMENTO associazioni

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Progettazione Logica e Modello Realizzativo

A.s Programma di Informatica

Corso di Reti di Calcolatori L-A

Acquisizione di prodotti e servizi Parte 2

A3_3 V3.1 Requisiti e Specifica Modellazione e riuso della conoscenza

Modelli di sistema e UML

Capitolo 7 Un primo sguardo agli oggetti Schema e valori Elementi di classe e d istanza

Transcript:

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi B1_2 V2.3 UML Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto a lezioni universitarie. Ogni altro uso è riservato, e deve essere preventivamente autorizzato dall autore. Sono graditi commenti o suggerimenti per il miglioramento del materiale

INDICE UML Tipi di modellazione Funzione e Struttura - Diagramma delle classi Comportamento Diagrammi di sequenza Comportamento Diagrammi di collaborazione Comportamento Diagrammi di stato Comportamento Diagrammi di attività B1 - Linguaggi Paolo Salvaneschi 2

INDICE Package Implementazione Componenti Implementazione Deployment Casi d uso Processo di sviluppo UML e architetture B1 - Linguaggi Paolo Salvaneschi 3

UML Unified Modelling Language Booch (Rational), Jacobson (Objectory) OOSE Rumbaugh (General Electric) OMT OMG standard Collezione di tecniche di modellazione che coprono con tecniche multiple le viste di un architettura funzione e struttura, comportamento, implementazione Riferimento: Martin Fowler, UML Distilled, Addison Wesley, 2004 B1 - Linguaggi Paolo Salvaneschi 4

Tipi di modellazione Modi di utilizzo Schema di progetto Aspetti fondamentali Interfacce Progetto Completezza Linguaggio di programmazione B1 - Linguaggi Paolo Salvaneschi 5

Tipi di modellazione Viste Le viste sono modellate utilizzando diagrammi che descrivono (parti del) sistema in accordo con le viste I diagrammi devono essere consistenti tra loro Non necessariamente l insieme dei diagrammi fornisce un modello esaustivo del sistema in accordo con tutte le viste B1 - Linguaggi Paolo Salvaneschi 6

Tipi di modellazione Tipi di modellazione Concettuale Concetti del dominio applicativo Specifica Software con classi a livello di interfaccia e non di implementazione Implementazione Classi con gli aspetti di implementazione Progettazione: Concettuale => Specifica => Implementazione B1 - Linguaggi Paolo Salvaneschi 7

Funzione e Struttura - Diagramma delle classi Diagramma delle classi Classe Nome della classe Attributi nome indirizzo Cliente Operazioni (Metodi) livellocredito(): String B1 - Linguaggi Paolo Salvaneschi 8

Funzione e Struttura - Diagramma delle classi Attributi visibilità nome: tipo molteplicità = valoredefault {stringadiproprietà} Visibilità + Public (tra classi) # Protected (all interno delle classi derivate) ~ Package (all interno del package) - Private (nella classe) B1 - Linguaggi Paolo Salvaneschi 9

Funzione e Struttura - Diagramma delle classi molteplicità Quanti oggetti possono entrare a far parte della proprietà [1] esattamente uno [n m] da n a m [0 n] da zero a n [*] da zero a un limite superiore non definito B1 - Linguaggi Paolo Salvaneschi 10

Funzione e Struttura - Diagramma delle classi valoredefault Valore dell attributo in un oggetto appena creato, se non specificato diversamente durante la creazione {stringadiproprietà} Caratteristiche aggiuntive di un attributo Es. {readonly} {ordered} insieme ordinato {nonunique} insieme con elementi duplicati. B1 - Linguaggi Paolo Salvaneschi 11

Funzione e Struttura - Diagramma delle classi Esempi indirizzo + codiceordine: String = "ORD0000/06" - data: Data [0..1] + elementilineaordine: LineaOrdine [*] {ordered} visibilità nome: tipo molteplicità {stringadiproprietà} B1 - Linguaggi Paolo Salvaneschi 12

Funzione e Struttura - Diagramma delle classi Implementazione UML Attributo privato Attributo pubblico Il modello UML è un astrazione di una (o più) implementazione (i) Java Campo private Campo public Campo private e metodi public di accesso (set, get) Attributo multiplo Creazione di una Collezione private + metodi public di gestione B1 - Linguaggi Paolo Salvaneschi 13

Funzione e Struttura - Diagramma delle classi Operazioni visibilità nome (listaparametri): tipodiritorno {stringadiproprietà} listaparametri lista di parametri separata da virgole Parametro: direzione nome:tipo=valoredefault Direzione: in out inout (parametro usato in input, output, entrambi, default in) tipodiritorno tipo del valore restituito, se esiste B1 - Linguaggi Paolo Salvaneschi 14

Funzione e Struttura - Diagramma delle classi Esempi sollecito() contomensile (integer) + saldo (data: Date) : Denaro B1 - Linguaggi Paolo Salvaneschi 15

Funzione e Struttura - Diagramma delle classi Relazione Rappresenta un legame tra oggetti appartenenti a due o più classi Tipi di Relazioni Associazione Generalizzazione (is a) Composizione (part of) B1 - Linguaggi Paolo Salvaneschi 16

Funzione e Struttura - Diagramma delle classi A Nome dell associazione Molteplicità A Molteplicità B B Ruolo A Ruolo B Relazione:Associazione La molteplicità indica il numero di oggetti della classe che possono partecipare all associazione 1 un solo oggetto 0..2 nessun oggetto, un oggetto o 2 oggetti * da 0 a molti oggetti B1 - Linguaggi Paolo Salvaneschi 17

Funzione e Struttura - Diagramma delle classi Relazione data prepagato numero: String [1] prezzo: Denaro spedisci() chiudi() Ordine * 1 Associazione nome indirizzo Cliente livellocredito(): String B1 - Linguaggi Paolo Salvaneschi 18

Funzione e Struttura - Diagramma delle classi Navigabilità data prepagato numero: String prezzo: Denaro spedisci() chiudi() Ordine * 1 nome indirizzo Cliente livellocredito(): String Da un Ordine si può raggiungere il relativo Cliente Ma un Cliente non ha riferimento ai suoi ordini B1 - Linguaggi Paolo Salvaneschi 19

Funzione e Struttura - Diagramma delle classi Navigabilità Navigabilità non definita Unidirezionale Bidirezionale (i due sensi di navigazione devono essere uno l inverso dell altro) B1 - Linguaggi Paolo Salvaneschi 20

Funzione e Struttura - Diagramma delle classi Ordine data prepagato + elementilineaordine: LineaOrdine [*] {ordered} Proprietà Attributi Associazioni Proprietà di un ordine espresse come attributi Ordine 1 * LineaOrdine elementilineaordine {ordered} Strutture semplici Classi importanti Criterio di scelta Proprietà di un ordine espresse come associazioni B1 - Linguaggi Paolo Salvaneschi 21

Funzione e Struttura - Diagramma delle classi Implementazione delle associazioni Una associazione implica che esistano (in fase di implementazione) dei meccanismi (metodi e attributi) che permettono di gestire la relazione Metodo leggicliente nella classe Ordine per sapere quale Cliente ha generato l ordine Aggiornamento della relazione: metodo aggiungiordine nella classe Cliente. B1 - Linguaggi Paolo Salvaneschi 22

Funzione e Struttura - Diagramma delle classi Relazione: Generalizzazione (is a) nome indirizzo Cliente livellocredito(): String Cliente Azienda nomecontatto livellocredito limitecredito Cliente Privato numcartacredito Sollecito() B1 - Linguaggi Paolo Salvaneschi 23

Funzione e Struttura - Diagramma delle classi Generalizzazione Dato un codice che utilizza un oggetto Cliente, si può sostituire Cliente con ClienteAzienda e funziona tutto come prima Eventualmente ClienteAzienda risponderà ad alcuni comandi in modo diverso da Cliente (polimorfismo) B1 - Linguaggi Paolo Salvaneschi 24

Funzione e Struttura - Diagramma delle classi data prepagato : Boolean [1] numero: String [1] prezzo: Denaro spedisci() chiudi() Ordine * 1 nome indirizzo Cliente livellocredito(): String Commenti Se il livello di credito del Cliente associato è basso, allora prepagato deve essere true B1 - Linguaggi Paolo Salvaneschi 25

Funzione e Struttura - Diagramma delle classi Dipendenza La modifica della definizione del fornitore può causare la necessità di un cambiamento del cliente Cliente Fornitore Ordine elementidellalinea[*] > List Attributo implementato con una lista Dipendenza B1 - Linguaggi Paolo Salvaneschi 26

Funzione e Struttura - Diagramma delle classi Vincoli nome indirizzo Cliente livellocredito(): string Cliente Azienda nomecontatto livellocredito limitecredito Sollecito() Vincolo Cliente Privato numcartacredito {livellocredito() = = basso } B1 - Linguaggi Paolo Salvaneschi 27

Funzione e Struttura - Diagramma delle classi Vincoli Vincoli ulteriori rispetto a quelli già descritti nel diagramma (es. molteplicità di associazione) Tra {} Espressi in Linguaggio naturale OCL (Object Constraint Language) B1 - Linguaggi Paolo Salvaneschi 28

Funzione e Struttura - Diagramma delle classi Relazione: Composizione Edificio 1 * Muro Composizione B1 - Linguaggi Paolo Salvaneschi 29

Funzione e Struttura - Diagramma delle classi Composizione (part of) L oggetto che è parte appartiene ad un solo tutto Ci si aspetta che le parti abbiano lo stesso ciclo di vita del tutto (la cancellazione dell oggetto composto si propaga a tutte le sue parti) B1 - Linguaggi Paolo Salvaneschi 30

Funzione e Struttura - Diagramma delle classi Classe astratta In corsivo o con etichetta { abstract} Finestra Windows Metodo con implementazione Finestra Metodo astratto (senza implementazione) inprimopiano() inbackground() Finestra Mac chiudi() inprimopiano() inbackground() inprimopiano() inbackground() B1 - Linguaggi Paolo Salvaneschi 31

Funzione e Struttura - Diagramma delle classi Interfaccia con <<interface>> <<interface>> Collection equals add interfaccia Classe astratta Ordine elementidellalinea[*] Dipendenza (richiede un interfaccia) La classe Ordine contiene una lista di elementidellalinea get private List elementidellalinea = new ArrayList(); > <<interface>> List Implementazione (fornisce un interfaccia) Equals get add get add List ArrayList Metodo astratto Overriding B1 - Linguaggi Paolo Salvaneschi 32

Funzione e Struttura - Diagramma delle classi Interfaccia Notazione più compatta Socket Lollipop ( Ordine elementidellalinea[*] ( List ArrayList Richiede l interfaccia Fornisce l interfaccia In UML1 > Collection B1 - Linguaggi Paolo Salvaneschi 33

Funzione e Struttura - Diagramma delle classi Oggetti e diagrammi di oggetti (fotografia degli oggetti (istanze di classi) che compongono un sistema software in un dato momento) ingegneria: Facoltà Località = Dalmine mariorossi: Docente Oggetto (sottolineato) nome istanza: nome della classe entrambi opzionali mariorossi: Docente Località = Dalmine B1 - Linguaggi Paolo Salvaneschi 34

Comportamento Diagrammi di sequenza Diagrammi di sequenza (es. comportamento di un singolo caso d uso) Una finestra inserisci ordine Un ordine Una linea d ordine Un articolo preparazione() * preparazione() Messaggio Oggetto Cancellazione Ritorno Oggetto attivo Linea di vita dell oggetto B1 - Linguaggi Paolo Salvaneschi 35

Comportamento Diagrammi di sequenza *[per tutte le linee d ordine] preparazione() Iterazione [ha disponib] remove() Condizione [ha disponib] new Chiamata interna Un prodotto Creazione Messaggio asincrono (non blocca l esecuzione del chiamante) B1 - Linguaggi Paolo Salvaneschi 36

Comportamento Diagrammi di collaborazione Diagrammi di collaborazione Una finestra inserisci ordine 1: preparazione() La sequenza è indicata dalla numerazione Un ordine 2: *[per tutte le linee d ordine] preparazione() Una linea d ordine B1 - Linguaggi Paolo Salvaneschi 37

Comportamento Diagrammi di collaborazione Diagrammi di sequenza e di collaborazione Viste parziali della dinamica tra oggetti Diagrammi semplici Adeguati a rappresentare processi non complessi (pochi cicli, poche condizioni) B1 - Linguaggi Paolo Salvaneschi 38

Comportamento Diagrammi di stato Diagrammi di stato Descrivono il comportamento dei singoli oggetti di una classe durante la loro vita Basati sulle Statechart di David Harel Derivati da automi a stati finiti B1 - Linguaggi Paolo Salvaneschi 39

Comportamento Diagrammi di stato Evento[condizione]/azione Azione Diagramma di stato degli oggetti della classe Ordine [non tutti art controllati] /prendi articolo success /prendi primo articolo Controllo do/controlla articolo [tutti art controllati&& tutti disponibili] Condizione Spedizione do/inizia consegna Attività [tutti art controllati&& non tutti disponibili] Articolo ricevuto [tutti gli art disp] consegnato Evento Articolo ricevuto [non tutti art disponibili] Attesa Transizione Stato Consegnato B1 - Linguaggi Paolo Salvaneschi 40

Comportamento Diagrammi di attività Diagrammi di attività Descrivono sequenze di attività che possono coinvolgere più oggetti Modellano condizioni (branch) E processi concorrenti (fork e join) Possono servire a modellare processi di business Parenti delle Reti di Petri B1 - Linguaggi Paolo Salvaneschi 41

Comportamento Diagrammi di attività Ricevi ordine Fork Attività [ordine rapido] Soddisfa ordine [else] Branch Invia conto Spedizione 24h Spediz standard Join Ricevi pagam Merge B1 - Linguaggi Paolo Salvaneschi 42

Package Package I package rappresentano la decomposizione di un modello di grandi dimensioni in gruppi di entità logicamente correlate Tutti i diagrammi UML possono essere decomposti in package; il tipo degli elementi contenuti nel package varia a seconda del modello a cui si applica la decomposizione B1 - Linguaggi Paolo Salvaneschi 43

Package Applicazione memorizza ordine Applicazione mailing list Package Dipendenza B1 - Linguaggi Paolo Salvaneschi 44

Implementazione - componenti Componenti Implementazione nel codice Un componente rappresenta un modulo di codice Non necessariamente coincide con un package (una classe può essere presente in più componenti ma essere definita in un solo package) Dipendenze: i cambiamenti apportati su un componente di ripercuotono su un altro componente B1 - Linguaggi Paolo Salvaneschi 45

Implementazione - componenti Componenti oppure <<component>> Transazioni ( DataBase Componente UML2 B1 - Linguaggi Paolo Salvaneschi 46

Nodo Implementazione - deployment Diagrammi di deployment Implementazione nell hardware Server A UML1 :Transazioni :Database Connessione TCP/IP :Interfaccia Bancomat Client Bancomat B1 - Linguaggi Paolo Salvaneschi 47

Casi d uso Casi d uso Indipendenti dalla modellazione ad oggetti Strumento di analisi dei requisiti B1 - Linguaggi Paolo Salvaneschi 48

Casi d uso Utente della biblioteca Actor1 Prendi a prestito la copia di un libro Estendi il prestito Restituisci la copia di un libro CASO D USO Estendi il prestito Breve descrizione Un utente desidera prolungare il periodo di prestito Attori Utente della biblioteca Precondizioni Il libro è già assegnato all utente Passi principali Controllare che nessuno l abbia prenotato Controllare lo stato dell utente Estendere il prestito Situazioni eccezionali Il libro è già prenotato Postcondizioni Prestito esteso, stato utente aggiornato B1 - Linguaggi Paolo Salvaneschi 49

Casi d uso A B Inclusione (A include B) A1 Generalizzazione B1 - Linguaggi Paolo Salvaneschi 50

Processo di sviluppo Processo di sviluppo Analisi dei requisiti (casi d uso) Estrazione del modello delle classi Dai dati (la classe xx modella gli studenti) Dalle responsabilità ( la classe yy gestisce gli eventi di input) Raffinamento e implementazione Processo iterativo guidato dai casi d uso e centrato attorno all architettura UP (Unified Process) B1 - Linguaggi Paolo Salvaneschi 51

UML e architetture :Transazioni :Database TCP/IP :Interfaccia Bancomat B1 - Linguaggi Paolo Salvaneschi 52

UML e architetture :Transazioni Invocazione MOM :Database TCP/IP :Interfaccia Bancomat B1 - Linguaggi Paolo Salvaneschi 53

UML e architetture UML 1.x by Scott W. Ambler B1 - Linguaggi Paolo Salvaneschi 54

UML e architetture UML 2.x by Scott W. Ambler B1 - Linguaggi Paolo Salvaneschi 55