Requirements Engineering

, Volume 19, Issue 4, pp 355–376 | Cite as

Evaluating scenario-based SPL requirements approaches: the case for modularity, stability and expressiveness

  • Mauricio Alférez
  • Rodrigo Bonifácio
  • Leopoldo Teixeira
  • Paola Accioly
  • Uirá Kulesza
  • Ana Moreira
  • João Araújo
  • Paulo Borba
Requirements Engineering in Software Product Lines

Abstract

Software product lines (SPL) provide support for productivity gains through systematic reuse. Among the various quality attributes supporting these goals, modularity, stability and expressiveness of feature specifications, their composition and configuration knowledge emerge as strategic values in modern software development paradigms. This paper presents a metric-based evaluation aiming at assessing how well the chosen qualities are supported by scenario-based SPL requirements approaches. The selected approaches for this study span from type of notation (textual or graphical based), style to support variability (annotation or composition based), and specification expressiveness. They are compared using the metrics developed in a set of releases from an exemplar case study. Our major findings indicate that composition-based approaches have greater potential to support modularity and stability, and that quantification mechanisms simplify and increase expressiveness of configuration knowledge and composition specifications.

Keywords

Software product lines Variability modeling Use scenarios Requirements specification 

Notes

Acknowledgments

This work was partially supported by the Centro de Informática e Tecnologias de Informação (CITI) - Portugal, the European Project AMPLE - contract IST-33710, the grant SFRH/BD/46194/2008 of Fundação para a Ciência e a Tecnologia - Portugal, and the National Institute of Science and Technology for Software Engineering (INES) - CNPq under grants 573964/2008-4 and CNPQ 560256/2010-8.

