Sei sulla pagina 1di 29

Università della Calabria

Corso di Laurea Magistrale in


Statistica ed Informatica per le Decisioni
e le Analisi di Mercato
Anno Accademico 2020-2021

Progetto del corso di

Sistemi Informativi, Modulo B:


Progettazione di Sistemi Informativi

Sistema Informativo progettato per un


caseificio

Docente Studente
Francesco Parisi

[Pier-Gino Russo matr 224118]


Sommario
Introduzione...........................................................................................................................3
1. Analisi dei requisiti.............................................................................................................4
1.1. Analisi dello scenario..................................................................................................4
1.2 Specifica dei requisiti...................................................................................................4
2 Progettazione......................................................................................................................5
2.1 Modellazione della base di dati....................................................................................5
2.1.1 Modello concettuale...............................................................................................5
2.1.2 Modello relazionale................................................................................................5
3 Implementazione.................................................................................................................6
Appendice..............................................................................................................................6
Glossario dei termini...........................................................................................................6
Introduzione
La tipologia di organizzazione aziendale analizzata in questo progetto didattico è quella
casearia in un’ottica di piccola-media distribuzione: più nello specifico, si intende
progettare una parte del sistema informativo di un caseificio che acquista le materie prime
(latte bovino e caprino, erbe aromatiche, prodotti ortofrutticoli quali peperoncini, finocchi,
ecc.) da produttori locali, per poi trasformarli in prodotti finiti quali formaggi, ricotte, paste
filate (a titolo esemplificativo e non esaustivo) con l’obiettivo di rivenderli al dettaglio,
attraverso un proprio punto vendita fisico, così come sfruttando le catene di distribuzione,
rivolgendosi quindi a supermercati e ristoranti.
La strutturazione aziendale è quella tipica di un’impresa di piccole dimensioni: proprietà e
controllo1 coincidono (e ad essa fanno capo tutta una serie di attività non-primarie2 quali la
gestione delle risorse umane nonché la contabilità) e l’organizzazione interna non è
eccessivamente articolata. È presente, infatti, un reparto addetto all’acquisto delle materie
prime (che da ora in poi chiameremo per semplicità “Ufficio Acquisti”), un altro addetto
alla lavorazione e alla trasformazione delle materie prime acquisite dal suddetto (a seguire
“Area Produzione”) ed infine un reparto (di seguito “Area Marketing”) incaricato di gestire
i rapporti con i clienti, siano essi consumatori finali che si rivolgono al punto vendita al
dettaglio o rivenditori che ordinano i prodotti per impiegarli nella propria filiera produttiva o
di vendita, quindi ristoranti o supermercati a titolo esemplificativo.
Il modo di operare di questo caseificio, a grandi linee, è il seguente:
-L’Ufficio Acquisti, sulla base di consolidati contratti di fornitura stipulati con i produttori
locali, si occupa di ordinare le materie prime con una cadenza regolare di due o tre giorni
al massimo, per poter garantire all’Area Produzione la freschezza dei prodotti impiegati,
fondamentale per la natura dell’attività descritta. Logicamente, la mole e la gamma dei
prodotti da ordinare di volta in volta dipende in larga misura dalle direttive dell’Area
Marketing, la quale tiene conto degli ordini effettuati dai clienti, e dell’Area Produzione, che
comunica tempestivamente l’esaurimento delle scorte;
-I lavoratori appartenenti all’Area Produzione ogni mattina prelevano le materie prime dalle
celle frigorifere dove vengono stoccate ed avviano il processo di produzione, finalizzato a
realizzare una serie di prodotti “da bancone”, da rendere cioè disponibili alla vendita al
dettaglio, nonché tutti i prodotti preordinati dai clienti attraverso l’Area Marketing. Al
termine del processo produttivo, è di questa sezione la responsabilità di pulire tutte le
macchine e di sterilizzare l’intero ambiente di lavoro, preparandolo per il giorno dopo,
nonché di comunicare all’Ufficio Acquisti l’eventuale esaurimento delle materie prime;
-L’Area Marketing, infine, gestisce i rapporti con la clientela, impiegando un lavoratore nel
punto adibito alla vendita al dettaglio e registrando gli ordini dei ristoranti e dei
supermercati affiliati, tentando di volta in volta di promuovere alcuni prodotti piuttosto che
altri, in base a variabili secondarie quali possono essere le direttive della proprietà o la
stagionalità di alcune materie prime. Essa ricopre un ruolo trasversale a tutta l’azienda, dal
momento che è sulla base degli ordini da essa registrati che le altre due aree decidono,
rispettivamente, le quantità da ordinare e produrre giorno dopo giorno. Di quest’area fa
parte anche l’addetto alla consegna dei prodotti ordinati dai clienti.
Le funzionalità che il sistema informativo progettato intende supportare sono:
1) la gestione delle vendite e degli ordini che fa capo all’Area Marketing, con l’obiettivo di
renderla più efficiente e rapida e garantire, quindi, data la sua trasversalità a tutti gli altri
reparti, un migliore funzionamento dell’intero apparato aziendale;
2) la gestione degli acquisti di materie prime, la quale attività è strettamente legata non
solo agli ordini registrati dall’Area Marketing, ma anche alla disponibilità delle scorte in
magazzino che devono essere prontamente segnalate dall’Area Produzione. Un
funzionamento efficiente di questa sezione permette, data la freschezza (e quindi la rapida
deperibilità) dei prodotti, di evitare sprechi e costi inutili.
1. Analisi dei requisiti
In questa sezione è stata riportata una descrizione più accurata del funzionamento
dell’intera macchina aziendale, supportata dai diagrammi di attività per i processi che si
intende supportare con il sistema informativo, a seguito dei quali sono stati, invece,
riportati i casi d’uso che analizzano nel dettaglio tutti gli scenari possibili per le Aree
analizzate. A loro volta, i casi d’uso sono corredati dai relativi diagrammi di attività dei casi
d’uso e diagrammi di sequenza, i quali descrivono come avviene lo scambio di
informazioni lungo una linea del tempo per ciascuno degli scenari descritti.

