Temario
Introducción al Curso
Conceptos Básicos de Ingeniería de Software
Etapas típicas en el desarrollo de software
Diferentes procesos de desarrollo de software
Ingeniería de Requerimientos
Gestión de Proyectos
Testing
Metodología Scrum
Orígenes
Filosofía
Roles
Ceremonias
Tareas
Herramientas
Lenguaje UML
Bases y notaciones de UML
Diagramas Estáticos (en especial Diag. de Clases, Diag. de Deploy, Diag. de Packages)
Diagramas Dinámicos (en especial Diag. de Secuencia, Diag. de Colaboración, Diag. de Actividad)
Arquitectura de Software
Definición, motivación y evolución
Requerimientos No-Funcionales y la Arquitectura de Software
Documentación de la Arquitectura
Estilos Arquitectónicos (en especial N Capas, Cliente/Servidor, Pipes&Filters, Blackboard, SOA)
Análisis & Diseño Orientado a Objetos
Análisis OO (en especial Estructura & Comportamiento)
Diseño OO (en especial Interfaces, Controladores, Fábricas, Diseño del Comportamiento y Diseño de la Estructura)
Patrones de Diseño
De Creación: Factory Method, Singleton
De Estructura: Composite, Proxy
De Comportamiento: Template Method, Observer, State, Strategy
Elaboración de Proyecto Final
Evaluación & Defensa de Proyecto Final