Requirements Analysis Document


 

PHARMAGC 

Requirements Analysis Document

Team OGC

Logo Unipa

Buffa Alexandro

Cascio Alessandra

Giambrone Simone

Miccichè Vincenzo

INDICE

Obiettivo del Sistema

Definizioni, acronimi e abbreviazioni del Sistema

Sistema Attuale

Requisiti Funzionali

Farmacista

Impiegato

Corriere

Persona

Requisiti non funzionali

Requisiti di Sistema

Modelli di Sistema

Modelli dei casi d'uso

Attori coinvolti:

Vista d'Insieme

Casi d'Uso: Comportamenti Speciali

Casi d'Uso: Gestione Account

Casi d’uso: Gestione Farmaci

Casi d’Uso: Gestione Consegna

Casi d’Uso: Gestione Ordine

Casi d’Uso: Gestione Produzione

Modello degli Oggetti

Oggetti Boundary

Oggetti Control

Oggetti Entity

Diagrammi delle Classi

Diagramma delle Entity

Gestione Account

Gestione Farmaci

Gestione Consegna

Gestione Produzione e Gestione Ordini (Azienda)

Modelli Dinamici

Gestione Account - Registrazione

Gestione Account - Autenticazione

Gestione Account - Modifica Password

Gestione Account - Recupero Credenziali

Gestione Farmaci - Carico Merci

Gestione Farmaci - Cerca Farmaco

Gestione Farmaci - Controllo Caricamento Merci

Gestione Farmaci - Modifica Ordine Periodico

Gestione Farmaci - Ordine Periodico

Gestione Farmaci - Scarico Merci

Gestione Farmaci - Ordina Farmaco

Gestione Farmaci - Visualizza Ordini Farmacia

Gestione Farmaci - Modifica Ordine

Gestione Consegna - Firma Consegna

Gestione Consegna - Visualizza Consegne

Gestione Produzione - Aggiornamento Scorte Farmaci

Gestione Produzione - Modifica Produzione Scorte

Gestione Ordini - Correzione Ordini

Gestione Ordini - Visualizza Ricevuta

Gestione Ordini - Visualizza Ordini Azienda

Interfacce

Pannello di Errore Generico

Pannello di Conferma

Modulo di Login

Modulo Recupero

Modulo Registrazione

Modulo Modifica Password

Interfaccia Principale [tipo=Farmacista]

Interfaccia Cerca Farmaco

Interfaccia Ordina Farmaco

Pannello Avviso Scadenza

Pannello Modalità consegna

Interfaccia Visualizza Ordini

Interfaccia Carico Merci

Pannello Avviso Mancato Caricamento Merci

Interfaccia Modifica Ordine

Interfaccia Scarico Merci

Interfaccia Modifica Ordini Periodici

Interfaccia Principale [tipo=Corriere]

Visualizza Consegne

Firma Consegne

Interfaccia Principale [tipo=Impiegato]

Visualizza Ordini

Correzione Ordini

Interfaccia Modifica Produzione


Obiettivo del Sistema

L'obiettivo del Sistema è quello di gestire le informazioni, la produzione, lo stoccaggio e la distribuzione di farmaci dell’azienda farmaceutica a una catena di farmacie affiliate. Il fine è pertanto quello di agevolare la comunicazione e l’interazione tra l’azienda e le farmacie.

Gli utenti che possono utilizzare le funzioni del sistema sono di tre tipi: Impiegato, Farmacista e Corriere. In particolare, un Impiegato si occupa di correggere, visualizzare gli ordini e le rispettive ricevute di consegna e può, inoltre, modificare la produzione di farmaci. Un Farmacista può ordinare farmaci da banco e non ed effettuare il carico e lo scarico di farmaci. Un Corriere, invece, si occupa di consegnare i colli alle farmacie e far firmare le distinte di spedizione.

Definizioni, acronimi e abbreviazioni del Sistema

Termine

Significato

Persona

Generico individuo che utilizza il Sistema, autenticato e non. Secondo tale definizione Persona e Utente sono utilizzati come sinonimi.  

Impiegato

Utilizzatore autenticato del Sistema che lavora in Azienda.

Farmacista

Utilizzatore autenticato del Sistema che lavora in Farmacia.

Corriere

Utilizzatore autenticato del Sistema che lavora per l’azienda e che ha il compito di far arrivare i colli a destinazione e far firmare la distinta di spedizione.

Account

Insieme di dati che identificano una Persona autenticata all’interno del sistema durante una sessione di utilizzo.

Credenziali

Insieme di dati necessari alla Persona per autenticarsi. In particolare formate da due elementi:

  • E-mail,
  • Password;

DBMS Azienda

Sistema di Gestione Dati dell'Azienda. Tiene traccia degli ordini, della produzione e di dati e credenziali di Impiegati e Corrieri.

DBMS Farmacie

Sistema di Gestione Dati della catena di farmacie. Tiene traccia degli ordini, delle scorte e di dati e credenziali dei Farmacisti.

Farmaco da Banco

Farmaco che viene ordinato sia con cadenza settimanale, che opzionalmente su richiesta.

Farmaco non da Banco

Farmaco che può essere ordinato soltanto su richiesta del Farmacista.

Collo

Pacco contenente un insieme di ordini con la medesima data di consegna e la medesima farmacia di destinazione.

Ordine

