UML. Unified Modeling Language

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UML. Unified Modeling Language"

Transcript

1 UML Unified Modeling Language

2 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 dovrà operare

3 Modellazione Modellare il sistema aiuta gli analisti a capire le funzionalità del sistema I modelli del sistema sono usati per comunicare con i committenti Diversi modelli presentano il sistema da diverse prospettive

4 Alcuni modelli interessanti Modello di analisi Modello di progetto Modello degli use case Modello di deployment Modello di implementazione Modello di test

5 UML Il software non dispone ancora di tecniche efficaci per descriverne la struttura, le funzionalità e le prestazioni UML cerca di rimediare a questa situazione Standard OMG (Object Management Group) Oggi siamo alle versione 2.X Progettazione indipendente dal linguaggio di programmazione

6 Alcuni diagrammi Diagrammi di struttura diagrammi delle classi, diagrammi degli oggetti, diagrammi dei componenti, diagrammi delle strutture composte, diagrammi dei package e diagrammi di deployment Diagrammi di comportamento diagrammi dei casi d'uso, diagrammi delle attività e diagrammi delle macchine a stati Diagrammi di interazione diagrammi di sequenza, diagrammi di comunicazione, diagrammi di temporizzazione e diagrammi di interazione generale OCL (Object Constraint Language)

7 Dettagli nella descrizione UML consente di esprimere graficamente livelli crescenti di dettaglio nella descrizione delle classi Questi livelli crescenti di dettaglio sono spesso inappropriati o addirittura completamente fuori luogo nella specifica dei requisiti Diventano invece essenziali nella descrizione dell'architettura della soluzione, dove le classi corrispondono esattamente alle classi della soluzione in Java

8 Classe Composta da tre parti Nome Attributi (lo stato) Metodi (il comportamento) Attributo: visibilità nome: tipo [molteplicità] = default {stringa di proprietà} Metodo: visibilità nome (lista parametri): tipo di ritorno {stringa di proprietà} Visibilità: + public, - private, # protected, ~ friendly Parametro: direzione nome: tipo = default tutte le persone devono essere nate dopo l1/1/1960 Persona - nome: String - cognome: String - datanascita: Date + sisposa(p: Persona): boolean + compieanni(d: Date): boolean Persona - nome: String - cognome: String - datanascita: Date - numpersone: int + sisposa(p: Persona): boolean + compieanni(d: Date): boolean

9 Traduzione Persona - nome: String - cognome: String - datanascita: Date - numpersone: int + sisposa(p: Persona): boolean + compieanni(d: Date): boolean public class Persona { private String nome; private String cognome; private Date datanascita; private static int numpersone; } public boolean sisposa(persona p) { } public boolean compieanni(date d) { }

10 Associazioni Persona 1..* 1 Casa vive Un associazione indica una relazione tra classi ad esempio persona che lavora per azienda Un associazione può avere un nome (solitamente un verbo) i ruoli svolti dalle classi nell associazione Gli estremi di un associazione sono attributi impliciti hanno visibilità come gli attributi normali hanno una molteplicità 1, 0..1, 1..*, 4, 6-12

11 Diagramma delle classi dirige subalterni 0..* Persona Azienda superiore nome: String - cognome: String - anni: int 0..* lavora dipendenti 1 azienda - nome: String - fatturato: int - numdipendenti: int + assume(p: Persona): int...

12 Classi associazione Studente 1..* 1..* Corso DatiCorso - voto: int - frequenza: int + votomassimo(): int

13 Aggregazioni Le aggregazioni sono una forma particolare di associazione Una parte è in relazione con un oggetto (part-of) 1 Telaio Automobile 1 1 Motore 4 Ruota

14 Composizioni Una relazione di composizione è un aggregazione forte Le parti componenti non esistono senza il contenitore Creazione e distruzione avvengono nel contenitore I componenti non sono parti di altri oggetti Automobile 0..1 Ruota 0..1 Bicicletta In Java aggregazioni e composizioni si traducono allo stesso modo In C++ esistono modi differenti

