TdP-prove-finali / Introduzione

Istruzioni e documentazione per la proposta e lo svolgimento delle prove finali relative al corso di Tecniche di Programmazione.
http://bit.ly/tecn-progr
Apache License 2.0
4 stars 13 forks source link

Gestionale per azienda alimentare #9

Closed TiberioConte closed 7 years ago

TiberioConte commented 7 years ago

Studente proponente

s213338 Tiberio Conte

Titolo della proposta

Gestionale per azienda alimentare

Descrizione del problema proposto

L’applicazione nasce per occuparsi delle problematiche di maggiore rilevanza riguardanti la gestione globale di un’ azienda alimentare nel caso specifico, visto il contenuto del database, di vendita e trasformazione carni. Mira quindi a gestire e storicizzare i rapporti azienda-clienti e azienda-fornitori sia dal punto di vista logistico che contabile, compito fondamentale dell’applicazione è quello di generare vari documenti per adempiere agli obblighi informativi che per legge ha un’azienda alimentare.

Descrizione della rilevanza gestionale del problema

Gli aspetti gestionali che l’applicazione tratta sono prevalentemente di interesse economico: la registrazione dell’emissione e della ricezione delle fatture, degli esborsi e degli incassi è stata implementata oltre che per tenerne traccia per un interesse logistico anche per effettuare il calcolo periodico della liquidazione IVA e poter generare il libro giornale e il libro mastro (ovviamente semplificati rispetto a quelli che per legge un’azienda è obbligata a consegnare periodicamente per assenza di informazioni come ammortamento dei beni mobili e immobili, risconti, costo del personale).

Descrizione dei data-set per la valutazione

Non ho un data-set adattabile, ma considerando che il problema proposto nasce da un’esperienza in azienda che usa un gestionale simile a quello che vorrei implementare, conosco le principali esigenze e problematiche del problema proposto, potrei quindi partire da un diagramma entità relazione, normalizzarlo ottenendo così la struttura del data-set, procedendo poi inserendo dei dati (usando un progetto java secondario privo di interfaccia grafica) per valutare il funzionamento dell’applicazione.

Descrizione preliminare degli algoritmi coinvolti

L’articolo 62 del DL del 24.1.2012 prevede che le merci alimentari deperibili vengano pagate entro 30 giorni dopo la fine del mese in cui si è effettuato l’acquisto. Tuttavia tutte le aziende, visto il largo ritardo tra la consegna della merce e il suo pagamento - che può detrarsi fino a 60 giorni - fissano con i clienti termini informali minori, superati i quali non scattano ancora gli interessi moratori, come previsto dall’articolo 62, ma l’azienda smette di fornire altri prodotti per evitare di accumulare ulteriore credito. La simulazione ci mostrerà l’andamento di cassa (contanti) e della banca (ricevute bancarie, effetti, assegni) chiedendoci come input una percentuale: la probabilità che i clienti paghino entro i termini minori informali e supponendo che l’azienda paghi i fornitori entro i termini minori informali.

Descrizione preliminare delle funzionalità previste per l’applicazione software

L’applicazione avrà le seguenti funzionalità, raggruppate per categoria: CLIENTI E FORNITORI -inserire, ricercare, modificare un cliente/fornitore; -ricercare i dati di magazzino di un cliente/fornitore; -visualizzare le partite aperte clienti/fornitori (fatture emesse non ancora incassate); -estratto conto di un cliente/fornitore; -scadenziario; PRODOTTI -inserire ricercare modificare un prodotto; -storico di un prodotto; -inserire, ricercare, modificare un listino di acquisto/vendita; VENDITA -acquisizione vendita: generazione di un carrello per un cliente, chiamato lista di vendita, che su richiesta dell’operatore darà origine ad un file in formato txt; -variazione prezzo di vendita: modifica del prezzo ricavato automaticamente dall’applicazione per ogni prodotto nella lista di vendita; -generazione vendita per cliente: trasforma la lista di vendita in una vendita effettiva, genera il documento di trasporto -necessario per legge per effettuare una vendita- come file txt; -cartellino di vendita: genera un cartellino, come file txt, da apporre per obbligo di legge su ogni prodotto prima di consegnarlo al cliente contenente numero di lotto e relative informazioni ad esso associate e la nominazione del cliente acquirente del prodotto; ACQUISTO -creazione lotto per tracciabilità: per legge, ogni prodotto alimentare venduto deve essere identificato dal proprio numero di lotto, associato in maniera univoca ad alcune informazioni (data creazione lotto, descrizione lotto, fornitore, dati di nascita, codice auricolare, paese ecc.); Nel caso di un’azienda di trasformazione di carni il numero di lotto è univoco per ogni animale, due prodotti differenti se provenienti dallo stesso animale saranno identificati dallo stesso numero di lotto. -carichi alla bilancia: generazione di un carrello per un fornitore, chiamato lista di acquisto, che su richiesta dell’operatore darà origine ad un file in formato txt; -variazione prezzi carico: modifica del prezzo ricavato automaticamente dall’applicazione per ogni prodotto nella lista di acquisto; -generazione carichi magazzino: trasforma la lista di acquisto, in un acquisto effettivo; -cartellino di acquisto: genera un cartellino, come file txt, da apporre per obbligo di legge su ogni prodotto prima di riporlo in magazzino, contenente numero di lotto e relative informazioni ad esso associate; CONABILITA’ -emissione di fatture di vendita: generazione di un file txt che rispetti gli obblighi di legge; -registrazione di fattura di acquisto; -prima nota di incasso/esborso; -emissione note di credito: generazione di un file txt che rispetti gli obblighi di legge; -registrazione note di credito; -contabilizzazione fatture, incassi, esborsi e note di credito; -chiusura anno contabile; -libro giornale: visualizzazione e possibilità di generare un file txt; -libro mastro: visualizzazione e possibilità di generare un file txt; -calcolo liquidazione iva; -pagamento iva e relativa contabilizzazione;

fulcorno commented 7 years ago

L'argomento proposto è adeguato, sia dal punto di vista algoritmico che della rilevanza gestionale. Ci sono però due problemi:

  1. il data set: sarebbe necessario che i dati inseriti siano realistici (anche se non del tutto reali), altrimenti il risultato delle simulazioni sarebbe del tutto inutile. Sarebbe possibile attingere ai dati reali dei gestionali che hai utilizzato, e poi importarli (con le dovute anonimizzazioni)? Altrimenti non capisco come si potrebbero "inserire i dati" (come tu dici) da un programma...
  2. le funzionalità che hai elencato sono estremamente vaste ed estese, e molte di esse trattano operazioni di data entry, ricerca dati, o generazione output. Da un lato, implementare tutte queste funzioni porterebbe ad un progetto troppo grande (rispetto ai 3 crediti). Dall'altro, la maggior parte di queste funzioni sono "banali" dal punto di vista algoritmico, contribuendo ben poco alla difficoltà ed originalità del programma.

Pertanto, ti chiedo di:

fulcorno commented 7 years ago

Hai novità su questa proposta? oppure la vuoi abbandonare?

TiberioConte commented 7 years ago

Rendendomi conto dei problemi da lei sollevati e dell'estrema lunghezza del lavoro, ho deciso di abbandonarla.