Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B1_2 V2.3 UML
|
|
- Vittorio Ricciardi
- 4 anni fa
- Visualizzazioni
Transcript
1 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
2 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
3 INDICE Package Implementazione Componenti Implementazione Deployment Casi d uso Processo di sviluppo UML e architetture B1 - Linguaggi Paolo Salvaneschi 3
4 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
5 Tipi di modellazione Modi di utilizzo Schema di progetto Aspetti fondamentali Interfacce Progetto Completezza Linguaggio di programmazione B1 - Linguaggi Paolo Salvaneschi 5
6 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
7 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
8 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
9 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
10 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
11 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
12 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
13 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
14 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
15 Funzione e Struttura - Diagramma delle classi Esempi sollecito() contomensile (integer) + saldo (data: Date) : Denaro B1 - Linguaggi Paolo Salvaneschi 15
16 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
17 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
18 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
19 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
20 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
21 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
22 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
23 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
24 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
25 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
26 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
27 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
28 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
29 Funzione e Struttura - Diagramma delle classi Relazione: Composizione Edificio 1 * Muro Composizione B1 - Linguaggi Paolo Salvaneschi 29
30 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
31 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
32 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
33 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
34 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
35 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
36 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
37 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
38 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
39 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
40 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
41 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
42 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
43 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
44 Package Applicazione memorizza ordine Applicazione mailing list Package Dipendenza B1 - Linguaggi Paolo Salvaneschi 44
45 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
46 Implementazione - componenti Componenti oppure <<component>> Transazioni ( DataBase Componente UML2 B1 - Linguaggi Paolo Salvaneschi 46
47 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
48 Casi d uso Casi d uso Indipendenti dalla modellazione ad oggetti Strumento di analisi dei requisiti B1 - Linguaggi Paolo Salvaneschi 48
49 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
50 Casi d uso A B Inclusione (A include B) A1 Generalizzazione B1 - Linguaggi Paolo Salvaneschi 50
51 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
52 UML e architetture :Transazioni :Database TCP/IP :Interfaccia Bancomat B1 - Linguaggi Paolo Salvaneschi 52
53 UML e architetture :Transazioni Invocazione MOM :Database TCP/IP :Interfaccia Bancomat B1 - Linguaggi Paolo Salvaneschi 53
54 UML e architetture UML 1.x by Scott W. Ambler B1 - Linguaggi Paolo Salvaneschi 54
55 UML e architetture UML 2.x by Scott W. Ambler B1 - Linguaggi Paolo Salvaneschi 55
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi D1_3 V3.
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
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,
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 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
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
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
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
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
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,
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
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
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
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
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
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
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
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
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
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?
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
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
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
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
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
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
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,
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 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
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/
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
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
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
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à
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............................................................
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
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
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A2_2 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A2_2 V3.4 Processi Modelli di processi di sviluppo software (cicli di
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
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
DettagliNote sugli Statechart Diagrams
Note sugli Statechart Diagrams Giacomo Gabrielli Sorgente: [Bolognesi05] 1 Diagrammi di Stato I diagrammi di stato (statechart diagram) permettono di descrivere il comportamento dinamico di un oggetto
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
DettagliIngegneria del Software
Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi
DettagliINTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a
INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo
Dettaglitipi di dato astratti
tipi di dato astratti A. FERRARI ADT Un tipo di dato astratto o ADT (Abstract Data Type) è un tipo di dato le cui istanze possono essere manipolate con modalità che dipendono esclusivamente dalla semantica
DettagliLa progettazione concettuale
PROGETTAZIONE La progettazione concettuale Sintesi tra la visione degli utenti e la visione dei progettisti. I progettisti devono essere certi di aver compreso esattamente e completamente le esigenze degli
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
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
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
DettagliClass diagram COMPORTAMENTO associazioni
Class diagram Rappresenta le classi che compongono il sistema, cioè le collezioni di oggetti, ciascuno con il proprio stato e COMPORTAMENTO (attributi ed operazioni) Specifica, mediante associazioni, le
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
DettagliProgettazione Logica e Modello Realizzativo
Progettazione Logica e Modello Realizzativo Metodologia di SI PREFERIBILMENTE ITERATIVA (1) Analisi dei Requisiti (Modello di Business): analisi di scenario, individuando i processi, gli attori coinvolti
DettagliA.s Programma di Informatica
A.s. 2008-2009 Programma di Informatica Gli aspetti teorici della disciplina sono suddivisi in 5 moduli: A. Progetto di sistemi informativi B. Basi di dati C. Linguaggi per basi di dati relazionali D.
DettagliCorso di Reti di Calcolatori L-A
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Reti di Calcolatori L-A Esercitazione 4 (proposta) Server Multiservizio: Socket C con select Luca Foschini Anno accademico 2010/2011 Esercitazione
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
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
DettagliModelli di sistema e UML
Modelli di sistema e UML 29/10/2017 Indice Introduzione Unified Modeling Language (UML) Diagrammi dei casi d uso Diagrammi di attività Diagrammi di stato Diagrammi di sequenza Diagrammi di classe Architettura
DettagliCapitolo 7 Un primo sguardo agli oggetti Schema e valori Elementi di classe e d istanza
I Sommario Prefazione xiii Capitolo 1 Introduzione alla programmazione 1 1.1 Hardware e software......................... 1 1.2 La programmazione......................... 4 1.2.1 I paradigmi di programmazione...............
Dettagli