Construcción y evolución de software

DATOS GENERALES

Código ISWD633
Pénsum 2020
Horas semanales 9
Tipo Obligatoria
Asignaturas pre-requisitos Diseño de Software
Asignaturas co-requisitos Ninguna
Campo de formación
Unidad de organización curricular Profesional

RESULTADOS DE APRENDIZAJE

De conocimiento
Comprender los métodos de diseño detallados y anotaciones, herramientas de implementación, estándares y estilos de codificación, gestión de la configuración y problemas de mantenimiento.
De destrezas Evaluar las tecnologías y criterios idóneos para la gestión y ejecución del proceso de construcción y mantenimiento de software.
De valores y actitudes Actuar con ética profesional y trabajo en equipo para facilitar la construcción y mantenimiento de un sistema software.

CONTENIDO

Capítulo 1 Ingeniería inversa, mantenimiento y evolución
  1. ¿Qué es Ingeniería inversa?, técnicas, otros;
  2. Reingeniería de procesos y de software;
  3. Tipos de mantenimiento de software, y
  4. Proceso de mantenimiento y actividades.
Capítulo 2 Gestión de la configuración de software
  1. Conceptualización de la gestión de configuración de software;
  2. Relación con otros procesos del ciclo de vida del software;
  3. Normas y mejores prácticas (ISO828-2012, otros);
  4. Gestión del proceso de configuración de software, y
  5. Herramientas de soporte a la gestión de configuración.
Capítulo 3 Consideraciones prácticas de construcción
  1. Fundamentos y gestión de la construcción de software;
  2. Clean coding: Reglas generales y de diseño;
  3. Tips de entendibilidad (understandability) y nombrado;
  4. Reglas de funciones y comentarios;
  5. Reglas de código fuente, objetos y estructuras, y
  6. Pruebas y code smell.
Capítulo 4 Tecnologías en la construcción de software
  1. API;
  2. Orientación a objetos;
  3. Programación defensiva, diseño por contrato, aserciones;
  4. Técnicas de construcción;
  5. Middleware;
  6. Software distribuido, y
  7. Sistemas heterogéneos.
Capítulo 5 Submódulos, Librerías, y APIs
  1. Introducción a los submódulos
  2. Uso de submódulos para reutilizar código
  3. Construcción, Despliegue, versionamiento y uso de librerias
  4. Documentación de APIS
  5. Apis Predecibles, Apis Seguras
  6. Apis eficientes de red (network)
  7. Evolución de un API
  8. Problemas con la reutilización y personalización de software a gran escala
Capítulo 6 Desarrollo y Operaciones
  1. Introducción cultura DevOps
  2. Ciclo de Vida de DevOps
  3. Herramientas de Construcción (build) y Pruebas (testing)
  4. Herramientas de releases y versionamiento
  5. Despliegue, Operación y Monitoreo
  6. Automatización del ciclo de vida

Back to top