REM4DSPL: A Requirements Engineering Method for Dynamic Software Product Lines

  • Amanda de Sousa UFC
  • Anderson Uchôa PUC-Rio
  • Eduardo Fernandes PUC-Rio
  • Carla I. M. Bezerra UFC
  • José Maria Monteiro UFC
  • Rossana Maria C. Andrade UFC

Resumo


Context: Dynamic Software Product Line (DSPL) is a set of software products capable of self-adapt and configure in runtime. DSPL products have common features (commonalities) and varying features (managed in runtime according to context changes). Objective: DSPL requirements engineering is challenging. Requirements engineers have to carefully plan self-adaptation while eliciting, modeling, and managing variability requirements. This paper introduces a method for DSPL requirements engineering. Method: We relied on empirically-derived activities of DSPL requirements engineering to build our method. We selected techniques and templates used in other domains such as SPL for refinement and incorporation into the method. We asked DSPL experts via a survey on the method applicability. Result: We introduced the Requirements Engineering Method for DSPL (REM4DSPL). Elicitation is guided by supervised discussions. Modeling relies on feature models. Variability Management is tool-assisted and validated via feature model inspection. DSPL experts agreed on the method applicability and suggested improvements. Conclusion: REM4DSPL relies on empirically-derived activities, techniques that have been successfully used by previous work, and templates adapted to the DSPL context. We expect our method to guide requirements engineers in practice.
Palavras-chave: REM4DSPL, Dynamic Software, Requirements Engineering Method
Publicado
28/10/2019
Como Citar

Selecione um Formato
DE SOUSA, Amanda; UCHÔA, Anderson; FERNANDES, Eduardo; BEZERRA, Carla I. M.; MONTEIRO, José Maria; ANDRADE, Rossana Maria C.. REM4DSPL: A Requirements Engineering Method for Dynamic Software Product Lines. In: SIMPÓSIO BRASILEIRO DE QUALIDADE DE SOFTWARE (SBQS), 18. , 2019, Fortaleza. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2019 . p. 129-138.