Validación y verificación de requisitos de software en proyectos basados en desarrollo continuo usando técnicas de PLN
DOI:
https://doi.org/10.26507/paper.2657Palabras clave:
Ingeniería de requisitos, Procesamiento de Lenguaje Natural, microservicios, Desarrollo continuoResumen
El ciclo de vida de un proyecto de software parte de la gestión adecuada de sus requisitos, siendo esta un área de conocimiento que reúne las actividades de levantamiento, análisis, especificación, validación y administración de estos durante todo el ciclo de desarrollo. La especificación básica de requisitos, expresada en lenguaje natural, es transformada a lo largo del ciclo de desarrollo en artefactos que finalmente son desplegados y puestos en funcionamiento como producto.
Un problema identificado en la ingeniería de software es la no correspondencia entre los requisitos funcionales especificados para el producto y las características que son finalmente incorporadas en el producto final. Es decir, la no correspondencia entre lo deseado, lo esperado y lo finalmente alcanzado en el proceso de instanciación.
Entre otros contextos, en la instanciación de arquitecturas de microservicios de software (MSA), se ha extendido el uso de desarrollo continuo (DC), como un proceso iterativo de desarrollo de aplicaciones que incluye Integración continua (IC), entrega continua, pruebas continuas (TC) y despliegue continuo. Este escenario facilita acompañar el ciclo de desarrollo con una verificación y validación continua de la transformación de los requisitos funcionales en cada etapa del proceso, hasta quedar completamente incorporados en el producto entregado.
En la formulación precisa del requisito que lo haga rastreable, comprobable y verificable, es crucial poder hacer el seguimiento de este durante todas las etapas del desarrollo, garantizando el mejoramiento de las condiciones de calidad del producto. Se plantea el uso de técnicas de procesamiento de lenguaje natural (PLN), enriquecidas con modelos de dominio, para hacer el seguimiento, validación y verificación de cada requisito funcional. Asimismo, se han identificado algunos vacíos en el conocimiento como: el problema de generalización de dominio basado en una frontera lingüística, la limitación de la investigación en contextos específicos de dominio, y el acceso a datos de dominio limitado. Paralelamente, la industria ha presentado la necesidad de hacer rastreo del requisito desde su levantamiento hasta la etapa de testeo.
Las nuevas tendencias de la industria, exigen la eficiencia de los equipos desarrolladores, esta es la razón por la que las metodologías ágiles han cobrado protagonismo a la par del desarrollo continuo; es así como objetivo de este trabajo está direccionado hacia la búsqueda del enriquecimiento de las técnicas estadísticas en el PLN a través de un sistema de reglas de dominio que permita no solo la formulación precisa, minimizando las ambigüedades del lenguaje natural; sino la automatización a través de la creación de artefactos que permitan hacer el rastreo del requisito en todas las etapas del desarrollo aportando de esta manera a una posible solución en el tratamiento de estos en la práctica de la Ingeniería de Software.
Descargas
Citas
Ahmed, U. (2018). A review on knowledge management in requirement engineering. IEEE Xplore, 5.
Alzayed, A., & Al-Hunaiyyan, A. (2021). A Bird’s Eye View of Natural Language Processing and Requirements Engineering. International Journal of Advanced Computer Science and Applications, 12(5), 81–90. https://doi.org/10.14569/IJACSA.2021.0120512
Avdeenko, T. V., & Pustovalova, N. V. (2016). The ontology-based approach to support the requirements engineering process. 2016 13th International Scientific-Technical Conference on Actual Problems of Electronic Instrument Engineering, APEIE 2016 - Proceedings, 2, 513–518. https://doi.org/10.1109/APEIE.2016.7806406
Bruel, J. M., Ebersold, S., Galinier, F., Mazzara, M., Naumchev, A., & Meyer, B. (2021). The Role of Formalism in System Requirements. ACM Computing Surveys, 54(5). https://doi.org/10.1145/3448975
Evans, E. (n.d.). Domain-Driven Design: Tackling Complexity in the Heart of Software. In Addison-Wesley (Ed.), 2004.
Inayat, I., Salim, S. S., Marczak, S., Daneva, M., & Shamshirband, S. (2015). A systematic literature review on agile requirements engineering practices and challenges. Computers in Human Behavior, 51, 915–929. https://doi.org/10.1016/j.chb.2014.10.046
Kravari, K., Antoniou, C., & Bassiliades, N. (2020). Towards a Requirements Engineering Framework based on Semantics. ACM International Conference Proceeding Series, 72–76. https://doi.org/10.1145/3437120.3437278
Lee, Y., & Zhao, W. (2006). An ontology-based approach for domain requirements elicitation and analysis. First International Multi- Symposiums on Computer and Computational Sciences, IMSCCS’06, 2, 364–371. https://doi.org/10.1109/IMSCCS.2006.252
Murtazina, M. S., & Avdeenko, T. V. (2018). Ontology-Based Approach to the Requirements Engineering in Agile Environment. 2018 14th International Scientific-Technical Conference on Actual Problems of Electronic Instrument Engineering, APEIE 2018 - Proceedings, 496–501. https://doi.org/10.1109/APEIE.2018.8546144
Narayan, N., Bruegge, B., Delater, A., & Paech, B. (2011). Enhanced traceability in model-based CASE tools using ontologies and information retrieval. 2011 4th International Workshop on Managing Requirements Knowledge, MaRK’11 - Part of the 19th IEEE International Requirements Engineering Conference, RE’11, 24–28. https://doi.org/10.1109/MARK.2011.6046559
Serna M., E., & Serna A., A. (2020). Process and progress of requirement formalization in software engineering. Ingeniare, 28(3), 411–423. https://doi.org/10.4067/S0718-33052020000300411
Shahin, M., Ali Babar, M., & Zhu, L. (2017). Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices. IEEE Access, 5(Ci), 3909–3943. https://doi.org/10.1109/ACCESS.2017.2685629
Shankar, P., Morkos, B., Yadav, D., & Summers, J. D. (2020). Towards the formalization of non-functional requirements in conceptual design. Research in Engineering Design, 31(4), 449–469. https://doi.org/10.1007/s00163-020-00345-6
Siegemund, K., Thomas, E., Zhao, Y., Pan, J., & Assmann, U. (2011). Towards ontology-driven requirements engineering. Workshop Semantic Web Enabled Software Engineering at 10th International Semantic Web Conference, 1–15.
Wolff, E. (2017). Microservices: Flexible Software architecture. In 2016. addison-Wesley.
Zhao, L., Alhoshan, W., Ferrari, A., Letsholo, K. J., Ajagbe, M. A., Chioasca, E. V., & Batista-Navarro, R. T. (2021). Natural Language Processing for Requirements Engineering. ACM Computing Surveys, 54(3), 1–42. https://doi.org/10.1145/3444689
Evans, E. (2004). Domain-Driven Design: Tackling Complexity in the Heart of Software. In Addison-Wesley (Ed.), 2004.
Wolff, E. (2017). Microservices: Flexible Software architecture. In Addison-Wesley (Ed.), 2016.
Descargas
Publicado
Cómo citar
Evento
Sección
Licencia
Derechos de autor 2022 Asociación Colombiana de Facultades de Ingeniería - ACOFI
Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-SinDerivadas 4.0.
Estadísticas de artículo | |
---|---|
Vistas de resúmenes | |
Vistas de PDF | |
Descargas de PDF | |
Vistas de HTML | |
Otras vistas |