laboratorio di ingegneria del software a.a. 2014-2015 · ingegneria del software a.a. 2014-2015 ....
TRANSCRIPT
![Page 1: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/1.jpg)
Università degli Studi dell’Aquila
Dipartimento di Ingegneria e Scienze dell'Informazione e Matematica (DISIM) - Università degli Studi dell’Aquila
Antinisca Di Marco
Laboratorio di
Ingegneria del Software
a.a. 2014-2015
![Page 2: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/2.jpg)
Rielaborazione delle slide di
Guglielmo De Angelis
e Catia Trubiani
![Page 3: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/3.jpg)
Riepilogo della lezione precedente
Cos’è un Use Case Diagram? A cosa serve?!
3
![Page 4: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/4.jpg)
Riepilogo della lezione precedente
Quali sono le relazioni che possono essere definite in uno use case diagram?!
4
inclusione
estensione
associazione
![Page 5: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/5.jpg)
Riepilogo della lezione precedente
…e la generalizzazione?! A cosa serve?!
5
generalizzazione
di attori
generalizzazione
di casi d’uso
![Page 6: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/6.jpg)
SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORY
ISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”
»introduzione alla modellazione
»UML è un linguaggio di modellazione
»le viste di UML
» use case view
» logical view
» implementation view
» process view
» deployment view
![Page 7: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/7.jpg)
SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORY
ISTITUTO 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 8: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/8.jpg)
SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORY
ISTITUTO DI SCIENZA E TECNOLOGIE DELL'INFORMAZIONE “A. FAEDO”
structure diagrams
»class diagram
»object diagram
»component diagram
»deployment diagram
»composite structure diagram
»package diagram
![Page 9: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/9.jpg)
SOFTWARE ENGINEERING AND DEPENDABLE COMPUTING LABORATORY
ISTITUTO 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 10: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/10.jpg)
Activity Diagram
Un Activity Diagram modella le attività in un processo generale di workflow, è utilizzato per:
- modellare le azioni compiute quando una operazione viene eseguita (sequenza di steps).
- 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)
10
![Page 11: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/11.jpg)
Activity Diagram
Cosa serve per definire un activity diagram:
- azioni
- relazioni di flusso
- nodi di controllo
nodi decisionali
nodi di esecuzione parallela
nodi di sincronizzazione
nodi di inizio e fine attività
nodi di fine flusso
- contenitori di attività
11
![Page 12: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/12.jpg)
Activity Diagram -azioni-
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
Possono essere collegate al verificarsi di un evento
generazione di un evento
ricezione di un evento
12
![Page 13: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/13.jpg)
Activity Diagram -relazioni di flusso-
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à
13
![Page 14: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/14.jpg)
Activity Diagram -nodi di controllo-
Nodi di controllo: rappresentano costrutti per la manipolazione dei flussi di controllo
- decision node: struttura rami alternativi in un flusso
- merge node: flussi alternativi confluiscono in un unico flusso
- fork node: consente l'esecuzione parallela di più flussi
- join node: sincronizza tutti i flussi entranti nel nodo
- initial node: inizio di una attività
- final node: fine di una attività
- final flow: fine di un flusso ma non dell'attività
14
![Page 15: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/15.jpg)
Activity Diagram -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à
15
![Page 16: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/16.jpg)
Activity Diagram
Notazione grafica utilizzata per specificare activity diagrams:
16
![Page 17: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/17.jpg)
Un esempio di -fork- e -join-
17
fork
join
![Page 18: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/18.jpg)
Un esempio di -decision node-
18
decision node
![Page 19: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/19.jpg)
Un esempio di -connector-
A reppresenta un connettore
19
connector
![Page 20: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/20.jpg)
Un esempio di -object-
20
object
L’azione Measuring fornisce i valori da misurare all’azione Updating displayer (measured value è un object)
![Page 21: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/21.jpg)
Un esempio di -signal-
Tra Create PostScript file e Remove MessageBox, viene inviato un segnale di Print. Il segnale contiene un file che è ricevuto e stampato dall’oggetto Printer
21
signal
![Page 22: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/22.jpg)
ACTIVITY DIAGRAM - EXAMPLE - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 23: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/23.jpg)
ACTIVITY DIAGRAM - EXAMPLE - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 24: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/24.jpg)
ACTIVITY DIAGRAM - EXAMPLE - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 25: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/25.jpg)
ACTIVITY DIAGRAM - EXAMPLE - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 26: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/26.jpg)
ACTIVITY DIAGRAM - EXAMPLE (REJECTED)- Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 27: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/27.jpg)
ACTIVITY DIAGRAM – EXAMPLE (ACCEPTED) - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 28: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/28.jpg)
ACTIVITY DIAGRAM – EXAMPLE (ACCEPTED) - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 29: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/29.jpg)
ACTIVITY DIAGRAM – EXAMPLE (ACCEPTED) - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 30: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/30.jpg)
ACTIVITY DIAGRAM – EXAMPLE (ACCEPTED) - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 31: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/31.jpg)
ACTIVITY DIAGRAM – EXAMPLE (ACCEPTED) - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 32: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/32.jpg)
ACTIVITY DIAGRAM – EXAMPLE (ACCEPTED) - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 33: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/33.jpg)
ACTIVITY DIAGRAM – EXAMPLE (ACCEPTED) - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 34: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/34.jpg)
ACTIVITY DIAGRAM – EXAMPLE (ACCEPTED) - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 35: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/35.jpg)
ACTIVITY DIAGRAM – EXAMPLE - Le attività hanno lo stesso tempo di esecuzione (es. 1 sec)
![Page 36: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/36.jpg)
ACTIVITY DIAGRAM – EXAMPLE -
![Page 37: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/37.jpg)
ACTIVITY DIAGRAM – EXAMPLE - Cosa accade se i tempi di esecuzione sono quelli indicati?
3sec 5sec 20sec
3sec 9sec 5sec
![Page 38: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/38.jpg)
Un esempio di activity diagram
38
Partizione delle azioni tra differenti entità
![Page 39: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/39.jpg)
Un esempio di activity diagram
39
![Page 40: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/40.jpg)
Un esempio di activity diagram
40
![Page 41: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/41.jpg)
Un esempio di activity diagram
41
![Page 42: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/42.jpg)
Un esempio di activity diagram
Rent a video
42
![Page 43: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/43.jpg)
Un esempio di activity diagram
Hospital management
43
![Page 44: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/44.jpg)
Activity diagram... proviamoci!
Modellare tramite un activity diagram i passi essenziali di un processo di stampa:
- un utente può lanciare la stampa di un insieme finito di documenti. L'utente controlla il corretto svolgimento delle operazioni per mezzo di un 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
44
![Page 45: Laboratorio di Ingegneria del Software a.a. 2014-2015 · Ingegneria del Software a.a. 2014-2015 . Rielaborazione delle slide di Guglielmo De Angelis e Catia Trubiani . Riepilogo della](https://reader031.vdocuments.pub/reader031/viewer/2022020121/5c66708e09d3f2f91c8c4288/html5/thumbnails/45.jpg)
Una possibile soluzione
45