1.1 Analisi dello scenario

L'organizzazione in analisi opera nel seguente modo:

-L'Area Marketing si interfaccia con i clienti, che possono essere di due diverse tipologie:
cliente persona fisica che ogni giorno si reca presso il punto vendita del caseificio e cliente
persona giuridica, inteso come ristorante o supermercato, che preordina una serie di
prodotti a cadenza (a titolo esemplificativo) settimanale. Logicamente, per ciascuna
categoria sarà necessario specificare un diverso processo, dal momento che vi sono delle
sostanziali differenze procedurali nella gestione delle due tipologie.

a) Nel caso di vendita al dettaglio, il cliente si reca nel punto vendita ed interagisce con un
commesso, interrogandolo sulla disponibilità dei prodotti che è interessato ad acquistare. Il
commesso a questo punto verifica se i prodotti sono disponibili nel bancone (nel caso di
prodotti freschi) o nella cella frigorifera (nel caso di prodotti sottoposti a stagionatura) e, se
l'esito della verifica è positivo, li somministra al cliente, che paga, terminando il processo.
In caso di esito negativo, il commesso domanda al cliente se vuole ordinarli e andarli a
ritirare il giorno seguente o se, alternativamente, desidera qualche altro prodotto in
sostituzione di quelli non disponibili. Qualora il cliente decida di acquistare un prodotto
sostituto, il processo termina con la vendita e il pagamento dello stesso; qualora, invece, il
cliente decida di ordinare il prodotto non disponibile, il processo termina con la
registrazione da parte del commesso dell'ordine e con il pagamento dello stesso da parte
del cliente. Logicamente, il cliente potrebbe altresì decidere di non essere interessato a
nessuna delle due opzioni appena descritte e quindi uscire dal negozio senza acquistare
nulla.

b) Nel caso di vendita su ordinazione, il cliente può alternativamente telefonare al


