Tesi



Sono disponibili argomenti per 

tesi triennali e specialistiche

(anche con possibilità di stage presso aziende)

Sviluppo di uno stumento per la specifica dei requisiti con il metodo dei Problem Frames

Il metodo dei Problem Frames permette di migliorare sensibilmente le prime fasi di sviluppo di u progetto (analisi e specifica). nfatti i PF guidano l'utente nella descrzione del problema da risolvere, condizione essenziale per il successo dello sviluppo. Finora il metodo dei PF è stato applicato senza il supporto di unop strumento automatizzato. L'obiettivo della tesi consiste nello sviluppo di uno strumento che assista l'utente nella rappresentazione del dominio del problema e dei requisiti in conformità col metodo dei PF.

Lo strumento non sarà un semplice editor, ma dovrà permettere la produzione di modell dei requisiti coerenti con la semantica dei PF.

Lo strumento sarà sviluppato in Java, dovrà funzionare sia in Linux che in Windows e sarà rilasciato con licenza open source.


Riferimenti

[1]   Jackson, M., Problem Frames - analysing and structuring software development problems, Addison-Wesley ACM Press, 2001.

[2]     Problem Analysis and the Problem Frames Approach




Estensione/evoluzione di stumenti per la misurazione di software e modelli object-oriented

Negli anni scorsi il gruppo di ricercatori dell'Università dell'Insubria che si interessa di metriche software ha sviluppato alcuni tool di supporto pe le attività di misurazione del software.
Tra questi i più significativi sono uno strumento per la creazione di piani di misura secondo il metodo GQM e uno strumento er la misurazione integrata di codice Java e modelli UML, basato su un database XML.
Sono ora necessari un certo numero di interventi per estendere o adattare tali strumenti. In particolare si sono individuati i seguenti interventi:
  1. Sostituzione del modulo di conversione da Java a XML, ora basato sul parser JavaML. Scopo del lavoro è rendere il nostro strumento indipendente da JavaML, in modo d essere in grado da poter adattare lo strumento ad eventuali nuove versioni del linguaggio Java.
  2. Sostruzione di uno strumento per la conversione di modelli UML da un dialetto di XMI ad un alro.  Scopo del lavoro è rendere lo strumento di misura applicabile ai modelli prodotti mediante editor UML diversi. In questo casil lavoro potrebbe dar luogo ad un programma utilizzabile in mdalità batch, indipendente dagli strumenti di misura.
  3. Introduzione del supporto a linguaggi diversi da Java e UML, in particolare C++ e SysML. Scopo del lavoro è produrre uno o più moduli per la conversione da linguaggi correntemente non supportati in XML, in modo da rendere i semilavorati scitti con tali linguaggi misurabili. 
  4. Costruzione di un'interfaccia utente amichevole per lo strumento di misurazione di software e modelli object-oriented.
  5. Integrazione dello strumento di misurazione con o strumento di preparazione dei piani di misura.
  6. Adattamento dello strumento per la gestione dei piani d misura GQM in modo che possa utilizare il database XML delle metriche utilizzato dallol strumento di misura.
  7. Estensione dello stumento per la misurazione di applicazioni in domini specifici. In particolare si pensa alle applicazioni Web. Per tale scopo bisogna adeguare lo trumento alla misura di linguaggi tipici del web (HTML, php, Python, ...).
Ciascuno degli argomenti elencati può dar luogo ad un lavoro di tesi.

Riferimenti

[1]    L. Lavazza e A. Agostini, “Automated Measurement of UML Models: an open toolset approach”, Journal of Object Technology, vol. 4, no. 4, Maggio-Giugno 2005.

[2]   L. Lavazza e G. Barresi, “Automated Support for Process-aware Definition and Execution of Measurement Plans”, International Conference on Software Engineering ICSE 2005, St. Louis, Missouri, Maggio 2005.

[3]   A.F. Crisà, V. del Bianco, L. Lavazza, “A tool for the measurement, storage, and pre-elaboration of data supporting the release of public datasets”, Workshop on Public Data about Software Development (WoPDaSD 2006), nell’ambito di The Second International Conference on Open Source Systems, 10 Giugno 2006, Como.


Introduzione del supporto agli stereotipi per Service-Oriented Architecture (SOA) nello strumento Star UML

La modellazione di sistemi software realizzati mediante SOA richiede l'utlizzo di una specializzazione di UML in grado di rappresentare adeguatamente i concetti tipici della SOA. Benché un profilo di UML per SOA sia stato definito, mancano strumenti open source che implmentino tale profilo. Scopo del lavoro proposto è la realizazione di un profilo SOA per lo strumento Star UML. Star UML dispone di un meccanismo per la definizione di profili piuttosto potente, che verrà quindi usato per questo lavoro. 

