Sei sulla pagina 1di 18

Prima parte la contabilità generale

(diverse modalità di acquisizione dei beni strumentali)

Il fine delle imprese è quello di generare un profitto durevole e stabile nel tempo,
ciò dipende sia da fattori interni (efficienza dei processi produttivi e struttura
organizzativa) che esterni (soddisfare le aspettative degli stakeholder). La
coordinazione tra l'azienda e i vari soggetti si chiama comunicazione aziendale,
che è l'insieme dei processi di creazione, scambio e condivisione dei messaggi. La
comunicazione aziendale si pone come obiettivo il miglioramento dell’identità e
dell’immagine dell’impresa, per aumentare la credibilità a livello strategico ed
economico, per incrementare la fiducia e la legittimazione del pubblico, al fine di
attrarre le risorse di cui necessita per un risultato positivo e continuativo nel
tempo. La comunicazione è di fondamentale importanza per l’impresa, infatti essa
dispone di una serie di risorse tangibili e intangibili, che però senza supporti di
comunicazione fanno fatica a trasformarsi in vantaggio competitivo. Possiamo
individuare tre flussi di comunicazione:
La comunicazione economico finanziaria: ha l’obiettivo di fornire indicazione sulle
attività attuali e future dell’impresa e sul suo stato di salute. È diretta sia agli
azionisti che devono essere certi che i loro interessi vengano salvaguardati, ma
anche ad un pubblico più generale che potrebbe essere interessato ad investire
nell’impresa. Una comunicazione finanziaria efficace, infatti, può attrae potenziali
investitori che portando nuovi capitali danno all’impresa la possibilità di innovarsi,
crescere e competere continuamente, in un mercato sempre più globale e
concorrenziale. Dato che con la comunicazione finanziaria si fa informazione
anche su prodotti che per l’investitore possono essere rischiosi, è opportuno che il
processo comunicativo non lasci nulla al caso e che attraverso criteri di
trasparenza ed informazioni esaustive dia la possibilità al potenziale investitore di
scegliere consapevolmente ed in modo autonomo. La comunicazione finanziaria
deve fare in modo che tra investitore e impresa si instauri un rapporto basato
sulla fiducia reciproca.

La comunicazione commerciale pubblicitaria per divulgare in maniera efficace e


distintiva i propri prodotti-servizi e la propria immagine puntando ad una
collocazione ed un ruolo chiari ed esclusivi con un’identità precisa, inequivocabile,
lineare e per questo riconoscibile. L´immagine, infatti, identifica l´azienda agli
occhi del pubblico e ne determina il posizionamento nel contesto sociale a cui
appartiene. La comunicazione economico-finanziaria

La comunicazione socio-ambientale in cui viene trasmesso l’impatto che l'azienda


ha sulla vita degli individui, delle formazioni sociali e dell’ambiente naturale nel
quale operano, sia un bene da tutelare e salvaguardare anche a beneficio delle
future generazioni. E’ per questo che molte società, che hanno deciso di
perseguire tali obbiettivi, redigono, su base volontaria, un documento di
comunicazione non finanziaria chiamato Bilancio socio-ambientale.
La contabilità generale ha per oggetto i fatti esterni di gestione, rilevati nel loro
aspetto finanziario ed economico, e per scopo la determinazione del risultato
economico d’esercizio e del patrimonio di funzionamento. La contabilità generale
è consuntiva e si riferisce all’impresa considerata nella sua unitarietà. Essa
classifica i componenti di reddito secondo la loro origine o natura e fa da supporto
alla redazione del bilancio d’esercizio. Le scritture della contabilità generale si
basano sul metodo della partita doppia
La contabilità generale è tenuta con il metodo della «partita doppia». Esso
richiede che i fatti aziendali siano esaminati sotto due aspetti:
• l’aspetto finanziario;
• l’aspetto economico-patrimoniale.

- Nell’aspetto finanziario si osservano le operazioni di gestione in termini di


entrate ed uscite di moneta che esse provocano. Tali movimenti possono essere
in denaro contante o rappresentati temporaneamente dal formarsi di crediti e
debiti. Questi non sono altro che movimenti di denaro differiti nel tempo.
- Nell’aspetto economico l’attenzione è rivolta ai valori degli elementi chiave del
processo produttivo: fattori produttivi e prodotti. Si indicano come costi i valori
dei fattori produttivi acquistati e come ricavi i valori dei prodotti venduti.

