Unified Modeling Language



Похожие документы
I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

Sistemi Informativi I Caso di studio con applicazione di UML

Sequence Diagram e Collaboration Diagram

UML - Unified Modeling Language

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Modellazione dei dati in UML

Gestione del workflow

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Strumenti di modellazione. Gabriella Trucco

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

Esercitazione su UML Ingegneria del Software - San Pietro

Soluzione dell esercizio del 2 Febbraio 2004

Object Oriented Programming

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1.

Lezione V. Aula Multimediale - sabato 29/03/2008

Università Politecnica delle Marche. Progetto Didattico

Ingegneria del Software 11. Esercizi riassuntivi. Dipartimento di Informatica Università di Pisa A.A. 2014/15

UniRoma2 - Ingegneria del Software 1 1

Diagrammi di Interazione

Modellazione di sistema

object oriented analysis

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Concetti di base di ingegneria del software

Database. Si ringrazia Marco Bertini per le slides

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Esempio ordini 08UMLEX1.1


Informatica (Basi di Dati)

C A T A L O G O. Catalogo del Sistema Bibliotecario Padovano. Gruppo Lavoro per il Coordinamento dei Corsi all Utenza

Esercitazione di Basi di Dati

Activity Diagrams. Ing. Orazio Tomarchio

ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1

Esempio 1: CarMatch. Direzione centrale Sedi centrali per ogni paese Concessionarie locali di franchising UML 2

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

Claudia Raibulet

MODELLO E/R. Modellazione dei dati

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

MANUALE DI UTILIZZO: INTRANET PROVINCIA DI POTENZA

Progettazione di un Database

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

Diagrammi di Flusso dei Dati

Capitolo 13. Interrogare una base di dati

Ingegneria del Software I. UML - Use Case Diagram

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali

7. Layer e proprietà degli oggetti

Controllo di Gestione - Guida Operativa

Artifact Centric Business Processes (I)

Caso d Uso: AcquistoAbbonamentoStudentiSettimanaleGiornaliero Breve descrizione. Procedura per la registrazione al servizio CicloPi.

Dispensa di Informatica I.1

Corso di Laurea in Informatica, A.A

LINEE GUIDA PER I FORNITORI

Manuale utente per gli ordini sul sito web

Mon Ami 3000 Documentale Archiviazione elettronica dei documenti cartacei

Ingegneria del Software 5. Esercizi sui casi d uso. Dipartimento di Informatica Università di Pisa A.A. 2014/15

ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO!

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

LogiTrack OTG. LogiTrack Gestione logistica controllo ordine spedizioni. OTG Informatica srl

UML Unified Modeling Language

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

Esercizi UML. Angelo Di Iorio

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Organizzazione aziendale Lezione 16 BPMN. Ing. Marco Greco Tel Stanza 1S-28

Software per parrucchieri

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Progettazione del Software A.A.2008/09

Corso introduttivo all utilizzo di TQ Qualifica

La Metodologia adottata nel Corso

ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML)

MANUALE D'USO DEL PROGRAMMA IMMOBIPHONE

Basi di Dati. Progettazione del Modello ER. K. Donno - Progettazione del Modello ER

