![]() |
||||||||||||||||
|
||||||||||||||||
| REQUIREMENTS | ARCHITECTURE | IMPLEMENTATION | TRACEABILITY | CASE STUDIES | PUBLICATIONS | ||||||||||||||||
|
Documents -> Traceability
Traceability is a quality attribute in Software Engineering that establishes the ability to describe and follow the life of a requirement in both forward and backward direction (i.e., from its origins throughout its specification, implementation, deployment, use and maintenance). The capability to represent explicitly decisions taken throughout all phases of the development phases is critical to any large-scale software development process, in particular, for SPL. According to Palmer “traceability gives essential assistance in understanding the relationships that exist within and across software requirements, design, and implementation”. Thus, trace relationships help in identifying the origin and rationale for artefacts generated during development life-cycle and the links between these artefacts. Identification of sources helps understanding requirements evolution and validating implementation of stakeholders’ requirements. The main advantages of traceability are: (i) to relate software artefacts and design decisions taken during the software development cycle, (ii) to give feedback to architects and designers about the current state of the development, allowing them to reconsider alternative design decisions, and to track and understand bugs, (iii) to ease communication between stakeholders. ![]() However, in the domain of SPL very little work exists which allows tracing properties of software requirements, designs and implementations with model-driven and aspect-oriented technologies. New means for traceability are crucial for the success of an SPL project. The heterogeneity and the number of artefacts must be mastered. The introduction of the variability dimension makes more complex the software process and needs new tools to analyse the impact of changes. It is also important to have an end-to-end traceability support consistent with the versioning system used during the project. On one hand, the model-driven perspective refines more abstract models into more detailed ones through model transformations. On the other hand aspectual concepts may be introduced at every stage of the development process (from requirements to executable code). Thus we focus on techniques to trace these changes all along the life cycle of a product line. Our proposal has three main parts. The first one is the foundation of our traceability support on four orthogonal dimensions: refinement, similarity, variability and versioning. This clarifies the software development process and integrates smoothly versioning and variability in it. The second piece is a generic and agnostic metamodel for trace links, their rationale and associated information. This metamodel is the kernel of the AMPLE Traceability Framework which allows to store, browse and query trace links. The last part is a set of tools allowing more advanced user functionalities like change impact analysis or covering. Amongst these tools, ATF proposes views and metrics, the ATF query language and an integrated versioning system. One video illustrating some use of ATF can be dowloaded here, more details and videos can be found on the traceability tool page.
|
||||||||||||||||
|
© 2007 AMPLE |