Elaborato Tesi

1,169 views
1,094 views

Published on

Elaborato Tesi

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,169
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
19
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Elaborato Tesi

  1. 1. Università degli Studi di Trieste Facoltà di Ingegneria ________________________________________________________________________ Tesi di Laurea Triennale in Ingegneria Informatica Progettazione di un sistema di fatturazione di consumi e servizi Relatore Laureando Chiar.mo Prof. Maurizio FERMEGLIA Mauro LUPIERI ________________________________________________________________________ Anno Accademico 2007-2008
  2. 2. A Riccardo, Licia e Mamma
  3. 3. Indice III
  4. 4. 1. Introduzione L’oggetto di studio di questo elaborato è la progettazione e lo sviluppo di un sistema di fatturazione di consumi e servizi sufficientemente flessibile e generalizzato da coprire un ampio spettro di esigenze e funzionalità. A partire dall’analisi dei processi di fatturazione delle società che forniscono servizi al pubblico, quali forniture di gas metano, energia elettrica e acqua potabile, si intende sviluppare un prodotto in grado di gestire in ingresso una qualsiasi misura da fatturare e di produrne in uscita la valorizzazione monetaria in funzione della storia del cliente e del piano tariffario applicato. L’analisi parte dalla ricerca degli elementi che questi sevizi hanno in comune con l’obiettivo non solo di sviluppare un unico sistema in grado di gestirli, ma anche di poter affrontare nuove diverse esigenze ed articolazioni tariffarie. Lo studio di un prodotto caratterizzato da un alto grado di flessibilità, oltre che di efficienza ed efficacia, è motivato dalla progressiva evoluzione e liberalizzazione dei mercati dell’energia e dei servizi pubblici. Le aziende devono adeguarsi a fornire nuovi servizi, entrare in mercati nuovi e liberalizzati, offrire piani tariffari personalizzati e adottare strategie di marketing orientate alla fidelizzazione del cliente. Tutti questi fattori determinano l’inadeguatezza dei tradizionali sistemi monolitici e poco flessibili, rappresentando un freno alle strategie del management. I termini flessibile e generalizzato significano che il prodotto deve essere in grado di adattarsi ed evolversi a fronte di nuovi servizi, nuove esigenze, ristrutturazioni dei mercati e repentini cambiamenti delle strategie di marketing aziendali. Il tutto deve essere possibile con uno sforzo minimo in termini di tempi di implementazione e costi di realizzazione. Come evidenziato nella figura che segue, si presuppone l’esistenza di altri prodotti adibiti alla gestione dei clienti, alle strutture tariffarie ed alla rilevazione delle misure; attraverso opportuni moduli d’interfaccia, questi sistemi alimentano la base di dati. L’applicativo opera quindi su informazioni gestite da altri moduli e, a sua volta, genera informazioni che potranno essere utilizzate da sistemi quali ad esempio portali Web che forniscono servizi al cliente finale, sistemi ERP, strumenti di reportistica, di Business Intelligence ed altro ancora. IV
  5. 5. Archivio Fatturazione Moduli di interfaccia Applicativo di fatturazione Sistemi di acquisizione misure e gestione cliente Estrazione dati: ERP, Web, Report,…. La progettazione di un qualsiasi sistema informativo riguarda sostanzialmente due aspetti, la progettazione dei dati e la progettazione delle applicazioni. Questo elaborato tratta essenzialmente la progettazione e la realizzazione della Base di Dati e della Logica di Business dell’applicativo. Nell’elaborato viene adottato il metodo progettuale basato sul modello di sviluppo del ciclo di vita del software limitatamente alle attività di raccolta ed analisi dei requisiti, progettazione e realizzazione. L’applicazione è stata implementata utilizzando il Data Base Management System Microsoft SQL Server 2005 Express su piattaforma Microsoft (sistemi operativi Windows XP, Windows Vista o Windows 2000 - 2003 Server). Gli unici vincoli Hardware sono rappresentati dai requisiti minimi di installazione di SQL Server Express. Per il Porting in produzione è necessaria l’adozione della versione completa di SQL Server e sono da valutare le caratteristiche minime del Server che deve ospitare la base di dati, caratteristiche che sono determinate sostanzialmente dal numero di clienti e di fatture da gestire. Per quanto riguarda i vincoli normativi, si è fatto riferimento alle disposizioni dell’AEEG (Autorità per l’Energia Elettrica ed il Gas) ed ai contratti standard proposti dagli operatori presenti sul mercato. V
  6. 6. 1.1. Struttura dell’elaborato Il secondo capitolo presenta una descrizione generale del processo di fatturazione delle società che forniscono servizi al pubblico. Vengono evidenziati i principali elementi costitutivi di questo processo e viene soprattutto eseguita l’analisi dettagliata delle esigenze e dei requisiti che un qualsiasi sistema di fatturazione attualmente in commercio deve possedere. La necessità di definire un modello flessibile costringe ad una continua ricerca della ragione d’essere di ogni singolo requisito e degli elementi che i vari servizi hanno in comune. Il risultato di questa fase è una descrizione precisa delle caratteristiche e delle funzionalità che il prodotto deve presentare. Il terzo capitolo presenta la progettazione del sistema ed è articolato in due fasi: la progettazione concettuale e la progettazione logica. La prima fa ampio uso del modello Entità – Relazioni, il modello più idoneo a rappresentare e supportare lo sviluppo di sistemi relazionali. La seconda fase tratta la traduzione del modello concettuale nello schema logico relazionale. Nel quarto capitolo si procede allo sviluppo del data base e della logica di business, implementata con le Stored Procedures scritte in Transact-SQL di Microsoft SQL Server. Per la presentazione della fattura, a solo scopo dimostrativo e di controllo dei risultati ottenuti, è stato sviluppato uno script in linguaggio VBS per la generazione di un foglio Excel contenente il documento prodotto dall’applicativo. Seguono le opportune conclusioni, la valutazione dei risultati ottenuti e la definizione degli eventuali sviluppi futuri. VI
  7. 7. 2. Definizione delle specifiche di progetto Le specifiche del progetto sono definite a partire dalle caratteristiche generali di un comune sistema di fatturazione. La difficoltà principale risiede nella volontà di progettare un modello generale, non strettamente legato alle peculiarità di una singola tipologia di servizio. Il prodotto deve essere in grado di adattarsi a gestire nuove esigenze, nuove situazioni e nuovi servizi e deve essere progettato in modo tale da facilitare le future implementazioni e lo sviluppo di nuove funzionalità che gli permettano di crescere in tutte le sue dimensioni. Lo sviluppo del sistema avviene a partire dall’analisi delle tecniche di fatturazione dei seguenti servizi: • Servizio di fornitura di acqua potabile • Servizio di fornitura di gas metano • Servizio di fornitura di energia elettrica Particolare attenzione è stata posta alla definizione dell’entità “misura”. La volontà di realizzare un sistema flessibile e aperto agli sviluppi futuri ha comportato la gestione di tipologie di misura che non sono utilizzate nella fatturazione dei servizi a rete ma che descrivono in modo completo ed esaustivo l’entità stessa. L’appendice B contiene documenti scaricati dai siti istituzionali di Aziende che operano nei settori elencati e dal sito dell’Autorità per l’Energia Elettrica ed il Gas, e definiscono in modo puntuale le tecniche di fatturazione che vengono applicate ai relativi consumi. 2.1. Analisi e raccolta dei requisiti Di seguito vengono esposti i concetti fondamentali attorno ai quali è stato sviluppato il progetto. L’anagrafica dei soggetti. Il soggetto può essere censito a sistema per uno dei seguenti motivi: • titolare di un contratto di fornitura e quindi cliente; 7
  8. 8. • destinatario dei documenti di fatturazione (potrebbe non essere il titolare del contratto); • istituto di credito al quale il cliente può delegare il pagamento delle fatture. Il soggetto è caratterizzato dai seguenti attributi: il codice fiscale e la partita iva, l’indirizzo di residenza e quello di recapito dei documenti, la data di nascita, il sesso e l’eventuale domiciliazione bancaria; può essere persona fisica o persona giuridica. La residenza. E’ un attributo del soggetto e ne identifica l’indirizzo di residenza. Il recapito. E’ l’attributo del soggetto che identifica l’indirizzo al quale inviare le comunicazioni. Può essere anche un soggetto diverso dal titolare, in questo caso si tratta di recapito presso terzi. Il contratto. Il contratto è stipulato dal soggetto con l’azienda che eroga il servizio ed è caratterizzato da un numero identificativo, da una data di stipula e dallo stato (aperto, chiuso, in attesa di perfezionamento). Il cliente. Il cliente è il soggetto che ha stipulato un contratto con l’azienda; è caratterizzato, da tutti gli attributi che tipicamente rivestono importanza nell’ambito del rapporto contrattuale quali l’indirizzo di fornitura, il tipo di servizio erogato (elettricità, gas, acqua, telefonia, ecc.), uno o più codici di raggruppamento definiti dalle caratteristiche del tipo servizio (utilizzati per funzioni di analisi e reportistica, ad esempio il codice merceologico), il piano tariffario applicato, la storia (rilevante per la fatturazione), l’apparato di rilevazione delle misure ed il trattamento economico, cioè l’applicazione di particolari condizioni di favore (sconti), un codice che identifica univocamente il cliente ed un codice che rappresenta univocamente la fornitura, ad esempio per i servizi elettricità e gas il “Point of Delivery” stabilito dall’autorità adibita al controllo della rete di distribuzione ed eventualmente per il servizio di telefonia il numero telefonico identificativo. La fornitura. Rappresenta l’indirizzo di erogazione del servizio. Il tipo servizio. 8
  9. 9. Il tipo di servizio è caratterizzato dai processi tecnici ed amministrativi necessari ad erogarlo. Ai fini dell’applicativo il servizio è caratterizzato dai metodi di fatturazione, dalle tariffe e dai prezzi che possono essere applicati al cliente, dall’entità fisica che è misurata per quantificarlo e da eventuali parametri di natura geografica e/o tecnica degli impianti di fornitura. L’indirizzo. L’indirizzo è caratterizzato dai seguenti attributi: via, civico, interno, città, CAP, nazione. E’ legato alla fornitura, al recapito e alla residenza. Lo strumento di misura. Per strumento di misura s’intende l’oggetto adibito alla rilevazione dei consumi, caratterizzato dalla marca, dalla matricola, dall’anno di produzione, dall’anno di installazione, dallo stato, dall’anno di rimozione ed eventualmente da altri attributi riguardanti le specificità tecniche dell’apparato. Nell’analisi delle realtà da gestire non sempre questa entità è presente. Lo stato contrattuale. Rappresenta la condizione nella quale si trova il cliente nel momento in cui è esaminato dal processo di fatturazione e ne riassume la storia passata. Lo stato è costituito da un insieme di attributi che devono essere gestiti con la massima generalità, così da non porre vincoli allo sviluppo di future implementazioni. L’introduzione di questo livello di astrazione comporta la necessità di mantenere una struttura dati che deve, in ogni momento, essere congruente con l’articolazione tariffaria applicata e con la struttura delle misure rilevate, tale che tutte le voci indispensabili all’esecuzione degli algoritmi di calcolo siano presenti e contengano valori rilevanti. Le misure ed il periodo di rilevazione. Il software gestisce entità generiche da fatturare che sono definite misure. Una misura potrà essere ad esempio una superficie, un numero di persone, un consumo di acqua, gas o energia elettrica, un numero di mesi o di giorni; il sistema dovrà essere in grado di definire di volta in volta gli attributi dell’entità misura così da darne un significato concreto. Le misure sono strettamente legate al periodo di rilevazione nel corso del quale sono state rilevate o afferiscono. Si possono definire quattro diversi tipi di misura: a) misura di consumi, quindi in generale di grandezze fisiche che variano con continuità nel tempo. E’ definita una relazione “uno a uno” tra misura e periodo di rilevazione. 9
  10. 10. b) misura di intervalli puntuali di tempo, tipico della telefonia, caratterizzata da un valore espresso in ore, minuti e secondi. Ad ogni periodo può essere associato un numero variabile di misure, senza obbligo di continuità temporale. c) misura di grandezze discrete, ad esempio superficie, portata, numero di persone o altro. In questo caso la misura può variare in modo discreto nel corso del periodo di rilevazione. d) rilevazione di un intervallo temporale. In questo caso è l’intervallo stesso di rilevazione che ha significato, non esiste una misura associata. Può essere considerato un caso degenere di misura. Per quanto riguarda la fornitura di gas metano, la misura del volume consumato deve essere corretta in conformità ad un coefficiente di natura geografica stabilito dall’autorità competente. La figura che segue, rappresenta le relazioni temporali tra il periodo di rilevazione e i diversi tipi di misure gestite dal sistema. Periodo di rilevazione delle misure Misura di entità che varia in modo discreto Inizio rilevazione Fine rilevazione Misura di grandezza fisica che varia con continuità Misure puntuali di eventi che si verificano nell’intervallo di rilevazione La tariffa, il prezzo e la variazione tariffaria. L’applicativo deve essere in grado di gestire l’evoluzione nel tempo dell’entità fisica in esame, determinata essenzialmente dall’evolversi dell’articolazione tariffaria. In generale tariffe e imposte sono caratterizzate da una data di inizio validità ed una di fine validità, che definiscono il periodo di applicazione del prezzo o decorrenza tariffaria. Tutti i consumi ed i servizi devono quindi essere rapportati ai periodi determinati delle variazioni tariffarie. Segue la tabella che definisce le norme di suddivisione delle misure in funzione del tipo di misura. Entità fisiche che variano Intervalli puntuali di Grandezze discrete Intervallo temporale di 10
  11. 11. con continuità tempo rilevazione Tipo di suddivisione della misura La misura è suddivisa in modo proporzionale al numero di giorni di appartenenza alla decorrenza tariffaria. Non definibile. L’appartenenza alla decorrenza tariffaria è definita sulla base della data di effettuazione dell’evento. La misura è suddivisa in proporzione al periodo in cui si mantiene costante. Intervallo suddiviso in base ai giorni di rilevazione. La seguente figura schematizza la suddivisione di misure che variano con continuità nel tempo in funzione di una variazione del prezzo avvenuta nel corso del periodo di rilevazione. Periodo di rilevazione misure effettivo Periodo validità prezzo A Periodo validità prezzo B Sub - periodo rilev. A Sub – periodo rilevazione B Data inizio rilevazione Data fine rilevazione Data variazione prezzi L’algoritmo di calcolo. L’algoritmo di calcolo in generale può essere considerato una proprietà della tariffa. Il sistema è stato sviluppato mantenendo invece separati i due concetti. Per tariffa s’intende l’entità che definisce il prezzo da applicare alla misura da fatturare e che è associata al cliente. Per algoritmo di calcolo s’intende il metodo che è utilizzato per applicare il prezzo alla misura. Gli algoritmi sono legati al tipo di servizio, al tipo di misura e alle regole di fatturazione che sono stabilite. Gli algoritmi che più comunemente sono utilizzati nelle realtà esaminate sono: a) moltiplicazione della misura rilevata per il prezzo unitario (espresso in €/unità di misura), ad esempio nel calcolo dei corrispettivi per fognatura e depurazione del servizio idrico integrato. Il calcolo deve essere anche rapportato al numero di giorni ai quali è riferita la misura; 11
  12. 12. b) moltiplicazione del numero di giorni (o mesi) del periodo di rilevazione per il prezzo unitario (espresso in €/giorni), ad esempio nel calcolo della quota fissa nelle fatture del servizio idrico. c) moltiplicazione del prezzo unitario per il periodo di rilevazione (espresso in giorni o mesi) e per un attributo che rappresenta la misura del servizio (prezzo espresso in €/gg*unità di misura); ad esempio la quota potenza del servizio elettrico (prezzo * giorni * potenza impegnata); d) suddivisione del consumo in scaglioni a riempimento, e quindi applicazione di prezzi diversi per fascia; ad esempio calcolo della quota consumo del servizio gas; e) suddivisione del consumo in scaglioni proporzionali, e quindi applicazione di prezzi diversi per fascia; ad esempio calcolo della quota consumo nei servizi acqua potabile ed elettricità. Segue la tabella che definisce l’applicabilità degli algoritmi ai tipi di misura. Entità fisiche che variano con continuità Intervalli puntuali di tempo Grandezze discrete Intervallo temporale di rilevazione Misura * prezzo unitario Si No No No Prezzo * periodo di rilevazione No No No Si Prezzo * Periodo * attributo No No No Si Fascia di consumo Si No No No Futuri sviluppi No Si Si No Sconti sul prezzo e sui consumi. L’applicativo deve supportare le strategie di marketing che generalmente sono perseguite dall’azienda nell’ambito dei mercati liberalizzati o in fase di liberalizzazione, strategie che si concretano di norma nell’applicazione di particolari condizioni di favore, cioè sconti sul prezzo applicato o sui consumi rilevati. Le condizioni di favore sono applicate a livello di singola tariffa, hanno validità temporale, caratterizzata da un determinato periodo compreso tra due date, oppure possono essere condizioni di particolare favore applicate in occasione di un determinato evento, e quindi in una singola fatturazione. Sono inoltre caratterizzate dall’esistenza o 12
  13. 13. meno di un limite massimo di applicazione e dalla possibilità di essere concepite come una percentuale dell’importo calcolato o del consumo fatturato. Ultimo requisito riguardante l’entità sconto è che in fattura, per motivi di trasparenza, deve essere registrato sia l’importo totale sia quello scontato. Addebiti fissi. Sono degli addebiti e/o accrediti (oneri, bolli, depositi cauzionali, ecc) già calcolati da altri sistemi che vengono applicati in fattura. La fattura. E’ il prodotto finale dell’applicazione, generata dalle misure, dal piano tariffario e dalle informazioni presenti nello stato contrattuale. E’ caratterizzata da una testata, costituita dai dati del contratto e del cliente, dagli attributi dell’anagrafica e del sistema di misura, da un codice univoco d’identificazione, dalle date di emissione, scadenza e pagamento, dal totale imponibile, totale delle imposte e totale fattura. Deve inoltre contenere una sezione con le informazioni concernenti le misure fatturate, ai prezzi applicati, all’eventuale presenza di condizioni di favore e all’imposta calcolata con le aliquote applicate. Le informazioni presenti nello stato contrattuale nel momento in cui la fatturazione esamina il cliente devono essere memorizzate come attributi della fattura stessa, così come deve essere registrato lo stato anagrafico, che può essere considerato come una fotografia degli attributi del soggetto cui è attribuita la fattura. 2.2. Descrizione del processo di fatturazione L’applicativo riceve in input il codice del cliente da fatturare e la data di scadenza del documento, quindi per produrre la fattura esegue la seguente sequenza di operazioni: Operazione n.1: esame dell’anagrafica, del soggetto e del cliente. Sono estratti l’anagrafica del soggetto ed il cliente. Si verifica se è un soggetto fatturabile in base allo stato contrattuale e agli indicatori che abilitano il processo a proseguire. Operazione n.2: estrazione dei dati che si riferiscono a recapito, residenza, e domiciliazione bancaria. Vengono estratte tutte le informazioni riguardanti la residenza, il recapito e la domiciliazione bancaria e memorizzate nello stato anagrafico fatturato. L’assenza della residenza deve produrre una rilevazione di errore ed impedire la produzione del 13
  14. 14. documento. Recapito, Recapito presso Terzi e Domiciliazione Bancaria possono essere assenti. Viene quindi estratto l’indirizzo di fornitura, che obbligatoriamente deve essere presente. Operazione n.3: determinazione del codice fattura e registrazione della testata del documento. Viene determinato il codice progressivo della fattura e registrata la testata del documento con le informazioni in possesso. Da questo momento fino al termine del processo di fatturazione non dovrà più essere possibile per nessun operatore collegato al sistema, eseguire operazioni di fatturazione o modificare le entità coinvolte nel processo. Il numero fattura deve essere un progressivo. Operazione n.4: estrazione di eventuali addebiti da applicare in fattura. L’applicativo ricerca eventuali addebiti o accrediti da fatturare. In caso positivo, deve procedere con l’applicazione in fattura e la memorizzazione delle informazioni per il calcolo dell’imposta. Operazione n.5: estrazione dei periodi di rilevazione e delle misure. Vengono selezionati in sequenza tutti i periodi di rilevazione associati al contratto e non fatturati; si verifica se il periodo è fatturabile analizzando l’opportuno indicatore. Operazione n. 6: estrazione delle tariffe ed associazione ai periodi di rilevazione. Per ogni periodo di rilevazione, si determina la lista delle tariffe da applicare in base al Tipo Misura. Un singolo periodo di rilevazione potrebbe essere preso in esame da più tariffe (tipico caso è l’elaborazione della fattura del gas metano: la fatturazione prende in esame il consumo per calcolare prima la tariffa consumo e poi l’imposta erariale con due algoritmi diversi.). Deve essere anche eseguito il controllo che tutte le tariffe associate al contratto siano elaborate e che tutte le misure rilevate siano pertinenti, in caso contrario l’applicativo deve terminare segnalando l’anomalia. Operazione n.7: estrazione e verifica dello stato contrattuale legato alla tariffa. Per ogni tariffa applicata si estrae lo stato contrattuale associato, costituito da tutta una serie di attributi che appartengono alle due relazioni “Valore contrattuale” e “Data contrattuale”. Si verifica che siano presenti tutte le voci richieste per la corretta fatturazione della misura. Ogni algoritmo di calcolo ha associato un ben preciso stato contrattuale che identifica lo stato del cliente a partire dal quale effettuare la fatturazione dei consumi. Lo stato 14
  15. 15. contrattuale è legato alla tariffa che a sua volta è indissolubilmente legata all’algoritmo di calcolo; una tariffa non può mai cambiare algoritmo di calcolo nel corso della sua vita. Devono essere compiute anche tutte le verifiche legate alla congruità dello stato contrattuale con la tariffa e le misure da fatturare. In particolare va controllata la continuità del periodo di rilevazione con l’ultimo periodo fatturato. Operazione n.8: determinazione di eventuali Sconti da applicare. Per ogni tariffa si determina se devono essere applicate delle condizioni di favore (sconti sul consumo o sul fatturato). Operazione n.9: determinazione del periodo tariffario applicabile. Per ogni coppia “tariffa – periodo di rilevazione misure” viene ricercato il periodo tariffario applicabile. Se il periodo di rilevazione misure non è compreso in un unico periodo tariffario, allora il primo deve essere suddiviso in tanti sottoperiodi in conformità all’articolazione della variazione dei prezzi. Le misure associate al periodo tariffario originale devono quindi essere spostate nei nuovi periodi tariffari seguendo le opportune regole definite in base al tipo misura. Operazione n.10: determinazione del prezzo da applicare e scrittura del dettaglio di fatturazione. A fronte di ogni periodo di rilevazione ridefinito in base alle variazioni tariffarie, vengono estratte le misure ed i prezzi da applicare. Vengono quindi scritti i dettagli di fatturazione che tengono conto di tutte le entità che contribuiscono a determinare l’importo fatturato. Operazione n.11: scrittura del nuovo stato contrattuale. Al termine dell’esame di ogni periodo di rilevazione dei consumi l’applicativo deve registrare il nuovo stato contrattuale risultante dall’elaborazione. Operazione n.12: scrittura della fattura e del dettaglio IVA. Al termine dell’esame di ogni tariffa l’applicativo aggiorna la testata della fattura e il dettaglio IVA. 3. Progettazione della base di dati 15
  16. 16. E’ stata adottata la tipica metodologia di progettazione articolata in due fasi: progettazione concettuale e progettazione logica. La prima fase ha lo scopo di rappresentare l’oggetto di studio in termini formali e completi. Si fa ampio utilizzo del modello Entità – Relazioni, il più diffuso modello concettuale utilizzato nell’analisi di basi di dati relazionali. Il risultato finale è il modello concettuale dei dati. La seconda fase consiste nella traduzione dello schema concettuale nell’apposito modello logico prescelto per la realizzazione del sistema. Il risultato complessivo della fase progettuale è lo schema logico, la struttura vera e propria del data base, corredato da tutta la documentazione necessaria alla fase di sviluppo. 3.1. Progettazione concettuale Nello sviluppo del modello concettuale è stata adottata una strategia di tipo misto. Vengono inizialmente individuati i concetti principali della realtà in esame che sono quindi inseriti in uno schema semplificato; si procede poi a macchia d’olio con lo sviluppo del progetto attraverso un processo di raffinamenti successivi. In questa fase progettuale è stato utilizzato il modello Entità – Relazioni che permette di dare una veste grafica e quindi d’immediata interpretazione dell’oggetto di studio. Lo schema finale è stato quindi ristrutturato per consentirne la traduzione verso il modello relazionale e documentato opportunamente, facendo ricorso a un dizionario dati strutturato e organizzato in modo da descrivere a fondo tutti gli oggetti ed i loro attributi. Segue il diagramma ER semplificato in cui sono presenti gli oggetti fondamentali che partecipano al processo di fatturazione, oggetti che sono già stati descritti nella fase di analisi. 16
  17. 17. Soggett o (0,N) Piano tariffario Cliente Misura Fatt ura Dettaglio di f at t urazione (1,N) Sistema di misura Tratt amento economico Valorizzazione Cont rat to Tarif fa ScontoPart it e monet arie Addebito (1,1) (0,N) (0,N) (1,1) (0,1) (0,N) (1,1) (0,N) (1,N) (1,1) (0,1) (0,N) (0,N) Servizio erogato Il passo successivo consiste nell’introduzione dello stato del cliente e dell’algoritmo di fatturazione. Queste due entità sono strettamente collegate a livello operativo, poiché ogni algoritmo per funzionare correttamente richiede, per ogni coppia “cliente – tariffa”, la presenza di un insieme di informazioni che devono essere preventivamente memorizzate nello stato del cliente. L’appendice D definisce con precisione lo stato richiesto da ogni algoritmo di calcolo per ogni tipo di misura rilevata. Lo stato riassume la storia del cliente e contribuisce a definirne il trattamento economico; può essere modificato solamente dal processo di fatturazione ed è strettamente legato al piano tariffario del cliente e alla struttura dell’impianto di misura. Valo re con t rat tu ale St at o Co nt rat t uale Volu m eLim it e Fat t o re d i cor rezione Dat a cont rat tuale Il concetto di algoritmo di calcolo serve a disaggregare la tariffa dal metodo di calcolo. Si definiscono a priori gli algoritmi che possono essere considerati dei veri e propri driver di 17
  18. 18. fatturazione; questi potranno poi essere associati a una o più tariffe e imposte, caratterizzate da un periodo di validità e da un prezzo. Soggetto (0,N) Piano tariffario Cliente Misura Dettaglio di fatturazione (1,N) Sistema di misura Trattamento economico Valorizzazione Contratto Tariffa Sconto Stato Cliente Algoritmo Applicazione Fattura Partite monetarie Addebito (1,1) (0,N) (1,1) (1,1) (0,N) (1,1)(0,N) (0,N)(0,1) (1,N) (1,1) (0,N) (1,1) (0,1)(0,N) (0,N) Servizio erogato Un successivo raffinamento consiste nell’introduzione degli elementi che caratterizzano l’evoluzione nel tempo del sistema: il periodo di rilevazione delle misure ed il periodo di validità tariffaria. L’elemento fondante dell’impianto tariffario è la distinzione tra tariffa, periodo di validità e prezzo applicato. Una tariffa è sempre caratterizzata da un periodo di validità, poiché nel tempo può subire variazioni o addirittura essere annullata. Nel nostro modello questo aspetto è gestito definendo due oggetti distinti: la tariffa, entità che identifica e definisce la regola di calcolo ed è associata al cliente, ed il prezzo caratterizzato dagli attributi utilizzati per la valorizzazione economica della misura da fatturare. La relazione tra le due entità è il “periodo di validità tariffaria” identificato da una coppia di date che ne definiscono l’inizio e la fine. La relazione è “uno a n”, poiché gli algoritmi che suddividono il consumo in fasce applicano prezzi diversi a seconda della fascia di appartenenza. Il periodo di rilevazione delle misure definisce l’arco temporale nel corso del quale sono state raccolte le misure. La relazione con l’entità misura è “uno a n”, poiché a ogni periodo può essere ricondotta più di una misura. 18
  19. 19. Soggetto (0,N) Piano tariffario Cliente Misura Fattura Dettaglio di fatturazione (1,N) Sistema di misura Trattamento economico Valorizzazione Contratto Tariffa Stato Cliente Periodo di rilevazione misure Sconto Algoritmo Applicazione Prezzo Periodo di validità tariffaria Partite monetarie Addebito (1,1) (1,1) (0,N) (1,N) (1,1) (1,1) (1,1) (1,N) (1,1) (0,N) (0,N) (1,1) (0,1) (0,N) (1,N) (1,1) (1,1) (0,N) (0,N) (0,N) (0,1) (1,1) Valorizzazione Servizio erogato L’entità misura è una generalizzazione dei diversi tipi di misura che sono stati definiti in fase di analisi: la misura di grandezze fisiche che variano con continuità oggetto di studio di questo elaborato, quella d’intervalli temporali che potrebbe essere utilizzata per sviluppare algoritmi di fatturazione di consumi telefonici ed infine la misura di entità che variano in modo discreto nel tempo, quali ad esempio una superficie e un numero di persone. Misu r a Misu r a d i en t i t à che v ar iano in m o do d iscr et o Misu r a d i in t er valli t em po r ali Misu r a d i g r and ezze f isi ch e ch e var ian o con co n t in u it à Il passo successivo è quello di raffinare il concetto di soggetto, con l’introduzione di tutte le entità e le relazioni collegate, già identificate nella fase di raccolta dei requisiti. Il soggetto può essere persona fisica o persona giuridica; può inoltre essere presente in archivio in qualità di cliente sottoscrittore di un contratto, di istituto di credito o di destinatario delle fatture emesse a nome di un altro soggetto. Le relazioni di interesse 19
  20. 20. sono il recapito, la residenza, la domiciliazione bancaria ed il recapito dei documenti presso altro soggetto. Recapito e residenza coinvolgono l’entità indirizzo che assieme allo stradario ed al comune, contribuisce a definire in maniera completa l’ambito geografico del soggetto. Tit olare di cont rat to (0,N) (0,N) (1,N) I ndirizzo Dest inat ario comunicazioni I st it uto di Credito Soggett o Recapito presso t erzi Domicilio bancario Residenza (0,N) (0,N) (0,N) (0,N) (0,N) Persona giuridica Persona f isica Recapito Comune St radario (1,N) (1,1) At t ribut i banca Un’altra relazione che coinvolge l’entità indirizzo è l’ubicazione della fornitura, che è legata al cliente, in quanto definisce il luogo fisico nel quale è fornito il servizio. Cl i e n t e Ub i c azi on e f o rn i t u r a I n d i r i z zo (1,1) (0,N) Co m u ne St r a d a r i o (1, 1) (1,N) La fattura è il prodotto dell’applicazione, generata dalle misure, dal piano tariffario e dalle informazioni presenti nello stato contrattuale. E’ caratterizzata dai dettagli di fatturazione, calcolati e registrati dall’applicazione nel corso del processo di esame delle misure attribuite al cliente. E’ anche caratterizzata dallo stato contrattuale presente nel momento della fatturazione, che deve essere registrato in qualità di attributo della fattura stessa così come deve essere registrato lo stato anagrafico che può essere considerato come una fotografia degli attributi del soggetto. L’entità fattura è altresì caratterizzata dai seguenti attributi: codice univoco d’identificazione, data di emissione, data di scadenza, data di pagamento, totale imponibile, totale imposte, totale fattura e totale pagato. 20
  21. 21. Fatt ura Client e Stat o anagraf ico I ndirizzo Soggetto Residenza Recapito Recapito presso t erzi Domicilio bancario Valorizzazione Contratto (0,N) (1,1) (1,1) (1,1) (1,1) (0,N)(1,1) (1,1) (0,N) (1,1) (0,N) (1,1) (0,N) (1,1) (0,N) St at o anagraf ico fatt urato Det t aglio di fat t urazione I mposta f att urat a Part it e monetarie Valorizzazione Valorizzazione (1,N) (1,1)(1,1) (0,N)(1,1) Stato contrat tuale f att urato Servizio erogato Lo schema finale ottenuto è quindi il risultato di un’attività iterativa, di un processo graduale, a partire da uno schema base che è stato progressivamente raffinato, arricchito, trasformato e corretto. Alla base di tutto il processo è sempre stato presente l’obiettivo primario di dare la massima flessibilità al sistema. 3.2. Ristrutturazione e documentazione degli schemi ER I diagrammi Entità – Relazioni devono essere opportunamente documentati. Segue la documentazione riguardante gli oggetti in esame, in particolare sono approfonditi i concetti, definiti gli attributi e gli identificatori e specificate le regole ed i vincoli non esprimibili graficamente. La documentazione seguente è anche il frutto di una prima ristrutturazione dei diagrammi originari, ristrutturazione e trasformazione che consegna un prodotto già pronto per la traduzione nello specifico schema logico che sarà adottato. In particolare sono state eseguite le seguenti operazioni. Rimozione delle generalizzazioni. Siccome il modello relazionale non consente di trattare generalizzazioni, queste sono state rimosse mediante tecniche di accorpamento che saranno presentate di volta in volta. 21
  22. 22. Scelta degli identificatori. Per ogni entità e relazione viene scelto l’identificatore principale che fungerà da chiave primaria nell’implementazione del modello logico. Accorpamento di entità e relazioni. Vengono accorpate entità e relazioni in modo da ottimizzare il futuro modello logico e anticipare per quanto possibile l’attività di normalizzazione della base di dati. 22
  23. 23. 3.2.1. Entità Soggetto L’entità Soggetto descrive i dati anagrafici di tutti i soggetti presenti a sistema, siano essi persona fisica o persona giuridica. I soggetti possono essere memorizzati a diverso titolo. Si tratta di una generalizzazione totale e sovrapposta delle tre entità figlie: titolare del contratto, destinatario delle comunicazioni ed istituto di credito. La generalizzazione è totale, nel senso che ogni occorrenza dell’entità Soggetto è occorrenza di almeno una delle entità figlie. E’ sovrapposta nel senso che un’occorrenza dell’entità Soggetto può essere occorrenza di più di un’entità figlia. L’entità figlia di maggior importanza è il titolare del contratto che descrive il soggetto che ha stipulato uno o più contratti di servizio con la società. L’entità Destinatario rappresenta il soggetto al quale sono inviati i documenti intestati ad un ulteriore soggetto, ad esempio le fatture. Questa generalizzazione viene eliminata per accorpamento nella generalizzazione padre; non è necessario nessun attributo che individui la natura del soggetto, considerato che questo può svolgere più di una funzione contemporaneamente. Saranno le relazioni alle quali il soggetto partecipa a definire di quale specializzazione si tratta. Il soggetto è anche generalizzazione totale ed esclusiva delle entità Persona fisica e Persona giuridica, generalizzazione che viene eliminata per accorpamento nella generalizzazione padre, che può accollarsi gli attributi propri delle figlie. In particolare, nell’entità padre, i due attributi “Ragione Sociale” e “Cognome Nome” possono collassare nell’attributo Denominazione. Per quanto riguarda i codici identificativi, esistono casi di soggetti caratterizzati dalla presenza contemporanea della Partita IVA e del codice fiscale; questi due attributi diventano quindi entrambi attributi dell’entità padre. Inoltre per mantenere la distinzione tra persona fisica e persona giuridica viene aggiunto l’attributo Tipo soggetto. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Soggetto Identificatore Intero No Tipo Persona Tipologia di persona Testo P: persona fisica; G: persona giuridica No Codice Classe Anagrafica Codice di classificazione delle anagrafiche. Utilizzato per realizzare funzionalità di raggruppamento e sintesi delle informazioni. Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 4 “CodiceClasseAnagrafica”. No 23
  24. 24. Denominazione Ragione sociale o Cognome e Nome in funzione del tipo soggetto Testo No Codice Fiscale Codice fiscale Testo Si Partita IVA Partita IVA Testo Si Flag Fatturazione Flag che definisce se l’anagrafica è fatturabile Booleano N: no; S: si No Data di nascita Solo per persona fisica Data Si Sesso Solo per persona fisica Testo M: maschile, F: femminile Si Segue la lista dei valori che sono stati configurati a sistema per l’attributo Codice Classe Anagrafica. Codice Classe anagrafica Descrizione 1 Ente pubblico 2 Privato 3 Sanità 4 Forze armate 3.2.2. Entità Indirizzo Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Indirizzo Identificatore Intero No Codice Stradario Codice identificativo della via. Intero Identificatore dell’entità Stradario No Civico Numero civico. Intero No Interno Interno. Può essere numerico o testo. Testo Si 24
  25. 25. 3.2.3. Entità Comune Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Comune Identificatore Intero No CAP CAP del comune Intero No Descrizione Comune Descrizione Testo No Provincia Identifica la provincia. In genere due caratteri. Testo No Stato Stato di appartenenza del comune Testo No 3.2.4. Relazione Stradario Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Via Identificatore Intero No Codice Comune Codice del comune di appartenenza della via Intero Identificatore dell’entità Comune No Descrizione Descrizione della Via Testo No 3.2.5. Relazione Residenza 25
  26. 26. La relazione Residenza lega il soggetto all’indirizzo di residenza. E’ strutturata in modo da mantenere lo storico delle residenze del soggetto, caratterizzate da una data di inizio e una data di fine. Il soggetto deve presentare sempre una relazione di residenza, l’occorrenza di quella attiva è caratterizzata dalla flag Residenza Attiva = S e dalla data di fine validità impostata a null. L’identificatore della relazione è costituito dai due attributi Codice Soggetto e Codice Indirizzo Residenza. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Soggetto Identificatore Intero Identificatore dell’entità Soggetto No Codice Indirizzo Residenza Identificatore Intero Identificatore dell’entità Indirizzo No Residenza attiva Definisce se si tratta dell’ultima residenza dell’anagrafica o della residenza attiva. Booleano S: Residenza attiva; N: non più residente No Data inizio Data di inizio validità dell’occorrenza Data No Data fine Data di fine validità dell’occorrenza (di cambio residenza) Data Si 3.2.6. Relazione Recapito La relazione Recapito stabilisce un legame tra il soggetto e l’indirizzo di recapito. E’ strutturata in modo da mantenere lo storico dei recapiti caratterizzato da una data di inizio e una data di fine. La relazione è opzionale, in caso di assenza del recapito l’applicazione invierà il documento all’indirizzo del soggetto. L’occorrenza del recapito attivo è caratterizzata dalla flag Recapito Attivo = S e dalla data di fine validità impostata a null. L’identificatore della relazione è costituito dai due attributi Codice Soggetto e Codice Indirizzo Recapito. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice soggetto Identificatore Intero Identificatore dell’entità Soggetto No Codice Indirizzo recapito Identificatore Intero Identificatore dell’entità Indirizzo No 26
  27. 27. Recapito attivo Definisce se si tratta dell’ultimo recapito dell’anagrafica o del recapito attivo. Booleano S: Recapito attivo; N: recapito non attivo No Data inizio Data di inizio validità della relazione Data No Data fine Data di cambio recapito o fine validità della relazione Data Si 3.2.7. Relazione Recapito Presso Terzi La relazione Recapito presso terzi identifica un ulteriore soggetto al quale trasmettere i documenti di fatturazione. Non dovrebbero presentarsi casi di soggetti con presenza contemporanea di recapito e recapito presso terzi. L’applicativo di fatturazione, nel caso riscontri tale condizione, invierà il documento al recapito ignorando l’esistenza del recapito presso terzi. L’occorrenza del recapito attivo è caratterizzata dalla flag Recapito Attivo = S e dalla data fine validità impostata a null. L’identificatore della relazione è costituito dai due attributi Codice Soggetto e Codice Soggetto Terzi. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice soggetto Identificatore Intero Identificatore dell’entità Soggetto No Codice soggetto terzi Identificatore Intero Identificatore del soggetto cui recapitare i documenti (sempre entità soggetto) No Recapito attivo Definisce se si tratta di relazione attiva. Booleano S: Relazione attiva; N: non più valida No Data inizio Data inizio validità relazione Data No Data fine Data fine validità relazione Data Si 3.2.8. Relazione Domiciliazione Bancaria 27
  28. 28. La relazione Domiciliazione Bancaria implementa la possibilità di attivare il pagamento automatico del documento presso un istituto di credito. L’occorrenza della relazione attiva è caratterizzata dalla flag Domiciliazione Attiva = S e dalla data fine validità impostata a null. L’identificatore della relazione è costituito dai due attributi Codice Soggetto e Codice Soggetto Banca. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice soggetto Identificatore Intero Codice identificatore del soggetto No Codice soggetto banca Identificatore Intero Codice identificatore del soggetto che è istituto di credito No Domiciliazione attiva Definisce se si tratta di relazione attiva. Booleano S: Relazione attiva; N: non più valida No Data inizio Data di inizio validità Data No Data fine Data di fine validità Data Si Codice IBAN Definisce gli estremi del conto corrente del cliente nel circuito interbancario Testo No 3.2.9. Entità Banca Questa entità prende forma dalla ristrutturazione dell’attributo composto che definisce le caratteristiche del soggetto banca. L’occorrenza della relazione attiva è caratterizzata dalla flag Relazione Attiva = S e dalla data fine validità impostata a null. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Banca Identificatore Intero No Codice Soggetto Codice del soggetto censito a sistema Intero Identificatore dell’entità Soggetto No Relazione attiva Definisce se si tratta di relazione attiva. Booleano S: Relazione attiva; N: non più valida No Codice ABI Coordinate bancarie: codice ABI Intero No 28
  29. 29. Codice CAB Coordinate bancarie: codice CAB Intero No Data inizio Data inizio validità Data No Data fine Data fine validità Data Si 3.2.10. Entità Cliente L’entità cliente rappresenta l’oggetto attorno al quale si sviluppa l’intero sistema. Definisce lo schema dei dati che si riferiscono al cliente ed alla relazione “contratto”, relazione che quindi è stata assorbita da questa entità. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Cliente Identificatore Intero No Codice Soggetto Codice del soggetto che è cliente Intero Identificatore dell’entità Soggetto No Codice Tipo Servizio Definisce il servizio che è fornito al cliente. Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 1 “CodiceTipoServizio”. No Codice Tipo Utilizzo Definisce una regola di raggruppamento per le utenze. Può essere l’uso merceologico o altre codifiche a piacimento. E’ utilizzabile per analisi e funzioni di reportistica. Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 2 “CodiceTipoUtilizzo”. No Identificativo Fornitura Codice identificativo della fornitura. Per il gas e l’elettricità è il Point of Delivery, stabilito dall’autorità per l’energia elettrica ed il Gas; per l’acqua la codifica della presa. Testo No Codice Gruppo per Definisce un codice per la selezione delle Intero Il codice deve essere presente nella tabella No 29
  30. 30. fatturazione utenze da fatturare nei processi di fatturazione di gruppo. “Descrizione Codici” con Tipo Codice = 3 “CodiceGruppoFatturazione”. Codice Indirizzo fornitura Identificativo del luogo di fornitura del servizio, indirizzo che tipicamente coincide con l’indirizzo di residenza del cliente. Intero Identificatore dell’entità Indirizzo No Stato Cliente Identifica lo stato del contratto Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 16 “CodiceStatoCliente”. No Anno contratto Attributo della relazione Contratto No Numero contratto Attributo della relazione Contratto No Data contratto Attributo della relazione Contratto No Flag Fatturazione Definisce se il cliente è fatturabile Booleano S: si; N: no No Note tecniche Testo Si Note amministrative Testo Si Segue la lista dei valori che sono stati configurati a sistema per gli attributi Codice Tipo Servizio, Codice Stato Cliente, Codice Tipo Utilizzo e Codice Gruppo Fatturazione. Codice Tipo Servizio Descrizione 1 Servizio di vendita gas metano 2 Servizio di vendita energia elettrica 3 Servizio di vendita acqua potabile Codice Stato Cliente Descrizione 1 Cliente Attivo Fatturabile 30
  31. 31. 2 Contratto Cessato 3 Cliente in fase di attivazione o in attesa di documentazione per l’attivazione 4 Cliente moroso Codice Tipo Utilizzo Descrizione 1 Codice generico Codice Gruppo Fatt. Descrizione 1 Codice generico 3.2.11. Lo stato contrattuale 3.2.11.1. Entità Valore Contrattuale Questa entità è una generalizzazione delle entità Fattore di correzione, Limite e Volume. E’ l’algoritmo di calcolo che attribuisce, in base al codice, il significato operativo delle singole istanze. Ogni algoritmo è caratterizzato da uno stato diverso, e quindi dalla presenza o assenza di determinate voci contrattuali. In appendice D è specificata la configurazione delle tariffe e degli algoritmi da applicare ad ogni singolo servizio. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Cliente Identificatore Intero Riferimento all’entità cliente No Codice Tariffa Identificatore Intero Riferimento alla tariffa applicata No Codice Valore Cliente Identificatore. Codice che identifica il significato dell’occorrenza dell’entità. Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 5 “CodiceValoreContrattuale” No 31
  32. 32. Valore E’ il valore associato all’entità. Reale No 3.2.11.2. Entità Data Contrattuale L’entità Data Contrattuale costituisce, assieme all’entità Valore Contrattuale, lo stato del cliente. E’ strettamente legata all’algoritmo di calcolo e quindi alla tariffa e contiene tutte le occorrenze delle date significative ai fini della fatturazione. In appendice D è specificata la configurazione delle tariffe e degli algoritmi da applicare ad ogni singolo servizio. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Cliente Identificatore Intero Riferimento all’entità cliente. No Codice Tariffa Identificatore Intero Riferimento alla tariffa applicata. No Codice Data Cliente Identificatore. Codice che identifica il significato dell’occorrenza dell’entità. Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 6 “CodiceDataContrattuale” No Data E’ la data associata all’entità. Data No 3.2.12. Entità Addebito Fisso Consente all’applicativo di inserire in fattura degli importi già calcolati da altri sistemi, quali ad esempio bolli, mora su ritardati pagamenti, cauzioni ed altro. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Addebito Identificatore Intero No 32
  33. 33. Codice Cliente Codice del cliente al quale addebitare / accreditare la voce. Intero Riferimento all’entità Cliente No Descrizione Addebito Descrizione Testo No Valore addebito Valore da addebitare / accreditare Reale No Codice IVA da applicare Codice IVA Intero Riferimento all’entità Imposta No Flag fatturato Specifica se l’addebito è già stato fatturato Booleano S: si N: no No Flag anomalia Specifica se l’addebito non deve essere fatturato Booleano S: da fatturare N: non fatturare No Sistema di provenienza Definisce il sistema o modulo che ha generato l’addebito. No Codice Fattura Se null elemento non fatturato, altrimenti identifica la fattura. Intero Riferimento all’entità Fattura Si 3.2.13. Entità Tariffa E’ l’entità le cui occorrenze sono le tariffe e le imposte gestite a sistema. Ogni occorrenza è caratterizzata dall’algoritmo di calcolo, un modulo software sviluppato ad hoc che sviluppa la logica applicativa della tariffa. L’impianto tariffario è costituito dalle due entità Tariffa e Prezzo e dalla relazione Periodo di validità che definisce il periodo temporale di validità dei prezzi. Questa struttura permette di gestire le variazioni tariffarie determinate dall’andamento dei prezzi nel tempo. L’attributo Codice Tipo Misura definisce il tipo di misura che viene agganciato dal processo di fatturazione. Ciò permette di introdurre un livello di disaccoppiamento tra tariffe e misure; ad una singola misura, identificata da un Codice Tipo Misura, possono essere applicate diverse tariffe. Esempio concreto è il caso della fatturazione del gas naturale; al consumo si applicano due algoritmi diversi: la tariffa di consumo e l’imposta erariale. Il Codice tipo misura è stato preventivamente ed opportunamente codificato. 33
  34. 34. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Tariffa Codice univoco che rappresenta la tariffa (o l’imposta) Intero Identificatore dell’entità No Descrizione Tariffa Descrizione della tariffa (o imposta) Testo No Codice Algoritmo Applicato Definisce il codice dell’algoritmo di fatturazione che viene applicato. Intero Riferimento all’entità Algoritmo. No Codice Voce Fattura Codice della voce creata in fattura. Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 10 “CodiceVoceFattura”. No Codice Tipo Misura Definisce il tipo di misura che il sistema di fatturazione ricerca per applicare la tariffa. Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 7 “CodiceTipoMisura”. No Flag Dettagli Variazione Definisce se l’algoritmo di calcolo deve creare i dettagli di fatturazione per ogni variazione del periodo di validità Booleano S: crea dettagli N: non crea dettagli No Flag Dettagli Prezzo Definisce se l’algoritmo di calcolo deve creare i dettagli di fatturazione per ogni fascia di prezzo Booleano S: crea dettagli N: non crea dettagli No Flag Sconti applicabili Definisce se possono essere applicati degli sconti. Booleano S: applicabili N: non applicabili No Segue la lista dei valori che sono stati configurati a sistema per l’attributo Codice Tipo Misura. Codice Tipo Misura Descrizione 1 Misura di consumo acqua in Mc 34
  35. 35. 2 Misura di consumo gas in Mc 3 Misura di consumo in kWh 4 Misura di tempo in mesi da calcolare come differenza delle due date che definiscono l’intervallo di misurazione 5 Misura di tempo in giorni da calcolare come differenza delle due date che definiscono l’intervallo di misurazione 6 Misura di superficie in mq 7 Numero intero, numero di persone. 8 Misura di potenza in kW 9 Misura di consumo in kVarh 10 Misura di tempo in ore, minuti e secondi 3.2.14. Relazione Periodo di Validità Tariffaria E’ la relazione che permette di gestire l’evoluzione nel tempo dei prezzi; ogni tariffa, infatti, pur mantenendo inalterata la logica di calcolo, subisce nel tempo variazioni nei prezzi. Il periodo di validità è caratterizzato essenzialmente da una data di inizio validità e da una data di fine validità. Il motore di fatturazione dovrà tener conto delle variazioni tariffarie rendendo compatibili i periodi di validità tariffaria ed i periodi di rilevazione delle misure da fatturare, eventualmente suddividendo questi ultimi in modo da applicare alle misure il prezzo corretto. Ovviamente i periodi di validità tariffaria devono avere proprietà di continuità; questa specificità è garantita dai moduli software che gestiscono l’impianto tariffario in quanto il motore di fatturazione non può operare scelte in merito. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Tariffa Identificatore Intero Riferimento all’entità Tariffa. No 35
  36. 36. Codice Periodo Validità Identificatore. Identifica univocamente per ogni tariffa, l’occorrenza della relazione. Intero No Data Inizio Validità Data di inizio validità del periodo Data No Data Fine Validità Data di fine validità del periodo Data Se null allora il periodo non ha limite temporale superiore. Si Codice voce fattura Codice della voce che viene generata dal sistema di fatturazione Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 10 “CodiceVoceFattura”. No 3.2.15. Entità Prezzo L’attributo Prezzo Applicato definisce l’importo unitario da applicare alla misura da fatturare. Gli attributi Limite Inferiore e Limite Superiore introducono la possibilità di fatturare per fasce, cioè di suddividere la misura rilevata su più fasce caratterizzate dall’applicazione di prezzi diversi. La relazione è “uno a n”, quindi possono esserci per ogni periodo di validità n diverse fasce di prezzo identificate da un Codice Fascia progressivo con valori da uno a n, e da un intervallo di valori continuo limitato dagli attributi Limite Inferiore e Limite Superiore. Le due tecniche di suddivisione dei consumi sono quella “a riempimento” che attribuisce tutto il consumo alla fascia n prima di iniziare a riempire la fascia n+1 e quella “proporzionale” che attribuisce il consumo nelle varie fasce proporzionalmente ai giorni fatturati (gli algoritmi sono descritti opportunamente nella fase di stesura del codice). Nel caso in cui non si preveda differenziazione di prezzo, allora sarà presente un’unica occorrenza di questa entità. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Tariffa Identificatore. Intero Riferimento all’entità Tariffa. No Codice Variazione Tariffaria Identificatore. Intero Riferimento al periodo di validità No 36
  37. 37. tariffario Codice Fascia Tariffaria Identificatore. Numero progressivo che determina la fascia. Intero No Limite Inferiore Definisce il limite inferiore a partire dal quale viene applicato il prezzo specificato. Reale Si Limite Superiore Definisce il limite superiore di consumo fino al quale applicare il prezzo. Reale Si Prezzo Applicato Definisce il prezzo da applicare alla misura rilevata. Reale No Codice Voce Fattura Codice della voce che viene generata dal sistema di fatturazione. Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 10 “CodiceVoceFattura”. No 3.2.16. Entità Algoritmo Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Algoritmo Identificatore dell’entità. Intero I codici devono essere opportunamente predefiniti, rappresentano dei driver di fatturazione. No Versione Algoritmo Versione. Serve a dare profondità storica all’entità. Da utilizzare solo a livello descrittivo, in quanto versioni diverse dello stesso algoritmo devono essere identificate Intero No 37
  38. 38. da codici diversi. Descrizione Algoritmo Breve descrizione delle funzionalità dell’algoritmo. Testo No Segue la lista degli algoritmi progettati e la relativa codifica. La creazione di nuovi algoritmi di calcolo comporta la scrittura del codice, la codifica nella tabella Algoritmo, l’associazione alle tariffe e l’implementazione dello stato contrattuale al fine di garantire l’adeguata infrastruttura al motore di fatturazione. Codice Algoritmo Descrizione 1 Moltiplicazione della misura rilevata per il prezzo unitario (espresso in €/unità di misura) utilizzabile per misure che variano con continuità, ad esempio nel calcolo dei corrispettivi per fognatura e depurazione. Il calcolo deve essere anche rapportato al numero di giorni ai quali è riferita la misura. 2 Suddivisione del consumo in scaglioni a riempimento, e quindi applicazione di prezzi diversi per fascia; ad esempio calcolo della quota consumo nella fattura del servizio di fornitura di gas. 3 Moltiplicazione del periodo di rilevazione (espresso in giorni o mesi) per il prezzo unitario e per un attributo che rappresenta la misura del servizio, (prezzo espresso in €/gg*unità di misura); ad esempio la quota potenza del servizio elettrico (prezzo * giorni * potenza impegnata) oppure calcolo nolo fatture acqua (prezzo * giorni * numero unità abitative). La costante moltiplicativa può essere unitaria, in tal caso l’algoritmo calcola il semplice prodotto del numero di giorni rilevati * il prezzo unitario. Da utilizzare per misure che rappresentano intervalli temporali. 38
  39. 39. 4 Suddivisione del consumo in scaglioni proporzionali, e quindi applicazione di prezzi diversi per fascia; ad esempio calcolo della quota consumo nella fattura del servizio di fornitura di acqua potabile. Di seguito è riepilogata l’applicabilità degli algoritmi ai tipi di misura. Entità fisiche che variano con continuità Intervalli puntuali di tempo Grandezze discrete Intervallo temporale di rilevazione Algoritmo01 Si No No No Algoritmo02 Si No No No Algoritmo03 No No No Si Algoritmo04 Si No No No Sviluppi futuri No Si Si No In appendice D è specificata la configurazione delle tariffe e degli algoritmi da applicare ad ogni singolo servizio. 3.2.17. Relazione Piano Tariffario Stabilisce il legame tra la struttura tariffaria ed il cliente determinando le tariffe che saranno applicate alle misure assegnate al cliente. Definisce anche l’aliquota IVA, che quindi può variare in funzione del cliente e della tariffa. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Contratto Identificatore Intero Riferimento all’entità Contratto. No Codice Tariffa Identificatore Intero Riferimento all’entità Tariffa. No 39
  40. 40. Codice IVA Codice dell’aliquota IVA da applicare alla voce di fatturazione generata. Intero Riferimento all’entità Imposta. No Flag Fatturare Definisce se la tariffa è applicabile in fatturazione Booleano N: no S: si No 3.2.18. Relazione Trattamento Economico Questa relazione implementa la possibilità di applicare degli sconti ad ogni singola tariffa applicata al cliente. E’ caratterizzata dalla presenza di un periodo di validità e dalla possibilità di sospensione del trattamento di favore. Le date di inizio trattamento e fine trattamento devono sempre essere presenti, perché non si prevede la gestione di un trattamento illimitato. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Trattamento Identificatore Intero No Codice Cliente Codice del cliente al quale applicare il tratt. Intero Riferimento all’entità contratto. No Codice Tariffa Codice della tariffa da scontare Intero Riferimento all’entità tariffa. No Codice Sconto Codice sconto applicato Intero Riferimento all’entità Sconti No Data inizio Data inizio periodo di applicazione Data No Data fine Data fine periodo di applicazione Data No Limite importo Limite massimo di importo scontabile Reale Si Limite consumo Limite massimo di consumo scontabile Reale Si Totale Importo Totale importo già scontato nelle fatture precedenti. Reale Si Totale Consumo Totale consumo già scontato nelle fatture precedenti. Reale Si 40
  41. 41. Percentuale massima Percentuale massima dell’importo fatturato che può essere scontata su ogni singola fattura. Reale No Flag sospensione Definisce se il trattamento è sospeso. Booleano N: no - S: Si No Flag Attivo Definisce se il trattamento è applicabile (da applicare in fatturazione). Booleano N: no - S: Si No 3.2.19. Entità Sconto L’entità Sconto definisce l’anagrafica degli sconti gestiti dal sistema. Il motore di fatturazione è in grado di applicare su ogni singola tariffa sconti sugli importi o sui consumi. Si suppone che più forme di sconto non siano cumulabili sulla stessa tariffa. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Sconto Identificatore Intero No Descrizione Descrizione della forma di sconto Testo No Codice Tipologia Sconto Definisce se lo sconto va applicato sul consumo o sul prezzo. Intero 1: sconto sul consumo 2: sconto sul prezzo No Codice Tipologia temporale Definisce il criterio temporale di applicazione dello sconto. Intero 1: periodo limitato 2: per una singola fattura No 3.2.20. Entità Imposta Valore Aggiunto 41
  42. 42. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Imposta Identificatore Intero No Descrizione Imposta Descrizione Testo No Valore Imposta Valore Intero No Segue la lista delle occorrenze dell’entità che devono essere configurate affinché il sistema funzioni correttamente. Codice Imposta Descrizione Valore 1 IVA 10% 10 2 IVA 20% 20 3 Non imponibile 0 4 Esente 0 3.2.21. Relazione Periodo Di Rilevazione Misure La relazione Periodo di Rilevazione Misure definisce il periodo nel corso del quale le misure sono state rilevate ed assume un ruolo d’importanza fondamentale nel processo di fatturazione in quanto disaggrega la misura dai vincoli temporali; il motore di fatturazione dovrà accedere ai consumi solo attraverso il periodo di rilevazione. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Periodo Temporale Identificatore Intero No Codice Tipo Misura Definisce il tipo di misura. Il processo di fatturazione ricerca per ogni tariffa attribuita al contratto, un solo tipo misura da Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 7 “CodiceTipoMisura”. No 42
  43. 43. associare. Codice Cliente Cliente al quale sono associate le rilevazioni. Intero Riferimento all’entità cliente No Flag Fatturabile Definisce se l’elemento è fatturabile. Booleano S: si; N: no No Flag Fatturato Definisce se l’elemento è fatturato Booleano S: si; N: no No Data Inizio Periodo Rilevazione E’ la data che definisce l’inizio del periodo di rilevazione delle misure associate. Data No Data Fine Periodo Rilevazione E’ la data che definisce la fine del periodo di rilevazione delle misure associate. Data No Unità di Misura Definisce l’unità di misura delle rilevazioni effettuate. Testo No Sistema di provenienza Definisce il sistema o modulo di provenienza. Testo No 3.2.22. Entità Misura di Consumo Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice misura Identificatore Intero No Codice Periodo di Rilevazione Riferimento alla data di rilevazione. Intero Identificatore della relazione Periodo di rilevazione. No Misura Valore della misura Reale No 43
  44. 44. Costante moltiplicativa Eventuali costanti moltiplicative del consumo. Reale No Flag Anomalia Specifica se la voce è da fatturare o presenta anomalie. Booleano S: Misura valida A: anomalia, misura da non fatturare No Codice Sistema di Misura Codice che identifica l’elemento di misura per sistemi di fatturazione di consumi misurati. Intero Identificatore dell’entità sistema di misura. No Descrizione Per Bolletta Descrizione proveniente dal sistema di rilevazione che opzionalmente può essere riportata in fattura. Testo Si Tipo Lettura Definisce se la lettura è effettiva o stimata Intero E: Effettiva; A:Stimata No 3.2.23. Entità Misura di intervalli temporali Questa entità è progettata per consentire lo sviluppo futuro di algoritmi per la fatturazione dei consumi telefonici. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice misura Identificatore Intero No Codice Periodo di Rilevazione Riferimento alla data di rilevazione. Intero Identificatore della relazione Periodo di rilevazione. No Numero chiamato Identifica il chiamato Intero No Billing number Soggetto che paga la chiamata Intero No Data Inizio Conversazione Data di inizio della chiamata Data No 44
  45. 45. Durata conversazione Misura della durata della conversazione. Tempo No Flag Anomalia Specifica se la voce è da fatturare o presenta anomalie. Booleano S: Misura valida A: anomalia, misura da non fatturare No Chiamante Identifica il chiamante intero No Descrizione Per Bolletta Descrizione proveniente dal sistema di rilevazione che opzionalmente può essere riportata in fattura. Testo Si 3.2.24. Entità Misura di grandezze discrete Questa entità è progettata per consentire lo sviluppo futuro di algoritmi di fatturazione di tariffe ed imposte calcolate su parametri quali la superficie, il numero di persone e qualsiasi altra misura rappresentabile da un valore intero. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice misura Identificatore Intero No Codice Periodo di Rilevazione Riferimento alla data di rilevazione. Intero Identificatore della relazione Periodo di rilevazione. No Misura Discreta Valore della misura. Reale No Data Inizio Misura Discreta Data di inizio misura Data No Data Fine Misura Discreta Data di fine misura Data No Flag Anomalia Specifica se la voce è da fatturare o presenta anomalie. Booleano S: Misura valida A: anomalia, misura da non fatturare No Descrizione Per Bolletta Descrizione proveniente dal sistema di rilevazione che opzionalmente può essere Testo Si 45
  46. 46. riportata in fattura. 3.2.25. Relazione Sistema di Misura Descrive l’apparato fisico utilizzato per la rilevazione delle misure, per i servizi che lo prevedono (solo per misure di consumo). Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Sistema di Misura Identificatore Intero No Codice Cliente Cliente al quale è associato il sistema di misura. Intero Riferimento all’entità cliente No Descrizione Descrizione. Testo No Marca Marca – non codificata Testo No Modello Modello – non codificato Testo No Stato Apparato Definisce lo stato del sistema di misura. Testo I: installato e funzionante. R: rimosso C: chiuso No Anno di produzione Anno di produzione Intero No Data di Installazione Data di installazione. Data No Data di Rimozione Data di rimozione. Data Si Note tecniche Note tecniche rilevanti. Testo Si 3.2.26. Entità Fattura 46
  47. 47. Identifica la testata della fattura; contiene tutte le informazioni di carattere generale pertinenti al documento, in particolare il codice numerico progressivo di identificazione, lo stato, e le date di emissione, scadenza e pagamento. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Fattura Identificatore Intero No Data Emissione Data di emissione Data No Data Scadenza Data di scadenza Data No Data Pagamento Data di pagamento Data No Codice Cliente Cliente al quale viene intestata la fattura. Intero Codice identificativo dell’entità cliente. No Stato fattura Definisce lo stato della fattura Testo E: emessa, P: pagata, A: annullata, C: contestata dal cliente, V: pagata parzialmente. No Imponibile totale Reale No Imposta totale Reale No Importo totale Reale No Importo Pagato Reale No 3.2.27. Entità dettaglio di fatturazione E’ l’oggetto creato dal processo di fatturazione a fronte di ogni misura rilevata ed è caratterizzato da tutti gli attributi che contribuiscono a definire l’importo fatturato. Deve mantenere la storia della tariffa, del periodo tariffario, del prezzo applicato, dell’eventuale applicazione di sconti, del codice e del valore dell’imposta, del periodo di rilevazione e della misura. Di particolare importanza sono le due date Data Inizio Misura Fatturata e Data Fine Misura Fatturata che identificano il periodo temporale fatturato e che possono non combaciare con le date del periodo di rilevazione poiché questi possono essere suddivisi dal processo di fatturazione per essere ricondotti ai periodi di validità tariffaria. 47
  48. 48. Le occorrenze di questa entità formano una struttura gerarchica a tre livelli; il livello più alto è rappresentato dal totale calcolato su tutto il periodo di rilevazione, il livello intermedio rappresenta il totale calcolato per ogni variazione tariffaria, il livello più basso rappresenta il totale calcolato sulla singola fascia tariffaria. Per ogni misura quindi l’applicativo può generare fino a tre occorrenze di elementi di fatturazione in funzione della configurazione della tariffa. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice dettaglio di fatturazione Identificatore Intero No Codice fattura Fattura alla quale appartiene il dettaglio. Intero Riferimento all’entità Fattura. No Codice tariffa applicata Tariffa applicata Intero Riferimento all’entità Tariffa. No Codice periodo validità tari Decorrenza tariffaria Intero Riferimento al periodo tariffario. Si Codice prezzo applicato Prezzo applicato Intero Riferimento alla fascia tariffaria. Si Codice Periodo di Rilevazione Periodo di rilevazione della misura. Intero Riferimento al periodo di rilevazione misure. No Codice misura Misura fatturata Intero Riferimento alla misura. Se null allora il dettaglio si riferisce ad un periodo di rilevazione senza misura Si Codice Voce Fattura Codice della descrizione dell’elemento. Da significato al valore calcolato. Intero Il codice deve essere presente nella tabella “Descrizione Codici” con Tipo Codice = 10 “CodiceVoceFattura”. No Livello struttura Definisce il livello di gerarchia nella struttura. Intero 1: valore che si riferisce alla fascia di prezzo 2: valore aggregato per periodo di validità tariffaria No 48
  49. 49. 3: valore aggregato per tariffa Importo fatturato Reale No Quantità fatturata Reale No Data Inizio Misura fatturata Data No Data Fine Misura fatturata Data No Importo scontato Reale No Quantità scontata Reale No Importo lordo sconti Importo al lordo degli sconti Reale No Quantità lordo sconti Quantità al lordo degli sconti Reale No Codice IVA IVA Applicata Intero Riferimento alla tabella Imposta No Codice Trattamento Econom. Intero Riferimento alla tabella Trattamento Economico IVA calcolata Reale No Prezzo Prezzo applicato Reale No Descrizione Per Bolletta Rappresenta il campo descrizione che opzionalmente può essere riportato nell’entità fattura per questa voce. Testo Si 3.2.28. Entità Imposta Fatturata Definisce per ogni fattura, il riepilogo dell’imposta fatturata suddiviso per aliquota. Nome Attributo Descrizione Tipo Vincoli o valori previsti Null Codice Fattura Identificatore Intero Riferimento all’entità Fattura No Codice Imposta Identificatore Intero Riferimento all’entità Imposta No Imponibile Imponibile totale Reale No 49
  50. 50. Valore Imposta Aliquota Intero No Imposta fatturata Valore dell’imposta Reale No 3.2.29. Entità Stato Anagrafico Fatturato Questa entità è stata progettata per mantenere traccia degli attributi dell’anagrafica che nel tempo sono soggetti a variazione e che non possono modificarsi nella fattura. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Fattura Identificatore Intero Riferimento all’entità Fattura No Codice Indirizzo residenza Codice dell’indirizzo di residenza nel momento di emissione della fattura Intero Riferimento all’entità Indirizzo No Codice Indirizzo recapito Codice dell’indirizzo di recapito nel momento di emissione della fattura Intero Riferimento all’entità Indirizzo No Codice anagrafica terzi Codice dell’anagrafica terzi nel momento di emissione della fattura Intero Riferimento all’entità Anagrafica No Codice anagrafica banca Codice dell’anagrafica di domiciliazione bancaria nel momento di emissione della fattura Intero Riferimento all’entità Anagrafica No 3.2.30. Entità Valore Cliente Fatturato Questa entità ha lo scopo di salvare lo stato contrattuale presente nel momento in cui è esaminato dall’applicativo di fatturazione. 50
  51. 51. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Fattura Identificatore Intero Riferimento all’entità Fattura No Codice Cliente Identificatore Intero Riferimento all’entità Cliente No Codice Tariffa Identificatore Intero Riferimento all’entità Tariffa No Codice Valore Cliente Identificatore. Codice che identifica il valore contrattuale. Intero Riferimento al valore contrattuale No Valore E’ il valore associato all’occorrenza dell’entità da memorizzare. Reale No 3.2.31. Entità Data Cliente Fatturata Questa entità ha lo scopo di salvare lo stato contrattuale presente nel momento in cui è esaminato dall’applicativo di fatturazione. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Fattura Identificatore Intero Riferimento all’entità Fattura No Codice Cliente Identificatore Intero Riferimento all’entità Cliente No Codice Tariffa Identificatore Intero Riferimento all’entità Tariffa No Codice Data Contrattuale Identificatore. Codice che identifica la data. Intero Riferimento alla data contrattuale No Data Data da memorizzare. Data No 3.2.32. Entità Errori di Fatturazione Questa entità viene utilizzata per la gestione delle anomalie che si presentano nel corso del processo di fatturazione; ogni eccezione prodotta dall’applicativo è registrata. 51
  52. 52. Nome attributo Descrizione Tipo Vincoli o valori previsti Null Codice Errore Identificatore Intero No Codice Contratto Cliente esaminato dalla procedura di fatturazione. Intero Riferimento all’entità Cliente No Data Errore Data nella quale si è verificato l’errore Data No Codice Anomalia Codice dell’errore prodotto. Intero No Classe Errore Tipologia di errore Testo S: errore di sistema L: errore nella logica applicativa No Procedura Generatrice Errore Nome della procedura che ha generato l’errore Testo No Descrizione Descrizione dell’errore Testo No 3.2.33. Entità Descrizione Codici Nome attributo Descrizione Tipo Vincoli o valori previsti Null Tipo Codice Identificatore. Intero No Codice Identificatore. Intero No Descrizione Descrizione Testo No Segue la lista dei Tipi di codice che sono codificati a sistema per garantirne il corretto funzionamento. 52
  53. 53. Tipo codice Significato del codice 5 Codice Valore Contrattuale 1 Codice Tipo Servizio 6 Codice Data Contrattuale 2 Codice Tipo Utilizzo 7 Codice Tipo Misura 3 Codice Gruppo Fatturazione 10 Codice Voce Fattura 4 Codice Classe Anagrafica 16 Codice Stato Cliente 53
  54. 54. 3.3. Il modello logico della base di dati L’ingegneria informatica, così come tutte le altre discipline scientifiche, fa largo uso di modelli, intesi come schemi teorici capaci di rappresentare gli aspetti salienti della realtà in esame. Uno dei compiti principali di un sistema informatico è quello di raccogliere, organizzare, elaborare e conservare in modo permanente informazioni riferite all’oggetto di studio. Risulta quindi particolarmente importante definire a priori un modello dei dati, cioè un insieme di concetti da utilizzare per organizzare i dati di interesse e descriverne la struttura in modo che risulti comprensibile ad un elaboratore. Il modello logico adottato nello sviluppo della base di dati della fatturazione è quello relazionale che si basa su solidi fondamenti teorici, l’algebra relazionale, ed è caratterizzato dal fatto che tutte le informazioni sono organizzate in tabelle e tutte le operazioni danno come risultato tabelle. Fu proposto per la prima volta in una pubblicazione scientifica nel 1970 da E.F. Codd allo scopo di superare le limitazioni dei modelli gerarchico e reticolare che non consentivano di realizzare una proprietà fondamentale per le basi di dati come quella dell’indipendenza dei dati. Il problema dell’indipendenza dei dati è stato per decenni alla base dell’evoluzione dei moderni DBMS commerciali; lo sviluppo della teoria ha portato all’architettura standard ANSI/SPARC a tre livelli: a) lo schema fisico che rappresenta la base di dati per mezzo di strutture fisiche di memorizzazione; b) lo schema logico che porta alla descrizione della base dati nel modello logico dello specifico DBMS; c) lo schema esterno che permette di organizzare le informazioni in modo utile alle varie applicazioni che vi operano; Conseguenza fondamentale dell’articolazione in livelli di astrazione è l’indipendenza dei dati che permette “ad utenti e applicativi che utilizzano una base di dati di interagire ad un elevato livello di astrazione” rendendoli indipendenti sia dalla struttura fisica sia da quella logica. Si ottiene quindi che il livello logico e quello esterno sono indipendenti dalla realizzazione fisica e che il livello esterno è indipendente da quello logico. In questa fase progettuale il modello concettuale opportunamente ristrutturato è utilizzato per generare lo schema logico della base di dati; tutti gli oggetti dello schema Entità – Relazioni sono quindi tradotti in opportuni oggetti del modello Relazionale, in base ad un insieme di regole predefinite. Lo schema ER originario è già stato oggetto di una prima ristrutturazione nel corso della fase di stesura della documentazione. In particolare sono già state rimosse le generalizzazioni, scelti gli identificatori ed accorpate entità e relazioni in modo da ottimizzare lo schema logico. 54
  55. 55. Poiché l’unico oggetto utilizzabile nel modello relazionale è la Relazione, tutte le Entità e le Relationship dello schema ER saranno tradotte in Relazioni, caratterizzate da un identificatore, da un insieme di attributi e da opportune regole d’integrità referenziale. Lo schema logico che viene presentato di seguito è anche il risultato di un ulteriore processo di normalizzazione e quindi può essere considerato qualitativamente corretto e adatto ad essere utilizzato per la realizzazione dello schema della base di dati. In questa fase si è posta particolare attenzione alla traduzione delle Relationship, in particolare si è adottata la seguente norma comportamentale: ogni entità che partecipa alla relationship viene tradotta in una relazione dello schema logico. La relationship, sempre che non sia dotata di attributi rilevanti, viene assorbita da una delle entità che vi partecipano e non viene tradotta nello schema logico. 3.4. Traduzione dallo schema concettuale allo schema logico relazionale La seguente tabella definisce la corrispondenza tra i concetti dello schema concettuale e quelli dello schema logico. E’ integrata con l’indicazione degli identificatori e della tecnica di codifica degli attributi. Modello E/R Tipo di oggetto (E/R) Relazione (modello logico) Prefisso codifica attributi Identificatore Soggetto E Anagrafica Ana_ Ana_Codice Indirizzo E Indirizzo Ind_ Ind_Codice Comune E Comune Com_ Com_Codice Stradario R Stradario Str_ Str_Codice Residenza R Residenza Res_ Res_CodiceAnagrafic a+Res_CodiceIndRes idenza Recapito R Recapito Rec_ Rec_CodiceAnagrafic a+Rec_CodiceIndRec apito Recapito presso terzi R Recapito Terzi Rtz_ Rtz_CodiceAnagrafic a+Rtz_CodiceTerzi Domiciliazione Bancaria R DomiciliazioneBancaria Dmb_ Dmb_CodiceAnagrafi ca+Dmb_CodiceAna Banca 55
  56. 56. Banca E Banca Ban_ Ban_Codice Cliente E Cliente Cli_ Cli_Codice Valore contrattuale E Valore Cliente Vlc_ Vlc_CodiceCliente+ Vlc_CodiceTariffa+ Vlc_CodiceValore Data contrattuale E Data Cliente Dta_ Dta_CodiceCliente+ Dta_CodiceTariffa + DtaCodiceData Addebito fisso E Addebito Add_ Add_Codice Tariffa E Tariffa Tar_ Tar_Codice Periodo di validità tariffaria R Validità Tariffa Pvt_ Pvt_CodicePeriodoV alidita Prezzo E Prezzo Prz_ Prz_CodiceTariffa+P rz_CodiceVarTariffa +Prz_CodiceFasciaTa riffa Algoritmo E Algoritmo Alg_ Alg_Codice Piano tariffario R Piano Tariffario Pta_ Pta_CodiceCliente+P ta_CodiceTariffa Trattamento economico R TrattamentoEconomico Tra_ Tra_Codice Sconto E Sconto Sco_ Sco_Codice Imposta valore aggiunto E Imposta Iva_ Iva_Codice Periodo di rilevazione misure R PeriodoRilevazione Prl_ Prl_Codice Misura di consumo E MisuraConsumo Mco_ Mco_Codice Misura di intervalli temporali E MisuraTempo Mte_ Mte_Codice Misura di grandezze discrete E MisuraDiscreta Mdi_ Mdi_Codice Sistema di misura R ApparatoMisura Apm_ Apm_Codice Fattura E Fattura Fat_ Fat_Codice Imposta fatturata E ImpostaFatt Ifa_ Ifa_CodiceFattura+If a_CodiceImposta Dettaglio di E DettaglioFatt Det_ Det_Codice 56
  57. 57. fatturazione Stato anagrafico fatturato E StatoAnaFatt Saf_ Saf_CodiceFattura Valore cliente fatturato E ValoreFatt Vcf_ Vcf_CodiceFattura+ Vcf_CodiceCliente+ Vcf_CodiceTariffa+ Vcf_CodiceValore Data cliente fatturata E DataFatt Dfa_ Dfa_CodiceFattura+ Dfa_CodiceCliente+ Dfa_CodiceTariffa+ Dfa_CodiceData Errori di fatturazione E ErroriFatturazione Err_ Err_CodiceErrore Descrizione codici E Codici Cod_ Cod_TipoCodice+ Cod_Codice L’appendice C contiene la descrizione precisa di tutte le tabelle implementate nel Data Base. 3.5. Tavola dei volumi e tavola degli accessi La seguente tabella definisce il volume misurato in numero di occorrenze previste a regime per ogni tabella ed il numero medio di accessi che l’applicazione effettua nella creazione di una fattura. Le due tavole si riferiscono ad un’azienda che opera in un mercato caratterizzato dai seguenti indicatori: • 10.000 clienti; • quattro servizi e quindi in totale 40.000 contratti; • fatturazioni a periodicità bimestrale, quindi sei fatture per contratto all’anno per un totale di 240.000 fatture; • l’applicazione in media di tre tariffe a fattura (consumo, quota fissa e imposta); • variazioni tariffarie trimestrali per imposta e consumo e annuali per la quota fissa; in totale per ogni cliente nove variazioni tariffarie l’anno; • per ogni fattura un totale di nove fasce di prezzo; • uno sconto applicato almeno una volta in fattura, quindi 240.000 sconti; 57
  58. 58. I volumi si riferiscono quindi ad un totale di 40.000 contratti, valore costante negli anni, e ad un anno di fatturazione che corrisponde a 240.000 fatture emesse. Modello E/R Tipo di oggetto (E/R) Relazione (modello logico) Volume Accessi (per la generazione di una fattura) Soggetto E Anagrafica 10.000 3 (L) Indirizzo E Indirizzo 40.000 3 (L) Comune E Comune 100 4 (L) Stradario R Stradario 1.000 4(L) Residenza R Residenza 10.000 1 (L) Recapito R Recapito 1.000 1 (L) Recapito presso terzi R Recapito Terzi 500 1 (L) Domiciliazione Bancaria R DomiciliazioneBancaria 5.000 1 (L) Banca E Banca 100 1 (L) Cliente E Cliente 40.000 1 (L) Valore contrattuale E Valore Cliente 480.000 5 (L) – 5 (S) Data contrattuale E Data Cliente 480.000 5 (L) – 5 (S) Addebito fisso E Addebito 320.000 3 (S) Tariffa E Tariffa 100 3 (L) Periodo di validità tariffaria R Validità Tariffa 400 6 (L) Prezzo E Prezzo 1500 10 (L) Algoritmo E Algoritmo 6 3 (L) Piano tariffario R Piano Tariffario 40.000 1 (L) Trattamento economico R TrattamentoEconomico 40.000 3 (L) – 3 (S) Sconto E Sconto 100 3 (L) Imposta valore aggiunto E Imposta 4 4 (L) Periodo di rilevazione misure R PeriodoRilevazione 480.000 2 (L) - 2 (S) Misura di consumo E MisuraConsumo 180.000 1 (L) Misura di intervalli temporali E MisuraTempo 4.000.000 50 (L) 58
  59. 59. Misura di grandezze discrete E MisuraDiscreta 20.000 2 (L) Sistema di misura R ApparatoMisura 30.000 1 (L) Fattura E Fattura 240.000 4 (S) Imposta fatturata E ImpostaFatt 960.000 3 (S) Dettaglio di fatturazione E DettaglioFatt 4.560.000 19 (S) Stato anagrafico fatturato E StatoAnaFatt 240.000 1 (S) Valore cliente fatturato E ValoreFatt 2.400.000 5 (S) Data cliente fatturata E DataFatt 2.400.000 5 (S) Errori di fatturazione E ErroriFatturazione 0 0 Descrizione codici E Codici 50 10 (L) 59
  60. 60. 4. Realizzazione del prodotto 4.1. Contesto Tecnologico L’applicazione è stata sviluppata utilizzando il Data Base Management System Microsoft SQL Server 2005 Express su piattaforma Microsoft (sistemi operativi Windows XP, Windows Vista o Windows 2000 - 2003 Server). Gli unici vincoli Hardware sono rappresentati dai requisiti minimi di installazione di SQL Server Express. Per il Porting in produzione è necessaria l’adozione di una versione di SQL Server completa di licenza d’uso (e quindi senza limiti nelle dimensioni del data base) e sono da valutare le caratteristiche minime del Server che deve ospitare la base di dati, caratteristiche che sono determinate essenzialmente dal numero di clienti e fatture da gestire. 4.2. Lo schema del data base Lo schema logico del database è costituito da 34 tabelle. Di seguito sono rappresentati i diagrammi delle principali macro aree nelle quali è strutturato l’archivio: l’anagrafica dei soggetti, il cliente, la fattura, la tariffa e il dettaglio di fatturazione. L’esposizione termina con le due tabelle di servizio, “Codici” e “Errori Fatturazione” e con il diagramma completo dell’archivio, che per ragioni di semplicità riporta solamente i campi chiave delle relazioni. L’appendice C inoltre contiene la definizione precisa di tutte le tabelle che sono state implementate a sistema. 60
  61. 61. Di seguito è rappresentato il diagramma riguardante l’anagrafica dei soggetti e le tabelle correlate: Banca Ban_Codice Ban_CodiceAnagrafica Ban_BancaAttiva Ban_CodiceABI Ban_CodiceCAB Ban_DataInizio Ban_DataFine FK_Banca_Anagrafica Cliente Cli_Codice Cli_CodiceAnagrafica Cli_CodiceTipoServizio Cli_CodiceTipoUtilizzo Cli_CodiceGruppoFatt Cli_CodiceFornitura Cli_CodiceStatoCliente Cli_AnnoContratto Cli_NumeroContratto Cli_DataContratto Cli_IdFornitura Cli_ClienteFatturabile Cli_NoteTecniche Cli_NoteAmministrative FK_Cliente_Anagrafica Comune Com_Codice Com_Comune Com_CAP Com_Provincia Com_Stato DomiciliazioneBancaria Dmb_CodiceAnagrafica Dmb_CodiceAnaBanca Dmb_ContoCorrente Dmb_CodieceIBAN Dmb_DomiciliazioneAttiva Dmb_DataInizio Dmb_DataFine FK_DomiciliazioneBancaria_Anagrafica FK_DomiciliazioneBancaria_AnaBanca I ndirizzo Ind_Codice Ind_CodiceStradario Ind_Civico Ind_Interno FK_Cliente_Indirizzo Recapito Rec_CodiceAnagrafica Rec_CodiceIndRecapito Rec_recapitoAttivo Rec_DataInizio Rec_DataFine FK_Recapito_Anagrafica FK_Recapito_Indirizzo RecapitoTerzi Rtz_CodiceAnagrafica Rtz_CodiceTerzi Rtz_RecapitoAttiv Rtz_DataInizio Rtz_DataFine FK_RecapitoTerzi_Anagrafica FK_RecapitoTerzi_AnagraficaTerzi Residenza Res_CodiceAnagrafica Res_codiceIndResidenza Res_ResidenzaAttiva Res_DataInizio Res_DataFine FK_Residenza_Anagrafica FK_Residenza_Indirizzo Stradario Str_Codice Str_CodiceComune Str_Descrizione FK_Stradario_Comune FK_Indirizzo_Stradario Anagrafica Ana_Codice Ana_TipoPersona Ana_CodiceClasse Ana_Demominazione Ana_codiceFiscale Ana_PartitaIVA Ana_FlagFatturazione Ana_DataNascita Ana_Sesso 61
  62. 62. Di seguito è rappresentato il diagramma riguardante l’entità cliente e le tabelle ad esso correlate: Addebito Add_codice Add_CodiceCliente Add_Descrizione Add_Valore Add_codiceIVA Add_AddebitoFatturato Add_AddebitoDaFatturare Add_SistemaProvenienza Add_CodiceFattura Anagrafica Ana_Codice Ana_TipoPersona Ana_CodiceClasse Ana_Demominazione Ana_codiceFiscale Ana_PartitaIVA Ana_FlagFatturazione Ana_DataNascita Ana_Sesso ApparatoMisur a Apm_Codice Apm_CodiceCliente Apm_Descrizione Apm_Marca Apm_Modello Apm_AnnoProduzione Apm_StatoApparato Apm_DataInstallazione Apm_DataRimozione Apm_NoteTecniche Cliente Cli_Codice Cli_CodiceAnagrafica Cli_CodiceTipoServizio Cli_CodiceTipoUtilizzo Cli_CodiceGruppoFatt Cli_CodiceFornitura Cli_CodiceStatoCliente Cli_AnnoContratto Cli_NumeroContratto Cli_DataContratto Cli_IdFornitura Cli_ClienteFatturabile Cli_NoteTecniche Cli_NoteAmministrative FK_Cliente_Anagrafica FK_ApparatoMisura_Cliente FK_Addebito_cliente DataCliente Dta_CodiceCliente Dta_CodiceTariffa Dta_CodiceData Dta_Data FK_DataCliente_Cliente Fattura Fat_Codice Fat_DataEmissione Fat_DataScadenza Fat_DataPagamento Fat_CodiceCliente Fat_TotaleImponibile Fat_TotaleImposta Fat_TotaleFattura Fat_TotalePagato Fat_StatoFattura FK_Fattura_Cliente MisuraConsumo Mco_Codice Mco_PeriodoRilevazione Mco_Misura Mco_Anomalia Mco_ApparatoMisura Mco_Descrizione Mco_CostanteMoltiplicativa Mco_TipoLettura FK_MisuraConsumo_Apparato MisuraDiscr eta Mdi_Codice Mdi_PeriodoRilevazione Mdi_Misura Mdi_DataInizioMisura Mdi_DataFineMisura Mdi_Anomalia Mdi_Descrizione PeriodoRilevazione Prl_Codice Prl_CodiceCliente Prl_CodiceTipoMisura Prl_Fatturabile Prl_DataInizioRilevazione Prl_DataFineRilevazione Prl_SistemaProvenienza Prl_UnitàMisura Prl_Fatturato FK_MisuraConsumo_PeriodoRilevazione FK_PeriodoRilevazione_Cliente FK_MisuraDiscreta_PeriodoRilevazione PianoTar iffario Pta_CodiceCliente Pta_CodiceTariffa Pta_CodiceIVA Pta_TariffaDaFatt FK_PianoTariffario_Cliente Sconto Sco_Codice Sco_Descrizione Sco_TipoSconto Sco_TipoScadenza Tariffa Tar_Codice Tar_Descrizione Tar_CodiceAlgoritmo Tar_CodiceTipoMisura Tar_CodiceVoceFattura Tar_CreadettVariazione Tar_CreaDettFascia Tar_applicaSconti FK_PianoTariffario_Tariffa FK_DataCliente_Tariffa Tr attamentoEconomico Tra_Codice Tra_CodiceCliente Tra_CodiceTariffa Tra_CodiceSconto Tra_ScontoApplicabile Tra_DataInizio Tra_DataFine Tra_ScontoSospeso Tra_LimiteImporto Tra_LimiteConsumo Tra_ImportoScontato Tra_ConsumoScontato Tra_Percentuale FK_TrattamentoEconomico_Tariffa FK_TrattamentoEconomico_Cliente FK_TrattamentoEconomico_Sconto ValoreCliente Vlc_CodiceCliente Vlc_CodiceTariffa Vlc_CodiceValore Vlc_Valore FK_ValoreCliente_Tariffa FK_ValoreCliente_Cliente MisuraTempo Mte_Codice Mte_PeriodoRilevazione Mte_Chiamato Mte_BillingNumber Mte_DataInizioConversazione Mte_DurataConversazione Mte_Anomalia Mte_Chiamante Mte_Descrizione FK_MisuraTempo_PeriodoRilevazione 62
  63. 63. Di seguito è rappresentato il diagramma riguardante le tabelle che costituiscono l’articolazione tariffaria: Algoritmo Alg_Codice Alg_Descrizione Alg_Versione PianoTariffario Pta_CodiceCliente Pta_CodiceTariffa Pta_CodiceIVA Pta_TariffaDaFatt FK_Tariffa_Algoritmo FK_PianoTariffario_Tariffa TrattamentoEconomico Tra_Codice Tra_CodiceCliente Tra_CodiceTariffa Tra_CodiceSconto Tra_ScontoApplicabile Tra_DataInizio Tra_DataFine Tra_ScontoSospeso Tra_LimiteImporto Tra_LimiteConsumo Tra_ImportoScontato Tra_ConsumoScontato Tra_Percentuale FK_TrattamentoEconomico_Tariffa ValiditaTariffa Pvt_CodiceTariffa Pvt_CodicePeriodoValidità Pvt_DataInizioValidità Pvt_DataFineValidità Pvt_CodiceVoceFattura FK_ValiditaTariffa_Tariffa FK_PianoTariffario_Cliente FK_TrattamentoEconomico_Cliente Prezzo Prz_CodiceTariffa Prz_CodiceVarTariffa Prz_CodiceFasciaTariffaria Prz_LimiteInferiore Prz_LimiteSuperiore Prz_Prezzo Prz_VoceFattura FK_Prezzo_Tariffa FK_Prezzo_VarTariffa I mposta Iva_Codice Iva_Descrizione Iva_Valore FK_PianoTariffario_Imposta Tariffa Tar_Codice Tar_Descrizione Tar_CodiceAlgoritmo Tar_CodiceTipoMisura Tar_CodiceVoceFattura Tar_CreadettVariazione Tar_CreaDettFascia Tar_applicaSconti Cliente Cli_Codice Cli_CodiceAnagrafica Cli_CodiceTipoServizio Cli_CodiceTipoUtilizzo Cli_CodiceGruppoFatt Cli_CodiceFornitura Cli_CodiceStatoCliente Cli_AnnoContratto Cli_NumeroContratto Cli_DataContratto Cli_IdFornitura Cli_ClienteFatturabile Cli_NoteTecniche Cli_NoteAmministrative Sconto Sco_Codice Sco_Descrizione Sco_TipoSconto Sco_TipoScadenza FK_TrattamentoEconomico_Sconto 63
  64. 64. Di seguito è rappresentato il diagramma riguardante le tabelle che contribuiscono a formare la fattura: ValoreFatt Vcf_CodiceFattura Vcf_CodiceCliente Vcf_CodiceValore Vcf_Valore StatoAnaFatt Saf_CodiceFattura Saf_CodiceResidenza Saf_CodiceRecapito Saf_CodiceAnaTerzi Saf_CodiceDomiciliazione Saf_CodiceAnagrafica I mpostaFatt Ifa_CodiceFattura Ifa_CodiceImposta Ifa_Imponibile Ifa_Imposta Ifa_AliquotaImposta Fattura Fat_Codice Fat_DataEmissione Fat_DataScadenza Fat_DataPagamento Fat_CodiceCliente Fat_TotaleImponibile Fat_TotaleImposta Fat_TotaleFattura Fat_TotalePagato Fat_StatoFattura FK_ValoreFatt_Fattura FK_ImpostaFatt_Fattura FK_StatoAnaFatt_Fattura DettaglioFatt Det_Codice Det_CodiceFattura Det_CodiceTariffa Det_CodiceValiditàTariffa Det_CodicePrezzo Det_CodicePeriodoRilev Det_CodiceMisura Det_CodiceVoce Det_LivelloStruttura Det_ImportoFatt Det_QtaFatt Det_DataIniFatt Det_DataFinFatt Det_ImportoScontato Det_QtaScontata Det_CodiceImposta Det_ImpostaFatt Det_Descrizione Det_Prezzo FK_DettaglioFattFattura DataFatt Dfa_CodiceFattura Dfa_CodiceCliente Dfa_CodiceData Dfa_Data FK_DataFatt_Fattura Addebito Add_codice Add_CodiceCliente Add_Descrizione Add_Valore Add_codiceIVA Add_AddebitoFatturato Add_AddebitoDaFatturare Add_SistemaProvenienza Add_CodiceFattura Cliente Cli_Codice Cli_CodiceAnagrafica Cli_CodiceTipoServizio Cli_CodiceTipoUtilizzo Cli_CodiceGruppoFatt Cli_CodiceFornitura Cli_CodiceStatoCliente Cli_AnnoContratto Cli_NumeroContratto Cli_DataContratto Cli_IdFornitura Cli_ClienteFatturabile Cli_NoteTecniche Cli_NoteAmministrative FK_DataFatt_Cliente FK_ValoreFatt_Cliente FK_Fattura_Cliente FK_Addebito_cliente 64
  65. 65. Di seguito è rappresentato il diagramma riguardante il dettaglio di fatturazione e le tabelle ad esso correlatele: DettaglioFatt Det_Codice Det_CodiceFattura Det_CodiceTariffa Det_CodiceValiditàTariffa Det_CodicePrezzo Det_CodicePeriodoRilev Det_CodiceMisura Det_CodiceVoce Det_LivelloStruttura Det_ImportoFatt Det_QtaFatt Det_DataIniFatt Det_DataFinFatt Det_ImportoScontato Det_QtaScontata Det_CodiceImposta Det_ImpostaFatt Det_Descrizione Det_Prezzo PeriodoRilevazione Prl_Codice Prl_CodiceCliente Prl_CodiceTipoMisura Prl_Fatturabile Prl_DataInizioRilevazione Prl_DataFineRilevazione Prl_SistemaProvenienza Prl_UnitàMisura Prl_Fatturato I mposta Iva_Codice Iva_Descrizione Iva_Valore Fattura Fat_Codice Fat_DataEmissione Fat_DataScadenza Fat_DataPagamento Fat_CodiceCliente Fat_TotaleImponibile Fat_TotaleImposta Fat_TotaleFattura Fat_TotalePagato Fat_StatoFattura Prezzo Prz_CodiceTariffa Prz_CodiceVarTariffa Prz_CodiceFasciaTariffaria Prz_LimiteInferiore Prz_LimiteSuperiore Prz_Prezzo Prz_VoceFattura Tariffa Tar_Codice Tar_Descrizione Tar_CodiceAlgoritmo Tar_CodiceTipoMisura Tar_CodiceVoceFattura Tar_CreadettVariazione Tar_CreaDettFascia Tar_applicaSconti ValiditaTariffa Pvt_CodiceTariffa Pvt_CodicePeriodoValidità Pvt_DataInizioValidità Pvt_DataFineValidità Pvt_CodiceVoceFattura FK_ValiditaTariffa_Tariffa FK_Prezzo_VarTariffa FK_DettaglioFatt_Validità FK_Prezzo_Tariffa FK_DettaglioFatt_Tariffa FK_DettaglioFatt_PeriodoRilev FK_DettaglioFatt_imposta FK_DettaglioFattFattura FK_DettaglioFatt_Prezzo Le tabelle Codici ed ErroriFatturazione sono tabelle di servizio, utilizzate dall’applicativo per riportare errori avvenuti nel corso dell’elaborazione e per recuperare le descrizioni dei codici utilizzati. Codici Cod_TipoCodice Cod_Codice Cod_Descrizione ErroriFatturazione Err_CodiceErrore Err_CodiceContratto Err_DataErrore Err_CodiceAnomalia Err_Classe Err_Procedura Err_Descrizione 65
  66. 66. Di seguito è rappresentato il diagramma completo della base di dati. Per semplicità di esposizione sono visualizzati solo i campi chiave e quelli che contribuiscono a definire l’integrità referenziale del data base. Addebito Add_codice Add_CodiceCliente Add_codiceIVA Algoritmo Alg_Codice Anagrafica Ana_Codice ApparatoMisura Apm_Codice Apm_CodiceCliente Banca Ban_Codice Ban_CodiceAnagrafica Cliente Cli_Codice Cli_CodiceAnagrafica Cli_CodiceFornitura Codici Cod_TipoCodice Cod_Codice Comune Com_Codice DataCliente Dta_CodiceCliente Dta_CodiceTariffa Dta_CodiceData DataFatt Dfa_CodiceFattura Dfa_CodiceCliente Dfa_CodiceTariffa Dfa_CodiceData DettaglioFat t Det_Codice Det_CodiceFattura Det_CodiceTariffa Det_CodiceValiditàTariffa Det_CodicePrezzo Det_CodicePeriodoRilev Det_CodiceImposta DomiciliazioneBancaria Dmb_CodiceAnagrafica Dmb_CodiceAnaBanca ErroriFatturazione Err_CodiceErrore Fattura Fat_Codice Fat_CodiceCliente I mposta Iva_Codice I mpostaFatt Ifa_CodiceFattura Ifa_CodiceImposta Ifa_Imponibile Ifa_Imposta Ifa_AliquotaImposta I ndirizzo Ind_Codice Ind_CodiceStradario Ind_Civico Ind_Interno MisuraConsumo Mco_Codice Mco_PeriodoRilevazione Mco_ApparatoMisura MisuraDiscreta Mdi_Codice Mdi_PeriodoRilevazione MisuraTelefonica Mte_Codice Mte_PeriodoRilevazione PeriodoRilevazione Prl_Codice Prl_CodiceCliente PianoTariffario Pta_CodiceCliente Pta_CodiceTariffa Pta_CodiceIVA Pta_TariffaDaFatt Prezzo Prz_CodiceTariffa Prz_CodiceVarTariffa Prz_CodiceFasciaTariff... Recapito Rec_CodiceAnagrafica Rec_CodiceIndRecapito Rec_recapitoAttivo Rec_DataInizio Rec_DataFine RecapitoTerzi Rtz_CodiceAnagrafica Rtz_CodiceTerzi Residenza Res_CodiceAnagrafica Res_codiceIndResidenza Res_ResidenzaAttiva Res_DataInizio Res_DataFine Sconto Sco_Codice StatoAnaFatt Saf_CodiceFattura Saf_CodiceResidenza Saf_CodiceRecapito Saf_CodiceAnaTerzi Saf_CodiceDomiciliazione Saf_CodiceAnagrafica Stradario Str_Codice Str_CodiceComune Str_Descrizione Tariffa Tar_Codice Tar_CodiceAlgoritmo TrattamentoEconomico Tra_Codice Tra_CodiceCliente Tra_CodiceTariffa Tra_CodiceSconto ValiditaTariffa Pvt_CodiceTariffa Pvt_CodicePeriodoVali... ValoreCliente Vlc_CodiceCliente Vlc_CodiceTariffa Vlc_CodiceValore Vlc_Valore ValoreFatt Vcf_CodiceFattura Vcf_CodiceCliente Vcf_CodiceTariffa Vcf_CodiceValore Vcf_Valore 66
  67. 67. 4.3. Lo schema esterno della base di dati Lo schema esterno del data base permette di realizzare un ulteriore livello d’indipendenza dei dati; è costituito da viste generate dalle tabelle dello schema logico ed è utilizzato direttamente dalle applicazioni che elaborano il dato. Alcune viste sono utilizzate dal processo di fatturazione, altre sono indispensabili per eseguire controlli sui dati inseriti e per la visualizzazione della fattura e degli attributi del cliente. Di seguito sono elencate e descritte le viste sviluppate: Vw_ClienteCompleto Utilizzata dal processo di fatturazione per estrarre le informazioni relative al soggetto, al contratto, al cliente ed alla residenza. E’ costituita dalle tabelle Cliente, Anagrafica, Residenza, Indirizzo, Stradario e Comune. Vw_DomCompleta Utilizzata dal processo di fatturazione per estrarre l’eventuale domiciliazione bancaria e gli attributi dell’istituto di credito. E’ costituita dalle tabelle Anagrafica (inclusa due volte, in qualità di anagrafica del cliente ed anagrafica della banca), Banca e Domiciliazione Bancaria. Vw_IndirizzoCompleto Utilizzata per estrarre l’indirizzo completo e per realizzare query di controllo sugli indirizzi inseriti in archivio. E’ costituita dalle tabelle Indirizzo, Stradario e Comune. Vw_MisureReport Utilizzata dagli algoritmi di calcolo che operano sulle misure di consumi. E’ costituita dalle tabelle PeriodoRilevazione, Tariffa e Misura Consumo. Vw_MisureRilevate Utilizzata dal programma di fatturazione per associare le misure rilevate da fatturare alle relative tariffe di fatturazione. L’associazione è effettuata utilizzando il campo CodiceTipoMisura. E’ costituita dalle tabelle Tariffa, Piano Tariffario, Cliente, Algoritmo e Periodorilevazione. Vw_ScontiApplicati 67

×