Richiesta di un farmaco da parte di una farmacia all'azienda. Ogni ordine è identificato dal farmaco, dalla farmacia da cui è stato creato, dalla quantità e dalla data di consegna.

Stato di un ordine

Dà informazioni sull'ordine al momento dell'osservazione. Di seguito i possibili stati di un ordine:

  • In Attesa di Disponibilità: le quantità richieste per l’ordine non sono ancora disponibili e si attende la loro produzione.
  • In Lavorazione: l'ordine è stato piazzato e deve ancora essere consegnato.
  • Consegnato: l'ordine è arrivato ed è stato firmato correttamente.
  • Da Verificare: Il Farmacista ha segnalato un imprevisto con l'ordine, deve essere manualmente revisionato da un Impiegato.
  • Corretto: l'ordine è stato verificato manualmente dall'Impiegato, previo accordo con il Farmacista, e sono state risolte le incongruenze.

Di seguito sono illustrate le interfacce che presentano le funzionalità principali del software:


Sistema Attuale

Supponiamo che non esista alcun sistema informatizzato preesistente in uso dall’azienda.

Requisiti Funzionali

Il sistema prevede tre diverse tipologie di utenti che possono interfacciarsi con esso mediante una serie di funzionalità che descriviamo di seguito:

Farmacista

Le funzionalità relative a Farmacista sono:

Impiegato

Le funzionalità relative a Impiegato sono:

Corriere

Le funzionalità relative a Corriere sono:

Persona

Le funzionalità comuni ai tre tipi di utente sono:

Requisiti non funzionali

I tre dispositivi non comunicano direttamente tra loro, ma solo con due database: il primo relativo alla Farmacia, il secondo all’Azienda.

Requisiti di Sistema

Il sistema deve garantire il servizio in ogni momento. Inoltre per garantire sicurezza agli utenti, le password vengono memorizzate in maniera cifrata.


Modelli di Sistema

Si premette che nei casi d’uso elencati di seguito è presente, in ogni interfaccia, il tasto "chiudi finestra", mediante il quale un utente può tornare alla finestra precedente.

Inoltre si suppone che per ogni interrogazione ad uno dei DBMS corrisponda sempre una risposta dallo stesso. L’eventuale assenza di risposta, o la ricezione di una risposta non prevista o di un errore generico porterà all'invocazione del caso d’uso speciale "Errore comunicazione DBMS".

Modelli dei casi d'uso

Attori coinvolti:

Persona

Generico individuo che utilizza il Sistema, autenticato e non. Secondo tale definizione Persona e Utente sono utilizzati come sinonimi.

Impiegato

Utilizzatore autenticato del Sistema che lavora in Azienda.

Farmacista

Utilizzatore autenticato del Sistema che lavora in Farmacia.

Corriere

Utilizzatore autenticato del Sistema che lavora per l’Azienda.

DBMS Azienda

Sistema di Gestione Dati dell'Azienda. Tiene traccia degli ordini, della produzione e di dati e credenziali di Impiegati e Corrieri.

DBMS Farmacie

Sistema di Gestione Dati della catena di farmacie. Tiene traccia degli ordini, delle scorte e di dati e credenziali dei Farmacisti.

Tempo

Attore che rappresenta il passare del tempo e che agisce all’interno dei casi d’uso in cui sono presenti delle condizioni temporali.


Vista d'Insieme

Nella seguente immagine viene mostrata la vista d'insieme del sistema proposto:

Gestione Account

All'interno del macro caso d'uso Gestione Account troviamo tutte le funzionalità che riguardano la gestione di un account. Una Persona non autenticata può accedere al proprio account, registrarsi o recuperare la password, mentre un Utente già autenticato può modificare la propria password.

Gestione Farmaci

All'interno del macro caso d'uso Gestione Farmaci troviamo tutte le funzionalità riservate ad un Farmacista, tra le quali ritroviamo le funzioni che servono per visualizzare gli ordini, cercare e ordinare un farmaco da banco e non, caricare e/o scaricare la merce e modificare gli ordini periodici e non. È previsto inoltre un avviso di mancato caricamento merci alle 20:00 del giorno di consegna.


Gestione Consegna

All’interno del macro caso d’uso Gestione Consegna troviamo le funzionalità che riguardano la consegna dei colli da parte del Corriere alle varie Farmacie, in particolare un Corriere può visualizzare le consegne da effettuare e può far firmare la distinta di spedizione al Farmacista a cui sta consegnando un collo.

Gestione Ordine

All’interno del macro caso d’uso Gestione Ordine troviamo le funzionalità che riguardano la gestione degli ordini da parte di un Impiegato, in particolare un impiegato può visualizzare gli ordini,  può correggerli nel caso in cui siano stati segnalati problemi da parte di un Farmacista e può visualizzare la ricevuta di consegna collo relativa a un ordine.

Gestione Produzione

All’interno del macro caso d’uso Gestione Produzione troviamo le funzionalità che riguardano la gestione della produzione di farmaci da parte dell’azienda farmaceutica. È prevista la possibilità di modificare manualmente, da parte di un impiegato, la quantità di farmaci prodotti.
Inoltre è previsto che il Sistema aggiorni le scorte dell’Azienda quando vengono prodotti nuovi lotti.

