Università degli studi di Catania
Tecniche di data mining per stimare l'effort nei progetti software
Abstract
dc:descriptionCon il passare degli anni si è dato sempre più importanza all'effort impiegato per lo sviluppo di un progetto software. Stimare l'effort impiegato in un processo di sviluppo è una delle principali sfide tra le attività dell'ingegneria del software. Il suo scopo è quello di prevenire intoppi e ritardi nella creazione del software durante il processo di sviluppo. Nelle fasi iniziali dei processi detti agili, una corretta stima dell'effort aiuta a determinare quali task possono essere risolti o completati nel minor tempo possibile. Tuttavia, la stima dei requisiti e competenze può essere un compito complesso per gli stessi sviluppatori e c’è sempre il rischio di effettuare stime errate. Studiare l'andamento dell'effort impiegato nel processo di sviluppo è un elemento chiave per monitorare l’andamento progressivo di un team. Gli approcci più comuni per stimare l'effort complessivo di un progetto si basano sull’analogia di precedenti progetti software e sul giudizio degli esperti nel settore. Pochi sono però gli strumenti che assistono i project manager per misurare l'effort impiegato dai loro team di sviluppo. I software repository sono un supporto prezioso per grandi team che lavorano insieme a un progetto. Oltre al codice, un repository include dati utili relativi alle pratiche e funzionalità che meglio identificano gli sviluppatori che stanno dietro al progetto. Questa tesi presenta nuovi approcci e metriche basati su dati estratti dai repository e relativi al processo di sviluppo del software al fine di meglio profilare l’attività dei ogni programmatore. Mentre le aziende, attraverso l'acquisizione dei log data dei dipendenti, riescono a ottenere informazioni utili per stimare fattori come: quanto effort sarà necessario per completare un determinato progetto e quanto tempo ci vorrà; in un repository open source tali informazioni spesso non sono presenti. L'obiettivo delle metriche proposte è quello di rivelare l'effort degli sviluppatori, al fine di evidenziare punti di forza e debolezze nell'approccio utilizzato, e conseguentemente suggerire possibili miglioramenti. Inoltre, le metriche proposte possono essere facilmente integrate nell’ambiente di sviluppo abituale, senza influire sul processo di sviluppo. L’analisi sopra descritta può essere eseguita sia durante la fase di implementazione di nuovi componenti e funzionalità del software, sia successivamente, quando lo sviluppo dell’applicazione è completato.
Degree
thesis:*- Grantor dc:publisher
- Università degli studi di Catania
- Year dc:date
- 2024
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- PELONERO, LEONARDO
- Contributors dc:contributor
-
- TRAMONTANA, EMILIANO ALESSIO
Subjects
dc:subject × 19Rights
dc:rights- Statement dc:rights
-
- info:eu-repo/semantics/openAccess
- license:PUBBLICO - Pubblico con Copyright
- license uri:iris.PUB02
- Language dc:language
- ita
Identifiers
dc:identifier.*- Handle dc:identifier
- https://hdl.handle.net/20.500.11769/598190
- OAI identifier oai:identifier
- oai:www.iris.unict.it:20.500.11769/598190