La tenuta delle scritture secondo il metodo della partita doppia richiede che le
rilevazioni contabili vengano redatte in due appositi registri:

• libro giornale: in esso vengono annotati, giorno per giorno, i movimenti contabili
relativi ad ogni singola operazione di gestione, contiene:
-la data dell’operazione (prima colonna) da non confondere con la data di
registrazione (un’operazione può essere annotata anche alcuni giorni dopo,
massimo 60);
-il numero progressivo dell’operazione che è attribuito in automatico;
-I conti interessati dall’operazione (codice e denominazione);
-Una breve descrizione dell’operazione, l’importo delle variazioni che l’oggetto del
conto ha subito e la sezione (Dare e Avere) in cui deve essere registrata la
variazione di ogni conto;

• libro mastro: raccoglie i prospetti (i cosiddetti «mastrini») relativi a tutti i conti


impiegati dall’impresa. In esso vengono quindi riportati i movimenti dei conti,
corrispondenti alle registrazioni del libro giornale.

La contabilità generale è indispensabile anche nel registrare le varie operazioni


legate ai beni strumentali.

I beni strumentali sono tutti i beni materiali (impianti, macchinari, automezzi) e


immateriali (brevetti, software; privi di consistenza fisica), destinati a essere
utilizzati nel processo produttivo, la cui utilità non si esaurisce in un solo
esercizio, ma è distribuita per più tempo. Determinano perciò costi pluriennali,
che hanno una reintegrazione indiretta e graduale, attraverso i ricavi di vendita
dei prodotti ottenuti con il loro concorso. Possono essere classificati, oltre in base
alla fisicità, anche secondo le aree di impiego e le finalità dell’investimento. In
base alle aree di impiego si distinguono beni strumentali utilizzati:

• Per l’attività tecnico-produttiva, comprendono tutti i beni durevoli impiegati nei


processi di trasformazione tecnico-economico tipici dell’attività industriale, quali
gli edifici industriali, gli attrezzi e gli impianti; quest’ultimi si distinguono in
generici, utilizzati per differenti tipi di produzione in quanto non caratteristici di un
particolare settore, e in specifici, propri di un certo settore produttivo o di un
particolare ramo di industria;
• Per l’attività di vendita, comprendono i beni materiali che si ricollegano alla
struttura dell’organizzazione di vendita (locali di vendita, automezzi) e i beni
immateriali che si riferiscono al sostenimento di costi commerciali a utilità
pluriennale come i costi di formazione dei venditori;
• Per l’attività amministrativa e delle strutture aziendali centrali, sono soprattutto
gli immobili, i mobili, le attrezzature, le macchine d’ufficio, i sistemi informatici, le
autovetture a disposizione degli organi amministrativi; comprendono anche i costi
di impianto e di ampliamento; Secondo le finalità di investimento si possono
distinguere gli investimenti:
• Di sostituzione: per rimpiazzare i beni fisicamente logori od obsoleti
(economicamente superati per l’innovazione tecnologica);
• Di produttività: rivolti a incrementare la produttività (rapporto tra le quantità
prodotte e la quantità di un fattore impiegato) migliorando l’efficienza della
struttura produttiva senza variarne le dimensioni (acquisto di beni più efficienti o
automazione di alcune operazioni);
• Di crescita: eseguiti per aumentare la capacità produttiva;
• Per la qualità: attuati per conseguire il miglioramento della qualità della
produzione (software per ridurre il tempo di registrazione);
• Strategici: finalizzati al futuro sviluppo dell’impresa, come quelli dell’area
“ricerca e sviluppo”.

L’acquisizione dei beni strumentali

L’acquisizione dei beni strumentali è la conclusione di un processo decisionale in


cui si definiscono le caratteristiche del bene da acquisire e i suoi benefici
conseguibili, il modo di acquisizione e i costi da sostenere per ciascuna diversa
modalità. Inoltre un’azienda prima di acquistare un bene deve tener conto di
diverse variabili
1. Scegliere la forma più idonea di acquisizione in funzione delle fonti di
finanziamento
2. Individuare una congrua collocazione all’interno degli spazi aziendali
3. Predisporre adeguati programmi di manutenzione
I beni strumentali possono essere acquisiti in proprietà mediante:
L’acquisto da terzi fornitori

