modellazione dei requisiti informativimb.unisalento.it/infoarchanddb/allegati/requirements.pdf ·...
TRANSCRIPT
Modellazione dei requisiti informativi
Un quadro di insieme
La modellazione della struttura
La modellazione del flusso
Le assembly lines
Requisiti e casi d’uso
3
PV-2007 - Gianmario Motta
La modellazione dei requisiti informativi
Dettaglio processo Assembly Lines
Use Case ER Diagram GUI diagrams
Modello strategico dei requisiti
Modello Processi
Struttura processoSwimlanes
CRUD grid
LRC gridModello ABE
4
PV-2007 - Gianmario Motta
MODELLAZIONE: ESTENSIONI UML ADOTTATE
(Business Extension UML)
Prodotto, consumabile, strumento tangibile o
intangibile ClassRisorsa
Aumento di conoscenza portato all’attività
(input) o derivato dall’attività (output)ClassInformazione
Indica una conclusione nel flusso (possono
essere molteplici). Tali conclusioni
costituiscono trigger potenziali di altri processi.
Signal Send (dinamico)
Class (statico)
Invio Evento Business
Rappresenta un trigger di attivazione (scadenza
od evento) Un flusso inizia con almeno un
trigger in ingresso
Signal Receipt (dinamico )
Class (statico)
Ricezione Evento
Business
Una attività elementare è una attività atomica
ed omogenea rispetto ad attore, frequenza,
luogo, procedura
Activity (dinamico)
Class (statico)
Business Activity
(Attività elementare)
Aggregazione di attività che soddisfano un
obiettivo (NB un processo può venire diviso in
processi)
Activity (dinamico)
Class (statico)
Business Process
DescrizioneSimboloStereotipo da UMLNome
Modellazione dei requisiti informativi
Un quadro di insieme
La modellazione della struttura
La modellazione del flusso
Le assembly lines
Requisiti e casi d’uso
6
PV-2007 - Gianmario Motta
MODELLAZIONE DELLA STRUTTURA (richiamo)
FormulazionePiano
CalcoloFabbisogno
Lordo
IndividuazioneFabbisogno
CalcoloPiano
Produzione
ConfermaOrdine
CalcoloFabbisogno
Netto
1
1
1
1
1
1
1
1
1
1
CalcoloPiano
ProduzioneUrgente
Associazioni fra processi :
-Composizione
- Specializzazione
7
PV-2007 - Gianmario Motta
D3 - Deliver Engineer-to-Order
Product
D3.11 - Invoice
Fatturazione
D3.3 - Enter Order,Commit Resources &
Launch Program
Immissione ordine, commisioneapprovvigionamenti e lancio
programmazione
D3.2 - Negotiate &Receive contract
Negoziazione ericezione del
contratto
D3.1 - Obtain &Respond to RFP/
RFQ
Procurarsi e risponderealle RFP/RFQ
Preparazione dell'offerta
"Budgetaria"
D - Deliver
D3.9 - Receive & VerifyProduct at Customer
Ricezione e verifica del prodottopresso il cliente
Invio offerta "Budgetaria"alle società di
ingegneria
Ricezione richiestedal cliente
D3.8 - Load Vehicle, Generate ShipDocs, Verify Credit & Ship Product
Carico veicoli, generazionedocumenti di trasporto, verifica
credito e trasporto prodotti
DIAGRAMMA DI STRUTTURA:
PERSONALIZZAZIONE SCOR (richiamo)
Modellazione dei requisiti informativi
Un quadro di insieme
La modellazione della struttura
La modellazione del flusso
Le assembly lines
Requisiti e casi d’uso
9
PV-2007 - Gianmario Motta
La modellazione del flusso
• Integra il modello strategico
definito precedentemente in
termini di organizzazione,
processo, fattori, IT
• Include
– Swimlane processi
– Flusso delle attività / swim-lanes
– Linear responsibility chart (LRC)
Proceso
Attvità
LRC grid
10
PV-2007 - Gianmario Motta
SWIMLANE : LIVELLO PROCESSO
G estione M ate ria li R epa rtoR espon sab ile P rodu z ione
C a lco lo P ro gram m aP roduz io ne
C a lco lo de i Fa bb isogn i
S caden zaP rogram m azione
S ettim an a le
C apac itàP rodu ttiva
A nagra fiche O rd in iL ive lloS corte
A nag ra ficheD is tin ta
B ase
P ro duz ionea Fabb isog no
P roposta d 'O rd ine
11
PV-2007 - Gianmario Motta
Resp. QualitàResp. Progr. e ProduzResp. VenditeVend. Uff. Marketing Dir. Vendite
Inviospecifiche
del progetto
Prezzopompa
Inputall'approvvigionamento
Acquisizionecommessa
Lancioprogrammazione
Fatturazione
Immissione ordine,commisione
approvvigionamenti elancio programmazione
Negoziazione e ricezione delcontratto
Procurarsi erispondere alle
RFP/RFQ
Ricezione everifica
del prodottopresso il cliente
OptionalPayment
ProductionPlans
Resourceavailability
RFQ/RFP
Sourcing plans
ReplenishmentSignal
Order Signal
ProductionSchedule
Delivery Plans
Order Backlog
OrderInformation
Payment
Carico veicoli,generazione documenti ditrasporto, verifica credito
e trasporto prodotti
Delivered EndItems
Shippingdocuments
Leggi diciascun paese Costi di
produzione
Informazionidel DB
aziendale
Tipologiapompa
Secondocontatto
della societàd'ingegneria
Accettazione/Rifiuto prodotto
Approved contract
Margine
calcolato
SWIMLANE : LIVELLO PROCESSO
13
PV-2007 - Gianmario Motta
DealStructurer
Accettazione Prezzi SpedizioneCrediti Pratiche
Ricezione Chiam ata
Annotazione Modulo Accettazione
Chiamata
Modulo Accett
Imm issione Inform azioni
Verifica Fido
AccettVerificata
Personalizzazione Pratica
Pratica
Inserim ento e Calcolo Tasso
Pratica + Modulo
Tasso
Form ulazione Lettera Offerta
InvioOfferta
Concessione Credito
Richiesta Com plessa
Trattam ento Pratica
Richiesta Sem plice
<<benchm ark>>
Tempo elaborazione pratica: 90 m in
SWIMLANE: LIVELLO ATTIVITA’ (caso C-Credit)
14
PV-2007 - Gianmario Motta
Diagrammi di processo e di attività:
criteri di buona formazione: granularità
• La analisi va spinta a un opportuno livello di dettaglio, tale da
individuare attività elementari cioè non ulteriormente
scomponibili
• Una attività è elementare se è omogenea rispetto a:
– Attore
– Frequenza e/o evento attivatore
– Località (tipo di)
– Logica / procedura
15
PV-2007 - Gianmario Motta
Diagrammi di processo e di attività:
criteri di buona formazione : Precedenza
• Dati due insiemi informativi A e B, diciamo che B “precede” A, se A è ottenuto da B mediante un opportuno processo di elaborazione.
• Definiamo “operatore di precedenza” un operatore P tale che, applicato agli insiemi informativi del sistema, fornisce la corrispondente lista delle precedenze.
• Per esempio: P(A) = B,C,D indica che gli insiemi B, C, e D precedono l’insieme A. Si osservi che gli insiemi di input di una generica funzione elaborativa avranno liste delle precedenze vuote.
• Consideriamo ora un generico sistema informativo formato dagli insiemi A, B, C, D, E, e F, ed assumiamo la seguente lista di precedenze:– P(A) = B, C, D
– P(B) = E
– P(C) = E,F
– P(D) = F
– P(E) = 0
– P(F) = 0
• Gli insiemi E ed F sono l’input del sistema, mentre l’insieme A è l’output. Infatti, sostituendo ad A, B, C le rispettive precedenze, si ha P(A) = (E), (E, F), (F) che, semplificato, fornisce la lista degli input al sistema, consistente di E ed F.
16
PV-2007 - Gianmario Motta
LRC : OBIETTIVI
• OBIETTIVI
– Evidenziare i ruoli operativi + decisionali
– Buona formazione di ogni attività(orizzontale)
– Bilanciamento dei ruoli (verticale)
– Evitare sovrapposizioni : molte “E” sulla stessa riga
– Garantire uno e un solo punto decisionale: una sola D per riga
– Evidenziare chi riceve informazioni (I)
– Le etichette riportate sono indicative e possono essere specializzate o generalizzate secondo necessità
I-EIIEsecuzione
campagna
telefonica
IE-IIEsecuzione
campagna
negozi
---DEDefinizione
target
I--AEPianificazio
ne
campagne
Contr
ollo
gestio
ne
Rete
vend
ita
Con
tact
cent
er
Direzi
one
vendi
te
Mar
ketin
g
OrganizzazioneProcessi
17
PV-2007 - Gianmario Motta
LRC : ESEMPIO
I-EIIEsecuzione campagna
telefonica
IE-IIEsecuzione campagna
negozi
---DEDefinizione target
I--AEPianificazione campagne
Controllo
gestione
Rete venditaContact
center
Direzione
vendite
Marketing
OrganizzazioneProcessi
• E Esegue (notazione sempre presente)
• A Assiste & collabora in affiancamento a chi esegue
• D Decide (distinto da chi esegue od assiste)
• I Riceve informazioni
Modellazione dei requisiti informativi
Un quadro di insieme
La modellazione del flusso
Le assembly lines
Requisiti e casi d’uso
Casi d’uso e collaudo
19
PV-2007 - Gianmario Motta
Assembly Line : esempio 1
FabbisogniProduzioneReparti Buy
Calcolo Capacità Necessaria Buy
Identificazione PrevisioniIdentificazione Impegni
e Prenotazioni
Identificazione fabbisogni di produzione per i codici gestiti a scorta
Fabbisogni
Lordi in PezziIdentificazione tipologia
codice
Calcolo Capacità Necessaria Make
[codice in make]
[codice in buy]
FabbisogniProduzione
RepartiMake
PREV (Previsioni Commerciale)
FABB (Fabbisogni)
AA (Anagrafica Articoli)
CICLI (Cicli Produzione)
I (Impegni)
DISTINTA (Distinta Base)
P (Prenotazioni)
PC (Previsioni Cliente)
Carica Previsioni Conferma Quote
Ordinate
Calcola Fabbisogni
Lordi
Calcolo Capacità
Necessaria Make
Calcolo Capacità
Necessaria Buy
Imposta Previsioni
read
write
Candidate
EntityCasi d’uso
candidati
Attività indicate negli Activity Diagrams
20
PV-2007 - Gianmario Motta
Assembly line : note
• Le Assembly Line non sono uno standard UML, ma sono un utile
meccanismo per individuare entità candidate e casi d’uso candidati
• Entità e casi candidati formano insieme alle GUI i requisiti IT
• Entità e casi candidati sono successivamente sviluppati secondo modellazioni
UML canoniche
21
PV-2007 - Gianmario Motta
Assembly line: Entità Candidate
Fabbisogni
Produzione
Reparti Buy
Calcolo Capacità Necessaria Buy
Identificazione PrevisioniIdentificazione Impegni
e Prenotazioni
Identificazione fabbisogni di produzione per i codici gestiti a scorta
Fabbisogni
Lordi in PezziIdentificazione tipologia
codice
Calcolo Capacità Necessaria Make
[codice in make]
[codice in buy]
Fabbisogni
Produzione
RepartiMake
PREV (Previsioni Commerciale)
FABB (Fabbisogni)
AA (Anagrafica Articoli)
CICLI (Cicli Produzione)
I (Impegni)
DISTINTA (Distinta Base)
P (Prenotazioni)
PC (Previsioni Cliente)
Carica Previsioni Conferma QuoteOrdinate
Calcola FabbisogniLordi
Calcolo CapacitàNecessaria Make
Calcolo Capacità
Necessaria Buy
Imposta Previsioni
• La esecuzione di una singola
attività include una serie di
operazioni di lettura/scrittura su
entità (vedi tabella CRUD)
• Le entità indicate nelle AL sono
dette “candidate” in quanto solo
una successiva analisi affinerà la
loro progettazione
• Le entità candidate derivano dalle
ABE (specializzazione o
scomposizione)
• Le operazioni sulle entità sono
indicate da archi orientati
22
PV-2007 - Gianmario Motta
Assembly line: Casi d’uso candidati
Fabbisogni
ProduzioneReparti Buy
Calcolo Capacità Necessaria Buy
Identificazione PrevisioniIdentificazione Impegni
e Prenotazioni
Identificazione fabbisogni di produzione per i codici gestiti a scorta
FabbisogniLordi in Pezzi
Identificazione tipologia
codice
Calcolo Capacità Necessaria Make
[codice in make]
[codice in buy]
FabbisogniProduzione
RepartiMake
PREV (Previsioni Commerciale)
FABB (Fabbisogni)
AA (Anagrafica Articoli)
CICLI (Cicli Produzione)
I (Impegni)
DISTINTA (Distinta Base)
P (Prenotazioni)
PC (Previsioni Cliente)
Carica Previsioni Conferma QuoteOrdinate
Calcola FabbisogniLordi
Calcolo CapacitàNecessaria Make
Calcolo Capacità
Necessaria Buy
Imposta Previsioni
• I casi d’uso candidati indicano funzionalità del sistema svolte mediante la
interazioni di una attività con entità candidate
• La interazioni di una data attività possono essere incluse in uno o più casi
d’uso candidati
23
PV-2007 - Gianmario Motta
Assembly line: metodo
• Individuare le entità candidate (dalle ABE)
– Iniziare dalla prima attività
• Individuare le informazioni anagrafiche lette o scritte (p.e. cliente, prodotto ecc.)
• Riportare le informazioni come entitàcandidate
• Individuare le informazioni dinamiche lette o scritte (p.e. ordini cliente, conferme ordine)
• Riportare le informazioni come entitàcandidate
– Continuare con le altre attività
• Per ogni attività individuare i casi d’uso candidati (uno o più)
• Rivedere e rifinire le entità candidate e i casi d’uso candidati
24
PV-2007 - Gianmario Motta
Controllo della integrità : tavola CRUD
(Create, Read, Update, Delete)
• La tavola CRUD verifica la
completezza del ciclo vitale delle
entità candidate individuate nelle
assembly lines all’interno del
processo e del sistema
25
PV-2007 - Gianmario Motta
Controllo della integrità : tavola CRUD
(Create, Read, Update, Delete)
Legenda:
C = crea e inserisce
R = legge e non modifica
U = legge e modifica
D = cancella
…………..…………..…………..…………..…………..…………..…………..
…………..UR…………..CURCU #41
…………..…………..…………..…………..…………..…………..…………..
…………..…………..…………..…………..…………..…………..…………..
…………..…………..…………..…………..…………..…………..…………..
……………ORFORFORNITOR
I
……………MOVIMEN
TI
SCORTEANAGRAFE
MATERIAL
I
ENTITA CANDIDATE ATTIVIT
A - CU
26
PV-2007 - Gianmario Motta
Controllo della integrità : tavola CRUD
(Create, Read, Update, Delete)
• Verifica delle precedenze. Individua le eventuali anomalie di precedenza in sede di progetto. L’ordinamento delle funzioni nella tabella, infatti, rispecchia parzialmente l’ordine di precedenza delle attività:
– una C non può seguire una R o U (una registrazione deve esistere per essere letta o modificata);
– una D non può precedere una R o U (una registrazione non può essere letta o modificata se è già stata cancellata).
• Verifica di chiusura. Individua le informazioni che non completano il loro ciclo vitale di creazione, modifica, lettura e cancellazione nell’ambito delle funzioni di aggiornamento elencate nella tabella.
• Importazione. Le informazioni sono consultate (R) o modificate (U), ma non create (C) dal sistema. Queste informazioni devono essere generate da altri sistemi o da apposite funzioni di gestione archivi.
• Ridondanza. Le informazioni sono create (C) ma non consultate (R) né modificate (U). Le informazioni ridondanti, quando non utilizzate effettivamente da altri sistemi, vanno eliminate in quanto appesantiscono inutilmente le elaborazioni.
• Distruzione. Le informazioni sono cancellate (D) ma non create (C) né modificate (U). Questa casistica è segno di errori o di analisi incomplete.
27
PV-2007 - Gianmario Motta
Approcci complementari per derivare requisiti
• Le Assembly Lines sono un approccio semiformale per
identificare i requisiti IT corrispondenti a un dato schema di
processo modellato con Activity Diagram
• Per individuare i requisiti IT (= Casi d’uso, GUI, Classi di dati)
possono essere usati anche altri metodi p.e.
– Analisi della documentazione IT, organizzativa, moduli, rapporti, studio
delle funzionalità ERP utilizzate
– Prototipi software marcianti (metodi RAD e simili)
– Mock-up
Modellazione dei requisiti informativi
Un quadro di insieme
La modellazione del flusso
Le assembly lines
Requisiti e casi d’uso
Casi d’uso e collaudo
29
PV-2007 - Gianmario Motta
Requisiti e casi d’uso
• I requisiti possono essere descritti
da asserzioni in linguaggio
naturale
• In ogni caso i requisiti vanno
numerati
– In base alla struttura del
documento dei requisiti
– In sequenza nella categoria del
requisito, con etichetta mnemonica
sulla categoria di appartenenza
– In base ad un identificatore
univoco generato da un database
dei requisiti (CASE)
• I requisiti possono essere
gerarchizzati
• La gerarchia riflette i livelli di
astrazione/dettaglio
• A ciascun livello dei requisiti
– Si può associare un caso d’uso
– Si può illustrare la relazione tra
requisiti e attori mediante
diagrammi dei casi d’uso.
30
PV-2007 - Gianmario Motta
Requisiti e casi d’uso : esempio
• CU 3: INSERIMENTO CONFERMA D’ORDINE/ORDINE
• [CU3.1] Il commerciale riceve da un cliente una conferma d’ordine o un ordine.
• [CU3.2] Il commerciale apre la finestra di Conferma ordinativo per un dato cliente.
• [CU3.3] Il commerciale carica le previsioni effettuate da se stesso per un determinato articolo e periodo temporale
• [CU3.4] Il sistema evidenza se l’articolo viene prodotto in make oppure in buy
• [CU3.5] Il sistema evidenza il prezzo standard dell’articolo e il tempo medio di realizzazione.
– [CU3.5.1] Se presenti, il commerciale carica le previsioni effettuate ed inviate dal cliente, per un determinato articolo e periodo temporale
• [CU3.6] Il commerciale inserisce i dati di conferma ordinativo pervenuti dal cliente per un determinato articolo.
– [CU3.6.1] Se i dati sono corrispondenti a una previsione, è sufficiente inserire i dati di conferma e trasformare la previsione in un impegno.
– [CU 3.6.2] Se i dati non sono corrispondenti a una previsione, si inseriscono tutti i dati necessari e si crea un impegno.
31
PV-2007 - Gianmario Motta
Casi d’uso: diagramma
Cliente
VenditoreInserimento Ordine
Direttore
Convalida Ordine
• Lo stickman rappresenta lo
stereotipo <<actor>>.
• L’ovale rappresenta lo stereotipo
del caso d’uso.
• Ciascun nome deve riflettere una
funzionalità del sistema secondo
l’analisi dei requisiti.
• La freccia indica se l’attore innesca
il caso d’uso (afferente) o ne
subisce gli effetti (efferente)
32
PV-2007 - Gianmario Motta
Casi d’uso: diagramma – esempio
Commerciale
Direttore Produzione
Calcola Fabbisogni
Lordi
Calcolo Capacità
Necessaria Buy
Calcolo Capacità
Necessaria Make
Carica Previsioni
Conferma Quote
Ordinate
Imposta Previsioni
<<uses>>
<<includes>
>
<<includes>>
<<includes>>
33
PV-2007 - Gianmario Motta
Casi d’uso: diagramma (cont.)
Cliente
VenditoreInserimento Ordine
Direttore
Convalida Ordine
• Rappresentano i requisiti individuati con le AL
• Possono essere redatti a successivi livelli di astrazione (un caso d’uso può contenere casi d’uso più specifici).
• Rappresentano i requisiti del sistema ed enfatizzano che cosa il sistema fa e chi fa che cosa (attori)
• Un caso d’uso richiede l’esecuzione di una computazione che avviene tramite interazione tra le entità candidate individuate nelle AL
• Le computazioni legate ad un caso d’uso possono essere specificate con diagrammi di attività o di sequenza, in questi ultimi sono coinvolte le entitàcandidate.
• I modelli dei casi d’uso (e i relativi diagrammi di specifica) sono sviluppati iterativamente e parallelamente al diagramma statico delle classi (entità candidate)
34
PV-2007 - Gianmario Motta
Casi d’Uso : proprietà
Cliente
VenditoreInserimento Ordine
Direttore
Convalida Ordine
• Un caso d’uso modella una funzionalità completa (flusso principale di esecuzione, flussi alternativi eventuali, condizioni di eccezione)
• Un caso d’uso è una funzionalità visibile esternamente dall’utente e come tale da esso percepita, interagendo con il sistema/software
• E’ eseguibile indipendentemente (i casi d’uso possono condividere oggetti durante l’esecuzione, ma ciascuna esecuzione è indipendente dalle altre)
• Un caso d’uso rappresenta una funzionalità che èsempre iniziata da un attore (una volta iniziato, il caso d’uso può poi interagire con altri attori); èpossibile che un attore riceva semplicemente i risultati di un caso d’uso iniziato da un altro attore
• Un caso d’uso è produce sempre al termine dell’esecuzione un risultato significativo e percepibile come tale esternamente da un altro attore
35
PV-2007 - Gianmario Motta
Casi d’uso: Stereotipi e Associazioni
Cliente
VenditoreInserimento Ordine
Direttore
Convalida Ordine
• Associazione normale: indica una comunicazione tra attore e caso d’uso
• Generalizzazione: permette a un caso d’uso specializzato la modifica o l’estensione di un aspetto del caso d’uso di base
• Inclusione <<include>>: un caso d’uso di base comprende sistematicamente il comportamento descritto dal caso d’uso incluso. Il caso d’uso incluso non è eseguito solamente in quanto parte del caso d’uso di base.
• Estensione <<extend>>: estende il comportamento del caso d’uso base attivando un altro caso d’uso in alcuni casi (opzionali nel regolare funzionamento del caso d’uso base)
• Utilizzo <<use>>: un caso d’uso utilizza in parte o in tutto un altro caso d’uso per il suo completamento
36
PV-2007 - Gianmario Motta
Casi d’uso: Generalizzazione tra Attori
Cliente
VenditoreInserimento Ordine
Direttore
Convalida Ordine
• La generalizzazione tra attori
consente di individuare diverse
categorie “di accesso” a
determinate funzionalità.
• I casi d’uso legati agli attori padri
sono legati anche agli attori figli,
che possono avere associazioni
aggiuntive (specializzanti) ad altri
casi d’uso.
37
PV-2007 - Gianmario Motta
Casi d’uso : dettaglio con Activity Diagram
Inserimento
Ordine
Invio Acconto
Verifica Ordine
Controlla
Solvibilità
[ <= 5000 Euro ]
Ordina
Spedizione
Convalida
Ordine
[ > 5000 Euro ]
Annulla Ordine
[ Solvibile ]
[ Non Solvibile ]
DirettoreVenditoreCli ente• I diagrammi di attività possono essere
utilizzati per dettagliare i flussi con cui i requisiti di dettaglio compongono un caso d’uso
• Nel diagramma risulta anche semplice spiegare a chi compete una determinata attività, e se questa attivitàsia innescata da un evento in ingresso, o produca un determinato evento in uscita.
• Nei diagrammi di attività vengono spesso indicati eventi in ingresso o in uscita ad una sequenza di attività, ed elementi informativi di transito che evolvono passando tra un’attività e l’altra di una sequenza.
38
PV-2007 - Gianmario Motta
Casi d’uso : dettaglio con Activity Diagram
Seleziona Cliente
Visualizza Previsioni Venditore per Cliente
Visualizza Previsioni Cliente per Cliente
Inserisci Conferma Ordine per Articolo per Cliente Conferma una Previsione come Impegno
Aggiorna Errore PrevisionaleAggiorna Errore Previsionale per Inserimento
Impegno Inserito
Finestra impegni vuota
[Ordine non previsto] [Conferma coincide con previsione]
[dati da verificare rispetto a previsioni]
Inserimento Interrotto
39
PV-2007 - Gianmario Motta
Caso d’uso: specifica (schema di Jacobson)
Caso d’uso
Attori Descrizione
Flusso eventi Flussi alternativi
Precondizioni Postcondizioni
Eccezioni Frequenza
Criticità
• Attori: attori afferenti o efferenti al caso
• Descrizione: frase che sintetizza la natura del caso
• Flusso Eventi: elenco numerato dei sottorequisiti che compongono il caso.
• Flussi Alternativi: modalità alternative di esecuzione del caso.
• Pre Condizioni: asserzioni che devono essere verificate perché il caso possa essere iniziato (si usa per stilare i piani di collaudo)
• Post Condizioni: asserzioni che devono essere verificate alla fine dell’esecuzione del caso d’uso (per i piani di collaudo)
• Eccezioni: possibili errori che devono essere rilevati nel sistema, di eventi che possono causare una esecuzione del caso d’uso non lineare/corretta (per i piani di collaudo)
• Frequenza stimata di utilizzo (per decidere le priorità nel piano di sviluppo)
• Criticità (per stimare il rischio legato al requisito)
40
PV-2007 - Gianmario Motta
Caso d’uso: specifica - esempio
1.1.1 [CU3]: Identificazione dei fabbisogni per codici a scorta :: Conferma Quote Ordinate
1.1.1.1 Attori
Commerciale
1.1.1.2 Breve Descrizione
Permette di visualizzare le previsioni di ordine per cliente e articolo , inserire un ordine e confrontare la previsione con l’ordine effettivo.
1.1.1.3 Flusso di Eventi
1.1.1.3.1 Flusso Base
[CU3.1] Il commerciale riceve da un cliente una conferma d’ordine o un ordine.
[CU3.2] Il commerciale apre la finestra di Conferma ordinativo per un dato cliente.
[CU3.3] Il commerciale carica le previsioni effettuate da se stesso per un determinato articolo e periodo temporale
[CU3.4] Il sistema evidenzia se l’articolo è make or buy
[CU3.5] Il sistema evidenzia il prezzo standard dell’articolo e il tempo medio di realizzazione.
[CU3.6] Se presenti, il commerciale carica le previsioni inviate dal cliente
[CU3.7] Il commerciale inserisce i dati di conferma ordine pervenuti dal cliente.
[CU3.8]Se i dati della conferma ordine sono corrispondenti alla previsione, èsufficiente inserire i dati di conferma e trasformare la previsione in un impegno.
[CU3.9] Se i dati non sono corrispondenti a una previsione, si inseriscono i dati e si crea un impegno.
1.1.1.3.2 Flussi Alternativi
[CU3.10] Il commerciale decide di non inserire l’impegno perché l’ordine è sensibilmente difforme alla previsione venditore.
[CU3.11] Il commerciale decide di non inserire l’impegno perché l’ordine è sensibilmente difforme alla previsione cliente.
[CU3.12] Il commerciale decide di non inserire l’ordine perchéil prezzo concordato è sensibilmente difforme al prezzo standard.
1.1.1.4 Pre Condizioni
Al commerciale perviene un ordine da trasformare in impegno.
1.1.1.5 Post Condizioni
E’ stato inserito un impegno a fronte dell’ordinativo, oppure non si è in alcun modo modificata la situazione precedente.
1.1.1.6 Eccezioni
Dati inseriti non validi
1.1.1.7 Frequenza Stimata di Utilizzo (bassa, media, alta)
ALTA
1.1.1.8 Criticità (bassa, media, alta)
ALTA
42
PV-2007 - Gianmario Motta
Activity Diagram : Elementi grafici
*
Concorrenza dinamica
Attivita’
fork
[condition]
branch
[else]
[condition]
join
merge
start
end
43
PV-2007 - Gianmario Motta
Connettori: esecuzione condizionale
• BRANCH: l’attività ha una sola connessione in ingresso e più connessioni in
uscita dotate di condizioni; dopo la fine dell’azione le condizioni sono
valutate e solo l’azione “successore” la cui condizione è vera è eseguita (le
condizioni sono mutuamente esclusive);
• MERGE: l’attività ha più connessioni in ingresso e una connessione in uscita;
termina un blocco condizionale iniziato con un branch;
44
PV-2007 - Gianmario Motta
Connettori: esecuzione condizionale (1)
Verifica scelta
cliente sul tipo dispedizione
Spedizione
per corriereSpedizione
posta ordinaria
[spedizione rapida] [else]
Chiusura ordine
BRANCH
MERGE
45
PV-2007 - Gianmario Motta
Connettori: esecuzione condizionale (2)
Mostraremodulo di acquisto
Ottenere i dettagli
dell’acquisto
Memorizzare
l’ordine
[OK]
[incompleto]BRANCH
MERGE
46
PV-2007 - Gianmario Motta
Connettori: esecuzione parallela
• FORK:
– l’attività ha una sola connessione in ingresso e più connessioni in uscita;
– quando l’azione termina sono eseguite in parallelo tutte le azioni successive
• JOIN:
– l’attività ha più connessioni in ingresso e una connessione in uscita, e termina un blocco parallelo iniziato con un fork;
– l’attività uscente dal join può essere eseguita solo dopo che tutte le attività entranti nel join sono terminate (il join sincronizza le attività);
47
PV-2007 - Gianmario Motta
Connettori: esecuzione parallela (1)
Prelievo merce dal magazzino
Imballare la mercePreparare l’etichetta
per la spedizione
Etichettare la merce
per la spedizione
FORK
JOIN
48
PV-2007 - Gianmario Motta
Esercizio 1
(GUTT)
• E’ possibile prenotare telefonicamente o presentandosi in agenzia. In agenzia una persona si occupa solamente delle prenotazioni.
• Le prenotazioni sono registrate su un archivio
• L’agenzia stampa i tabulati delle prenotazioni ogni mattina per avere un quadro generale della situazione
• Le prenotazioni scadute vengono annullate
• E’ possibile chiamare l’agenzia per effettuare dei reclami, i reclami vengono archiviati.
49
PV-2007 - Gianmario Motta
Soluzione 1(GUTT)
Prenotazione
telefonica
Prenotazione
in agenz ia
Annulla
prenotazione
Ricezione
ReclamiR ichies ta telefo nica
Inizio
Fine
Stampa
tabulat i
Evade
Reclamo
Aggiorna Anagrafica
Prenotazioni
Aggiorna Anagrafica
Prenotazioni
prenotazioni s cadute
Controlla
Prenotazioni
fine giorno
fine giorno
50
PV-2007 - Gianmario Motta
Esercizio 2
(Check-in)
• Il cliente si presenta in aeroporto e consegna il suo biglietto al check in.
• L’impiegato verifica se la prenotazione è confermata e assegna un posto al cliente.
• I bagagli da imbarcare sono pesati e la loro segnalazione inserita nel sistema.
• La carta di imbarco è emessa e consegnata al cliente.
• Se la prenotazione risulta non confermata, il cliente è inserito in lista di attesa e riprende il suo biglietto.
51
PV-2007 - Gianmario Motta
Soluzione(Check-in)
Presentazione
biglietto aereo
Start
Verifica
prenotazione
As segnazione
posto
Pesa bagagli Archiviazione
dat i bagagl i
Emissione carta
di imbarco
Inserire cliente in
lista di attesaRest it uisce
biglietto aereo
Cons egna carta d i
imbarco
End
Prenotazione non valida
52
PV-2007 - Gianmario Motta
Esecizio 3
(Agenzia Viaggi via Internet)
• Consultazione catalogo viaggi: l’utente ha la possibilità di scegliere in base alla destinazione, al costo e alla durata di diverse vacanze (vacanze complete, solo alberghi oppure appartamenti). L’utente può effettuare la consultazione senza registrarsi.
• Prenotazione e acquisto viaggi: solo l’utente registrato può prenotare il viaggio. La prenotazione è confermata solo dopo il pagamento del viaggio con carta di credito o presso una agenzia associata. Sono previsti sconti in base all’età e alla fedeltà (se è in possesso della carta soci dell’agenzia)
53
PV-2007 - Gianmario Motta
Soluzione(Agenzia viaggi)
Start
Inserimento
destinazione
Scelta tariffa Scelta durata
Scelta tipo di
viaggio
Visualizza offerte
complete
viaggio com pleto
Visualizza
alberghi
solo alberghi
Visualizza
appartamenti
solo appartamento
Controlla se
utente registrato
Inserimento
età cliente
Richiesta
carta soci
Inserimento numero
carta socio
Calcola sconto
Calcola tariffa
Inserimeno
numero carta
Verifica carta
Addebito
spesa
P agam ento in
agenzia
Chiudi
sessione
utente non registratoutente regis trato
dotato di carta socio
pagam ento on-linepagam ento in agenzia
num ero errato
abort
54
PV-2007 - Gianmario Motta
Esercizio 4
(ITACA)
• Una recente ricerca condotta in ambito europeo ha registrato come l’incidenza degli acquisti di MRO (Material Requirement and Operation) sia intorno allo 8% dei costi delle PMI (piccole e medie imprese) nel settore elettromeccanico. Tale valore, decisamente alto, è imputabileallo scarso potere contrattuale delle PMI. Per questo motivo, nell’ambito del progetto ITACA finanziato dall’UE è stata sviluppata una piattaforma di aggregazione degli acquisti con lo scopo di favorire l’approvvigionamento delle PMI del settore elettromeccanico. La piattaforma di aggregazione opera in modalità ASP. Sua caratteristica principale è un modello degli acquisti MRO basato su un modello di consumo. Il modello memorizzato all’inizio del servizio, viene aggiornato ad ogni acquisto.
• Il processo di acquisto include le attività per sottomettere l’ acquisto all’aggregatore (BUY) e la ricezione della merce (RECEIVE):– [BUY]: la PMI a inoltra le richieste all’aggregatore e successivamente riceve un rapporto che riporta l’esito della richiesta. Il rapporto delle risposte positive
contiene l’ordine di acquisto che comprende la data di consegna della merce. In caso contrario il rapporto contiene un rifiuto all’acquisto perché non autorizzati (ad esempio la PMI non ha rinnovato il canone di servizio) o perché la richiesta non è in linea con il modello di acquisto.
– L’aggregatore effettua i controlli di rito sulla richiesta. Se la richiesta è accolta, aggiorna la storia dei consumi del distretto e controlla che sia disponibile un’aggregazione per l’ordine accettato. In caso negativo, l’ aggregazione viene creata.
– [RECEIVE]: A fronte della scadenza dei termini, è contattato il fornitore per richiedere la consegna della merce. Il fornitore si occupa della logistica interna: preparazione della fattura, imballo separato dei lotti e aggiornamento del magazzino a fronte del prelievo. Il processo di spedizione è terzializzato ad un corriere espresso selezionato sulla base della copertura geografica, dell’urgenza della consegna, della tipologia di mezzi ecc…
– Il corriere carica la merce direttamente dal fornitore. L’aggregatore contemporaneamente invia al cliente una conferma che si predisporrà per ricevere la merce.
55
PV-2007 - Gianmario Motta
Soluzione(ITACA)
Imba lla lotti
Contat ta
fornitore
Verifica ordine
Appli ca sconto
Aggiorna modello
di consumo
Disponi fattura
Aggiorna situazione
magazzino
Contatta
corriera
Spedisce
pacco
Spedisce notifica
a cliente
Fine
NewState
Soglia raggiunta
56
PV-2007 - Gianmario Motta
Soluzione(ITACA)
Formula richiesta
di acquisto
Inoltra
richiesta
Raccoglie
richiesta
verifica identitàcontrolla conf.
modello di acquisto
compila
rapporto
Aggi. modello
di consumo
Riceve e
controlla rapporto
A ggrega
acquisto
elseCrea nuova
aggregazione
nessuna aggregazione
End
Controlla aggregazioni
in corso
Predispone
magazzino
[ (ver. identità = OK) AND (contr. acqu. = OK) ]
[ non autorizzato ]
[el se]
ordine non conform e
[el se]