caseificio o scrivere un'email con l'elenco dei prodotti che intende acquistare. L'addetto
alle ordinazioni dovrà registrare l'ordine ed integrare (se non già definita) la data di
consegna (o di ritiro) del prodotto sulla base delle necessità del cliente. A questo punto, il
sistema emette la fattura elettronica e l'addetto alle ordinazioni domanda al cliente quale
metodo di pagamento preferisce adottare: esso può alternativamente scegliere di pagare
subito tramite bonifico bancario (nel qual caso il processo termina con il pagamento da
parte del cliente) oppure di pagare in contrassegno alla consegna della merce (nel qual
caso il processo termina con l’invio della fattura allo stesso).
In ambedue i casi descritti, gli ordini vengono comunicati a consuntivo all'Area Produzione,
che provvederà a realizzarli in tempo utile (generalmente la mattina seguente) e a renderli
disponibili per la consegna/vendita.

-L'Area Produzione opera seguendo sostanzialmente due linee guida: ogni mattina
produce, su indicazione del proprietario, una serie di prodotti di "default", prodotti che
devono cioè essere sempre disponibili nel bancone (in minima parte, per ridurre gli
sprechi) per la conoscenza e l'acquisto da parte dei clienti che si presume si rechino al
punto fisico (per la cui natura variabile non è possibile predire con certezza la quantità o la
gamma) e, su indicazione dell'Area Marketing, tutti i prodotti che sono stati ordinati
secondo lo schema precedentemente descritto. Ogni giorno, al termine del processo
produttivo e della fase di pulizia e sanificazione delle macchine e dei locali, gli addetti alla
produzione stilano un elenco delle materie prime che sono state consumate e che bisogna
quindi riacquistare e forniscono tale elenco all'Ufficio Acquisti, terminando il processo.

-L'Ufficio Acquisti si relaziona con i diversi fornitori, ordinando le materie prime esaurite
sulla base dell'elenco prodotto dall'Area Produzione. Qualora il generico Fornitore X non
dovesse avere disponibili i prodotti ordinati, l'ordine viene annullato e l'Ufficio Acquisti
ripete la procedura descritta fino ad ora con il Fornitore Y. Si suppone, in questa fase, che
i prezzi siano fissi perché definiti da un contratto stipulato con la proprietà in fase
preliminare. Effettuata l'ordinazione, il generico Fornitore emette una fattura e l'Ufficio
Acquisti provvede ad effettuare il pagamento tramite bonifico bancario, a seguito del quale
le materie prime vengono consegnate all'Area Produzione e depositate nelle celle
frigorifere, concludendo così il processo.

1.1.1a Gestione Vendite e Ordini (Cliente Persona Fisica)

Si fa riferimento all’analisi testuale del punto 1.1 sezione a).


1.1.1b Gestione Vendite e Ordini (Cliente Persona Giuridica)

Si fa riferimento all’analisi testuale del punto 1.1 sezione b).


1.1.2 Gestione Acquisti Materie Prime

Si fa riferimento all’analisi testuale del punto 1.1 in merito alla descrizione del
funzionamento dell’Ufficio Acquisti.
1.2 Specifica dei requisiti

Diagramma dei casi d’uso:


Descrizione dei casi d’uso, con relativi diagrammi di attività e di sequenza:

Nome Acquisto Prodotti (Persona fisica)

Descrizione Il cliente acquista dei prodotti presso il punto vendita

Scenario principale 1. Il cliente si reca presso il punto vendita


di successo 2. Il cliente richiede il prodotto che intende acquistare
3. Il commesso verifica la disponibilità del prodotto (Inclusione Caso d’uso "Verifica
Disponibilità")
4. Il commesso preleva il prodotto dal bancone (in caso di prodotto fresco) o dalla
cella (in caso di prodotto stagionato)
5. Il commesso confeziona il prodotto
6. Il commesso consegna il prodotto confezionato al cliente
7. Il registratore di cassa emette lo scontrino fiscale
8. Il cliente paga
Scenari alternativi a. Al punto 3) del Basic Flow emerge che i prodotti richiesti non sono disponibili
 Viene comunicata la non disponibilità al cliente
 Il cliente sceglie se acquistare un altro prodotto (il Basic Flow riprende
ripetendo il punto 3), ordinare quello non disponibile (estensione Caso d'uso
"Ordinazione prodotto esaurito") o uscire dal punto vendita senza
acquistare nulla
b. Al punto 7) del Basic Flow emerge che il registratore di cassa ha esaurito la carta
 Il commesso sostituisce il rullo e riprende con il punto 7) del Basic Flow