Introduzione. Modellazione visuale. Perché UML. cont.) Perché UML (cont( Contributi principali

OOA Esercizi. UniRoma2 - Ingegneria del Software 1 1

Basi di dati. Le funzionalità del sistema non vanno però ignorate

Utilizzo della APP IrriframeVoice. Versione 1.0 maggio 2015

Lo scenario: la definizione di Internet

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Gestione dei servizi all utenza. 3. Autorizzazioni

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Questa procedura permette l'introduzione, la variazione, l'annullamento dei dati relativi al Piano dei Conti, ai clienti ed ai fornitori.

Organizzazione delle informazioni: Database

Manuale Operativo per l utilizzo della piattaforma E-Learning@AQ. Versione 1.1

SPRING SQ COMUNICAZIONE OPERAZIONI IVA NON INFERIORI A 3000 EURO PER L ANNO 2011

Progettazione di Basi di Dati

Programma del Corso per Segretaria d Azienda:

SistemiInformatividiRete

Cliens Gestione Studio Legale Modifica dei Reports

UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link:

5.3 TABELLE RECORD Inserire, eliminare record in una tabella Aggiungere record Eliminare record

ANALISI E MAPPATURA DEI PROCESSI AZIENDALI

Транскрипт:

Unified Modeling Language Luciano Baresi Luciano Baresi 1 OMT Booch UML Sono simili in molti aspetti: Prescrivono un approccio passo-passo Consentono il passaggio dall analisi al progetto in modo omogeneo Definiscono una notazione per: Facilitare la comunicazione Focalizzare le omissioni e le inconsistenze Fare analisi e progetto anche di progetti di grosse dimensioni Luciano Baresi 2

Comportamento del sistema Si definisce come il sistema agisce e reagisce Ciò che è visibile all esterno (scatola nera) Il comportamento del sistema è definito attraverso gli use case Descrivono il sistema, l ambiente e le relazioni fra sistema e ambiente Un attore è qualcuno (utente) o qualcosa (sistemi esterni - hardware) che: Scambia informazioni con il sistema Fornisce input o riceve output dal sistema Luciano Baresi 3 Attori Gestore Bancomat Bancomat Utente bancomat Banca Luciano Baresi 4

Use case Ufficio Contabile Registrazione Corsi Cambiamento Organizzazione Corso Professore Richiesta Iscritti Cambiamento Agenda Corsi Studente Richiesta Catalogo Corsi Selezione Corso Gestione Informazioni Studenti Gestione Curriculum Gestione Informazioni Professori Archivista Luciano Baresi 5 Documentazione Titolo: Computo tasse Autori: Pluto e Topolino Descrizione: Quando le iscrizioni di uno studente sono state accettate si inviano le informazioni all ufficio contabile Attori: Ufficio contabile Pre-condizioni: Studente registrato Post-condizioni: Non identificate Scenari: Poi Luciano Baresi 6

Scenari Uno scenario è un istanza di uno use case Definisce gli eventi in un caso particolare di esecuzione del programma Uno scenario è solitamente definito in linguaggio naturale. Si rispetta l ordine temporale Gli eventi devono essere semplici e autoesplicativi (non devono includere alternative complesse) Luciano Baresi 7 Un esempio Iscrizione ai corsi: Paperino Paolino sceglie i corsi:informatica, fisica, analisi e disegno Come corsi alternativi sceglie: fotografia e giornalismo I corsi scelti sono immessi nel sistema di registrazione Lo studente viene aggiunto ai primi 3 corsi principali Il quarto corso non è disponibile SE la prima alternativa è disponibile, lo studente viene aggiunto al corso ALTRIMENTI SE la seconda alternativa è disponibile, lo studente viene aggiunto al corso ALTRIMENTI si notifica allo studente che non è iscritto ad un numero sufficiente di corsi Si crea la cartella corsi dello studente Si mandano le informazioni all ufficio contabile Luciano Baresi 8

Classi In UML una classe è composta da tre parti Il nome Gli attributi (lo stato) I metodi (il comportamento) Professore nome cognome create() delete() Professore create() delete() Professore nome cognome Professore Luciano Baresi 9 Classi: come trovarle Evidenziare i nomi (oggetti) nella specifica del problema Considerare gli use case e gli scenari Si definiscono gli use case Si specificano alcuni use case in scenari Si identificano gli oggetti propri di ogni scenario Si raggruppano gli oggetti in classi Luciano Baresi 10

Identificare gli oggetti Paperino Paolino Corso Informatica Fisica Analisi Disegno Corso alternativo Fotografia Giornalismo Come filtrare? Sistema di registrazione Studente Corso principale Alternativa Notifica Cartella studente Informazioni Selezione Ufficio contabile Luciano Baresi 11 Come raggruppare Esaminando gli oggetti identificati negli scenari, alcuni oggetti possono essere raggruppati Tutti i corsi specifici appartengono alla classe Corso La lista cresce considerando diversi scenari Le classi identificate sono: Corso, Studente e Selezione Si devono raffinare: Iscritti, CartellaStudente e Informazioni... Luciano Baresi 12

Modello iniziale delle classi CatalogoCorsi Cartella Studente Corso Studente Elenco Iscritti Informazioni Contabili Professore Luciano Baresi 13 Relazioni fra oggetti In UML le interazioni (scambi messaggi) fra gli oggetti sono definiti tramite interaction diagram: Oggetti Scambio messaggi La sequenza di invocazione dei messaggi UML offre due tipi di interaction diagram: sequence diagram collaboration diagram Luciano Baresi 14

Sequence diagram Paperino : Selezione Corso informatica : Corso Scegli informatica Inoltra selezione Corso disponibile? Aggiungi Paperino Registrazione OK Luciano Baresi 15 Collaboration diagram Dal cliente al fornitore Messaggi 2: Controllo Precedenze Cliente 1: Precedenze? true : SelezioneCorso informatica: Corso Valore ritornato Fornitore Luciano Baresi 16

Collaboration diagram corso : Corso Paperino 2: Seleziona informatica 3: Seleziona analisi 4: Seleziona fisica 5: Seleziona disegno 7: Seleziona fotografia 8: Seleziona giornalismo 9: Sottometti corsi : SelezioneCorso 11: Aggiungi Paperino 10: Corso disponibile 13: Crea info contabili 6: Seleziona 2 corsi alt. 1: Seleziona 4 corsi 12: Crea cartella info : InformazioniContabili cart : CartellaStudente Luciano Baresi 17 Riassumendo... Uno scenario può essere rappresentato per mezzo di un interaction diagram Sequence diagram e collaboration diagram rappresentano le stesse informazioni Cambia la forma concreta Si pone l accento su aspetti leggermente diversi Commenti testuali possono fornire ulteriori dettagli al modello definito Luciano Baresi 18

Associazioni Un associazione deve avere un nome Il nome è solitamente un verbo (un etichetta al centro della linea che definisce l associazione) Corso appare CartellaStudente Luciano Baresi 19 Associazioni: molteplicità La molteplicità dice: Se l associazione obbligatoria oppure no? Il numero minimo e massimo di oggetti che possono essere relazionati ad un altro oggetto Corso 0..* 3.. 10 Studente Luciano Baresi 20

Aggregazioni Le aggregazioni sono una forma particolare di associazione. Una parte è in relazione con un oggetto (part-of) Corso Curriculum 1..* Luciano Baresi 21 Associazione o aggregazione Aggregazione se due oggetti sono uniti da una relazione part-of Associazione se due oggetti sono solitamente considerati indipendenti, anche se spesso collegati Curriculum 1..* Corso Studente 3..10 Luciano Baresi 22

Associazioni riflessive Un associazione è riflessiva se coinvolge oggetti della stessa classe Indicano oggetti multipli della stessa classe collaborano in qualche modo Corso Parte 0..* 0..* Precedenze Aggregazione Luciano Baresi 23 Attributi delle associazioni L attributo si mette all interno dell icona di una classe e si collega l icona all associazione La classe attributo può avere proprietà specifiche È permesso un solo attributo per associazione Studente Corso 3..10 Grado Luciano Baresi 24

Relazioni Tutti i sistemi sono composti da oggetti che collaborano per realizzare le funzionalità richieste Le relazioni sono: associazioni e aggregazioni Un associazione definisce un canale di comunicazione bidirezionale fra le due classi La molteplicità definisce il numero di istanze che prendono parte alla relazione Luciano Baresi 25 Operazioni e dominio Tutte e sole le operazioni rilevanti per il dominio applicativo Una persona ha un coportamento diverso in funzione del punto di vista Bancario riceveprestito, ricevecredito, apreconto Medico faesame, prendemedicina, vaospedale Luciano Baresi 26

Attributi Un attributo è una caratteristica della classe Gli attributi non hanno identità Ogni attributo deve essere definito in modo preciso Attributi buoni per Studente Nome, Cognome, Attributi cattivi CorsiScelti Luciano Baresi 27 Attributi Gli attributi dipendono dal dominio Persona (ambito bancario) nome, cognome, codicefiscale, numeroconto Persona (ambito medico) nome, cognome, allergie, peso, altezza Luciano Baresi 28

Attributi derivati Quando si vuole avere un attributo calcolato e non memorizzato Si usa quando non si vuole ricalcolare tutte i valori per quell attributo nei vari oggetti Un attributo derivato è un attributo il cui valore viene calcolato in base ai valori di altri attributi età area, perimetro Luciano Baresi 29 Attributi: come individuarli Direttamente nel testo della specifica nomi che non sono buoni candidati per diventare classi Durante la definizione delle classi stesse Conoscenza del dominio applicativo Luciano Baresi 30

Ereditarietà Bisogna considerare tutte le classi Si devono ricercare eventuali comportamenti comuni Aggiunta Si aggiungono nuove proprietà alle classi Modifica Si ridefiniscono/modificano operazioni esistenti Luciano Baresi 31 Ereditarietà Esplicita eventuali comportamenti comuni È possibile dover: Aggiungere nuove proprietà alle classi Ridefinire/modificar e operazioni esistenti Studente Persona Professore Luciano Baresi 32

Comportamento Si definisce per mezzo di statecharts diagram Per ogni oggetto significativo stati e transizioni eventi e azioni guardie Attenzione agli stati innestati Luciano Baresi 33 StateCharts Stato Decomposizione OR evento azione Decomposizione AND Transizione Luciano Baresi 34

Esempio Chiamante.Aggancia Inattivo Chiamante.Aggancia Connesso Tono Occupato Occupato Ricevente.Sgancia Compone(n) Chiamante.Sgancia Tono T Pronto Compos. Numero ProntoA Connettere Tono Libero Compone(n) NumValido Instradato T NumNonValido Tono TimeOut FineMessaggio Messaggio Vocale Luciano Baresi 35 Diagrammi a stati strutturati Un macro stato equivale ad una scomposizione Or degli stati I sottostati ereditano le transizioni dei loro superstati Cambio Automatico levar Folle levan levaf levan RetroMarcia MarciaAvanti ferma accelera accelera Prima Seconda Terza decelera decelera Luciano Baresi 36

Esempio: il ventilatore On Piano Off on off - + Medio - + Forte Luciano Baresi 37 Esempio: selezione corso corsi < 4 Creazione Selezione corsi sospendi Sospeso corsi = 4 corsie< 2 ricomincia Selezione corsi extra corsie= 2 Salva H quit Sottometti Luciano Baresi 38

Activity Diagram Forniscono la sequenza di operazioni che definiscono un attività più complessa Un Activity Diagram può essere associato A una classe All implementazione di un operazione Ad uno Use Case Retaggio della scomposizione funzionale Luciano Baresi 39 Elementi principali * evento ripetuto attività etichetta sincronizzazione decisione inizio fine Luciano Baresi 40

Esempio Ricevi Ordine Cancella Ordine fallimento Controlla Pagamento Per ogni linea dell ordine * Controlla Disponibilità successo Assegna a Ordine Evadi Ordine tuttele merci disponibili Riordina Merce Luciano Baresi 41