Changes between Version 20 and Version 21 of BozzaAnalisiFunzionale


Ignore:
Timestamp:
01/12/11 09:57:23 (3 years ago)
Author:
lfranc
Comment:

refactoring: suddiviso il workflow di Ordine in sotto-procedure

Legend:

Unmodified
Added
Removed
Modified
  • BozzaAnalisiFunzionale

    v20 v21  
    100100 
    101101---- 
    102 == Workflow di aggiornamento prezzi == 
     102== Workflow di ordine e consegna == 
     103In questa sezione riportiamo il workflow di base che fornisce un'implementazione del processo di Ordine e Consegna.  Alcune delle azioni descritte nel workflow sono a carico del Sistema, altre richiedono un intervento umano; comunque, il confine è sfumato e dipende anche dalle scelte organizzative di ogni singolo GAS (ad es., GAS diversi potrebbero decidere di fare un uso più o meno esteso della piattaforma informatica di cui dispongono). 
     104 
     105---- 
     106'''Nota preliminare''': al fine di modellizzare il processo di ordine e di consegna, è possibile partire da assunzioni diverse: 
     107 
     108 1. si può assumere che le interazioni GAS-Produttori avvengano in maniera '''sincrona''', cioè siano scandite da un "clock" condiviso tra GAS e Produttori; in questo caso, il processo di ordine e consegna sarebbe un ciclo che si compie a cadenza fissata, ad esempio settimanale (l'ordine si apre il Lunedì e si chiude il Venerdì per '''tutti''' i Produttori che servono un GAS) 
     109 1. si può assumere che le interazioni GAS-Produttori avvengano in maniera '''asincrona''', ovvero che il GAS e i Produttori interagiscano in modo non necessariamente coordinato. Ad esempio, diversi !ReferentiProduttore possono aprire e chiudere gli Ordini in autonomia, i Produttori possono variare i prezzi di listino in qualsiasi momento, ecc. 
     110 
     111Nel nostro caso, riteniamo che il secondo scenario sia più realistico nei contesti operativi dei GAS. Da notare che l'assenza di sincronizzazione ''a priori'' non esclude la sussistenza di meccanismi di coordinamento intra-GAS (e inter-GAS, in uno scenario di Retina); anzi, è probabile (e auspicabile)  che questi meccanismi sorgano spontaneamente come buone pratiche a livello di GAS (o di Retina), ma il Sistema non cerca in alcun modo di imporli. 
     112 
     113---- 
     114'''Nota''': in una prima fase si può semplificare la gestione delle disponibilità dei Prodotti limitandosi ai due stati "disponibile" e "non disponibile". 
     115 
     116=== Un ReferenteProduttoreGAS apre un nuovo !OrdineProduttore === 
     117 
     118All'interno di un GAS, in ogni momento un ReferenteProduttoreGAS può aprire un nuovo !OrdineProduttore, definendo: 
     119 * la data di apertura e chiusura 
     120 * le modalità di ritiro (vanno concordate con il Produttore, anche in un secondo momento) 
     121 * le modalità di consegna; per definirle il ReferenteProduttoreGAS può: 
     122   1. creare un nuovo appuntamento di Consegna (vedi sotto) 
     123   1. selezionare un appuntamento di Consegna già definito da un altro !ReferenteProduttoreGAS (oppure l'appuntamento di Consegna di default) 
     124 * aggiunge una nota 
     125 * importo minimo (opzionale) 
     126 * valida il !ListinoGasista (vedi sotto) 
     127    
     128 
     129'''Nota''': il Sistema evidenzia eventuali altri !OrdineProduttore aperti, ma non impedisce l'apertura di un nuovo !OrdineProduttore 
     130 
     131A questo punto l'ordine è aperto e i Gasisti possono iniziare ad ordinare. 
     132 
     133=== Un ReferenteProduttoreGAS crea un nuovo appuntamento di Consegna === 
     134Se necessario e opportuno, all'interno di un GAS in ogni momento un ReferenteProduttoreGAS può aprire un nuovo appuntamento di Consegna, definendo: 
     135 * il !PuntoDiConsegna 
     136 * la data della Consegna 
     137 * l'ora di inizio e fine della Consegna 
     138 * il Turnista (o i Turnisti) responsabili della Consegna; è compito del ReferenteProduttoreGAS verificare l'effettiva disponibilità del Turnista/i 
     139 
     140===  Un ReferenteProduttoreGAS valida il !ListinoGasista  === 
     141 
    103142 * visualizza lo stato attuale del ListinoProduttoreGAS (in  particolare,  il Sistema mostra solo i Prodotti attualmente disponibili  ed evidenzia  le eventuali variazioni di prezzo rispetto al precedente   !OrdineProduttore) 
    104143 * il Sistema visualizza il !ListinoProduttoreGasista, a partire dal  ListinoProduttoreGAS (applicando le eventuali modifiche ai prezzi) 
     
    106145 * il ReferenteProduttoreGAS conferma il !ListinoProduttoreGasista, e  il  Sistema lo assegna automaticamente all'!OrdineProduttore in  questione 
    107146 
    108 == Workflow di ordine e consegna == 
    109 In questa sezione riportiamo il workflow di base che fornisce un'implementazione del processo di Ordine e Consegna.  Alcune delle azioni descritte nel workflow sono a carico del Sistema, altre richiedono un intervento umano; comunque, il confine è sfumato e dipende anche dalle scelte organizzative di ogni singolo GAS (ad es., GAS diversi potrebbero decidere di fare un uso più o meno esteso della piattaforma informatica di cui dispongono). 
    110  
    111 ---- 
    112 '''Nota preliminare''': al fine di modellizzare il processo di ordine e di consegna, è possibile partire da assunzioni diverse: 
    113  
    114  1. si può assumere che le interazioni GAS-Produttori avvengano in maniera '''sincrona''', cioè siano scandite da un "clock" condiviso tra GAS e Produttori; in questo caso, il processo di ordine e consegna sarebbe un ciclo che si compie a cadenza fissata, ad esempio settimanale (l'ordine si apre il Lunedì e si chiude il Venerdì per '''tutti''' i Produttori che servono un GAS) 
    115  1. si può assumere che le interazioni GAS-Produttori avvengano in maniera '''asincrona''', ovvero che il GAS e i Produttori interagiscano in modo non necessariamente coordinato. Ad esempio, diversi !ReferentiProduttore possono aprire e chiudere gli Ordini in autonomia, i Produttori possono variare i prezzi di listino in qualsiasi momento, ecc. 
    116  
    117 Nel nostro caso, riteniamo che il secondo scenario sia più realistico nei contesti operativi dei GAS. Da notare che l'assenza di sincronizzazione ''a priori'' non esclude la sussistenza di meccanismi di coordinamento intra-GAS (e inter-GAS, in uno scenario di Retina); anzi, è probabile (e auspicabile)  che questi meccanismi sorgano spontaneamente come buone pratiche a livello di GAS (o di Retina), ma il Sistema non cerca in alcun modo di imporli. 
    118  
    119 ---- 
    120 '''Nota''': in una prima fase si può semplificare la gestione delle disponibilità dei Prodotti limitandosi ai due stati "disponibile" e "non disponibile". 
    121  
    122 All'interno del GAS: 
    123  
    124  * per un Produttore, il ReferenteProduttoreGAS: 
    125    * apre un nuovo !OrdineProduttore, definendo: 
    126      * la data di apertura e chiusura 
    127      * le modalità di ritiro (vanno concordate con il Produttore, anche in un secondo momento) 
    128      * le modalità di consegna; per definirle il ReferenteProduttoreGAS può: 
    129        1. creare una nuovo appuntamento di consegna (Consegna), definendo: 
    130          * il !PuntoDiConsegna 
    131          * la data della Consegna 
    132          * l'ora di inizio e fine della Consegna 
    133          * il Turnista (o i Turnisti) responsabili della Consegna; è compito del ReferenteProduttoreGAS verificare l'effettiva disponibilità del Turnista/i 
    134        1. selezionare una (appuntamento di) Consegna già definita da un altro !ReferenteProduttoreGAS (oppure la (appuntamento di) Consegna di default) 
    135      * aggiunge una nota 
    136      * importo minimo (opzionale) 
    137  * valida il listino 
    138    * Sotto-workflow: aggiornamento prezzi 
    139  
    140 Nota: il Sistema evidenzia eventuali altri !OrdineProduttore aperti, ma non impedisce l'apertura di un nuovo !OrdineProduttore 
    141  
    142 A questo punto l'ordine è aperto e i Gasisti possono iniziare ad ordinare. 
     147 
     148=== Un Gasista effettua un !OrdineGasista === 
    143149 
    144150Quando un Gasista accede al Sistema: 
     
    150156 * quando il Gasista è soddisfatto del contenuto del suo Carrello (in relazione all'Ordine corrente) può finalizzare l'ordine; il Sistema genera automaticamente un  !OrdineGasista in base al contenuto del Carrello (conferma automatica configurabile a livello di GAS) 
    151157 * la conferma avviene a livello di !VoceDiCarrello 
     158 
     159=== Un Gasista modifica i suoi !OrdiniGasista === 
     160 
    152161 * gestione della revoca/modifica degli ordini 
     162 
     163=== Un ReferenteProduttoreGAS chiude un !OrdineProduttore === 
    153164 
    154165Quando un ReferenteProduttoreGAS accede al Sistema: 
     
    168179 * se necessario, definisce con il Produttore le modalità di consegna 
    169180 * finalizza l'!OrdineProduttore; il Sistema genera e invia al produttore un documento di Ordine 
    170  
    171 Ora, si entra nel processo di Consegna: 
     181---- 
     182=== Processo di Consegna === 
    172183 
    173184 * il Produttore consegna la merce relativa all' !OrdineProduttore  secondo le modalità stabilite in precedenza