Sorge un debito nei confronti del fornitore per il costo e per l’importo della
relativa Iva, e i costi accessori di acquisto di diretta imputazione, in quanto
necessari al suo utilizzo (trasporto, installazione, collaudo, oneri fiscali), I costi
accessori devono essere patrimonializzati, in altre parole il loro ammontare deve
essere portato a incremento del costo pluriennale, perché vengono sostenuti per
consentire l’utilizzazione economica del bene. Nel caso in cui i lavori di montaggio
o installazione siano eseguiti in economia, cioè “in proprio”, i costi da
patrimonializzare sono determinati internamente e si rileva in Dare il conto acceso
al bene strumentale, e in Avere “Lavori in economia”, come indiretta rettifica;

Durante un contratto di compravendita può avvenire il versamento di un acconto


(versamento di denaro prima della consegna del bene) in p.d si registra l'acconto
con Fornitori c/acconto VEN a debiti per acconto da fornitori VFP il pagamento
dell'acconto debiti vs fornitori a banca, poi una volta ricevuta la merce si sottrae
al totale l'acconto versato.

La costruzione interna

La costruzione interna o “in economia”, caratteristica delle imprese industriali in


quanto possibile solo nel caso in cui l’azienda abbia le conoscenze tecniche, un
personale qualificato e le risorse necessarie per costruire internamente il bene
strumentale. Si ricorre alla costruzione in economia:
A) Quando la costruzione interna è economicamente conveniente;
B) Esistono nell’azienda risorse sottoutilizzate o addirittura non utilizzate
C) Il bene non è presente sul mercato
D) La necessità o l’opportunità di mantenere segreto il processo di fabbricazione.

Nel costo di produzione confluiscono i seguenti elementi:


-Costi diretti: costi di progettazione, manodopera e materiali impiegati
esclusivamente per la realizzazione dei lavori, costi sostenuti per il collaudo e
l’installazione del bene, ecc.
-Costi indiretti: materiali ausiliari e altri costi di produzione, manodopera non
imputabile in modo specifico al bene, costi relativi all’ammortamento dei beni
strumentali utilizzati nella costruzione, consumi di energia elettrica e di altri
servizi utilizzati, costi sostenuti pere l’organizzazione, la gestione, il controllo della
costruzione, ecc.
Oneri finanziari che possono essere patrimonializzati soltanto se riferibili a
finanziamenti ottenuti per la fabbricazione del bene e fino al momento in cui il
bene può essere potenzialmente utilizzato nel processo produttivo.
In contabilità generale si rileva, nella data in cui il bene entra in funzione, in dare
“impianti” o “Macchinari”, oppure, nel caso in cui la realizzazione del bene sia
iniziata nell’esercizio ma non risulti ancora ultimata “impianti in costruzione” o
“macchinari in costruzione”; e “Costruzioni interne” in avere, rettificando così
indirettamente i costi d’esercizio.

Apporto da parte dei soci

I beni strumentali conferiti, all’atto della costituzione della società o in un


momento successivo, sono soggetti a una procedura di valutazione, che ne rende
oggettiva il risultato, diversa a seconda che si tratti di una società di persone o
una società di capitali ed effettuata dai soci tenendo conto dei limiti stabiliti dal
Codice Civile e da una relazione di stima redatta da un esperto nominato dal
tribunale (nelle S.p.A.) o da una società di revisione iscritta nell’apposito albo o
registro (dei revisori contabili). Contabilmente, occorre rilevare la sottoscrizione
della quota di capitale sociale da parte del socio e l’effettiva esecuzione del
conferimento dei beni. Nel caso di automezzi non utilizzabili esclusivamente come
beni strumentali, ma misti, ossia suscettibili anche di uso personale o familiare
dell’imprenditore, solo una parte dell’Iva è detraibile, mentre l’altra è
patrimonializzata
SNC SRL

Locazione

Se l’impresa non è interessata a diventare proprietaria di un bene strumentale o


non dispone dei mezzi finanziari sufficienti per acquistarlo. Può stipulare un
contratto di locazione, sostenendo costi per godimento beni di terzi, ossia costi
per beni che non risultano di proprietà dell’impresa.

Leasing

Le operazioni di leasing I beni strumentali possono essere acquisiti in godimento


