5
Forte delle mie conoscenze e competenze informatiche, acquisite
con un pregresso corso di “Operatore Informatico su P.C.” e di
conoscenze in logistica, acquisite con lo stesso master di cui sopra, ho
intrapreso questo progetto, pur sapendo delle possibili difficoltà in cui
potevo incappare, ma al tempo stesso entusiasta e conscio delle mie
effettive capacità.
10
LA GESTIONE DELLA PRODUZIONE NELL’AZIENDA
In sintesi, il processo produttivo dell’azienda può schematizzarsi
nel processo di approvvigionamento di materie prime o semilavorati dai
fornitori, processo di lavorazione dei materiali acquistati e, in ultimo,
processo di vendita e consegna dei prodotti ai clienti.
L’intero svolgimento dell’attività presume, quindi, un’attenta
gestione degli ordini ai fornitori e delle consegne ai clienti.
La gestione della produzione nell’azienda è attuata con il metodo
M.R.P. (Material Requirement Planning), vale a dire con una
pianificazione e una gestione della produzione che parte da un M.P.S.
(Master Production Schedule), ovvero da un piano di produzione per
materiali a domanda dipendente.
E ciò non può essere altrimenti per una produzione che per sua
natura enfatizza l’efficienza (Metodo Push), al contrario del J.I.T. (Just
In Time), che è una tecnica di gestione dei materiali più consona a
consegne personalizzate (Metodo Pull).
Il metodo M.R.P., grazie al supporto delle distinte base dei
prodotti, con specificazione dei coefficienti di impiego e dei lead time di
approvvigionamento/fabbricazione, e alla conoscenza dei cicli di
lavorazione, consente di programmare correttamente a ritroso gli ordini
ai fornitori, relativamente a tempi e quantità.
La gestione della produzione, con il metodo M.R.P., risulta
implementata dal punto di vista informatico con un apposito software
chiamato SIGIP, a sua volta funzionale ad una gestione integrata con
altri moduli informatici relativi agli Acquisti e alla Contabilità.
Il processo produttivo si evolve nel modo seguente:
- gli ordini ricevuti dai clienti vengono immessi e fatti
girare nel software per il funzionamento del M.R.P., al
11
fine di arrivare alla programmazione degli ordini ai
fornitori, scompattando e calcolando a ritroso quantità e
tempi necessari per il rispetto delle scadenze;
- il tutto va ovviamente controllato con le esistenze dei
materiali a magazzino, tenendo conto degli ordini in corso
e delle quantità già impegnate, arrivando alla
determinazione dei fabbisogni netti;
- si provvede, dunque, all’emissione degli ordini ai fornitori
per far fronte alle richieste dei clienti;
- quando arrivano i materiali in azienda, vengono fatti i
carichi a magazzino materie prime, documentati dalle
bolle di carico;
- i materiali vengono successivamente sottoposti alle varie
lavorazioni previste;
- ad ultimazione dei prodotti finiti, vengono fatti i carichi al
magazzino prodotti finiti, e tali prodotti sono quindi pronti
per essere consegnati ai clienti, come dal M.P.S.
- il piano M.R.P. viene nella realtà aziendale continuamente
sottoposto ad aggiornamenti, dovuti a modifiche
intervenute nelle richieste dei clienti.
Il funzionamento informatico della gestione della produzione
richiede alla base un sistema di codifica dei vari materiali trattati
(materie prime, semilavorati e prodotti finiti), in cui ogni parte è
codificata, ha cioè associato un codice che la identifica e che
sintetizza, quindi, tutte le informazioni utili al suo riconoscimento.
Esiste, quindi, un’anagrafica parti, dati analitici e dati gestionali,
che è alla base per la costruzione delle distinte produttive.
Lo scarico delle materie prime dal relativo magazzino avviene, in
azienda, solamente al contestuale carico magazzino prodotti finiti.
12
Una corretta gestione dei magazzini dovrebbe, a rigore, prevedere
lo scarico dal magazzino materie prime nel momento in cui
vengono prelevate per l’inizio delle lavorazioni.
Per essere precisi, si dovrebbe fare, quindi, un versamento (carico)
ed uno scarico materiali ogni qual volta ci sia una fase di
lavorazione.
Questo in azienda è “bypassato” per sua scelta, per l’inconveniente
mole di lavoro, di tempi e quindi anche di costi che ciò indurrebbe
(ci sono migliaia di cicli di lavorazione in azienda).
Il sistema, comunque, funziona, poiché i tempi di lavorazione
sono abbastanza brevi (un giorno), tali da permettere di poter
trascurare gli adempimenti intermedi.
I versamenti e gli scarichi dei materiali vengono, al limite,
effettuati, solamente per i componenti intermedi più importanti.
Va da sé che un’altra difficoltà riscontrata in azienda è anche
quella di identificare con un codice un determinato semilavorato.
Ecco che il presente progetto cercherà di approntare una procedura
per la razionalizzazione del sistema di codifica di tutti gli
innumerevoli materiali che circolano in azienda (materie prime,
semilavorati e prodotti finiti).
13
I CODICI, L’ARCHIVIO E IL DATABASE RELAZIONALE
Un codice è una stringa alfanumerica che identifica con univoca
certezza la parte cui si riferisce.
Esso sottende, quindi, una pluralità di informazioni dell’oggetto,
utili al suo riconoscimento e alla sua gestione.
Il codice è, quindi, uno strumento fondamentale per la gestione di
qualsiasi parte ed è efficacissimo per la gestione informatizzata dei dati,
al fine di controllare efficacemente ogni suo aspetto, e al fine di rendere
più veloci ed affidabili le operazioni connesse.
Il codice è, in sostanza un valido strumento per il controllo della
parte.
Esso, pur essendo un’entità astratta, ovvero un’informazione,
rappresenta in tutto e per tutto l’entità fisica specifica ed è utilizzato per
il suo riconoscimento.
Nella realtà aziendale dell’AGES, il codice di un materiale
dovrebbe sintetizzare un insieme di attributi progettuali e/o di
fabbricazione e/o di acquisto.
Il codice, in tal caso, è un elemento essenziale della distinta base
produttiva, in quanto le informazioni minime obbligatorie in essa
contenute sono le seguenti:
- Codice del prodotto
- Codici dei singoli componenti
- Fabbisogni quantitativi di ogni componente
Esistono, in sostanza, due principali tipologie di codici:
- Codice muto, caratterizzato da semplici regole di codifica,
come ad esempio la numerazione progressiva
14
- Codice parlante, ovvero un codice che parla al lettore,
intellegibile, caratterizzato da regole di codifica più
complesse.
A sua volta, possono distinguersi diversi sistemi di codifica che
fanno uso di codici parlanti:
- Struttura a catena o “monocode”, in cui ogni
carattere/sottoparte del codice richiama valori assoluti ed è indipendente
da quello che assumono gli altri caratteri/sottoparti. In sostanza, il
significato di ogni carattere/sottoparte del codice dipende solo dalla sua
posizione
- Struttura ad albero o “polycode”, in cui ciascun
carattere/sottoparte del codice dipende dal valore dei precedenti
caratteri/sottoparti dello stesso. La struttura polycode è la più complessa
perché aumentano in maniera esponenziale le possibili combinazioni, il
cui numero è esplicativo delle potenzialità del codice
- Struttura mista, che associa caratteristiche delle due
precedenti strutture ed è utilizzato spesso in ambiti manifatturieri.
Qui di seguito, si riportano degli esempi relativi al funzionamento
dei sistemi di codifica monocode e polycode:
- Struttura di codice monocode: Gamma di piastrelle in
gomma per pavimenti (monoprodotto)
Carattere 1 tipo di mescola di gomma (0=standard;
1=ignifuga; ecc.)
Carattere 2 spessore prodotto (0=10mm; 1=2mm;
ecc.)
Carattere 3-4 tipo di rilievo (00=bollo normale;
01=ridotto; ecc.)
15
Carattere 5 formato (0=1000x1000; 1=500x500;
ecc.)
Carattere 6-7 colore (00=nero 004; 40=verde 704;
ecc.)
Carattere 8 categoria di produzione (0=regolare;
1=prova; ecc.)
- Struttura di codice polycode: stesso esempio, ma con
ampliamento gamma
Carattere 1 tipo di prodotto (0=piastrelle di
pavimento; 1=suole; ecc.)
Carattere 2:
- carattere 1=0 carattere 2 = tipo di mescola
(0=standard; 1=suole; ecc.)
- carattere 1=1 carattere 2 = tipo di mescola
(0=gomma para; 1 =vibram; ecc.)
Carattere 3:
- carattere 1=0 carattere 3 = spessore prodotto
(0=10mm; 1=2mm; ecc.)
- carattere 1=1 carattere 3 = spessore prodotto
(0=suola alta; 1=suola bassa; ecc.)
L’utilizzo di un monocode o di un polycode dipende, ovviamente,
dalle esigenze di codifica dell’azienda.
Con il presente progetto di stage in azienda, è mia intenzione
implementare un sistema di codifica misto, che combina, cioè,
funzionalità delle due strutture di codifica sopra esposte.
16
Ma questa soluzione, ad essere sincero, è maturata con il tempo e
dopo diversi tentativi progettuali, ed è stata infine scelta da me come la
migliore e la più consona alle esigenze funzionali.
Come già accennato, i codici si chiamano così proprio perché
rimandano ad una serie di informazioni correlate all’oggetto cui si
riferiscono.
Identificare una corretta procedura di codifica significa, quindi,
assegnare dei codici a degli oggetti, immagazzinando negli stessi tutte le
necessarie informazioni atte ad identificare gli stessi.
Ciò postula un’organizzazione efficiente dei dati, in grado di
risalire in modo agevole e veloce alle caratteristiche univoche
dell’oggetto ricercato, e viceversa, in grado di restituire il codice univoco
connesso alle specifiche richieste.
Deve esistere, perciò, una relazione biunivoca di tipo 1 a 1 tra
codice ed oggetto cui si riferisce.
Lo strumento alla base di una gestione efficiente dei dati è
l’archivio o DB (database).
Il database può definirsi come una collezione di dati, correlati ad
un particolare argomento o scopo, fondamentale per
l’immagazzinamento ordinato dei dati e basilare per l’estrapolazione
celere di informazioni attendibili.
Ecco che improntare una corretta procedura di codifica dei
materiali che circolano in azienda vuol dire primariamente progettare e
costruire un archivio, ovvero un’organizzazione efficiente dei dati,
connessi agli aspetti degli stessi materiali.
Il presente progetto sarà, dunque, orientato alla progettazione di un
database e alla sua implementazione informatica, mediante l’impiego del
programma applicativo “Access”, parte del pacchetto “Microsoft
Office”, opportunamente fondato su database di tipo relazionale.
17
Un database relazionale è una collezione di dati, strutturati in
tabelle e relazionate tra di loro, le quali tabelle sono anche le strutture
fondamentali di un database Access.
Esse contengono i dati che devono essere gestiti con il database e
sono i primi oggetti che si devono creare.
All’interno di una tabella, i dati sono organizzati in campi
(colonne) e record (righe).
Ogni tabella si riferisce ad un determinato oggetto e prende il
nome di “entità”.
I campi della tabella identificano gli attributi dell’entità, ovvero
caratteristiche che descrivono l’oggetto.
Un ulteriore concetto indispensabile per la gestione dei dati nelle
tabelle è la chiave primaria o primary key (P.K.), che identifica in modo
univoco un record della tabella.
La P.K. è un sottoinsieme di attributi di una tabella che soddisfa le
proprietà di “unicità” e “minimalità”.
In sostanza, la P.K. è la condizione indispensabile per
differenziare i record tra di loro e garantire la loro univocità.
La foreign key (F.K.) o chiave secondaria viene inserita nella
tabella secondaria per creare la necessaria relazione con la tabella
primaria, e deve contenere pertanto lo stesso tipo di dati della P.K.
Un database efficiente e ben strutturato evita il sorgere di problemi
indesiderabili, quali:
- la ridondanza delle informazioni, vale a dire la
duplicabilità dei record e dei campi, e quindi la
memorizzazione ripetuta della medesima informazione
- l’inconsistenza dei dati
La progettazione del database è quindi il lavoro più importante che
sta alla base della sua efficienza e del suo corretto funzionamento, al fine
18
Tabella Registi Tabella Genere
1 1
∞ ∞
di evitare le suddette anomalie e comportare incoerenza dei dati
estrapolati ed appesantimento del sistema.
I dati vanno, quindi, opportunamente suddivisi in tabelle, creando
successivamente delle tabelle di relazione.
La progettazione di un database deve avvenire nel rispetto di un
processo di “normalizzazione”, ovvero di un processo che trasforma uno
schema generico in uno schema in cui la ridondanza sia ridotta al
minimo, ed in ogni caso gestita in modo controllato.
La normalizzazione nel modello relazionale consiste in una serie
di raffinamenti successivi dello schema della base dei dati.
L’obiettivo, alla base di tali raffinamenti, è la riduzione o
l’eliminazione del verificarsi delle anomalie.
Giusto per dare l’idea, quanto finora detto può essere evidenziato
dall’esempio dello schema seguente:
Id_Film Titolo Id_Regista Anno_di_Pubblicazione Id_Genere
Id_Regista Nome Cognome
Come mostra lo schema sopra esposto, i dati sono strutturati in
tabelle piuttosto elementari e collegate da relazioni, evitando il noto
fenomeno della ridondanza.
In questo modo, si raggiunge un funzionamento più efficiente del
database, che risulta snellito, occupando meno spazio nella
memorizzazione delle informazioni, e più flessibile, evitando possibili
Id_Genere Descrizione
Tabella Film
19
anomalie nell’esecuzione delle operazioni di inserimento, cancellazione
e modifica dei record.
Le relazioni fra le tabelle possono essere di tipo:
- 1 a 1 (uno a uno): Ad ogni elemento appartenente alla
prima tabella corrisponde un solo elemento della seconda
tabella e viceversa
- 1 a ∞ (uno a molti): Ad ogni elemento appartenente alla
prima tabella corrispondono più elementi della seconda
tabella
- ∞ a ∞ (molti a molti): Ad ogni elemento appartenente alla
prima tabella corrispondono più elementi della seconda
tabella e viceversa.
Le relazioni di tipo ∞ a ∞ vanno a loro volta scomposte in due
relazioni 1 a ∞.
Il modello relazionale del database si fonda per la maggior parte
su relazioni di tipo 1 a ∞.
Quanto sopra specificato, è fondamentale per comprendere come
sia importante la progettazione di un database.
La progettazione del database deve avvenire con carta e penna.
L’implementazione sul P.C., con il programma Access, avverrà
solo in un secondo momento, quando sarà ultimata o almeno fin quando
non sarà ben chiara in linea di massima lo schema di progettazione.
La progettazione errata del database causerà il malfunzionamento
del sistema e creerà un’infinità di problemi.
La progettazione del database, a sua volta, implica l’acquisizione
di una serie di informazioni, rilevanti per la sua strutturazione.
E’ per tale motivo che cercherò primariamente di studiare e di
applicarmi alla sua progettazione, acquisendo le necessarie informazioni,
e solo successivamente alla sua implementazione operativa su P.C.
20
STUDIO SITUAZIONE ESISTENTE
Da quanto riferito dall’Ing. Colafrancesco, Direttore dello
stabilimento, l’immissione di nuovi codici, non più soggetti a vincoli
pre-esistenti di dimensionamento dei vecchi codici parlanti, e la loro
coesistenza con quelli pregressi, genera una certa confusione e varie
anomalie.
Per prima cosa, infatti, essendo vecchi e nuovi codici immischiati,
si è persa l’intuitività dell’associazione “codice - tipo materiale” dei
codici parlanti, almeno per ciò che concerne i nuovi.
Non ha senso che alcuni codici esprimano un certo materiale ed
altri siano completamente slegati dall’associazione.
O per essere più precisi, ciò può anche avvenire, dato che i codici
devono restare tali, ma è opportuno che un codice dia la possibilità di
risalire in modo celere alle informazioni specifiche del materiale, e
viceversa.
Inoltre, altra anomalia dichiarata è quella della possibilità di
trovare uno stesso materiale codificato con due codici diversi.
E ciò è inammissibile, in quanto la relazione tra codice e materiale
deve essere di tipo 1 a 1.
Se questo non avviene e si verifica la suddetta anomalia, viene
generata un’inaffidabilità delle informazioni ricercate.
E ancora, i codici esistenti non hanno un dimensionamento
uniforme; si possono trovare, cioè, dei codici di differente lunghezza,
con più o meno caratteri, anche all’interno di una stessa categoria di
materiali.
Primo passo seguito dal sottoscritto, è stato dunque quello di
documentarsi e di riscontrare quanto affermatogli.
21
Ho, quindi, preso visione del dettaglio relativo alla valorizzazione
delle giacenze contabili, documento che elenca tutti i materiali presenti
in magazzino, identificati dai relativi codici, esprimendone quantità e
provenienza, e raggruppati in alcune categorie (prodotti finiti, derivato
lamiere, derivato tubi, lamiere a caldo, lamiere a freddo, materie ad alto
resistenziale, filo metallico, minuteria).
In effetti, i materiali appaiono codificati senza un criterio
apparentemente valido e rispecchiano le anomalie già sopra descritte,
come può essere evidenziato da uno stralcio relativo ad una categoria di
materiali, allegato al presente lavoro (Vedi Allegato A).
Per la complessità del lavoro, si provvederà a descrivere
l’avanzamento del progetto per fasi, secondo il suo progressivo
snodamento.