lazienda sc informatica si occupa della progettazione e della realizzazione di sistemi informatici...
TRANSCRIPT
![Page 1: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/1.jpg)
Progetto di Ingegneria del Software L-A
SC INFORMATICA
Chisca Sorina Friscia Salvatore Paoletti Stefania
![Page 2: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/2.jpg)
Descrizione del Problema
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.
![Page 3: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/3.jpg)
Requisiti del Cliente 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.
![Page 4: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/4.jpg)
Casi d’uso
Il sistema prevede tre attori: Amministratore, Centralinista, Tecnico.
Sono stati individuati quattro casi d’uso principali:Inserisci InterventiGestisci InterventiVisualizza StatisticheGestisci Anagrafiche
![Page 5: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/5.jpg)
Casi d’uso
Casi d'uso Inserisci Interventi / Gestisci Interventi / Visualizza Statistiche / Gestisci Anagrafiche
![Page 6: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/6.jpg)
Casi d’uso
Particolare del caso d’uso Gestisci Interventi
![Page 7: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/7.jpg)
Casi d’uso
Particolare del caso d’uso Visualizza Statistiche
![Page 8: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/8.jpg)
Casi d’uso
Particolare del caso d’uso Gestisci Anagrafiche
![Page 9: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/9.jpg)
Scenario – Inserisci Interventi
Attore: CentralinistaPrecondizioni:Il cliente deve essere presente nell’anagrafica e deve essere attivoFlusso:Il centralinista seleziona il clienteSe il cliente ha un intervento aperto
Il sistema visualizza i dettagli dell’intervento apertoIl centralinista modifica la data di scadenza e le noteIl centralinista richiede il salvataggioIl sistema controlla la validità dei datiIl sistema salva le modifiche
![Page 10: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/10.jpg)
Scenario – Inserisci Interventi
Se il cliente ha un intervento in lavorazioneIl sistema visualizza i dettagli dell’intervento in lavorazione
AltrimentiIl centralinista inserisce i dati relativi al nuovo intervento (problema, note, data di apertura e data di scadenza)Il centralinista richiede il salvataggioIl sistema controlla la validità dei datiIl sistema crea il nuovo intervento
Flussi alternativi:2.3a.Il centralinista annulla l’operazione2.4a.I dati non sono validi; si notifica l’errore e si torna al punto 2.24.2a.Il centralinista annulla l’operazione4.3a.I dati non sono validi; si notifica l’errore e si torna al punto 4.1
![Page 11: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/11.jpg)
Scenario –Modifica Stato Interventi
Attore:TecnicoPrecondizioni:Il tecnico deve avere almeno un intervento da svolgere (aperto o in lavorazione)Flusso:Il sistema visualizza gli interventi assegnati al tecnicoIl tecnico seleziona l’intervento di cui deve cambiare lo statoSe 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 lavorazioneIl tecnico <<Inserisce Dettagli Intervento>>
Il sistema aggiorna la visualizzazione degli interventi assegnati al tecnico e torna al punto 2
![Page 12: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/12.jpg)
Dia
gra
mm
a S
tati
co
![Page 13: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/13.jpg)
Diagramma StaticoDal 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.
![Page 14: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/14.jpg)
Dia
gra
mm
a di
Sequenza
![Page 15: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/15.jpg)
Diagramma di SequenzaQuesto 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.
![Page 16: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/16.jpg)
Design Pattern e Principi di Progettazione
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)
![Page 17: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/17.jpg)
Design Pattern e Principi di Progettazione
Lo stesso concetto è stato applicato alla collezione degli interventi.
Singleton Collezione Interventi
![Page 18: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/18.jpg)
Design Pattern e Principi di Progettazione
Pattern State
Per modellare lo stato degli interventi è stato utilizzato il design pattern State, chepermette di cambiare dinamicamente il comportamento degli oggetti di classeIntervento a seconda dello stato in cui si trovano.
Design pattern State per lo Stato dell’Intervento
![Page 19: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/19.jpg)
Design Pattern e Principi di Progettazione
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
![Page 20: Lazienda SC Informatica si occupa della progettazione e della realizzazione di sistemi informatici dedicati alle farmacie. Fornisce inoltre un servizio](https://reader036.vdocuments.site/reader036/viewer/2022070313/5542eb6a497959361e8d5a5e/html5/thumbnails/20.jpg)
Principio di Inversione delle Dipendenze