ReqSCity: uma ferramenta de análise de requisitos de aplicações para cidades inteligentes
Resumo
Erros na fase de elicitação de requisitos, como ambiguidade e incompletude nos documentos gerados podem prejudicar o restante do processo de desenvolvimento, por isso, uma análise desses documentos é importante para o avanço adequado do processo de desenvolvimento. A análise manual destes requisitos é custosa, e tendenciosa a falhas, ainda mais quando o sistema possui uma grande complexidade. A detecção automática desses erros se apresenta como uma abordagem promissora. O objetivo deste trabalho é apresentar a ferramenta ReqSCity que auxilia o processo de análise de requisitos de maneira automática, focando na análise de requisitos ambíguos e incompletos através do uso de Processamento de Linguagem Natural (PLN). Utilizaram-se técnicas de tokenização e pos-tagging a partir da biblioteca NLTK do Python. Adicionalmente, a ferramenta gerada é capaz de avaliar se o requisito está no contexto de cidades inteligentes e fornece sugestões para melhorar a completude de requisitos, usando como base a ontologia M3-Ontology.
Referências
Bäumer, F. and Geierhos, M. (2018). Flexible ambiguity resolution and incompleteness detection in requirements descriptions via an indicator-based configuration of text analysis pipelines.
da Silva, D. V., de Souza, B. P., Gonçalves, T. G., and Travassos, G. H. (2021). A requirements engineering technology for the iot software systems. Journal of Software Engineering Research and Development.
Dale, R. (2010). Handbook of natural language processing. Boca Raton: Chapman & Hall, second edition.
DAMERAU, N. I. F. J. (2010). HANDBOOK OF NATURAL LANGUAGE PROCESSING SECOND EDITION. CRC Press Taylor&Francis Group.
Fellbaum, C. (2005). Wordnet and wordnets. Keith et al. (eds.), Encyclopedia of Language and Linguistics, Second Edition:665-670.
Huertas, C. and Juárez-Ramírez, R. (2012). Nlare, a natural language processing tool for automatic requirements evaluation. In Proceedings of the CUBE International Information Technology Conference, pages 371-378.
Hussain, I., Ormandjieva, O., and Kosseim, L. (2007). Automatic quality assessment of srs text by means of a decision-tree-based text classifier. In Seventh International Conference on Quality Software (QSIC 2007), pages 209-218.
Lu, C.-W., Chang, C.-H., Chu, W. C., Cheng, Y.-W., and Chang, H.-C. (2008). A requirement tool to support model-based requirement engineering. In 2008 32nd Annual IEEE International Computer Software and Applications Conference, pages 712-717. IEEE.
Nations, U. (2019). População mundial deve chegar a 9,7 bilhões de pessoas em 2050, diz relatório da onu.
Nazir, F., Butt, W. H., Anwar, M. W., and Khan Khattak, M. A. (2017). The applications of natural language processing (nlp) for software requirement engineering-a systematic literature review. In International conference on information science and applications, pages 485-493. Springer.
Sandhu, G. and Sikka, S. (2015). State-of-art practices to detect inconsistencies and ambiguities from software requirements. In International Conference on Computing, Communication Automation, pages 812-817.
Santosa, N. C., Miyazaki, J., and Han, H. (2021). Automating computer science ontology extension with classification techniques. IEEE Access, 9:161815-161833.
Sommerville, I. (2018). Engenharia de Software. Pearson Education.
Traffis, C. (2021). What is a sentence fragment? Umber, A. and Bajwa, I. S. (2011). Minimizing ambiguity in natural language software requirements specification. In 2011 Sixth International Conference on Digital Information Management, pages 102-107. IEEE.
Vinay S, Shridhar Aithal, P. D. (2009). An nlp based requirements analysis tool. IEEE International Advance Computing Conference, pages 2355-2360.
Zhao, L., Alhoshan, W., Ferrari, A., Letsholo, K. J., Ajagbe, M. A., Chioasca, E.-V., and Batista-Navarro, R. T. (2021). Natural language processing for requirements engineering: A systematic mapping study. ACM Computing Surveys (CSUR), 54(3):1-41.