Pre-condizioni Un cliente si reca nel punto vendita con l’intenzione di acquistare dei prodotti.

Post-condizioni  Di successo: il cliente perfeziona l'acquisto di un prodotto oppure effettua


un'ordinazione ed esce dal punto vendita
 Di fallimento: il cliente esce dal punto vendita senza acquistare nulla
Special Qualora il cliente decidesse di acquistare un prodotto diverso da quello inizialmente
requirements richiesto, data la non disponibilità dello stesso, il commesso può applicare uno sconto sul
prezzo

Nome Verifica Disponibilità

Descrizione Il commesso verifica se i prodotti richiesti dal cliente sono disponibili

Scenario principale 1. Il commesso verifica se nel bancone è presente il prodotto richiesto (in caso di
di successo prodotti freschi) o interroga il sistema sulle rimanenze nella cella (nel caso di
prodotti stagionati)
2. Il commesso comunica l'esito della verifica al cliente
Scenari alternativi a. Al punto 1) del Basic Flow emerge che il cliente ha richiesto un prodotto che non
viene prodotto dal caseificio
 Il commesso espone la questione al cliente
 Il commesso domanda se ha frainteso la richiesta del cliente (nel qual caso si
riparte dal punto 1) del Basic Flow)
Pre-condizioni Il cliente richiede un prodotto al commesso

Post-condizioni  Di successo: il commesso comunica l'esito della Verifica Disponibilità del


prodotto al cliente
 Di fallimento: il commesso si scusa e spiega al cliente che quel tipo di prodotto
non viene venduto dal caseificio
Special --
requirements
Nome Ordinazione prodotto esaurito

Descrizione Il commesso registra l'ordine del cliente

Scenario principale 1. Il commesso domanda gli estremi del cliente


di successo 2. Il commesso verifica a sistema se il cliente è già censito (inclusione Caso d’uso
Verifica scheda cliente)
3. Il commesso richiama la transazione "Creazione nuovo ordine"
4. Il commesso registra i prodotti che il cliente intende ordinare e le relative quantità
5. Il sistema registra l'ordine con successo
6. Il commesso comunica al cliente l'avvenuta registrazione dell'ordine
7. Il sistema emette la fattura da esibire al momento del ritiro
8. Il cliente paga
Scenari alternativi a. Al punto 5) del Basic Flow il sistema restituisce il messaggio d'errore "Dati
incompleti o formalmente scorretti"
 Il commesso verifica i dati inseriti e ripete la registrazione con i dati corretti
b. Al punto 8) del Basic Flow il cliente si rifiuta di pagare prima di ottenere la merce
 Il commesso richiama la transazione "Modifica ordine"
 Il commesso marca l'ordine come "Da pagare"
Pre-condizioni Il prodotto richiesto dal cliente non è disponibile alla vendita immediata; il cliente decide di
ordinare il prodotto
Post-condizioni  Di successo: il commesso registra con successo l'ordine ed incassa il corrispettivo
 Di fallimento: --
Special --
requirements
Diagramma di attività del caso d’uso Acquisto Prodotti (Persona fisica):
Diagramma di attività del caso d’uso Ordinazione prodotto esaurito, che corrisponde
alla sottoattività “Registra ordine”:
DIAGRAMMI DI SEQUENZA CASO D’USO “ACQUISTO PRODOTTI”

-Scenario principale:

-Scenario alternativo 1 (cliente esce dal negozio senza acquistare nulla):


