Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1 (18 punti).
Il sistema comprende tre tipi di organizzazioni: clienti, distributori e fornitori. Si progetti il processo
gestione ordini che opera nei distributori, insieme con il sistema informativo e le collaborazioni
relative.
Il processo, che è istanziato su un tipo di prodotto (TP) ricevuto da una collaborazione esterna,
riceve richieste d’acquisto (RA) dai clienti e offerte dai fornitori. Una RA si riferisce ad un tipo di
prodotto (TP) e contiene il numero n di unità richieste. Un’offerta si riferisce ad un tipo di prodotto
e contiene la data di scadenza d e la soglia s.
Il processo, quando riceve una RA, la collega all’offerta pendente che ha la soglia s minima; se non
ci sono offerte, scarta la richiesta e la rimanda al cliente con il messaggio di richiesta respinta. Non
appena la somma dei valori degli attributi n delle richieste collegate ad un’offerta pendente supera
la soglia s dell’offerta, il processo genera un ordine relativo all’offerta, scrive nell’attributo n
dell’ordine la somma dei valori degli attributi n delle richieste collegate all’offerta, poi invia
l’ordine al fornitore con il messaggio di offerta accettata e le richieste ai clienti con i messaggi di
richiesta esaudita.
Se scade un’offerta, il processo la rimanda al fornitore con il messaggio di offerta scaduta; se ci
sono richieste collegate all’offerta, le rimanda ai clienti con i messaggi di richiesta respinta.
* 1
Cliente RA Offerta Fornitore
1 0..1
richieste 1
0..1 Ordine
Collaborazioni
1
Modello del processo (da completare) – NOTA sostituire rr in basso a sinistra con re
rr, RA t, TP, t
respingeRA
offerta, Offerta
ra, RA min(s)
aggiunge, 1
at offerta.d
scartaOfferta
os, Offerta
rr, RA
offerta.richieste
offerta.richieste
ordine
generaOrdine
rr, RA oa, Ordine
2
2 (7 punti)
P1 La rete ha 4 token iniziali nei posti P1,
P3, P4 e P11.
Si analizzi la rete seguente senza ridurla.
T1 P2 T2
Quanti circuiti ha? 7
Quanti sono quelli privi di token iniziali
P3 P4
e quali sono?
2, T1 T2 T5 T3 T4 T1
P5
T3 P6 T3 T4 T6 T5 T3
P9 T6 P10
Si può rendere la rete live e safe spostando 1 solo token iniziale; se sì quale spostamento si può
effettuare?
Si può spostare il token da P3 a P7, oppure da P4 a P8 .
Scopo degli activity diagrams: sono simili ai flow charts, quindi mostrano work steps ordinati
secondo un control flow.
Uso complementare: i work steps di un activity diagram possono attivare use cases e ricevere eventi
da use cases. Oppure: un activity diagram può esprimere la dinamica di un caso d’uso complesso.
- Illustrare il concetto di token count e la sua applicazione all’analisi della safeness nei marked
graphs.
Concetto: n. totale di token iniziali in un circuito.
Applicazione: un MG live è safe se e solo se ciascun posto appartiene ad un circuito il cui token
count è pari a 1.
3
Compito di Ingegneria del Software del 20 luglio 2009
1 (18 punti).
Il sistema comprende tre tipi di organizzazioni: clienti, magazzini e fornitori. Si progetti il processo
di gestione che opera nei magazzini, insieme con il sistema informativo e le collaborazioni relative.
Il processo è istanziato su un’entità magazzino proveniente da una collaborazione esterna. Il
magazzino contiene il n. di prodotti disponibili (nd, intero) e la soglia di riordino (sr, intero) ed è
collegato ad alcuni fornitori (in modo non esclusivo).
Il processo riceve ordini dai clienti. Un ordine cliente (OC) è relativo ad un cliente e contiene il n.
di prodotti richiesti (nr, intero). Se ci sono abbastanza prodotti disponibili (cioè nd >= nr
dell’ordine), il processo lo serve immediatamente e invia al cliente un messaggio di consegna
immediata relativo all’ordine e aggiorna nd togliendo nr dell’ordine. Altrimenti invia al cliente un
messaggio di notifica di consegna differita relativo all’ordine e tiene l’ordine come pendente.
Quando il totale delle richieste degli ordini pendenti supera la soglia di riordino sr, il processo
genera un ordine fornitore (OF) a cui collega tutti gli ordini cliente pendenti. Nell’attributo n di tale
ordine scrive il n. totale di prodotti richiesti incrementato del 20% , poi associa l’ordine al fornitore
che ha il minimo valore del n. totale di prodotti ordinati (nTot, intero) e aggiunge n a nTot; infine
invia l’ordine al fornitore.
Quando il fornitore risponde con un messaggio di consegna relativo all’ordine, il processo invia ai
clienti i messaggi di consegna relativi agli ordini cliente associati all’ordine fornitore e aggiunge a
nd la differenza tra il n. dei prodotti ordinati e il n. di quelli consegnati.
Attributi
OC: int nr. OF: int n. +
Magazzino
Magazzino: int nd, int sr.
Fornitore: int nTot. +
+ of 1
Cliente OC 0..1 OF Fornitore
1
ordiniCliente
Collaborazioni
Collaborazioni
Cliente - processo processo - Fornitore
oc = ordine cliente
oc, OC of, OF
ci = consegna cliente
immediata
alt
ci, OC cf, OF
ncd = notifica di
consegna cliente differita
ncd, OC c = consegna
c, OC of = ordine fornitore
cf = consegna fornitore
4
Modello del processo (da completare)
Cliente Fornitore
m, Magazzino, m
ncd, OC
oc, OC
tiene
consegnaImm,1 of, OF
all inviaOrdineF
ordine
p, OC
ci, OC
c, OC
consegna
cf.ordiniCliente cf, OF
5
2 (8 punti).
P1 T2 P3
P2 T3 P4
T4
- Illustrare la differenza tra control flow e data flow nei modelli dei processi di business basati sugli
activity diagrams UML.
Scopo del control flow: indicare la successione delle attività.
Scopo del data flow: indicare i dati scambiati con l’esterno, quelli associati all’istanza di processo,
quelli usati nelle condizioni.
- Spiegare il concetto di metamodello e indicare con quale notazione UML si possono rappresentare
i metamodelli.
Concetto: Se consideriamo una categoria di modelli UML, ad es. gli use cases, tali modelli hanno
una struttura che si può rappresentare con un modello di astrazione più elevata detto metamodello.
Notazione usata per i metamodelli: la struttura di base è sempre un modello classi-relazioni (class
model), ad es. nel metamodello degli use cases ci sono 3 classi principali (UseCase, Actor e
Subject).
6
Compito di Ingegneria del Software del 31/08/2009
1 (18 punti). Il sistema comprende tre tipi di organizzazioni: clienti, venditori e fornitori. Si
progetti il processo gestione offerte che opera nei venditori, insieme con il sistema informativo e le
collaborazioni relative.
Il processo è istanziato su un’offerta proveniente da un fornitore. L’offerta è relativa ad un tipo di
prodotto e ha una scadenza d e le soglie s1 e s2 (valori interi).
Prima della scadenza d un cliente può inviare una richiesta di acquisto. Una richiesta è collegata al
cliente e contiene il numero di unità desiderate (nd, intero).
La richiesta è accettata se nd della richiesta più la somma degli nd delle richieste collegate
all’offerta non supera la soglia s2 dell’offerta; se accetta la richiesta, il processo la collega
all’offerta. Se non l’accetta, il processo la rimanda al cliente con il messaggio di richiesta respinta.
Non appena la somma degli nd delle richieste collegate all’offerta supera la soglia s1 dell’offerta, il
processo genera un ordine relativo all’offerta, scrive nell’attributo n dell’ordine la somma degli nd
delle richieste collegate all’offerta e invia al fornitore il messaggio di offerta accettata con l’ordine e
invia ai clienti delle richieste collegate all’offerta il messaggio di richiesta accettata (con la
richiesta).
Se invece scade l’offerta, il processo manda al fornitore il messaggio di offerta respinta e invia ai
clienti delle richieste collegate all’offerta il messaggio di richiesta respinta (con la richiesta).
Attributi
Offerta: Date d, int s1, int s2.
Richiesta: int nd. Tipo
Ordine: int n. 1
1 0..1 1
Cliente Richiesta Offerta Fornitore
1
0..1
Ordine
Collaborazioni
clienteÆprocesso
Cliente Æ Venditore
before r.offerta.d processo Å Fornitore
r, Richiesta
alt o, Offerta
ra, Richiesta alt
oa, Ordine
or, Offerta
rr, Richiesta
7
Modello del processo
Cliente Fornitore
r, Richiesta
offerta,
aggiunge, 1 Offerta,
rr, Richiesta offerta
scarta
successo
ra, Richiesta offerta.richieste oa, Ordine
ordine
8
2 (8 punti). La rete ha 2 token iniziali nei posti P1 e P2.
Si analizzi la rete senza ridurla.
Si costruisca il grafo delle marcature.
grafo delle marcature
P1 T2 1,1,0,0
T4
P2 P3
T1 T2
T1 T3 1,0,0,1 0,1,1,0
T4
T2
T3
P4 0,0,1,1
T4
- Indicare i principali vantaggi e svantaggi delle reti colorate rispetto a quelle ordinarie.
- Spiegare la differenza tra transizioni di gruppo e transizioni di storia nelle macchine a stati
gerarchiche: si possono considerare complementari?
Le tr. di gruppo fanno uscire da uno stato composto, quelle di storia fanno rientrare in uno stato
composto e precisamente nello stato lasciato dall’ultima tr. di gruppo (in questo modo sono
complementari).