Refine
Document Type
Language
- English (5)
Keywords
- software evolution (2)
- software maintenance (2)
- software product lines (2)
- Konfigurationsmanagement (1)
- Organizations (1)
- Produktlinien (1)
- Requirements engineering (1)
- Software engineering (1)
- Softwaretechnik (1)
- Stakeholders (1)
Institute
In order to increase the level of efficiency and automation, we propose a conceptual model and corresponding tool support to plan and manage the systematic evolution of softwareintensive systems, in particular software product lines (SPL). We support planning on a high abstraction level using decision-making concepts like goals, options, criteria, and rationale. We extend earlier work by broadening the scope in two dimensions: 1) in time, supporting continuous planning over long periods of time and many releases, and 2) in space, supporting traces from high-level decisions down to the implementation. We present a metamodel which allows to represent these concepts, corresponding prototypical tool support, and a first example case using data extracted from an open-source project, Eclipse SWT.
Software Product Lines are a strategic long-term investment and must evolve to meet new requirements over many years. In previous work, we have shown a model-driven approach (called EvoPL [21]) for planning and managing long-term evolution of product lines. It allows specifying historic and planned future evolution in terms of changes on feature model level. It provides benefits like abstraction, efficiency through automation, and the capability to perform analysis based on models.
In this paper, we argue that specifying changes alone is beneficial but not sufficient. This is because for strategic evolution planning "decision drivers" like goals, requirements, and rationale are essential information as well.
Hence, we propose a modeling approach that represents such decision drivers and their interrelationships. The approach is based on concepts from literature (e.g., QOC and goal-oriented requirements engineering) and combines and extends them to address the specific needs of model-driven long-term evolution management. Beyond the basic usage for documentation, the suggested models can be used for systematic future planning and tool-supported analysis, e.g., to evaluate the consistency of planned evolutionary changes.
Documenting design rationale (DR) helps to preserve knowledge over long time to diminish software erosion and to ease maintenance and refactoring. However, use of DR in practice is still limited. One reason for this is the lack of concrete guidance for capturing DR. This paper provides a first step towards identifying DR questions that can guide DR capturing and discusses required future research.
Requirements are identified and elaborated on the basis of stakeholders' decisions. The reasoning behind those decisions can be expressed as rationales. Systematic rationale management offers both short-term benefits, such as clearer requirements leading to fewer defects, and long-term benefits, such as simplified requirements evolution. However, little guidance exists for managing requirements rationales. This article presents guidelines to pragmatically capture, trace, maintain, and reuse such rationales. A list of questions augments the guidelines, improving their usability.
Whenever a software engineer derives a product from a prod-uct line, he has to resolve variability by making con_guration decisions.This con_guration process can become rather complex because of depen-dencies within the variability model and knock-on e_ects and dependen-cies in other related artefacts. Because of the limited cognitive capacity ofthe human engineer, this complexity limits the ability of handling prod-uct lines with large con_guration spaces. To address this problem wefocus on techniques that support the interactive con_guration of largerfeature models, including (1) visual interaction with a formal reason-ing engine, (2) visual representation of multiple interrelated hierarchies,(3) indicators for con_guration progress and (4) _ltering of visible nodes.The concepts are demonstrated within S2T2 Con_gurator, an interactivefeature con_guration tool. The techniques are discussed and evaluatedwith feature models, however, we believe they can be generalised to othermodels that describe con_guration choices, e.g., variability models anddecision models.