15 Associazioni riflessive Un associazione è riflessiva se coinvolge oggetti della stessa classe Indicano oggetti multipli della stessa classe che sono in relazione fra loro Corso Parte Precedenze Aggregazione

16 Esempio1 Persona 1..* 1 Casa vive - persone class Persona { private Casa casa; } - casa class Casa { private Persona[] persone; }

17 Esempio2 Persona - nome: String - cognome: String - datanascita: Date - numpersone: int + sisposa(p: Persona): boolean + compieanni(d: Date): boolean + moglie marito 0..1 matrimonio class Persona { private String nome; private String cognome; private Date datanascita; private static int numpersone; public Persona marito; public Persona moglie; } public boolean sisposa(persona p) { } public boolean compieanni(date d) { }

18 Esempio3 Persona Prestito - nome: String - cognome: String - codfiscale: String - stipendio: int 1 intestatario 0..* prestiti - ammontare: int - rata: int - datainizio: Date - datafine: Date + chiedeprestito(somma: int): void * clienti 0..* prestiti 1 banca 0..* Banca banche

19 Esempio3 class Persona { } private String nome; private String cognome; private String codfiscale; private int stipendio; class Banca { private Persona[] clienti; } class Prestito { private int ammontare; } private int rata; private Date datainizio; private Date datafine; private Persona intestatario; private Banca banca;

