LEZIONE 3 USE CASE DIAGRAM && ACTIVITY...
Transcript of LEZIONE 3 USE CASE DIAGRAM && ACTIVITY...
![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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/1.jpg)
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
![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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/2.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/3.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/4.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/5.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/6.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/7.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/8.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/9.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/10.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/11.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/12.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/13.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/14.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/15.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/16.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/17.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/18.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/19.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/20.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/21.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/22.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/23.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/24.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/25.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/26.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/27.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/28.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/29.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/30.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/31.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/32.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/33.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/34.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/35.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/36.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/37.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/38.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/39.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/40.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/41.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/42.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/43.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/44.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/45.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/46.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/47.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/48.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/49.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/50.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/51.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/52.jpg)
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](https://reader035.fdocuments.in/reader035/viewer/2022081411/60b2711428519a252e0d0c11/html5/thumbnails/53.jpg)
SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORYISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”
soluzione possibile