lezione 3 use case diagram && activity...

53
Istituto di Scienza e Tecnologie dell'Informazione “A. Faedo” Software Engineering and Dependable Computing Laboratory LEZIONE 3 LEZIONE 3 USE CASE DIAGRAM USE CASE DIAGRAM && && ACTIVITY DIAGRAM ACTIVITY DIAGRAM Laboratorio di Ingegneria del Software Guglielmo De Angelis [email protected]

Upload: others

Post on 24-Jan-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

Istituto di Scienza e Tecnologie dell'Informazione “A. Faedo”Software Engineering and Dependable Computing Laboratory

LEZIONE 3 LEZIONE 3 USE CASE DIAGRAM USE CASE DIAGRAM &&&& ACTIVITY DIAGRAM ACTIVITY DIAGRAM

Laboratorio di Ingegneria del Software

Guglielmo De Angelis

[email protected]

Page 2: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

nella puntata precedente

» introduzione alla modellazione» UML è un linguaggio di modellazione» le viste di UML

» use case view» logical view » implementation view » process view » deployment view

Page 3: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

la famiglia di diagrammi UML

diagrammi per descrivere :» struttura statica del sistema

» structure diagrams» comportamento del sistema

» behavior diagrams» interazioni tra gli oggetti

» interaction diagrams

Page 4: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

structure diagrams

» class diagram» object diagram» component diagram» deployment diagram» composite structure diagram» package diagram

Page 5: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

behavior diagram

» state machine diagram» activity diagram» use case diagram» interaction diagrams

» sequence diagram» communication diagram» interaction overview diagram» timing diagram

Page 6: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

behavior diagram

» state machine diagram» activity diagram» use case diagram» interaction diagrams

» sequence diagram» communication diagram» interaction overview diagram» timing diagram

Page 7: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

i casi d'uso -1-

» chi e che cosa usa il sistema» funzionalità e modi di uso del sistema

» come le percepisce l’utente» scenari tipici

» un caso d'uso modella l'intero processo di espletamento di una funzionalità:» dal momento dell'intenzione dell'utente del

sistema (generalmente esterno)

» al momento in cui il sistema processa la richiesta e torna un valore (o un ack) all'utente

Page 8: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

i casi d'uso -2-

» l'approccio alla modellazione a casi d'uso è black box

» non è importante:» come i casi d'uso sono implementati

nel sistema» come il sistema lavora internamente

Page 9: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

... ma perché e/o per chi?

» capire quali sono le funzionalità che si vogliono nel sistema» committenti (stakeholders)» project manager» progettisti

» individuazione dei requisiti e scelta delle tecniche di modellazione adeguate» progettisti» sviluppatori

» dare indicazioni per il test di sistema» testers» project manager

Page 10: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

i casi d'uso -3-

» ingredienti:» attori: ruolo o utente della funzionalità (spesso è

una persona fisica)» caso d'uso : descrive un'intera unità funzionale» sistema : oggetto della modellazione» relazioni tra le entità : specificata attraverso un

segmento che collega due o più entità» associazione : relazione semplice» generalizzazione, estensione, inclusione» ogni relazione ha una sua notazione specifica (i.e.

sintassi)» ogni relazione ha una specifica semantica astratta

Page 11: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram – attore -

» un attore specifica un ruolo di interazione con il sistema

» un attore può rappresentare un essere umano, un device, un software, etc etc» in generale un attore può essere una qualsiasi

entità esterna al sistema considerato

Page 12: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram – use case -

uno use case è» (normalmente) incluso in un sistema» correlato con attori tramite relazioni (di

uso, associazioni, generalizzazioni, etc etc)

» ogni relazione sottintendente ad una specifica semantica

» una unità funzionale autonoma » quindi non è associabile ad altri casi di uso

ma solo ad attori

Page 13: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram – use case -

uno use case :» è sempre attivato da un attore

» un attore richiede (direttamente/indirettamente) al sistema di eseguire un caso d'uso

» deve produrre un qualche effetto visibile a uno o più attori» in genere “ritorna un valore” all'attore che lo attiva

» deve esse specificato in modo completo » uno use case è completamente specificato se a seguito della

