Advertisement

Requirements Engineering

, Volume 18, Issue 1, pp 67–84 | Cite as

Uncovering quality-attribute concerns in use case specifications via early aspect mining

  • Alejandro Rago
  • Claudia Marcos
  • J. Andrés Diaz-Pace
Original Article

Abstract

Quality-attribute requirements describe constraints on the development and behavior of a software system, and their satisfaction is key for the success of a software project. Detecting and analyzing quality attributes in early development stages provides insights for system design, reduces risks, and ultimately improves the developers’ understanding of the system. A common problem, however, is that quality-attribute information tends to be understated in requirements specifications and scattered across several documents. Thus, making the quality attributes first-class citizens becomes usually a time-consuming task for analysts. Recent developments have made it possible to mine concerns semi-automatically from textual documents. Leveraging on these ideas, we present a semi-automated approach to identify latent quality attributes that works in two stages. First, a mining tool extracts early aspects from use cases, and then these aspects are processed to derive candidate quality attributes. This derivation is based on an ontology of quality-attribute scenarios. We have built a prototype tool called QAMiner to implement our approach. The evaluation of this tool in two case studies from the literature has shown interesting results. As main contribution, we argue that our approach can help analysts to skim requirements documents and quickly produce a list of potential quality attributes for the system.

Keywords

Quality attribute Early aspect Use case specification Text mining Tool support 

Notes

Acknowledgments

We want to thank Sebastian Villanueva and Francisco Bertoni, who implemented the QAMiner prototype and helped us to evaluate the tool with the case studies. We are also grateful to the anonymous reviewers for their feedback to improve the quality of the manuscript.