-Scenario alternativo 2 (cliente acquista prodotto sostitutivo):
-Scenario alternativo 3.1 (cliente ordina prodotto non disponibile; cliente già censito):
-Scenario alternativo 3.2 (cliente ordina prodotto non disponibile; cliente non censito):
Nome Acquisto su ordinazione (persona giuridica)

Descrizione Il cliente persona giuridica ordina dei prodotti per il ritiro / la consegna

Scenario principale 1. Il cliente telefona l'ufficio addetto alle ordinazioni dell'Area Marketing
di successo 2. L'addetto alle ordinazioni risponde al telefono
3. Il cliente manifesta la volontà di ordinare dei prodotti
4. L'addetto verifica se l'anagrafica del cliente è già presente nel database (Inclusione
Caso d'uso "Verifica scheda cliente")
5. L'addetto richiama la transazione "Creazione nuovo ordine"
6. L'addetto registra i prodotti che il cliente intende ordinare e le relative quantità
7. L'addetto domanda se il cliente preferisce ritirare la merce presso il punto vendita
o riceverla in consegna presso il proprio esercizio
8. L'addetto domanda al cliente la data in cui i prodotti devono essere resi disponibili
al ritiro / alla consegna
9. L'addetto domanda il metodo di pagamento desiderato dal cliente (bonifico
bancario o contrassegno)
10. L'addetto registra le scelte del cliente
11. Il sistema registra l'ordine con successo
12. L'addetto comunica al cliente l'avvenuta registrazione dell'ordine
13. Il sistema emette la fattura elettronica
14. L'addetto invia via email la fattura al cliente
Scenari alternativi a. Al punto 1) del Basic Flow il cliente, anziché telefonare, invia una email con
l'elenco dei prodotti che desidera ordinare (si dà per scontato in questo caso che il
cliente sia già censito)
 L'addetto richiama la transazione "Creazione nuovo ordine"
 L'addetto registra i prodotti elencati nell'email e le relative quantità
 L'addetto a questo punto contatta telefonicamente il cliente per integrare le
informazioni mancanti (se preferisce il ritiro o la consegna; la data di ritiro/
consegna, il metodo di pagamento)
 A questo punto il Basic Flow riprende dal punto 10)
b. Al punto 11) del Basic Flow il sistema restituisce l'errore "Dati incompleti o
formalmente scorretti"
 L'addetto verifica i dati inseriti e ripete la registrazione con i dati corretti
Pre-condizioni –

Post-condizioni  Di successo: L'ordine viene registrato con successo a sistema e la fattura emessa
viene inviata via email al cliente
 Di fallimento: --
Special Nel caso in cui il cliente decida di ritirare la merce presso il punto vendita, in fattura viene
requirements applicato uno sconto.

Nome Verifica scheda cliente

Descrizione L'addetto dell'Area Marketing verifica se l'anagrafica è già presente a sistema o se il cliente
è nuovo
Scenario principale 1. L'addetto richiama a sistema il db "Clienti"
di successo 2. L'addetto verifica, inserendo i dati anagrafici di cui dispone, se il cliente è già
presente a sistema
3. Il sistema restituisce l'anagrafica completa del cliente
Scenari alternativi a. Al punto 3) del Basic Flow il sistema restituisce il messaggio "Dati non presenti a
sistema"
 L’addetto raccoglie i dati del cliente
 L'addetto richiama la transazione "Inserimento nuovo cliente"
 L'addetto inserisce tutti i dati anagrafici (Nome, Cognome, CF, Telefono,
Indirizzo, Email, ecc.)
 L'addetto salva i dati inseriti
 Il sistema registra con successo l'anagrafica del nuovo cliente nel db "Clienti"
Pre-condizioni L'addetto deve disporre dei dati anagrafici primari del cliente da verificare

Post-condizioni  Di successo: Il sistema restituisce l'anagrafica del cliente già presente oppure
memorizza l'anagrafica del nuovo cliente nel db
 Di fallimento: --
Special --
requirements

Diagramma di attività del caso d’uso Acquisto su ordinazione (persona giuridica):