20 Ereditarietà (Generalizzazione) Esplicita eventuali comportamenti comuni Veicolo Terrestre Veicolo APedali Triciclo Bicicletta class Triciclo extends Bicicletta { Possibilità di ereditare da più classi Vietato in Java Può portare a conflitti fra attributi o servizi con lo stesso nome ereditati da classi diverse

21 Classi astratte Disegno 1..* 1..* Figura Geometrica Quadrato Rettangolo Triangolo

22 Interfacce FiguraGeometrica - vertici: List <<interface>> List + add(o: Object): boolean + get(index: int): Object Vector + add(o: Object): boolean + get(index: int): Object FiguraGeometrica Vector - vertici: List List + add(o: Object): boolean + get(index: int): Object

23 Interfacce ed ereditarietà <<interface>> Veicolo Veicolo <<interface>> VeicoloAMotore VeicoloAPedali VeicoloAMotore VeicoloAPedali Automobile Camion Automobile Camion

24 Package Decomposizione gerarchica e dipendenze tra package In Java esiste un concetto simile interfaccia Grafica logica Applicativa modello DeiDati + Persona + Casa battaglianavale interfaccia Grafica partita interfaccia campobattaglia + Colpo + Nave + Quadrante Windows GUI MacOS GUI Linux GUI

25 Diagrammi di interazione Descrivono il comportamento dinamico di un gruppo di oggetti che interagiscono per risolvere un problema Sono utilizzati per rappresentare scenari in termini Entità (oggetti) Messaggi scambiati (metodi) UML propone Diagrammi di sequenza Diagrammi di comunicazione

26 Esempio Pippo Potrebbe diventare un attore Selettore Candidati per diventare classi Informatica Scegli informatica Candidati per diventare metodi Conferma registrazione Disponibile? Aggiungi Pippo Le risposte restano implicite

27 Raffinamento :Selettore Informatica: Corso Pippo seleziona(informatica) disponibile() conferma(informatica) aggiungi(pippo)

28 Qualcosa in più gestore archivio stipendio(dipendente) dati(dipendente, mese) dipendente calcola stipendio stipendio

29 Frame di interazione ref alt opt loop Autonoleggio Cliente prenota loop [per ogni auto ordinata] opt [se il cliente è registrato] Sede Autovettura par preferenze neg disponibilità Prenotazione associa

30 Macchine a stati finiti Rappresentano il comportamento dei singoli oggetti di una classe in termini di Eventi a cui gli oggetti (la classe) sono sensibili Azioni prodotte Transizioni di stato Identificazione degli stati interni degli oggetti Possibilità di descrivere evoluzioni parallele Sintassi mutuata da StateChart (D. Harel)

31 Primo esempio aggiungi testo crea Vuoto aggiungi destinatario in elaborazione seleziona memorizza Memorizzato in bozza spedisci cancella In uscita Spedito rete disponibile rete disponibile AND timeout rete non disponibile Pronto per la spedizione Spedizione differita rete non disponibile AND timeout Cancellato

32 Eventi e condizioni Funzioni booleane sui valori degli oggetti Utili quando non basta l'evento, ma si vuole aggiungere un predicato Evento Condizione Pronto Verde [incrocio.stato=libero] InCorsa

33 Aggiungiamo elementi Attesa scatto [non luce] Warning entry/visualizza spegni scatto [luce] spegni Memorizzazione do/memorizza

34 Stato completo Nome attributo1: tipo1 = val.iniziale attributo2: tipo2 = val.iniziale do / attività0 entry / attività1 exit / attività2 event1 / attività3 event2 / attività4 event3 [condizione1] / attività5 event4 [condizione2] / attività6

35 Decomposizione OR Un macro stato equivale ad una scomposizione OR degli stati I sottostati ereditano le transizioni dei loro superstati Warning entry/visualizza scatto [non luce] Attesa spegni scatto [luce] spegni Preparazione Memorizzazione Salvataggio do/memorizza Notifica

36 Decomposizione AND Seduto Sul treno Legge interesse fine interesse Legge in modo distratto stazione vicina maggior interesse stazione vicina Origlia stazione vicina Libro chiuso Arrivato trova posto Ascolta musica interesse fine interesse Volume basso stazione vicina stazione vicina Musica spenta

37 History History può essere associata a stati non foglia Quando l esecuzione lascia uno stato S con history Si salva l ultimo stato visitato S1 in S Quando l esecuzione ritorna in S Si riparte da S1 A A1 B A2 H

38 Diagrammi dei componenti Utili per decomporre il sistema in esame ISelezione Prodotti IDisplay ISelezione Prodotti IDisplay SceltaProdotto IContaSoldi Distributore Caffè Controllo Pagamento IGettoniera SelezioneBevanda ILatte <<delegate>> <<delegate>> 1 Prodotto Soldi <<delegate>> 1 Latte 1 <<delegate>> <<delegate>> IContaSoldi IGettoniera ILatte ICaffè ICaffè <<delegate>> Caffè 1 DistributoreCaffè

39 Esempio prenotazione Piano Pulsantiera Display visualizzazione richieste richieste visualizzazione posizione Ascensore Controllo Sistema movimento

Alcuni diagrammi. OCL (Object Constraint Language)

Alcuni 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

Dettagli

UML UNIFIED MODELING LANGUAGE

UML 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

Dettagli

A. Ferrari Object Oriented Design

A. 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

Dettagli

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. 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

Dettagli

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

Relazioni 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

Dettagli

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

Laboratorio 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

Dettagli

UML Unified Modeling Language

UML 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

Dettagli

Università 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 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

Dettagli

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

UML. 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

Dettagli

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

A. 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),

Dettagli

Unified Modeling Language

Unified Modeling Language Unified Modeling Language marrara@elet.polimi.it Adattamento di materiale di Luciano Baresi 1 Concetto di oggetto Definizione: un oggetto è un concetto, un astrazione o una cosa ed ha un senso in un particolare

Dettagli

SOMMARIO. 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. 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

Dettagli

UML 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 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

Dettagli

Corso 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 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

Dettagli

CLASS DIAGRAM PARTE 1

CLASS 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

Dettagli

Ingegneria 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 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

Dettagli

SOMMARIO DIAGRAMMI DI SEQUENZA

SOMMARIO 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

Dettagli

INFORMATICA OOP Relazioni tra classi Roberta Gerboni

INFORMATICA OOP Relazioni tra classi Roberta Gerboni 2015 - Roberta Gerboni Relazione di associazione E possibile legare varie classi presenti in un progetto con una relazione di associazione. Una associazione individua una connessione logica tra classi

Dettagli

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

SOMMARIO 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,

Dettagli

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

UML 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

Dettagli

Class Diagram. Unified Modeling Language (2) Classi. Definiscono la visione statica del sistema

