User- Centered Methodologies for Requirements Engineering: A Comparative Analysis using ISO/IEC/IEEE 29148
DOI:
https://doi.org/10.32870/recibe.v11i1.242Keywords:
Software requirements, User centered, Software methodology, ISO/IEC 29148Abstract
(BACKGROUND) Requirement engineering is a fundamental process of the software development life cycle processes that allows defining the functionalities, quality and scope of a software. Requirement engineering is a human-intensive participation process and that have in ISO/IEC/IEEE 29148 a standard that defines a set of process (activities, tasks, information items, etc.) that provide support for its formalization. However, in the software industry there are many types of deficiencies have been reported. In this context, proposals for User-Centered Methodologies for Requirement Engineering have emerged and need to be studied to determine their alignment to the ISO 29148. (OBJETIVES) The objective of this study is to compare User-Centered Methodologies for Requirement Engineering taking process elements from ISO 29148 as criteria. (METHODS) For this research, a systematic mapping study and a comparative analysis of the UCMREs obtained were performed. (RESULTS) In the systematic mapping study, 4,463 studies were obtained from three relevant digital databases in the first stage, and after the selection process, five User-Centered Methodologies for Requirement Engineering were identified. These methodologies were characterized and analyzed from process elements perspective for comparison to ISO 29148. (CONCLUSIONS) The DoRCU methodology is the closest to ISO 29148, followed by Ammeth and Borja methodologies; and the XRE methodology is the most away to ISO 29148.References
Ambreen, T., Ikram, N., Usman, M., & Niazi, M. (2018). Empirical Research in Requirements Engineering: Trends and Opportunities. Requirements Engineering, 23, 63–95. https://doi.org/10.1007/s00766-016-0258-2
Anu, V., Hu, W., Carver, J. C., Walia, G. S., & Bradshaw, G. (2018). Development of a Human Error Taxonomy for Software Requirements: A Systematic Literature Review. Information and Software Technology, 103, 112–124. https://doi.org/10.1016/j.infsof.2018.06.011
Beecham, S., Hall, T., & Rainer, A. (2005). Defining a Requirements Process Improvement Model. Software Quality Journal, 13, 247–279. https://doi.org/10.1007/s11219-005-1752-9
Borja Buestán, C. D., & Cuji Torres, V. A. (2013). Metodología para la Especificación de Requerimientos de Software Basado en el Estándar IEEE 830-1998.
Boyarchuk, A., Pavlova, O., Bodnar, M., & Lopatto, I. (2020). Approach to the Analysis of Software Requirements Specification on its Structure Correctness. CEUR Workshop, 85–95.
Cano, C., Melgar, A., Dávila, A., & Pessoa, M. (2015). Comparison of Software Process Models. A Systematic Literature Review. 41st Latin American Computing Conference - CLEI 2015, 1–6. https://doi.org/10.1109/CLEI.2015.7360025
Chandra, V. (2015). Comparison between Various Software Development Methodologies. International Journal of Computer Applications, 131(9), 7–10. https://doi.org/10.5120/ijca2015907294
Chang, C. K. (2018). Situation Analytics — at the Dawn of a New Software Engineering Paradigm. Science China - Information Sciences, 61(5), 1–14. https://doi.org/10.1007/s11432-017-9372-7
De Bellis, M., & Haapala, C. (1995). User-Centric Software Engineering. IEEE Expert, 10(1), 34–41.
Forbrig, P. (2016). Continuous Requirements Engineering and Human-Centered Agile Software Development. International Working Conference on Requirement Engineering: Foundation for Software Quality - REFSQ 2016, 1–11.
Griselda Báez, M., & Barba Brunner, S. I. (2001). Metodología DoRCU para la Ingeniería de Requerimientos. WorkShop on Requirement Engineering, 1–13.
Guida, G., & Lamperti, G. (2000). AMMETH: a Methodology for Requirements Analysis of Advanced Human-System Interfaces. IEEE Transactions on Systems, Man, and Cybernetics Part A:Systems and Humans., 30(3), 298–321. https://doi.org/10.1109/3468.844355
Hu, W., Carver, J. C., Anu, V., Walia, G., & Bradshaw, G. (2017). Defect Prevention in Requirements Using Human Error Information: An Empirical Study. International Working Conference on Requirements Engineering: Foundation for Software Quality - REFSQ 2017. In Lecture Notes in Computer Science, 10153 LNCS, 61–76. https://doi.org/10.1007/978-3-319-54045-0_5
IEEE-CS. (2014). SWEBOK Guide V3.0 - Guide to the Software Engineering Body of Knowledge. In P. Bourque & R. Fairley (Eds.), IEEE.
IEEE SA. (2011). IEEE SA Standards. Web EEE/ISO/IEC 29148-2011. https://standards.ieee.org/standard/29148-2011.html
Ikram, N., & Naz, S. (2015). Extreme Requirements Engineering (XRE). Requirements Engineering in the Big Data Era. In Communications in Computer and Information Science, 558, 95–108. https://doi.org/10.1007/978-3-662-48634-4_7
ISO/IEC/IEEE. (2018). ISO/IEC/IEEE 29148:2018 Systems and Software Engineering — Life Cycle Processes — Requirements Engineering. In ISO (2nd ed.). https://www.iso.org/standard/72089.html
ISO. (2019). ISO 9241-210: 2019 Ergonomics of Human-System Interaction — Part 210: Human-Centred Design for Interactive Systems Ergonomie. 2do Edition. In ISO.
Juárez-Ramírez, R. (2017). User-Centered Design and Adaptive Systems: Toward Improving Usability and Accessibility. Universal Access in the Information Society, 16, 361–363. https://doi.org/10.1007/s10209-016-0480-1
Kelly, J. C., Sherif, J. S., & Hops, J. (1992). Analysis of Defect Densities Found During Software Inspections. NASA -15th Annual Software Engineering Workshop, 17(2), 111–117.
Miotti, H. (2009). The Economic Impact of Standardization. Technological Change, Standards Growth in France. In AFNOR.
Nazir, F., Butt, W. H., Anwar, M. W., & Khan Khattak, M. A. (2017). The Applications of Natural Language Processing (NLP) for Software Requirement Engineering - A Systematic Literature Review. ICISA 2017 Information Science and Applications. In Lecture Notes in Electrical Engineering, 424, 485–493. https://doi.org/10.1007/978-981-10-4154-9_56
Niazi, M. (2005). An Instrument for Measuring the Maturity of Requirements Engineering Process. Product Focused Software Process Improvement - PROFES 2005 . In Lecture Notes in Computer Science, 3547, 574–585. https://doi.org/10.1007/11497455_44
Niazi, M., & Shastry, S. (2003). Critical Success Factors for the Improvement of Requirements Engineering Process. International Conference on Software Engineering Research and Practise, 433–439.
Nieva, A., Hardisty, A., & Jones, A. (2016). SCRAM–CK: Applying a Collaborative Requirements Engineering Process for Designing a Web Based e-Science Toolkit. Requirements Engineering, 21, 107–129. https://doi.org/10.1007/s00766-014-0212-0
Norman, D. A., & Draper, S. W. (1987). User Centred System Design-New Perspectives on Human/Computer Interaction. Journal of Educational Computing Research, 3(1), 129–134.
Nuseibeh, B., & Easterbrook, S. (2000). Requirements Engineering: A Roadmap. International Conference on The Future of Software Engineering - ICSE 2000., 35–46. http://mcs.open.ac.uk/ban25/papers/sotar.re.pdf%5Cn./CitaviFiles/Nuseibeh2000.pdf
Paez Cardenas, P., Arias Peralta, C. D., & Wanumen Silva, L. F. (2018). Metodología para Elaboración de Requerimientos en Aplicaciones con Servicios Web. Revista Vínculos, 15(2), 160–174. https://doi.org/10.14483/2322939x.13505
Petersen, K., Vakkalanka, S., & Kuzniarz, L. (2015). Guidelines for Conducting Systematic Mapping Studies in Software Engineering: An Update. Information and Software Technology, 64, 1–18. https://doi.org/10.1016/j.infsof.2015.03.007
Saleh, S. M., Rahman, M. A., & Asgor, K. A. (2017). Comparative Study on the Software Methodologies for Effective Software Development. International Journal of Scientific & Engineering Research, 8(4), 1018–1025.
Selvyanti, D., & Bandung, Y. (2017). The Requirements Engineering Framework Based on ISO 29148:2011 and Multi-View Modeling Framework. International Conference on Information Technology Systems and Innovation - ICITSI 2017, 128–133. https://doi.org/10.1109/ICITSI.2017.8267930
Shafiq, M., Zhang, Q., & Akbar, M. A. (2019). Software Requirements Engineering Maturity Model (SREMM) in Offshore Software Development Outsourcing. International Conference on Frontiers of Information Technology - FIT 2019, 101–104. https://doi.org/10.1109/FIT47737.2019.00028
Subbarayudu, B., Srija Harshika, D., Amareswar, E., Reddy, R. G., & Reddy, K. K. (2017). Review and Comparison on Software Process Models. International Journal of Mechanical Engineering and Technology, 8(8), 967–980.
Toro, A., & Gálvez, J. G. (2016). Especificación de Requisitos de Software: Una Mirada desde la Revisión Teórica de Antecedentes. Entre Ciencia e Ingeniería, 10(19), 108–113. http://biblioteca.ucp.edu.co/OJS/index.php/entrecei/article/view/2803/2785
UNCTAD. (2012). Information Economy Report 2012. The Software Industry and Developing Countries. In United Nations Publication.
Vidal, D., Ibarra, J., Flores, B., & Lopez, G. (2012). Adopción del Estándar ISO 9241-210 : 2010 en la Construcción de Sistemas Interactivos Basados en Computadora. Congreso Internacional de Investigación e Innovación En Ingeniería de Software - CONISOFT 2012, 1–7.
Wanderley, F., Silva, A., Araujo, J., & Silveira, D. S. (2014). SnapMind: A Framework to Support Consistency and Validation of Model-Based Requirements in Agile Development. IEEE 4th International Model-Driven Requirements Engineering Workshop - MoDRE 2014, 47–56. https://doi.org/10.1109/MoDRE.2014.6890825
Ward, D., Rossi, M., Sullivan, B. P., & Pichika, H. V. (2018). The Metamorphosis of Systems Engineering Through the Evolution of Today’s Standards. 4th IEEE International Symposium on Systems Engineering - ISSE 2018, 1–8. https://doi.org/10.1109/SysEng.2018.8544426
Westfall, L. (2011). Las Fallas en la Ingeniería de Requisitos. Ingenierías USBMed, 2(2), 40–47. https://doi.org/10.21500/20275846.257