mediante i contratti di locazione e di leasing. Con il contratto di locazione,
previsto dal nostro ordinamento per i beni immobili, una parte, detta locatore, si
obbliga a far godere all’altra, detta locatario o conduttore, un bene per un dato
periodo di tempo, verso il pagamento di un corrispettivo, detto canone di
locazione o affitto. Alla scadenza del rapporto di locazione, il conduttore deve
restituire il bene nello stato medesimo in cui l’ha ricevuta, salvo il deterioramento
o il consumo risultante dal suo uso; e il contratto può essere rinnovato,
solitamente con una revisione del canone o stipulando un nuovo contratto, oppure
risolto, restituendo il bene al locatore.
Il leasing quindi consiste nella locazione di beni strumentali di massa (di largo
uso), dietro il pagamento di canoni in cui possono essere comprese le
manutenzioni, le riparazioni e la sostituzione dei beni qualora diventino
tecnicamente superati, da parte di un’impresa produttrice, detta locatore,
all’azienda utilizzatrice, detta conduttore, la quale ha la facoltà, al termine della
locazione, di divenire il proprietario del bene locato (la clausola di riscatto non è
obbligatoria), dietro il versamento di un prezzo prestabilito.
L’impresa quindi, deve far fronte ai seguenti esborsi:
1) un versamento iniziale (maxicanone) fino al 25% del valore del bene;
2) il pagamento di canoni periodici
3) il pagamento del prezzo di riscatto, nel caso scelga di acquistare la proprietà
del bene al termine del contratto.

La scelta fra l’acquisto di un bene strumentale e il leasing dello stesso è un


problema complesso, è effettuata valutando i costi delle due opzioni. In genere, il
leasing è più caro delle forme di finanziamento ad esso alternative, ma è
comunque largamente praticato per la serie di vantaggi che esso offre rispetto
all’acquisto in proprietà, come:

• L’acquisizione della disponibilità del bene strumentale senza aver sostenuto il


notevole esborso previsto per l’acquisto in proprietà, in quanto l’uscita finanziaria
è ripartita in più esercizi, anche se comporta di solito costi più elevati rispetto
all’acquisto in proprietà;
• La maggiore facilità e rapidità di accesso al leasing finanziario rispetto ad altre
forme di finanziamento;
• Le minori garanzie richieste;
• La possibilità di ottenere sempre beni tecnologicamente avanzati;
• Solitamente il leasing finanziario è più conveniente di quello operativo, ma vale
il contrario qualora l’uso del bene sia per un periodo breve di tempo. In
contabilità generale, se sono rilevati canoni per un ammontare superiore a quello
di competenza dell’esercizio, è necessario rinviare al futuro l’eccedenza tramite un
risconto attivo. Ciò accade quando la rata del canone cade “a cavallo” del 31/12.
Per trovare il canone mensile teorico (con cui si trova poi l’effettivo ammontare di
competenza), si divide il totale dei canoni per la durata del contratto espressa in
mesi.
I COSTI CONNESSI AI BENI STRUMENTALI

Inoltre durante la loro permanenza, i beni strumentali materiali possono essere


soggetti a interventi di ammodernamento e trasformazione, diretti ad accrescere
l’efficacia operativa dei beni; a manutenzioni, compiute per conservare la
funzionalità dei beni strumentali e garantire la vita utile originariamente prevista;
e a riparazioni, rivolte a ripristinare l’efficienza dei beni una volta che questa sia
stata compromessa guasti o rotture. Mentre i primi incrementano sicuramente il
valore dei beni e devono quindi essere patrimonializzati, e gli ultimi sono in linea
generale interamente di competenza dell’esercizio in cui sono sostenuti, per le
manutenzioni occorre distinguere tra manutenzioni:
•ordinarie: ricorrenti e spesso programmati, tendono a conservare le normali
capacità di funzionamento dei beni. Sono interamente imputabili all’esercizio in
cui sono sostenuti;
•straordinarie: migliorano le prestazioni e l’efficienza operativa dei beni
strumentali, sono perciò patrimonializzati a incremento del costo ai quali si
riferiscono.
Tali interventi possono essere:
•affidati a terzi: i relativi costi sono rilevati in base alle fatture emesse dalle ditte
che li hanno eseguiti;
• eseguiti in economia: impiegando personale e risorse interne, non danno luogo
a scritture specifiche, in quanto i vari costi sostenuti (materiali, manodopera,
energia) si rilevano nei corrispondenti conti e sono fatti affluire al conto
economico generale; per le manutenzioni straordinarie, invece, occorre
patrimonializzare i costi, rilevando in Dare il conto del bene relativo e in Avere
“lavori in economia”.