Class Diagram. Unified Modeling Language (2) Classi. Definiscono la visione statica del sistema Unified Modeling Language (2) Class Diagram A cura di Luciano Baresi UML: Unified Modeling Language UML: Unified Modeling Language 2 Class Diagram Classi Definiscono la visione statica del sistema classi

Dettagli

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento Diagrammi di interazione Diagrammi di sequenza Diagrammi di comunicazione (ex collaborazione) Diagrammi di interazione generale Diagrammi di temporizzazione Descrivono la collaborazione di un gruppo di

Dettagli

UML2. 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 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

Dettagli

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring

Laboratorio 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

Dettagli

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

Introduzione ai casi d uso

Introduzione ai casi d uso Introduzione ai casi d uso versione 16 marzo 2009 http://www.analisi-disegno.com Introduzione ai casi d uso Pag. 1 Obiettivo di questa introduzione fornire elementi di base sui casi d uso fornire indicazioni

Dettagli

UML. Cos è UML. Diagrammi UML. Analisi di un problema. Definizione dei requisic. Un esempio

UML. 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

Dettagli

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 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,

Dettagli

Corso 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) 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

Dettagli

Gerarchia di classi Java 1

Gerarchia di classi Java 1 Specializzare un modello Gerarchia di classi Java Corso di laurea in Una classe modella un pezzo di realtà Una macchina, una moneta, un impiegato Spesso è necessario specializzare la versione originale

Dettagli

Unified Modeling Language (UML)

Unified 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

Dettagli

Elementi di UML (6): Diagrammi dinamici di flusso

Elementi 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

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

SOMMARIO. 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

Dettagli

UML2. 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 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

Dettagli

Ereditarietà: concetti di base

Ereditarietà: concetti di base : concetti di base L ereditarietà è uno dei concetti base della programmazione ad oggetti Concetto di base: l ereditarietà permette di usare una classe precedentemente definita per la definizione di una

Dettagli

I Diagrammi di Flusso OO

I 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

Dettagli

Fondamenti di Informatica II 21. Standard UML

Fondamenti 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

Dettagli

Prof. Pagani Corrado LINGUAGGIO UML

Prof. Pagani Corrado LINGUAGGIO UML Prof. Pagani Corrado LINGUAGGIO UML INTRODUZIONE AL LINGUAGGIO UML Con l evoluzione dell ingegneria del software si è sentita sempre più l esigenza di avere un linguaggio universale utilizzato come standard

Dettagli

Diagrammi di classe e sistemi orientati agli oggetti

Diagrammi 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

Dettagli

LEZIONE 7 - STATE MACHINE DIAGRAM

LEZIONE 7 - STATE MACHINE DIAGRAM Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 7 - STATE MACHINE DIAGRAM Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Un po di storia su state

Dettagli

Programma 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 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

Dettagli

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

Casi 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

Dettagli

Principi di Progettazione del Software a.a

Principi 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

Dettagli

La progettazione concettuale

La 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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Relazioni tra classi Fondamenti di Informatica 27. Standard UML 2. parte Generalizzazione: (ereditarietà) relazione in cui una classe (sottoclasse) eredita gli attributi e le operazioni di una superclasse:

Dettagli

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 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,

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Astrazioni e UML Astrazioni Nella vita reale siamo abituati a osservare e descrivere oggetti a vari livelli di dettaglio Dai da mangiare a Fido Porta a passeggio il cane Di quale

Dettagli

UML GML- Classi di Oggetti

UML GML- Classi di Oggetti UML GML- Classi di Oggetti Claudio Rocchini Istituto Geografico Militare Introduzione Per lavorare nel GIS serve sapere anche queste cose? Si, perché: I dati geografici verranno scambiato nel formato GML

Dettagli

Progettazione Object-Oriented

Progettazione 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

Dettagli

Modelli di sistema e UML

Modelli 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

Dettagli

SISTEMI INFORMATIVI E DATABASE