Di seguito vengono elencati i casi d’uso riguardanti il comportamento del Sistema, sia in situazioni particolari, come un errore di comunicazione con uno dei DBMS, sia durante il suo corretto funzionamento.


Casi d'Uso: Comportamenti Speciali

Errore comunicazione DBMS

Il seguente Caso d'Uso descrive situazioni di errore che possono verificarsi durante il normale flusso degli eventi di quei casi d'uso che richiedono una comunicazione con uno qualunque dei DBMS.

Nome caso d’uso

Errore Comunicazione DBMS

ID

DBMSERROR

Attori

Persona, DBMS Azienda, DBMS Farmacie

Precondizioni

Il Sistema non è riuscito a connettersi con il DBMS o ha ricevuto un errore generico

Flusso di eventi

  1. La Persona ha effettuato una richiesta al DBMS Azienda o al DBMS Farmacie
  2. Il Sistema mostra a video un pannello di errore.
  3. La Persona preme il tasto di conferma.
  4. Il Sistema mostra a video la schermata precedente.

Postcondizioni

Il Sistema ha mostrato a video la schermata precedente.


Casi d'Uso: Gestione Account


Autenticazione

Il seguente caso d’uso permette a una Persona di accedere al suo Account da Farmacista con le sue credenziali interrogando il DBMS Farmacie.

Il flusso degli eventi corrisponde al caso d'uso che permette a una Persona di accedere al suo Account da Impiegato o Corriere con le sue credenziali interrogando il DBMS Azienda.

Nome caso d’uso

Autenticazione

ID

LOGIN

Attori

Persona, DBMS Farmacie (DBMS Azienda)

Precondizioni

Il Sistema ha mostrato a video il ModuloLogin.

Flusso di eventi

  1. La Persona inserisce mail e password nel ModuloLogin e preme il tasto di accesso.
  2. Il Sistema verifica la correttezza delle credenziali interrogando il DBMS Farmacie (DBMS Azienda).
  3. SE le credenziali non sono valide:
  1. Il Sistema mostra un messaggio di errore.
  2. La Persona clicca il tasto di conferma.
  3. Il Sistema mostra il ModuloLogin.
  1. ALTRIMENTI
  1. Il Sistema mostra a video l’InterfacciaPrincipale relativa al Farmacista (Impiegato/Corriere).


Registrazione

Il seguente caso d’uso permette a una Persona di registrare un nuovo account da Farmacista all’interno del Sistema interrogando il DBMS Farmacie.

Il Flusso degli eventi coincide con il caso d'uso che permette ad una Persona di registrare un nuovo account da Impiegato/Corriere all'interno del Sistema interrogando il DBMS Azienda

Nome caso d’uso

Registrazione

ID

SIGNUP

Attori

Persona, DBMS Farmacie (DBMS Azienda)

Precondizioni

Il Sistema ha mostrato a video il ModuloLogin.

Flusso di eventi

  1. La Persona clicca sul tasto di registrazione.
  2. Il Sistema mostra a video il modulo di registrazione, richiedendo: il nominativo, la mail, la password ed una conferma della password.
  3. La Persona inserisce i dati richiesti nel modulo di registrazione e clicca il tasto di conferma.
  4. SE la Password non soddisfa i requisiti minimi OPPURE l’email inserita in fase di registrazione è già presente nel DBMS Farmacie (DBMS Azienda):
  1. il Sistema mostra a video un messaggio di errore
  2. La Persona chiude il messaggio di errore tramite l’apposito tasto
  3. Il caso d’uso ricomincia dal punto 2.
  1. Il Sistema invia una mail di conferma all’indirizzo email specificato dalla Persona con un codice numerico da inserire per verificare l’account.
  2. Il Sistema mostra a video un modulo di verifica account in cui inserire il codice di verifica.
  3. La Persona inserisce il codice ricevuto via mail nel modulo di verifica account e clicca il tasto di conferma.
  4. SE il codice inserito è errato:
  1. il Sistema mostra a video un messaggio di errore
  2. La Persona chiude il messaggio di errore tramite l’apposito tasto
  3. Il caso d’uso ricomincia dal punto 6.
  1. Il Sistema aggiorna il DBMS Farmacie (DBMS Azienda) con il nuovo account registrato e mostra il ModuloLogin.

Postcondizioni

Il Sistema ha aggiornato il DBMS Farmacie (DBMS Azienda) con il nuovo account registrato e ha mostrato il ModuloLogin.


Recupera Credenziali

Il seguente caso d'uso permette di recuperare la propria password dal DBMS Farmacie qualora la Persona non riesca ad accedere al suo account.

Il Flusso degli eventi coincide con il caso d'uso che permette di recuperare la propria password dal DBMS Azienda qualora la Persona non riesca ad accedere al suo account

Nome caso d’uso

Recupera Credenziali

ID

RECOVERCRED

Attori

Persona, DBMS Farmacie (DBMS Azienda)

Precondizioni

Il Sistema ha mostrato a video il ModuloLogin.