References

  1. 1.
    Alexander IF, Maiden N (eds) (2004) Scenarios, stories, use cases: through the systems development life-cycle. Wiley, ChichesterGoogle Scholar
  2. 2.
    Alférez M, Kulesza U, Weston N, Araújo J, Amaral V, Moreira A, Rashid A, Jaeger MC (2008) A metamodel for aspectual requirements modelling and composition. Tech. Report D 1.3 Ample-projectGoogle Scholar
  3. 3.
    Alférez M, Santos J, Moreira A, Garcia A, Kulesza U, Araújo J, Amaral V (2010) Multi-view composition language for software product line requirements. In: SLE’09: Revised selected papers, Denver, CO, USA, pp. 103–122. doi:10.1007/978-3-642-12107-4_8
  4. 4.
    Bachmann F, Bass L (2001) Managing variability in software architectures. In: SIGSOFT Software Engineering Notes, vol 26. New York, NY, USA, pp 126–132. doi:10.1145/375212.375274
  5. 5.
    Bergmans L, Aksit M (2001) Composing crosscutting concerns using composition filters. Commun ACM 44(10):51–57. doi:10.1145/383845.383857 Google Scholar
  6. 6.
    Bertolino A, Gnesi S (2003) Use case-based testing of product lines. In: ESEC/FSE’03, Helsinki, Finland, pp. 355–358. doi:10.1145/940071.940120
  7. 7.
    Bonifácio R, Borba P (2009) Modeling scenario variability as crosscutting mechanisms. In: AOSD’09, Charlottesville, Virginia, USA, pp 125–136. doi:10.1145/1509239.1509258
  8. 8.
    Bonifácio R, Borba P, Soares S (2008) On the benefits of variability management as crosscutting. In: Early Aspects Workshop at AOSD. Brussels, BelgiumGoogle Scholar
  9. 9.
    Chitchyan R et al. (2009) Semantic vs. syntactic compositions in aspect-oriented requirements engineering: an empirical study. In: KJ Sullivan (ed) AOSD’09, Charlottesville, Virginia, USA, pp 149–160. doi:10.1145/1509239.1509260
  10. 10.
    Clements P, Northrop LM (2001) Software product lines: practices and patterns professional. Addison-Wesley, BostonGoogle Scholar
  11. 11.
    Czarnecki K, Antkiewicz M (2005) Mapping features to models: a template approach based on superimposed variants. In: GPCE’05, Tallinn, Estonia, pp 422–437. doi:10.1007/11561347_28
  12. 12.
    Czarnecki K, Eisenecker U (2000) Generative programming: methods, tools, and applications. ACM Press/Addison-Wesley Publishing Co. New YorkGoogle Scholar
  13. 13.
    Eaddy M, Aho A, Murphy GC (2007) Identifying, assigning, and quantifying crosscutting concerns. In: ACoM’07 held with ICSE’07, Minneapolis, MN, USA, p 2. doi:10.1109/ACOM.2007.4
  14. 14.
    Eriksson M, Borstler J, Borg K (2005) The pluss approach, domain modeling with features, use cases and use case realizations. In: SPLC’05, Rennes, France, pp 33–44. doi:10.1007/11554844_5
  15. 15.
    Eriksson M, Börstler J, Borg K (2009) Managing requirements specifications for product lines: an approach and industry case study. J Syst Softw 82(3):435–447. doi:10.1016/j.jss.2008.07.046
  16. 16.
    Figueiredo E et al (2008) Evolving software product lines with aspects: an empirical study on design stability. In: ICSE’08, Leipzig, Germany, pp 261–270. doi:10.1145/1368088.1368124
  17. 17.
    Figueiredo E et al. (2008) On the maintainability of aspect-oriented software: a concern-oriented measurement framework. In: CSMR’08, Athens, Greece, pp 183–192. doi:10.1109/CSMR.2008.4493313
  18. 18.
    Gomaa H (2004) Designing software product lines with UML: from use cases to pattern-based software architectures. Addison Wesley Longman Publishing Co., Inc., Redwood CityGoogle Scholar
  19. 19.
    Kästner C, Apel S, Kuhlemann M (2008) Granularity in software product lines. In: ICSE’08, Leipzig, Germany, pp 311–320. doi:10.1145/1368088.1368131
  20. 20.
    Katz S, Mezini M, Kienzle J (eds) (2010) Transactions on aspect-oriented software development VII: a Common case study for aspect-oriented modeling. Lecture notes in computer science, vol 6210. SpringerGoogle Scholar
  21. 21.
    Kienzle J, Guelfi N, Mustafiz S (2010) Crisis management systems: a case study for aspect-oriented modeling. T. Aspect-Oriented Software Development 7:1–22Google Scholar
  22. 22.
    Kovacević J, Alférez M, Kulesza U, Moreira A, Araújo J, Amaral V, Alves V, Rashid A, Chitchyan R (2007) Survey of the state-of-the-art in requirements engineering for software product line and model-driven requirements engineering. Tech. Report D 1.1, Ample-projectGoogle Scholar
  23. 23.
    Kulesza U, Sant’Anna C, Garcia A, Coelho R, von Staa A, de Lucena CJP (2006) Quantifying the effects of aspect-oriented programming: a maintenance study. In: ICSM’06, Philadelphia, PA, USA, pp 223–233. doi:10.1109/ICSM.2006.48
  24. 24.
    Lippert M, Lopes CV (2000) A study on exception detection and handling using aspect-oriented programming. In: ICSE’00, Limerick, Ireland, pp 418–427. doi:10.1145/337180.337229
  25. 25.
    Mustafiz JKNGS (2009) Crisis management systems: a case study for aspect-oriented modeling. Tech. Report, School of Computer Science, McGill University, Montreal. http://www.cs.mcgill.ca/joerg/taosd/TAOSD/TAOSD.html
  26. 26.
    Pohl K, Böckle G, Linden FJvd (2005) Software product line engineering: foundations, principles and techniques. Springer, New York, Inc., Secaucus, NJGoogle Scholar
  27. 27.
    Sampaio A, et al. (2007) A comparative study of aspect-oriented requirements engineering approaches. In: First international symposium on empirical software engineering and measurement, 2007. ESEM’07, Madrid, Spain, pp 166–175. doi:10.1109/ESEM.2007.15
  28. 28.
    Sugumaran V, Park S, Kang KC (2006) Introduction. Commun ACM 49(12):28–32CrossRefGoogle Scholar
  29. 29.
    Zschaler S, Sánchez P, Santos J, Alférez M, Rashid A, Fuentes L, Moreira A, Araújo J, Kulesza U (2009) VML*: a family of languages for variability management in software product lines. In: SLE’09: Revised selected papers, Denver, CO, USA. doi:10.1007/978-3-642-12107-4_7

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  • Mauricio Alférez
    • 1
    • 2
  • Rodrigo Bonifácio
    • 3
  • Leopoldo Teixeira
    • 4
  • Paola Accioly
    • 4
  • Uirá Kulesza
    • 5
  • Ana Moreira
    • 2
  • João Araújo
    • 2
  • Paulo Borba
    • 4
  1. 1.Triskell TeamINRIARennesFrance
  2. 2.Computer Science Department / CITIUniversidade Nova de LisboaCaparicaPortugal
  3. 3.Computer Science DepartmentUniversity of BrasíliaBrasíliaBrazil
  4. 4.Informatics CenterFederal University of PernambucoRecifeBrazil
  5. 5.Department of Informatics and Applied Mathematics (DIMAp)Federal University of Rio Grande do NorteNatalBrazil

Personalised recommendations