DIAGRAMMI DI SEQUENZA CASO D’USO “ACQUISTO SU ORDINAZIONE”

-Scenario principale:

-Scenario alternativo (cliente non censito):


Nome Acquisto Materie Prime

Descrizione L'addetto dell'Ufficio Acquisti contatta il fornitore per acquistare le materie prime esaurite

Scenario principale 1. L'addetto richiama a sistema l'elenco delle materie prime esaurite prodotto
di successo dall'Area Produzione
2. L'addetto richiama a sistema l'elenco dei fornitori affiliati
3. L'addetto contatta il Fornitore X
4. L'addetto comunica al fornitore l'elenco delle materie prime che intende ordinare
5. Il fornitore verifica la disponibilità nelle proprie scorte delle materie prime
richieste
6. Il fornitore conferma la disponibilità (anche parziale) delle materie prime richieste
all'addetto
7. L'addetto conferma l'ordine
8. Il fornitore emette fattura elettronica per i prodotti richiesti
9. L'addetto dispone il pagamento tramite bonifico bancario (inclusione Caso d’Uso
Pagamento tramite bonifico)
10. L'addetto invia via email al fornitore la ricevuta del bonifico bancario
11. Il fornitore marca l'ordine come "Pagato"
12. Il fornitore dispone la consegna delle materie prime
Scenari alternativi a. Al punto 3) del Basic Flow il Fornitore X non risponde
 L'addetto contatta il fornitore successivo nell'elenco dei fornitori e il Basic
Flow riprende dal punto 4)
b. Al punto 6) del Basic Flow il Fornitore X comunica la non disponibilità delle
materie prime all'addetto
 L'addetto annulla l'ordine
 L'addetto contatta il fornitore successivo nell'elenco dei fornitori e il Basic
Flow riprende dal punto 4)
c. Al punto 9) del Basic Flow il pagamento non riesce a causa di un problema legato
all'istituto bancario
 L'addetto comunica il problema al fornitore
 Il fornitore marca l'ordine come "In sospeso"
 L'addetto contatta l'istituto bancario per la risoluzione del problema
Pre-condizioni L'addetto deve disporre di un elenco delle materie prime esaurite che sia stato prodotto
dall'Area Produzione al termine del processo di produzione
Post-condizioni  Di successo: Le materie prime vengono ordinate e pagate con successo; il fornitore
dispone la consegna della merce
 Di fallimento: L'ordine viene annullato e le materie prime non vengono
consegnate
Special --
requirements

Nome Pagamento tramite bonifico

Descrizione L'addetto dell'Ufficio Acquisti dispone il pagamento tramite bonifico bancario

Scenario principale 1. L'addetto apre il sito web dell'istituto bancario


di successo 2. L'addetto accede all'Area Riservata mediante le credenziali aziendali
3. L'addetto richiama la transazione "Esegui un bonifico"
4. L'addetto inserisce gli estremi del fornitore a cui è destinato il bonifico
(Intestazione, iban)
5. L'addetto inserisce la causale "Acquisto Materie Prime"
6. L'addetto seleziona l'opzione "bonifico istantaneo"
7. L'addetto conferma la transazione
8. Il sistema bancario effettua il bonifico con successo
9. L'addetto richiede copia della ricevuta del bonifico via email
Scenari alternativi a. Al punto 2) del Basic Flow il sistema bancario restituisce l'errore "credenziali
errate"
 L'addetto riprova a fare l'accesso inserendo nuovamente le credenziali
b. Al punto 7) del Basic Flow il sistema bancario comunica che non è possibile
effettuare il bonifico istantaneo
 L'addetto seleziona la prima data utile per l'esecuzione del bonifico e il
Basic Flow continua dal punto 7)
c. Al punto 9) il sistema bancario restituisce un errore legato ad un problema
dell'istituto e chiede di riprovare più tardi
 L'addetto annulla la transazione