Flusso di eventi

  1. La Persona clicca sul tasto di recupero credenziali.
  2. Il Sistema mostra a video l’interfaccia di recupero credenziali.
  3. La Persona inserisce la sua email e conferma con l’apposito tasto.
  4. il Sistema interroga il DBMS Farmacie (DBMS Azienda) sull'esistenza dell’email inserita.
  5. SE la verifica non va a buon fine:
  1. Il Sistema mostra a video un messaggio di errore
  2. La Persona chiude il messaggio di errore tramite l’apposito tasto
  3. Il caso d’uso ricomincia dal punto 2.
  1. ALTRIMENTI:
  1. Il Sistema genera una nuova password per la Persona e la inserisce all’interno del DBMS Farmacie (DBMS Azienda).
  2. Il Sistema manda una mail alla Persona contenente la nuova password e mostra a video un messaggio di conferma.
  3. La Persona chiude il messaggio di conferma attraverso l’apposito tasto.
  4. Il Sistema mostra a video il ModuloLogin.

Postcondizioni

Il Sistema ha mostrato a video il ModuloLogin.


Modifica Password

Il seguente caso d’uso permette a una Persona di modificare la password del proprio account da Farmacista interrogando il DBMS Farmacie.

Il Flusso degli eventi coincide con il caso d'uso che permette a una Persona di modificare la password del proprio account da Impiegato/Corriere interrogando il DBMS Azienda.

Nome caso d’uso

Modifica Password

ID

EDITPWD

Attori

Persona, DBMS Farmacie, DBMS Azienda

Precondizioni

Il Sistema ha mostrato a video l’InterfacciaPrincipale.

Flusso di eventi

  1. La Persona clicca il tasto di Modifica Password presente nell’InterfacciaPrincipale.
  2. Il Sistema mostra a video l’interfaccia di Modifica Password.
  3. La Persona inserisce la Password vecchia, quella nuova e una conferma della password nuova, e clicca il tasto per proseguire.
  4. SE la Password nuova non corrisponde con la conferma Password nuova OPPURE la Password vecchia coincide con quella nuova OPPURE la Password nuova non è abbastanza sicura:
  1. Il Sistema mostra a video un messaggio di errore.
  2. La Persona chiude il messaggio di errore attraverso l’apposito tasto.
  3. Il caso d’uso ricomincia dal punto 2.
  1. Il Sistema interroga il DBMS Farmacie(DBMS Azienda) sulla password corrente dell’account.
  2. SE la Password vecchia non corrisponde con la Password salvata nel DBMS Farmacie (DBMS Azienda):
  1. Il Sistema mostra a video un messaggio di errore
  2. La Persona chiude il messaggio di errore attraverso l’apposito tasto.
  3. Il caso d’uso ricomincia dal punto 2.
  1. ALTRIMENTI il Sistema aggiorna il DBMS Farmacie (DBMS Azienda) con la nuova Password e mostra a video un pannello di conferma.
  2. La Persona chiude il pannello di conferma.
  3. Il Sistema mostra a video l’InterfacciaPrincipale.

Postcondizioni

La Password è stata modificata e salvata nel DBMS Farmacie (DBMS Azienda) e il Sistema ha mostrato a video l’InterfacciaPrincipale.


 Casi d’uso: Gestione Farmaci


Cerca Farmaco

Il seguente caso d'uso permette di cercare un farmaco per nome e/o  principio attivo.

Nome caso d’uso

Cerca Farmaco

ID

SUPPLYSEARCH

Attori

Farmacista, DBMS Farmacie, DBMS Azienda

Precondizioni

Il Sistema mostra a video l’InterfacciaPrincipale del Farmacista.

Flusso di eventi

  1. Il Farmacista clicca sul tasto di ricerca farmaci.
  2. Il Sistema mostra l’interfaccia di ricerca farmaci.
  3. Il Farmacista inserisce il nome e/o il principio attivo del farmaco e clicca sul tasto di conferma.
  4. Il Sistema interroga il DBMS Farmacie e il DBMS Azienda per trovare i farmaci corrispondenti alle richieste del Farmacista.
  5. Il Sistema mostra a video i farmaci corrispondenti alle richieste del Farmacista, mostrando i dati del farmaco (nome e principio attivo), la quantità disponibile nel magazzino della farmacia e un tasto per ordinare il farmaco.

Visualizza Ordini Farmacia

Il seguente caso d'uso permette di visualizzare a schermo la lista di tutti gli ordini effettuati dal Farmacista.

Nome caso d’uso

Visualizza Ordini Farmacia

ID

VIEWORDERSF

Attori

Farmacista, DBMS Azienda

Precondizioni

Il Sistema mostra a video l’InterfacciaPrincipale relativa al Farmacista.

Flusso di eventi

  1. Il Farmacista clicca sul tasto di visualizzazione ordini.
  2. Il Sistema chiede al DBMS Azienda gli ordini della farmacia dalla quale parte la richiesta.
  3. Il Sistema mostra l’interfaccia di visualizzazione ordini e, PER OGNI ordine mostra:
  1. Il farmaco ordinato, la quantità, lo stato dell’ordine e la data di consegna prevista.
  2. SE la data odierna corrisponde a quella di consegna:
  1. il Sistema mostra il tasto di carico merci.
  1. SE tra la data di consegna prevista e la data odierna intercorrono almeno quarantotto ore:
  1. il Sistema mostra un tasto per modificare l'ordine.

Postcondizioni

Il Sistema ha mostrato a video l’interfaccia di visualizzazione ordini.


Ordina Farmaco

Il seguente caso d'uso permette di ordinare uno specifico farmaco selezionando la quantità e la data di consegna scelta.

Nome caso d’uso

Ordina Farmaci

ID

