4 resultados para Processo de desenvolvimento do software
em AMS Tesi di Laurea - Alm@DL - Universit
Resumo:
L'attuale processo di sviluppo del software è abbastanza lontano dai canoni di sistematicità e correttezza propri di altre aree dell'ingegneria. L'obiettivo di questa Tesi è quello di fornire metodologie e strumenti realmente ingegneristici per la costruzione del software, attraverso l'introduzione di linguaggi general purpose per l'analisi e la progettazione, di robustezza industriale e con semantica formalmente definita. A partire da frasi corrette in tali linguaggi, le quali costituiscono a tutti gli effetti modelli di sistemi software, ci si propone la completa generazione del codice corrispondente.
Resumo:
Il lavoro svolto si concentra sullo studio e lo sviluppo dei sistemi software per la gestione dei big data. Inizialmente sono stati analizzati i settori nei quali i big data si stanno diffondendo maggiormente per poi studiare l'ingegnerizzazione e lo sviluppo dei sistemi in grado di gestire questo tipo di dati. Sono state studiate tutte le fasi del processo di realizzazione del software e i rischi e i problemi che si possono incontrare. Infine è stato presentato un software di analisi di big data: Google BigQuery.
Resumo:
L'obbiettivo della tesi è quello di sviluppare una semplice web application per la creazione di fatture. La caratteristica principale è l'integrazione delle funzionalità di Google Drive permettendo all'utente di archiviare e condividere con pochi click le fatture con i clienti. L'utente potrà creare, personalizzare, salvare, archiviare e condividere le proprie ricevute in tempo reale. In questo documento verrà analizzato il processo di sviluppo del software che comprenderà: analisi dei requisiti, progettazione, sviluppo (scelte implementative), test e sviluppi futuri. Verranno anche documentate le tecnologie utilizzate al fine di raggiungere il prodotto finale.
Resumo:
Il processo di sviluppo di un’applicazione comprende più fasi, ognuna strettamente correlata alle altre. Una delle fasi di questo processo è il rilascio del software, che consiste nel rendere disponibile agli utenti l’applicazione caricandone l’eseguibile su un server, sul quale verrà poi eseguita. Per un’azienda di sviluppo software è particolarmente importante automatizzare e standardizzare il processo di rilascio del software, allo scopo di renderlo più veloce e di diminuire il tempo che intercorre fra una modifica e il momento in cui questa viene effettivamente resa disponibile per gli utenti, ottimizzando infine l’impegno degli sviluppatori. La presente tesi descrive l’implementazione di un sistema di Continuous Integration e Continuous Deliveliry scalabile su una software house con più di 900 dipendenti suddivisi in decine di team, ognuno dei quali ha in carico lo sviluppo di vari software. Le applicazioni realizzate dai team sono generalmente microservizi in esecuzione all’interno di container su piattaforma Kubernetes. Sono state quindi valutate le varie alternative per la realizzazione di questo sistema, analizzandone pro e contro, scegliendo infine GitLab per la parte di Continuous Integration e ArgoCD per la parte di Continuous Deployment. Nei vari capitoli viene quindi analizzata l’infrastruttura esistente e vengono illustrati i vantaggi e svantaggi delle varie soluzioni considerate. Per i due software selezionati viene invece descritto il lavoro svolto, con dettagli sul funzionamento del sistema e la configurazione necessaria per il corretto funzionamento dell’intero processo. La soluzione realizzata effettua build, test, code validation e deploy delle applicazioni seguendo un pattern GitOps, con un repository git contenente la configurazione attuale delle applicazioni, permettendo rollback in caso di problematiche e garantendo un alto livello di sicurezza attraverso il mantenimento dello storico della configurazione e della versione delle applicazioni.