Curso N° 2 – Análisis y diseño con UML


En este curso se estudian las principales herramientas del UML con el objeto de lograr que el equipo completo tenga un conocimiento uniforme, entienda todos los conceptos del mismo modo y se logre un lenguaje común dentro del equipo que permita comprenderse correctamente.

Se estudian en profundidad los diagramas de casos de uso, clases, actividades, estados, secuencias, componentes y despliegue, y con mayor énfasis en los dos primeros, realizándose ejercicios prácticos y aplicando las mejores prácticas de la ingeniería de software.

El objetivo es escribir casos de uso correctamente y con las mejores técnicas, realizar sus modelos de clases lógicos, emplear adecuadamente diagramas de actividades y de estados y modelar la arquitectura de los sistemas con modelos de componentes y despliegue. Con estas técnicas se apuntará a elaborar Especificaciones de Requisitos de Software (ERS) de calidad, esto es, completas, coherentes, no ambiguas y verificables para su desarrollo independiente del enfoque, ágil o formal.

Detalle del contenido del curso:

  • Evolución del análisis de sistemas hasta la orientación a objetos y aparición del UML
  • Distinción entre metodología, método y lenguaje de modelado
  • El UML dentro del mapa actual de la ingeniería de software
  • Objetivos del UML
  • Mecanismos comunes del UML
  • Modelos que propone el UML
  • Herramientas del UML; revisión del mayor cambio entre las versiones 1.5 y 2.0
  • El porqué de las herramientas del UML
  • Ubicación de la técnica de modelado con casos de uso dentro del contexto de la estructura estándar que se definió para la ingeniería de software
  • Objetivos del empleo de los casos de uso además de la administración de requisitos (administración del proceso de desarrollo, del plan de versiones, del grupo de desarrollo, de las pruebas de aceptación, etc.)
  • El modelo de casos de uso y los diagramas de casos de uso El caso de uso: concepto y técnicas para establecer su alcance, sin errar por exceso o por defecto
  • Los actores: concepto, técnicas para no confundir los roles y técnicas de reutilización a nivel organizacional
  • Distinción entre actores de negocio, actores de software, actores principales, actores colaboradores, roles, trabajadores de negocio, usuarios, clientes y stakeholders
  • El proceso de detección de los casos de uso del dominio del problema: técnicas para asegurar completitud del modelo
  • Verificación de los casos de uso con el usuario (asegurarse de que los casos de uso son los correctos)
  • Redacción de la documentación de los casos de uso: empleo de diversos grados de formalización según los objetivos que se esperan obtener de los casos de uso (por ejemplo, técnicas de numeración de pasos si luego se esperan detectar escenarios para los casos de prueba)
  • Auto-corrección de los casos de uso y detección de actores colaboradores faltantes por medio de técnicas específicas (scripting)
  • Discusión de diversos tipos de plantillas de documentación de casos de uso
  • Discusión de las secciones posibles de las plantillas: resumen ejecutivo, precondiciones, poscondiciones, invariantes, subflujos, excepciones, consideraciones de diseño, observaciones, documentación anexa, glosario, reglas de negocio, interfaces, etc.
  • Documentación de casos de uso con diversas técnicas: texto, escenarios, diagramas, scripting Asociaciones actor-caso de uso: cómo se deben modelar y qué adornos se pueden emplear
  • Asociaciones actor-actor: cómo colaboran con el estilo de los diagramas y la reutilización de conceptos
  • Asociaciones caso de uso-caso de uso: cómo colaboran con el estilo de los diagramas, la reutilización de conceptos y la factorización de la funcionalidad
  • Técnicas para describir los caso de uso: descripción del curso normal, descripción de las excepciones, descripción de los errores
  • Empleo de subflujos para mejorar la lectura de los casos de uso
  • Generación de nuevos casos de uso por inclusión y extensión
  • Optimización de la documentación cuando existe mucha extensión de casos de uso
  • Optimización de los casos de uso obtenidos por factorización haciéndolos abstractos
  • Realización de los casos de uso y su traza con el modelo lógico
  • Técnicas de elaboración de los casos de prueba a partir de los casos de uso
  • Diagramas de actividades como soporte de los casos de uso
  • Criterios para la elaboración de diagramas de actividades con estilo
  • Traspaso del modelo de casos de uso al modelo de clases: realización y traza entre modelos
  • Clases, objetos y miembros
  • Asociaciones unarias, binarias y n-arias. Reducción del grado de una asociación
  • Clases asociaciones; restricción de las clases asociación
  • Bucles de asociaciones redundantes y no redundantes; eliminación de redundancias
  • Generalización simple y múltiple; generalizaciones con estilo y principio de Liskov
  • Agregación simple y de composición
  • Técnicas para la elaboración de diagramas con estilo
  • Ejercitación de diagramas de clases
  • Diagramas de paquetes para la organización de los modelos
  • Mecanismos de extensibilidad del UML: notas, estereotipos, restricciones y valores etiquetados
  • Diagramas de secuencias (ejercitación básica)
  • Estados y eventos, acciones y actividades
  • Diagramas de estados con estados concurrentes e históricos
  • Ejercitación de diagramas de estados
  • Diagramas de componentes y de despliegue
  • Traspaso de las generalizaciones al modelo relacional
  • Recomendaciones acerca de la bibliografía más adecuada existente en el mercado sobre esta temática

Duración: 20 horas reloj

Equipamiento para los asistentes: una PC al menos cada dos asistentes con Enterprise Architect y
Microsoft Word o compatible


adminCurso N° 2 – Análisis y diseño con UML