Towards a new template for the specification of requirements in semi-structured natural language
Keywords:Requirement, requirements engineering, natural language, template, application requirement, do-main requirement, self-adaptive requirement
Requirements engineering is a systematic and disciplined approach for the specification and management of software requirements; one of its objectives is to transform the requirements of the stakeholders into formal spec-ifications in order to analyze and implement a system. These requirements are usually expressed and articulated in natural language, this due to the universality and facility that natural language presents for communicating them. To facilitate the transformation processes and to improve the quality of the resulting requirements, several authors have proposed templates for writing requirements in structured natural language. However, these templates do not allow writing certain functional requirements, non-functional requirements and constraints, and they do not adapt correctly to certain types of systems such as self-adaptive, product line-based and embedded systems. This paper (i) presents evidence of the weaknesses of the template recommended by the IREB® (International Requirements Engineering Institute), and (ii) lays the foundations, through a new template, for facilitating the work of the re-quirements engineers and therefore improving the quality of the products specified with the new template. This new template was built and evaluated through two active research cycles. In each cycle we identified the problems specifying the requirements of the corresponding industrial case with the corresponding base-line template, pro-pose some improvements to address these problems and analyze the results of using the new template to specify the requirements of each case. Thus, the resulting template was able to correctly write all requirements of both industrial cases. Despite the promising results of this new template, it is still preliminary work regarding its cov-erage and the quality level of the requirements that can be written with it.
Arora, Chetan, Mehrdad Sabetzadeh, Lionel Briand, and Frank Zimmer. "Automated checking of conformance to requirements templates using natural language processing." IEEE Transactions on Software Engineering (Vol 41 No 10), 2015: 944-968.
Arora, Chetan, Mehrdad Sabetzadeh, Lionel Briand, Frank Zimmer, and Raul Gnaga. "Automatic Checking of Conformance to Requirement Boilerplates via Text Chunking: An Industrial Case Study." ACM / IEEE International
Symposium on Empirical Software Engineering and Measurement, 2013: 35-44.
ARTEMIS. "Project CESAR." CESAR Partners. RSL Reference Manual. CESAR Consortium 1.1 Edition. 2010.
Baresi, Luciano, Liliana Pasquale, and Paola Spoletini. "Fuzzy Goals for Requirement-Driven Adaptation." 18th IEEE Int. Conf. Requirements Engineering (RE'10), 2010:125-134.
Beck, Kent. "Embracing change with extreme programming." IEEE Computer. 32, 1999: 70–77.
Clegg, Dai, and Richard Barker. Case Method Fast-Track: A Rad Approach. Addison-Wesley, 1994.
Cohn, Mike. User Stories Applied for Agile Software Development. Adisson Wesley, 2004.
Cook, Thomas D, and D T Campbell. Quasiexperimentation: Design & Analysis Issues for Field Setting. Houghton Mifflin, 1979.
Davies, Rachel. Format for expressing user stories. 2001.
Denger, Christian, Daniel M. Berry, and Erik Kamsties. "Higher quality requirements specifications through natural language patterns." Proceedings of the IEEE International Conference on Software-Science Technology & Engineering: IEEE Computer Society, 2003: 80-90.
Ibrahim, Noraini, M.N. Wan Kadir, and Safaai Deris. "Documenting requirements specifications using natural language requirements boilerplates." 8th Malaysian Software Engineering Conference (MySEC), 20144: 19-24.
ISO/IEC/IEEE. "29148 Systems and software engineering (Life cycle processes — Requirements engineering)." 2011.
Jureta, Ivan J., Alexander Borgida, Neil A. Ernst, and John Mylopoulos. "The Requirements Problem for Adaptive Systems." ACM Trans. Management Inf. Syst. 5, 2015:17:1-17:33.
Koshy, Elizabeth, Valsa Koshy, and Heather Waterman. Action research in healthcare. Sage, 2010.
Majumdar, Dipankar, Sabnam Sengupta, Ananya Kanjilal, and Swapan Bhattacharya. "Adv-EARS: A Formal Requirements Syntax for Derivation of Use Case Models." First International Conference on Advances in Computing and Information Technology, 2011: 40-48.
Majumdar, Dipankar, Sabnam Sengupta, Ananya Kanjilal, and Swapan Bhattacharya. "Automated Requirements Modeling with Adv-EARS." nternational Journal of Information Technology Convergence and Services, 2011: 57-67.
Mavin, A., P. Wilkinson, A. Harwood, and M. Novak. "Easy Approach to Requirements Syntax (EARS)." International Requirements Engineering Conference RE, 2009: 317-322.
Mazo, Raúl. Guía para la adopción industrial de líneas de productos de software. Medellín: Editorial Eafit, 2018.
Mazo Raúl. Software Product Lines, from Reuse to Self Adaptive Systems. Université Paris 1 Panthéon - Sorbonne, France, Habilitation à diriger des recherches (HDR), Octobre 2018.
Mazo, Raúl, and Carlos Jaramillo. "Hacia una nueva plantilla para la especificación de requisitos en lenguaje natural semi-estructurado." In the Proceedings of the Requirements Engineering Track (RET) of CIbSE. La Habana, Cuba, 2019.
Mazo, Raúl, Juan Muñoz-Fernández, Luisa Rincón, Camille Salinesi, and Gabriel Tamura. "VariaMos: an extensible tool for engineering (dynamic) product lines." XIX International Software Product Line Conference (SPLC), 2015: 374-379.
O'Brien, Rory. An Overview of the Methodological Approach of Action Research. In R. Richardson (Ed.), Theory and Practice of Action Research. Joao Pessoa: Universidade Federal da Paraíba, 2001.
Pohl, Klaus. Requirements Engineering - Fundamentals, Principles, and Techniques. Springer, 2010.
Robertson, Suzanne, and James Robertson. Mastering the Requirements Process: Getting Requirements Right, 3rd ed. Addison-Wesley, 2013.
Rupp, C. Requirements Engineering and Management. Hanser, 2007.
Sophist GmbH Requirements Templates - The Blueprint of your Requirement. SOPHIST GmbH. 2014. <a href="https://www.sophist.de">https://www.sophist.de</a>
Souag, Amina, Camille Salinesi, Raúl Mazo, and Isabelle Comyn-Wattiau. "A security ontology for security requirements elicitation." International Symposium on Engineering Secure Software and Systems (ESSoS), 2015: 157-177.
Souag, Amina, Raúl Mazo, Camille Salinesi, and Isabelle Comyn-Wattiau. "Using the AMAN-DA method to generate security requirements: a case study in the maritime domain." Requirements Engineering (Vol 23, Issue 4), 2018: 557–580.
Souza, V.E. Silva, Alexei Lapouchnian, William N. Robinson, and John Mylopoulos. "Awareness Requirements for Adaptive Systems." 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS'11), 2011: 60-69.
Susman, Gerald I. Action Research: A Sociotechnical Systems Perspective. Sage, 1983.
Susman, Gerald I., and Roger D. Evered. "An Assessment of the Scientific Merits of Action Research." Administrative Science Quaterly (Vol. 23), 1978: 582-603.
Tjong, Sri Fatimah, Nasreddine Hallam, and Michael Hartley. "Improving the Quality of Natural Language Requirements Specifications through Natural Language Requirements Patterns." International Conference on Computer and Information Technology (CIT'06), 2006: 199-205.
Vassev, Emil. "Requirements Engineering for Self-Adaptive Systems with ARE and KnowLang." EAI Endorsed Transactions on Self-Adaptive Systems, 2015.
Whittle, Jon, Pete Sawyer, Nelly Bencomo, Betty H.C. Cheng, and Jean-Michel Brunel. "RELAX: Incorporating Uncertainty into the Specification of Self-Adaptive Systems." 17th IEEE International Requirements Engineering
Conference (RE'09), 2009: 79-88.
Wiegers, Karl, and Joy Beatty. Software Requirements Third Edition. Microsoft Press, 2013.
Wieringa, Roel, and Ayse Morali. "Technical action research as a validation method in information systems design science." Design Science Research in Information Systems. Advances in Theory and Practice. DESRIST 2012. Lecture
Notes in Computer Science. Springer, 2012. 220-238.