Contenidos

Programa Analítico

1. Desarrollo de Software

Objetivo: Ubicar el papel de las técnicas de modelamiento y métodos de desarrollo en el marco del ciclo de desarrollo de software.

Contenidos: Necesidad de una metodología de desarrollo de software. Ciclo de vida de un sistema. Etapas del ciclo de desarrollo. Modelo clásico. Tipos de sistemas: en línea, tiempo real, apoyo a la toma de decisiones, basado en conocimiento. Roles necesarios para el desarrollo de software. Metodologías de desarrollo de software: orientado a dato, orientado a función, orientación a objetos, métodos ágiles, métodos formales.

2. Desarrollo de Software en la Orientación a Objetos

Objetivo: Repaso de los fundamentos de la programación orientada a objetos, la introducción de estos conceptos en el desarrollo de software y los objetivos perseguidos por los métodos de diseño orientado a objetos.

Contenido: Ciclo de Desarrollo de Software. Concepto de Metodología de Desarrollo de Software. Desarrollo Convencional vs Desarrollo Orientado a Objetos. Conceptos de la orientación a objetos: objeto, método, clase, instancia, herencia, polimorfismo, clases abstractas, subclases, superclases, herencia múltiple, cohesión, acoplamiento. Componentes de software reusable.

3.- Unified Modelling Language – UML

Objetivo: Introducir al alumno a un nuevo lenguaje standard para representar los diferentes aspectos de un sistema.

Contenido: Conceptos básicos de UML. Objetivos, Arquitectura 4 Vistas: Vista de Diseño, Vista de Implementación, Vista de Casos de Uso, Vista de Deployment, Vista de Proceso.

4.- Diagramas Estructurales

Objetivo: Estudiar en detalle los diagramas UML que permiten modelar los aspectos estáticos de un sistema.

Contenido: Diagrama de Clases: clases, relaciones entre clases (herencia, agregación, composición, asociación), roles, cardinalidad, métodos, atributos, paquetes, interfaces. Diagrama de objetos: instancias. Diagrama de Componentes: componentes físicos, componentes lógicos, paquetes interfaces, etc. Diagrama de Deployment: nodos, relaciones entre nodos.

5.- Diagramas de Comportamiento

Objetivo: Estudiar en detalle los diagramas UML que permiten modelar los aspectos de comportamiento de un sistema.

Contenidos: Diagrama de Casos de Uso: casos de uso, relaciones entre casos de uso (inclusión, extensión, herencia), descripción de casos de uso, casos de uso de curso básico, casos de uso de curso alternativo, escenarios, etc. Diagramas de Interacción: Diagrama de Secuencia, Diagrama de Colaboración, objetos, mensajes entre objetos, tiempo de vida de un mensaje/objeto, etc. Diagrama de Estados: estado, transición entre estados, actividades, eventos, estado inicial/final etc. Diagrama de Actividades: actividades, transición entre actividades, sincronización, paralelismo, estado inicial/final, etc.

6.- Proceso Unificado (Unified Process)

Objetivo: Describir un nuevo método de desarrollo de software orientado a objetos, el cual utiliza la notación UML.

Contenido: Desarrollo basado en componentes. Frameworks y design patterns. Conceptos de modelamiento primarios: tipos, colaboraciones y refinamiento. Concepto de Paquetes. Niveles de modelamiento: Modelo de negocios y del dominio del problema, especificación de componentes o del sistema (comportamiento externamente visible) y diseño interno de componentes o sistema (estructura y comportamiento interno). Principios: abstracción, precisión y composición de partes. Estimación de tiempo de desarrollo con el método Use Case Point.

7.- UML 2.0

Objetivo: Describir y comparar los nuevos diagramas de UML 2.0.

Contenido: Diagrama de Comunicación. Diagrama de Estructura Compuesta. Diagrama de Comunicación. Diagrama de Paquetes. Diagrama de Timing.

8.- Herramientas de Desarrollo

Objetivo: Introducir algunas herramientas de desarrollo basadas en UML

Contenido: Breve descripción de algunas herramientas CASE basadas en UML. Discusión de las características de cada una de las herramientas. Comparación de las diferentes herramientas. Ejemplo de aplicaciones y usos con las herramientas Rational.