The birth and the evolution of the Internet, from 2 million users and 1 Terabyte/ month of traffic in 1990 to over 2 billion users and 10 Terabyte/second of traffic in 2011 has sparked the development of more and more complex, large-scale, data-intensive software applications that provide services to millions and even billions of people. At these magnitudes the efficiency, the reliability, the maintenance and, in general, the quality of such software systems start to become critical success and survival factors. For this reason, a renewed attention to how software systems should be architected to increase their quality and guarantee their correct functionality has arisen, and software engineers and designers have started to rethink the strategies and models adopted for software architectures. In this thesis work we present D_MVC (declarative Model-View- Controller), an architectural pattern for general purpose software applications that is be able to provide models and strategies that tackle the problem of an increasing complexity and scale of software systems and, at the same time, enhance their quality. The D_MVC architectural pattern is discussed in terms of the abstractions it introduces and in terms of the implementation of such abstractions, also in comparison with traditional MVC. The quality impact of these abstractions and implementation is examined, from a theoretical point of view, in terms of maintainability and testability. A discussion about how D_MVC facilitates reliability evaluation and analysis is presented, and a D_MVC - driven strategy for doing so is described. A proof of concept for D_MVC is detailed and examined, and, for this proof of concept, an example of the D_MVC - driven reliability analysis mentioned before is shown along with a metric-based comparative quality evaluation performed on the proof of concept of D_MVC and on an equivalent MVC application.

La nascita e l’evoluzione di Internet da 2 milioni di utenti e 1 Terabyte/mese di traffico nel 1990 a oltre 2 miliardi di utenti e 10 Terabyte/secondo di traffico nel 2011 ha scatenato lo sviluppo di applicazioni sempre più complesse, di larga scala e orientate a gestire grandi quantità di dati, applicazioni che forniscono servizi a milioni o anche miliardi di utenti. A questi ordini di grandezza l’efficienza, l’affidabilità, la manutenibilità e, in generale, la qualità di tali sistemi software iniziano a diventare fattori critici di sopravvivenza ed di successo. Per questo motivo, è sorta una rinnovata attenzione su come i sistemi software dovrebbero essere strutturati per migliorare la loro qualità e garantire il loro corretto funzionamento, e gli ingegneri e progettisti del software hanno iniziato a ripensare le strategie ed i modelli adottati per le architetture software. In questo lavoro di tesi presentiamo D_MVC (declarative Model-View-Controller), un pattern architetturale per applicazioni software di uso generale in grado di fornire modelli e strategie che affrontano il problema di una sempre maggiore complessità dei sistemi software, allo stesso tempo aumentando la loro qualità. Il pattern architetturale D_MVC viene discusso a livello delle astrazioni da esso introdotte e a livello dell’implementazione di tali astrazioni, svillupando anche un confronto con un approccio MVC tradizionale. L’impatto sulla qualità del software prodotto da queste astrazioni e della loro implementazione viene esaminato, dal punto di vista teorico, in termini di manutenibilità e testabilità. Viene presentata una discussione su come D_MVC facilita la valutazione e l’analisi dell’affidabilità, e viene descritta una strategia basata su D_MVC per svolgere tale valutazione ed analisi. Un proof of concept per D_MVC è dettagliato ed esaminato e, per questo proof of concept, viene mostrato un esempio dell’analisi di affidabilità basata su D_MVC citata poc’anzi e una valutazione comparitiva sulla qualità del software basata su metriche, analisi realizzata utilizzando il proof of concept per D_MVC ed un’applicazione equivalente basata su MVC.

D-MVC : an architectural pattern for quality oriented software applications

PEA, GIORGIO
2016/2017

Abstract

The birth and the evolution of the Internet, from 2 million users and 1 Terabyte/ month of traffic in 1990 to over 2 billion users and 10 Terabyte/second of traffic in 2011 has sparked the development of more and more complex, large-scale, data-intensive software applications that provide services to millions and even billions of people. At these magnitudes the efficiency, the reliability, the maintenance and, in general, the quality of such software systems start to become critical success and survival factors. For this reason, a renewed attention to how software systems should be architected to increase their quality and guarantee their correct functionality has arisen, and software engineers and designers have started to rethink the strategies and models adopted for software architectures. In this thesis work we present D_MVC (declarative Model-View- Controller), an architectural pattern for general purpose software applications that is be able to provide models and strategies that tackle the problem of an increasing complexity and scale of software systems and, at the same time, enhance their quality. The D_MVC architectural pattern is discussed in terms of the abstractions it introduces and in terms of the implementation of such abstractions, also in comparison with traditional MVC. The quality impact of these abstractions and implementation is examined, from a theoretical point of view, in terms of maintainability and testability. A discussion about how D_MVC facilitates reliability evaluation and analysis is presented, and a D_MVC - driven strategy for doing so is described. A proof of concept for D_MVC is detailed and examined, and, for this proof of concept, an example of the D_MVC - driven reliability analysis mentioned before is shown along with a metric-based comparative quality evaluation performed on the proof of concept of D_MVC and on an equivalent MVC application.
TAMBURRI, DAMIAN
ING - Scuola di Ingegneria Industriale e dell'Informazione
3-ott-2017
2016/2017
La nascita e l’evoluzione di Internet da 2 milioni di utenti e 1 Terabyte/mese di traffico nel 1990 a oltre 2 miliardi di utenti e 10 Terabyte/secondo di traffico nel 2011 ha scatenato lo sviluppo di applicazioni sempre più complesse, di larga scala e orientate a gestire grandi quantità di dati, applicazioni che forniscono servizi a milioni o anche miliardi di utenti. A questi ordini di grandezza l’efficienza, l’affidabilità, la manutenibilità e, in generale, la qualità di tali sistemi software iniziano a diventare fattori critici di sopravvivenza ed di successo. Per questo motivo, è sorta una rinnovata attenzione su come i sistemi software dovrebbero essere strutturati per migliorare la loro qualità e garantire il loro corretto funzionamento, e gli ingegneri e progettisti del software hanno iniziato a ripensare le strategie ed i modelli adottati per le architetture software. In questo lavoro di tesi presentiamo D_MVC (declarative Model-View-Controller), un pattern architetturale per applicazioni software di uso generale in grado di fornire modelli e strategie che affrontano il problema di una sempre maggiore complessità dei sistemi software, allo stesso tempo aumentando la loro qualità. Il pattern architetturale D_MVC viene discusso a livello delle astrazioni da esso introdotte e a livello dell’implementazione di tali astrazioni, svillupando anche un confronto con un approccio MVC tradizionale. L’impatto sulla qualità del software prodotto da queste astrazioni e della loro implementazione viene esaminato, dal punto di vista teorico, in termini di manutenibilità e testabilità. Viene presentata una discussione su come D_MVC facilita la valutazione e l’analisi dell’affidabilità, e viene descritta una strategia basata su D_MVC per svolgere tale valutazione ed analisi. Un proof of concept per D_MVC è dettagliato ed esaminato e, per questo proof of concept, viene mostrato un esempio dell’analisi di affidabilità basata su D_MVC citata poc’anzi e una valutazione comparitiva sulla qualità del software basata su metriche, analisi realizzata utilizzando il proof of concept per D_MVC ed un’applicazione equivalente basata su MVC.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2017_10_Pea.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Tesi
Dimensione 5.13 MB
Formato Adobe PDF
5.13 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/136041