ESCUELA DE INGENIERIA DE SISTEMAS 1. DATOS INFORMATIVOS:
MATERIA O MÓDULO: INGENIERIA DE SOFTWARE I CÓDIGO:
CARRERA: SISTEMAS NIVEL: QUINTO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 4 CRÉDITOS PRÁCTICA: -
PROFESOR: Ing. MSC. Fabián de la Cruz Domínguez
SEMESTRE/AÑO ACADÉMICO: Segundo Semestre 2007 - 2008
2. DESCRIPCIÓN DE LA MATERIA:
Este curso está dirigido a los alumnos de ingeniería que desean entender como debería realizarse el proceso de desarrollo de software maduro, profesional, administrado y acorde con los mejores modelos internacionales. Para lo cual, se revisan los principales marcos de trabajo, modelos de calidad, y procesos que conforman la Ingeniería de Software actual.
3. OBJETIVO GENERAL:
El objetivo de este curso es introducir un panorama de las áreas que conforman la ingeniería de software moderna, sus técnicas actuales así como los modelos de referencia de los procesos de desarrollo de software con calidad.
4. OBJETIVOS ESPECÍFICOS:
• Realizar un proyecto que de manera individual deberán desarrollar, cumpliendo una serie de criterios de calidad mínimos, cubriendo los aspectos teóricos revisados en clase, imprescindibles para alcanzar el objetivo general de la materia.
• Identificar los diferentes Ciclos de Vida de Desarrollo de Software y clasificarlos de acuerdo con las Metodologías Estructuradas u Orientada a Objetos.
• Relacionar la lectura de los Capítulos del libro Introduction to Personal Software Process (PSP), enfocados a identificar las habilidades necesarias para la administración del tiempo y la adopción de prácticas disciplinadas en la construcción de software
.
5. CONTENIDOS (Detallar desarrollo curricular de cada sesión)
CAPÍTULO 1: INTRODUCCIÓN A LA INGENIERÍA DE SOFTWARE 1.1 Qué es la Ingeniería de Software?
1.2 Historia de la IS
1.3 Software: su naturaleza y cualidades 1.4 Principios de la IS
1.5 El rol de Ingeniero de Software
CAPÍTULO 2: EL PROCESO DE DESARROLLO DE SOFTWARE 2.1 Proceso de Software
2.2 Modelos de ciclo de vida del Software 2.3 Proceso Unificado de Desarrollo de Software
2.5 Personal Software Process (PSP) y Team Software Process (TSP) 2.6 Modelo de referencia de ciclos de vida de Software ISO/IEC12207 2.7 Introducción a CMM y SPICE
2.8 Mejora continua de procesos
CAPÍTULO 3: EL LENGUAJE UNIFICADO DE MODELADO (UML) 3.1 Porqué Modelamos?
3.2 Principios de Modelado
3.3 UML: Introducción, Modelo Conceptual, Bloques de Construcción 3.4 Diagramas de Casos de Uso y de Clases
3.5 Diagramas de Secuencia y de Colaboración 3.6 Diagramas de Estado y de Paquetes
3.7 Diagramas de Actividades y Despliegue
CAPÍTULO 4: ESPECIFICACIONES DE SOFTWARE 4.1 Qué es una especificación de Software?
4.2 Requerimientos – especificaciones informales 4.2.1 Ingeniería de Requerimientos 4.2.2 Análisis de Requerimientos
4.2.3 Definición y Especificación de Requerimientos 4.3 Especificaciones semiformales
4.3.1 Modelos de sistemas 4.4 Especificaciones formales
5.1 Métodos de análisis y diseño 5.2 Introducción a patrones
CAPÍTULO 6: VERIFICACIÓN Y VALIDACIÓN DE SOFTWARE 6.1 El Proceso de Pruebas
6.2 Planificación de Pruebas 6.3 Estrategias de Pruebas
CAPÍTULO 7: MANTENIMIENTO DE SOFTWARE
7.1 Administración de Configuración de Software en CMM nivel 2 7.2 Conceptos Administración de Configuración de Software
Por Sesión:
Mes Descripción
F E B R E R O
Sesión 01 Revisión de Temario, Objetivos, Forma de Calificación, Bibliografía
Sesión 02 Ingeniería de Software: Definiciones; Complejidad;
Objetivo Básico
Sesión 03 Historia de la Ingeniería de Software; Software: Naturaleza y Cualidades
Sesión 04 Principios de la Ingeniería de Software; Herramienta PSP_Dashboard
Mes Descripción
M A R Z O
Sesión 05 El Proceso de Desarrollo de Software. Modelos de Ciclo de Vida de Desarrollo de Software: Codifica y Corrige Sesión 06 Modelos de Ciclo de Vida de Desarrollo de Software:
Cascada; Fase de Factibilidad; Fase de Requerimientos Sesión 07 Modelos de Ciclo de Vida de Desarrollo de Software:
Cascada; Fase de Diseño, Fase de Codificación y Prueba, Fase de Mantenimiento
Sesión 08 Modelo Evolutivo: Variantes; Modelo en Espiral; Criterios para Selección de un Modelo
Mes Descripción
M A R Z O
Sesión 09 Proceso Unificado de Desarrollo de Software
Sesión 10 Vacación
Sesión 11 Evaluación
Sesión 12 Personal Software Process (PSP)
Mes Descripción
A B R I L
Sesión 13 Team Software Process (TSP); ISO 12207; Capability Maturity Model (CMM); ISO 15504; Mejora Continua de Procesos
Sesión 14 Entrega de Trabajos y Evaluaciones
Sesión 15 Lenguaje Unificado de Modelado (UML): Porqué Modelamos?; principios de Modelado
Sesión 16 UML: Introducción; Modelo Conceptual; Bloques de Construcción
Sesión 17 Diagramas en UML: Casos de Uso Sesión 18 Diagramas en UML: Casos de Clases
Sesión 19 Diagramas en UML: Secuencia; Revisión de Ejemplo Sesión 20 Diagramas en UML: Colaboración; Estado
Sesión 21 Diagramas en UML: Paquetes; Actividades; Despliegue
Mes Descripción
M A Y O
Sesión 22 Especificaciones del Software: Qué son?; Tipos; Por qué son Necesarias; Cualidades y Estilos de las
Especificaciones
Sesión 23 Ingeniería de Requerimientos: Definición; el Proceso de Ingeniería de Requerimientos; Documento de
Requerimientos
Sesión 24 Ingeniería de Requerimientos: Estructura del Documento;
Validación; Clases; Evolución
Sesión 25 Análisis de Requerimientos: Problemas; Proceso;
Actividades; Modelos del Sistema
Sesión 26 Tipos de Punto de Vista; Modelo VORD; Factores Sociales y Organizacionales
Sesión 27 Definición y Especificación de Requerimientos: lenguaje natural, seudocódigo, notaciones gráficas, matemáticas Sesión 28 Evaluación
Sesión 29 Requerimientos No Funcionales: Clasificación; Ejemplos;
Estructura de Documento de Requerimientos (IEEE) Sesión 30 Análisis y Diseño de Software: Métodos: Componentes,
Deficiencias; Descripción; Estrategia
Mes Descripción
J U N I O
Sesión 31 Análisis y Diseño de Software: Calidad del Diseño:
Cohesión, Acoplamiento Sesión 32 Patrones: Qué son?, Tipos
Sesión 33 Verificación & Validación de Software: Proceso, Planeación, y Estrategias de Pruebas
Sesión 34 Gestión de la Configuración del Software: Procedimiento para Mesa de Control
Sesión 35 Evaluación
Sesión 36 Entrega de Trabajos
6. METODOLOGÍA, RECURSOS:
Al principio, las sesiones serán totalmente teóricas. Conforme se avance en el semestre, se combinarán con trabajos prácticos y presentaciones de consultas sobre temas previamente seleccionados por los estudiantes. Termina el semestre con la presentación del producto final.
Para la mayor parte de las sesiones se usará Infocus, acompañado de explicaciones más detalladas sobre el pizarrón. La mayor parte de la materia se entregará a los estudiantes en formato PDF.
Software a utilizar:
• Graficador de UML
• Java
• BPWin
• Manejador de Base de Datos
7. EVALUACIÓN:
CRONOGRAMA DE EVALUACIONES:
• Las evaluaciones teóricas se harán los primeros 20 minutos del primer día de clases semanal.
• La entrega del avance de los proyectos será semanal.
SISTEMA DE CALIFICACIÓN (puntaje asignado a pruebas parciales):
• 50% corresponderá a evaluaciones teóricas.
• 50% corresponderá a trabajos y presentaciones.
FECHA DE ENTREGA DE CALIFICACIONES EN SECRETARÍA:
Coincidirá con el calendario propuesto por la Facultad.
8. BIBLIOGRAFÍA:
Textos de Referencia:
• Sommerville, Ian, “Ingeniería de Software”, Addison Wesley, 7ta edición, 2005
• G. Booch, J. Rumbaugh, I. Jacobson,” The Unified Modeling Language User Guide”, Addison-Wesley, 1999
• Watts S. Humphrey, “Introduction to Personal Software Process”, SEI Series in Software Engineering, Addison Wesley, 1997
Textos Recomendados:
• Pressman, R.S., “Ingeniería de Software Un Enfoque Práctico”, McGraw Hill, última edición
• International Standard ISO/IEC 12207:1995 Information technology - Software life cycle processes.
• ISO/IEC 15504 Software Process Assesment, Technical Report, 1999.
• Watts S. Humphrey, “A Discipline for Software Engineering”, SEI Series in Software Engineering, Addison Wesley, 1995.
9. DATOS DEL PROFESOR (indicación de horario de atención a estudiantes, correo electrónico, teléfono)
Lunes a Viernes, de 9:00H a 11:00H.
Teléfono: 2 537467 Aprobado:
Por el Consejo de Escuela
__________________________
f) Director de Escuela fecha: ______________________
Por el Consejo de Facultad
__________________________
f) Decano fecha: ______________________
INFORMACIÓN ADICIONAL PARA LA ELABORACIÓN DEL PROGRAMA Inicio: 18 de febrero de 2008
Fin: 20 de junio de 2008 Exámenes finales: del 16 al 20 de junio de 2008