SUPPLYORDER

Attori

Farmacista, DBMS Azienda

Precondizioni

Il Sistema mostra a video la schermata di ricerca farmaco.

Flusso di eventi

  1. Il Farmacista clicca sul tasto per ordinare il farmaco.
  2. Il Sistema mostra un’interfaccia in cui inserire la quantità di farmaci da ordinare, la data di consegna scelta e un’opzione per accettare farmaci in scadenza entro due mesi.
  3. Il Farmacista inserisce i dati richiesti e clicca il tasto di conferma.
  4. SE il Farmacista ha accettato di ricevere farmaci in scadenza entro due mesi:
  1. il Sistema mostra un pannello per avvisare il farmacista che ha accettato di ricevere farmaci con scadenza entro due mesi.
  2. Il Farmacista chiude il Pannello di avviso tramite l’apposito tasto.
  1. Il Sistema prova a creare un ordine nel DBMS Azienda con la quantità di farmaci richiesta dal Farmacista.
  2. SE i farmaci richiesti sono in quantità maggiore rispetto alla quantità presente nel DBMS Azienda E la data di consegna richiesta è antecedente a quella di disponibilità del farmaco:
  1. Il Sistema mostra a video un avviso, informando il Farmacista che non tutti i farmaci richiesti sono disponibili, e quindi possono essere creati due ordini spediti in due date diverse oppure un unico ordine spedito quando saranno tutti disponibili.
  2. Il Farmacista sceglie una delle due opzioni cliccando sull’apposito tasto.
  3. Il Sistema aggiorna il DBMS Azienda in base alla scelta effettuata dal Farmacista.
  1. Il Sistema mostra a video la schermata di ricerca farmaci.

Postcondizioni

Il Sistema ha aggiornato il DBMS Azienda e ha mostrato a video la schermata di ricerca farmaci.


Modifica Ordine

Il seguente caso d'uso permette di modificare la quantità del farmaco ordinato, modificare la data di consegna o annullare un ordine, se e solo se intercorrono almeno due giorni tra la data odierna e la data di consegna prevista.

Nome caso d’uso

Modifica Ordine

ID

EDITORDER

Attori

Farmacista, DBMS Azienda

Precondizioni

Il Sistema mostra a video la schermata di Visualizzazione Ordini e l'apposito tasto di modifica, relativo all’ordine che si vuole modificare.

Flusso di eventi

  1. Il Farmacista clicca sul tasto di modifica relativo all’ordine che vuole modificare.
  2. Il Sistema mostra un'interfaccia con un modulo per inserire la nuova quantità e/o la nuova data di consegna.
  3. Il Farmacista riempie il modulo con i dati richiesti e clicca il tasto di conferma.
  4. SE la quantità inserita è maggiore della quantità originale:
  1. Il Sistema calcola la differenza e verifica la disponibilità nel DBMS Azienda.
  2. SE non è disponibile
  1. il Sistema mostra a video un pannello d’errore.
  2. Il Farmacista clicca conferma
  3. Il caso d’uso ricomincia dal punto 2.
  1. ALTRIMENTI
  1. Il Sistema calcola la differenza tra le quantità e aggiorna opportunamente le scorte nel DBMS Azienda.
  1. SE, per gli ordini “in lavorazione”, tra la nuova data e quella odierna intercorrono meno di due giorni OPPURE SE, per gli ordini “in attesa di disponibilità”, la nuova data è antecedente a quella di disponibilità
  1. il Sistema mostra a video un pannello d’errore.
  2. Il Farmacista clicca conferma
  3. Il caso d’uso ricomincia dal punto 2.

Postcondizioni

Il Sistema ha comunicato gli aggiornamenti al DBMS Azienda e ha mostrato a video l'interfaccia di visualizzazione ordini.


Ordine Periodico

Il seguente caso d'uso consente di ordinare periodicamente i farmaci da banco previo accordo dell'azienda con la specifica farmacia.

Nome caso d’uso

Ordine Periodico

ID

PERIODICORDER

Attori

Tempo, DBMS Azienda

Flusso di eventi

  1. Il Tempo interroga il Sistema sull’orario.
  2. SE l’orario è 20:00
  1. il Sistema interroga il DBMS Azienda sugli ordini periodici da effettuare.
  1. Il Sistema inserisce i suddetti ordini nel DBMS Azienda.

Postcondizioni

Gli ordini periodici sono stati aggiunti al DBMS Azienda.

Modifica Ordine Periodico

Il seguente caso d’uso consente al Farmacista di poter modificare la quantità di farmaci da banco ordinati periodicamente dalla sua Farmacia.

Nome caso d’uso

Modifica Ordine Periodico

ID

EDITPERIODICORDER

Attori

Farmacista, DBMS Azienda

Precondizioni

Il Sistema ha mostrato a video l’InterfacciaPrincipale relativa al Farmacista.

Flusso di eventi

  1. Il Farmacista clicca sul tasto di modifica ordine periodico.
  2. Il Sistema chiede al DBMS Azienda la lista degli ordini periodici relativi alla Farmacia da cui parte la richiesta e li mostra a video.
  3. Il Farmacista preme sul tasto di modifica relativo all’ordine periodico che vuole modificare.
  4. Il Sistema mostra a video un’interfaccia chiedendo la nuova quantità.
  5. Il Farmacista inserisce la nuova quantità e preme il tasto di conferma.
  6. Il Sistema aggiorna il DBMS Azienda con la nuova quantità per tutti gli ordini periodici relativi a quel farmaco da parte della Farmacia che ha effettuato la richiesta e mostra un pannello di conferma.
  7. Il Farmacista chiude il pannello di conferma tramite l’apposito tasto.
  8. Il Sistema mostra a video l’InterfacciaPrincipale

