Visión de las competencias en arquitectura de software integrando las perspectivas de la industria y la academia

Autores/as

DOI:

https://doi.org/10.24054/rcta.v1i43.2798

Palabras clave:

competencias en el aprendizaje, arquitectos de software, investigación-acción, industria de software

Resumen

(Propósito) La formación de un arquitecto de software es una labor compleja que requiere de una mezcla de experiencia y conocimiento especializado que es difícil lograr en el contexto universitario. Este artículo busca determinar las competencias mínimas que debe lograr un arquitecto de software cubriendo la expectativa de la industria, así como el contexto formativo de las universidades e instituciones de educación superior. (Métodos) Para identificar y documentar estas competencias, se realizó un ciclo de investigación-acción, en el cual se diseñó un estudio basado en encuestas y talleres en el que participaron ingenieros de software de la industria y profesores universitarios que imparten cursos relacionados con el diseño y evaluación de la arquitectura. Para dar contexto al estudio de caso se sitúa de forma específica el problema y se definen las preguntas de la investigación. En paralelo, se realizó una revisión de la literatura para profundizar en el tema de estudio para diseñar adecuadamente los instrumentos del estudio. De acuerdo al propósito y con el contexto literario establecido, se diseñó, ejecutó y reportó el estudio. Finalmente se realizó una reflexión tanto de los resultados como los aprendizajes cerrando el ciclo de investigación-acción. (Resultados) Como primer hallazgo, el estudio arroja un conjunto de 11 competencias esenciales a nivel de arquitectura de software que la industria espera de los egresados de las cuales todas son competencias técnicas y ninguna competencia blanda.  Como segundo hallazgo, el estudio permitió determinar que las universidades en un 16.1% no abordan las competencias obligatorias y en un 11.7% poco se abordan. (Conclusión) La discrepancia entre lo que se enseña en las universidades y lo que la industria de software espera es un problema que se evidencia a través de este estudio. Alinear los cursos de arquitectura de software con los requisitos de la industria es crucial para los planes de estudio de ciencias de la computación, ingeniería de sistemas y programas relacionados. Sin embargo, desarrollar en los estudiantes, las competencias demandadas por la industria, plantea numerosos restos. Conocer las competencias que requiere la industria es el primer paso para crear cursos que ayuden a la empleabilidad de los recién egresados. La identificación de qué competencias se pueden ir incorporando con menor esfuerzo y mayor eficacia permiten trazar una ruta en la que las universidades puedan iniciar ese camino hacia el cubrimiento de las expectativas de la industria de software.

Citas

S. Angelov and P. de Beer, “Designing and Applying an Approach to Software Architecting in Agile Projects in Education,” Journal of Systems and Software, vol. 127, no. C, pp. 78–90, 2017, doi: 10.1016/j.jss.2017.01.029.

M. Galster and S. Angelov, “What makes teaching software architecture difficult?,” in Proceedings - International Conference on Software Engineering, Austin Texas: Association for Computing MachineryNew YorkNYUnited States, 2016, pp. 356–359. doi: 10.1145/2889160.2889187.

IEEE, “IEEE 1471-2000 - IEEE Recommended Practice for Architectural Description for Software-Intensive Systems,” 2000. doi: 10.1109/IEEESTD.2000.91944.

M. Richards and N. Ford, Fundamentals of Software Architecture: An Engineering Approach 1st Edicion. Canada: O’Reilly Media, Inc., 2020. [Online]. Available: https://www.amazon.com/Fundamentals-Software-Architecture-Comprehensive-Characteristics/dp/1492043451

M. A. Shah, I. Ahmed, and M. Shafi, “Role of Software Architect: A Pakistani Software Industry Perspective,” Res J Recent Sci, vol. 3, pp. 48–52, 2014.

O. E. Lieh and Y. Irawan, “Teaching adult learners on software architecture design skills,” in Proceedings - Frontiers in Education Conference, FIE, Uppsala, Sweden: IEEE, 2019, pp. 1–9. doi: 10.1109/FIE.2018.8658714.

A. Jansen and J. Bosch, “Software Architecture as a Set of Architectural Design Decisions,” in 5th Working IEEE/IFIP Conference on Software Architecture (WICSA’05), Pittsburgh, PA, USA: IEEE, 2005, pp. 109–120. doi: 10.1109/WICSA.2005.61.

M. Fowler, “Who Needs an Architect?,” IEEE Softw, vol. 20, no. 5, pp. 11–13, 2003, doi: 10.1109/MS.2003.1231144.

R. C. De Boer and H. Van Vliet, “On the similarity between requirements and architecture,” Journal of Systems and Software, vol. 82, no. 3, pp. 544–550, 2009, doi: https://doi.org/10.1016/j.jss.2008.11.185.

