SlideShare une entreprise Scribd logo
1  sur  66
Télécharger pour lire hors ligne
REALIZZAZIONE DEL
          PROGETTO
AMBULATORIO VETERINARIO ON-LINE



            Ing. Nelson Firmani

    Dipartimento di Ingegneria Elettrica
   Università di L’Aquila, AQ 67040, Italy




                                             1
Ambulatorio
                              veterinario on-line




Studio diFattibilita’

Requisiti Utente e specifiche Funzionali del Sistema

Progettazione Della Base di dati

Progettazione Del sistema




                                                       2
Ambulatorio
veterinario on-line



              Studio

                   di

          Fattibilita’




                     3
Table of contents



1 Il contesto dello studio ................................................................................................................. 2
2 Progetto di massima ...................................................................................................................... 4
2.1 Obiettivi .............................................................................................................................................. 4
2.2 Funzioni del sistema .................................................................................................................. 4
2.3 Natura e caratteristica dei dati da gestire.................................................................. 5
2.4 Aspetti tecnologici ....................................................................................................................... 6
2.5 Analisi costi-benefici e analisi rischio .......................................................................... 7
Glossario dei termini ....................................................................................................................... 10




                                                                                                                                                            4
STUDIO DI FATTIBILITA’
finalizzato alla realizzazione del progetto ambulatorio veterinario
                               on-line

1 Il contesto dello studio
In Italia negli ultimi anni è cresciuta la presenza di strutture sanitarie
veterinarie private. Dei 30000 veterinari iscritti nell’apposito albo tenuto
dagli ordini provinciali dei medici veterinari, più del 60% esercita la
libera professione sia in forma singola che associata.
Inoltre nel settore si assiste ad una sempre maggiore specializzazione
basata sul tipo di prestazione:
Qualche anno fa, il veterinario si occupava prevalentemente di animali da
reddito ospitati da aziende zootecniche. Oggi si parla sempre più di
veterinario di città per indicare colui che si dedica quasi esclusivamente
alla cura degli animali di compagnia, fra cui i più comuni sono il cane ed
il gatto.
La differente specializzazione si riflette sulle condizioni e modalità di
esercizio delle attività e sulla tipologia ed organizzazione della struttura
adibita all’esercizio dell’attività.
In questo ambito si individuano i seguenti tipi di strutture sanitarie
veterinarie private:

  • Studio veterinario
    E’ l’ambiente privato dove vengono erogate le prestazioni che non
    comportano la degenza, oltre quella giornaliera.

  • Ambulatorio veterinario
    E’ l’ambiente costituito da una sala d’attesa e da una o più sale per
    l’esecuzione delle prestazioni diagnostiche e terapeutiche. Uno o più
    medici erogano prestazioni sanitarie che possono comportare anche
    una degenza giornaliera.

  • Cliniche veterinarie.
    Si tratta di strutture sanitarie più complesse ove è prevista la
    possibilità di una degenza superiore a quella giornaliera e la

                                                                           5
presenza di un medico veterinario 24 ore su 24.

Le strutture più ricorrenti sono senza dubbio gli ambulatori veterinari in
quanto attraverso gli stessi viene fornito un servizio di più ampia richiesta.
La realtà della citta di Teramo riguardo alla presenza di strutture
sanitarie veterinarie private è la seguente:

  • 4 ambulatori privati

  • 1 clinica veterinaria

Da una indagine sui 4 ambulatori privati si è scoperto che non esiste una
raccolta dei dati ambulatoriali informatizzati né tantomeno servizi on-line
o siti web informativi.
Tutti i dati connessi alla diagnosi e cura degli animali e alla gestione dei
clienti proprietari degli animali è quasi assente o al più in forma cartacea.
L’idea di un sistema informatico finalizzato alla raccolta dei dati
ambulatoriali è nata dai colloqui tenuti con un medico veterinario
proprietario di un ambulatorio sito nella città di Teramo.
L’esigenza principale manifestata dal medico è stata quella di avere a
disposizione in maniera semplice tutte le informazioni storiche relative ad
un animale in cura presso l’ambulatorio. E quella di un sito web per la
promozione del suo ambulatorio che non fosse solo una vetrina ma offrisse
un servizio utile ai propri clienti.
Se trascuriamo le problematiche relative alla sicurezza dei dati (esigenza
non necessaria)
dal punto di vista tecnologico il progetto è di facile attuazione con costi
contenuti.
L’unico fattore di criticità è rappresentato dall’impatto che l’introduzione
delle nuove procedure informatizzate può produrre sulla preesistente
organizzazione lavorativa. Se l’impatto è troppo traumatico, è inevitabile
che nascano fenomeni di reazione che si oppongono al corretto
funzionamento del nuovo sistema dovuto anche alla non sempre adeguata
confidenza con le tecnologie informatiche da parte dei fruitori del servizio.




                                                                             6
2 Progetto di massima

Il progetto di massima consiste nella descrizione degli elementi portanti e delle linee di
realizzazione del progetto ambulatorio veterinario on-line.
L’elaborazione del progetto di massima risponde principalmente all’esigenza di verificare
la fattibilità del progetto e di stimarne costi, benefici e tempi, quindi la descrizione del progetto in
termini di dettaglio è limitato alle componenti principali del sistema informativo e all’esame dei
casi normali o generali.

2.1 Obiettivi
   1. Promuovere l’ambulatorio veterinario attraverso un sito web e dotando la propria clientela di
      un servizio on-line innovativo.

   2. Un nuovo scenario lavorativo nel quale sia davvero più semplice operare all’interno
      dell’attività ambulatoriale e dove l’uso del computer possa essere un valido aiuto.
      Ma nello stesso tempo evitare un impatto traumatico delle nuove procedure informatizzate
      su una preesistente organizzazione lavorativa.


2.2 Funzioni del sistema

Sulla base dei numerosi colloqui avuti con il cliente si possono elencare
alcuni dei requisiti utente che devono essere considerati nello studio di
fattibilità.
La prima parte del progetto riguarda:

   • La creazione del sito http://www.ambulatorioonline.it/
     La prima pagina deve consentire di valutare immediatamente il
     contenuto informativo di tutto il sito che potrebbe essere riassunto in
     3 sezioni:

           o Presentazione dell’ambulatorio veterinario

           o Servizi di community quali ad esempio: FAQ e news inerenti il
             mondo animale.

           o La fornitura di un servizio alla clientela dell’ambulatorio.
             Questo prevvede la possibilità di accedere attraverso internet
             alle informazioni riguardanti i propri animali trattati in
             ambulatorio. Secondo alcune interviste a possibili utenti è
             emerso che questo servizio è particolarmente gradito quando il
             proprio animale è ricoverato in ambulatorio e si vuole sapere
                                                                                                           7
come procede la degenza.

La seconda parte del progetto, in un certo senso il cuore del progetto,
prevede la informatizzazione della raccolta dei dati durante l’attività
ambulatoriale:

   • L’inserimento dei dati ambulatoriali ad opera del veterinario deve
     essere semplice ed avvenire attraverso una interfaccia web:
     Gli strumenti di navigazione (link, bottoni, trova ecc. ) devono essere
     sempre ben visibili e possibilmente conservare la stessa posizione in
     tutte le pagine e consentire rapidamente di tornare alla pagina
     menù.

   • La raccolta e la gestione dei dati deve riprodurre il più possibile
     l’abituale modo di lavorare del medico veterinario.

   • Prevedere applicativi che facilitino la pubblicazione e la gestione
     delle informazioni minimizzando le modifiche delle pagine web del
     sito.

   • Prevedere una gestione delle autorizzazione all’accesso del sistema



2.3 Natura e caratteristica dei dati da gestire

Per poter memorizzare dati è pratica corrente progettare e realizzare un
sistema i nformativo
automatizzato che si basa sulla tecnologia delle basi di dati.
In un ambulatorio veterinario è possibile individuare due settori
applicativi:

   1. Gestione degli animali assistiti (anagrafe del proprietario,
      informazioni sull’animale, dati clinici);
   2. Gestione amministrativa dell’attività ambulatoriale: gestione del
      bilancio, dei capitoli spesa, di atti amministrativi.

Il progetto mira ad informatizzare il primo settore applicativo.

                                                                           8
L’insieme dei dati riguardanti il primo settore applicativo è costituita
certamente da:

  •   dati numerici e testuali per la gestione dei clienti
  •   dati numerici e testuali per la gestione degli animali assistiti;
  •   dati numerici e testuali per la gestione dei dati clinici
  •   dati immagine previsti per la memorizzazione della foto
      dell’animale.

Il volume dei dati previsto è basso.




                                                                           9
2.4 Aspetti tecnologici

In questa sezione si presenta le diverse soluzioni tecnologiche offerte dal
mercato in termini di ambiente di sviluppo di linguaggio di
programmazione e di data base da utilizzare.

