|Home \ Graduation Activities \ Post-Graduation Page||Login|
A Traceability Pattern to Control the Concern Evolution in a Multidimensional Space
Requirement traceability is a quality attribute handled by software engineering and especially by requirement engineering. This is an activity that is needed in order to support the quality control and the accuracy of the software products in accordance with the client's needs. The traceability is part of the software configuration management (change management) practices. Particularly, this one follows the requirement tracks (forward and backward) either during the software process or by changes suffered during its maintenance. Furthermore, the traceability is a practice that helps with both validation and verification tasks. This practice is applied repeatedly using the same technique to trace the requirement evolution and transformation from its definition to its becoming a software product. Nevertheless, the traceability practice is vulnerable to the software development process and quality practices that are adopted by the development team during the process. There are other factors that might obstruct the practice in the software industry: the model complexity, lack of the requirement evolution record, invasive changes that are not controlled (tangled or scattered), partially updated models when there are changes, outdated traceability matrices, and high costs to perform this practice, etc. Moreover, some traceability approaches that have been proposed are not easy to be adapted by the current development processes. Although several traceability approaches have been proposed, this is still a topic under investigation. This occurs mainly because software development is a discipline in constant evolution. New techniques, tools, methodologies, and paradigms continue to appear and to demanding constant progress from the software configuration management practices to guarantee better qualified and less costly software. Therefore, this dissertation defines a new traceability approach in the context of two emergent software development paradigms, the model-driven software development MDD, and the aspect-oriented software development AOSD, both which provide strategies of development and mechanisms that help to define an approach to minimize some of the problems presented earlier. While the MDD contributes with patterns to facilitate and standardize the model transformations in different levels of abstraction, AOSD provides ways to separate concerns and compose crosscutting concerns. This dissertation treats the traceability as a pattern that controls the model transformations in the context of the model-driven development, and specially the concern model transformation. This guarantees quality characteristics such as modifiability, consistency and completeness, and change propagation. To achieve this, we define a metamodel called “Traceability Pattern” that supports the creation and management of Tracing Models, and Concerns Models. A Tracing Model is an abstract element composed of traceable elements and tracing links to facilitate its use in different software development projects. By means of these models, there is a conceptual and methodological traceability framework established in order to achieve the quality characteristics mentioned earlier. Also, these agilely support the development team in the software maintenance tasks. The main features that treat the Tracing Models are: • Standardization of the UML dependency relationships as tracing links to control the transformation of models. • Control of predecessors and successors generated during the transformation process, in order to facilitate both consistency and completeness verification of development models. • Generation of versioning views of Tracing Models to achieve change management. On the other hand, the Concern Model is an abstract element that defines the separation of concerns and their possible compositions. They group concerns of different types related among themselves by relationships that define the type of dependency or composition. Every instance of model represents a subsystem that can be traced and transformed as a whole. Concern Models are defined as an aspect-oriented requirement engineering approach whose traceability and transformation is supported by the Tracing Models.
Start Date: 2005-01-01
End Date: 2009-10-08
Post-Graduation Student / Researcher / Professor: