Are we teaching UML according to what IT companies need? A survey on the São Carlos-SP region

Resumo


The Unified Modeling Language (UML) arisen intending to unify the many modeling languages and become the universal language for software modeling. Since its creation, more than 25 years have passed. With the growing success of agile methodologies for software development, supported by less modeling and documentation manifest, the use of UML-driven software processes has decreased, thus a specific subset of diagrams has been adopted, such as use case, class, and sequence. On the other hand, in academia, UML is still being taught in Computing courses, most of the time without knowing whether what is taught is what the industry needs for practical use. This paper presents an overview of the UML adoption in IT companies of the region. We analyzed quantitative and qualitative data to support academia at focusing on the most used UML diagrams by practitioners. We constructed a survey composed of 21 questions, distributed to 10 region companies, and we received 24 answers. The results of our study show high usage of UML, including companies adopting agile methods. Certain diagrams are more intensively used, for instance, use case diagrams. The results provide directions to improve UML teaching, focusing on diagrams that best adhere to the development processes employed, in particular, agile processes.

Referências

Andrea Arcuri and Lionel Briand. 2014. A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Software Testing, Verification and Reliability 24, 3 (2014), 219–250.


Darlan Arruda and José Filho. 2014. Software Metrics: A Survey Conducted within Brazilian IT companies [PT]. https://doi.org/10.5748/9788599693100-11CONTECSI/PS-739


Loli Burgueño, Antonio Vallecillo, and Martin Gogolla. 2018. Teaching UML and OCL models and their validation to software engineering students: an experience report. Computer Science Education 28, 1 (2018), 23–41. https://doi.org/10.1080/08993408.2018.1462000


Peter J. Clarke and Alfonso Pierantonio. 2018. Teaching modeling: a software perspective. Computer Science Education 28, 1 (2018), 1–4. https://doi.org/10.1080/08993408.2018.1486535


Juliet Corbin and Anselm Strauss. 2014. Basics of qualitative research: Techniques and procedures for developing grounded theory. Sage publications.


N. M. Devadiga. 2017. Software Engineering Education: Converging with the Startup Industry. In 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEET). 192–196.


Brian Dobing and Jeffrey Parsons. 2006. How UML is used. Commun. ACM 49, 5 (2006), 109–113.


Kleinner Farias, Lucian Gonçales, Vinicius Bischoff, Bruno Carreiro da Silva, Everton T Guimarães, and Jacob Nogle. 2018. On the UML use in the Brazilian industry: A state of the practice survey (S).. In SEKE. 372–371.


A. M. Fernández-Sáez, D. Caivano, M. Genero, and M. R. V. Chaudron. 2015. On the use of UML documentation in software maintenance: Results from a survey in industry. In 2015 ACM/IEEE 18th International Conference on Model Driven Engineering Languages and Systems (MODELS). 292–301.


Arlene Fink. 2003. The survey handbook. Sage.


Fernanda Chacon Fontoura. 2019. Uso de Metodologias de Desenvolvimento de Software e de Engenharia de Requisitos em empresas de Tecnologia: um estudo a partir de um Survey. B.S. thesis. Universidade Federal do Rio Grande do Norte.


Martin Fowler. 2003. UML Distilled: A Brief Guide to the Standard Object Modeling Language (3 ed.). Addison-Wesley Professional.


Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. 1994. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional.


A. N. Ghazi, K. Petersen, S. S. V. R. Reddy, and H. Nekkanti. 2019. Survey Research in Software Engineering: Problems and Mitigation Strategies. IEEE Access 7 (2019), 24703–24718.


GoogleForms. 2020. Google Forms. https://docs.google.com/forms/d/e/1FAIpQLSdnt81ZyJKXXrgrYXR1WS9QF_ib-JJJg5q9y_LYtzUQ7M0fLw/viewform?usp=sf_link


Barbara A. Kitchenham and Shari L. Pfleeger. 2008. Personal Opinion Surveys. Springer London, London, 63–92. https://doi.org/10.1007/978-1-84800-044-5_3