Postcondizioni

Il Sistema ha aggiornato il DBMS Azienda con la nuova quantità per tutti gli ordini periodici relativi a quel farmaco da parte della Farmacia che ha effettuato la richiesta e ha mostrato a video l’InterfacciaPrincipale.

Carico Merci

Il seguente caso d’uso permette al Farmacista di caricare i farmaci che sono stati consegnati in una determinata data.

Nome caso d’uso

Carico Merci

ID

SUPPLYLOAD

Attori

Farmacista, DBMS Farmacie, DBMS Azienda

Precondizioni

Il Sistema ha mostrato a video l’interfaccia di visualizzazione ordini.

Flusso di eventi

  1. Il Farmacista clicca sul tasto di carico merci relativo all’ordine da caricare.
  2. Il Sistema mostra l'interfaccia di caricamento merci in cui inserire il codice del lotto del farmaco, la quantità ricevuta e un tasto di conferma.
  3. Il Farmacista inserisce i dati richiesti e clicca il tasto di conferma
  4. Il Sistema aggiorna le scorte dei farmaci nel DBMS Farmacie e mostra un avviso di avvenuto caricamento.
  5. Il Farmacista chiude il pannello di conferma tramite l’apposito tasto.

Postcondizioni

Il Sistema ha aggiornato le scorte nel DBMS Farmacie e ha mostrato a video l’interfaccia di Visualizzazione Ordini.

Requisiti speciali

La data di consegna dell’ordine coincide con la data odierna.

Scarico Merci

Il seguente caso d’uso permette al farmacista di scaricare i Farmaci che vende durante la giornata.

Nome caso d’uso

Scarico Merci

ID

SUPPLYUNLOAD

Attori

Farmacista, DBMS Farmacie

Precondizioni

Il Sistema mostra a video l’InterfacciaPrincipale del Farmacista.

Flusso di eventi

  1. Il Farmacista clicca sul tasto per lo scarico merci.
  2. Il Sistema mostra a schermo un’interfaccia per lo scarico merci.
  3. Il Farmacista inserisce il codice lotto e la quantità del farmaco scelto da scaricare e conferma l’operazione.
  4. Il Sistema aggiorna nel DBMS Farmacie la quantità del farmaco e mostra un pannello di conferma.
  5. Il Farmacista chiude il pannello di conferma tramite l’apposito tasto.
  6. SE la quantità del farmaco è inferiore a un valore soglia:
  1. il Sistema mostra a video una schermata che avvisa che le scorte del suddetto farmaco si stanno esaurendo.
  2. Il Farmacista chiude la schermata di avviso attraverso l’apposito tasto.
  1. Il Sistema mostra a video l’InterfacciaPrincipale.

Postcondizioni

Il Sistema ha mostrato a video l’InterfacciaPrincipale del Farmacista.


Controllo Caricamento Merci

Il seguente caso d’uso controlla se gli ordini consegnati in data odierna sono stati caricati correttamente e mostra un avviso in caso contrario, permettendo al Farmacista di caricarli. È prevista inoltre la possibilità di segnalare un problema qualora la quantità di farmaci ricevuti non dovesse coincidere con quelli ordinati.

Nome caso d’uso

Controllo Caricamento Merci

ID

DAILYLOADCHECK

Attori

Tempo, Farmacista, DBMS Azienda, DBMS Farmacie

Flusso di eventi

  1. Il Tempo chiede al Sistema l’orario.
  2. SE l’orario è 20:00:
  1. Il Sistema interroga il DBMS Azienda e DBMS Farmacie per confrontare i farmaci caricati in data odierna con quelli consegnati nella stessa data.
  1. SE non corrispondono:
  1. Il Sistema mostra a video un avviso, comunicando che non tutti i farmaci sono stati caricati, con un pulsante per chiudere suddetto avviso.
  2. Il Farmacista clicca sul tasto di chiusura avviso.
  3. Il Sistema avvia un timer di 15 minuti.
  4. Al termine del timer, il Sistema interroga DBMS Farmacie per confrontare i farmaci caricati in data odierna con i farmaci consegnati oggi e segna nel DBMS Azienda gli ordini non corrispondenti con lo stato "Da Verificare".

Casi d’Uso: Gestione Consegna

Visualizza Consegne

Il seguente caso d’uso consente al Corriere di visualizzare i colli da evadere in data odierna.

Nome caso d’uso

Visualizza Consegne

ID

SHIPMENTVIEW

Attori

Corriere, DBMS Azienda

Precondizione

Il Sistema ha mostrato a video l’InterfacciaPrincipale relativa al Corriere.

Flusso di eventi

  1. Il Corriere clicca sul tasto di visualizzazione consegne.
  2. Il Sistema interroga il DBMS Azienda chiedendo i colli odierni.
  3. Il Sistema mostra a video la lista dei colli, la farmacia di destinazione, l’eventuale firma o un tasto per far firmare la distinta di spedizione.

