Case Based Reasoning Matteo Landi - Gaetano Catalli - Davide Barelli
Obiettivi Identificare i rischi associati ad un nuovo progetto Proporre azioni in grado di contrastarli o, in caso di effettiva verifica del rischio, di minimizzare i danni.
Scelte implementative L'applicazione e` stata realizzata utilizzando script in python che generano pagine html e javascript. Il database e` stato gestito attraverso il toolkit SQLAlchemy, mentre il web server scelto e` WebPY.
Fasi di esecuzione Inserimento di un nuovo progetto Creazione dei gruppi di attributi con cui verranno trovate somigliaze con altri progetti nel db Ranking dei progetti estratti Identificazione dei rischi Scelta delle azioni di mitigazione e di recovery Riepilogo delle azioni e risoluzione dei conflitti Durante l'esecuzione del programma verranno presentate all'utente le seguenti schermate:
Inserimento di un nuovo progetto L'utente dovra` compilare un form in cui sono elencati tutti gli attributi del progetto
Creazione dei gruppi La pagina per la creazione dei gruppi permettera` al sistema di valutare la somiglianza del nuovo progetto con quelli presenti nella base di conoscenza. Verranno enfatizzate le analogie rispetto agli attributi presenti nei vari gruppi.
Ranking dei progetti estratti Una pagina visualizzera`, per ogni gruppo di attributi, la lista dei progetti piu` simili presenti nella base di conoscenza ordinati secondo la loro "affinita`". L'utente sara` in grado di selezionare il numero di progetti da tenere in considerazione nell'identificazione dei rischi.
Identificazione dei rischi In questa fase saranno elencati, sempre per ogni lista, i probabili rischi a cui il nuovo progetto potrebbe essere esposto. Per ogni rischio verranno inoltre indicate le cause, gli effetti, le probabilita` di accadimento e impatto. L'utente potra` rimuovere manualmente i rischi che ritiene inopportuni, oppure modificare gli attributi.
Scelta delle azioni di mitigazione e di recovery Per ogni lista saranno presentate le azioni da effettuare per ogni rischio. Saranno selezionate solo azioni con stato chiuso e trend positivo. L'intensita` verra` adattata con una media pesata sulla somiglianza tra i progetti e il grado di positivita` del trend. L'utente potra` scegliere le azioni da effettuare.
Riepilogo delle azioni e risoluzione dei conflitti In questa fase verra` mostrata una schermata di riepilogo con le azioni precedentemente selezionate. Verranno segnalate eventuali discordanze.
Aggiornamento della base di dati Se le modifiche dell'utente superano una certa soglia, il nuovo progetto sara` inserito nella base di dati. I campi che verranno presi in considerazione per stabilirlo sono: probabilita` di accadimento impatto