Caso d'uso nel settore edile
Raccolta dei bisogni
Il signor Dupont possiede una società di costruzioni. Vuole sviluppare un'applicazione per digitalizzare la sua attività. Per fare ciò, si rivolge alla soluzione di back office.
Il signor Dupont è particolarmente desideroso di potenziare il suo sistema azionario. Oggi, tutto viene salvato su file di fogli di calcolo.
L'azienda del signor Dupont gestisce le scorte di parti utilizzate per la manodopera. Quando un pezzo scende al di sotto di una certa soglia di quantità, viene effettuato un ordine.
Il signor Dupont vuole anche seguire l'andamento dei suoi progetti e avere una visione d'insieme.
Implementazione
Offriamo un modello di applicazione al signor Dupont per soddisfare le sue esigenze.
Il nostro schema è composto da 5 entità:
- Movimento cantieri (Construction site movement)
- Movimento di magazzino (Stock movement)
- Ordine (Order)
- Cantiere (Construction site)
- Parte (Part)
Movimento di cantiere (Construction site movement)
Questa entità viene utilizzata per elencare i movimenti dei lavoratori (user) nei cantieri. L'implementazione di due attributi a partire dal (start_at) e termina il (end_at) del tipo Data e ora (Datetime) renderà possibile offrire una visualizzazione del calendario al signor Dupont.
Parte (Part)
Questa entità consente di elencare le parti (Part) disponibili per i cantieri. Una parte ha un riferimento (reference), una quantità (reference) e un prezzo (price).
Cantiere (Construction site)
Un cantiere ha un attributo posizione (location), un attributo documenti (documents) e un campo virtuale costo (cost) la cui funzione è SUM($stock_movements.cost)
. Questa funzione serve a calcolare la somma dei costi dei movimenti di magazzino.
Ordine (Order)
Un ordine ha un attributo quantità (quantity) e un campo virtuale costo (cost) la cui funzione è $part.price * $quantity
. Questa funzione consente di calcolare il costo di un ordine.
Un ordine ha anche due grilletti:
- un dopo la creazione la cui funzione è
$part.quantity += $quantity
- un dopo la cancellazione la cui funzione è
$part.quantity -= $quantity
Entrambi questi grilletti vengono utilizzati per aggiornare la quantità della parte associata dopo l'aggiunta o la rimozione.
Movimento di magazzino (Stock movement)
Un movimento di magazzino ha un attributo quantità (quantity) e un campo virtuale costo (cost) la cui funzione è $part.price * $quantity
. Questa funzione viene utilizzata per calcolare il costo di un movimento di magazzino.
Un movimento magazzino ha due grilletti:
- un dopo la creazione la cui funzione è
$part.quantity += $quantity
- un dopo la cancellazione la cui funzione è
$part.quantity -= $quantity
Entrambi questi grilletti vengono utilizzati per aggiornare la quantità della parte associata dopo l'aggiunta o la rimozione.
Gestione
Per avere una panoramica della sua attività, suggeriamo al signor Dupont di creare metriche e grafici.
Metriche
Il signor Dupont vuole essere avvisato quando una parte scende al di sotto di una soglia di quantità di 10. A tale scopo, viene creata la metrica associata.
Minimo di quantità di parti
Attributo | Valore |
---|---|
Aggregato | Minimo |
Data | Parte |
Attributo | Quantità |
Comparatore | Minore di |
Soglia di allerta | 10 |
Grafici
Il signor Dupont vuole gestire l'evoluzione dei costi della sua attività. Per fare ciò, aggiungiamo due grafici alla dashboard principale per monitorare i costi dei movimenti di magazzino e degli ordini per mese precedente.
Somma dei costi di movimento di magazzino per mese
Attributo | Valore |
---|---|
Tipo | Istogramma |
Aggregato | Somma |
Data | Ordine |
Attributo di ordinata | Costo |
Attributo sulle ascisse | Mese |
Somma dei costi dell'ordine per mese
Attributo | Valore |
---|---|
Tipo | Istogramma |
Aggregato | Somma |
Data | Movimento di magazzino |
Attributo di ordinata | Costo |
Attributo sulle ascisse | Mese |