Postcondizioni

Il Sistema ha mostrato a video la lista dei colli da consegnare in data odierna.

Firma Consegna

Il seguente caso d’uso consente al Corriere di far firmare al Farmacista la distinta di spedizione specifica per un collo.

Nome caso d’uso

Firma Consegna

ID

SHIPMENTSIGN

Attori

Corriere, Farmacista, DBMS Azienda

Precondizioni

Il Sistema ha mostrato a video la lista dei colli.

Flusso di eventi

  1. Il Corriere clicca sul tasto di firma consegna relativo al collo che sta consegnando.
  2. Il Sistema interroga il DBMS Azienda chiedendo i dettagli del collo selezionato.
  3. Il Sistema mostra a video un modulo di consegna contenente il riepilogo del collo e un campo in cui inserire la firma.
  4. Il Farmacista conferma l'avvenuta ricezione inserendo il proprio nome e cognome e preme il tasto di conferma.
  5. Il Sistema comunica al DBMS Azienda nome e cognome del Farmacista che ha firmato e modifica lo stato degli ordini appartenenti al collo in "Consegnato" .

Postcondizioni

Lo stato degli ordini appartenenti al collo è stato modificato in “Consegnato”.


Casi d’Uso: Gestione Ordine

Visualizza Ricevuta

Il seguente caso d’uso consente all’Impiegato di generare una ricevuta per certificare l’avvenuta consegna di un Collo.

Nome caso d’uso

Visualizza Ricevuta

ID

CREATEPDF

Attori

Impiegato, DBMS Azienda

Precondizioni

Il Sistema ha mostrato a video la schermata di Visualizzazione Ordini

Flusso di eventi

  1. L’Impiegato preme sul tasto di visualizzazione ricevuta relativo all’ordine a cui è interessato.
  2. Il Sistema interroga il DBMS Azienda per ottenere i dati necessari per la generazione del file.
  3. Il Sistema genera un file PDF con i dati dell’ordine selezionato dall’Impiegato e lo salva sul suo dispositivo.

Postcondizioni

Il Sistema ha mostrato a video la schermata di Visualizzazione Ordini.


Visualizza Ordini Azienda

Il seguente caso d’uso consente all’Impiegato di visualizzare gli ordini.

Nome caso d’uso

Visualizza Ordini Azienda

ID

VIEWORDERSA

Attori

Impiegato, DBMS Azienda

Precondizioni

Il Sistema mostra a video l'InterfacciaPrincipale dell’Impiegato.

Flusso di eventi

  1. L'Impiegato clicca sul tasto di visualizzazione ordini.
  2. Il Sistema interroga il DBMS Azienda chiedendo gli ordini.
  3. Il Sistema mostra a video la lista degli ordini e, PER OGNI ordine, mostra il farmaco ordinato, la farmacia di destinazione, la data di consegna prevista, la quantità e lo stato dell'ordine
  4. PER OGNI ordine con stato “da verificare”:
  1. Il Sistema mostra a video un tasto per correggere il suddetto ordine.
  1. PER OGNI ordine con stato “consegnato”:
  1. Il Sistema mostra a video un tasto per generare la ricevuta di avvenuta consegna.

Postcondizioni

Il Sistema ha mostrato a video la lista degli ordini.


Correzione Ordine

Il seguente caso d’uso consente all’Impiegato di correggere gli ordini per i quali sono stati segnalati dei problemi da parte di un Farmacista.

Nome caso d’uso

Correzione Ordine

ID

ORDERFIX

Attori

Impiegato, DBMS Azienda

Precondizioni

Il Sistema ha mostrato a video l'interfaccia di visualizzazione ordini in cui è presente almeno un ordine con stato "da verificare".

Flusso di eventi

  1. L'Impiegato clicca sul tasto per correggere l'ordine con stato "da verificare".
  2. Il Sistema mostra a video un modulo in cui chiede la quantità di farmaci che si vuole integrare con un altro ordine.
  3. L’Impiegato inserisce i valori richiesti e prosegue con l’apposito tasto.
  4. Il Sistema interroga il DBMS Azienda per ottenere la quantità caricata.
  5. SE la quantità di farmaci da integrare è maggiore della quantità mancante:
  1. Il Sistema mostra a video un messaggio di errore.
  2. L'impiegato chiude il messaggio attraverso l’apposito tasto.
  3. Il caso d'uso ricomincia dal punto 2.
  1. ALTRIMENTI il Sistema inserisce l'ordine integrativo nel DBMS Azienda e corregge eventuali incongruenze.
  2. Il Sistema mostra a video l'Interfaccia di visualizzazione ordini.

Postcondizioni

Il DBMS Azienda non presenta più incongruenze e lo stato dell’ordine è stato modificato in “corretto”.


Casi d’Uso: Gestione Produzione

Aggiornamento Scorte Farmaci

Il seguente caso d'uso permette al sistema di incrementare le scorte dell'azienda in base ai farmaci prodotti.

Nome caso d’uso

Aggiornamento Scorte Farmaci

ID

UPDATESUPPLY

Attori

Tempo, DBMS Azienda