I beni strumentali concorrono a formare i redditi di periodo mediante


l’ammortamento, processo con cui il costo dei beni strumentali nel tempo è
ripartito sistematicamente tra gli esercizi. Per redigere un piano di
ammortamento che indichi la quota di ammortamento (parte di costo imputato
per competenza all’esercizio considerato); il fondo ammortamento (ammontare
delle quote che risulteranno complessivamente dedotte al termine dell’esercizio
considerato), e il residuo valore da ammortizzare (importo da imputare agli
esercizi successivi) occorre definire:

• Il valore da ammortizzare: la differenza tra il costo storico e il presente valore


di recupero, che spesso non si considera perché di difficile previsione, è infatti un
elemento più teorico che pratico (costo storico - fondo ammortamento - valore);
• La durata dell’ammortamento: tempo per il quale si ritiene che sarà
economicamente conveniente utilizzare il bene;
• I criteri di ammortamento: con cui il valore da ammortizzare verrà ripartito; la
nostra legislazione lascia libertà di scelta all’imprenditore, ma sono spesso
adottati criteri matematici o regolari, basati su formule matematiche;
criteri elastici, con cui le quote sono determinate di volta in volta (in base a
particolari parametri che esprimano il contributo dei beni), e criteri economici, che
determina le quote in base alla residua possibilità di utilizzazione dei beni nelle
produzioni d’impresa. Sotto profilo fiscale, i criteri sono determinati dal Fisco.

LA DISMISSIONE DEI BENI STRUMENTALI

Si ha dismissione di un bene strumentale quando questo, non essendo più


convenientemente utilizzabile nell’impresa, è estromesso dai processi produttivi
nei quali si trova inserito. I beni dismessi possono essere oggetto di:

• Cessione a terzi a titolo oneroso, in quanto i beni strumentali dismessi hanno un


loro mercato dell’usato, come la vendita, emettendo una normale fattura, o la
permuta, che consiste in un’operazione di vendita associata a una di acquisto, in
cui la fattura emessa nei confronti dell’impresa che ritira il bene. Però è prima
necessario ammortizzare il bene per la quota maturata durante l’esercizio fino al
momento della cessione e stornare il fondo ammortamento al conto specifico, si
rileva poi la plusvalenza o la minusvalenza (maggiore o minore guadagno di
un’operazione di vendita) a seconda che il prezzo di vendita sia superiore o
inferiore al valore contabile (costo storico - fondo ammortamento). Altro caso di
cessione a titolo oneroso è l’assegnazione al titolare o ai soci, emettendo
un’autofattura nel primo caso, o una fattura nei confronti del socio assegnatario,
nel secondo, in base al valore normale di mercato e non contabile.
• Radiazione: consiste nell’estromissione del bene, perché tecnicamente obsoleto
o fisicamente logoro, dai processi produttivi senza che sia possibile una sua
cessione sul mercato, mantenendolo però in contabilità (se la radiazione riguarda
beni non ancora completamente ammortizzati, si dovrà completare il processo di
ammortamento). L’immobilizzazione e il relativo fondo ammortamento restano
iscritti in contabilità per lo stesso importo, e quindi con un valore residuo nullo.
Il bene radiato potrà poi essere
- demolito, rimuovendolo contabilmente tramite uno storno tra il fondo
ammortamento e il conto acceso al cespite;
- venduto come rottame, rilevando dopo lo storno del fondo ammortamento la
plusvalenza, se la cessione avviene nello stesso esercizio della radiazione, o la
sopravvenienza attiva, se avviene in un esercizio successivo;
- ceduto gratuitamente, registrando dopo lo storno degli ammortamenti
l’emissione della fattura con cui viene addebitata al donatario l’Iva sul valore
normale del bene.
• Perdita per distruzione o sottrazione, in conseguenza di un evento indipendente
dalla gestione e imprevedibile (furto, incendio, incidente); dopo l’ammortamento
relativo alla frazione d’esercizio in cui il bene è stato utilizzato, si registra
l’azzeramento del suo costo storico, cui fanno da contropartita lo storno del fondo
ammortamento e una sopravvenienza passiva.
ESERCIZIO:
Dopo aver analizzato le diverse modalità di acquisizione dei beni strumentali,
illustrare come la loro gestione influenzi la struttura produttiva e produca effetti
differenti sul patrimonio e il risultato economico dell’esercizio. Considerare una
spa industriale, che nel corso dell’esercizio n decide di effettuare nuovi
investimenti in applicazione di scelte strategiche finalizzate a superare momenti di
particolare stagnazione nelle vendite :