sua esecuzione, il sistema risulta in uno stato per cui non sono attesi ulterioti input/azioni per il compimento della funzionalità che esso rappresenta

» un errore comuni:» micro use case che non hanno una valenza significativa

dal punto di vista delle funzionalità offerte dal sistema» macro use case che raggruppano funzionalità diverse

Page 14: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram – use case -

Page 15: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram – associazione -

» definisce quale attore (i.e. chi) è coinvolto in quale caso d'uso (i.e. che cosa) del sistema» specifica il solo coinvolgimento nel caso d'uso

non chi compie/subisce azioni sul sistema

» è graficamente rappresentata con una linea » attori associati a use case con cardinalità

maggiore di 1» un attore è coinvolto in più use case di quel tipo» non è specificato se l'interazione è concorrente o

mutuamente esclusiva rispetto al tempo

» è la relazione più usata

Page 16: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

la relazione di generalizzazione

» è associata ad un concetto molto importante e che viene riusato in molti diagrammi

» per il momento la introduciamo nella sua forma più semplificata

» è una relazioni tra due entità : “padre” e “figlio”

» specifica come un “figlio” estende (specializza) le caratteristiche del “padre”

» le caratteristiche ed i vincoli specificate nel padre sono implicitamente applicati al figlio

» nel corso delle altre lezioni questo concetto verrà ripreso ed esteso

Page 17: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram - generalization -

» vincolo di relazione tra due use case» generic use case: contenente il comportamento comune » specific use case: aggiunge e/o modifica il

comportamento nel caso generale

» specifica come un “figlio” specializza le caratteristiche del “padre”

» le caratteristiche ed i vincoli specificate nel padre sono implicitamente applicati al figlio

» l’esecuzione dei use case “fratelli” è esclusiva»

Page 18: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram - estensione -

» l'estensione può avvenire in uno o punti» specifica come il comportamento degli estendenti

è inserito nel comportamento base» comportamenti vincolati a particolari condizionali o

usi del sistema

Page 19: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram - estensione -

» l'estensione è utile nei seguenti scenari: » il sistema che si sta modellando potrà essere

istanziato con molteplici configurazioni opzionali» l'istanza di un caso d'uso del sistema si compone di

sotto-funzionalità che possono essere non completamente specificate

» il caso d'uso base è definito indipendentemente dagli estendenti» lo use case base modella una interazione “completa”

tra sistema ed attori, il caso d'uso estendente può non avere senso se privato del caso d'uso base

» lo use case estendente può modificare le proprietà dello use case base; ma lo use case base no.

Page 20: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram - inclusione -

» lo scopo primario della relazione include è il riuso di parti comuni

» il comportamento dello use case dipende dal comportamento (esterno) del use case incluso» lo use case incluso è sempre richiesto» concettualmente è simile alla chiamata di

funzioni

Page 21: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram – piccolo esercizio -

provare a riformulare una possibile “interpretazione semantica” delle

relazioni include ed extend in termini insiemistici

Page 22: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram – example 1 -

Page 23: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case diagram – example 2 -

Page 24: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

use case ... proviamoci!

Si vogliono modellare gli studenti (con nome, cognome, numero di matricola, età), il corso di laurea in cui sono iscritti, ed i corsi di cui hanno sostenuto l'esame, con il professore che ha verbalizzato l'esame, ed il voto conseguito. Di ogni corso di laurea interessa il codice e il nome. Di ogni corso interessa il nome e la disciplina a cui appartiene (ad esempio: matematica, fisica, informatica, ecc.). Di ogni professore interessa codice ed età.

Al momento dell'iscrizione, lo studente specifica il corso di laurea a cui si iscrive. Dopo che uno studente ha sostenuto un esame, il professore comunica l'avvenuta verbalizzazione con i dati relativi (studente, corso, voto).

La segreteria vuole periodicamente fare delle statistiche. In particolare, ogni volta che uno studente verbalizza un nuovo esame, vuole calcolare la media dei voti e del numero di esami sostenuti dallo studente. Inoltre, non appena nel sistema una nuova iscrizione viene effettuata, la segreteria vuole aggiornare il numero di studenti di un corso di laurea.