Flusso di eventi

  1. Il Tempo chiede al Sistema il giorno.
  2. SE è il giorno di produzione dei farmaci
  1. Il Sistema aggiorna il DBMS Azienda con la nuova quantità di farmaci disponibili.
  1. Il Sistema chiede al DBMS Azienda le quantità di farmaci necessarie per evadere gli ordini periodici
  2. PER OGNI ordine in stato “in attesa di disponibilità”:
  1. SE la quantità richiesta non garantisce la disponibilità di farmaci per gli ordini periodici:
  1. Il Sistema modifica la quantità dell’ordine con la quantità minima evadibile e lo contrassegna come “in lavorazione” e crea un altro ordine con la quantità rimanente contrassegnato come “in attesa di disponibilità”.
  1. ALTRIMENTI
  1. il Sistema sottrae dal DBMS Azienda le quantità richieste dal suddetto ordine e lo contrassegna come “in lavorazione”.

Postcondizioni

Il Sistema ha aggiornato la quantità di farmaci disponibili.


Modifica Produzione

Il seguente caso d’uso permette all’impiegato di modificare manualmente la produzione di farmaci prodotti.

Nome caso d’uso

Modifica Produzione

ID

EDITPROD

Attori

Impiegato, DBMS Azienda

Precondizioni

Il Sistema ha mostrato a video l’InterfacciaPrincipale dell’Impiegato.

Flusso di eventi

  1. L’Impiegato clicca sul tasto di modifica produzione.
  2. Il Sistema mostra a video l’interfaccia di modifica produzione.
  3. L’Impiegato inserisce il nome del farmaco e la nuova quantità che verrà prodotta nel modulo di modifica e clicca il tasto di conferma.
  4. Il Sistema interroga il DBMS Azienda sull’esistenza del farmaco.
  5. SE il farmaco inserito non è presente nel DBMS Azienda:
  1. Il Sistema mostra a video un messaggio di errore.
  2. L’Impiegato chiude il messaggio di errore attraverso l’apposito tasto.
  3. Il caso d’uso ricomincia dal punto 2.
  1. Il Sistema aggiorna il DBMS Azienda con la nuova quantità.

Postcondizioni

Il Sistema ha aggiornato la quantità di farmaci che verranno prodotti.


Modello degli Oggetti

Si riporta di seguito un elenco degli oggetti presenti all’interno del sistema, suddivisi per tipologia:

Oggetti Boundary

All'interno di tutti i macro casi d'uso sono presenti i seguenti oggetti boundary:


All'interno del macro caso d'uso Gestione Account sono presenti i seguenti oggetti boundary:

All'interno del macro caso d'uso Gestione Farmaci sono presenti i seguenti oggetti boundary:

All'interno del macro caso d'uso Gestione Consegna sono presenti i seguenti oggetti boundary:


All'interno del macro caso d'uso Gestione Produzione sono presenti i seguenti oggetti boundary:

All'interno del macro caso d'uso Gestione Ordini sono presenti i seguenti oggetti boundary:

Oggetti Control


Gestione Farmaco:

Gestione Consegna:

Gestione Produzione:

Gestione Ordini:

Oggetti Entity


Diagrammi delle Classi

Per una maggiore leggibilità si è deciso di dividere il diagramma delle classi in più sottodiagrammi, riportati di seguito:

Diagramma delle Entity

Gestione Account


Gestione Farmaci


Gestione Consegna

Gestione Produzione e Gestione Ordini (Azienda)


Modelli Dinamici

Gestione Account - Registrazione

Gestione Account - Autenticazione


Gestione Account - Modifica Password

Gestione Account - Recupero Credenziali


Gestione Farmaci - Carico Merci

Gestione Farmaci - Cerca Farmaco

Gestione Farmaci - Controllo Caricamento Merci


Gestione Farmaci - Modifica Ordine Periodico


Gestione Farmaci - Ordine Periodico

Gestione Farmaci - Visualizza Ordini Farmacia


Gestione Farmaci - Scarico Merci

 


Gestione Farmaci - Ordina Farmaco


Gestione Farmaci - Modifica Ordine


Gestione Consegna - Firma Consegna

Gestione Consegna - Visualizza Consegne


Gestione Produzione - Aggiornamento Scorte Farmaci


Gestione Produzione - Modifica Produzione Scorte

Gestione Ordini - Correzione Ordini


Gestione Ordini - Visualizza Ricevuta

Gestione Ordini - Visualizza Ordini Azienda


Interfacce

Si premette che tutte le interfacce mock-up del Sistema sono state realizzate in fase di progettazione usando JavaFX Scene Builder, quindi potrebbero esserci delle variazioni rispetto al prodotto finale.

Pannello di Errore Generico


Pannello di Conferma


Modulo di Login


Modulo Recupero


Modulo Registrazione


Modulo Modifica Password


Interfaccia Principale [tipo=Farmacista]


Interfaccia Cerca Farmaco


Interfaccia Ordina Farmaco


Pannello Avviso Scadenza


Pannello Modalità consegna


Interfaccia Visualizza Ordini


Interfaccia Carico Merci


Pannello Avviso Mancato Caricamento Merci


Interfaccia Modifica Ordine


Interfaccia Scarico Merci

Pannello Avviso Disponibilità


Interfaccia Modifica Ordini Periodici

Interfaccia Principale [tipo=Corriere]


Visualizza Consegne


Firma Consegne


Interfaccia Principale [tipo=Impiegato]


Visualizza Ordini Azienda


Correzione Ordini



Interfaccia Modifica Produzione