Pre-condizioni L'addetto deve disporre della fattura emessa dal fornitore con l'importo da pagare, nonché
dei suoi riferimenti bancari
Post-condizioni  Di successo: Il bonifico viene eseguito correttamente e la copia della ricevuta
viene inviata sull'email aziendale
 Di fallimento: La transazione viene annullata e non viene effettuato nessun
bonifico
Special --
requirements
Diagramma di attività del caso d’uso Acquisto Materie Prime:
Diagramma di attività del caso d’uso Pagamento tramite bonifico, che corrisponde alla
sottoattività “Dispone bonifico”:
DIAGRAMMI DI SEQUENZA CASO D’USO “ACQUISTO MATERIE PRIME”

-Scenario principale:

-Scenario alternativo (materie prime non disponibili):


2 Progettazione
In questa sezione sono stati riportati i dati che devono essere inseriti in un database e
come essi sono interrelati, prima attraverso il modello concettuale e poi attraverso il
modello relazionale, con il quale si è tradotto il diagramma del modello concettuale in una
serie di schemi nei quali sono stati individuati tutti gli attributi chiave, le Foreign Keys e gli
attributi NOT NULL.

2.1 Modellazione della base di dati

Dalla descrizione delle funzionalità effettuata nell'analisi dei requisiti è emerso che i dati
che devono essere inseriti in una base di dati a supporto del processo sono:
-Cliente;
-OrdineCliente;
-ComposizioneOrdine;
-Prodotto;
-Fattura;
-Pagamento;
-Fornitore;
-MateriaPrima;
-ComposizioneProdotto;
-OrdineCaseificio.

2.1.1 Modello concettuale

Nota: L’associazione “ComposizioneOrdine” è stata trasformata in una classe di associazione. Inoltre è stato necessario
inserire una nuova classe di associazione denominata “ComposizioneProdotto” per esprimere la molteplicità “molti a
molti” presente tra la relazione Prodotto e la relazione MateriaPrima.

2.1.2 Modello relazionale

Cliente(CodiceCliente, Cognome, Nome, CodiceFiscale, PartitaIVA, Telefono, Email, Città,


Indirizzo, CAP, Provincia)

Ordine(NumeroOrdine, Data Registrazione, Data Ritiro/Consegna, Stato, Cliente)


Ordine[Cliente] ⊑FK Cliente[CodiceCliente]

Attributo Cliente (della relazione Ordine) deve essere NOT NULL

Fattura(Numero, DataFatturazione, Imponibile, Sconto, Iva, Ordine)

Fattura[Ordine] ⊑FK Ordine[NumeroOrdine]

Attributo Ordine (della relazione Fattura) deve essere NOT NULL

NumeroOrdine è una chiave di Fattura

Pagamento(NumeroFattura, Importo, Modalità, Stato, Data)

Pagamento[NumeroFattura] ⊑FK Fattura[Numero]

ComposizioneOrdine(NumeroOrdine, CodiceProdotto, Quantità)

ComposizioneOrdine[NumeroOrdine] ⊑FK Ordine[NumeroOrdine]


ComposizioneOrdine[CodiceProdotto] ⊑FK Prodotto[Codice]

Rilassata la molteplicità 1..* in 0..*, ossia ad un Ordine non è associata necessariamente una
Composizione

Prodotto(Codice, Nome, Tipologia, Prezzo, QuantitàDisp.)

ComposizioneProdotto(CodiceProdotto, CodiceM.P., Quantità)

ComposizioneProdotto[CodiceProdotto] ⊑FK Prodotto[Codice]


ComposizioneProdotto[CodiceM.P.] ⊑FK MateriaPrima[CodiceM.P.]

Rilassate ambedue le molteplicità 1..* in 0..*, ossia ad una ComposizioneProdotto non sono
associati necessariamente né un Prodotto né una Materia Prima

MateriaPrima(CodiceM.P., Nome, Prezzo, QuantitàDisp., Ordine, Fornitore)

MateriaPrima[Ordine] ⊑FK OrdineCaseificio[NumeroOrdine]


MateriaPrima[Fornitore] ⊑FK Fornitore[PartitaIVA]