Il panorama delle principali soluzioni disponibili sul mercato sono:

  • Ambiente di sviluppo Microsoft su piattaforma Microsof:
    Per lo sviluppo di soluzioni web based la scelta è quasi obbligata:
    Windows 2000 Server o Windows NT, SQL Server 2000, IIS (Internet
    Information Server) come web server e tecnologia ASP.NET per la
    costruzione dell'applicazione. Asp è l'acronimo di ACTIVE SERVER
    PAGES, le istruzioni contenute nelle pagine ASP vengono elaborate
    dal web server per produrre vari effetti che vanno dalla
    formattazione automatica dei contenuti, all'accesso tramide ODBC
    ad informazioni remote indipendentemente dal database usato.

  • Ambiente di sviluppo Java
    E’ portabile su qualsiasi piattaforma, non prendiamo in
    considerazione la classica piattaforma java, server Sun e database
    ORACLE in quanto il volume di dati scambiato nel nostro caso è
    basso ed inoltre questo tipo di piattaforma è tra le più
    costose.Prendiamo invece in considerazione l’ambiente di sviluppo
    Open Source Java su piattaforma Linux con qualunque database di
    qualità disponibile sul mercato (MySQL http://www.mysql.com e
    PostgreSQL http://www.postgresql.org sono le scelte tipiche).
    Entrambi questi database hanno dimostrato ottimi risultati quando
    utilizzati in progetti piccoli e medio/piccoli. Nel nostro caso specifico
    le due soluzioni sono certamente adeguate al volume di dati previsto.
    MySQL è Free Software, PostgreSQL è sotto licenza BSD, che è una
    licenza Open Source ma non Free Software. Quindi l’ambiente di
    sviluppo java su piattaforma linux con Mysql come data base
    relazionale e server Apache Tomcat come web server e contenitore
    JSP e servlet e di Eclipse (Eclipse è un editor di servlets e di JSP è
    scritto in Java ed è open source) come strumento di sviluppo
    potrebbe essere una scelta economicamente molto vantaggiosa


                                                                              10
grazie alla licenza Open source.

  • Ambiente Open Source su piattaforma Linux con web server apache
    databse Mysql e linguaggio PHP per lo sviluppo dell’applicazione.


In conclusione i risparmi di natura economica in una scelta Open Source
sono sensibili.
Per quanto riguarda la scelta del linguaggio di programmazione di pagine
dinamiche che interagiscono con le informazioni contenute in un database
risiedente sul server web la scelta può essere tra CGI Perl, PHP, ASP,
JSP e Servlet:

  • CGI : ogni volta che viene richiamato uno script Cgi (scritto in un
    qualsiasi linguaggio), viene avviato un nuovo processo sul server
    Web, questo comporta problemi di sovraccaricamento del server.

  • PHP: E’ un linguaggio di scripting simile al C molto semplice da
    apprendere. Tra i pregi del Php ci sono la velocità, la robustezza e il
    fatto che essendo Open Source si ha la visibilità sui sorgenti e la
    possibilità di correggere errori e apportare migliorie.

  • ASP: Tecnologia legata all’ambiente Microsoft Windows con
    Internet Information Server.
    Le pagine ASP includono istruzioni scrite in “VBSCRIPT” oppure
    “JSCRIPT” che vengono elaborate dal server.

  • JSP (Java Server Page) e Servlet: La Servlet è una classe java
    orientata alla comunicazione client-server, mentre la pagina JSP è
    un modo più semplice per scrivere servlet. Infatti una pagina jsp
    contiene codice HTML misto a codice Java che viene trasformata dal
    server container (es: APACHE Tomcat) in una servlet e quindi
    compilata.
    Non solo bisogna conoscere il linguaggio Java e le innumerevoli
    classi di cui è composto Ma anche una nuova filosofia di
    programmazione, quella orientata agli oggetti.



                                                                          11
Un breve confronto fra i linguaggi a disposizione porta ad individuare
Php da abbinare a HTML CSS e Javascript come linguaggio da utilizzare
per lo sviluppo dell’applicazione.
La scelta è motivata in base alle seguenti considerazioni:
PHP è open source, adatto alle dimensioni del progetto e rispetto a JSP
consente un costo di sviluppo molto più basso.


2.5 Analisi costi-benefici e analisi rischio

In questa parte del documento si evidenzieranno i costi di sviluppo e di
esercizio del progetto.
Le principali voci che costituiscono i costi di sviluppo riguarda in
particolar modo l’ambiente di sviluppo software (già analizzato nella
parte del documento relativo agli aspetti tecnologici) e il costo dovuto
all’impegno di risorse umane.
Per quanto riguarda i costi operativi o di esercizio occorre individuare la
soluzione più idonea per la gestione del sito. Escluse a priori le soluzioni
completamente interna (homing) per i costi elevati e completamente
esterna (outsourcing), in quanto l’inserimento dati deve essere eseguito
dal medico veterinario, restano da confrontare due possibili soluzioni:

  • HOUSING
    La soluzione che lascia la maggiore libertà di gestione all'utente è
    quella che prevede l'acquisto di un server e di software specifico.
    L'utente, una volta realizzato il sistema, potrà stipulare un contratto
    di housing con un Internet Access Provider, che inserirà il server
    nella sua rete locale collegata ad Internet. Ma i problemi hardware
    di un computer in housing non possono, ovviamente, essere risolti da
    remoto e inoltre le spese di acquisto del server e di gestione di
    hardware e sistema operativo sono consistenti. Si potrebbe adottare
    la soluzione noleggio server. Il mercato attualmente offre questo tipo
    di soluzione al prezzo di circa 250 Euro mensili.

  • HOSTING
    Un contratto di hosting prevede la possibilità per il cliente di
    operare sul server del provider in relativa autonomia, limitatamente
    allo spazio assegnatogli. I vantaggi di tale soluzione sono evidenti:

                                                                           12
l'utente non si deve fare carico del costo dell'hardware e non ha
        inoltre bisogno di reclutare personale tecnico in grado di gestirlo. A
        ciò bisogna aggiungere che il costo dell' hosting, a parità di banda
        disponibile, è di norma molto più basso di quello di un normale
        housing. Il costo di un contratto di hosting dipende da fattori come il
        livello di autonomia operativa e la qualità del servizio (il cui primo
        parametro di valutazione è ovviamente costituito dalle dimensioni
        della banda disponibile). La macchina del provider ospita il server
        dell’azienda e può essere amministrata a distanza in alcune sue
        funzionalità: nei contenuti delle pagine Web, caselle di posta, con
        strumenti di gestione e analisi degli accessi al sito, attraverso la
        configurazione di applicazioni quali mailing list e consultazioni di
        database online. Il mercato attualmente offre questo tipo di soluzione
        a partire da 60 Euro l’anno. Vedi tabella 2




Tabella Server Dedicati
                                         Offerte Intel Celeron
                                        Traffico Costo di         Canone mensile
       CPU           RAM       HD
                                        mensile attivazione           (Euro)
 Intel Celeron 1.3 512MB      60GB      700GB       Gratuito          199,00
 Intel Celeron 1.3   1 GB     60GB      700GB       Gratuito          199,00
                                                                     OFFERTA
 Intel Celeron 1.3   1 GB    (2) 60GB   700GB       Gratuito          258,00
 Intel Celeron 1.7 512MB      60GB      700GB       Gratuito          199,00
                                                                     OFFERTA
 Intel Celeron 1.7   1 GB     60GB      700GB       Gratuito          238,00
 Intel Celeron 1.7   1 GB    (2) 60GB   700GB       Gratuito          278,00
                                        Offerte Intel Pentium 4
                                        Traffico Costo di
       CPU           RAM       HD                                 Canone mensile
                                        mensile attivazione
 Intel Pentium 4
                     512MB    60GB      700GB       Gratuito          238,00
        2.0
 Intel Pentium 4
                     512MB    80GB      700GB       Gratuito          258,00
        2.0
                                           Intel Dual Xeon
                                                    Costo di
       CPU           RAM       HD       Transfer                  Canone mensile
                                                   attivazione
 Intel Dual Xeon
                 512MB 73GB SCSI        700GB       Gratuito          398,00
        2.0


                                                                                   13
Intel Dual Xeon          (2) 73GB
                   1 GB               1200GB   Gratuito   498,00
        2.0                 SCSI
 Intel Dual Xeon
                   1 GB   (2) 120GB   1200GB   Gratuito   498,00
        2.0


Tabella 1 (dati eurosito.it)




                                                                   14
Tabella offerta hosting

Piano STANDARD Hosting Linux con          60,00 € l'anno
Dominio

Sistema operativo Linux RedHat
1 Dominio .com, .net, .org, .it
100 MB di spazio disco
10 e-mail
alias e-mail illimitati
2 GB di Trasferimento Mensile
Pannello di controllo Cpanel
Supporto PHP4, CGI/Perl, MySQL


Piano PROFESSIONAL Hosting Linux          90,00 € l'anno
con Dominio

Sistema operativo Linux RedHat
1 Dominio .com, .net, .org, .it
200 MB di spazio disco
20 e-mail
alias e-mail illimitati
3 GB di Trasferimento Mensile
Pannello di controllo Cpanel
Supporto PHP4, CGI/Perl, MySQL

Piano ADVANCED Hosting Linux con          135,00 € l'anno
Dominio

Sistema operativo Linux RedHat
1 Dominio .com, .net, .org, .it
500 MB* di spazio disco
illimitate e-mail
alias e-mail illimitati
6 GB** di Trasferimento Mensile
Pannello di controllo Cpanel

                                                            15
Supporto PHP4, CGI/Perl, MySQL


Tabella 2 (dati eurosito.it)


L' hosting costituisce un buon compromesso tra flessibilità del sistema e
difficoltà di gestione, ad un costo decisamente più contenuto di quello dell'
housing.
In termini di benefici sebbene difficili da monetizzare il progetto
sicuramente potrà produrre significativi miglioramenti del servizio reso
alla clientela, una migliore gestione dell’attività ambulatoriale, una
riduzione dei tempi di risposta e una riduzione dei supporti cartacei.
Quanto ai rischi inerenti il progetto è rappresentato dall’impatto che
l’introduzione delle nuove procedure informatizzate può produrre sulla
preesistente organizzazione lavorativa. Se l’impatto è troppo traumatico, è
inevitabile che nascano fenomeni di reazione che si oppongono al corretto
funzionamento del nuovo sistema. In ultima analisi è da tenere presente
che il sistema gestisce informazioni non critiche, per il quale un eventuale
malfunzionamento comporta danni limitati.




                                                                           16
Glossario dei termini

Applicativo     Insieme di procedure (software) in grado di processare dati secondo modalità
                definite
DB, Data Base   Archivio elettronico in grado di gestire e archiviare dati organizzati, sui quali
                effettuare eventuali ricerche successive
DBMS            Data Base Management System – E’ il sistema che gestisce il database
Hosting         Servizio che prevede di ospitare applicativi e/o siti presso un computer di
                proprietà del fornitore di servizi in modalità condivisa con altri utenti
Housing         Servizio che prevede di ospitare applicativi e/o siti presso un computer in
                modalità non condivisa con altri utenti presso il fornitore di servizi
HW              HardWare: tutto ciò che costituisce fisicamente una unità di
                elaborazione/computer
Interfaccia     E’ la parte di un pacchetto SW orientata a facilitare il dialogo tra la macchina
utente          e l’utilizzatore (es.: in un database è la maschera di interrogazione con i vari
                strumenti che permette all’utilizzatore di estrarre le informazioni che cerca
                dall’archivio)
Internet        La più grande rete dati pubblica mondiale
ISP             Internet Service Provider – Fornitore di servizi Internet
JDBC            Java data base connetivity (soluzione tecnologica per far comunicare
                applivcativi java con qualunque database
Open Source     Si dice di programmi di cui sia liberamente disponibile il sorgente
ODBC            Open data base connetivity (soluzione tecnologica per far comunicare
                applicativi con qualunque database)
Protocollo      Modalità di interscambio di dati
Server          Sistema “centrale” cardine di una rete informativa
SW              SoftWare: insieme di procedure che rendono possibili il trattamento di
                informazioni in modalità definita in ambiente di elaborazione dati automatico
Web Browser     E’ il software che consente di muoversi in Internet e di accedere alle risorse ivi
                disponibili




                                                                                               17
18
Ambulatorio
         veterinario on-line



                 Requisiti Utente
                                e
Specifiche Funzionali del Sistema




                               19
Table of contents



1 Introduzione........................................................................................................................................ 3
1.1 Obiettivo del documento ......................................................................... 3
1.2 Struttura del documento .......................................................................................................... 3
2 Requisiti utente ................................................................................................................................. 4
3 Requisiti funzionali ....................................................................................................................... 5
3.1 Gestione informazione on-line ............................................................................................ 5
3.1.1 Visualizzazione ................................................................................................................................ 5
3.2 Gestione cliente ............................................................................................................................. 6
3.2.1 Inserimento ........................................................................................................... 6
3.2.2 Cancellazione ....................................................................................................... 6
3.2.3 Ricerca ................................................................................................................................................ 6
3.3 Gestione attività ............................................................................................................................ 7
3.3.1 Registrazione.................................................................................................................................... 7
3.3.2 Visualizzazione ................................................................................................................................ 7
4 Diagramma di contesto ............................................................................................................... 8
4.1 Descrizione del diagramma di contesto ....................................................................... 9
4.1.1 Individuazione dei terminatori ............................................................................. 9
4.1.2 Flussi di dati in ingresso al sistema ..................................................................... 9
4.1.3 Flussi di dati in uscita dal sistema .......................................................................................... 9
5 Specifica delle funzioni............................................................................................................. 11
5.1 Diagramma di flusso di livello 0 – DFD 0 ............................................................... 11
5.1.1 Descrizione diagramma di flusso di livello 0 – DFD 0 ................................................ 13
5.2 Diagramma di flusso di livello 1 – DFD 2 ............................................................... 14
5.2.1 Descrizione diagramma di flusso di livello 1 – DFD 2 ................................................ 15
5.3Diagramma di flusso di livello 1 – DFD 3 ................................................................ 16
5.3.1 Descrizione diagramma di flusso di livello 1 – DFD 3 ................................................ 17
5.4 Dizionario dei dati .................................................................................................................... 19
6 Glossario termini ........................................................................................................................... 20




                                                                                                                                                            20
1 Introduzione
La raccolta dei requisiti nasce dai contatti preliminari che si sono tenuti con il Cliente per la
realizzazione del progetto ambulatorio on line.

1.1 Obiettivo del documento

Lo scopo che si prefigge questo documento è quello di raccogliere e formalizzare in modo chiaro le
necessità dell'utente e stabilire un elenco di obblighi che il sistema deve soddisfare. Questo
documento sarà alla base dell’intero sviluppo del progetto e costituirà la base da cui si ricaveranno i
“Requisiti funzionali” e i diagrammi “DFD”.

1.2 Struttura del documento

Il presente documento è così strutturato:

   1. Introduzione: definisce gli obiettivi del documento.

   2.   Analisi dei requisiti utente: descrive la portata del progetto e individua gli utenti del
        sistema e le informazioni d’interesse per l’utente nel dominio considerato.

   3.   Analisi dei requisiti funzionali: descrive le funzionalità da automatizzare; tramite una
        specifica basata su “diagramma di contesto” e “DFD”.




                                                                                                     21
2 Requisiti utente

Un ambulatorio veterinario per solo animali d’affezione, al fine di offrire un servizio sempre più
vicino alle esigenze dei suoi clienti, vuole dotare la propria clientela della possibilità di accedere
alle informazioni riguardanti i propri animali trattati in ambulatorio.
A tal fine è necessario informatizzare la raccolta dei dati durante l’attività ambulatoriale.
Il sistema prevede due scenari di uso, legati ai due tipi di utente: cliente (proprietario dell’animale)
e veterinario (amministratore dell’ambulatorio).

Al cliente (proprietario dell’animale o degli animali) il sistema deve presentarsi come un normale
sito web la cui pagina introduttiva deve contenere una presentazione del servizio e una richiesta di
identificazione dell’utente. Dopo aver inserito una username e una password (che certifica l’identità
dell’utente) si accede ad una pagina che riassume: i dati principali del proprietario e un elenco
cronologico delle prestazioni effettuate presso l’ambulatorio sui propri animali.

I dati relativi agli animali assistiti sono la principale fonte di informazione del sistema informativo
da realizzare. La maggior parte di questi dati concorrono alla definizione delle prestazioni effettuate
(storico dell’assistito).
Ogni prestazione registrata è costituita:

   1. dal tipo di prestazione che può essere una visita, un ricovero, una dimissioni o un esame di
      laboratorio.
   2. Dai dati sull’animale (foto, nome, specie, razza, sesso, età)
   3. Data e ora in cui è stata effettuata la prestazione

Inoltre nel caso in cui la prestazione registrata è una visita il cliente può visualizzare informazioni
più dettagliate quali diagnosi, terapia, dieta e farmaci.

Il medico veterinario (amministratore dell’ambulatorio) gestisce i dati tramite una base di dati, un
DBMS e un’interfaccia sviluppata in linguaggio Html.
Dopo il login accede alla pagina principale costituita dal menù delle operazioni che può effettuare e
dall’elenco degli animali attualmente ricoverati.
Operando sui link presenti nella pagina il medico deve poter accedere, per ogni animale alla sua
scheda (storico dell’assistito) che tiene traccia di tutte le prestazioni registrati presso l’ambulatorio.
Inoltre per ogni prestazione il veterinario deve poter visualizzare informazioni più dettagliate:

   1.   nel caso di una visita:temperatura, peso, frequenza cardiaca, diagnosi, terapia, dieta, farmaci.
   2.   nel caso di un ricovero:numeroBox
   3.   nel caso di una dimissione: causa
   4.   nel caso di un esame di laboratorio: tipo esame, risultato, file esame.

Dei bottoni di navigazione deve permettere al veterinario di accedere a dei form per poter:

   1. Aggiungere, se non presente nel data base, l’anagrafe di un nuovo cliente e relativa
      informazione sugli animali posseduti.
   2. Registrare ogni prestazioni effettuate e relative informazioni.
   3. Effettuare ricerche nel data base




                                                                                                          22
3 Requisiti funzionali

3.1 Gestione informazione on-line

il sistema deve consentire ai clienti di consultare le informazioni relative a visite o ricoveri dei
propri animali registrati dal veterinario.
Le funzionalità sono:

3.1.1 Visualizzazione

   •   scheda animale
       i dati da fornire sono:
       username e password.
       i dati da visualizzare sono:
       nome, cognome, indirizzo e telefono del proprietario.
       E per ogni animale posseduto la lista delle prestazioni registrate in ambulatorio, una
       prestazione può essere una visita, un ricovero, una dimissione e un esame di laboratorio; ed
       è caratterizzato dalla data e ora in cui è stata effettuata dal nome dalla specie dalla razza e
       dalla foto dell’animale coinvolto.

   •   dettaglio (solo nel caso in cui la prestazione è una visita o un ricovero o una dimissione)
       i dati da visualizzare sono:
       nome, specie, razza, sesso, età e foto dell’animale.
       data e ora della prestazione
       Diagnosi, terapia, dieta e farmaci




                                                                                                       23
3.2 Gestione cliente
Il sistema deve consentire al veterinario di gestire i dati dei clienti e dei loro animali nella base dati.
Le funzionalità sono:

3.2.1 Inserimento

    •   di un cliente (colui che è proprietario di animali).
        i dati da fornire sono:
        Codice fiscale, nome, cognome, indirizzo, telefono, username, password

    •   di un animale (posseduto dal cliente)
        i dati da fornire sono:
        Specie, nome, razza, sesso, data nascita, foto* (* indicano valori opzionali)


3.2.2 Cancellazione

    •   di un cliente (colui che è proprietario di animale)
        i dati da fornire sono:
        codice fiscale

    •   di un animale (posseduto dal cliente)
        i dati da fornire sono:
        nome e cognome cliente; specie e nome dell’animale


3.2.3 Ricerca

    •   di un cliente (colui che è proprietario di animali).
        i dati da fornire sono:
        nome, cognome
        i dati da visualizzare sono:
        Codice fiscale, nome, cognome, indirizzo, telefono, username, password
        e l’elenco degli animali posseduti




                                                                                                         24
3.3 Gestione attività
Il sistema deve consentire al veterinario di registrare l’attività ambulatoriale nella base dati.
Le funzionalità sono:

3.3.1 Registrazione

   •   di una visita
       i dati da fornire sono:
       temperatura*, peso*, fc*, diagnosi,terapia, motivo, farmaci*, dieta*. Data e ora della
       registrazione (* indicano valori opzionali)

   •   di un ricovero, che comprende la verifica disponibilità Box
       i dati da fornire sono:
       il numero Box. data e ora dell’inizio ricovero.

   •   di una dimissione
       i dati da fornire sono:
       il numero Box, causa data e ora della fine ricovero

   •   di un esame di laboratorio
       i dati da fornire sono:
       Tipo esame, risultato, file esame*. data e ora della registrazione (* indica valori opzionali)


3.3.2 Visualizzazione

   •   lista di animali ricoverati
       i dati da visualizzare sono:
       specie, nome, numero Box, data e ora inizio ricovero di tutti gli animali ricoverati.

   •   scheda di un animale
       i dati da fornire sono:
       codice animale
       i dati da visualizzare sono:
       codice fiscale, nome, cognome, indirizzo e telefono del proprietario dell’animale.
       specie, nome, razza, sesso, data di nascita e foto dell’animale.
       storico dell’animale (ovvero la lista delle prestazioni registrate in ambulatorio, una
       prestazione può essere una visita, un ricovero, una dimissione e un esame di laboratorio; ed
       è caratterizzato dalla data e ora in cui avviene.

   •   dettaglio prestazione
       i dati da visualizzare nel caso in cui la prestazione è una visita sono:
        temperatura, peso, fc, diagnosi,terapia, farmaci, dieta.
       i dati da visualizzare nel caso in cui la prestazione è un ricovero sono:
        numero Box.
       i dati da visualizzare nel caso in cui la prestazione è una dimissione sono:
       causa
       i dati da visualizzare nel caso in cui la prestazione è un esame di laboratorio sono:
       tipoEsame, fileAnalisi e risultato

                                                                                                        25
4 Diagramma di contesto
L’interazione tra il sistema (cioè sostanzialmente l’insieme delle pagine web costituenti il software
qui rappresentato) ed il mondo esterno sono rappresentabili mediante il seguente diagramma di
contesto:



                    richiesta identificazione
                                                                                                                                    dati cliente
                                                                                                                               aggiungi/canc. cliente

                     dati identificazione
                                                                                    Gestione                                                      riscontro
                    sch eda amb ulat orio
                  lista prestazioni effettuate
   Cliente                               io                                  Ambulatorio                                                            richiesta
                                                                                                                                                ricerca cliente          Veterinario
                                                                                                                                                                         Amministratore
                    ric hies ta de tta gl                                                                                                        inform. cliente
                                                                                                                                                                                 *
                                                                                                                                            inform. ricerca
                                                                                                                                              esito cliente
                           de tta glio
                                                                        ti

                                                 ric o v d a a n ima le



                                                                                              o
                                                                 v e ra




                                                                                         o v e ra t




                                                                                                                           Riscontro prestazione
                                                                                                                              ris c o n
                                            li ric o




                                                                                                        reg is tra
                                                        e ra t o

                                                                                        a le ric




                                                                                                                                        t
                                                                                                                                  ro a t t iv
                                                          e
                                         n ima

                                                 ta s ch




                                                                                                   Dati prestazione
                                                                                                            a tt iv it à
                                                                                a a n im
                                             a
                                     lis t a




                                                                                                                                       it à
                                                                s
                                                       ric h ie



                                                                             s ch e d




                                                                     Veterinario*
                                                                    Amministratore



                                                                                                                                                                   * terminatore duplicato




                                                                                                                                                                                             26
4.1 Descrizione del diagramma di contesto

4.1.1 Individuazione dei terminatori

       Cliente

       E’ il proprietario degli animali in cura presso l’ambulatorio. Ha la possibilità di visualizzare
       le cure prescritte al proprio animale, o di controllare come procede la degenza quando
       l’animale è ricoverato in ambulatorio.

       Veterinario
       Il veterinario ha la responsabilità di gestire le principali attività ambulatoriale. Esso ha il
       compito di inserire i dati di un cliente e dei suoi animali assistiti in ambulatorio e registrare
       ogni prestazione eseguita. Esso ha la possibilità di visualizzare l’elenco delle prestazioni
       effettuate sull’animale assistito.


4.1.2 Flussi di dati in ingresso al sistema

   •   dati identificazione
       I clienti forniscono i dati di identificazione (username e password)

   •   richiesta dettaglio
       I clienti chiedono di visualizzare le informazioni ambulatoriali del suo animale

   •   dati cliente
       Il veterinario fornisce i dati di un cliente da inserire nella base dati.

   •   richiesta inform. cliente
       Il veterinario chiede di visualizzare informazioni relative a un cliente

   •   richiesta scheda animale
       il veterinario chiede di visualizzare informazioni ambulatoriali su un animale assistito

   •   dati prestazione
       il veterinario fornisce i dati relativa alla prestazione che vuole registrare (le prestazioni
       possono essere: visita, ricovero, dimissione, esame di laboratorio).

4.1.3 Flussi di dati in uscita dal sistema

   •   richiesta identificazione
       Il sistema richiede ai clienti i dati per l’identificazione.

   •   lista prestazioni effettuate
       Il sistema visualizza l’elenco cronologico delle prestazioni effettuate presso l’ambulatorio
       sugli animali del cliente.




                                                                                                       27
•   dettaglio
    Il sistema visualizza l’informazione richiesta dal cliente (visualizza informazione dettagliata
    su una prestazione effettuata presso l’ambulatorio).

•   inform. cliente
    il sistema visualizza l’informazione richiesta dal veterinario

•   lista animali ricoverati
    Il sistema visualizza la lista degli animali ricoverati.

•   scheda animale
    Il sistema visualizza l’informazione richiesta dal veterinario


•   riscontro prestazione
    il sistema visualizza la convalida della prestazione




                                                                                                 28
5 Specifica delle funzioni

5.1 Diagramma di flusso di livello 0 – DFD 0




                                                                                                                                                            te
                                                   t o rio




                                                                                                                                                       n
                              Lista prestazioni



                                                                            o




                                                                                                                                                   lie
                                                                        g li




                                                                                                                                                .c
                                                                       tt a
                                     effettuate
                                                   la




                                                                                                                                              nc
                                              mb u


                                                                   de




                                                                                                                                               a
                                                                                                                                           i/c
                                                                  ta




                                                                                      o




                                                                                                                                                                      t ro
                                                                                  g li
                                            da a




                                                                                                                                         ng
                                                              ie s
                                                                                                                            Dati cliente




                                                                                                                                                                 on
                                                                                 tta




                                                                                                                                    g iu
                                                             h




                                                                                                                                                                 c
                                                         ric
                                          s ch e




                                                                                de




                                                                                                                                                             ris
                                                                                                                                   ag
                                                                                                                                                                                   e
                                                                                                                                                                              en t
                                                                                                                                                                 richiestaliinformazione
   rich ie st a                                                                                                                                                            ac
                id   en tificazio
                                                                                                                                                                  r ic e rc cliente
                                    ne
                                                             1.
                                                                                                                                    2.                                       informazione  ca
    d a ti id e                                                                                                                                                                        ce r
                  n tifica zi                   Produce                                             proprietario                                                                   o ri
                             one                rilascia                                                                                                                     e s it cliente
                                             informazione                                                                       gestione
                                            informazione
                                                 on-line                                                                         clienti
                                                on-line




                       scheda ambulatorio
                        scheda prestazioni


                                                                                          animale                                  Dati prestazione ità
                                                                                                                                              a a t t iv
                                                                                                                                                   t    r
                                                                                                                                           re g is

                                                                                                                                         riscontro prestazione it à
                                                                                                                                                      a t t iv
                                                                                                                                                         o    n t ro
                                                                                                                                                   ris c
                         4.                                                                                            3.
                                                                                                                                                                    d a an                 imale
                                                                                                                                                          ta s ch e to
                                                                                                                                                ric h ies           ra
                  crea                                                            visita                            gestione                               rico v e
                scheda                                                                                               attività
              ambulatorio
              prestazioni                                                                                                                                                                  v erat o
                                                                                                                                                             imale rico
                                                                                                                                                        scheda animale
                                                                                                                                               sc h ed a an


                                                                                esamiLab
                                                                                                                                              lista animali ricoverati



                                                                                                                                                                                      ti
                                                                                                                                                                           v   e ra
                                                                                                                                                                      ic o
                                                                                                                                                                a li r
                                                                                                                                                    a   a   n im
                                                                                                                                              lis t



                                                                                                                       5.
                                                                                ricovero
                                                                                                                   crea lista
                                                                                                                    animali
                                                                                                                   ricoverati




                                                                                                                                                                                                      29
5.1.1 Descrizione diagramma di flusso di livello 0 – DFD 0
Processo 1: produce informazione on-line

Nome             Produce informazione on-line
terminatore
                 Cliente
Scopo            Fornisce l’elenco delle prestazioni effettute e per ognuna di esse poter richiedere
                 dettagli.

Scenario principale di successo:

           1.   Il sistema richiede username e password
           2.   Il cliente inserisce username e password
           3.   Il sistema visualizza un elenco di prestazioni effettuate
           4.   Il cliente seleziona una prestazione effettuata
           5.   Il sistema visualizza il dettaglio della prestazione effettuata


Processo 2: gestione clienti (vedi DFD 2)

Nome             Gestione clienti
terminatore
                 Veterinario
Scopo            inserire dati nuovi clienti, cancellare i dati clienti, visualizzare informazioni
                 clienti.


Processo 3: gestione attività (vedi DFD 3)

Nome             Gestione attività
terminatore
                 Veterinario
Scopo
                 Registra prestazioni, fornisce lista animali ricoverati, fornisce scheda
                 animale


Processo 4: crea scheda prestazioni

Nome             Crea scheda prestazioni
terminatore
                 Utilizzato dal processo 1
Scopo             fornisce scheda prestazioni effettuate




                                                                                                     30
5.2 Diagramma di flusso di livello 1 – DFD 2




                                                             aggiungi
                                                             inserimento                                                             nte
                                                                                                                                 clie
                                                                                                                     Dati ca nc.
                                                                                                                        i/ cliente
                                                                                                                     ung
                                                                                                                 aggi
                           2.1

                        inserire                                 animale
                       dati cliente                                                           cancella




                                                                                                     a
                                                                                               c e ll
                                                                                              can
                                              proprietario


                                                                                   2.2

                                                                                 cancella
                                                                                cancella
                                                                               dati cliente




                   o
                ntr
              co
        ris

                                                                                                             e   t
                                                                                                           lie n
                                                                                              Richiesta inform.
                                                                                                        ac
                                                                                                   e rc
                                                                                                   cliente
                                                                 2.3                                ric


                                       a                       ricerca
                                    c erc
                           Inform.ricliente                    cliente
                                to
                             es i




                                                                         proprietario




                                                                                                                                           31
5.2.1 Descrizione diagramma di flusso di livello 1 – DFD 2
Processo 2.1: inserire dati cliente

Nome             Inserire dati cliente
terminatore
                 Veterinario
Scopo            Inserire i dati associati ad un cliente proprietario di animali che desidera curare i
                 propri animali in questo ambulatorio. L’operazione include l’inserimento dei dati
                 degli animali posseduti dal cliente

Scenario principale di successo:

               1. Il veterinario inserisce i dati del cliente e dei relativi animali posseduti
               2. Il sistema inserisce i dati nella base dati


Processo 2.2: cancella dati cliente

Nome             Cancella dati cliente
terminatore
                 Veterinario
Scopo            Cancellare i dati associati ad un cliente. L’operazione include la cancellazione dei
                 dati degli animali posseduti dal cliente.

Scenario principale di successo:

               1. Il veterinario richiede informazioni su un cliente
               2. il sistema visualizza le informazioni del cliente con l’informazione relativa agli
                  animali posseduti
               3. il veterinario cancella i dati relativi ad un animale posseduto dal cliente
               4. il sistema aggiorna la base dati


Processo 2.3: Ricerca cliente

Nome             Ricerca cliente
Terminatore
                 Veterinario
Scopo            Cercare informazioni su un cliente

Scenario principale di successo:

               1. Il veterinario inserisce il codice fiscale del cliente.
               2. Il sistema visualizza le informazioni del cliente.




                                                                                                       32
5.3Diagramma di flusso di livello 1 – DFD 3



                                                            3.1

                                                        aggiorna                                      di
                                                                                                        mi
                                                      dati ricovero                                       ss
                                                                                                               io
                                                                                                                  n   e




                                                                                                                                                                       ità
                                                                          box disponibile




                                                                                                                                                                  attiv
                                                                                                                                                               Dati
                                                                                                                                                            prestazione




                                                                                                                                                                   tra
                                                                                                                                                             regis
                         ro
                      ont




                                              ricovero
                    risc
 risc




  riscontro                                                                            3.2
      ont




 prestazione
          ro




                                                                                    verifica                      ric o v
         atti




                                                                                                                          e     ro
                                                                                 disponibilità
             vità




                                                                                      box

                                                         nibile
                                                    dispo
                                                non_
                                            box_
                                      ontro                                                                          ita
                               risc                                                                              vis
                                                                            3.3

                                      riscontro                           inserisci
                                                                         dati visita




                                                                                                                                     rio
                                                                                                                                     o
                                                                                                                                ra t
                                                         visita




                                                                                                                              bo
                                                                                                                              la
                              ris


                                                                                                                           me
                                  co
                                    ntr
                                                                                                                      es a
                                       o

                                                                           3.4

                                                                         inserisci
                                                                      dati esamiLab


                                           esamiLab                                                                     an         imale
                                                                                                                 h ed a
                                                                                                          ta s c       to
                                                                                                 ric h ies ico v e ra
                                                                                                            r


                                                                                                                                                        o
                                                                              3.5                                                            v   e ra t
                                                                                                                                       ric o
                                                                                                                                a le
                              visita
                                                                         crea scheda                                      a n im
                                                                                                               ed a
                                                                           animale                      s ch
                                                                          ricoverato

                                                                                                               lista animali ricoverati


                                ricovero
                                                                                                        3.6

                                                                                                  crea lista
                                                                                                   animali
                                                                                                  ricoverati




                                                                                                                                                                             33
5.3.1 Descrizione diagramma di flusso di livello 1 – DFD 3
Processo 3.1: aggiorna dati ricovero

Nome              Aggiorna dati ricovero
terminatore
                  Veterinario
Scopo             Registrazione della prestazione di ricovero se il numero Box assegnato è
                  disponibile.
                  Registrazione dell’attività di dimissione

Scenario principale di successo (caso registrazione della prestazione di ricovero):

                1. Il veterinario inserisce il numero Box assegnato all’animale
                2. il sistema verifica la disponibilità del Box. In caso affermativo registra l’attività
                   alla data e ora in cui si verifica, in caso negativo visualizza che il box è già
                   occupato.

Scenario principale di successo (caso registrazione della prestazione di dismissione):

                1. Il veterinario inserisce la causa della dimissione
                2. il sistema registra la prestazione di dimissione alla data e ora in cui si verifica.


Processo 3.3: inserisci dati visita

Nome              Inserisci dati visita
terminatore
                  Veterinario
Scopo             Inserire l’informazione associata alla prestazione di visita


Scenario principale di successo:

                1. il veterinario inserisce i dati della visita
                2. il sistema inserisce i dati nella base dati


Processo 3.4: inserisci dati esami laboratorio

Nome              Inserisci esamiLab
Terminatore
                  Veterinario
Scopo             Inserire l’informazione associata alla prestazione di un esame di laboratorio




                                                                                                          34
Scenario principale di successo:

               1. Il veterinario inserisce i dati dell’esame di laboratorio
               2. Il sistema inserisce i dati nella base dati




                                                                              35
Processo 3.5: crea scheda animale

Nome             Crea scheda animale
Terminatore
                 Veterinario
Scopo            Fornire i dati ambulatoriali riguardanti un animale

Scenario principale di successo (caso animale non ricoverato):

               1. Il veterinario inserisce il codice dell’animale
               2. Il sistema visualizza lo storico dell’animale


Scenario principale di successo (caso animale ricoverato):

               1. Il veterinario seleziona l’animale ricoverato dalla lista degli animali ricoverati.
               2. Il sistema visualizza lo storico dell’animale


Processo 3.6: Crea lista animali ricoverati

Nome             Crea lista animali ricoverati
Terminatore
                 Veterinario
Scopo            Fornire la lista degli animali attualmente ricoverati

Scenario principale di successo :

               1. Il veterinario accede al sistema.
               2. Il sistema visualizza la lista degli animali attualmente ricoverati




                                                                                                        36
5.4 Dizionario dei dati


dati identificazione =        username + password
lista prestazione effettuata = {(foto) + nome + specie + razza + data prestazione + tipo
                               prestazione} * dati riferiti ad animale*
data prestazione =             giorno + mese + anno + ora +minuti + secondi
tipo prestazione =            [visita | ricovero | dimissione | esame laboratorio]
dettaglio =                   animale + data prestazione + diagnosi + terapia + farmaci + dieta
animale =                     (foto) + nome + specie + razza + sesso + data nascita
data nascita =                giorno + mese + anno
dati cliente =                proprietario + animale
proprietario =                nome + indirizzo + telefono + codice fiscale + username + password
dati prestazione =            [visita | ricovero | dimissione | esami lab]
visita =                      (temperatura) + (peso) + (freq. Cardiaca) + diagnosi + terapia +
                              (farmaci) + (dieta) + data prestazione
ricovero =                    numeroBox + data inizio
data inizio                   giorno + mese + anno + ora +minuti + secondi
dimissione =                  causa + data fine
data fine =                   giorno + mese + anno + ora +minuti + secondi
esami Lab =                   tipo esame + (file analisi) + risultato + data prestazione
lista animali ricoverati =    {(foto) + nome + specie + razza +data ricovero + numeroBox}
scheda animale =              proprietario + animale + lista prestazione effettuata




                                                                                                  37
6 Glossario termini

Ambulatorio veterinario   E’ la struttura avente organizzazione autonoma dall’ambiente privato,
                          presso la quale uno o più medici veterinari erogano prestazioni
                          sanitarie
Animale d’affezione       Animali da compagnia, fra cui i più comuni sono cane ed il gatto
Base di dati              Archivio elettronico in grado di gestire e archiviare dati organizzati,
                          sui quali effettuare eventuali ricerche successive
Bottoni di navigazione    L’insieme degli elementi grafici presenti nelle pagine web per poter
                          richiamare altre pagine
Cliente                   Chi ricorre alle prestazioni di qualcuno. Nel contesto del documento è
                          il proprietario di animali che ricorre alle prestazioni del medico
                          veterinario per curare i propri animali
Convalida                 Conferma
DBMS                      Data Base Management System – E’ il sistema che gestisce il database
Degenza                   Nel contesto del documento è degente l’animale ricoverato
                          nell’ambulatorio veterinario
Diagnosi                  Definizione della natura di una malattia e sua classificazione in base ai
                          sintomi
Diagramma DFD             Formalismo grafico di facile lettura per descrivere le funzioni del
                          sistema
Diagramma di contesto     E’ un diagramma DFD che evidenzia l’interazione tra il sistema ed il
                          mondo esterno
Dizionario dati           E’ un elenco organizzato di tutti gli elementi di dati che riguardano il
                          sistema
File esame                E’ il risultato (in forma elettronica) fornito dal laboratorio di analisi
Form                      Pagina in HTML che contiene dei campi riempibili con testo, dei check
                          e dei menu a discesa per scegliere tra diverse opzioni, quindi inviare al
                          sistema
HTML                      Linguaggio per scrivere pagine web
Informazione on-line      Informazione ricevuta quando si è connessi ad internet
Link                      Testo o immagine presente sulle pagine Internet che, con un click,
                          trasporta in un'altra pagina
Login                     Viene considerato login quando sia necessario digitare un username e
                          password per accedere a dei servizi
NumeroBox                 Numero che identifica la cuccia di ricovero degli animali
Prestazione               Ciò che il veterinario adempie: può essere una visita un esame di
                          laboratorio un ricovero o una dimissione
Razza                     Nel contesto del documento l’insieme degli animali della stessa specie
Riscontro                 Verifica
Scheda animale            Scheda che riassume i dati dell’animale
Storico dell’animale      Scheda costituita da un elenco di prestazioni effettuate sull’animale da
                          quando è in cura presso l’ambulatorio.
Terapia                   Insieme dei mezzi per curare una malattia
Terminatore               E’ un elemento presente nei diagrammi di flusso e rappresenta una
                          persona o una organizzazione al di fuori del sistema modellato (viene
                          anche detto interfaccia)
Web                       Un ipertesto distribuito, multimediale, interattivo, fluido


                                                                                                38
Ambulatorio
veterinario on-line



        Progettazione

               Della

         Base di dati




                   39
Table of contents



1 Introduzione........................................................................................................................................ 3
1.1Obiettivo del documento ........................................................................................................... 3
1.2 Riferimenti ........................................................................................................................................ 3
1.3 Struttura del documento .......................................................................................................... 3
2 Progettazione dello schema concettuale ........................................................................ 4
2.1 Schema ER (Entity - Relationship) .................................................................................. 4
2.1.1 Scelte fatte nella fase di progettazione concettuale ......................................................... 5
2.2 Glossario delle entità e delle relazioni ......................................................................... 6
2.3 Volume dei dati.............................................................................................................................. 7
3 Progettazione logica ...................................................................................................................... 8
3.1 Schema ER ristrutturato.......................................................................................................... 9
3.2 Ristrutturazione dello schema E-R ................................................................................ 10
3.2.1 Specifica di vincoli esterni........................................................................................................ 10
3.3 Schema Relazionale ................................................................................................................. 11
3.3.1 Ristrutturazione dello schema logico ................................................................................... 11
3.4 Schema Logico ............................................................................................................................. 12
4 Progettazione fisica ..................................................................................................................... 13
4.1 Creazione del data base ........................................................................................................ 13




                                                                                                                                                      40
1 Introduzione
L’architettura della base di dati verrà descritta a partire dallo schema concettuale fino ad arrivare al
codice SQL sviluppato per l’implementazione del progetto.

1.1    Obiettivo del documento

Lo scopo che si prefigge questo documento è quello di spiegare nel dettaglio tutte le scelte
effettuate nella progettazione della base di dati, sulla base delle richieste dell’utente formalizzate nei
requisiti utente e funzionali.

1.2    Riferimenti

[1] “Requisiti Utente e Specifiche funzionali”
[2] “Progettazione del sistema”

1.3    Struttura del documento

Il presente documento è così strutturato:

   1. Introduzione: definisce gli obiettivi del documento e riporta i riferimenti.

   2. Progettazione schema concettuale: descrive lo schema ER e le scelte effettuate.

   3. Progettazione logica e fisica : trasformazione delle specifiche concettuali sui dati in una
      vera e propria base di dati relazionale in SQL.




                                                                                                       41
2 Progettazione dello schema concettuale

2.1 Schema ER (Entity - Relationship)


               cf                nome indirizzo



       telefono

    userName              Proprietario
     password
                                   (1,N)


    Codice                       Ha
    Anagrafe codice
             canina
                                                                                       Data_oraInizio

                                   (1,1)
           specie
            nome
           razza            Animale                                                         Ricovero
           sesso                                             Va_in
                                                  (0,N)                        (1,1)
    dataNascita
        fileFoto
                        (0,N)         (0,N)




                                                          numeroBox      Ricovero                             Ricovero
                                                                         in corso                             concluso
                  EffettuaEsame


                                                                                                  Data_oraFine        causa
                                                                      data_ora
 data_ora                (1,1)

                                                                                                                 temperatura
                    EsamiLab                                                                                     peso
                                                                                         Visita                  fc
                                                    EffettuaVisita                                               diagnosi
                                                                       (1,1)
                                                                                                          cura
                                                                                                                           farmaci
                                      risultato
            tipoEsame   fileAnalisi
                                                                        farmaci        dieta terapia motivo                dieta




                                                                                                                               42
2.1.1 Scelte fatte nella fase di progettazione concettuale

Introduzione delle entità:

   •   Dalle specifiche si evince che i clienti dell’ambulatorio devono avere animali. Quindi
       introduciamo l’entità PROPRIETARIO (chi possiede l’animale) e l’entità ANIMALE
       (animale posseduto)
   •   Dalle specifiche si nota che l’animale può effettuare una visita, un esame di laboratorio un
       ricovero, o una dimissione qualora è stato ricoverato. Quindi introduciamo le entità VISITA
       (contiene i dati di una visita) ESAMILAB (contiene i dati di un esame) e l’entità
       RICOVERO che ha RICOVERO IN CORSO e RICOVERO CONCLUSO come
       generalizzazione.

Introduzione delle relazioni:

   •   Tra le entità proprietario e animale introduciamo la relazione HA per modellare il requisito
       di possesso “un proprietario possiede almeno un animale, un animale ha un solo
       proprietario”

   •   Tra le entità animale e visita introduciamo la relazione EFFETTUA VISITA per modellare
       il requisito “ un animale può non effettuare visite o effettuare più visite, i dati di una visita
       sono relativi ad uno ed un solo animale”

   •   Tra le entità animale e esami laboratorio introduciamo la relazione EFFETTUA ESAME per
       modellare il requisito “ un animale può non effettuare esami o effettuare più esami, i dati di
       un esame sono relativi ad uno ed un solo animale”

   •   Tra le entità animale e ricovero introduciamo la relazione VA_IN per modellare il requisito
       “ un animale può non essere mai ricoverato o subire più ricoveri, i dati di un ricovero sono
       relativi ad uno ed un solo animale”

Scelta degli identificatori:

   •   Per l’entità proprietario si è scelto l’attributo CODICE FISCALE come chiave primaria, e
       gli attributi USERNAME e PASSWORD come identificatori non primari

   •   Per l’entità animale viene associato come chiave un CODICE numerico

   •   Per l’entità ricovero viene assegnato un identificatore esterno tra l’attributo
       DATA_ORA_INIZIO e l’entità ANIMALE perché si ritiene che nello stesso istante non può
       essere ricoverato più di un animale.

   •   Per l’entità visita viene assegnato un identificatore esterno tra l’attributo DATA_ORA e
       l’entità ANIMALE perché si ritiene che nello stesso istante non può essere visitato più di un
       animale.

   •   Per l’entità esamiLab viene assegnato un identificatore esterno tra l’attributo DATA_ORA
       e l’entità ANIMALE perché si ritiene che nello stesso istante non può essere effettuato un
       esame su più animali.


                                                                                                       43
2.2 Glossario delle entità e delle relazioni

Nome Entità      Descrizione                                    Attributi                         Identificatore
                                                                Cf,nome,indirizzo,                PrimaryKey{Cf}
Proprietario     I dati di un cliente proprietario di animali   username, password,               Unique{username,
                                                                telefono                          Password}
                                                                Specie, nome, razza,
Animale          I dati dell’animale posseduto dal proprietario sesso, dataNascita,               PrimaryKey{Codice}
                                                                file foto, codice
                                                                                                Identificatore
                                                                        Data_ora, temperatura,
                 I dati relativi alle visite effettuate dagli                                   esterno con
Visita                                                                  peso, fc, diagnosi,
                 animali                                                                        Animale{codice} e
                                                                        terapia, farmaci, dieta
                                                                                                data_ora
                                                                                                Identificatore
                 I dati relativi agli esami di laboratorio              Data_ora, tipoEsame,    esterno con
EsamiLab
                 Effettuati dagli animali                               file esame, risultato   Animale{codice} e
                                                                                                data_ora
                                                                                                Identificatore
                                                                                                esterno
Ricovero         Può essere in corso o concluso                         Data inizio             Con
                                                                                                Animale{codice}
                                                                                                e data_ora
Ricovero in
                 Generalizzazione di Ricovero                           numeroBox
corso
Ricovero
                 Generalizzazione di ricovero                           Data_fine, causa
Concluso




Nome Relazione Descrizione             Entità Coinvolte         cardinalità                 motivazione
                                       Proprietario             (1,N)         Un proprietario deve avere almeno un
                 Indica animali                                               animale
Ha               posseduti dal
                 proprietario          Animale                  (1,1)         Un animale è posseduto da un solo
                                                                              proprietario
                                       Animale                  (0,N)         un animale può non essere mai
                 Indica                                                       ricoverato o subire più ricoveri
Va_in            l’accettazione a
                 un ricovero           Ricovero                 (1,1)         i dati di un ricovero sono relativi ad uno
                                                                              ed un solo animale
                                    Animale                     (0,N)         un animale può non effettuare visite o
                 Indica                                                       effettuare più visite
EffettuaVisita   l’effettuazione di
                 una visita         Visita                      (1,1)         i dati di una visita sono relativi ad uno
                                                                              ed un solo animale
                                    Animale                     (0,N)         un animale può non effettuare esami o
                 Indica
                                                                              effettuare più esami
                 l’effettuazione di
EffettuaEsame
                 un esame di
                                    EsamiLab                    (1,1)         i dati di un esame sono relativi ad uno
                 laboratorio
                                                                              ed un solo animale




                                                                                                                      44
2.3 Volume dei dati



                                                           Dei 200 clienti
Tavola dei volumi (riferiti in un anno)                    dell’ambulatorio mediamente
         Concetto <Nome>       Tipo E/R                    ognuno possiede 2 animali.
                                          Volume
                                          <Dim>
    proprietario           E              200
    ha                     R              400
    animale                E              400             Mediamente un animale
                                                          subisce un ricovero ogni 3-4
    ricovero               E              100             anni. 400*1/4=100
    va_in                  R              100
    visita                 E              1200
    effettua visita        R              1200            Mediamente un animale
                                                          effettua 3 visite l’anno.
    EsameLab               E              400             400*3=1200
    Effettua esame         R              400




                                                   Mediamente un animale
                                                   effettua 1 esame di laboratorio
                                                   l’anno.
                                                   400*1=400




                                                                                         45
3 Progettazione logica
L’ obiettivo della progettazione logica è tradurre lo schema concettuale in uno schema logico che
rappresenti gli stessi dati:
   •   in ingresso:
          schema concettuale (diagramma ER);
          informazioni sul carico applicativo;
   •   in uscita:
          schema logico;
          vincoli aggiuntivi.




                                                                                                    46
3.1 Schema ER ristrutturato


            id_proprietario
                               cf     nome indirizzo



       telefono

     userName                  Proprietario
      password
                                        (1,N)



                                      Ha                                             Data_oraInizio Data_oraFine
        id_animale                                                                                            numeroBox
                                                                            id_ricovero
                                        (1,1)
           specie
           nome
            razza               Animale                                                              Ricovero
           sesso
                                                                    Va_in              (1,1)
                                                        (0,N)
    dataNascita
        fileFoto
                              (0,N)        (0,N)

                                                                                                           causa   tipo




                                                                                                                     data_ora
                      EffettuaEsame                                                                                  temperatura
                                                                             (1,1)                                   peso
                                                          EffettuaVisita                       Visita                fc
                                                                                                                     diagnosi
 id_esame                                                                                                            terapia

                              (1,1)                                                                                 id_visita
                                                                                     farmaci      dieta   motivo

                       EsamiLab



      data_ora                              risultato
                    tipoEsame fileAnalisi




                                                                                                                                   47
3.2 Ristrutturazione dello schema E-R

   •   Eliminazioni delle gerarchie (accorpamento delle entità figlie ricovero in corso e ricovero
       concluso nell’entità padre ricovero ).

   •   Sono stati introdotti identificatori ad hoc (es: id_esame) per non usare chiavi complesse nel
       collegamento delle tabelle (chiavi composte da più attributi o basate su stringhe).



3.2.1 Specifica di vincoli esterni

Nella ristrutturazione è necessario formulare dei vincoli esterni. In particolare dovremo specificare
vincoli dovuti alla eliminazione delle generalizzazioni.

Per tener conto delle proprietà della generalizzazione si aggiungono opportuni vincoli esterni, detti
vincoli di generalizzazione, quindi le proprietà:

       •   istanze(Ricovero in corso) ∩ istanze(Ricovero concluso) = 0
       •   istanze(Ricovero in corso) ∪ istanze(Ricovero concluso) = istanze(Ricovero)




                                                                                                     48
3.3 Schema Relazionale

traduzione dallo schema E-R ristrutturato ad uno schema logico equivalente del modello
relazionale.

In base alle regole relative alle associazioni uno a molti, è stato prodotto il seguente schema
relazionale:

       •   Proprietario(id_proprietario, cf, nome, indirizzo, telefono, userName, password)

       •   Animale(id_animale, ha, specie, nome, razza, sesso, dataNascita, fileFoto)

       •   Ricovero(id_ricovero, va_in, dataInizio, dataFine, causa, numeroBox, tipo)

       •   Visita(Id_visita, effettuaVisita, data_ora, temperatura, peso, fc, diagnosi, terapia,
           farmaci, dieta, motivo)

       •   EsamiLab(id_esami, effettuaEsame, tipoEsame, data_ora, fileAnalisi, risultato)


Sono presenti i seguenti vincoli di integrità referenziale (detti anche vincoli di chiave esterna):

       •   Proprietario.id_proprietario e Animale.ha

       •   Animale.id_animale e Ricovero.va

       •   Animale.id_animale e EsamiLab.EffettuaEsame

       •   Animale.id_animale e Visita.EffettuaVisita



                                    3.3.1 Ristrutturazione dello schema logico

L’ultimo passo che porta ad avere un corretto schema logico è la ristrutturazione del medesimo.
 La ristrutturazione si rende necessaria per migliorare aspetti legati all’efficienza della base dati.
        Ma visto il volume dei dati basso non è necessario ristrutturazioni verso l’efficienza.




                                                                                                      49
3.4 Schema Logico


                                               Ricovero

                                               Id_ricovero
                                               Va_in
                                           ∞   DataInizio
Proprietario                                   DataFine
                                               Causa
Id_proprietario                                NumeroBox
Cf                1                            Tipo
Nome                     Animale
Indirizzo
                                       1
Telefono                 Id_animale
UserName                 Ha
Password              ∞ Specie                 Visita
                         Nome
                         Razza                 Id_visita
                         Sesso                 EffettuaVisita
                         DataNascita       ∞ Data_ora
                         FileFoto              Temperatura
                                               Peso
                                               Fc
                                               Diagnosi
                                               Terapia
                                               Farmaci
                                               Dieta
                                               Motivo




                                               EsamiLab

                                               Id_esame
                                               EffettuaEsame
                                           ∞ TipoEsame
                                               Data_ora
                                               FileAnalisi
                                               Risultato




                                                                50
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line
documento sistema informativo ambulatorio veterinario on-line

Contenu connexe

Similaire à documento sistema informativo ambulatorio veterinario on-line

Centro cardiologico monzino forum pa 2019 telemedicina
Centro cardiologico monzino forum pa 2019 telemedicinaCentro cardiologico monzino forum pa 2019 telemedicina
Centro cardiologico monzino forum pa 2019 telemedicinavanessaccm
 
e-Detailing: la comunicazione medico scientifica con efficacia promozionale
e-Detailing: la comunicazione medico scientifica con efficacia promozionalee-Detailing: la comunicazione medico scientifica con efficacia promozionale
e-Detailing: la comunicazione medico scientifica con efficacia promozionaleMerqurio
 
Word premio forum pa sanita 2021 vaccination on the road
Word premio forum pa sanita 2021   vaccination on the roadWord premio forum pa sanita 2021   vaccination on the road
Word premio forum pa sanita 2021 vaccination on the roadSilvia Baroni
 
Net hospital technoscience premio forum pa sanita 2021 template ppt
Net hospital technoscience premio forum pa sanita 2021   template pptNet hospital technoscience premio forum pa sanita 2021   template ppt
Net hospital technoscience premio forum pa sanita 2021 template pptFelicePaoloArcuri1
 
Net hospital technoscience premio forum pa sanita 2021 template ppt
Net hospital technoscience premio forum pa sanita 2021   template pptNet hospital technoscience premio forum pa sanita 2021   template ppt
Net hospital technoscience premio forum pa sanita 2021 template pptFelice Paolo Arcuri
 
Premio FORUM PA Sanita 2022 - Poliambulanza - DocumentoTecnico.pdf
Premio FORUM PA Sanita 2022 - Poliambulanza - DocumentoTecnico.pdfPremio FORUM PA Sanita 2022 - Poliambulanza - DocumentoTecnico.pdf
Premio FORUM PA Sanita 2022 - Poliambulanza - DocumentoTecnico.pdfAlessiaTracconaglia
 
LA SICUREZZA DELLE APPARECCHIATURE ELETTROMEDICALI: PROTEZIONE DEL DATO CLINICO
LA SICUREZZA DELLE APPARECCHIATURE ELETTROMEDICALI:  PROTEZIONE DEL DATO CLINICOLA SICUREZZA DELLE APPARECCHIATURE ELETTROMEDICALI:  PROTEZIONE DEL DATO CLINICO
LA SICUREZZA DELLE APPARECCHIATURE ELETTROMEDICALI: PROTEZIONE DEL DATO CLINICOconvegnonazionaleaiic
 
Ospedale diffuso
Ospedale diffusoOspedale diffuso
Ospedale diffusoFPA
 
Net hospital technoscience premio forum pa sanita 2021 template word
Net hospital technoscience premio forum pa sanita 2021   template wordNet hospital technoscience premio forum pa sanita 2021   template word
Net hospital technoscience premio forum pa sanita 2021 template wordFelice Paolo Arcuri
 
Premio forum pa sanita 2021 template word 1
Premio forum pa sanita 2021   template word  1Premio forum pa sanita 2021   template word  1
Premio forum pa sanita 2021 template word 1NOOBBOOM
 
Premio FORUM PA Sanità_2019_KIRANET-HOMECARE
Premio FORUM PA Sanità_2019_KIRANET-HOMECAREPremio FORUM PA Sanità_2019_KIRANET-HOMECARE
Premio FORUM PA Sanità_2019_KIRANET-HOMECAREkiranetsrl
 
Premio forum pa sanita 2021 best app - fondazione besta - slide
Premio forum pa sanita 2021   best app - fondazione besta - slidePremio forum pa sanita 2021   best app - fondazione besta - slide
Premio forum pa sanita 2021 best app - fondazione besta - slideSimona Floridia
 
Spazio Ottagono della Ricerca e dell'Innovazione 19_9
Spazio Ottagono della Ricerca e dell'Innovazione 19_9Spazio Ottagono della Ricerca e dell'Innovazione 19_9
Spazio Ottagono della Ricerca e dell'Innovazione 19_9Apulian ICT Living Labs
 
Premio forum pa sanita 2021 template word
Premio forum pa sanita 2021   template wordPremio forum pa sanita 2021   template word
Premio forum pa sanita 2021 template wordmauroquattrone2
 
Algotrain: algoritmo diagnostico terapeutico  per l’educazione continua in me...
Algotrain: algoritmo diagnostico terapeutico  per l’educazione continua in me...Algotrain: algoritmo diagnostico terapeutico  per l’educazione continua in me...
Algotrain: algoritmo diagnostico terapeutico  per l’educazione continua in me...Studio Saperessere
 
I4 pa cura premiopa sostenibile 2018 descrizione
I4 pa cura premiopa sostenibile 2018 descrizioneI4 pa cura premiopa sostenibile 2018 descrizione
I4 pa cura premiopa sostenibile 2018 descrizioneEnrico Baldelli
 
Premio forum pa sanita 2021 documento di approfondimento
Premio forum pa sanita 2021   documento di approfondimentoPremio forum pa sanita 2021   documento di approfondimento
Premio forum pa sanita 2021 documento di approfondimentoAntoniettaSantoro
 

Similaire à documento sistema informativo ambulatorio veterinario on-line (20)

Biotech health
Biotech healthBiotech health
Biotech health
 
Centro cardiologico monzino forum pa 2019 telemedicina
Centro cardiologico monzino forum pa 2019 telemedicinaCentro cardiologico monzino forum pa 2019 telemedicina
Centro cardiologico monzino forum pa 2019 telemedicina
 
e-Detailing: la comunicazione medico scientifica con efficacia promozionale
e-Detailing: la comunicazione medico scientifica con efficacia promozionalee-Detailing: la comunicazione medico scientifica con efficacia promozionale
e-Detailing: la comunicazione medico scientifica con efficacia promozionale
 
Word premio forum pa sanita 2021 vaccination on the road
Word premio forum pa sanita 2021   vaccination on the roadWord premio forum pa sanita 2021   vaccination on the road
Word premio forum pa sanita 2021 vaccination on the road
 
Net hospital technoscience premio forum pa sanita 2021 template ppt
Net hospital technoscience premio forum pa sanita 2021   template pptNet hospital technoscience premio forum pa sanita 2021   template ppt
Net hospital technoscience premio forum pa sanita 2021 template ppt
 
Net hospital technoscience premio forum pa sanita 2021 template ppt
Net hospital technoscience premio forum pa sanita 2021   template pptNet hospital technoscience premio forum pa sanita 2021   template ppt
Net hospital technoscience premio forum pa sanita 2021 template ppt
 
Premio FORUM PA Sanita 2022 - Poliambulanza - DocumentoTecnico.pdf
Premio FORUM PA Sanita 2022 - Poliambulanza - DocumentoTecnico.pdfPremio FORUM PA Sanita 2022 - Poliambulanza - DocumentoTecnico.pdf
Premio FORUM PA Sanita 2022 - Poliambulanza - DocumentoTecnico.pdf
 
LA SICUREZZA DELLE APPARECCHIATURE ELETTROMEDICALI: PROTEZIONE DEL DATO CLINICO
LA SICUREZZA DELLE APPARECCHIATURE ELETTROMEDICALI:  PROTEZIONE DEL DATO CLINICOLA SICUREZZA DELLE APPARECCHIATURE ELETTROMEDICALI:  PROTEZIONE DEL DATO CLINICO
LA SICUREZZA DELLE APPARECCHIATURE ELETTROMEDICALI: PROTEZIONE DEL DATO CLINICO
 
Ospedale diffuso
Ospedale diffusoOspedale diffuso
Ospedale diffuso
 
Net hospital technoscience premio forum pa sanita 2021 template word
Net hospital technoscience premio forum pa sanita 2021   template wordNet hospital technoscience premio forum pa sanita 2021   template word
Net hospital technoscience premio forum pa sanita 2021 template word
 
Premio forum pa sanita 2021 template word 1
Premio forum pa sanita 2021   template word  1Premio forum pa sanita 2021   template word  1
Premio forum pa sanita 2021 template word 1
 
Pres imprese_solo_17_9
Pres imprese_solo_17_9Pres imprese_solo_17_9
Pres imprese_solo_17_9
 
Premio FORUM PA Sanità_2019_KIRANET-HOMECARE
Premio FORUM PA Sanità_2019_KIRANET-HOMECAREPremio FORUM PA Sanità_2019_KIRANET-HOMECARE
Premio FORUM PA Sanità_2019_KIRANET-HOMECARE
 
Contact fiera innonetwork3_ow
Contact fiera innonetwork3_owContact fiera innonetwork3_ow
Contact fiera innonetwork3_ow
 
Premio forum pa sanita 2021 best app - fondazione besta - slide
Premio forum pa sanita 2021   best app - fondazione besta - slidePremio forum pa sanita 2021   best app - fondazione besta - slide
Premio forum pa sanita 2021 best app - fondazione besta - slide
 
Spazio Ottagono della Ricerca e dell'Innovazione 19_9
Spazio Ottagono della Ricerca e dell'Innovazione 19_9Spazio Ottagono della Ricerca e dell'Innovazione 19_9
Spazio Ottagono della Ricerca e dell'Innovazione 19_9
 
Premio forum pa sanita 2021 template word
Premio forum pa sanita 2021   template wordPremio forum pa sanita 2021   template word
Premio forum pa sanita 2021 template word
 
Algotrain: algoritmo diagnostico terapeutico  per l’educazione continua in me...
Algotrain: algoritmo diagnostico terapeutico  per l’educazione continua in me...Algotrain: algoritmo diagnostico terapeutico  per l’educazione continua in me...
Algotrain: algoritmo diagnostico terapeutico  per l’educazione continua in me...
 
I4 pa cura premiopa sostenibile 2018 descrizione
I4 pa cura premiopa sostenibile 2018 descrizioneI4 pa cura premiopa sostenibile 2018 descrizione
I4 pa cura premiopa sostenibile 2018 descrizione
 
Premio forum pa sanita 2021 documento di approfondimento
Premio forum pa sanita 2021   documento di approfondimentoPremio forum pa sanita 2021   documento di approfondimento
Premio forum pa sanita 2021 documento di approfondimento
 

Plus de Nelson Firmani

Layer di persistenza in una applicazione Eclipse RCP
Layer di persistenza in una applicazione Eclipse RCPLayer di persistenza in una applicazione Eclipse RCP
Layer di persistenza in una applicazione Eclipse RCPNelson Firmani
 
Sviluppo di applicazioni in E(fx)clipse capitolo 02-rev01-20072018
Sviluppo di applicazioni in E(fx)clipse capitolo 02-rev01-20072018Sviluppo di applicazioni in E(fx)clipse capitolo 02-rev01-20072018
Sviluppo di applicazioni in E(fx)clipse capitolo 02-rev01-20072018Nelson Firmani
 
Eclipse Lifecycle chapter 04
Eclipse Lifecycle chapter 04Eclipse Lifecycle chapter 04
Eclipse Lifecycle chapter 04Nelson Firmani
 
Sviluppo di applicazioni in eclipse
Sviluppo di applicazioni in eclipseSviluppo di applicazioni in eclipse
Sviluppo di applicazioni in eclipseNelson Firmani
 
eclipse capitolo7: Transitions for Windows, Dialogs and Perspectives
eclipse capitolo7: Transitions for Windows, Dialogs and Perspectiveseclipse capitolo7: Transitions for Windows, Dialogs and Perspectives
eclipse capitolo7: Transitions for Windows, Dialogs and PerspectivesNelson Firmani
 
Modelli di linee di trasmissione nelson firmani
Modelli di linee di trasmissione   nelson firmaniModelli di linee di trasmissione   nelson firmani
Modelli di linee di trasmissione nelson firmaniNelson Firmani
 
Progettazione di un convertitore analogico digitale in architettura multistadio
Progettazione di un convertitore analogico digitale in architettura multistadioProgettazione di un convertitore analogico digitale in architettura multistadio
Progettazione di un convertitore analogico digitale in architettura multistadioNelson Firmani
 

Plus de Nelson Firmani (7)

Layer di persistenza in una applicazione Eclipse RCP
Layer di persistenza in una applicazione Eclipse RCPLayer di persistenza in una applicazione Eclipse RCP
Layer di persistenza in una applicazione Eclipse RCP
 
Sviluppo di applicazioni in E(fx)clipse capitolo 02-rev01-20072018
Sviluppo di applicazioni in E(fx)clipse capitolo 02-rev01-20072018Sviluppo di applicazioni in E(fx)clipse capitolo 02-rev01-20072018
Sviluppo di applicazioni in E(fx)clipse capitolo 02-rev01-20072018
 
Eclipse Lifecycle chapter 04
Eclipse Lifecycle chapter 04Eclipse Lifecycle chapter 04
Eclipse Lifecycle chapter 04
 
Sviluppo di applicazioni in eclipse
Sviluppo di applicazioni in eclipseSviluppo di applicazioni in eclipse
Sviluppo di applicazioni in eclipse
 
eclipse capitolo7: Transitions for Windows, Dialogs and Perspectives
eclipse capitolo7: Transitions for Windows, Dialogs and Perspectiveseclipse capitolo7: Transitions for Windows, Dialogs and Perspectives
eclipse capitolo7: Transitions for Windows, Dialogs and Perspectives
 
Modelli di linee di trasmissione nelson firmani
Modelli di linee di trasmissione   nelson firmaniModelli di linee di trasmissione   nelson firmani
Modelli di linee di trasmissione nelson firmani
 
Progettazione di un convertitore analogico digitale in architettura multistadio
Progettazione di un convertitore analogico digitale in architettura multistadioProgettazione di un convertitore analogico digitale in architettura multistadio
Progettazione di un convertitore analogico digitale in architettura multistadio
 

Dernier

Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 

Dernier (9)

Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 

documento sistema informativo ambulatorio veterinario on-line

  • 1. REALIZZAZIONE DEL PROGETTO AMBULATORIO VETERINARIO ON-LINE Ing. Nelson Firmani Dipartimento di Ingegneria Elettrica Università di L’Aquila, AQ 67040, Italy 1
  • 2. Ambulatorio veterinario on-line Studio diFattibilita’ Requisiti Utente e specifiche Funzionali del Sistema Progettazione Della Base di dati Progettazione Del sistema 2
  • 3. Ambulatorio veterinario on-line Studio di Fattibilita’ 3
  • 4. Table of contents 1 Il contesto dello studio ................................................................................................................. 2 2 Progetto di massima ...................................................................................................................... 4 2.1 Obiettivi .............................................................................................................................................. 4 2.2 Funzioni del sistema .................................................................................................................. 4 2.3 Natura e caratteristica dei dati da gestire.................................................................. 5 2.4 Aspetti tecnologici ....................................................................................................................... 6 2.5 Analisi costi-benefici e analisi rischio .......................................................................... 7 Glossario dei termini ....................................................................................................................... 10 4
  • 5. STUDIO DI FATTIBILITA’ finalizzato alla realizzazione del progetto ambulatorio veterinario on-line 1 Il contesto dello studio In Italia negli ultimi anni è cresciuta la presenza di strutture sanitarie veterinarie private. Dei 30000 veterinari iscritti nell’apposito albo tenuto dagli ordini provinciali dei medici veterinari, più del 60% esercita la libera professione sia in forma singola che associata. Inoltre nel settore si assiste ad una sempre maggiore specializzazione basata sul tipo di prestazione: Qualche anno fa, il veterinario si occupava prevalentemente di animali da reddito ospitati da aziende zootecniche. Oggi si parla sempre più di veterinario di città per indicare colui che si dedica quasi esclusivamente alla cura degli animali di compagnia, fra cui i più comuni sono il cane ed il gatto. La differente specializzazione si riflette sulle condizioni e modalità di esercizio delle attività e sulla tipologia ed organizzazione della struttura adibita all’esercizio dell’attività. In questo ambito si individuano i seguenti tipi di strutture sanitarie veterinarie private: • Studio veterinario E’ l’ambiente privato dove vengono erogate le prestazioni che non comportano la degenza, oltre quella giornaliera. • Ambulatorio veterinario E’ l’ambiente costituito da una sala d’attesa e da una o più sale per l’esecuzione delle prestazioni diagnostiche e terapeutiche. Uno o più medici erogano prestazioni sanitarie che possono comportare anche una degenza giornaliera. • Cliniche veterinarie. Si tratta di strutture sanitarie più complesse ove è prevista la possibilità di una degenza superiore a quella giornaliera e la 5
  • 6. presenza di un medico veterinario 24 ore su 24. Le strutture più ricorrenti sono senza dubbio gli ambulatori veterinari in quanto attraverso gli stessi viene fornito un servizio di più ampia richiesta. La realtà della citta di Teramo riguardo alla presenza di strutture sanitarie veterinarie private è la seguente: • 4 ambulatori privati • 1 clinica veterinaria Da una indagine sui 4 ambulatori privati si è scoperto che non esiste una raccolta dei dati ambulatoriali informatizzati né tantomeno servizi on-line o siti web informativi. Tutti i dati connessi alla diagnosi e cura degli animali e alla gestione dei clienti proprietari degli animali è quasi assente o al più in forma cartacea. L’idea di un sistema informatico finalizzato alla raccolta dei dati ambulatoriali è nata dai colloqui tenuti con un medico veterinario proprietario di un ambulatorio sito nella città di Teramo. L’esigenza principale manifestata dal medico è stata quella di avere a disposizione in maniera semplice tutte le informazioni storiche relative ad un animale in cura presso l’ambulatorio. E quella di un sito web per la promozione del suo ambulatorio che non fosse solo una vetrina ma offrisse un servizio utile ai propri clienti. Se trascuriamo le problematiche relative alla sicurezza dei dati (esigenza non necessaria) dal punto di vista tecnologico il progetto è di facile attuazione con costi contenuti. L’unico fattore di criticità è rappresentato dall’impatto che l’introduzione delle nuove procedure informatizzate può produrre sulla preesistente organizzazione lavorativa. Se l’impatto è troppo traumatico, è inevitabile che nascano fenomeni di reazione che si oppongono al corretto funzionamento del nuovo sistema dovuto anche alla non sempre adeguata confidenza con le tecnologie informatiche da parte dei fruitori del servizio. 6
  • 7. 2 Progetto di massima Il progetto di massima consiste nella descrizione degli elementi portanti e delle linee di realizzazione del progetto ambulatorio veterinario on-line. L’elaborazione del progetto di massima risponde principalmente all’esigenza di verificare la fattibilità del progetto e di stimarne costi, benefici e tempi, quindi la descrizione del progetto in termini di dettaglio è limitato alle componenti principali del sistema informativo e all’esame dei casi normali o generali. 2.1 Obiettivi 1. Promuovere l’ambulatorio veterinario attraverso un sito web e dotando la propria clientela di un servizio on-line innovativo. 2. Un nuovo scenario lavorativo nel quale sia davvero più semplice operare all’interno dell’attività ambulatoriale e dove l’uso del computer possa essere un valido aiuto. Ma nello stesso tempo evitare un impatto traumatico delle nuove procedure informatizzate su una preesistente organizzazione lavorativa. 2.2 Funzioni del sistema Sulla base dei numerosi colloqui avuti con il cliente si possono elencare alcuni dei requisiti utente che devono essere considerati nello studio di fattibilità. La prima parte del progetto riguarda: • La creazione del sito http://www.ambulatorioonline.it/ La prima pagina deve consentire di valutare immediatamente il contenuto informativo di tutto il sito che potrebbe essere riassunto in 3 sezioni: o Presentazione dell’ambulatorio veterinario o Servizi di community quali ad esempio: FAQ e news inerenti il mondo animale. o La fornitura di un servizio alla clientela dell’ambulatorio. Questo prevvede la possibilità di accedere attraverso internet alle informazioni riguardanti i propri animali trattati in ambulatorio. Secondo alcune interviste a possibili utenti è emerso che questo servizio è particolarmente gradito quando il proprio animale è ricoverato in ambulatorio e si vuole sapere 7
  • 8. come procede la degenza. La seconda parte del progetto, in un certo senso il cuore del progetto, prevede la informatizzazione della raccolta dei dati durante l’attività ambulatoriale: • L’inserimento dei dati ambulatoriali ad opera del veterinario deve essere semplice ed avvenire attraverso una interfaccia web: Gli strumenti di navigazione (link, bottoni, trova ecc. ) devono essere sempre ben visibili e possibilmente conservare la stessa posizione in tutte le pagine e consentire rapidamente di tornare alla pagina menù. • La raccolta e la gestione dei dati deve riprodurre il più possibile l’abituale modo di lavorare del medico veterinario. • Prevedere applicativi che facilitino la pubblicazione e la gestione delle informazioni minimizzando le modifiche delle pagine web del sito. • Prevedere una gestione delle autorizzazione all’accesso del sistema 2.3 Natura e caratteristica dei dati da gestire Per poter memorizzare dati è pratica corrente progettare e realizzare un sistema i nformativo automatizzato che si basa sulla tecnologia delle basi di dati. In un ambulatorio veterinario è possibile individuare due settori applicativi: 1. Gestione degli animali assistiti (anagrafe del proprietario, informazioni sull’animale, dati clinici); 2. Gestione amministrativa dell’attività ambulatoriale: gestione del bilancio, dei capitoli spesa, di atti amministrativi. Il progetto mira ad informatizzare il primo settore applicativo. 8
  • 9. L’insieme dei dati riguardanti il primo settore applicativo è costituita certamente da: • dati numerici e testuali per la gestione dei clienti • dati numerici e testuali per la gestione degli animali assistiti; • dati numerici e testuali per la gestione dei dati clinici • dati immagine previsti per la memorizzazione della foto dell’animale. Il volume dei dati previsto è basso. 9
  • 10. 2.4 Aspetti tecnologici In questa sezione si presenta le diverse soluzioni tecnologiche offerte dal mercato in termini di ambiente di sviluppo di linguaggio di programmazione e di data base da utilizzare. Il panorama delle principali soluzioni disponibili sul mercato sono: • Ambiente di sviluppo Microsoft su piattaforma Microsof: Per lo sviluppo di soluzioni web based la scelta è quasi obbligata: Windows 2000 Server o Windows NT, SQL Server 2000, IIS (Internet Information Server) come web server e tecnologia ASP.NET per la costruzione dell'applicazione. Asp è l'acronimo di ACTIVE SERVER PAGES, le istruzioni contenute nelle pagine ASP vengono elaborate dal web server per produrre vari effetti che vanno dalla formattazione automatica dei contenuti, all'accesso tramide ODBC ad informazioni remote indipendentemente dal database usato. • Ambiente di sviluppo Java E’ portabile su qualsiasi piattaforma, non prendiamo in considerazione la classica piattaforma java, server Sun e database ORACLE in quanto il volume di dati scambiato nel nostro caso è basso ed inoltre questo tipo di piattaforma è tra le più costose.Prendiamo invece in considerazione l’ambiente di sviluppo Open Source Java su piattaforma Linux con qualunque database di qualità disponibile sul mercato (MySQL http://www.mysql.com e PostgreSQL http://www.postgresql.org sono le scelte tipiche). Entrambi questi database hanno dimostrato ottimi risultati quando utilizzati in progetti piccoli e medio/piccoli. Nel nostro caso specifico le due soluzioni sono certamente adeguate al volume di dati previsto. MySQL è Free Software, PostgreSQL è sotto licenza BSD, che è una licenza Open Source ma non Free Software. Quindi l’ambiente di sviluppo java su piattaforma linux con Mysql come data base relazionale e server Apache Tomcat come web server e contenitore JSP e servlet e di Eclipse (Eclipse è un editor di servlets e di JSP è scritto in Java ed è open source) come strumento di sviluppo potrebbe essere una scelta economicamente molto vantaggiosa 10
  • 11. grazie alla licenza Open source. • Ambiente Open Source su piattaforma Linux con web server apache databse Mysql e linguaggio PHP per lo sviluppo dell’applicazione. In conclusione i risparmi di natura economica in una scelta Open Source sono sensibili. Per quanto riguarda la scelta del linguaggio di programmazione di pagine dinamiche che interagiscono con le informazioni contenute in un database risiedente sul server web la scelta può essere tra CGI Perl, PHP, ASP, JSP e Servlet: • CGI : ogni volta che viene richiamato uno script Cgi (scritto in un qualsiasi linguaggio), viene avviato un nuovo processo sul server Web, questo comporta problemi di sovraccaricamento del server. • PHP: E’ un linguaggio di scripting simile al C molto semplice da apprendere. Tra i pregi del Php ci sono la velocità, la robustezza e il fatto che essendo Open Source si ha la visibilità sui sorgenti e la possibilità di correggere errori e apportare migliorie. • ASP: Tecnologia legata all’ambiente Microsoft Windows con Internet Information Server. Le pagine ASP includono istruzioni scrite in “VBSCRIPT” oppure “JSCRIPT” che vengono elaborate dal server. • JSP (Java Server Page) e Servlet: La Servlet è una classe java orientata alla comunicazione client-server, mentre la pagina JSP è un modo più semplice per scrivere servlet. Infatti una pagina jsp contiene codice HTML misto a codice Java che viene trasformata dal server container (es: APACHE Tomcat) in una servlet e quindi compilata. Non solo bisogna conoscere il linguaggio Java e le innumerevoli classi di cui è composto Ma anche una nuova filosofia di programmazione, quella orientata agli oggetti. 11
  • 12. Un breve confronto fra i linguaggi a disposizione porta ad individuare Php da abbinare a HTML CSS e Javascript come linguaggio da utilizzare per lo sviluppo dell’applicazione. La scelta è motivata in base alle seguenti considerazioni: PHP è open source, adatto alle dimensioni del progetto e rispetto a JSP consente un costo di sviluppo molto più basso. 2.5 Analisi costi-benefici e analisi rischio In questa parte del documento si evidenzieranno i costi di sviluppo e di esercizio del progetto. Le principali voci che costituiscono i costi di sviluppo riguarda in particolar modo l’ambiente di sviluppo software (già analizzato nella parte del documento relativo agli aspetti tecnologici) e il costo dovuto all’impegno di risorse umane. Per quanto riguarda i costi operativi o di esercizio occorre individuare la soluzione più idonea per la gestione del sito. Escluse a priori le soluzioni completamente interna (homing) per i costi elevati e completamente esterna (outsourcing), in quanto l’inserimento dati deve essere eseguito dal medico veterinario, restano da confrontare due possibili soluzioni: • HOUSING La soluzione che lascia la maggiore libertà di gestione all'utente è quella che prevede l'acquisto di un server e di software specifico. L'utente, una volta realizzato il sistema, potrà stipulare un contratto di housing con un Internet Access Provider, che inserirà il server nella sua rete locale collegata ad Internet. Ma i problemi hardware di un computer in housing non possono, ovviamente, essere risolti da remoto e inoltre le spese di acquisto del server e di gestione di hardware e sistema operativo sono consistenti. Si potrebbe adottare la soluzione noleggio server. Il mercato attualmente offre questo tipo di soluzione al prezzo di circa 250 Euro mensili. • HOSTING Un contratto di hosting prevede la possibilità per il cliente di operare sul server del provider in relativa autonomia, limitatamente allo spazio assegnatogli. I vantaggi di tale soluzione sono evidenti: 12
  • 13. l'utente non si deve fare carico del costo dell'hardware e non ha inoltre bisogno di reclutare personale tecnico in grado di gestirlo. A ciò bisogna aggiungere che il costo dell' hosting, a parità di banda disponibile, è di norma molto più basso di quello di un normale housing. Il costo di un contratto di hosting dipende da fattori come il livello di autonomia operativa e la qualità del servizio (il cui primo parametro di valutazione è ovviamente costituito dalle dimensioni della banda disponibile). La macchina del provider ospita il server dell’azienda e può essere amministrata a distanza in alcune sue funzionalità: nei contenuti delle pagine Web, caselle di posta, con strumenti di gestione e analisi degli accessi al sito, attraverso la configurazione di applicazioni quali mailing list e consultazioni di database online. Il mercato attualmente offre questo tipo di soluzione a partire da 60 Euro l’anno. Vedi tabella 2 Tabella Server Dedicati Offerte Intel Celeron Traffico Costo di Canone mensile CPU RAM HD mensile attivazione (Euro) Intel Celeron 1.3 512MB 60GB 700GB Gratuito 199,00 Intel Celeron 1.3 1 GB 60GB 700GB Gratuito 199,00 OFFERTA Intel Celeron 1.3 1 GB (2) 60GB 700GB Gratuito 258,00 Intel Celeron 1.7 512MB 60GB 700GB Gratuito 199,00 OFFERTA Intel Celeron 1.7 1 GB 60GB 700GB Gratuito 238,00 Intel Celeron 1.7 1 GB (2) 60GB 700GB Gratuito 278,00 Offerte Intel Pentium 4 Traffico Costo di CPU RAM HD Canone mensile mensile attivazione Intel Pentium 4 512MB 60GB 700GB Gratuito 238,00 2.0 Intel Pentium 4 512MB 80GB 700GB Gratuito 258,00 2.0 Intel Dual Xeon Costo di CPU RAM HD Transfer Canone mensile attivazione Intel Dual Xeon 512MB 73GB SCSI 700GB Gratuito 398,00 2.0 13
  • 14. Intel Dual Xeon (2) 73GB 1 GB 1200GB Gratuito 498,00 2.0 SCSI Intel Dual Xeon 1 GB (2) 120GB 1200GB Gratuito 498,00 2.0 Tabella 1 (dati eurosito.it) 14
  • 15. Tabella offerta hosting Piano STANDARD Hosting Linux con 60,00 € l'anno Dominio Sistema operativo Linux RedHat 1 Dominio .com, .net, .org, .it 100 MB di spazio disco 10 e-mail alias e-mail illimitati 2 GB di Trasferimento Mensile Pannello di controllo Cpanel Supporto PHP4, CGI/Perl, MySQL Piano PROFESSIONAL Hosting Linux 90,00 € l'anno con Dominio Sistema operativo Linux RedHat 1 Dominio .com, .net, .org, .it 200 MB di spazio disco 20 e-mail alias e-mail illimitati 3 GB di Trasferimento Mensile Pannello di controllo Cpanel Supporto PHP4, CGI/Perl, MySQL Piano ADVANCED Hosting Linux con 135,00 € l'anno Dominio Sistema operativo Linux RedHat 1 Dominio .com, .net, .org, .it 500 MB* di spazio disco illimitate e-mail alias e-mail illimitati 6 GB** di Trasferimento Mensile Pannello di controllo Cpanel 15
  • 16. Supporto PHP4, CGI/Perl, MySQL Tabella 2 (dati eurosito.it) L' hosting costituisce un buon compromesso tra flessibilità del sistema e difficoltà di gestione, ad un costo decisamente più contenuto di quello dell' housing. In termini di benefici sebbene difficili da monetizzare il progetto sicuramente potrà produrre significativi miglioramenti del servizio reso alla clientela, una migliore gestione dell’attività ambulatoriale, una riduzione dei tempi di risposta e una riduzione dei supporti cartacei. Quanto ai rischi inerenti il progetto è rappresentato dall’impatto che l’introduzione delle nuove procedure informatizzate può produrre sulla preesistente organizzazione lavorativa. Se l’impatto è troppo traumatico, è inevitabile che nascano fenomeni di reazione che si oppongono al corretto funzionamento del nuovo sistema. In ultima analisi è da tenere presente che il sistema gestisce informazioni non critiche, per il quale un eventuale malfunzionamento comporta danni limitati. 16
  • 17. Glossario dei termini Applicativo Insieme di procedure (software) in grado di processare dati secondo modalità definite DB, Data Base Archivio elettronico in grado di gestire e archiviare dati organizzati, sui quali effettuare eventuali ricerche successive DBMS Data Base Management System – E’ il sistema che gestisce il database Hosting Servizio che prevede di ospitare applicativi e/o siti presso un computer di proprietà del fornitore di servizi in modalità condivisa con altri utenti Housing Servizio che prevede di ospitare applicativi e/o siti presso un computer in modalità non condivisa con altri utenti presso il fornitore di servizi HW HardWare: tutto ciò che costituisce fisicamente una unità di elaborazione/computer Interfaccia E’ la parte di un pacchetto SW orientata a facilitare il dialogo tra la macchina utente e l’utilizzatore (es.: in un database è la maschera di interrogazione con i vari strumenti che permette all’utilizzatore di estrarre le informazioni che cerca dall’archivio) Internet La più grande rete dati pubblica mondiale ISP Internet Service Provider – Fornitore di servizi Internet JDBC Java data base connetivity (soluzione tecnologica per far comunicare applivcativi java con qualunque database Open Source Si dice di programmi di cui sia liberamente disponibile il sorgente ODBC Open data base connetivity (soluzione tecnologica per far comunicare applicativi con qualunque database) Protocollo Modalità di interscambio di dati Server Sistema “centrale” cardine di una rete informativa SW SoftWare: insieme di procedure che rendono possibili il trattamento di informazioni in modalità definita in ambiente di elaborazione dati automatico Web Browser E’ il software che consente di muoversi in Internet e di accedere alle risorse ivi disponibili 17
  • 18. 18
  • 19. Ambulatorio veterinario on-line Requisiti Utente e Specifiche Funzionali del Sistema 19
  • 20. Table of contents 1 Introduzione........................................................................................................................................ 3 1.1 Obiettivo del documento ......................................................................... 3 1.2 Struttura del documento .......................................................................................................... 3 2 Requisiti utente ................................................................................................................................. 4 3 Requisiti funzionali ....................................................................................................................... 5 3.1 Gestione informazione on-line ............................................................................................ 5 3.1.1 Visualizzazione ................................................................................................................................ 5 3.2 Gestione cliente ............................................................................................................................. 6 3.2.1 Inserimento ........................................................................................................... 6 3.2.2 Cancellazione ....................................................................................................... 6 3.2.3 Ricerca ................................................................................................................................................ 6 3.3 Gestione attività ............................................................................................................................ 7 3.3.1 Registrazione.................................................................................................................................... 7 3.3.2 Visualizzazione ................................................................................................................................ 7 4 Diagramma di contesto ............................................................................................................... 8 4.1 Descrizione del diagramma di contesto ....................................................................... 9 4.1.1 Individuazione dei terminatori ............................................................................. 9 4.1.2 Flussi di dati in ingresso al sistema ..................................................................... 9 4.1.3 Flussi di dati in uscita dal sistema .......................................................................................... 9 5 Specifica delle funzioni............................................................................................................. 11 5.1 Diagramma di flusso di livello 0 – DFD 0 ............................................................... 11 5.1.1 Descrizione diagramma di flusso di livello 0 – DFD 0 ................................................ 13 5.2 Diagramma di flusso di livello 1 – DFD 2 ............................................................... 14 5.2.1 Descrizione diagramma di flusso di livello 1 – DFD 2 ................................................ 15 5.3Diagramma di flusso di livello 1 – DFD 3 ................................................................ 16 5.3.1 Descrizione diagramma di flusso di livello 1 – DFD 3 ................................................ 17 5.4 Dizionario dei dati .................................................................................................................... 19 6 Glossario termini ........................................................................................................................... 20 20
  • 21. 1 Introduzione La raccolta dei requisiti nasce dai contatti preliminari che si sono tenuti con il Cliente per la realizzazione del progetto ambulatorio on line. 1.1 Obiettivo del documento Lo scopo che si prefigge questo documento è quello di raccogliere e formalizzare in modo chiaro le necessità dell'utente e stabilire un elenco di obblighi che il sistema deve soddisfare. Questo documento sarà alla base dell’intero sviluppo del progetto e costituirà la base da cui si ricaveranno i “Requisiti funzionali” e i diagrammi “DFD”. 1.2 Struttura del documento Il presente documento è così strutturato: 1. Introduzione: definisce gli obiettivi del documento. 2. Analisi dei requisiti utente: descrive la portata del progetto e individua gli utenti del sistema e le informazioni d’interesse per l’utente nel dominio considerato. 3. Analisi dei requisiti funzionali: descrive le funzionalità da automatizzare; tramite una specifica basata su “diagramma di contesto” e “DFD”. 21
  • 22. 2 Requisiti utente Un ambulatorio veterinario per solo animali d’affezione, al fine di offrire un servizio sempre più vicino alle esigenze dei suoi clienti, vuole dotare la propria clientela della possibilità di accedere alle informazioni riguardanti i propri animali trattati in ambulatorio. A tal fine è necessario informatizzare la raccolta dei dati durante l’attività ambulatoriale. Il sistema prevede due scenari di uso, legati ai due tipi di utente: cliente (proprietario dell’animale) e veterinario (amministratore dell’ambulatorio). Al cliente (proprietario dell’animale o degli animali) il sistema deve presentarsi come un normale sito web la cui pagina introduttiva deve contenere una presentazione del servizio e una richiesta di identificazione dell’utente. Dopo aver inserito una username e una password (che certifica l’identità dell’utente) si accede ad una pagina che riassume: i dati principali del proprietario e un elenco cronologico delle prestazioni effettuate presso l’ambulatorio sui propri animali. I dati relativi agli animali assistiti sono la principale fonte di informazione del sistema informativo da realizzare. La maggior parte di questi dati concorrono alla definizione delle prestazioni effettuate (storico dell’assistito). Ogni prestazione registrata è costituita: 1. dal tipo di prestazione che può essere una visita, un ricovero, una dimissioni o un esame di laboratorio. 2. Dai dati sull’animale (foto, nome, specie, razza, sesso, età) 3. Data e ora in cui è stata effettuata la prestazione Inoltre nel caso in cui la prestazione registrata è una visita il cliente può visualizzare informazioni più dettagliate quali diagnosi, terapia, dieta e farmaci. Il medico veterinario (amministratore dell’ambulatorio) gestisce i dati tramite una base di dati, un DBMS e un’interfaccia sviluppata in linguaggio Html. Dopo il login accede alla pagina principale costituita dal menù delle operazioni che può effettuare e dall’elenco degli animali attualmente ricoverati. Operando sui link presenti nella pagina il medico deve poter accedere, per ogni animale alla sua scheda (storico dell’assistito) che tiene traccia di tutte le prestazioni registrati presso l’ambulatorio. Inoltre per ogni prestazione il veterinario deve poter visualizzare informazioni più dettagliate: 1. nel caso di una visita:temperatura, peso, frequenza cardiaca, diagnosi, terapia, dieta, farmaci. 2. nel caso di un ricovero:numeroBox 3. nel caso di una dimissione: causa 4. nel caso di un esame di laboratorio: tipo esame, risultato, file esame. Dei bottoni di navigazione deve permettere al veterinario di accedere a dei form per poter: 1. Aggiungere, se non presente nel data base, l’anagrafe di un nuovo cliente e relativa informazione sugli animali posseduti. 2. Registrare ogni prestazioni effettuate e relative informazioni. 3. Effettuare ricerche nel data base 22
  • 23. 3 Requisiti funzionali 3.1 Gestione informazione on-line il sistema deve consentire ai clienti di consultare le informazioni relative a visite o ricoveri dei propri animali registrati dal veterinario. Le funzionalità sono: 3.1.1 Visualizzazione • scheda animale i dati da fornire sono: username e password. i dati da visualizzare sono: nome, cognome, indirizzo e telefono del proprietario. E per ogni animale posseduto la lista delle prestazioni registrate in ambulatorio, una prestazione può essere una visita, un ricovero, una dimissione e un esame di laboratorio; ed è caratterizzato dalla data e ora in cui è stata effettuata dal nome dalla specie dalla razza e dalla foto dell’animale coinvolto. • dettaglio (solo nel caso in cui la prestazione è una visita o un ricovero o una dimissione) i dati da visualizzare sono: nome, specie, razza, sesso, età e foto dell’animale. data e ora della prestazione Diagnosi, terapia, dieta e farmaci 23
  • 24. 3.2 Gestione cliente Il sistema deve consentire al veterinario di gestire i dati dei clienti e dei loro animali nella base dati. Le funzionalità sono: 3.2.1 Inserimento • di un cliente (colui che è proprietario di animali). i dati da fornire sono: Codice fiscale, nome, cognome, indirizzo, telefono, username, password • di un animale (posseduto dal cliente) i dati da fornire sono: Specie, nome, razza, sesso, data nascita, foto* (* indicano valori opzionali) 3.2.2 Cancellazione • di un cliente (colui che è proprietario di animale) i dati da fornire sono: codice fiscale • di un animale (posseduto dal cliente) i dati da fornire sono: nome e cognome cliente; specie e nome dell’animale 3.2.3 Ricerca • di un cliente (colui che è proprietario di animali). i dati da fornire sono: nome, cognome i dati da visualizzare sono: Codice fiscale, nome, cognome, indirizzo, telefono, username, password e l’elenco degli animali posseduti 24
  • 25. 3.3 Gestione attività Il sistema deve consentire al veterinario di registrare l’attività ambulatoriale nella base dati. Le funzionalità sono: 3.3.1 Registrazione • di una visita i dati da fornire sono: temperatura*, peso*, fc*, diagnosi,terapia, motivo, farmaci*, dieta*. Data e ora della registrazione (* indicano valori opzionali) • di un ricovero, che comprende la verifica disponibilità Box i dati da fornire sono: il numero Box. data e ora dell’inizio ricovero. • di una dimissione i dati da fornire sono: il numero Box, causa data e ora della fine ricovero • di un esame di laboratorio i dati da fornire sono: Tipo esame, risultato, file esame*. data e ora della registrazione (* indica valori opzionali) 3.3.2 Visualizzazione • lista di animali ricoverati i dati da visualizzare sono: specie, nome, numero Box, data e ora inizio ricovero di tutti gli animali ricoverati. • scheda di un animale i dati da fornire sono: codice animale i dati da visualizzare sono: codice fiscale, nome, cognome, indirizzo e telefono del proprietario dell’animale. specie, nome, razza, sesso, data di nascita e foto dell’animale. storico dell’animale (ovvero la lista delle prestazioni registrate in ambulatorio, una prestazione può essere una visita, un ricovero, una dimissione e un esame di laboratorio; ed è caratterizzato dalla data e ora in cui avviene. • dettaglio prestazione i dati da visualizzare nel caso in cui la prestazione è una visita sono: temperatura, peso, fc, diagnosi,terapia, farmaci, dieta. i dati da visualizzare nel caso in cui la prestazione è un ricovero sono: numero Box. i dati da visualizzare nel caso in cui la prestazione è una dimissione sono: causa i dati da visualizzare nel caso in cui la prestazione è un esame di laboratorio sono: tipoEsame, fileAnalisi e risultato 25
  • 26. 4 Diagramma di contesto L’interazione tra il sistema (cioè sostanzialmente l’insieme delle pagine web costituenti il software qui rappresentato) ed il mondo esterno sono rappresentabili mediante il seguente diagramma di contesto: richiesta identificazione dati cliente aggiungi/canc. cliente dati identificazione Gestione riscontro sch eda amb ulat orio lista prestazioni effettuate Cliente io Ambulatorio richiesta ricerca cliente Veterinario Amministratore ric hies ta de tta gl inform. cliente * inform. ricerca esito cliente de tta glio ti ric o v d a a n ima le o v e ra o v e ra t Riscontro prestazione ris c o n li ric o reg is tra e ra t o a le ric t ro a t t iv e n ima ta s ch Dati prestazione a tt iv it à a a n im a lis t a it à s ric h ie s ch e d Veterinario* Amministratore * terminatore duplicato 26
  • 27. 4.1 Descrizione del diagramma di contesto 4.1.1 Individuazione dei terminatori Cliente E’ il proprietario degli animali in cura presso l’ambulatorio. Ha la possibilità di visualizzare le cure prescritte al proprio animale, o di controllare come procede la degenza quando l’animale è ricoverato in ambulatorio. Veterinario Il veterinario ha la responsabilità di gestire le principali attività ambulatoriale. Esso ha il compito di inserire i dati di un cliente e dei suoi animali assistiti in ambulatorio e registrare ogni prestazione eseguita. Esso ha la possibilità di visualizzare l’elenco delle prestazioni effettuate sull’animale assistito. 4.1.2 Flussi di dati in ingresso al sistema • dati identificazione I clienti forniscono i dati di identificazione (username e password) • richiesta dettaglio I clienti chiedono di visualizzare le informazioni ambulatoriali del suo animale • dati cliente Il veterinario fornisce i dati di un cliente da inserire nella base dati. • richiesta inform. cliente Il veterinario chiede di visualizzare informazioni relative a un cliente • richiesta scheda animale il veterinario chiede di visualizzare informazioni ambulatoriali su un animale assistito • dati prestazione il veterinario fornisce i dati relativa alla prestazione che vuole registrare (le prestazioni possono essere: visita, ricovero, dimissione, esame di laboratorio). 4.1.3 Flussi di dati in uscita dal sistema • richiesta identificazione Il sistema richiede ai clienti i dati per l’identificazione. • lista prestazioni effettuate Il sistema visualizza l’elenco cronologico delle prestazioni effettuate presso l’ambulatorio sugli animali del cliente. 27
  • 28. dettaglio Il sistema visualizza l’informazione richiesta dal cliente (visualizza informazione dettagliata su una prestazione effettuata presso l’ambulatorio). • inform. cliente il sistema visualizza l’informazione richiesta dal veterinario • lista animali ricoverati Il sistema visualizza la lista degli animali ricoverati. • scheda animale Il sistema visualizza l’informazione richiesta dal veterinario • riscontro prestazione il sistema visualizza la convalida della prestazione 28
  • 29. 5 Specifica delle funzioni 5.1 Diagramma di flusso di livello 0 – DFD 0 te t o rio n Lista prestazioni o lie g li .c tt a effettuate la nc mb u de a i/c ta o t ro g li da a ng ie s Dati cliente on tta g iu h c ric s ch e de ris ag e en t richiestaliinformazione rich ie st a ac id en tificazio r ic e rc cliente ne 1. 2. informazione ca d a ti id e ce r n tifica zi Produce proprietario o ri one rilascia e s it cliente informazione gestione informazione on-line clienti on-line scheda ambulatorio scheda prestazioni animale Dati prestazione ità a a t t iv t r re g is riscontro prestazione it à a t t iv o n t ro ris c 4. 3. d a an imale ta s ch e to ric h ies ra crea visita gestione rico v e scheda attività ambulatorio prestazioni v erat o imale rico scheda animale sc h ed a an esamiLab lista animali ricoverati ti v e ra ic o a li r a a n im lis t 5. ricovero crea lista animali ricoverati 29
  • 30. 5.1.1 Descrizione diagramma di flusso di livello 0 – DFD 0 Processo 1: produce informazione on-line Nome Produce informazione on-line terminatore Cliente Scopo Fornisce l’elenco delle prestazioni effettute e per ognuna di esse poter richiedere dettagli. Scenario principale di successo: 1. Il sistema richiede username e password 2. Il cliente inserisce username e password 3. Il sistema visualizza un elenco di prestazioni effettuate 4. Il cliente seleziona una prestazione effettuata 5. Il sistema visualizza il dettaglio della prestazione effettuata Processo 2: gestione clienti (vedi DFD 2) Nome Gestione clienti terminatore Veterinario Scopo inserire dati nuovi clienti, cancellare i dati clienti, visualizzare informazioni clienti. Processo 3: gestione attività (vedi DFD 3) Nome Gestione attività terminatore Veterinario Scopo Registra prestazioni, fornisce lista animali ricoverati, fornisce scheda animale Processo 4: crea scheda prestazioni Nome Crea scheda prestazioni terminatore Utilizzato dal processo 1 Scopo fornisce scheda prestazioni effettuate 30
  • 31. 5.2 Diagramma di flusso di livello 1 – DFD 2 aggiungi inserimento nte clie Dati ca nc. i/ cliente ung aggi 2.1 inserire animale dati cliente cancella a c e ll can proprietario 2.2 cancella cancella dati cliente o ntr co ris e t lie n Richiesta inform. ac e rc cliente 2.3 ric a ricerca c erc Inform.ricliente cliente to es i proprietario 31
  • 32. 5.2.1 Descrizione diagramma di flusso di livello 1 – DFD 2 Processo 2.1: inserire dati cliente Nome Inserire dati cliente terminatore Veterinario Scopo Inserire i dati associati ad un cliente proprietario di animali che desidera curare i propri animali in questo ambulatorio. L’operazione include l’inserimento dei dati degli animali posseduti dal cliente Scenario principale di successo: 1. Il veterinario inserisce i dati del cliente e dei relativi animali posseduti 2. Il sistema inserisce i dati nella base dati Processo 2.2: cancella dati cliente Nome Cancella dati cliente terminatore Veterinario Scopo Cancellare i dati associati ad un cliente. L’operazione include la cancellazione dei dati degli animali posseduti dal cliente. Scenario principale di successo: 1. Il veterinario richiede informazioni su un cliente 2. il sistema visualizza le informazioni del cliente con l’informazione relativa agli animali posseduti 3. il veterinario cancella i dati relativi ad un animale posseduto dal cliente 4. il sistema aggiorna la base dati Processo 2.3: Ricerca cliente Nome Ricerca cliente Terminatore Veterinario Scopo Cercare informazioni su un cliente Scenario principale di successo: 1. Il veterinario inserisce il codice fiscale del cliente. 2. Il sistema visualizza le informazioni del cliente. 32
  • 33. 5.3Diagramma di flusso di livello 1 – DFD 3 3.1 aggiorna di mi dati ricovero ss io n e ità box disponibile attiv Dati prestazione tra regis ro ont ricovero risc risc riscontro 3.2 ont prestazione ro verifica ric o v atti e ro disponibilità vità box nibile dispo non_ box_ ontro ita risc vis 3.3 riscontro inserisci dati visita rio o ra t visita bo la ris me co ntr es a o 3.4 inserisci dati esamiLab esamiLab an imale h ed a ta s c to ric h ies ico v e ra r o 3.5 v e ra t ric o a le visita crea scheda a n im ed a animale s ch ricoverato lista animali ricoverati ricovero 3.6 crea lista animali ricoverati 33
  • 34. 5.3.1 Descrizione diagramma di flusso di livello 1 – DFD 3 Processo 3.1: aggiorna dati ricovero Nome Aggiorna dati ricovero terminatore Veterinario Scopo Registrazione della prestazione di ricovero se il numero Box assegnato è disponibile. Registrazione dell’attività di dimissione Scenario principale di successo (caso registrazione della prestazione di ricovero): 1. Il veterinario inserisce il numero Box assegnato all’animale 2. il sistema verifica la disponibilità del Box. In caso affermativo registra l’attività alla data e ora in cui si verifica, in caso negativo visualizza che il box è già occupato. Scenario principale di successo (caso registrazione della prestazione di dismissione): 1. Il veterinario inserisce la causa della dimissione 2. il sistema registra la prestazione di dimissione alla data e ora in cui si verifica. Processo 3.3: inserisci dati visita Nome Inserisci dati visita terminatore Veterinario Scopo Inserire l’informazione associata alla prestazione di visita Scenario principale di successo: 1. il veterinario inserisce i dati della visita 2. il sistema inserisce i dati nella base dati Processo 3.4: inserisci dati esami laboratorio Nome Inserisci esamiLab Terminatore Veterinario Scopo Inserire l’informazione associata alla prestazione di un esame di laboratorio 34
  • 35. Scenario principale di successo: 1. Il veterinario inserisce i dati dell’esame di laboratorio 2. Il sistema inserisce i dati nella base dati 35
  • 36. Processo 3.5: crea scheda animale Nome Crea scheda animale Terminatore Veterinario Scopo Fornire i dati ambulatoriali riguardanti un animale Scenario principale di successo (caso animale non ricoverato): 1. Il veterinario inserisce il codice dell’animale 2. Il sistema visualizza lo storico dell’animale Scenario principale di successo (caso animale ricoverato): 1. Il veterinario seleziona l’animale ricoverato dalla lista degli animali ricoverati. 2. Il sistema visualizza lo storico dell’animale Processo 3.6: Crea lista animali ricoverati Nome Crea lista animali ricoverati Terminatore Veterinario Scopo Fornire la lista degli animali attualmente ricoverati Scenario principale di successo : 1. Il veterinario accede al sistema. 2. Il sistema visualizza la lista degli animali attualmente ricoverati 36
  • 37. 5.4 Dizionario dei dati dati identificazione = username + password lista prestazione effettuata = {(foto) + nome + specie + razza + data prestazione + tipo prestazione} * dati riferiti ad animale* data prestazione = giorno + mese + anno + ora +minuti + secondi tipo prestazione = [visita | ricovero | dimissione | esame laboratorio] dettaglio = animale + data prestazione + diagnosi + terapia + farmaci + dieta animale = (foto) + nome + specie + razza + sesso + data nascita data nascita = giorno + mese + anno dati cliente = proprietario + animale proprietario = nome + indirizzo + telefono + codice fiscale + username + password dati prestazione = [visita | ricovero | dimissione | esami lab] visita = (temperatura) + (peso) + (freq. Cardiaca) + diagnosi + terapia + (farmaci) + (dieta) + data prestazione ricovero = numeroBox + data inizio data inizio giorno + mese + anno + ora +minuti + secondi dimissione = causa + data fine data fine = giorno + mese + anno + ora +minuti + secondi esami Lab = tipo esame + (file analisi) + risultato + data prestazione lista animali ricoverati = {(foto) + nome + specie + razza +data ricovero + numeroBox} scheda animale = proprietario + animale + lista prestazione effettuata 37
  • 38. 6 Glossario termini Ambulatorio veterinario E’ la struttura avente organizzazione autonoma dall’ambiente privato, presso la quale uno o più medici veterinari erogano prestazioni sanitarie Animale d’affezione Animali da compagnia, fra cui i più comuni sono cane ed il gatto Base di dati Archivio elettronico in grado di gestire e archiviare dati organizzati, sui quali effettuare eventuali ricerche successive Bottoni di navigazione L’insieme degli elementi grafici presenti nelle pagine web per poter richiamare altre pagine Cliente Chi ricorre alle prestazioni di qualcuno. Nel contesto del documento è il proprietario di animali che ricorre alle prestazioni del medico veterinario per curare i propri animali Convalida Conferma DBMS Data Base Management System – E’ il sistema che gestisce il database Degenza Nel contesto del documento è degente l’animale ricoverato nell’ambulatorio veterinario Diagnosi Definizione della natura di una malattia e sua classificazione in base ai sintomi Diagramma DFD Formalismo grafico di facile lettura per descrivere le funzioni del sistema Diagramma di contesto E’ un diagramma DFD che evidenzia l’interazione tra il sistema ed il mondo esterno Dizionario dati E’ un elenco organizzato di tutti gli elementi di dati che riguardano il sistema File esame E’ il risultato (in forma elettronica) fornito dal laboratorio di analisi Form Pagina in HTML che contiene dei campi riempibili con testo, dei check e dei menu a discesa per scegliere tra diverse opzioni, quindi inviare al sistema HTML Linguaggio per scrivere pagine web Informazione on-line Informazione ricevuta quando si è connessi ad internet Link Testo o immagine presente sulle pagine Internet che, con un click, trasporta in un'altra pagina Login Viene considerato login quando sia necessario digitare un username e password per accedere a dei servizi NumeroBox Numero che identifica la cuccia di ricovero degli animali Prestazione Ciò che il veterinario adempie: può essere una visita un esame di laboratorio un ricovero o una dimissione Razza Nel contesto del documento l’insieme degli animali della stessa specie Riscontro Verifica Scheda animale Scheda che riassume i dati dell’animale Storico dell’animale Scheda costituita da un elenco di prestazioni effettuate sull’animale da quando è in cura presso l’ambulatorio. Terapia Insieme dei mezzi per curare una malattia Terminatore E’ un elemento presente nei diagrammi di flusso e rappresenta una persona o una organizzazione al di fuori del sistema modellato (viene anche detto interfaccia) Web Un ipertesto distribuito, multimediale, interattivo, fluido 38
  • 39. Ambulatorio veterinario on-line Progettazione Della Base di dati 39
  • 40. Table of contents 1 Introduzione........................................................................................................................................ 3 1.1Obiettivo del documento ........................................................................................................... 3 1.2 Riferimenti ........................................................................................................................................ 3 1.3 Struttura del documento .......................................................................................................... 3 2 Progettazione dello schema concettuale ........................................................................ 4 2.1 Schema ER (Entity - Relationship) .................................................................................. 4 2.1.1 Scelte fatte nella fase di progettazione concettuale ......................................................... 5 2.2 Glossario delle entità e delle relazioni ......................................................................... 6 2.3 Volume dei dati.............................................................................................................................. 7 3 Progettazione logica ...................................................................................................................... 8 3.1 Schema ER ristrutturato.......................................................................................................... 9 3.2 Ristrutturazione dello schema E-R ................................................................................ 10 3.2.1 Specifica di vincoli esterni........................................................................................................ 10 3.3 Schema Relazionale ................................................................................................................. 11 3.3.1 Ristrutturazione dello schema logico ................................................................................... 11 3.4 Schema Logico ............................................................................................................................. 12 4 Progettazione fisica ..................................................................................................................... 13 4.1 Creazione del data base ........................................................................................................ 13 40
  • 41. 1 Introduzione L’architettura della base di dati verrà descritta a partire dallo schema concettuale fino ad arrivare al codice SQL sviluppato per l’implementazione del progetto. 1.1 Obiettivo del documento Lo scopo che si prefigge questo documento è quello di spiegare nel dettaglio tutte le scelte effettuate nella progettazione della base di dati, sulla base delle richieste dell’utente formalizzate nei requisiti utente e funzionali. 1.2 Riferimenti [1] “Requisiti Utente e Specifiche funzionali” [2] “Progettazione del sistema” 1.3 Struttura del documento Il presente documento è così strutturato: 1. Introduzione: definisce gli obiettivi del documento e riporta i riferimenti. 2. Progettazione schema concettuale: descrive lo schema ER e le scelte effettuate. 3. Progettazione logica e fisica : trasformazione delle specifiche concettuali sui dati in una vera e propria base di dati relazionale in SQL. 41
  • 42. 2 Progettazione dello schema concettuale 2.1 Schema ER (Entity - Relationship) cf nome indirizzo telefono userName Proprietario password (1,N) Codice Ha Anagrafe codice canina Data_oraInizio (1,1) specie nome razza Animale Ricovero sesso Va_in (0,N) (1,1) dataNascita fileFoto (0,N) (0,N) numeroBox Ricovero Ricovero in corso concluso EffettuaEsame Data_oraFine causa data_ora data_ora (1,1) temperatura EsamiLab peso Visita fc EffettuaVisita diagnosi (1,1) cura farmaci risultato tipoEsame fileAnalisi farmaci dieta terapia motivo dieta 42
  • 43. 2.1.1 Scelte fatte nella fase di progettazione concettuale Introduzione delle entità: • Dalle specifiche si evince che i clienti dell’ambulatorio devono avere animali. Quindi introduciamo l’entità PROPRIETARIO (chi possiede l’animale) e l’entità ANIMALE (animale posseduto) • Dalle specifiche si nota che l’animale può effettuare una visita, un esame di laboratorio un ricovero, o una dimissione qualora è stato ricoverato. Quindi introduciamo le entità VISITA (contiene i dati di una visita) ESAMILAB (contiene i dati di un esame) e l’entità RICOVERO che ha RICOVERO IN CORSO e RICOVERO CONCLUSO come generalizzazione. Introduzione delle relazioni: • Tra le entità proprietario e animale introduciamo la relazione HA per modellare il requisito di possesso “un proprietario possiede almeno un animale, un animale ha un solo proprietario” • Tra le entità animale e visita introduciamo la relazione EFFETTUA VISITA per modellare il requisito “ un animale può non effettuare visite o effettuare più visite, i dati di una visita sono relativi ad uno ed un solo animale” • Tra le entità animale e esami laboratorio introduciamo la relazione EFFETTUA ESAME per modellare il requisito “ un animale può non effettuare esami o effettuare più esami, i dati di un esame sono relativi ad uno ed un solo animale” • Tra le entità animale e ricovero introduciamo la relazione VA_IN per modellare il requisito “ un animale può non essere mai ricoverato o subire più ricoveri, i dati di un ricovero sono relativi ad uno ed un solo animale” Scelta degli identificatori: • Per l’entità proprietario si è scelto l’attributo CODICE FISCALE come chiave primaria, e gli attributi USERNAME e PASSWORD come identificatori non primari • Per l’entità animale viene associato come chiave un CODICE numerico • Per l’entità ricovero viene assegnato un identificatore esterno tra l’attributo DATA_ORA_INIZIO e l’entità ANIMALE perché si ritiene che nello stesso istante non può essere ricoverato più di un animale. • Per l’entità visita viene assegnato un identificatore esterno tra l’attributo DATA_ORA e l’entità ANIMALE perché si ritiene che nello stesso istante non può essere visitato più di un animale. • Per l’entità esamiLab viene assegnato un identificatore esterno tra l’attributo DATA_ORA e l’entità ANIMALE perché si ritiene che nello stesso istante non può essere effettuato un esame su più animali. 43
  • 44. 2.2 Glossario delle entità e delle relazioni Nome Entità Descrizione Attributi Identificatore Cf,nome,indirizzo, PrimaryKey{Cf} Proprietario I dati di un cliente proprietario di animali username, password, Unique{username, telefono Password} Specie, nome, razza, Animale I dati dell’animale posseduto dal proprietario sesso, dataNascita, PrimaryKey{Codice} file foto, codice Identificatore Data_ora, temperatura, I dati relativi alle visite effettuate dagli esterno con Visita peso, fc, diagnosi, animali Animale{codice} e terapia, farmaci, dieta data_ora Identificatore I dati relativi agli esami di laboratorio Data_ora, tipoEsame, esterno con EsamiLab Effettuati dagli animali file esame, risultato Animale{codice} e data_ora Identificatore esterno Ricovero Può essere in corso o concluso Data inizio Con Animale{codice} e data_ora Ricovero in Generalizzazione di Ricovero numeroBox corso Ricovero Generalizzazione di ricovero Data_fine, causa Concluso Nome Relazione Descrizione Entità Coinvolte cardinalità motivazione Proprietario (1,N) Un proprietario deve avere almeno un Indica animali animale Ha posseduti dal proprietario Animale (1,1) Un animale è posseduto da un solo proprietario Animale (0,N) un animale può non essere mai Indica ricoverato o subire più ricoveri Va_in l’accettazione a un ricovero Ricovero (1,1) i dati di un ricovero sono relativi ad uno ed un solo animale Animale (0,N) un animale può non effettuare visite o Indica effettuare più visite EffettuaVisita l’effettuazione di una visita Visita (1,1) i dati di una visita sono relativi ad uno ed un solo animale Animale (0,N) un animale può non effettuare esami o Indica effettuare più esami l’effettuazione di EffettuaEsame un esame di EsamiLab (1,1) i dati di un esame sono relativi ad uno laboratorio ed un solo animale 44
  • 45. 2.3 Volume dei dati Dei 200 clienti Tavola dei volumi (riferiti in un anno) dell’ambulatorio mediamente Concetto <Nome> Tipo E/R ognuno possiede 2 animali. Volume <Dim> proprietario E 200 ha R 400 animale E 400 Mediamente un animale subisce un ricovero ogni 3-4 ricovero E 100 anni. 400*1/4=100 va_in R 100 visita E 1200 effettua visita R 1200 Mediamente un animale effettua 3 visite l’anno. EsameLab E 400 400*3=1200 Effettua esame R 400 Mediamente un animale effettua 1 esame di laboratorio l’anno. 400*1=400 45
  • 46. 3 Progettazione logica L’ obiettivo della progettazione logica è tradurre lo schema concettuale in uno schema logico che rappresenti gli stessi dati: • in ingresso: schema concettuale (diagramma ER); informazioni sul carico applicativo; • in uscita: schema logico; vincoli aggiuntivi. 46
  • 47. 3.1 Schema ER ristrutturato id_proprietario cf nome indirizzo telefono userName Proprietario password (1,N) Ha Data_oraInizio Data_oraFine id_animale numeroBox id_ricovero (1,1) specie nome razza Animale Ricovero sesso Va_in (1,1) (0,N) dataNascita fileFoto (0,N) (0,N) causa tipo data_ora EffettuaEsame temperatura (1,1) peso EffettuaVisita Visita fc diagnosi id_esame terapia (1,1) id_visita farmaci dieta motivo EsamiLab data_ora risultato tipoEsame fileAnalisi 47
  • 48. 3.2 Ristrutturazione dello schema E-R • Eliminazioni delle gerarchie (accorpamento delle entità figlie ricovero in corso e ricovero concluso nell’entità padre ricovero ). • Sono stati introdotti identificatori ad hoc (es: id_esame) per non usare chiavi complesse nel collegamento delle tabelle (chiavi composte da più attributi o basate su stringhe). 3.2.1 Specifica di vincoli esterni Nella ristrutturazione è necessario formulare dei vincoli esterni. In particolare dovremo specificare vincoli dovuti alla eliminazione delle generalizzazioni. Per tener conto delle proprietà della generalizzazione si aggiungono opportuni vincoli esterni, detti vincoli di generalizzazione, quindi le proprietà: • istanze(Ricovero in corso) ∩ istanze(Ricovero concluso) = 0 • istanze(Ricovero in corso) ∪ istanze(Ricovero concluso) = istanze(Ricovero) 48
  • 49. 3.3 Schema Relazionale traduzione dallo schema E-R ristrutturato ad uno schema logico equivalente del modello relazionale. In base alle regole relative alle associazioni uno a molti, è stato prodotto il seguente schema relazionale: • Proprietario(id_proprietario, cf, nome, indirizzo, telefono, userName, password) • Animale(id_animale, ha, specie, nome, razza, sesso, dataNascita, fileFoto) • Ricovero(id_ricovero, va_in, dataInizio, dataFine, causa, numeroBox, tipo) • Visita(Id_visita, effettuaVisita, data_ora, temperatura, peso, fc, diagnosi, terapia, farmaci, dieta, motivo) • EsamiLab(id_esami, effettuaEsame, tipoEsame, data_ora, fileAnalisi, risultato) Sono presenti i seguenti vincoli di integrità referenziale (detti anche vincoli di chiave esterna): • Proprietario.id_proprietario e Animale.ha • Animale.id_animale e Ricovero.va • Animale.id_animale e EsamiLab.EffettuaEsame • Animale.id_animale e Visita.EffettuaVisita 3.3.1 Ristrutturazione dello schema logico L’ultimo passo che porta ad avere un corretto schema logico è la ristrutturazione del medesimo. La ristrutturazione si rende necessaria per migliorare aspetti legati all’efficienza della base dati. Ma visto il volume dei dati basso non è necessario ristrutturazioni verso l’efficienza. 49
  • 50. 3.4 Schema Logico Ricovero Id_ricovero Va_in ∞ DataInizio Proprietario DataFine Causa Id_proprietario NumeroBox Cf 1 Tipo Nome Animale Indirizzo 1 Telefono Id_animale UserName Ha Password ∞ Specie Visita Nome Razza Id_visita Sesso EffettuaVisita DataNascita ∞ Data_ora FileFoto Temperatura Peso Fc Diagnosi Terapia Farmaci Dieta Motivo EsamiLab Id_esame EffettuaEsame ∞ TipoEsame Data_ora FileAnalisi Risultato 50