Page 25: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

soluzione possibile

Page 26: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

behavior diagram

» state machine diagram» activity diagram» use case diagram» interaction diagrams

» sequence diagram» communication diagram» interaction overview diagram» timing diagram

Page 27: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

behavior diagram

» state machine diagram» activity diagram» use case diagram» interaction diagrams

» sequence diagram» communication diagram» interaction overview diagram» timing diagram

Page 28: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram

» attività in un processo generale di workflow» gli activity diagram sono utilizzati per :

» modellare le azioni compiute quando una operazione viene eseguita (sequenza di step).

» modellare il comportamento di un oggetto» descrivere come un insieme di azioni influisce

su un insieme di oggetti» modellare come uno use case è eseguito in

termini di azioni e (cambiamento di stato di) oggetti » modellare un processo di business in termini di

lavoratori (actors), workflows, organizzazioni, e risorse (oggetti)

Page 29: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – ingredienti principali -

» azioni» relazioni di flusso» nodi di controllo

» nodi decisionali» nodi di esecuzione parallela» nodi di sincronizzazione» nodi di inizio attività» nodi di fine attività» nodi di fine flusso

» contenitori di attività

Page 30: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – ingredienti principali -

» azioni: rappresentano un singolo “step” nella descrizione di una attività» possono includere una descrizione del

comportamento » attraverso altri modelli UML» attraverso altri tipi di linguaggi (opaque

behavior)

» possono essere collegate al verificarsi di un evento

» generazione di un evento» ricezione di un evento

Page 31: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – ingredienti principali -

» relazioni di flusso: rappresentano come due o più attività sono collegate» possono aver associato una condizione di

esecuzione» possono aver associato un peso (i.e.

probabilità di transizione)» possono descrivere il flusso di dati tra

attività

Page 32: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – ingredienti principali -

» nodi di controllo: rappresentano costrutti per la manipolazione dei flussi di controllo» decision node : struttura rami alternativi in un flusso

» merge node : fa confluire flussi alternativi in un unico flusso

» fork node : consente l'esecuzione paralella di più flussi

» join node : sincronizza tutti i flussi entranti nel nodo

» initial node : solo uno per attività

» final node : fine di una attività

» final flow : fine di un flusso ma non dell'attività

Page 33: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – ingredienti principali -

» activity partitions: in un activity diagram definiscono partizioni di azioni» ogni partizione raggruppa azioni che

condividono caratteristiche comuni» in un “business-model” sono utili nel

modellare la corrispondenza con unità organizzative

» possono essere utilizzate per allocare caratteristiche e/o risorse in funzione delle attività

» non influiscono sul flusso delle attività

Page 34: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram

Page 35: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram - example -

Page 36: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram - example -

Page 37: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram - example -

Page 38: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram - example -

Page 39: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram - example (rejected)-

Page 40: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example (accepted) -

Page 41: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example (accepted) -

Page 42: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example (accepted) -

Page 43: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example (accepted) -

Page 44: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example (accepted) -

Page 45: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example (accepted) -

Page 46: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example (accepted) -

Page 47: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example (accepted) -

Page 48: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example -

Page 49: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram – example -

Page 50: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram - example -

Page 51: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

considerazioni

» definizione delle guardie

» assunzioni implicite» differenze con tra le varie versioni dello

standard

Page 52: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

activity diagram ... proviamoci!

modellare tramite un activity diagram i passi essenziali di un processo di stampa:

» un utente può lanciare a stampa un insieme finito di documenti. L'utente controlla il corretto svolgimento delle operazioni per mezzo di una dialog a video.

» la stampa avviene per mezzo di uno spooler.» lo spooler prende in ingresso esclusivamente file

codificati in PS, li processa e li invia sulla stampante fisica.

» il processo di stampa può essere innescato se e solo se c'è sufficiente spazio sul disco che ne consenta l'eventuale codifica nel formato PS.

Page 53: LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAMlabsewiki.isti.cnr.it/_media/projects/gulyx/univaq/labse... · 2017. 2. 2. · activity diagram » attività in un processo generale

SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”

soluzione possibile