Attributo Ordine (della relazione Materia Prima) deve essere NOT NULL
Attributo Fornitore (della relazione Materia Prima) deve essere NOT NULL

OrdineCaseificio(NumeroOrdine, Data, Stato, Fornitore)


OrdineCaseificio[Fornitore] ⊑FK Fornitore[PartitaIVA]

Attributo Fornitore (della relazione Ordine Caseificio) deve essere NOT NULL

Rilassata la molteplicità 1..* in 0..*, ossia ad un Ordine Caseificio non è associata necessariamente
una Materia Prima

Fornitore(PartitaIVA, RagioneSociale, Telefono, Email, Iban, Città, Indirizzo, Cap, Provincia)

Rilassate entrambe le molteplicità 1..* in 0..*, ossia ad un Fornitore non sono necessariamente
associati né un Ordine Caseificio né una Materia Prima

Altri attributi NOT NULL sono:


-- Cognome, Nome, Telefono, Città, Indirizzo, CAP, Provincia della relazione Cliente
-- Data Registrazione, Data Ritiro/Consegna, Stato della relazione Ordine
-- DataFatturazione, Imponibile, Iva della relazione Fattura
-- Importo, Data della relazione Pagamento
-- Quantità della relazione Composizione
-- Nome, Prezzo, QuantitàDisp. della relazione Prodotto
-- Quantità della relazione Compos.Prod.
-- Nome, Prezzo, QuantitàDisp. della relazione Materia Prima
-- Data della relazione OrdineCaseif.
-- RagioneSociale, Telefono, Email, Iban della relazione Fornitore
3 Implementazione
A seguito di una preventiva fase di verifica, che ha consentito di appurare se, partendo dal
diagramma delle classi, i dati permettono di modellare tutte le funzionalità descritte dai
casi d’uso, è stata effettuata l’implementazione del sistema, convertendo per prima cosa il
diagramma delle classi del modello concettuale, prodotto con lo strumento UMLetino, nello
schema grafico realizzato attraverso l’utilizzo di MySQL Workbench. Una volta prodotto
tale schema grafico, è stato necessario utilizzare la funzionalità di “Forward Engineer” di
MySQL Workbench per convertire lo schema grafico in questione in un vero database, che
è stato, infine, (sempre utilizzando MySQL Workbench) popolato con alcune tuple 3 per
verificarne il corretto funzionamento.

Appendice
Glossario dei termini

1) Quando, nella sezione di Introduzione, si è parlato di “proprietà e controllo” si è fatto


riferimento al Modello Principale-Agente realizzato dagli economisti Jensen e Meckling nel
1976, il quale descrive, per l’appunto, come le piccole imprese (a differenza di quelle di
dimensioni maggiori) siano generalmente gestite dallo stesso proprietario, che opera
quindi nel pieno interesse dell’azienda piuttosto che in funzione di obiettivi personali.

2) Quando, sempre nella sezione di Introduzione, si è parlato di “attività non-primarie” si è


fatto riferimento al modello della Catena del Valore di Micheal-Porter che descrive la
struttura di un’organizzazione come un insieme limitato di processi, suddividendoli per
l’appunto in attività primarie e di supporto.

3) Le tuple sono le righe di una tabella.

Allegati
La cartella “Allegati” è stata strutturata in una serie di sottocartelle così organizzate:
- “1.1 Diagrammi di Attività” che contiene i file .uxf di ciascun processo analizzato;
- “1.2 Specifica dei Requisiti” a sua volta suddivisa in:
 “a – Diagrammi dei Casi d’Uso” con i relativi file .uxf;
 “b – Diagrammi di Attività dei Casi d’Uso” con i relativi file .uxf;
 “c – Diagrammi di Sequenza dei Casi d’Uso” con i file .uxf degli scenari principali e
alternativi
- “2.1.1 Modello Concettuale” contenente il file .uxf del Diagramma delle Classi.
- “3 Implementazione” contente il file .mwb dello schema grafico prodotto nonché il file .sql
del dump del database.

Potrebbero piacerti anche