Il presente elaborato descrive l'attività di analisi e riprogettazione di "Bytes", il software gestionale dell'azienda M31. Essendo un sistema legacy con alle spalle vent'anni di continue modifiche, il programma risultava ormai lento nei caricamenti, molto complesso da mantenere e pieno di funzionalità che nessuno usava più. L'obiettivo del tirocinio era quindi definire delle fondamenta solide e scalabili in vista della futura riscrittura dell'applicativo. Innanzitutto, era fondamentale capire a fondo il software. Per farlo, si è proceduto su più fronti. Il primo è stato configurare l'ambiente in locale, sfida che ha richiesto di studiare e implementare Docker da zero. Il secondo ha riguardato le interviste ai referenti dei vari reparti, un confronto con gli stakeholder indispensabile per capire l'uso reale del gestionale e decidere cosa scartare. Infine, si è passati al reverse engineering direttamente sul codice per capire tutte quelle funzioni di cui nessuno sapeva nulla, dato che parte dei creatori del codice non lavoravano più lì, questo ha portato a dover imparare le basi del funzionamento di Ruby on Rails, su cui si basava il sistema. Parallelamente a tutto questo, è iniziato lo studio di Go, il linguaggio scelto per sviluppare il nuovo backend. Per la nuova architettura col tutor abbiamo deciso di usare un approccio Modular Monolith. Questo permette di raggruppare i moduli ma lascia comunque indipendenti quelli più importanti. Le interazioni tra le diverse parti le ho schematizzate graficamente usando Excalidraw, scendendo poi nel dettaglio dei moduli principali attraverso la creazione dei diagrammi UML per i vari casi d'uso. Alla fine, tutto il lavoro di indagine è confluito in un documento di analisi dei requisiti. Al suo interno, gli use case e i requisiti sono stati elencati e separati per modulo. L'elaborato contiene anche una tabella che riassume i problemi e i miglioramenti proposti internamente all'azienda. In questo modo si lascia ai futuri sviluppatori una base chiara e pronta all'uso per iniziare a programmare il nuovo gestionale.
Analisi e riprogettazione architetturale di un software gestionale
BELLONI, EMILIO
2025/2026
Abstract
Il presente elaborato descrive l'attività di analisi e riprogettazione di "Bytes", il software gestionale dell'azienda M31. Essendo un sistema legacy con alle spalle vent'anni di continue modifiche, il programma risultava ormai lento nei caricamenti, molto complesso da mantenere e pieno di funzionalità che nessuno usava più. L'obiettivo del tirocinio era quindi definire delle fondamenta solide e scalabili in vista della futura riscrittura dell'applicativo. Innanzitutto, era fondamentale capire a fondo il software. Per farlo, si è proceduto su più fronti. Il primo è stato configurare l'ambiente in locale, sfida che ha richiesto di studiare e implementare Docker da zero. Il secondo ha riguardato le interviste ai referenti dei vari reparti, un confronto con gli stakeholder indispensabile per capire l'uso reale del gestionale e decidere cosa scartare. Infine, si è passati al reverse engineering direttamente sul codice per capire tutte quelle funzioni di cui nessuno sapeva nulla, dato che parte dei creatori del codice non lavoravano più lì, questo ha portato a dover imparare le basi del funzionamento di Ruby on Rails, su cui si basava il sistema. Parallelamente a tutto questo, è iniziato lo studio di Go, il linguaggio scelto per sviluppare il nuovo backend. Per la nuova architettura col tutor abbiamo deciso di usare un approccio Modular Monolith. Questo permette di raggruppare i moduli ma lascia comunque indipendenti quelli più importanti. Le interazioni tra le diverse parti le ho schematizzate graficamente usando Excalidraw, scendendo poi nel dettaglio dei moduli principali attraverso la creazione dei diagrammi UML per i vari casi d'uso. Alla fine, tutto il lavoro di indagine è confluito in un documento di analisi dei requisiti. Al suo interno, gli use case e i requisiti sono stati elencati e separati per modulo. L'elaborato contiene anche una tabella che riassume i problemi e i miglioramenti proposti internamente all'azienda. In questo modo si lascia ai futuri sviluppatori una base chiara e pronta all'uso per iniziare a programmare il nuovo gestionale.| File | Dimensione | Formato | |
|---|---|---|---|
|
Belloni_Emilio.pdf
accesso aperto
Dimensione
618.95 kB
Formato
Adobe PDF
|
618.95 kB | Adobe PDF | Visualizza/Apri |
The text of this website © Università degli studi di Padova. Full Text are published under a non-exclusive license. Metadata are under a CC0 License
https://hdl.handle.net/20.500.12608/114177