Progetto Ingegneria del Software
Realizzato da:
Bravi Lorenzo
D’Amico Santino
Lillini Christian
Ingegneria del Software

L’obiettivo del progetto è la creazione di un
software per la gestione di un magazzino
calzaturiero.
Ingegneria del Software








Gestire l’anagrafica degli articoli in magazzino e
dei terzi;
Organizzare la giacenza di materie prime,
semilavorati e prodotti finiti (stoccaggio);
Gestire Ordini di prodotti finiti da parte del
cliente;
Gestire Conto lavorazione;
Gestire merce in ingresso;
Gestire merce in uscita con emissione di
documenti di accompagno;
Inventario;
Accesso multiutente.
Ingegneria del Software

Gli articoli presenti in magazzino possono
essere suddivisi in tre tipologie:
◦ Materie Prime
◦ Semilavorati
◦ Prodotti finiti

I terzi sono costituiti da:
◦ Fornitori di materie prime
◦ Terzisti per contolavorazioni
◦ Clienti per vendita di prodotti finiti
Ingegneria del Software


Nel contesto applicativo, la giacenza degli
articoli è soggetta alla moltitudine di taglie
esistenti.
Alcuni articoli presentano una giacenza
associata ad ogni taglia oltre che una
giacenza complessiva.
Ingegneria del Software





I clienti ordinano prodotti finiti
L’ordine cliente deve essere immesso nel
software
Si verifica la giacenza dei prodotti in
magazzino
Se la giacenza non fosse sufficiente i prodotti
mancanti dovranno essere lavorati
Completata la lavorazione, la merce può
essere spedita al cliente.
Ingegneria del Software


Le lavorazioni possono essere effettuate
internamente o esternamente. In tal caso si
parla di contolavorazione
Al terzista dovranno essere inviati tutti i
materiali necessari alla lavorazione. L’elenco
di tali materiali sarà contenuto nel buono di
prelievo (generato automaticamente).
Ingegneria del Software


Tutti i documenti di accompagno devono
essere registrati all’interno del software al
fine di gestire opportunamente la giacenza.
In caso di incongruenze tra merce in arrivo e
merce ordinata dovrà essere fornita
opportuna segnalazione
Ingegneria del Software



Ogni merce in uscita dal magazzino deve
essere registrata tramite un documento di
accompagno
Il software permette di stampare i documenti
emessi.
L’emissione dei documenti di accompagno
deve gestire opportunamente la giacenza.
Ingegneria del Software


In qualsiasi momento si deve dare la
possibilità di stampare l’inventario del
magazzino con la relativa valorizzazione.
A tempo debito è possibile salvare
l’inventario di fine anno.
Ingegneria del Software

L’accesso al software è differenziato secondo
3 tipologie di utenti predefiniti:
◦ Amministratore
◦ Commerciale
◦ Magazziniere.

Deve essere previsto un assegnamento
dinamico dei permessi agli utenti.
Ingegneria del Software


Tutti i dati del software vengono memorizzati
in un database MySQL
L’architettura del software è di tipo clientserver. Il client è realizzato come Java
Application, mentre il server è implementato
come Web Service eseguito in Tomcat.
Ingegneria del Software



Durante lo sviluppo del progetto sono state
riscontrate alcune problematiche dovute ad
una non completa conoscenza del problema.
Arrivati ad una fase avanzata di progettazione
è stato necessario approfondire alcuni aspetti
dell’analisi dei requisiti perché non
sufficientemente dettagliati.
Tali mancanze non hanno compromesso gli
scenari ed i flussi, ma solamente l’analisi
orientata ai dati, pertanto è stato necessario
ridefinire alcune classi e proprietà.
Ingegneria del Software

Problema:
◦ La giacenza per alcune tipologie di articoli presenti
in magazzino non può essere rappresentata da una
proprietà semplice (valore numerico).
◦ Ad esempio, rappresentare la giacenza di una
scarpa con un numero non è soddisfacente, dato
che non fornisce indicazioni sulla giacenza di ogni
taglia.

Possibili soluzioni:
◦ Creare in anagrafica un articolo per ogni taglia della
scarpa.
◦ Rappresentare la giacenza come un oggetto
(soluzione scelta).
Ingegneria del Software

Problema:
◦ In fase di analisi, non sono stati previsti metodi per
il caricamento di tutti i dati presenti nel database
relativi ad un oggetto (ad esempio tutti i clienti).

Possibili soluzioni:
◦ Implementare una classe che modella la tabella del
database e funge da contenitore di oggetti dello
stesso tipo (classi Archivio).
Ingegneria del Software

Problema

Possibili soluzioni
◦ In fase di analisi, l’architettura client-server è stata
trascurata perché considerata come un dettaglio
strettamente implementativo.
◦ In fase di realizzazione, il software presentava una
architettura non distribuita che non soddisfaceva i
requisiti.
◦ Divisione del progetto software in una applicazione Java
che rappresenta il Client e un Dynamic Web Project che
rappresenta il Web-Service.
◦ Spostare i metodi che prevedono un accesso al DB delle
classi Archivio dal client al web service. Nel client, tali
metodi sono stati sostituiti con delle chiamati al Web
Service.
Ingegneria del Software
Scarica

Gestione Magazzino