-acquista impianti del valore di 400.000 euro finanziando l’operazione con


indebitamento bancario;
-stipula un contratto di leasing finanziario per un macchinario versando un
maxicanone iniziale di 20.000 euro.

Link Drive
(https://docs.google.com/spreadsheets/d/1v2C6UZUPZe696sqxVX9Bk085ZZUnQ
93JPuYTetR4_-Y/edit?usp=sharing)
SECONDA PARTE

Ho avuto il compito di creare un database per gestire i mutui concessi da una


banca e i successivi piani di ammortamento. Quindi il problema ci pone di
realizzare un sistema bancario in modo tale che un eventuale cliente possa
estrapolare informazioni riguardanti i suoi mutui. Innanzitutto ho iniziato a
progettare il problema concettualmente (progettazione concettuale) è la fase che
precede la realizzazione delle tabelle. In questa fase si effettua una prima
schematizzazione dei dati. Questo schema è vicino al modo di pensare dell'uomo
e non alla rappresentazione della macchina infatti ho analizzato la realtà di una
banca e ho estrapolato un apposita analisi Il metodo più semplice per riuscire in
questa fase consiste nello scrivere una descrizione breve ed essenziale del
problema come se doveste fare un compito di italiano e successivamente
evidenziare tutti i sostantivi e le forme verbali presenti nel testo creato (senza
produrre duplicati): i sostantivi saranno nella base di dati gli oggetti, mentre i
verbi rappresenteranno le relazioni.

La banca che ho pensato di creare offre diversi servizi, come la creazione di un


solo “account” da parte di un nuovo utente che dovrà inserire le sue generalità
(Nome, Cognome, Mail, Città e Via) la password e il conto con i quali accederà al
servizio (1-1). Inoltre i vari account appena creati potranno essere approvati
oppure rifiutati da un dipendente bancario (1-N). Ho ritenuto più corretto la non
possibilità di richiedere un mutuo poiché la banca prima di concedere un mutuo
deve fare diversi accertamenti (la storia finanziaria del cliente; l'età del
richiedente; la compatibilità tra l'importo richiesto e il reddito del cliente
richiedente; la compatibilità tra l'importo richiesto e il valore dell'immobile,
eventualmente da ipotecare) che in via telematica non sarebbero possibili, infatti
il cliente potrà richiedere un mutuo solo se si reca fisicamente in banca. Per
quanto riguarda i clienti che posseggono già un mutuo potranno accedere al
sistema e vedere le eventuali rate filtrandole per il codice del Mutuo, poiché il
cliente può aver sottoscritto più mutui (1-N) e il tipo (Pagate, Non Pagate, In
scadenza). La mia banca si basa principalmente sulla sicurezza dell’utente, infatti
ho ritenuto opportuno usare un sistema di autenticazione a due fattori che
consiste nell’inserire un secondo codice oltre alle credenziali d’accesso che si
usano di solito per usufruire del servizio. Per la maggior parte delle volte la 2FA
dovrebbe avvenire tramite apposito TOKEN elettronico oppure tramite SMS sul
cellulare, però visto che questo sistema comportava a parecchi esborsi monetari
ho pensato che il codice di verifica venisse inviato tramite e-mail infatti al
momento del LOGIN oppure della REGISTRAZIONE viene immediatamente inviato
un codice a 5 cifre sull’email inserito dall’utente. Inoltre per mancanza di tempo
non ho potuto usare un servizio di cifratura per le password in modo tale che se
anche il database venisse hackerato le password non sarebbero chiare/visibili.
Come possiamo vedere abbiamo per ogni Entità (Nuovo utente, cliente, admin,
mutuo, rata) una chiave primaria (Conto, Username, Cmutuo, Nrata) che
dev’essere univoca (il suo valore non si ripete mai) e non nulla (il suo valore non
può essere nullo).