References

  1. 1.
    Araujo J, Baniassad E, Clements P, Moreira A, Rashid A, Tekinerdogan B (2005) Early aspects: the current landscape. Technical Notes, CMU/SEI and Lancaster UniversityGoogle Scholar
  2. 2.
    Baeza-Yates R, Ribeiro-Neto B et al (1999) Modern information retrieval, vol 463. ACM press, New YorkGoogle Scholar
  3. 3.
    Barbacci M, Klein M, Longstaff T, Weinstock C (1995) Quality attributes. Technical ReportGoogle Scholar
  4. 4.
    Bass L, Klein M, Moreno G (2001) Applicability of general scenarios to the architecture tradeoff analysis method. Technical Report CMU/SEI-2001-TR-014, Software Engineering Institute (SEI), Carnegie Mellon University (CMU)Google Scholar
  5. 5.
    Bass L, Clements P, Kazman R (2003) Software architecture in practice. SEI series in software engineering. Addison-Wesley Professional, Boston, MassachusettsGoogle Scholar
  6. 6.
    Bass L, Klein M, Northrop L (2004) Identifying aspects using architectural reasoning. In: Tekinerdogan B, Moreira A, Araújo J, Clements P (eds) Early aspects: aspect-oriented requirements engineering and architecture design. Lancaster University, Lancaster, p 51Google Scholar
  7. 7.
  8. 8.
    Ben-David A (2008) Comparison of classification accuracy using cohen’s weighted kappa. Expert Syst Appl 34(2):825–832CrossRefGoogle Scholar
  9. 9.
    Brito I, Moreira A (2004) Integrating the nfr framework in a re model. In: Tekinerdogan B, Moreira A, Araújo J, Clements P (eds) Early aspects: aspect-oriented requirements engineering and architecture design. Lancaster University, Lancaster, p 28Google Scholar
  10. 10.
    Burge JE, Brown DC (2002) Nfr’s: fact or fiction? Technical ReportGoogle Scholar
  11. 11.
    Casamayor A, Godoy D, Campo M (2010) Identification of non-functional requirements in textual specifications: a semi-supervised learning approach. Inf Softw Technol 52(4):436–445CrossRefGoogle Scholar
  12. 12.
    Chung L, Prado Leite J (2009) On non-functional requirements in software engineering. In: Borgida AT, Chaudhri VK, Giorgini P (eds) Conceptual modeling: foundations and applications. Springer, Berlin, pp 363–379Google Scholar
  13. 13.
    Cleland-Huang J, Settimi R, Zou X, Solc P (2006) The detection and classification of non-functional requirements with application to early aspects. In: Requirements engineering, 14th IEEE international conference. IEEE Computer Society, pp 39–48Google Scholar
  14. 14.
    Cleland-Huang J, Settimi R, Zou X, Solc P (2007) Automated classification of non-functional requirements. Requirements Engineering 12:103–120. doi: 10.1007/s00766-007-0045-1, http://portal.acm.org/citation.cfm?id=1269901.1269904 Google Scholar
  15. 15.
    Dörr J, Kerkow D, Von Knethen A, Paech B (2003) Eliciting efficiency requirements with use cases. In: International workshop on requirements engineering: foundation for software quality (REFSQ03), p 23Google Scholar
  16. 16.
    Dumais S (2004) Latent semantic analysis. Annu Rev Inf Sci Technol 38(1):188–230CrossRefGoogle Scholar
  17. 17.
    Frakes W, Baeza-Yates R (1992) Information retrieval: data structures and algorithms. Prentice Hall, Englewood Cliffs, New JerseyGoogle Scholar
  18. 18.
    Greenwood P (2011) Tao: A testbed for aspect oriented software development. http://www.comp.lancs.ac.uk/∼greenwop/tao/
  19. 19.
    Gruber T (1993) A translation approach to portable ontology specifications. Knowl Acquis 5(2):199–220CrossRefGoogle Scholar
  20. 20.
    Grundy J (1999) Aspect-oriented requirements engineering for component-based software systems. In: Requirements engineering, p 84Google Scholar
  21. 21.
    Kamata M, Tamai T (2007) How does requirements quality relate to project success or failure? In: Requirements engineering conference, 2007. RE’07. 15th IEEE International. IEEE Computer Society, pp 69–78Google Scholar
  22. 22.
    Kayed A, Hirzalla N, Samhan A, Alfayoumi M (2009) Towards an ontology for software product quality attributes. In: 2009 Fourth international conference on internet and web applications and services, IEEE, pp 200–204Google Scholar
  23. 23.
    Khan S, Rehman M (2005) A survey on early separation of concerns. In: Proceedings of the 12th Asia-Pacific software engineering conference. IEEE Computer Society, pp 776–782Google Scholar
  24. 24.
    Khan S, Greenwood P, Garcia A, Rashid A (2008) On the interplay of requirements dependencies and architecture evolution: an exploratory study. In: Proceedings of the 20th international conference on advanced information systems engineering. CAiSE, pp 16–20Google Scholar
  25. 25.
    Ko Y, Park S, Seo J, Choi S (2007) Using classification techniques for informal requirements in the requirements analysis-supporting system. Inf Softw Technol 49(11–12):1128–1140. doi: 10.1016/j.infsof.2006.11.007, http://www.sciencedirect.com/science/article/B6V0B-4MRFC79-3/2/00f337d38f2840fe330b5caf12a09c65
  26. 26.
    Kof L (2005) Natural language processing: mature enough for requirements documents analysis? In: Montoyo A, Munoz R, Métais E (eds) Natural Language Processing and Information Systems. Lecture notes in computer science, vol 3513. Springer, Berlin/Heidelberg, pp 3–29. doi: 10.1007/11428817_9
  27. 27.
    Lesk M (1986) Automatic sense disambiguation using machine readable dictionaries: how to tell a pine cone from an ice cream cone. In: Proceedings of the 5th annual international conference on systems documentation. ACM, pp 24–26Google Scholar
  28. 28.
    Luisa M, Mariangela F, Pierluigi N (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(1):40–56CrossRefGoogle Scholar
  29. 29.
    Manning C, Schutze H, MITCogNet (1999) Foundations of statistical natural language processing, vol 59. MIT Press, Cambridge, MassachusettsGoogle Scholar
  30. 30.
    Moreira A, Araújo J, Brito I (2002) Crosscutting quality attributes for requirements engineering. In: Proceedings of the 14th international conference on software engineering and knowledge engineering. ACM, New York, NY, USA, SEKE ’02, pp 167–174. doi: 10.1145/568760.568790
  31. 31.
    Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In: Proceedings of the conference on the future of software engineering. ACM, New York, NY, USA, ICSE ’00, pp 35–46. doi: 10.1145/336512.336523
  32. 32.
    Patwardhan S, Banerjee S, Pedersen T (2003) Using measures of semantic relatedness for word sense disambiguation. In: Gelbukh A (ed) Computational Linguistics and Intelligent Text Processing. Lecture Notes in Computer Science, vol 2588. Springer, Berlin/HeidelbergGoogle Scholar
  33. 33.
    Pedersen T, Banerjee S, Patwardhan S (2005) Maximizing semantic relatedness to perform word sense disambiguation. Research Report UMSI 25:2005–2025Google Scholar
  34. 34.
    Rago A, Marcos C (2009) Técnicas de nlp y wsd asistiendo al desarrollo de software orientado a aspectos (in spanish). In: Argentinian symposium on artificial intelligenceGoogle Scholar
  35. 35.
    Rago A, Abait E, Marcos C, Diaz-Pace A (2009) Early aspect identification from use cases using nlp and wsd techniques. In: Proceedings of the 15th workshop on early aspects. ACM, pp 19–24Google Scholar
  36. 36.
    Rashid A, Chitchyan R (2008) Aspect-oriented requirements engineering: a roadmap. In: Proceedings of the 13th international workshop on early aspects. ACM, pp 35–41Google Scholar
  37. 37.
    Sampaio A, Greenwood P, Garcia A, Rashid A (2007) A comparative study of aspect-oriented requirements engineering approaches. In: Empirical software engineering and measurement, 2007. ESEM 2007. First international symposium on, IEEE Computer Society, pp 166–175Google Scholar
  38. 38.
    Shepherd D, Pollock L, Vijay-Shanker K (2006) Towards supporting on-demand virtual remodularization using program graphs. In: Proceedings of the 5th international conference on aspect-oriented software development, March, Citeseer, pp 20–24Google Scholar
  39. 39.
    Siy H, Aryal P, Winter V, Zand M (2007) Aspectual support for specifying requirements in software product lines. In: Proceedings of the early aspects at ICSE: workshops in aspect-oriented requirements engineering and architecture design. IEEE Computer Society, p 2Google Scholar
  40. 40.
    Tabares M, Anaya de Páez R, Arango Isaza F (2008) Un esquema de modelado para soportar la separación y transformación de intereses durante la ingeniería de requisitos orientada por aspectos (in spanish). Avances en Sistemas e Informática 5(1):189–198Google Scholar
  41. 41.
    Tempero E (2009) Experiences in teaching quality attribute scenarios. In: Proceedings of the eleventh Australasian conference on computing education, vol 95. Australian Computer Society, Inc., pp 181–188Google Scholar
  42. 42.
    Zhang H, Ben K (2010) Architectural design of the health watch system with an integrated aspect-oriented modeling approach. In: Computer design and applications (ICCDA), 2010 international conference on, vol 1, pp V1-624–V1-628. doi: 10.1109/ICCDA.2010.5540893

Copyright information

© Springer-Verlag London Limited 2011

Authors and Affiliations

  • Alejandro Rago
    • 1
    • 2
  • Claudia Marcos
    • 1
    • 3
  • J. Andrés Diaz-Pace
    • 1
    • 2
  1. 1.ISISTAN Research InstituteUNICEN UniversityTandilArgentina
  2. 2.CONICETBuenos AiresArgentina
  3. 3.CICBuenos AiresArgentina

Personalised recommendations