SISTEMI INFORMATIVI E DATABASE SISTEMI INFORMATIVI E DATABASE SISTEMA INFORMATIVO AZIENDALE (S.I.) In una realtà aziendale si distingue: DATO elemento di conoscenza privo di qualsiasi elaborazione; insieme di simboli e caratteri. (274,

Dettagli

Microsoft Visio 2002 UML Sergio Colosio

Microsoft 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

Dettagli

Modulo 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 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

Dettagli

Unified Modeling Language (UML)

Unified 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,

Dettagli

Introduzione 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 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

Dettagli

Basi di Dati. Modello Concettuale

Basi di Dati. Modello Concettuale Basi di Dati Modello Concettuale Dettagli e Approfondimenti Mod. Concettuale >> Sommario Dettagli e Approfondimenti Classi e identificatori Generalizzazioni Cardinalità Associazioni Il Modello Entità-Relazione

Dettagli

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

UML. 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

Dettagli

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

SOMMARIO 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

Dettagli

Requisiti del cliente 4. Analisi e Progettazione

Requisiti del cliente 4. Analisi e Progettazione Requisiti del cliente Home Finance Analisi e Progettazione gabriele.zannoni@unibo.it Ingegneria del Software L-A E1.1 Ingegneria del Software L-A E1.2 Requisiti del cliente 1 Requisiti del cliente 2 Si

Dettagli

Progettazione del Software

Progettazione del Software Progettazione del Software simulazione di esame III Domenico Fabio Savo Dipartimento di Ingegneria Informatica, Automatica e Gestionale Antonio Ruberti Requisiti L'applicazione da progettare riguarda la

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione 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

Dettagli

Analisi e Progettazione

Analisi e Progettazione Home Finance Analisi e Progettazione gabriele.zannoni@unibo.it Ingegneria del Software L-A E1.1 Processo di Sviluppo Requisiti del cliente Ingegneria del Software L-A E1.2 1 Requisiti del cliente 1 Si

Dettagli

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione

2 - Metodologie e modelli per la progettazione di BD. Informatica II Basi di Dati (08/09) Parte 1. Introduzione alla progettazione Informatica II Basi di Dati (08/09) Parte 1 Gianluca Torta Dipartimento di Informatica dell Università di Torino torta@di.unito.it, 0116706782 2 - Metodologie e modelli per la progettazione di BD Introduzione

Dettagli

4 M A.S. 2016/2017 PROGRAMMA SVOLTO E INDICAZIONI PER IL RECUPERO ESTIVO. Dei proff. SILENA CAMPANA e MONICA LUSSANA. docenti di Informatica.

4 M A.S. 2016/2017 PROGRAMMA SVOLTO E INDICAZIONI PER IL RECUPERO ESTIVO. Dei proff. SILENA CAMPANA e MONICA LUSSANA. docenti di Informatica. A.S. 2016/2017 PROGRAMMA SVOLTO E INDICAZIONI PER IL RECUPERO ESTIVO Dei proff. SILENA CAMPANA e MONICA LUSSANA docenti di Informatica Classe 4 M Ripasso su array e funzioni Programmazione Object Oriented

Dettagli

A. Ferrari sistemi informativi e sistemi informatici

A. Ferrari sistemi informativi e sistemi informatici sistemi informativi e sistemi informatici informatica sistema informativo e sistema informatico o sistema informativo o patrimonio di informazioni o generate o elaborate o e memorizzate dai processi o

Dettagli

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

Requisiti. 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

Dettagli

Modellazione discreta con UML

Modellazione 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

Dettagli

Corso di Ingegneria del Software. Esempi di casi d uso

Corso di Ingegneria del Software. Esempi di casi d uso Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Casi d uso Sommario 1. 2. 3. Casi d uso e specifica dei requisiti 4. Esempio: sistema iscrizione ed esami 5. Bibliografia

Dettagli

Basi di dati (Sistemi Informativi)

Basi di dati (Sistemi Informativi) Basi di dati (Sistemi Informativi) teoria e pratica con Microsoft Access Basi di dati Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche

Dettagli

Sistemi Informativi I Strumenti - UML

Sistemi 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

Dettagli

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

Introduzione 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

Dettagli

Informatica 3. LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2)

Informatica 3. LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Informatica 3 LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Modulo 1: Ereditarietà Modulo 2: Polimorfismo e classi astratte Modulo 3: Visibilità delle proprietà di una classe Modulo