Successivamente sono passato alla progettazione logica, Durante la fase della


progettazione logica si traduce lo schema concettuale prodotto nella fase di
progettazione concettuale, nel modello di rappresentazione dei dati adottato
dall’ambiente database scelto per la programmazione.
La traduzione, per essere formalmente corretta con i software in uso (per
utilizzare così il minor numero di spazio e aumentare le velocità di recupero dei
dati), porta ad utilizzare la tecnica della normalizzazione che segue diverse
regole:

1. ogni entità dello schema E-R diventa una tabella;


2. ogni attributo di un’entità diventa un campo della tabella;
3. ogni campo del record eredita le caratteristiche dell’attributo dell’entità da cui
deriva;
4. l’identificatore univoco di un’entità diventa la chiave primaria della tabella
derivata;
5. l’associazione uno ad uno diventa una tabella unica, i cui campi sono
corrispondenti agli attributi della prima e della seconda entità;
6. nell’associazione uno a molti la chiave primaria (primary key) dell’entità che
svolge il ruolo UNO diventa la chiave esterna (foreign key) dell’entità che svolge il
ruolo MOLTI; rispettare i due vincoli: stesso tipo di dati, stessa dimensione tra
chiave primaria e chiave esterna;
7. l’associazione molti a molti diventa una nuova tabella (in aggiunta a quelle
derivate dalle due entità) il cui record contiene le chiavi primarie delle due entità
e gli eventuali attributi dell’associazione.

Infine sono passato alla progettazione fisica: ultima fase di progettazione di una
base di dati è quella fisica, è la fase nella quale si memorizzano i dati su
supporti fisici (dischi). La progettazione fisica consiste delle seguenti attività:
scelta delle strutture di memorizzazione delle tabelle e delle strutture ausiliarie di
accesso ai dati. Queste ultime servono per rendere più efficiente l'accesso ai dati
contenuti in tabelle usate di frequente. Le strutture di memorizzazione e di
accesso sono valutate tra quelle messe a disposizione dal DBMS scelto;
traduzione dello schema logico dei dati in uno schema fisico dei dati contenente le
definizioni delle tabelle, dei relativi vincoli di integrità e delle viste espresse in
SQL.
Dato che la traccia dava libera scelta nell’implementazione della progettazione
fisica ho optato nel utilizzare PYTHON come linguaggio di programmazione sia per
la gestione front-end che back-end, XAMPP per quanto riguarda l’host (locale) e
come gestore del database ho usato PHPMYADMIN. La mia scelta è ricaduta su
Python rispetto a Javascript poiché innanzitutto ho molta famigliarità con questo
linguaggio e poi perché Python presenta diversi vantaggi:

È multi-paradigma Python è un linguaggio multi-paradigma, che supporta sia la


programmazione procedurale (che fa uso delle funzioni), sia la programmazione
ad oggetti (includendo funzionalità come l’ereditarietà ecc...) Inoltre supporta
anche diversi elementi della programmazione funzionale.

È portabile Python è un linguaggio portabile infatti è possibile usarlo su diverse


piattaforme come: Unix, Linux, Windows, cellulari Android e iOS. Ciò è possibile
perché si tratta di un linguaggio interpretato, quindi lo stesso codice può essere
eseguito su qualsiasi piattaforma purché abbia l’interprete Python installato.

È facile da usare Python è un linguaggio di alto livello che è al tempo stesso


semplice, potente e performante. La sintassi e i diversi moduli e funzioni che sono
già inclusi nel linguaggio sono consistenti, intuitivi, e facili da imparare.

È ricco di librerie Ogni installazione di Python include la standard library, cioè una
collezione di oltre 200 moduli per svolgere qualsiasi compito inimmaginabile.

Una volta create le tabelle (CREATE TABLE) ho creato il file in python e importato
le librerie necessarie

La libreria grafica (tkinter)


La libreria che permette di connetterci al
database (pymysql)
La libreria che mi permette di creare una
connessione ai server gmail (smtplib) in
modo tale da poter inviare le eventuali mail.
Infine la libreria (random) che l’ho utilizzata esclusivamente per generare i codici
da inviare per mail e per generare automaticamente un conto per il cliente che sia
univoco.

La prima cosa che ho


