Resumen:
|
[EN] The Requirements Engineering (RE) activity is crucial in software engineering. A failure when defining the requirements of a system could increase the costs of the entire product development process. This problem is ...[+]
[EN] The Requirements Engineering (RE) activity is crucial in software engineering. A failure when defining the requirements of a system could increase the costs of the entire product development process. This problem is even more critical in the Software Product Lines (SPL) development, since the definition and specification of requirements must deal with a new dimension: requirements variability. Requirements variability is specified during the domain engineering process, in which variability points are defined so as to distinguish which requirements will be common, and which will be variable. These variability points are resolved during an application engineering activity called requirements derivation in order to obtain the requirements for a specific product.
Another paradigm that is widely applied in SPL Development is Model-Driven Software Development (MDSD). MDSD can reduce production costs by increasing software reuse. Despite this fact, the RE approaches for SPL found in literature have some weaknesses. Many of the current approaches represent the variability information in the requirements models, thus reducing the requirements' readability. Moreover, the RE approaches for SPL used during application engineering are normally limited to deriving the product requirements from the SPL requirements and do not indicate how to represent non-existent requirements in the SPL: the delta requirements. This has an undesirable effect on the flexibility of the approaches.
The aim of this thesis is to define and validate an RE approach in the context of SPL that will support the definition and specification of the requirements of an SPL, allowing them to be derived from the requirements of a product using the MDSD paradigm, and also supporting the definition and specification of delta requirements.
In this context, we have defined a process called FEDRE. During domain engineering, strategy definition and requirements specification obtained from model features are used. During application engineering, the derivation and validation of product requirements ensure that requirements meet customer needs. The necessary delta requirements could be specified, when they will be required, with the aim to prevent that product requirements are limited to a mere combination of LPS requirements.
Moreover, a technological approach based on a MDSD strategy was defined. During domain engineering, the variability of the SPL and the requirements variability are represented as multi-model views, and traceability relationships are established among them. During application engineering, the productconfiguration is defined and the requirements of the product to be built are derived using a strategy based on model transformations.
The process proposed in FEDRE has been validated using two quasi-experiments. In the first quasi-experiment, the SPL requirements were specified with the aim of validating the FEDRE domain engineering guidelines. According to the results, FeDRE was perceived as easy to use and useful as regards specifying the requirements for an SPL. In the second quasi-experiment, the requirements of a product were validated with the aim of verifying whether the customer needs where covered. In the case of their not being covered, the participants specified the delta requirements. Most of the subjects were able to correctly identify what needs were covered and which requirements had to be added as delta requirements.
This dissertation contributes to the field of development of SPL by providing a process and technology, along with an automated and generic approach with which to define and specify requirements in SPL environments.
[-]
[ES] La actividad de Ingeniería de Requisitos (IR) resulta crucial dentro de la ingeniería del software. Un fallo durante la definición de los requisitos de un sistema puede provocar sobrecostes durante todo el proceso de ...[+]
[ES] La actividad de Ingeniería de Requisitos (IR) resulta crucial dentro de la ingeniería del software. Un fallo durante la definición de los requisitos de un sistema puede provocar sobrecostes durante todo el proceso de desarrollo. Este problema se acentúa aún más en el desarrollo de Líneas de Producto Software (LPS) debido a que la definición y especificación de los requisitos deben de tratar con una nueva dimensión: la variabilidad de los requisitos. Esta variabilidad de los requisitos de la LPS se específica durante el proceso de ingeniería del dominio, donde se definen los puntos de variabilidad que permiten diferenciar qué requisitos serán comunes y cuáles serán variables. Estos puntos de variabilidad se resuelven durante el proceso de ingeniería de la aplicación para obtener los requisitos de un producto específico, en la actividad llamada derivación de requisitos.
Otro paradigma ampliamente aplicado en las LPS es de Desarrollo de Software Dirigido por Modelos (DSDM). El DSDM puede reducir costes de producción, gracias al aumento de la reutilización de software. Sin embargo las aproximaciones actuales representan la información de la variabilidad de los requisitos exclusivamente en el mismo modelo de requisitos, perjudicando la legibilidad de los requisitos. Por otra parte durante la ingeniería de la aplicación, las aproximaciones de IR para LPS normalmente se limitan a derivar los requisitos del producto a partir de los requisitos de la LPS, pero no explicitaban cómo representar requisitos que no existían previamente en la LPS: los requisitos delta. Este hecho incide negativamente en la flexibilidad de las aproximaciones.
El objetivo de esta tesis doctoral es definir y validar una aproximación de IR en el contexto de LPS que soporte la definición y especificación de los requisitos de una LPS, permitiendo derivar a partir de ellos los requisitos de un producto haciendo uso del paradigma de DSDM, y soportando además la definición y especificación los requisitos delta.
En este contexto, se ha definido un proceso llamado FeDRE. Durante la ingeniería del dominio se utiliza una estrategia de definición y especificación de los requisitos a partir del modelo de características. Durante la ingeniería de la aplicación se cubre la derivación de los requisitos y la validación para comprobar que satisfacen las necesidades del cliente. En el caso de que fuera necesario se permiten modelar los requisitos delta, evitando que los requisitos del producto estén limitados a una mera combinación de requisitos de la LPS. Por otra parte se ha definido una aproximación tecnológica basada en una estrategia de DSDM. Durante la ingeniería del dominio se representan en un multimodelo las vistas de variabilidad de la LPS y la de requisitos, estableciendo relaciones de trazabilidad entre ellas. Durante la ingeniería de la aplicación se define una configuración del producto y se derivan, mediante una estrategia basada en transformaciones de modelos, los requisitos del producto a desarrollar.
El proceso propuesto en FeDRE se ha validado mediante dos cuasi-experimentos. El primer cuasi-experimento modelaba los requisitos de una LPS con el objetivo de validar las guías de la ingeniería del dominio de FeDRE. Los resultados mostraron que FeDRE fue percibido como fácil de usar y útil para especificar los requisitos de una LPS. En el segundo cuasi-experimento se validaron los requisitos de un producto con el objetivo de comprobar si cubrían las necesidades del cliente. En el caso de que no lo hicieran, los participantes especificaron los requisitos delta. La mayor parte de los sujetos fueron capaces de identificar correctamente qué necesidades estaba cubiertas y qué requisitos debían de añadirse como requisitos delta.
Esta tesis doctoral contribuye al campo de desarrollo de LPS proveyendo de un proceso y una aproximación tecnológica, automatizada y genérica para la definición y especificación de re
[-]
[CA] L'activitat d'Enginyeria de Requeriments (ER) és crucial dins de l'enginyeria del programari. Un error durant la definició dels requeriments d'un sistema pot provocar sobrecostos durant tot el procés de desenvolupament. ...[+]
[CA] L'activitat d'Enginyeria de Requeriments (ER) és crucial dins de l'enginyeria del programari. Un error durant la definició dels requeriments d'un sistema pot provocar sobrecostos durant tot el procés de desenvolupament. Aquest problema s'accentua en el desenvolupament de Línies de Producte Software (LPS) a causa de que la definició i especificació dels requeriments han de treballar amb una nova dimensió: la variabilitat dels requeriments. Aquesta variabilitat dels requeriments de l'LPS s'especifica durant el procés d'enginyeria del domini, on es defineixen els punts de variabilitat que permeten diferenciar quins requeriments seran comuns i quins seran variables. Aquests punts de variabilitat es resolen durant el procés d'enginyeria de l'aplicació per obtenir els requeriments d'un producte específic, en l'activitat anomenada derivació de requeriments.
Un altre paradigma àmpliament aplicat a les LPS és el Desenvolupament de Programari Dirigit per Models (DSDM). El DSDM pot reduir costos de producció, gràcies a l'augment de la reutilització de programari. Malgrat això les aproximacions d'ER per a LPS presenten algunes debilitats. Moltes de les aproximacions actuals representen la informació de la variabilitat dels requeriments exclusivament en el mateix model de requeriments, perjudicant la llegibilitat dels requeriments. D'altra banda, durant l'enginyeria de l'aplicació, les aproximacions d'ER per a LPS normalment es limiten a derivar els requeriments del producte a partir dels de la LPS, però no expliciten com representar requeriments que no existien prèviament a l'LPS: els requeriments delta. Aquest fet incideix negativament en la flexibilitat de les aproximacions.
L'objectiu d'aquesta tesi doctoral és definir i validar una aproximació d'ER en el context de LPS que done suport a la definició i especificació dels requeriments d'una LPS, permetent derivar a partir d'ells els requeriments d'un producte fent ús del paradigma de DSDM i donant suport a més a la definició i especificació dels requeriments delta.
En aquest context, s'ha definit un procés anomenat FeDRE. Durant l'enginyeria del domini s'utilitza una estratègia de definició i especificació dels requeriments a partir del model de característiques. Durant l'enginyeria de l'aplicació es cobreix la derivació dels requeriments i la validació per comprovar que satisfan les necessitats del client. En el cas que fora necessari es permetrà modelar els requeriments delta, evitant que els requeriments del producte estiguen limitats a una mera combinació de requeriments de l'LPS. D'altra banda s'ha definit una aproximació tecnològica basada en una estratègia de DSDM. Durant l'enginyeria del domini es representen en un multimodel les vistes de variabilitat de l'LPS i la de requeriments, establint relacions de traçabilitat entre elles. Durant l'enginyeria de l'aplicació es defineix una configuració del producte i es deriven, mitjançant una estratègia basada en transformacions de models, els requeriments del producte a desenvolupar.
El procés proposat en FeDRE s'ha validat mitjançant dos quasi-experiments. El primer quasi-experiment modelava els requeriments d'una LPS amb l'objectiu de validar les guies de l'enginyeria del domini de FeDRE. Els resultats mostren que FeDRE va ser percebut com fàcil d'utilitzar i útil per especificar els requeriments d'una LPS. En el segon quasi-experiment es van validar els requeriments d'un producte amb l'objectiu de comprovar si cobrien les necessitats del client. En el cas que no ho feren, els participants especificaren els requeriments delta. La major part dels subjectes van ser capaços d'identificar correctament quines necessitats estaven cobertes i quins requeriments havien d'afegir com a requeriments delta.
Aquesta tesi doctoral contribueix al camp del desenvolupament de LPS proveint d'un procés i d'una aproximació tecnològica, automatitzada i genèrica per a la definició i especificació d
[-]
|