Dettagli

UML2. Progettazione della realizzazione dei casi d uso. Andrea Polini

UML2. Progettazione della realizzazione dei casi d uso. Andrea Polini UML2 Progettazione della realizzazione dei casi d uso Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Laboratorio di Ingegneria del Software)

Dettagli

Catia Trubiani. Laboratorio di Ingegneria del Software a.a

Catia Trubiani. Laboratorio di Ingegneria del Software a.a Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2013-2014 Catia Trubiani Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM) - Università degli Studi

Dettagli

Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione. Concetti Definizioni Esempi

Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione. Concetti Definizioni Esempi Modello E/R avanzato: Gerarchie di Generalizzazione/ specializzazione Concetti Definizioni Esempi Generalizzazioni 2 Le generalizzazione sono costrutti potenti usati nella progettazione concettuale per

Dettagli

Informatica 3. Informatica 3. LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Lezione 8 - Modulo 1

Informatica 3. Informatica 3. LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Lezione 8 - Modulo 1 Informatica 3 Informatica 3 LEZIONE 8: Fondamenti di programmazione orientata agli oggetti (2) Modulo 1: Ereditarietà Modulo 2: Polimorfismo e classi astratte Modulo 3: Visibilità delle proprietà di una

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:

Dettagli

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

SOMMARIO 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

Dettagli

Corso di Ingegneria del Software. Activity Diagram

Corso 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.

Dettagli

LEZIONE 5 SEQUENCE DIAGRAM

LEZIONE 5 SEQUENCE DIAGRAM Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 5 SEQUENCE DIAGRAM Laboratorio di Ingegneria del Software Guglielmo De Angelis

Dettagli

Analisi Orientata agli Oggetti

Analisi Orientata agli Oggetti Generalità Concetti di base: Oggetto, Classe, Attributo, Operazione, Associazione, Aggregazione, Generalizzazione, Ereditarietà Il Diagramma delle Classi: notazione UML 1 Generalità Approccio all analisi

Dettagli

Corso di Basi di Dati

Corso di Basi di Dati Corso di Basi di Dati Progettazione Concettuale: Il Diagramma E-R Home page del corso: http://www.cs.unibo.it/~difelice/dbsi/ Progettazione di DB Analisi dei requisiti e progettazione in dettaglio Studio/analisi

Dettagli

Anno Scolastico

Anno Scolastico Anno Scolastico 2018-19. PROGRAMMA DIDATTICO CONSUNTIVO CLASSE _4Ei Disciplina _Prof.Paolo Tomelleri Prof.Marco Tornieri Informatica Al fine di predisporre correttamente le prove per la sessione differita,

Dettagli

Ingegneria del Software

Ingegneria 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

Dettagli

La programmazione ad oggetti: chiamate di metodi. Overloading. This

La programmazione ad oggetti: chiamate di metodi. Overloading. This ISTITUTO D ISTRUZIONE SUPERIORE FERRARIS BRUNELLESCHI - EMPOLI Materia: INFORMATICA PROGRAMMA SVOLTO A.S. 2015/2016 Classe IV C Informatica Proff. Fabio Ciao / Simone Calugi Libro di testo: Cloud B P.

Dettagli

Progettazione Logica e Modello Realizzativo

Progettazione 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

Dettagli

UML GML- Classi di Oggetti

UML GML- Classi di Oggetti UML GML- Classi di Oggetti Claudio Rocchini Istituto Geografico Militare 1 Introduzione Per lavorare nel GIS serve sapere anche queste cose? Si, perché: I dati geografici verranno scambiato nel formato

Dettagli

UML. Una introduzione incompleta. UML: Unified Modeling Language

UML. Una introduzione incompleta. UML: Unified Modeling Language UML Una introduzione incompleta 1/23 UML: Unified Modeling Language Lo Unified Modeling Language (UML) è una collezione di notazioni grafiche che aiuta a progettare sistemi software, specialmente quelli

Dettagli

Introduzione a UML. obiettivo di questa introduzione

Introduzione 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

Dettagli