CÁTEDRA
INGENIERÍA DE SOFTWARE
RESPONSABLE DE LA CÁTEDRA
CARRERA
INGENIERÍA DE SISTEMAS DE INFORMACIÓN
CARACTERÍSTICAS DE LA ASIGNATURA
PLAN DE ESTUDIOS
2008
ORDENANZA CSU. Nº
1150
OBLIGATORIA
ELECTIVA
ANUAL
PRIMER CUATRIMESTRE
SEGUNDO CUATRIMESTRE
NIVEL / AÑO
HORAS CÁTEDRA SEMANALES
X
X
4º
6
OBJETIVOS
OBJETIVO GENERAL
Conocer los componentes de un proyecto de ingeniería de software.
Conocer los estándares asociados a la calidad del proceso de desarrollo de software y productos de software.
Conocer los planes de aseguramiento de calidad.
Emplear las métricas que se aplican al desarrollo de software. Aplicar los elementos de un proceso de prueba (“Testing”) Diseñar un Plan de Prueba Unitario y de Integración.
OBJETIVOS ESPECÍFICOS
Que el alumno logre:Conocer las problemáticas relacionadas con el desarrollo y mantenimiento del software y cómo abordar su resolución
Comprender las actividades involucradas en una correcta gestión de un proyecto software. Alcanzar un nivel adecuado de conocimientos técnicos relacionados con las actividades de la ingeniería del software.
Manejar con idoneidad el lenguaje relacionado con la ingeniería del software.
Conocer las técnicas a aplicar en un Plan de Pruebas, asegurando la calidad del producto. Comprender la importancia de adoptar una metodología de desarrollo.
CONTENIDOS
CONTENIDOS SINTÉTICOS
Introducción a la Ingeniería del Software. Modelado de Procesos y Ciclo de Vida. Planificación de Proyectos; Seguimiento y Control. Estimación de Proyectos. Gestión de Requisitos. Gestión de Configuración. Aseguramiento de la Calidad y Pruebas del Software. Modelo de Madurez de las Capacidades para el Desarrollo de Software (CMMI). Metodologías de Desarrollo.
CONTENIDOS ANALÍTICOS
Unidad 1: Introducción a la Ingeniería del Software
Conceptos generales. Características particulares de un producto software. Problemas habituales en el desarrollo del software (nuevos proyectos, mantenimiento, administración y control). Errores más comunes (conceptos erróneos, reacciones ante los problemas). Razones por las que se cometen errores y persisten los problemas. Visibilidad. Causa y efecto.
Unidad 2 Modelado de Procesos y Ciclo de Vida
Significado de Proceso. Modelos del Proceso Software. Herramientas y Técnicas para modelado de procesos. El modelado de procesos en la práctica.
Unidad 3: Planificación de Proyectos
Funciones principales del Management: planificar, organizar, liderar y controlar. Factores que contribuyen al éxito de un proyecto. Identificación de usuarios. Dimensiones de un proyecto de SW. Análisis preliminar de requerimientos. Análisis de riesgos. Estimación de tamaño y esfuerzo. Métodos de estimación. Camino crítico. Determinación de tareas y dependencias. Calendarización. Armado del equipo de trabajo. Cargas de Trabajo. Planificación del despliegue. Confección del Plan de Proyecto.
Unidad 4: Seguimiento y Control de Proyectos
Monitoreo y actualización de planes. Definición de métricas. Gestión de cambios. Control de riesgos. Control de calidad
Unidad 5: Gestión de Requerimientos
Técnicas de educción de requerimientos y definición del alcance de un proyecto. Técnicas de generación de ideas. Eventos del Análisis Esencial y Casos de Uso de Jacobson. Especificación del comportamiento del sistema. Especificación de requisitos funcionales, no funcionales y restricciones. Cuantificación de los requerimientos. Atributos de una buena especificación. Validación y verificación de requerimientos. Inspección de una especificación. Métodos formales de especificación. Gestión de Cambios de requerimientos. Herramientas de Gestión de Requerimientos.
Identificación y mantenimiento de los Elementos de Configuración de Software (ECS) de un proyecto. Cambios – Origen – Impacto - Control. Factores de complejidad del proceso. Necesidad del SCM. La línea base. Identificación de ECS. Control de versiones. Oportunidad. Administración del código fuente. Auditoría de la Configuración. Análisis de Impacto. Herramientas de SCM. Unidad 7: Aseguramiento de la Calidad y Pruebas del SW
Introducción al Quality Assurance. Concepto de calidad. Presentación del Modelo de Calidad (ISO9126). Visiones de la Calidad. Factores contribuyentes a la calidad. Costo y detección de errores. Revisiones, inspecciones, revisiones técnicas, walkthroughs. Peer reviews. Principios básicos. Elementos a ser revisados. Formal vs Informal. El factor psicológico. Estándares. Métricas para la calidad. Introducción al Testing y Verificación de Software. Prueba de software. Principios básicos. Equivocación, defecto y falla. Tipos de prueba. Ciclo de vida de la prueba. Pruebas unitarias (caja negra, caja blanca). Armado de condiciones y casos de prueba. Complejidad ciclomática. Prueba de integración. Otras pruebas: volumen, stress, performance, seguridad, concurrencia, etc. Prueba de aceptación de usuario. Plan de Pruebas. Herramientas de testing.
Unidad 8: Modelo de Madurez de las Capacidades para el Desarrollo de SW
Introducción al Capability Maturity Model Integrated: Modelo de madurez de Procesos de Desarrollo de Software. Características y áreas de proceso. Visibilidad en los niveles de madurez. Desarrollo de áreas de proceso del nivel 2. SPA (Software Process Assesment): Principios a tener en cuenta. Fases. El proceso de 'assessment'. Cómo usarlo para analizar un proyecto o una organización.
Unidad 9: Metodologías de Desarrollo
Importancia de adoptar una metodología de desarrollo. Ejemplo: Métrica Versión 3. Fases de la Metodología Propuesta: Plan de Sistemas de Información (PSI). Evaluación de Viabilidad del Sistema (EVS), Análisis del Sistema de Información (ASI, Diseño del Sistema de Información (DSI), Construcción del Sistema de Información (CSI), Implantación y Aceptación del Sistema (IAS), Mantenimiento del Sistema de Información (MSI). Interfases. Otras Metodologías Tradicionales. Metodologías Ágiles.
BIBLIOGRAFÍA
BIBLIOGRAFÍA OBLIGATORIA
TITULO
AUTOR
EDITORIAL
AÑO DE
EDICIÓN
/ISBN
EJEMPLARES
DISPONIBLES
Ingeniería de Software - Teoría &Práctica (1era. Edición) Shari L. Pfleeger Prentice Hall
2005
Ingeniería de Software: Un enfoquepráctico (5ta. Edición) Roger Pressmann Mc Graw Hill.
2007
Software Engineering (8va Edición) Ian SommervilleAddison Wesley Publshers
2008
Métrica V3Gobierno
Español
CSI
2001
Web
BIBLIOGRAFÍA COMPLEMENTARIA
TITULO
AUTOR
EDITORIAL
AÑO DE
EDICIÓN
/ISBN
EJEMPLARES
DISPONIBLES
FORMACIÓN PRÁCTICA
FORMACIÓN EXPERIMENTAL:
10 horas
RESOLUCIÓN DE PROBLEMAS DE INGENIERÍA:
0 horas
ARTICULACIÓN CON OTRAS ASIGNATURAS
ASIGNATURAS CON QUE SE VINCULA
Toma:
De Probabilidad y Estadística: Nociones de Estadística parea aplicar en estimaciones. Diseño de Sistemas: Idea de esfuerzos para estimaciones.
Gestión de Datos: Idea de esfuerzos para estimaciones. Análisis de Sistemas: Ideas de esfuerzos para estimaciones.
Sintaxis Semántica del Leguaje Ideas de esfuerzos para estimaciones. Paradigma de Programación: Ideas de esfuerzos para estimaciones (Integración vertical inferior y horizontal).
CORRELATIVAS PARA CURSAR
CURSADAS
Probabilidad y Estadística Diseño de Sistemas Gestión de DatosAPROBADAS
Análisis de SistemasSintaxis y Semántica del Leguaje Paradigma de Programación
CORRELATIVAS PARA RENDIR EXAMEN FINAL
APROBADAS
Probabilidad y Estadística Diseño de Sistemas Gestión de Datos
CARACTERÍSTICAS DE LA ACTIVIDAD CURRICULAR
DESCRIPCIÓN
El cuerpo docente, de manera coordinada, imparte los contenidos académicos de las distintas unidades temáticas. Los alumnos una vez recibidos los conocimientos, los ponen en práctica mediante la resolución, tutelada por los docentes, de trabajos grupales o individuales que implican la aplicación directa de los conocimientos teóricos, el uso de herramientas de control y gestión de proyectos, la planificación efectiva de pruebas unitarias y de integración y de aquellas otras actividades profesionales directamente relacionadas con la Ingeniería del Software.
MODALIDAD DE LA ENSEÑANZA
La modalidad de enseñanza empleada es la de clases teóricas impartidas por el cuerpo docente apoyada por la resolución de temas prácticos grupales e individuales que contempla la resolución de problemas, tareas de proyectos y diseño, uso de herramientas informáticas (práctica de laboratorio).
EVALUACIÓN
La forma de Evaluación a aplicar será de dos (2) exámenes parciales con su respectivo recuperatorio. Aquellos alumnos que hayan aprobado los exámenes parciales de la materia con notas iguales o superiores a cuatro (4) puntos, tendrán derecho a rendir el examen final que será de tipo teórico práctico a la finalización de la materia, para este examen la nota de aprobación también será cuatro (4) puntos. En caso de no aprobar el examen final el alumno podrá acceder a una nueva chance de rendirlo en el próximo turno.
ESTRUCTURA DE LA CÁTEDRA
RESPONSABLE DE CÁTEDRA:
M. Ing. Claudio Jorge RANCAN
ESTRUCTURA DOCENTE
PROFESOR/ES:
M. Ing. Claudio Jorge RANCAN
Mag. Leopoldo NAHUEL
AUXILIAR/ES DOCENTE/S (Ad Honorem):
Ing. Marina LOSADA
Ing. Nicolás ROBLES
A.U.S. Ignacio CONTE
A.U.S. Mauricio PÉRSICO
NÚMERO DE COMISIONES:
2
NÚMERO DE ALUMNOS POR COMISIÓN:
50
PARA ACTIVIDADES TEÓRICAS:
50
PARA ACTIVIDADES PRÁCTICAS:
PROBLEMAS DE EJERCITACIÓN:
50
PROBLEMAS DE INGENIERÍA:
FORMACIÓN EXPERIMENTAL:
50
CRONOGRAMA
UNIDAD TEMÁTICA
ACTIVIDADES
TIEMPO
Hasta la semana:
1: Introducción a la Ing. del SW
Conceptos generales. Características particulares de un producto software. Problemas habituales en el desarrollo
del software (nuevos proyectos, mantenimiento,
administración y control). Errores más comunes (conceptos erróneos, reacciones ante los problemas). Razones por las que se cometen errores y persisten los problemas. Visibilidad. Causa y efecto.
Profesores: Clases Teóricas
1
2: Planificación de Proyectos - Métricas
Funciones principales del Management: planificar, organizar, liderar y controlar. Factores que contribuyen al éxito de un proyecto. Identificación de usuarios. Dimensiones de un proyecto de SW. Análisis preliminar de requerimientos. Análisis de riesgos. Estimación de tamaño y esfuerzo. Métodos de estimación. Camino crítico. Determinación de tareas y dependencias. Calendarización. Armado del equipo de trabajo. Cargas de Trabajo. Planificación del despliegue. Confección del Plan de Proyecto.
Profesores: Clases Teóricas y Prácticas.
Alumnos: Actividades de Proyecto y Diseño y Formación Experimental – Ejercicios
4
3: Seguimiento y Control de Proyectos
Monitoreo y actualización de planes. Definición de métricas. Gestión de cambios. Control de riesgos. Control de calidad
Profesores: Clases Teóricas y Prácticas
Alumnos: Actividades de Proyecto y Diseño y Formación Experimental – Ejercicios - Evaluación
6,5
4: Gestión de la Configuración del SW
Identificación y mantenimiento de los Elementos de Configuración de Software (ECS) de un proyecto. Cambios – Origen – Impacto - Control. Factores de complejidad del proceso. Necesidad del SCM. La línea base. Identificación de ECS. Control de versiones. Oportunidad. Administración del código fuente. Auditoría de la Configuración. Análisis de Impacto. Herramientas de SCM
Profesores: Clases Teóricas y Prácticas
Alumnos: Actividades de Proyecto y Diseño y Formación
Experimental – Ejercicios
9
5: Aseguramiento de la Calidad y Pruebas del SW Introducción al Quality Assurance. Concepto de calidad.
Profesores: Clases Teóricas y Prácticas
Presentación del Modelo de Calidad (ISO9126). Visiones de la Calidad. Factores contribuyentes a la calidad. Costo y detección de errores. Revisiones, inspecciones, revisiones técnicas, walkthroughs. Peer reviews. Principios básicos. Elementos a ser revisados. Formal vs Informal. El factor psicológico. Estándares. Métricas para la calidad. Introducción al Testing y Verificación de Software. Prueba de software. Principios básicos. Equivocación, defecto y falla. Tipos de prueba. Ciclo de vida de la prueba. Pruebas unitarias (caja negra, caja blanca). Armado de condiciones y casos de prueba. Complejidad ciclomática. Prueba de integración. Otras pruebas: volumen, stress, performance,
seguridad, concurrencia, etc. Prueba de aceptación de usuario. Plan de Pruebas. Herramientas de testing
Alumnos: Formación
Experimental – Ejercicios
11
6: Auditoria y Peritaje de Software
Huellas digitales de archivos. Metadatos y su valor como herramienta de auditoría y peritaje. Extracción de Metadatos. Computación Forense – Evidencias digitales. Peritos. Prueba Pericial informática. Delitos Informáticos
Profesores: Clases Teóricas Alumnos: Actividades de Formación Experimental –
Ejercicios
14
Unidad 7: Metodologías de Desarrollo
Importancia de adoptar una metodología de desarrollo. Ejemplo: Métrica Versión 3. Fases de la Metodología Propuesta: Plan de Sistemas de Información (PSI). Evaluación de Viabilidad del Sistema (EVS), Análisis del Sistema de Información (ASI, Diseño del Sistema de Información (DSI), Construcción del Sistema de Información (CSI), Implantación y Aceptación del
Sistema (IAS), Mantenimiento del Sistema de
Información (MSI). Interfases. Otras Metodologías Tradicionales. Metodologías Ágiles.
Profesores: Clases Teóricas y Prácticas
Alumnos: Actividades de Proyecto y Diseño – Ejercicios
- Evaluación