L. Bass, P. Clements, and R. Kazman, Software architecture in practice, third Edition. Massachusetts, USA: Pearson Education, 2012. [Online]. Available: https://www.amazon.com/Software-Architecture-Practice-3rd-Engineering/dp/0321815734

A. E. Sabry, “Decision model for software architectural tactics selection based on quality attributes requirements,” Procedia Comput Sci, vol. 65, pp. 422–431, 2015.

L. Dobrica and E. Niemela, “A survey on software architecture analysis methods,” IEEE Transactions on Software Engineering, vol. 28, no. 7, pp. 638–653, 2002, doi: 10.1109/TSE.2002.1019479.

N. B. Harrison and P. Avgeriou, “How do architecture patterns and tactics interact? A model and annotation,” Journal of Systems and Software, vol. 83, no. 10, pp. 1735–1758, 2010.

R. S. Pillutla and A. Alladi, “Methodology to bridge the gaps between engineering education and the industry requirements,” in Eurocon 2013, Zagreb, Croatia: IEEE, 2013, pp. 926–932. doi: 10.1109/EUROCON.2013.6625093.

P. M. Leidig and L. Cassel, “ACM Taskforce efforts on computing competencies for undergraduate data science curricula,” in Proceedings of the 2020 ACM Conference on Innovation and Technology in Computer Science Education, 2020, pp. 519–520.

E. Moreno Vélez, “Arquisoft90 Formación profesional y capacitación,” 2020. Accessed: May 31, 2020. [Online]. Available: https://www.linkedin.com/showcase/arquisoft90-entrenamiento-den-arquitectura-de-software

A. Van Deursen et al., “A Collaborative approach to teaching software architecture,” in Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE, in SIGCSE ’17. New York, NY, USA: Association for Computing Machinery, 2017, pp. 591–596. doi: 10.1145/3017680.3017737.

V. Garousi, G. Giray, E. Tüzün, C. Catal, and M. Felderer, “Closing the gap between software engineering education and industrial needs,” IEEE Softw, vol. 37, pp. 68–77, 2020, doi: 10.1109/MS.2018.2880823.

E. Lieh Ouh, B. Kok Siew Gan, and Y. Irawan, “Did our Course Design on Software Architecture meet our Student’s Learning Expectations?,” in 2020 IEEE Frontiers in Education Conference (FIE), Uppsala, Sweden: IEEE, 2020, pp. 1–9. doi: 10.1109/FIE44824.2020.9274014.

L. M. Barbosa Guerrero, “Arquitectura De Software Como Eje Temático De Investigación,” Ingeniería, pp. 78–85, 2006, doi: 10.1109/MC.2015.268.

T. Akhriza, Y. ma, and J. Li, “Revealing the Gap Between Skills of Students and the Evolving Skills Required by the Industry of Information and Communication Technology,” International Journal of Software Engineering and Knowledge Engineering, vol. 27, pp. 675–698, 2017, doi: 10.1142/S0218194017500255.

M. A. Unigarro Gutiérrez, “Un modelo educativo crítico con enfoque de competencias,” 2017. [Online]. Available: https://revistas.ucc.edu.co/index.php/dotr/article/view/1833/1921

A. Van Deursen et al., “A Collaborative approach to teaching software architecture,” in Proceedings of the Conference on Integrating Technology into Computer Science Education, ITiCSE, Seattle Washington USA: ACM, 2017, pp. 591–596. doi: 10.1145/3017680.3017737.

A. Lopes, I. Steinmacher, and T. Conte, “UML Acceptance: Analyzing the Students’ Perception of UML Diagrams,” in Proceedings of the XXXIII Brazilian Symposium on Software Engineering, in SBES 2019. New York, NY, USA: Association for Computing Machinery, 2019, pp. 264–272. doi: 10.1145/3350768.3352575.

D. C. Schmidt and Z. McCormick, “Producing and delivering a MOOC on pattern-oriented software architecture for concurrent and networked software,” in SPLASH 2013 - Proceedings of the 2013 Companion Publication for Conference on Systems, Programming, and Applications: Software for Humanity, Indianapolis Indiana USA: ACM, 2013, pp. 167–176. doi: 10.1145/2508075.2508465.

P. Ciancarini, S. Russo, and V. Sabbatino, “A Course on Software Architecture for Defense Applications,” in Proceedings of 4th International Conference in Software Engineering for Defence Applications, P. Ciancarini, A. Sillitti, G. Succi, and A. Messina, Eds., Cham: Springer International Publishing, 2016, pp. 321–330.

M. Palacin-Silva, J. Khakurel, A. Happonen, T. Hynninen, and J. Porras, “Infusing Design Thinking into a Software Engineering Capstone Course,” in 2017 IEEE 30th Conference on Software Engineering Education and Training (CSEE T), Savannah, Georgia, USA: IEEE, 2017, pp. 212–221. doi: 10.1109/CSEET.2017.41.

