UNIVERSIDAD ESTATAL DE MILAGRO FACULTAD DE CIENCIAS E INGENIERÍAS MATERIA: MODELAMIENTO DE SOFTWARE DOCENTE: ING. CÉSAR BARZOLA S TEMA DE TAREA: LENGUAJE DE MODELADO UML Y SUS DIFERENTES TIPOS GRUPO #1: DIEGO ALEJANDRO NEIRA GARCIA RANDY JOEL MEDINA NARVAEZ CARLOS GABRIEL CARRIEL MACIAS NIVEL: 3 PERIODO LECTIVO 2023-2024 Introducción El Lenguaje de Modelado Unificado (UML, por sus siglas en inglés, Unified Modeling Language) es un estándar fundamental en la ingeniería de software que facilita la visualización, especificación y construcción de sistemas complejos. UML utiliza una serie de anotaciones gráficas para representar de manera precisa y comprensible los elementos y relaciones que componen un sistema de software. Por lo tanto, el Lenguaje de Modelado Unificado (UML) es una herramienta para describir modelos que simplifican la realidad para comprender y desarrollar sistemas. Estos modelos proporcionan "planos" de un sistema, desde una visión global hasta detalles específicos de sus partes. UML se asemeja a otros campos de ingeniería, como la construcción o la industria cinematográfica, donde se utilizan planos y representaciones para comprender y diseñar (Pressman S, 2010). UML se basa en el paradigma de la orientación a objetos y es independiente de metodologías y lenguajes de programación. Facilita la especificación, visualización, construcción y documentación de sistemas software al permitir diferentes perspectivas según las necesidades de los usuarios, analistas o programadores. El "modelado estático" en UML, representado por diagramas de clases, muestra la estructura estática del sistema, describiendo elementos y sus relaciones internas. Es fundamental entender que un diagrama de clases en UML es sólo una vista estática del modelo del sistema y que una clase puede aparecer en varios diagramas. Los diagramas son herramientas de comunicación legibles y completas, proporcionando una estructura estática del sistema, mientras que la "estructura dinámica" representa las relaciones considerando la dimensión temporal, aunque no se aborda en este documento. Desarrollo 1. Significado de UML UML, que significa "Unified Modeling Language" en inglés (Lenguaje Unificado de Modelado en español), es un lenguaje de modelado visual utilizado en el campo de la ingeniería de software y la informática para diseñar y representar sistemas y procesos de software. Fue desarrollado originalmente por Grady Booch, James Rumbaugh e Ivar Jacobson en la década de 1990 y desde entonces ha sido ampliamente adoptado en la industria de desarrollo de software. El lenguaje unificado de modelado o UML (Unified Modeling Language) es el sucesor de la oleada de métodos de análisis y diseño orientados a objetos (OOA&D) que surgió a finales de la década de 1980 y principios de la siguiente. El UML unifica, sobre todo, los métodos de Booch, Rumbaugh (OMT) y Jacobson, pero su alcance llegará a ser mucho más amplio. En estos momentos el UML está en pleno proceso de estandarización con el OMG (Object Management Group o Grupo de administración de objetos) y estoy seguro de que se convertirá en el lenguaje de modelado estándar del futuro (Fowler & Scott, 2000). 2. Tipos de diagramas utilizados en UML Existen varios tipos de diagramas en UML que se utilizan para representar diferentes aspectos de un sistema de software. Los principales tipos de diagramas UML incluyen: 2.1. Diagrama de clases Representa la estructura estática del sistema, mostrando las clases, sus atributos, métodos y relaciones entre ellas. Ejemplo: 2.2. Diagrama de caso de uso Describe las interacciones entre actores (usuarios o sistemas externos) y el sistema, mostrando cómo se utilizan los casos de uso para lograr objetivos específicos. Ejemplo: 2.3. Diagrama de secuencia Muestra cómo las diferentes partes del sistema interactúan a lo largo del tiempo, representando las interacciones entre objetos en una secuencia temporal. Ejemplo: 2.4. Diagrama de actividades Muestra cómo las diferentes partes del sistema interactúan a lo largo del tiempo, representando las interacciones entre objetos en una secuencia temporal. Ejemplo: 2.5. Diagrama de componentes Describe la estructura de componentes del sistema y cómo se relacionan entre sí. Ejemplo: 2.6. Diagrama de paquetes Organiza elementos del modelo en grupos o paquetes lógicos para simplificar la gestión y la comprensión del sistema. Ejemplo: 2.7. Diagrama de despliegue Muestra cómo se despliegan los componentes del sistema en el hardware físico. Ejemplo: 2.8. Diagrama de tiempo Representa cómo evoluciona un sistema a lo largo del tiempo, mostrando eventos y duraciones. Ejemplo: 2.9. Diagrama de perfil Extiende UML para adaptarse a necesidades específicas del dominio o la industria mediante la creación de perfiles personalizados. Ejemplo: 2.10. Diagrama de comunicación Es un tipo de diagrama que muestra las interacciones entre objetos utilizando mensajes secuenciados. Ejemplo: 3. Herramientas de UML Cada una de estas herramientas tiene sus propias ventajas y desventajas, por lo que la elección dependerá de tus necesidades específicas y preferencias. Ten en cuenta factores como la complejidad del proyecto, el tamaño del equipo y la facilidad de uso al seleccionar la herramienta de modelado UML adecuada (Quintero, Anaya de Páez, Marín, & Bilbao Lopéz, 2005). 3.1. Enterprise Architect Enterprise Architect es una herramienta de modelado UML poderosa y versátil que permite a los equipos de desarrollo crear, visualizar y documentar modelos de sistemas complejos. Su capacidad para integrarse con otros lenguajes y tecnologías lo convierte en una opción sólida para proyectos de gran envergadura. Ofrece una amplia variedad de diagramas UML y herramientas de trazabilidad que facilitan la gestión de requisitos y la colaboración entre equipos. 3.2. IBM Rational Rose Rational Rose de IBM ha sido un referente en el mundo del modelado UML durante muchos años. Esta herramienta ofrece un conjunto completo de características para el diseño y la documentación de sistemas, lo que la hace ideal para proyectos empresariales críticos. Su enfoque en la ingeniería de software orientada a objetos y su soporte para múltiples lenguajes de programación la hacen especialmente valiosa para organizaciones grandes. 3.3. Lucidchart Lucidchart es una herramienta de diagramación en línea que simplifica la creación de diagramas UML. Su interfaz intuitiva y capacidades de colaboración en tiempo real hacen que sea fácil de usar y adecuada para equipos distribuidos. Aunque no es tan avanzada como algunas de las soluciones empresariales, es una opción sólida para proyectos de tamaño mediano que valoran la accesibilidad y la colaboración. 3.4. Visual Paradigm Visual Paradigm es una suite completa de herramientas de modelado UML que abarca una amplia gama de diagramas y técnicas de modelado. Es especialmente apreciada por su facilidad de uso y su capacidad para adaptarse a diferentes estilos de desarrollo de software. La herramienta facilita la creación de modelos visualmente atractivos y ofrece características de colaboración útiles. 3.5. Astah Anteriormente conocida como "JUDE", Astah es una herramienta de modelado UML con una interfaz fácil de usar que es adecuada para usuarios principiantes y experimentados. Proporciona una amplia variedad de diagramas UML y se integra bien con otras herramientas de desarrollo. Astah es una opción sólida para proyectos de tamaño mediano y equipos que valoran la simplicidad y la eficiencia. 3.6. PlantUML PlantUML es una herramienta única que se destaca por su enfoque en la creación de diagramas UML mediante una sintaxis textual. Esto lo hace especialmente atractivo para aquellos que prefieren escribir el código de diagramas en lugar de dibujarlos manualmente. PlantUML es de código abierto y se integra bien con varias plataformas de desarrollo y documentación. 3.7. Dia Dia es una herramienta de código abierto que ofrece capacidades de diagramación UML y es adecuada para proyectos más simples o aquellos que buscan una opción gratuita. Aunque su conjunto de características puede no ser tan extenso como algunas de las herramientas comerciales, Día sigue siendo una opción valiosa para crear diagramas UML de manera rápida y sencilla. 3.8. ArgoUML ArgoUML es otra herramienta de código abierto que permite crear diagramas UML. Si bien puede carecer de algunas de las características avanzadas que se encuentran en las herramientas comerciales, es una opción sólida para proyectos de tamaño mediano que buscan una solución gratuita y de código abierto para el modelado UML. 3.9. Creately Creately es una herramienta en línea que se destaca por su facilidad de uso y colaboración en tiempo real. Ofrece capacidades de diagramación UML y es especialmente adecuada para equipos que necesitan crear diagramas de manera rápida y compartirlos con otros miembros del equipo de manera eficiente. 3.10. Draw.io Draw.io es otra herramienta de diagramación en línea que admite la creación de diagramas UML. Su integración con varias plataformas de almacenamiento en la nube y su interfaz intuitiva hacen que sea fácil de usar y adecuada para proyectos colaborativos en línea. 4. Diagrama de contexto y su uso El "diagrama de contexto" es una herramienta de modelado que se utiliza en la ingeniería de software y en la ingeniería de sistemas para representar la interacción entre un sistema y su entorno. Su objetivo principal es proporcionar una vista de alto nivel de cómo se comunica un sistema con otros sistemas, actores externos o componentes que lo rodean (Pedriquez, 2022). Aquí te explico su uso y te proporciono tres ejercicios para practicar: 4.1. Usos del diagrama de contexto El diagrama de contexto se utiliza para: 1. Visualizar la Interacción: Muestra cómo un sistema se comunica con actores externos, sistemas o componentes. Esto ayuda a comprender las interfaces y los flujos de información. 2. Establecer Límites: Define claramente los límites del sistema que se está modelando y ayuda a identificar lo que está dentro y fuera de ese sistema. 3. Identificar Actores Externos: Permite identificar y nombrar a los actores o entidades externas que interactúan con el sistema. 4. Simplificar la Complejidad: Ofrece una vista de alto nivel que simplifica la comprensión inicial del sistema antes de profundizar en detalles más específicos. 4.2. Ejercicios de diagrama de contexto En cada uno de los ejercicios, asegúrate de identificar claramente el sistema central, los actores externos y las líneas de comunicación entre ellos. Esto ayudará a visualizar la interacción general y a comprender cómo se conecta el sistema con su entorno. Los diagramas de contexto son una herramienta valiosa para la comunicación y la comprensión de sistemas complejos, y estos ejercicios te ayudarán a practicar su creación. 4.2.1. Sistema de matricula Crea un diagrama de contexto sobre un sistema de creación de una matrícula 4.2.2. Sistema de cajero automático Elabora un ejemplo de diagrama de contexto sobre un sistema de cajero automático 4.2.3. Máquina de estacionamiento Elabora un ejemplo de diagrama de contexto sobre un sistema de cajero automático Conclusión En conclusión, las herramientas de UML son fundamentales para el diseño y la documentación de sistemas de software y sistemas en general. Cada una de las herramientas mencionadas tiene sus propias características y ventajas, lo que las hace adecuadas para diferentes tipos de proyectos y equipos. Al elegir una herramienta de modelado UML, es importante considerar factores como la complejidad del proyecto, el tamaño del equipo, la facilidad de uso y la colaboración. Por otro lado, el diagrama de contexto es una herramienta esencial en la ingeniería de software y la ingeniería de sistemas para comprender la interacción entre un sistema y su entorno. Su uso ayuda a visualizar cómo se comunica un sistema con actores externos y a establecer límites claros para el sistema que se está modelando. Los ejercicios proporcionados son una excelente manera de practicar la creación de diagramas de contexto y mejorar tus habilidades en el modelado de sistemas. En general, tanto las herramientas de UML como los diagramas de contexto son recursos valiosos para los profesionales de la informática y la ingeniería, ya que facilitan la comunicación, la comprensión y la documentación de sistemas complejos. Referencias bibliográficas Fowler, M., & Scott, K. (2000). UML GOTA A GOTA. Ciudad de México: PEARSON EDUCACION. Obtenido de https://books.google.com.ec/books?id=AL0YkFeaHwIC&printsec=frontcover& hl=es&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false Pedriquez, D. (29 de Junio de 2022). ¿Qué es un diagrama de contexto (y cómo crear uno)? Obtenido de Venngage: https://es.venngage.com/blog/diagrama-decontexto/ Pressman S, R. (2010). Ingeniería de Software un enfoque práctico (Septima ed.). Mexico: McGraw-Hill. Obtenido de https://www.ingebook.com/ib/NPcd/IB_BooksVis?cod_primaria=1000187&cod igo_libro=4272 Quintero, J. B., Anaya de Páez, R., Marín, J. C., & Bilbao Lopéz, A. (2005). UN ESTUDIO COMPARATIVO DE HERRAMIENTAS PARA EL MODELADO CON UML. Universidad Eafit, 51(137), 60-76. Obtenido de https://repository.eafit.edu.co/handle/10784/17176