Riferimenti


Luciano Baresi, Reiko Heckel, Sebastian Thöne, Dániel Varró
, A UML-Profile for Service-Oriented Architectures




Definizione di misure per requisiti, con particolare riferimento a Problem Frames

Nella gestione dei progetti software sarebbe estremamente utile poter disporre di misure relative ai requisiti, che siano in grado di rappresentare le dimensioni del sistema nelle primissime fasi dello sviluppo. A questo scopo ci si propone di mettere a punto una tecnica (eventualmente supportata da strumenti) per la misurazione di Problem Frames.
La natura del lavoro è principalmente teorica, trattandosi di definire quali metriche siano adatte a rappresentare meglio le caratteristiche dei PF.

Riferimenti

[1]   Jackson, M., Problem Frames - analysing and structuring software development problems, Addison-Wesley ACM Press, 2001.

[2]     Problem Analysis and the Problem Frames Approach




Definizione e sperimentazione di tecniche per l'applicazione dei Problem Frames nella pratica industriale di sviluppo software

Lo sviluppo di software ce utilizza PF per l'analsi e la specifica dei requisiti potrebbe essere reso più agevole dalla disponibilità di conoscenze e tcniche specifiche. A questo scopo si propongono le seguenti attività (ciascuna delle quali potrebbe dar luogo ad un lavoro di tesi):

  1. Modellazione mediante PF di un sistema reale. In partcolare si modellerà un sistema per il monitoraggio del trasporto di merci pericolose,  attualmente in fase di sviluppo.,
  2. Utilizzo di SysML (una estensione di UML) in congiunzione con problem frames. L'idea è di vedere come sia possibile favorire la transizione dal modello PF ad un modello SysML, o viceversa come si possa integrare i concetti dei PF direttamente in SysML, in modo che lo sviuppatore usi un metodo evoluto (PF) nell'ambito della modellazione mediante strumenti di forza industriale (SysML).
  3. Definizione di un profilo UML per PF. L'integrazione dei concetti dei PF in UML è già stata studiata, generando delle linee guida per l'uso dei principi dei PF nell'ambito della modellazione mediante UML. Si tratta ora didefinire un profilo UML che agevoli questa pratica.  Eventualmente la definizione teorica potrà essere accompagnata dalla definizione del profilo in uno strumento UML, in particolare in Star UML.
Riferimenti

[1] L. Lavazza e V. Del Bianco, “A UML-based Approach for Representing Problem Frames”, 1st International Workshop on Advances and Applications of Problem Frames (IWAAPF), 24 Maggio 2004, Edinburgo. Proceedings published by the IEE.

[2] L. Lavazza e V. Del Bianco, “Combining problem frames and UML in the description of software requirements”. Fundamental Approaches to Software Engineering (FASE06), 25 Marzo-2 Aprile 2006, Vienna, Austria.

[3] V. del Bianco e L. Lavazza, “Enhancing Problem Frames with Scenarios and Histories: a Preliminary Study”, 2nd International Workshop on Advances and Applications of Problem Frames (IWAAPF), 23 Maggio 2006, Shanghai. Proceedings published by the IEE.


Attività di misurazione ed analisi

Il progetto Qualipso (Quality Platform for Open Source Software) ha lo scopo di mettere a punto metodologie e strumenti per valutare e per garantire la “trustability” di software open source. Cioè in sostanza si tratta di aiutare i potenziali utenti e sviluppatori innanzitutto a valutare se un dato programma open source offra le dovute garanzie rispetto a questioni legali, adeguatezza rispetto ai modelli di business, qualità software, adeguatezza rispetto al processo di sviluppo, ecc. In secondo luogo, Qualipso svilupperà un supporto metodologico e tecnologico atto a garantire l’effettivo raggiungimento delle qualità citate.

La parte di progetto cui collabora l’Università dell’Insubria riguarda la valutazione delle qualità software.

