Skip to main content
Log in

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

  • Original Article
  • Published:
Requirements Engineering Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10

Similar content being viewed by others

Notes

  1. Requirements are an important factor in project success or failure, but there are also other factors that come into play (e.g., lack of stakeholder involvement, incorrect environmental assumptions, communications failures within development teams, inadequate conflict management, etc.).

  2. http://sourceforge.net/projects/opennlp/.

  3. see http://wordnet.princeton.edu/.

  4. To calculate QFN, we count those quality attributes not related to an early aspect which were not suggested by QAMiner. That is, for each quality attribute the maximum value of QFN is 6, when no quality attribute is associated with that early aspect.

References

  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 University

  2. Baeza-Yates R, Ribeiro-Neto B et al (1999) Modern information retrieval, vol 463. ACM press, New York

    Google Scholar 

  3. Barbacci M, Klein M, Longstaff T, Weinstock C (1995) Quality attributes. Technical Report

  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)

  5. Bass L, Clements P, Kazman R (2003) Software architecture in practice. SEI series in software engineering. Addison-Wesley Professional, Boston, Massachusetts

  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 51

  7. Bell R (2011) Course registration system. http://sce.uhcl.edu/helm/RUP_course_example/courseregistrationproject/indexcourse.htm

  8. Ben-David A (2008) Comparison of classification accuracy using cohen’s weighted kappa. Expert Syst Appl 34(2):825–832

    Article  Google Scholar 

  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 28

  10. Burge JE, Brown DC (2002) Nfr’s: fact or fiction? Technical Report

  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–445

    Article  Google Scholar 

  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–379

  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–48

  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. 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 23

  16. Dumais S (2004) Latent semantic analysis. Annu Rev Inf Sci Technol 38(1):188–230

    Article  Google Scholar 

  17. Frakes W, Baeza-Yates R (1992) Information retrieval: data structures and algorithms. Prentice Hall, Englewood Cliffs, New Jersey

  18. Greenwood P (2011) Tao: A testbed for aspect oriented software development. http://www.comp.lancs.ac.uk/∼greenwop/tao/

  19. Gruber T (1993) A translation approach to portable ontology specifications. Knowl Acquis 5(2):199–220

    Article  Google Scholar 

  20. Grundy J (1999) Aspect-oriented requirements engineering for component-based software systems. In: Requirements engineering, p 84

  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–78

  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–204

  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–782

  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–20

  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. 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. 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–26

  28. Luisa M, Mariangela F, Pierluigi N (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(1):40–56

    Article  Google Scholar 

  29. Manning C, Schutze H, MITCogNet (1999) Foundations of statistical natural language processing, vol 59. MIT Press, Cambridge, Massachusetts

  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. 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. 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/Heidelberg

  33. Pedersen T, Banerjee S, Patwardhan S (2005) Maximizing semantic relatedness to perform word sense disambiguation. Research Report UMSI 25:2005–2025

    Google Scholar 

  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 intelligence

  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–24

  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–41

  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–175

  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–24

  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 2

  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–198

    Google Scholar 

  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–188

  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

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alejandro Rago.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rago, A., Marcos, C. & Diaz-Pace, J.A. Uncovering quality-attribute concerns in use case specifications via early aspect mining. Requirements Eng 18, 67–84 (2013). https://doi.org/10.1007/s00766-011-0142-z

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00766-011-0142-z

Keywords

Navigation