fatto è quella di creare
un menù che si aprirà
una volta eseguito il
codice. Le dimensioni
della finestra sono di
1024px in larghezza per 600px in altezza, per quanto riguarda il background ho
preso e modificato uno sfondo tramite photoshop.

Successivamente ho provveduto a creare le variabili,


sono tutte di tipo “StringVar()” e alcune sono associate a vari bottoni, i bottoni
del menù in tutto sono 4, 2 bottoni di login uno per l’admin e uno per il cliente, 1
bottone per la registrazione di un nuovo utente e un bottone (obsoleto) per la
cancellazione dei dati inseriti. Dato che ogni bottone dev’essere associato ad un
azione (funzione) ho utilizzato il metodo di programmazione top-down, cioè ho
suddiviso il problema in più funzioni e procedure in modo tale che sia più
comprensibile e più efficiente, poiché come farò vedere in seguito ho usato un
unica funzione più volte cambiando solo le variabili che le passavo.

Prima di procedere a creare le funzioni per i bottoni ho connesso il programma al


database
In cui come parametri passavo l’host (in questo caso locale altrimenti avrei
inserito ip e porta) le credenziali e il nome del database. Una volta stabilita la
connessione ho creato le 2 funzioni principali del programma (registrazione e
login) per quanto riguarda la registrazione ho
creato un’altra finestra tramite Tkinter in
corrispondenza dell’entità (nuovo utente) cui
l’utente inseriva le proprie generalità e
password. Come annunciato in precedenza il
numero del conto (alfanumerico) viene generato
in automatico tramite la libreria random, io in
questo caso ho semplicemente creato una
funzione in cui passavo la lunghezza del conto da
generare e due parametri (maiuscolo,
alfanumerico). Una volta premuto registra ho
eseguito diversi controlli, il programma infatti
controlla che tutti i dati siano inseriti, che
l’utente inserisca una password lunga almeno 8
caratteri e che contenga almeno un numero e un
carattere maiuscolo e speciale. Come annunciato
in precedenza dato che la mia banca si basa
soprattutto sulla sicurezza informatica ho fatto in
modo che il programma inviasse sull’email
fornita un codice di 5 cifre per confermare
l’identità del utente ed evitare attacchi come botting e dossing.

Una volta soddisfatte le condizioni ho fatto eseguire al programma una queryche


mi inserisse i dati nella tabella sql.

Successivamente ho creato una dashboard per l’amministratore in modo tale da


visionare gli account appena creati e decidere se rifiutarli o accettarli. Se decide di
non approvare l’account i record vengono eliminati dalla tabella e all’utente gli
viene inviata una mail con scritto “Iscrizione non approvata”
Se invece l’amministratore decide di approvare l’account viene eseguita una
query che “sposta” i dati della tabella del nuovo utente nella tabella cliente, anche
in questo caso viene mandata una mail con scritto “iscrizione approvata”

cur.execute("INSERT INTO clientev (nome, cognome, anni, mail, citta, via, conto, password)
SELECT nome, cognome, anni, mail, citta, via, conto, password FROM cliente WHERE conto = '%s';"
% (approva))
cur.execute("delete from cliente WHERE conto = '%s';" % (approva))

Infine ho realizzato la dashboard per l’utente, una volta inserito il conto e la


password e confermato l’identità tramite e-mail, l’utente avrà la possibilità di
vedere i mutui che ha sottoscritto, le rate collegate ai mutui e il loro stato.
Sempre per quanto riguarda la sicurezza informatica mi è sembrato opportuno
notificare l’utente tramite mail in caso qualcuno stia cercando di accedere al suo
conto, e avevo anche intenzione di inviare mensilmente i propri log di accesso
all’utente con relativi indirizzi ip, luogo, data e ora, però visto che il tempo che
avevo a disposizione non era molto ho preferito non inserire questa funzionalità.

Come potete vedere l’utente ha la possibilità di filtrare i risultati tramite codice


muto, rate non pagate, rate pagate e rate in scadenza. Per far ciò ho utilizzato le
seguenti query:
Codice sorgente:
(https://github.com/nobody-r/Elaborato-2021/blob/main/main.py)
Database:
(https://drive.google.com/file/d/13yqRTxDH4nKJQ_0rkpsZdmnA_9CgMsGx/view?
usp=sharing)

Potrebbero piacerti anche