Johan Linåker, Sardar Sulaman, Martin Höst, and Rafael de Mello. 2015. Guidelines for Conducting Surveys in Software Engineering. Technical Report 1.1. Lund University, Sweden.


Adriana Lopes, Igor Steinmacher, and Tayana Conte. 2019. UML Acceptance: Analyzing the Students’ Perception of UML Diagrams. In Proceedings of the XXXIII Brazilian Symposium on Software Engineering. 264–272.


Ariadi Nugroho and Michel RV Chaudron. 2008. A survey into the rigor of UML use and its perceived impact on quality and productivity. In Proceedings of the Second ACM-IEEE international symposium on Empirical software engineering and measurement. 90–99.


Leo Natan Paschoal and Simone do Rocio Senger de Souza. 2018. A Survey on Software Testing Education in Brazil. In Proceedings of the 17th Brazilian Symposium on Software Quality (Curitiba, Brazil) (SBQS). Association for Computing Machinery, New York, NY, USA, 334–343. https://doi.org/10.1145/3275245.3275289


M. Petre. 2013. UML in practice. In 2013 35th International Conference on Software Engineering (ICSE). 722–731.


Marian Petre. 2013. UML in practice. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 722–731.


Marian Petre. 2013. UML in practice. In 2013 35th International Conference on Software Engineering (ICSE). IEEE, 722–731.


Gianna Reggio, Maurizio Leotta, and Filippo Ricca. 2014. Who knows/uses what of the UML: A personal opinion survey. In International Conference on Model Driven Engineering Languages and Systems. Springer, 149–165.


Luiz A. L. Rodrigues and Jacques D. Brancher. 2019. Playing an educational game featuring procedural content generation: which attributes impact players’ curiosity?


Forrest Shull, Jeff Carver, A. Bldg, and Guilherme Travassos. 2001. An Empirical Methodology for Introducing Software Processes. ACM SIGSOFT Software Engineering Notes 26 (07 2001). https://doi.org/10.1145/503271.503248


Keng Siau and Poi-Peng Loo. 2006. Identifying difficulties in learning UML. IS Management 23 (06 2006), 43–51. https://doi.org/10.1201/1078.10580530/46108.23.3.20060601/93706.5


I. Sommerville. 2019. Engineering Software Products: An Introduction to Modern Software Engineering. Pearson.


I. Steinmacher, A. P. Chaves, T. U. Conte, and M. A. Gerosa. 2014. Preliminary Empirical Identification of Barriers Faced by Newcomers to Open Source Software Projects. In 2014 Brazilian Symposium on Software Engineering. 51–60.


Bedir Tekinerdogan. 2011. Experiences in teaching a graduate course on model-driven software development. Computer Science Education 21, 4 (2011), 363–387. https://doi.org/10.1080/08993408.2011.630129


Andreas Wortmann, Olivier Barais, Benoit Combemale, and Manuel Wimmer. 2020. Modeling languages in Industry 4.0: an extended systematic mapping study. Software and Systems Modeling 19, 1 (Jan. 2020), 67–94. https://doi.org/10.1007/s10270-019-00757-6


Alan Xavier, Fábio Martins, Ricardo Pimentel, and Denis Carvalho. 2019. Aplicação da UML no contexto das metodologias ágeis. In Anais do VI Encontro Nacional de Computação dos Institutos Federais. SBC.


Alan Xavier, Fábio Martins, Ricardo Pimentel, and Denis Carvalho. 2019. Aplicação da UML no contexto das metodologias ágeis. In Anais do VI Encontro Nacional de Computação dos Institutos Federais (Belém). SBC, Porto Alegre, RS, Brasil. https://doi.org/10.5753/encompif.2019.6353
Publicado
26/04/2021
CHOMA NETO, João; BENTO, Luiz Henrique Ten Caten; OLIVEIRAJR, Edson; SOUZA, Simone Do Rocio Senger. Are we teaching UML according to what IT companies need? A survey on the São Carlos-SP region. In: SIMPÓSIO BRASILEIRO DE EDUCAÇÃO EM COMPUTAÇÃO (EDUCOMP), 1. , 2021, On-line. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2021 . p. 34-43. DOI: https://doi.org/10.5753/educomp.2021.14469.