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
SEMESTRE/AÑO ACADÉMICO: Segundo Semestre 2008 – 2009 CRÉDITOS PRÁCTICA: -
PROFESOR:
Fabián de la Cruz Domínguez
Ingeniero de Sistemas, Master en Ciencias de la Computación
Línea de Actividad Académica: Ingeniería de Software, UML, Mejora de Procesos, Modelos y Estándares de Calidad, PSPSM, TSPSM
Atención: Lunes a Viernes, de 9:00H a 11:00H. Correo Electrónico: [email protected] Teléfono: 2 537467
2. DESCRIPCIÓN DE LA MATERIA:
Este curso está dirigido a los alumnos de ingeniería que desean comprender como debería realizarse el proceso de desarrollo de software maduro, profesional, 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, 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 Comunicació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.3.1 Modelos de sistemas 4.4 Especificaciones formales
CAPÍTULO 5: ANÁLISIS Y DISEÑO DE SOFTWARE
5.1 Métodos de análisis y diseño 5.2 Introducción a patrones
CAPÍTULO 6: MANTENIMIENTO DE SOFTWARE
6.1 Verificación y Validación de Software
6.2 Administración de Configuración de Software en CMM nivel 2 6.3 Conceptos Administración de Configuración de Software
Por Sesión:
Mes Descripción
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
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 F E B R E R
O 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
Mes Descripción
Sesión 08 Modelo Evolutivo: Variantes; Modelo en Espiral; Criterios para Selección de un Modelo
Sesión 09 Proceso Unificado de Desarrollo de Software Sesión 10 Personal Software Process (PSP)
M A R Z O
Mes Descripción
Sesión 12 Team Software Process (TSP); ISO 12207; Capability Maturity Model (CMM); ISO 15504; Mejora Continua de Procesos
Sesión 13 Entrega de Trabajos y Evaluaciones
Sesión 14 Lenguaje Unificado de Modelado (UML): Porqué Modelamos?; principios de Modelado
Sesión 15 UML: Introducción; Modelo Conceptual; Bloques de Construcción
M A R Z
O Sesión 16 Diagramas en UML: Casos de Uso; Clases
Mes Descripción
Sesión 17 Diagramas en UML: Secuencia; Revisión de Ejemplo Sesión 18 Revisión de Proyecto
Sesión 19 Diagramas en UML: Colaboración; Estado
Sesión 20 Diagramas en UML: Paquetes; Actividades; Despliegue Sesión 21 Especificaciones del Software: Qué son?; Tipos; Por qué
son Necesarias; Cualidades y Estilos de las Especificaciones
Sesión 22 Ingeniería de Requerimientos: Definición; el Proceso de Ingeniería de Requerimientos; Documento de
Requerimientos
Sesión 23 Ingeniería de Requerimientos: Estructura del Documento; Validación; Clases; Evolución
Sesión 24 Análisis de Requerimientos: Problemas; Proceso; Actividades; Modelos del Sistema
A B R I L
Sesión 25 Tipos de Punto de Vista; Factores Sociales y Organizacionales
Mes Descripción
Sesión 26 Definición y Especificación de Requerimientos: lenguaje natural, seudocódigo, notaciones gráficas, matemáticas Sesión 27 Evaluación
Sesión 28 Requerimientos No Funcionales: Clasificación; Ejemplos; Estructura de Documento de Requerimientos (IEEE) Sesión 29 Análisis y Diseño de Software: Métodos: Componentes,
Deficiencias; Descripción; Estrategia; Calidad del Diseño: Cohesión, Acoplamiento
M A Y O
Mes Descripción
Sesión 31 Administración de Configuración de Software en CMM N2. Verificación y Validación de Software.
Sesión 32 Gestión de la Configuración del Software: Línea Base; Elementos, Control, Informe de Estado, y Auditoría de la Configuración del Software
M A Y O
Sesión 33 Gestión de la Configuración del Software: Procedimiento para Mesa de Control
Mes Descripción Sesión 35 Evaluación Final J
U N I O
Sesión 36 Fin de Semestre
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 asignados a los estudiantes. Termina el semestre con la presentación del producto final. Cada semana presentarán el ensayo de un capítulo de PSP.
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
• IDE Netbeans 6.x para Java • Project de Microsoft
• Manejador de Base de Datos • Dashboard, para usar en PSP 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.
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: 02 de Febrero de 2009
Fin: 05 de Junio de 2009