Tra le attività che possono essere affidate almeno in parte agli studenti ci sono:

  1. Ricerca sul web e presso i vari sviluppatori di software open source che si presti alla misurazione degli aspetti ritenuti interessanti (codice, modelli, casi di test, problem report, ecc.). L’attività implica l’approfondimento delle conoscenze relative alle relazioni esistenti tra le qualità dei diversi semilavorati SW, l’utilizzo di repository di codice e semilavorati vari (eventualmente sistemi di configuration management), possibilmente l’impiego di tecniche di data mining, ecc.
  2. Esecuzione delle misurazioni. L’attività richiede la conoscenza delle varie metriche software applicabili ai semilavorati disponibili, e l’uso degli strumenti di misurazione. Eventualmente questa attività potrà portare a definire requisiti per gli sviluppatori degli strumenti di misura.
  3. Analisi delle misure. L’attività implica la conoscenza delle metriche e del loro significato, e l’uso di concetti e strumenti di statistica.

Riferimenti

[1]    V. Del Bianco e L. Lavazza, “An Empirical Assessment of Function Point-Like Object-Oriented Metrics”, METRICS 2005, 11th International Software Metrics Symposium, 19-22 Settembre 2005, Como.

[2]    V. Del Bianco e L. Lavazza, "An Assessment of Function Point-Like Metrics for Object-Oriented Open-Source Software" sottomesso a mensura 2006.

 

  
 


UML per la rappresentazione del deployment e dei sistemi a run-time

 Il linguaggio UML è stato utilizzato con successo nelle fasi di analisi e progettazione. Viceversa esistono dubbi circa la sua efficacia nella rappresentazione del deployment (quali semilavorati vanno su quali processori, processi, ecc.) e della situazione a run-time (descrizione dei processi e dei task, e dei programmi eseguiti). L'attività proposta consiste nella modellazione di sistemi casi reali o realistici, relativamente agli aspetti di deployment e alla situazione run-time.

 

  
 

Uso di SysML per la realizzazione di sistemi real-time

SysML è stato proposto come estensione di UML per affrontare gli aspetti sistemici di modelli che comprendono non solo software ma anche altri tipi di pparati.Questo è spesso il caso dei sistemi real-time, in cui il software coopera strettamente con sensori, attuatori, ecc. Per cnsentire un'utilizzo efficace di SysML nella modellazione di sistemi real-time è opportuno effettuare una serie di attività:
  1. Sperimentazione di SysML nella modellazione di un insieme di esempi di sstemi real-time. L'attità proposta ha lo scopo di evidenziare eventuali limiti del linguaggio, suggerendo quindi opportuni interventi di estensione e/o adattamento.
  2. Formalizzazione di SysML. È noto che SysML è definito in modo informale, il che rende problematica l'interpretazione dei modelli da parte di programmi automatici di analisi e manipolazione dei modelli (ad es. model checker, generatori di codice, generatori di asi di test, ecc.). Si pone quindi il problema di formalizzare la definizione di SysML, dotando il linguaggio di una semantica formalmente definita e univoca, adatta all'elaborazione automatica. Questa attività, essenzialmente teorica, avverrebbe incollaborazione con ricercatori dell'università dell'Insubria e/o delPolitecnico di Milano che si occupano dei lnguaggi logici particolarmente adatti a fornire una base teorica per la formlizzazione di SysML.
  3.  Integrazione di SysML con metodi formali. L'attività prevede di esplorare la possibilità di applicare a modelli SysML strumenti che implmentano metodi formali. Un primo caso che si intende esplorare è la possibilità di inserire nei modelli UML delle aqnnotazioni (più o meno formali) che consentano la generazione di codice "instrumentato" per tracciare l'esecuzione in modo da verificare il rispetto dei vincoli real-time. 


 Gestione avanzata di versioni e configurazioni

Gli strumenti per la gestione delle versioni e delle configurazioni software attuali tendono a lavorare a livello di file, ignorando il contenuto dei file stessi. Negli anni scorsi, i ricercatoridell'Università dell'Insubria hanno costruito un prototipo parziale d uno strumento che gestisce versioni e configurazioni software in modo evoluto. La forza delo strumento cnsiste nel fatto che i semilavorati sono memorizzati come file XML, la cui struttura e significato sono noti allo strumento, che è quindi in grado di "ragionare" sul contenuto. Lo strumento è basato su un DB XML ed è facilmente integrabile con gli strumenti di sviluppo che usano XML per l'input/output (ad es, gli strumenti per l'editing di UML che usano XMI).

Scopo del lavoro di tesi proposto è di far evolvere il prototipo attuale (largamente incopleto) fino ad un livello che e consenta l'usabilità pratica.



Per ulteriori dettagli rivolgersi al prof. Luigi Lavazza.

Tel: 0332-218930 o 02-23954258

e-mail: luigi.lavazza [at] uninsubria.it o lavazza [at] cefriel.it

 
Home