L’azienda SC Informatica si occupa della progettazione e della
realizzazione di sistemi informatici dedicati alle farmacie. Fornisce
inoltre un servizio di assistenza on-site per ripristinare le normali
operazioni di gestione in caso di malfunzionamento hardware e
software, tempestivo, competente ed efficace.
Il software richiesto è uno strumento per rendere più efficiente il
servizio di assistenza tecnica, assegnando automaticamente i lavori da
svolgere ai dipendenti dell’azienda e fornendo un quadro generale sui
lavori svolti, tramite statistiche.
Si richiede di realizzare un programma di gestione per SC Informatica,
azienda che si occupa di assistenza hardware e software presso le
farmacie.
Il sistema consente la gestione degli interventi, effettuati dai dipendenti
dell’azienda, e la loro memorizzazione.
Esistono tre tipologie di dipendenti: centralinista, tecnico e amministratore.
Il centralinista risponde alle chiamate dei clienti che richiedono
assistenza, crea un nuovo intervento e ne memorizza i dati di apertura:
cliente, data e ora della chiamata, caratteristiche del problema, eventuali
note, data di scadenza.
Il tecnico visualizza gli interventi da svolgere, assegnategli
automaticamente dal programma,e seleziona quali andrà a risolvere,
mettendoli in lavorazione.
Al termine, il tecnico chiude l’intervento e inserisce i dati del lavoro
appena svolto: tipo di intervento (hardware e/o software), soluzione del
problema, data di chiusura, ore di viaggio e di lavoro.
L’amministratore gestisce le anagrafiche dei clienti e dei dipendenti e
ne visualizza le statistiche che gli permettono di ottenere un quadro
generale sugli interventi svolti dall’azienda.
Il sistema prevede tre attori: Amministratore, Centralinista, Tecnico.
Sono stati individuati quattro casi d’uso principali:
Inserisci Interventi
Gestisci Interventi
Visualizza Statistiche
Gestisci Anagrafiche
Casi d'uso Inserisci Interventi / Gestisci Interventi / Visualizza Statistiche /
Gestisci Anagrafiche
Particolare del caso d’uso Gestisci Interventi
Particolare del caso d’uso Visualizza Statistiche
Particolare del caso d’uso Gestisci Anagrafiche
Attore:
Centralinista
Precondizioni:
Il cliente deve essere presente nell’anagrafica e deve essere attivo
Flusso:
Il centralinista seleziona il cliente
Se il cliente ha un intervento aperto
Il sistema visualizza i dettagli dell’intervento aperto
Il centralinista modifica la data di scadenza e le note
Il centralinista richiede il salvataggio
Il sistema controlla la validità dei dati
Il sistema salva le modifiche
Se il cliente ha un intervento in lavorazione
Il sistema visualizza i dettagli dell’intervento in lavorazione
Altrimenti
Il centralinista inserisce i dati relativi al nuovo intervento
(problema, note, data di apertura e data di scadenza)
Il centralinista richiede il salvataggio
Il sistema controlla la validità dei dati
Il sistema crea il nuovo intervento
Flussi alternativi:
2.3a.Il centralinista annulla l’operazione
2.4a.I dati non sono validi; si notifica l’errore e si torna al punto 2.2
4.2a.Il centralinista annulla l’operazione
4.3a.I dati non sono validi; si notifica l’errore e si torna al punto 4.1
Attore:
Tecnico
Precondizioni:
Il tecnico deve avere almeno un intervento da svolgere (aperto o in
lavorazione)
Flusso:
Il sistema visualizza gli interventi assegnati al tecnico
Il tecnico seleziona l’intervento di cui deve cambiare lo stato
Se l’intervento è nello stato di aperto
Il sistema lo pone in lavorazione inserendo il tecnico nei dettagli
dell’intervento
Se l’intervento è nello stato di lavorazione
Il tecnico <<Inserisce Dettagli Intervento>>
Il sistema aggiorna la visualizzazione degli interventi assegnati al
tecnico e torna al punto 2
Dal documento dei requisiti sono state ricavate le classi del modello
statico.
La classe Dipendente contiene le informazioni relative ad un generico
dipendente dell’azienda, mentre le tre specializzazioni Tecnico,
Centralinista e Amministratore rappresentano la funzione concreta
svolta dal dipendente.
La classe Cliente contiene le informazioni relative ai clienti attuali o
passati dell’azienda; ad ogni cliente è associato un tecnico di
riferimento.
La classe Intervento contiene i dati relativi ad un intervento richiesto da
un cliente e risolto da un tecnico. Può assumere tre differenti stati:
aperto, in lavorazione e chiuso.
Le due anagrafiche, AnagraficaClienti e AnagraficaDipendenti,
rappresentano rispettivamente l’insieme dei clienti e dei dipendenti, e
su di esse l’amministratore esegue le operazioni di gestione.
Questo diagramma di sequenza mostra la cronologia di messaggi
scambiati tra gli oggetti durante l’esecuzione del metodo
VisualizzaStatistica().
L’utente Amministratore invoca questo metodo passando i parametri
per la selezione degli interventi e la lista dei nomi dei calcoli da
effettuare. Il metodo crea un nuovo oggetto di classe Statistica
passando i parametri di selezione. Il costruttore richiede all’istanza del
Singleton CollezioneInterventi un riferimento alla lista degli interventi,
crea un nuovo oggetto di classe Selezione e un nuovo oggetto di
classe CriterioDiSelezione, passando i parametri di selezione, ed
infine setta la proprietà Criterio nell’oggetto Selezione, richiamando
quindi il metodo Seleziona() e ricevendo la lista degli interventi su cui
effettuare i calcoli.
Per ogni calcolo presente nella lista, si invoca il metodo
ImpostaCalcolo() sull’oggetto Statistica appena creato: questo richiede
alla classe CalcoloFactory l’istanza di calcolo corrispondente al nome
passato utilizzando il metodo GetCalcolo(). Viene quindi richiamato il
metodo Calcola() della classe statistica, che a sua volta richiama il
metodo Calcola() dell’oggetto di tipo ICalcolo precedentemente
ottenuto dalla CalcoloFactory, ricevendo un risultato numerico.
Infine il metodo VisualizzaStatistica() restituisce una lista di risultati.
Pattern Singleton
In progettazione si è deciso di modellare le due anagrafiche,
per clienti e per dipendenti, utilizzando il design pattern Singleton.
Singleton Anagrafica dei Clienti (analogo per l’anagrafica Dipendenti)
Lo stesso concetto è stato applicato alla collezione degli interventi.
Singleton Collezione Interventi
Pattern State
Per modellare lo stato degli interventi è stato utilizzato il design pattern State, che
permette di cambiare dinamicamente il comportamento degli oggetti di classe
Intervento a seconda dello stato in cui si trovano.
Design pattern State per lo Stato dell’Intervento
Pattern Strategy e Factory
Per i diversi tipi di calcolo utilizzati per la visualizzazione delle statistiche
sono stati combinati due Design Pattern, Strategy e Factory.
Design Pattern Strategy e Factory per il calcolo delle Statistiche
Scarica

Particolare del caso d`uso Gestisci Interventi