Formulación de un Perfil UML para la Documentación de Sistemas Informáticos Bajo el Paradigma de Programación Orientada a Protocolos
DOI:
https://doi.org/10.62876/tekhn.v26i2.6160Palabras clave:
Documentación , POP, Swift, UML, Diagrama de PerfilResumen
En la actualidad, en el desarrollo de sistemas para el entorno Apple e incluso fuera de éste, se utiliza el lenguaje de programación Swift, considerado como el responsable del surgimiento del paradigma Programación Orientada a Protocolos (POP), POP presenta mecanismos de abstracción enfocados en proveer soluciones a defectos encontrados en el paradigma de Programación Orientada a Objetos (POO). Aunque POP es un paradigma ampliamente usado; no existe un estándar para su representación dentro del Lenguaje de Modelado Unificado UML. Adicionalmente, el nivel de madurez del lenguaje Swift, afecta procesos y herramientas dentro del ecosistema del lenguaje, como es el caso del compilador de documentación DocC. Por lo anterior, en este trabajo se propone una extensión de UML mediante la formulación de un perfil POP, definido por un conjunto de estereotipos, restricciones y valores etiquetados que representan las principales propiedades a nivel de diseño, como protocolos, estructuras y extensiones. De esta manera, se introduce una extensión formal para la representación de este nuevo paradigma en UML. Este aporte refuerza el papel de la documentación como una herramienta de descubrimiento de diseño a partir de código, además de contribuir con el avance del lenguaje Swift, permitiéndole desarrollos basados en Model Driven Engineering, MDE o Model Driven Development (MDD).
Palabras clave: Documentación, POP, Swift, UML, Diagrama de Perfil
Descargas
Citas
P. Clements, L. Bass, y D. Garlan, Documenting software architectures: Views and beyond. Boston, MA: Addison-Wesley, 2003.
I. Sommerville, Software Engineering. Boston, MA: Addison-Wesley, 2020.
Design Workshop, Landscape architecture documentation standards: Principles, guidelines, and best practices. Chichester, England: John Wiley & Sons, 2015.
H. Gomaa, Software Modeling and Design: UML, Use Cases, Patterns, and Software Architectures. Cambridge, England: Cambridge University Press, 2011.
A. S. Gillis y V. Silverthorne, “integrated development environment (IDE)”, Software Quality, 2018. [En línea]. Disponible en: https://www.techtarget.com/searchsoftwarequality/definition/integrated-development-environment. [Consultado: 23-abr-2023].
A. Gaidukov, “An introduction to protocol-oriented programming in swift”, Toptal Engineering Blog, 2016. [En línea]. Disponible en: https://www.toptal.com/swift/introduction-protocol-oriented-programming-swift. 1 [Consultado: 23-abr-2023].
Izertis, “Introducción a la programación orientada a protocolos con Swift”, Solid GEAR, 2017. [En línea]. Disponible en: https://ahorasomos.izertis.com/solidgear/introduccion-programacion-orientada-protocolos-swift/. [Consultado: 23-abr-2023].
P. Carrascal, “¿Qué es la programación orientada a protocolos?”, Quora, 2018. [En línea]. Disponible en: https://es.quora.com/Qu%C3%A9-es-la-programaci%C3%B3n-orientada-a-protocolos. [Consultado: 23-abr-2023].
G. Booch, J. Rumbaugh, y I. Jacobson, The unified modeling language user guide. 2a ed. Boston, MA: Addison-Wesley, 2005.
R. Rodríguez y M. Goncalves, “Perfil UML para el modelado visual de requisitos difusos”, Enl@ce, vol. 6, núm. 3, pp. 29–46, 2009.
A. LeClair, S. Haque, L. Wu, y C. McMillan, “Improved code summarization via a graph neural network”, ICPC '20: Proceedings of the 28th International Conference on Program Comprehension, pp. 184–195, 2020.
Apple, “Swift-DocC Is Now Open Source”, Swift.org, 13-oct-2021. [En línea]. Disponible en: https://www.swift.org/blog/swift-docc/. [Consultado: 23-abr-2023].
“TIOBE Index”, TIOBE, 12-dic-2022. [En línea]. Disponible en: https://www.tiobe.com/tiobe-index/. [Consultado: 12-dic-2022].
A. Terrasa, J. Private, y G. Tremblay, “Documentation generators support for program comprehension: Where are we?”, feb. 2015.
A. Soukka, T. Hastrup, T. J. Lukka, y B. Fallenstein, “Bridging Javadoc and design documentation via UML diagram image maps”, 2021.
Apple, “The Swift Programming Language. Swift 5.7”, Swift.org, 2023. [En línea]. Disponible en: https://docs.swift.org/swift-book/documentation/the-swift-programming-language. 1
OMG, “OMG Unified Modeling Language (OMG UML) Version 2.5.1”, 2017.
D. Abrahams, “Protocol-Oriented Programming in Swift”, 2015.
Apple, “Document Revision History”, Swift.org, 2023. [En línea]. Disponible en: https://docs.swift.org/swift-book/documentation/the-swift-programming-language/revisionhistory.
OMG, “About the unified modeling language specification version 2.5.1”, Omg.org, 2023. [En línea]. Disponible en: https://www.omg.org/spec/UML/2.5.1/About-UML.
Apple, “Sequence and collection protocols”, Apple Developer Documentation, 2023. [En línea]. Disponible en: https://developer.apple.com/documentation/swift/sequence-and-collection-protocols. [Consultado: 24-abr-2023].
Publicado
Cómo citar
Número
Sección
Licencia
Derechos de autor 2023 Tekhné

Esta obra está bajo una licencia internacional Creative Commons Atribución-NoComercial-CompartirIgual 4.0.