B. Wei, Y. Li, L. Deng, and N. Visalli, “Teaching Distributed Software Architecture by Building an Industrial Level E-Commerce Application,” in Studies in Computational Intelligence, vol. 845, Cham: Springer International Publishing, 2020, pp. 43–54. doi: 10.1007/978-3-030-24344-9_3.

C. R. Rupakheti and S. V Chenoweth, “Teaching Software Architecture to Undergraduate Students: An Experience Report,” in Proceedings - International Conference on Software Engineering, Florence Italy: IEEE Press, 2015, pp. 445–454. doi: 10.1109/ICSE.2015.177.

J. Joy and V. G. Renumol, “Activity oriented teaching strategy for software engineering course: An experience report,” Journal of Information Technology Education: Innovations in Practice, vol. 17, pp. 181–200, 2018, doi: 10.28945/4116.

Z. Li, “Using Public and Free Platform-as-a-Service (PaaS) based Lightweight Projects for Software Architecture Education,” in Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering Education and Training, Seoul South Korea: Association for Computing Machinery, 2020, pp. 1–11. doi: 10.1145/3377814.3381704.

L. Zhang, Y. Li, and N. Ge, “Exploration on theoretical and practical projects of software architecture course,” in 15th International Conference on Computer Science and Education, ICCSE 2020, Delft, Netherlands: IEEE, 2020, pp. 391–395. doi: 10.1109/ICCSE49874.2020.9201748.

O. E. Lieh and Y. Irawan, “Exploring Experiential Learning Model and Risk Management Process for an Undergraduate Software Architecture Course,” in 2018 IEEE Frontiers in Education Conference (FIE), San Jose, CA, USA: IEEE, 2018, pp. 1–9. doi: 10.1109/FIE.2018.8659200.

F. G. Silva, P. E. D. Dos Santos, and C. von Flach G. Chavez, “FLOSS in Software Engineering Education: Supporting the Instructor in the Quest for Providing Real Experience for Students,” in Proceedings of the XXXIII Brazilian Symposium on Software Engineering, Salvador Brazil: ACM, 2019, pp. 234–243. doi: 10.1145/3422392.3422493.

K. May, B. Yang, J. Zhou, Y. Lin, K. Zhang, and Z. Yu, “Outcome-based school-enterprise cooperative software engineering training,” in ACM International Conference Proceeding Series, Shanghai China: Association for Computing MachineryNew YorkNYUnited States, 2018, pp. 15–20. doi: 10.1145/3210713.3210722.

S. Mohan, S. Chenoweth, and S. Bohner, “Towards a Better Capstone Experience,” in Proceedings of the 43rd ACM Technical Symposium on Computer Science Education, in SIGCSE ’12. New York, NY, USA: Association for Computing Machinery, 2012, pp. 111–116. doi: 10.1145/2157136.2157173.

Z. S. H. Abad, M. Bano, and D. Zowghi, “How Much Authenticity Can Be Achieved in Software Engineering Project Based Courses?,” in Proceedings of the 41st International Conference on Software Engineering: Software Engineering Education and Training, in ICSE-SEET ’19. Montreal Quebec Canada: IEEE Press, 2019, pp. 208–219. doi: 10.1109/ICSE-SEET.2019.00030.

M. Niño and R. Anaya, “Hacia un enfoque basado en competencias para la enseñanza de la ingeniería de software utilizando investigación-acción,” in Encuentro Internacional de Educación en Ingeniería ACOFI, Cartagena de Indias, 21017. [Online]. Available: https://acofipapers.org/index.php/eiei/article/view/586

A. W. Kiwelekar and H. S. Wankhede, “Learning objectives for a course on software architecture,” in European Conference on Software Architecture, 2015, pp. 169–180.

S. M. Putman and T. Rock, Action Research: Using Strategic Inquiry to Improve Teaching and Learning. SAGE Publications, 2016. [Online]. Available: https://books.google.com.co/books?id=AX1ZDwAAQBAJ

Archivos adicionales

Publicado

2024-02-26 — Actualizado el 2024-02-25

Versiones

Cómo citar

Pantoja Yépez, W. L., Solano Alegría, A. F., Bandi, A., & Hurtado Alegría, J. A. (2024). Visión de las competencias en arquitectura de software integrando las perspectivas de la industria y la academia. REVISTA COLOMBIANA DE TECNOLOGIAS DE AVANZADA (RCTA), 1(43), 9–23. https://doi.org/10.24054/rcta.v1i43.2798 (Original work published 26 de febrero de 2024)

Número

Sección

Artículos

Artículos más leídos del mismo autor/a