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.
Similar content being viewed by others
Notes
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.).
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
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
Baeza-Yates R, Ribeiro-Neto B et al (1999) Modern information retrieval, vol 463. ACM press, New York
Barbacci M, Klein M, Longstaff T, Weinstock C (1995) Quality attributes. Technical Report
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)
Bass L, Clements P, Kazman R (2003) Software architecture in practice. SEI series in software engineering. Addison-Wesley Professional, Boston, Massachusetts
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
Bell R (2011) Course registration system. http://sce.uhcl.edu/helm/RUP_course_example/courseregistrationproject/indexcourse.htm
Ben-David A (2008) Comparison of classification accuracy using cohen’s weighted kappa. Expert Syst Appl 34(2):825–832
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
Burge JE, Brown DC (2002) Nfr’s: fact or fiction? Technical Report
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
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
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
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
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
Dumais S (2004) Latent semantic analysis. Annu Rev Inf Sci Technol 38(1):188–230
Frakes W, Baeza-Yates R (1992) Information retrieval: data structures and algorithms. Prentice Hall, Englewood Cliffs, New Jersey
Greenwood P (2011) Tao: A testbed for aspect oriented software development. http://www.comp.lancs.ac.uk/∼greenwop/tao/
Gruber T (1993) A translation approach to portable ontology specifications. Knowl Acquis 5(2):199–220
Grundy J (1999) Aspect-oriented requirements engineering for component-based software systems. In: Requirements engineering, p 84
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
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
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
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
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
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
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
Luisa M, Mariangela F, Pierluigi N (2004) Market research for requirements analysis using linguistic tools. Requir Eng 9(1):40–56
Manning C, Schutze H, MITCogNet (1999) Foundations of statistical natural language processing, vol 59. MIT Press, Cambridge, Massachusetts
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
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
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
Pedersen T, Banerjee S, Patwardhan S (2005) Maximizing semantic relatedness to perform word sense disambiguation. Research Report UMSI 25:2005–2025
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
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
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
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
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
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
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
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
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
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
Corresponding author
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00766-011-0142-z