PRESENTACIÓN
Previo a la justificación y necesidad del evento en el ámbito académico, social, empresarial o institucional, resulta pertinente aclarar las siglas incluidas en el título del evento “UML con herramienta CASE y educación STEAM integrada”:
- UML: Unified Modeling Language. Es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad, respaldado por el Object Management Group (OMG).
- CASE: Computer Aided Software Engineering. Las herramientas CASE (Ingeniería de Software Asistida por Computadora) son diversas aplicaciones o programas informáticos destinados al aumento de la productividad en el desarrollo de software, reduciendo el costo en términos de tiempo y de dinero.
- STEAM: Science–Technology–Engineering–Art– Mathematics. Es un sistema educativo innovador que busca romper las barreras que han sido impuestas por la educación tradicional, dando énfasis en los pilares de la ciencia, la tecnología, la ingeniería, el arte y las matemáticas. El enfoque pedagógico STEAM está centrado en el aprendizaje práctico y experimental, animando a los alumnos a jugar, explorar, experimentar, crear y aprender haciendo. Al incorporar aplicaciones del mundo real en el aula, la educación STEAM ayuda a los alumnos a desarrollar el pensamiento crítico y las habilidades para resolver problemas, que son esenciales para tener éxito en el mundo actual.
La elaboración de modelos constituye una actividad fundamental para todo ingeniero: los ingenieros electrónicos elaboran modelos de circuitos; los mecánicos de motores; los ambientales y forestales modelos hidráulicos; etc. Los arquitectos elaboran modelos de casas y edificaciones; los diseñadores de moda, de ropa; es decir, los modelos están presentes o inmanentes en una gran cantidad de profesiones. ¿Cuáles modelos elaboran los ingenieros de software y demás programas relacionados con las ciencias de la computación? La respuesta es que elaboran modelos para los productos de software tan presentes e importantes en el mundo de hoy y para el futuro cercano y lejano. Estos modelos pueden ser estáticos o dinámicos y se realizan con un lenguaje de modelado conocido como UML (Unified Modeling Language), creado por los “tres amigos” Booch, Rumbaugh, Jacobson en 1975. La calidad del software depende en gran medida de los modelos estáticos estructurales elaborados (diagramas de clases), de los diagramas dinámicos de comportamiento (diagramas de objetos, casos de uso, secuencia), y de los diagramas de despliegue para la distribución del producto final de software.
El mundo de la programación orientada a objetos y de la programación multiparadigma conlleva una gran “Torre de Babel” en lenguajes de programación de propósito general: C, C++, C#, Java, Python, R, Go y un gran etcétera). Sin embargo, los lenguajes de modelado de software han sido pocos y UML se ha convertido en el estándar mundial por excelencia. Gran parte de los programas para dibujar diagramas estructurados (Lucidchart, Dia, Draw.io) han incorporado al UML pero no generan código fuente a partir de los modelos realizados. También algunos IDE como NetBeans o Visual Studio.Net disponen de plugins para generar de manera automática los diagramas de clases de la aplicación desarrollada.
Las herramientas CASE (Computer Aided Software Engineering) disponibles en el mercado son los programas más potentes para trabajar con UML por sus interfaces Hombre-Máquina o Humano-Computador amigables, intuitivas, fáciles de manejar. Pero el potencial de las herramientas CASE más atractivo para los desarrolladores de software constituye la generación de código automático a partir de los modelos elaborados en UML, incluso también permiten procesos de ingeniería inversa, que es la generación de los diagramas de clase a partir del código fuente.
El aprendizaje de UML se facilita y ludifica con la Educación STEAM (Science – Technology - Engineering – Art - Mathematics), con su componente Art representada en la literatura universal, propiciando de esta manera nexos con las humanidades durante el proceso formativo de ingenieros de software y programas académicos afines.
OBJETIVO GENERAL
Crear modelos de software con UML mediante una herramienta CASE y la aplicación de la educación STEAM a la ingeniería de software orientada a objetos.
OBJETIVOS ESPECÍFICOS
- Comprender la importancia de la creación de modelos (planos de software) durante el proceso de desarrollo de software.
- Utilizar herramientas CASE para el diseño de diagramas UML de estructura (clases, objetos, paquetes, etc.) y de comportamiento (casos de uso, máquina de estados, secuencia, etc.)
- Aplicar la educación STEAM en el aprendizaje de la ingeniería de software orientada a objetos.
CONTENIDO DEL PROGRAMA (UNIDADES O MÓDULOS)
- Elaborar modelos estructurales en UML basados en procesos de abstracción de clases y objetos para la solución de problemas del sector productivo.
- Elaborar modelos de comportamiento UML, dinámicos, asociados a los diagramas estructurales ya definidos.
- Comprender las ventajas del uso de herramientas CASE en el proceso de desarrollo de software.
- Incorporar estilos de aprendizaje basados en la educación STEAM aplicada a la Ingeniería de Software.
Fundamentos de UML
- Diagramas estructurales
- Diagramas de comportamiento
Herramientas CASE
- StarUML
- Enterprise Architect
- Visual Paradigm
Educación STEAM integrada
- De STEM a STEAM
- Proyectos STEAM en Colombia
- Proyectos STEAM en el mundo
Caso práctico #1 con StarUML
- Modelamiento de una obra literaria (Art)
- Paradigma de programación orientado a objetos (Science → Computer)
- Modelos manuscritos en UML de la obra literaria (Engineering)
- Transcripción de los modelos con StartUML (Technology)
- Orden de magnitud de un algoritmo (Mathematics)
- Sistema para una agencia de viajes
- Diagramas estructurales
- Diagramas de comportamiento
ALCANCE
Se espera que los participantes generen modelos sólidos con el UML, bien estructurados y documentados para productos de software. Además, se forja motivación en el estudio y profundización de la ingeniería de software orientada a objetos a partir del desarrollo del pensamiento crítico y las habilidades para resolver problemas reales de las organizaciones don el enfoque educativo STEAM.
INTENSIDAD / DURACIÓN
HORARIO
DIRIGIDO A
- Desarrolladores de software interesados en la elaboración de planos para la documentación de aplicaciones mediante diagramas UML estructurales y de comportamiento.
- Docentes de ingeniería de software, Análisis de requisitos, Diseño del sistema y demás asignaturas que requieran modelos propios del UML.
- Público en general que tenga conocimientos básicos de ingeniería de software o de
- programación orientada a objetos en algún lenguaje de propósito general multiparadigma.