Licenciatura en Ciencias Áreas terminales en Matemáticas, Física, Bioquímica y Biología Molecular, y Ciencias Computacionales y Computación Científica
Prerrequisitos:
Implementa algoritmos y comprende los conceptos teóricos de los lenguajes de programación, tales como analizador léxico, sintáctico y semántico; funcionamiento de variables y constantes, datos y tipos de datos, expresiones y sentencias, manejo de excepciones y procedimientos, y tipos de datos abstractos y módulos.
Antecedentes Recomendadas:
Ninguna
Consecuentes Recomendadas:
Ninguna
Presentación de la unidad de aprendizaje:
Esta UA ofrece métodos y técnicas para desarrollar y mantener software que es particularmente importante en el desarrollo intensivo de sistemas de software complejos. Se enfoca hacia la especificación precisa de la estructura y el comportamiento de sistemas, la implantación de estas especificaciones, las actividades requeridas para asegurar que se cumpla con las especificaciones y metas del mundo real, la evolución de sistemas durante el tiempo y a través de familias de sistemas. Se involucra con los procesos, métodos y herramientas para el desarrollo intensivo de sistemas de software de alta calidad de manera económica y oportuna. Este curso, busca proporcionar bases metodológicas, herramientas y técnicas para desarrollar sistemas de software en general.
Propósito de la unidad de aprendizaje:
Conocer los métodos, herramientas y técnicas para desarrollar sistemas de software, y adquirirá conocimientos en el análisis de la especificación de requisitos, diseño de la arquitectura, la implementación y validación para dimensionar y desarrollar sistemas de software considerados formales, críticos, de seguridad, del ámbito industrial, de tiempo real, donde se requiere hacer consideraciones de especificación y diseño de alta confiabilidad.
Competencias profesionales:
Contribución al perfil de egreso:
Secuencia temática:
I Introdución.
Introducción a la ingeniería del software.
Sistemas críticos.
Procesos del software.
Actividades del proceso del software.
II Requisitos.
Requisitos del software.
Modelos del sistema.
Especificación de sistemas críticos.
Especificación formal.
III Procesos.
Introducción al diseño arquitectónico.
Arquitecturas de sistemas distribuidos.
Diseño orientado a objetos.
Diseño de software de tiempo real.
Diseño de interfaces de usuario.
IV Desarrollo.
Desarrollo de software rápido.
Reutilización del software.
Ingeniería del software basada en componentes.
Desarrollo de sistemas críticos.
V Verificación y validación.
La verificación y la validación.
Pruebas del software.
Validación de sistemas críticos.
Criterios de Evaluación:
Exámenes parciales: 30%
Examen final: 30%
Participación en clase: 10%
Búsqueda de información: 10%
Otra (especifique): Tareas: 20%
Bibliografía básica:
Ghezzi, Carlo, Jazayeri, Mehdi y Mandrioli, Dino. Fundamentals of software engineering. Ed. Pearson Education.
Pressman, Roger S. Ingeniería del software, un enfoque práctico. Ed. McGraw Hill.