Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi D1_3 V3.
|
|
- Maurizio Nobile
- 5 anni fa
- Visualizzazioni
Transcript
1 Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi D1_3 V3.4 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
2 INDICE UML Tipi di modellazione Architettura: Componenti Architettura: Deployment, Package Struttura - Diagramma delle classi Comportamento Diagrammi di sequenza Comportamento Diagrammi di comunicazione Comportamento Diagrammi di attività Comportamento Diagrammi di stato Casi d uso B1 - Linguaggi Paolo Salvaneschi 2
3 UML Unified Modelling Language Booch (Rational), Jacobson (Objectory) OOSE, Rumbaugh (General Electric) OMT OMG standard UML1 UML2 Collezione di tecniche di modellazione Coprono con tecniche multiple le viste di un architettura Livello di architettura e progettazione di dettaglio Funzione e struttura, comportamento, implementazione Riferimento: Martin Fowler, UML Distilled, Addison Wesley, 2004 D1 - Linguaggi Paolo Salvaneschi 3
4 Tipi di modellazione Modi di utilizzo Schema di progetto Aspetti fondamentali Interfacce Progetto Completezza Linguaggio di programmazione D1 - Linguaggi Paolo Salvaneschi 4
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 D1 - Linguaggi Paolo Salvaneschi 5
6 Tipi di modellazione Tipi di modellazione Concettuale Concetti del dominio applicativo Specifica Es.: classi a livello di interfaccia e non di implementazione Implementazione Es.: classi con gli aspetti di implementazione Progettazione: Concettuale => Specifica => Implementazione D1 - Linguaggi Paolo Salvaneschi 6
7 Architettura: Componenti Componenti a livello architetturale Un componente software è un entità architetturale che incapsula: Un servizio applicativo: sottoinsieme delle funzionalità applicative e/o dei dati del sistema Un servizio di infrastruttura software D1 - Linguaggi Paolo Salvaneschi 7
8 Architettura: Componenti Componenti oppure <<component>> Componente Transazioni ( DataBase Interfaccia richiesta (utilizza l implementazione) -socket Interfaccia fornita (implementata) -lollipop D1 - Linguaggi Paolo Salvaneschi 8
9 Architettura: Componenti Componenti D1 - Linguaggi Paolo Salvaneschi 9
10 Architettura: Componenti Esempio D1 - Linguaggi Paolo Salvaneschi 10
11 Architettura: Componenti UML 2.x by Scott W. Ambler D1 - Linguaggi Paolo Salvaneschi 11
12 Architettura: Componenti UML 1.x by Scott W. Ambler B1 - Linguaggi Paolo Salvaneschi 12
13 Struttura composta Architettura: Componenti Porta D1 - Linguaggi Paolo Salvaneschi 13
14 Struttura composta Nome della porta Architettura: Componenti D1 - Linguaggi Paolo Salvaneschi 14
15 Architettura: Componenti Componenti Funzione applicativa Struttura dati applicativa Infrastruttura tecnica D1 - Linguaggi Paolo Salvaneschi 15
16 Architettura: Deployment, Package Diagrammi di deployment Implementazione nell hardware / software Nodo Elaborato (artifact) Ambiente di esecuzione Connessione D1 - Linguaggi Paolo Salvaneschi 16
17 Architettura: Deployment, Package Diagrammi di deployment D1 - Linguaggi Paolo Salvaneschi 17
18 Architettura: Deployment, Package Package I package rappresentano il raggruppamento di elementi UML. In generale sono applicati alle classi. I package possono essere una struttura gerarchica Ogni package è un namespace java::util::date Meccanismo per tenere sotto controllo la complessità del codice D1 - Linguaggi Paolo Salvaneschi 18
19 Architettura: Deployment, Package Package Applicazione memorizza ordine cliente Applicazione mailing list fornitore Dipendenza Una modifica a fornitore può causare la modifica di cliente D1 - Linguaggi Paolo Salvaneschi 19
20 Struttura - Diagramma delle classi Diagramma delle classi Classe Nome della classe Attributi nome indirizzo Cliente Operazioni (Metodi) livellocredito(): String D1 - Linguaggi Paolo Salvaneschi 20
21 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 21
22 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 D1 - Linguaggi Paolo Salvaneschi 22
23 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. D1 - Linguaggi Paolo Salvaneschi 23
24 Struttura - Diagramma delle classi Esempi indirizzo + codiceordine: String = "ORD0000/06" data: Data [0..1] + elementilineaordine: LineaOrdine [*] {ordered} visibilità nome: tipo molteplicità {stringadiproprietà} D1 - Linguaggi Paolo Salvaneschi 24
25 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 D1 - Linguaggi Paolo Salvaneschi 25
26 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 26
27 Struttura - Diagramma delle classi Esempi sollecito() contomensile (integer) + saldo (data: Date) : Denaro D1 - Linguaggi Paolo Salvaneschi 27
28 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 28
29 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 29
30 Struttura - Diagramma delle classi Relazione Ordine data prepagato numero: String [1] prezzo: Denaro spedisci() chiudi() * 1 Associazione Cliente nome indirizzo livellocredito(): String D1 - Linguaggi Paolo Salvaneschi 30
31 Struttura - Diagramma delle classi Navigabilità Ordine data prepagato numero: String prezzo: Denaro spedisci() chiudi() * 1 nome indirizzo Cliente livellocredito(): String Da un Ordine si può raggiungere il relativo Cliente Ma un Cliente non ha riferimento ai suoi ordini D1 - Linguaggi Paolo Salvaneschi 31
32 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 32
33 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 D1 - Linguaggi Paolo Salvaneschi 33
34 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. D1 - Linguaggi Paolo Salvaneschi 34
35 Struttura - Diagramma delle classi Relazione: Generalizzazione (is a) nome indirizzo Cliente livellocredito(): String Cliente Azienda nomecontatto livellocredito limitecredito Cliente Privato numcartacredito Sollecito() D1 - Linguaggi Paolo Salvaneschi 35
36 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) D1 - Linguaggi Paolo Salvaneschi 36
37 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 D1 - Linguaggi Paolo Salvaneschi 37
38 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 D1 - Linguaggi Paolo Salvaneschi 38
39 Struttura - Diagramma delle classi Vincoli nome indirizzo Cliente livellocredito(): string Cliente Azienda nomecontatto livellocredito limitecredito Sollecito() Vincolo Cliente Privato numcartacredito {livellocredito() = = basso } D1 - Linguaggi Paolo Salvaneschi 39
40 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) D1 - Linguaggi Paolo Salvaneschi 40
41 Struttura - Diagramma delle classi Relazione: Composizione Edificio 1 * Muro Composizione D1 - Linguaggi Paolo Salvaneschi 41
42 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) D1 - Linguaggi Paolo Salvaneschi 42
43 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() D1 - Linguaggi Paolo Salvaneschi 43
44 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 D1 - Linguaggi Paolo Salvaneschi 44
45 Struttura - Diagramma delle classi Interfaccia Notazione più compatta Socket Lollipop ( Ordine elementidellalinea[*] ( List ArrayList Richiede l interfaccia Fornisce l interfaccia In UML1 > Collection D1 - Linguaggi Paolo Salvaneschi 45
46 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 D1 - Linguaggi Paolo Salvaneschi 46
47 Comportamento Diagrammi di sequenza Diagrammi di sequenza Collaborazione di un gruppo di oggetti che implementano un comportamento (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 D1 - Linguaggi Paolo Salvaneschi 47
48 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) D1 - Linguaggi Paolo Salvaneschi 48
49 Comportamento Diagrammi di comunicazione Diagrammi di comunicazione 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 Diagrammi di collaborazione in UML 1 D1 - Linguaggi Paolo Salvaneschi 49
50 Comportamento Diagrammi di comunicazione Diagrammi di sequenza e di comunicazione Viste parziali della dinamica tra oggetti Diagrammi semplici Adeguati a rappresentare processi non complessi (pochi cicli, poche condizioni) D1 - Linguaggi Paolo Salvaneschi 50
51 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 D1 - Linguaggi Paolo Salvaneschi 51
52 Comportamento Diagrammi di attività Ricevi ordine Fork Attività Soddisfa ordine Branch Invia conto [ordine rapido] [else] Spedizione 24h Spediz standard Join Ricevi pagam Merge D1 - Linguaggi Paolo Salvaneschi 52
53 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 D1 - Linguaggi Paolo Salvaneschi 53
54 [non tutti art controllati] /prendi articolo success Comportamento Diagrammi di stato evento [predicato] / azione trigger [guardia] / attività Azione /prendi primo articolo Controllo do/controlla articolo Diagramma di stato degli oggetti della classe Ordine [tutti art controllati&& tutti disponibili] Spedizione Stato Azione interna [tutti art controllati&& non tutti disponibili] Articolo ricevuto [tutti gli art disp] Articoli consegnati Attesa Predicato Consegnato Evento Articolo ricevuto [non tutti art disponibili] D1 - Linguaggi Paolo Salvaneschi 54
55 Casi d uso Casi d uso Indipendenti dalla modellazione ad oggetti Strumento di analisi dei requisiti D1 - Linguaggi Paolo Salvaneschi 55
56 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 D1 - Linguaggi Paolo Salvaneschi 56
57 Casi d uso A B Inclusione (A include B) A1 Generalizzazione D1 - Linguaggi Paolo Salvaneschi 57
58 Casi d uso Negozio on-line su Web Storia di utilizzo del sistema Scopo: acquistare un prodotto Da M.Fowler, UML Distilled, Pearson, 2004 D1 - Linguaggi Paolo Salvaneschi 58
59 Casi d uso Caso d uso corrispondente Caso d uso incluso Scenario principale Scenari di varianti D1 - Linguaggi Da M.Fowler, UML Distilled, Pearson, 2004 Paolo Salvaneschi 59
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B1_2 V2.3 UML
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
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per
DettagliUML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13
UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare
DettagliMicrosoft Visio 2002 UML Sergio Colosio
Microsoft Visio 2002 UML Sergio Colosio Casi d uso Prima di definire un caso d uso è necessario definire cosa s intende per scenario. Uno scenario è una sequenza di passi che descrivono l interazione tra
DettagliPrincipi di Progettazione del Software a.a
Principi di Progettazione del Software a.a. 2016-2017 UML: approfondimenti sui diagrammi delle classi e di sequenza. Diagrammi di package e di deployment Prof. Università del Salento Obiettivi della lezione
DettagliSOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica,
DettagliUML UNIFIED MODELING LANGUAGE
UML UNIFIED MODELING LANGUAGE Cos è UML E un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (C, C++, Java, ) Fornisce una serie di diagrammi per rappresentare ogni tipo
DettagliAlcuni diagrammi. OCL (Object Constraint Language)
UML e Java UML Alcune discipline ingegneristiche dispongono di validi mezzi di rappresentazione (schemi, diagrammi di prestazioni e consumi,...) Il software non dispone ancora di tecniche efficaci per
DettagliUML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato
Introduzione all UML UML come abbozzo UML - Unified Modeling Language E una famiglia di notazioni grafiche per la modellazione visuale del software Modellazione: rappresentazione di elementi che corrispondono
DettagliModellazione discreta con UML
Modellazione discreta con UML Simulazione & Logistica, I modulo Lezione n. 3 Corso di Laurea in Informatica Applicata Università di Pisa, sede di La Spezia A.a. 2008/09, I semestre Giovanni A. Cignoni
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi D1_2 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi D1_2 V3.4 Reti di Petri Il contenuto del documento è liberamente utilizzabile
DettagliSOMMARIO DIAGRAMMI DI SEQUENZA
SOMMARIO DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it SOMMARIO DIAGRAMMI
DettagliSOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base
SOMMARIO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2012 2013 2 rcardin@math.unipd.it SOMMARIO 3 4 Analisi dei Requisiti, Specifica
DettagliSOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni Concetti base e avanzati DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica,
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_2 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A6_2 V3.1 Gestione Gestione della documentazione Il contenuto del documento
DettagliFondamenti di Informatica II 21. Standard UML
Premessa In questa lezione sono descritte importanti dello standard UML alcune caratteristiche piu Fondamenti di Informatica II 21. Standard UML Lo standard UML verrà trattato in maniera piu approfondita
DettagliFondamenti di Informatica
Premessa In questa lezione sono descritte alcune caratteristiche piu importanti dello standard UML Fondamenti di Informatica 24. Standard UML Lo standard UML verrà trattato in maniera piu approfondita
DettagliSOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base
SOMMARIO Introduzione Concetti base INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 2 rcardin@math.unipd.it SOMMARIO Introduzione
DettagliSOMMARIO DIAGRAMMI DI ATTIVITÀ
SOMMARIO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2010 2011 2 ingegneria.software.math.unipd@gmail.com SOMMARIO 3 4 Analisi
DettagliProgettazione Object-Oriented
Progettazione Object-Oriented Generalità, Relazione fra OOA e OOD Concetti di base: Classi e Oggetti, Relazioni fra oggetti, Ereditarietà e Polimorfismo La specifica del Progetto: notazione UML Una metodologia
DettagliDIAGRAMMI DEI PACKAGE
ESERCITAZIONE ERRORI COMUNI REV. DI PROGETTAZIONE INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2013 2014 UML Versione di UML?
DettagliA. Ferrari Object Oriented Design
Object Oriented Design UML class diagram cos è UML o è un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (Python, C, C++, Java, ) o fornisce una serie di diagrammi per
DettagliSOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni Concetti base e avanzati DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica,
DettagliSOMMARIO. DIAGRAMMI DELLE CLASSI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni Concetti base e avanzati INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2018 2019
DettagliSOMMARIO. DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Partecipanti e messaggi.
SOMMARIO DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2015 2016 rcardin@math.unipd.it 2 SOMMARIO DIAGRAMMI
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A2_1 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A2_1 V3.1 Processi Processi e organizzazioni Il contenuto del documento
DettagliProgrammazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo
Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy
DettagliSOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base.
SOMMARIO Introduzione Concetti base INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 SOMMARIO Introduzione
DettagliProgramma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_5 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_5 V3.2 Progettazione Verifica del progetto Il contenuto del documento
DettagliUnified Modeling Language (UML)
Unified Modeling Language (UML) Richiami dei diagrammi di base per l utilizzo nel corso di RPPI Rielaborazione delle slide proposte da M. Cossentino 1 Perchè usare la progettazione visuale? Mary Loomis,
DettagliIntroduzione a UML Adriano Comai Introduzione a UML. Adriano Comai Pag. 1
Introduzione a UML Adriano Comai 1998-2001 Pag. 1 obiettivo di questa introduzione fornire elementi di base su UML introdurre i principali diagrammi fornire indicazioni sulle modalità di utilizzo di UML
DettagliUML Unified Modeling Language
UML E CASI D USO UML Unified Modeling Language Linguaggio stardardizzato per identificare e modellizzare le specifiche di un S.I. Coerente con il paradigma della programmazione ad oggetti Definito a partire
DettagliIntroduzione a UML. Obiettivi. Unified Modeling Language. Gli autori di UML. Cos è UML. Cos è UML (cont.) Unified Modeling Language
Obiettivi Introduzione a UML Unified Modeling Language Fornire elementi di base su UML Introdurre i principali diagrammi Fornire indicazioni sulle modalità di utilizzo di UML nello sviluppo delle applicazioni
DettagliGestione dello sviluppo software Modelli Base
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A4_1 V1.0 Gestione dello sviluppo software Modelli Base Il contenuto
DettagliA. Ferrari Object Oriented Design
Object Oriented Design UML class diagram cos è UML o è un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (Python, C, C++, Java, ) o fornisce una serie di diagrammi per
DettagliCorso di Ingegneria del Software. Activity Diagram
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Diagrammi di attività Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4.
DettagliLaboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring
TITLE Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B1_1 V2.1. Reti di Petri
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi B1_1 V2.1 Reti di Petri Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale
DettagliUML2. Concetti base. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Università di Camerino
UML2 Concetti base Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Università di Camerino (Labortorio di Ingegneria del Software) UML2 - Concetti Base 1 / 12 Cos
DettagliClassi. Meccanismi di Rappresentazione e Scoperta. Andrea Polini
Classi Meccanismi di Rappresentazione e Scoperta Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Univesità di Camerino (Laboratorio di Ingegneria del Software) Classi
DettagliCorso di Ingegneria del Software. Casi d uso
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. 2. 2.1 Il linguaggio dei casi d uso 2.2 Esempi 3. Bibliografia Sommario 1. 2. 2.1 Il linguaggio dei casi d uso
DettagliAcquisizione di prodotti e servizi Parte 2
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A5_2 V1.0 Acquisizione di prodotti e servizi Parte 2 Il contenuto del
DettagliGiovanni A. Cignoni 1
UML per la modellazione discreta Lezione n. 6 Corso di Laurea in Informatica Applicata Università di Pisa, sede di La Spezia Giovanni A. Cignoni www.di.unipi.it/~giovanni 1/24 Contenuti UML in poche parole
DettagliIngegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di
DettagliLaboratorio di Sistemi Software UML per Design Patterns e Refactoring
TITLE Laboratorio di Sistemi Software UML per Design Patterns e Refactoring Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi Class Diagram Object
DettagliCLASS DIAGRAM PARTE 1
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering Laboratory CLASS DIAGRAM PARTE 1 UML The Unified Modeling Language Guglielmo De Angelis guglielmo.deangelis@isti.cnr.it
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B3_1 V3.2.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi B3_1 V3.2 Tool Il contenuto del documento è liberamente utilizzabile
DettagliI Diagrammi di Flusso OO
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - I Diagrammi di Flusso OO Generalità I diagrammi di attività vengono usati per modellare processi a
DettagliUML2. Attività di Progettazione. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino
UML2 Attività di Progettazione Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Laboratorio di Ingegneria del Software) UML 2 Attività di
DettagliBasi di conoscenza nella logica del primo ordine
Università di Bergamo Facoltà di Ingegneria Intelligenza Artificiale Paolo Salvaneschi A7_5 V1.3 Basi di conoscenza nella logica del primo ordine Il contenuto del documento è liberamente utilizzabile dagli
DettagliDiagrammi delle classi
Diagrammi delle classi Tecnica centrale di modellazione OO Descrizione strutturale statica degli oggetti che compongono il sistema (comprensiva di attributi e operazioni) e delle loro relazioni (restrizioni
DettagliIntroduzione a UML. obiettivo di questa introduzione
Introduzione a UML Adriano Comai 1998 Pag. 1 obiettivo di questa introduzione fornire elementi di base su UML introdurre i principali diagrammi fornire indicazioni sulle modalità di utilizzo di UML nello
DettagliA3_3 V3.1 Requisiti e Specifica Modellazione e riuso della conoscenza
Università di Bergamo Dipartimento di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A3_3 V3.1 Requisiti e Specifica Modellazione e riuso della conoscenza
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Unified Modeling Language (II) Modellazione Dinamica Il comportamento dinamico del sistema viene descritto in UML attraverso i seguenti diagrammi: Statechart diagram Sequence
Dettagli1. UML 2 ed il Processo Unificato
1. UML 2 ed il Processo Unificato Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 1 / 25 Sommario
DettagliCorso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque
DettagliSommario. I Uso degli oggetti 39
Questo è l'indice del libro, in cui sono evidenziati i paragrafi corrispondenti agli argomenti trattati nel corso e che costituiranno il programma d'esame. Alcuni argomenti sono stati trattati nelle lezioni
DettagliCasi d uso: esercizi
Casi d uso: esercizi Angelo Di Iorio A.A. 2013-2014 Ingegneria del Software () Casi d uso: esercizi A.A. 2013-2014 1 / 35 Tools UML ArgoUML, http://argouml.tigris.org/ Eclipse MDT UML2, http://www.eclipse.org/uml2/
DettagliUML. Unified Modeling Language (linguaggio di modellazione unificato) prof. Antonio Gervasi IIS «A.Meucci» Casarano
UML Unified Modeling Language (linguaggio di modellazione unificato) 1 Cos è UML L UML nasce negli anni 90 come unificazione di diverse metodologie di analisi. Si propone come strumento per facilitare
DettagliCONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI
CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di
DettagliBasi di dati Modelli e linguaggi di interrogazione
Paolo Atzeni Stefano Ceri Stefano Paraboschi Riccardo Torlone Basi di dati Modelli e linguaggi di interrogazione web site McGraw-Hill IUAV - VENEZIA H 9882 BIBLIOTECA CENTRALE Paolo Atzeni Stefano Ceri
DettagliSistemi Informativi I Strumenti - UML
8 UNIFIED MODELING LANGUAGE (UML)...2 8.1 UN APPROCCIO VISUALE ALLA PROGETTAZIONE....2 8.1.1 I vantaggi dell utilizzo di diagrammi nella fase di progettazione....2 8.2 COS È UML...3 8.2.1 Origini e breve
DettagliRelazioni. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino
Relazioni Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Ingegneria del Software) Relazioni 1 / 13 Relazione Relazione - da teoria degli
DettagliSYLLABUS TRIENNIO. prof. Mauro Malatesta. Approvata dal Dipartimento di il. Approvata dal Consiglio di classe il...
Anno scolastico: 2014 2015 Classe: 4 Sez.: G Disciplina: INFORMATICA Articolazione: Informatica Docente: prof. Mauro Malatesta (firma) Approvata dal Dipartimento di il Approvata dal Consiglio di classe
DettagliProgettazione concettuale A. Ferrari
Progettazione concettuale A. Ferrari Le fasi Definizione dei bisogni degli utenti Progettazione logico/fisica Definizione dei requisiti Progettazione concettuale Obiettivo La progettazione concettuale
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A6_3 V2.1. Gestione
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A6_3 V2.1 Gestione Gestione delle versioni, configurazioni e modifiche Il contenuto del documento è liberamente utilizzabile
DettagliRelazioni tra le classi e rappresentazione mediante diagrammi delle classi UML. Relazioni tra le classi Ereditarietà (is a)...
Sommario Relazioni tra le classi... 2 Ereditarietà (is a)... 2 Associazione (has a)... 2 Composizione... 2 Aggregazione... 2 Dipendenza (using)... 3 Unified Modeling Language (UML)... 3 Diagramma delle
DettagliProgramma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
DettagliUML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009
UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata
DettagliFondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro
DettagliConfiguration Change Release Management
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A6_3 V1.0 Configuration Change Release Management Il contenuto del documento
DettagliIl PROCESSO UNIFICATO
Corsi di laurea triennale in Ingegneria Informatica Corso di Ingegneria del software Il PROCESSO UNIFICATO Modellazione ed Implementazione di un Sistema Software per la gestione informatizzata di un ristorante
DettagliCasi d uso. Marina Zanella - Ingegneria del Software UML: Casi d uso 1
Casi d uso Introdotti in UML da Jacobson nel 1994 come elementi principali dello sviluppo del sw (ma il concetto era già stato pubblicato nel 1987) Sono un veicolo per la pianificazione di progetto (controllano
DettagliIntroduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2006/2007
Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2006/2007 1 Che cos è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare
DettagliVincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa
Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa Lezione precedente: Il metodo Jackson Questa lezione Introduzione a UML Diagramma dei casi d uso Necessità
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT. Paolo Salvaneschi B1_1 V1.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione GESTIONE DEI SISTEMI ICT Paolo Salvaneschi B1_1 V1.1 Strumenti software Il contenuto del documento è liberamente
DettagliAntinisca Di Marco. Laboratorio di Ingegneria del Software a.a
Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2014-2015 Antinisca Di Marco Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM) - Università degli
DettagliIntroduzione all ingegneria dei sistemi ICT
Università di Bergamo Facoltà di Ingegneria Applicazioni Internet B Paolo Salvaneschi C1_1 V1.3 Introduzione all ingegneria dei sistemi ICT Il contenuto del documento è liberamente utilizzabile dagli studenti,
DettagliProgettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni
LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al
DettagliLinguaggi di Programmazione I Lezione 4
Linguaggi di Programmazione I Lezione 4 Prof. Marcello Sette mailto://marcello.sette@gmail.com http://sette.dnsalias.org 18 marzo 2008 Modello orientato ad oggetti 3 Introduzione............................................................
DettagliUML. Cos è UML. Diagrammi UML. Analisi di un problema. Definizione dei requisic. Un esempio
Cos è UML UML Unified Modeling Language E un linguaggio di proge&azione, da non confondere con i linguaggi di programmazione (C, C++, Java, ) Fornisce una serie di diagrammi per rappresentare ogni Cpo
DettagliUML e i diagrammi di attività
UML e i diagrammi di attività S i n t a s s i e L i n e e G u i d a Dr. Andrea Baruzzo andrea.baruzzo@dimi.uniud.it Page 2 Attività: che cosa sono e a cosa servono Un diagramma di attività mostra il flusso
DettagliLa fase di Progettazione
Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Progettazione Giulio Destri Ing. del Sw: Progettazione - 1 Scopo del modulo
DettagliINGEGNERIA DEL SOFTWARE
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea magistrale in Ingegneria informatica Anno accademico 2016/2017-1 anno INGEGNERIA DEL SOFTWARE 9 CFU - 1 semestre Docente titolare
DettagliProgramma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
DettagliModulo 11. Interazioni Diagrammi di sequenza Diagrammi di collaborazione. Descrivere il comportamento di un sistema software
Modulo 11 Interazioni Diagrammi di sequenza Diagrammi di collaborazione Descrivere il comportamento di un sistema software In un sistema object-oriented, gli oggetti interagiscono scambiandosi messaggi
DettagliDiagrammi di classe e sistemi orientati agli oggetti
Appendice D Diagrammi di classe e sistemi orientati agli oggetti ANDREA GINI Un effetto della strategia di incapsulamento è quello di spingere il programmatore a esprimere il comportamento di un sistema
DettagliRequisiti. Requisiti (cont.) Sapienza - Università di Roma Facoltà di Ingegneria
Sapienza - Università di Roma Facoltà di Ingegneria Corso di PROGETTAZIONE DEL SOFTWARE I (Corso di Laurea in Ingegneria Informatica) Prof. Giuseppe De Giacomo Canali A-L & M-Z A.A. 2006-07 Compito d esame
DettagliUnified Modeling Language (UML)
Unified Modeling Language (UML) È una famiglia di notazioni grafiche che si basano su un singolo meta-modello Serve per definire, progettare, realizzare e documentare sistemi sw (in particolare quelli
DettagliUML. Unified Modeling Language
UML Unified Modeling Language Modello di un sistema Descrizione astratta del sistema Diversi punti di vista Modello è una specifica in cui è inclusa anche una descrizione dell ambiente in cui il sistema
DettagliCorso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I)
Corso di Algoritmi e Strutture dati Programmazione Object- Oriented in Java (Parte I) Ing. Gianluca Caminiti Sommario ( OOP ) Programmazione Object-Oriented Incapsulamento, Ereditarietà, Polimorfismo Richiami
DettagliElementi di UML (6): Diagrammi dinamici di flusso
Elementi di UML (6): Diagrammi dinamici di flusso Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio di Sistemi
Dettagli