Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico-Matemáticas y Naturales
Departamento: Informatica
Área: Area IV: Pr. y Met. de Des. del Soft.
(Programa del año 2007)
(Programa en trámite de aprobación)
(Programa presentado el 13/04/2007 12:35:05)
I - Oferta Académica
Materia Carrera Plan Año Periodo
INGENIERIA DE SOFTWARE I LIC. CS. COMP. 006/05 3 1c
II - Equipo Docente
Docente Función Cargo Dedicación
UZAL, ROBERTO Prof. Responsable CONTRATO Hs
GARIS, ANA GABRIELA Prof. Co-Responsable JTP SEM 20 Hs
ABDELAHAD, CORINA NATALIA Auxiliar de Práctico A.1RA SEM 20 Hs
GOMEZ, JUAN EDUARDO Auxiliar de Práctico A.1RA SEM 20 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
0 Hs. 3 Hs. 4 Hs. 2 Hs. 9 Hs. 1 Cuatrimestre 12/03/2007 15/06/2007 14 126
IV - Fundamentación
Para el desarrollo profesional del futuro Licenciado en Ciencias de la Computación, acorde a las nuevas habilidades para las cuales lo capacita dicho título, se introduce al mismo al desarrollo de software como una actividad ingenieríl donde debe cumplir un papel predominante al frente de proyectos de software que impliquen trabajo en equipo.

Teniendo en cuenta que es la primer asignatura relacionada a dicho tema, se pretende que el alumno aprenda los fundamentos básicos de cada una de las etapas que comprende el proceso de desarrollo de software y las distintas técnicas y metodologías aplicables.
V - Objetivos
Al finalizar la asignatura el alumno debe ser capaz de haber asimilado los conceptos de naturaleza y cualidades del software, principios de la Ingeniería del Software, diseño de software, especificaciones de software, verificación de software, el proceso de producción de software, e introducirlo en el uso de tecnologías de CASE.
VI - Contenidos
Unidad I: La Ingeniería de Software
¿Qué es la Ingeniería de Software? Software como herramienta vs. Software como Producto. Las Cuatro Capas de la Ingeniería de Software. Orígenes de la Ingeniería de Software. Estado actual de la Ingeniería de Software. Las tendencias en Ingeniería de Software.

Unidad II: El Proceso de Software
Concepto de Proceso. Proceso vs. Producto. Proceso y Ciclo de Vida. Modelos de Ciclo de Vida. El Modelo Lineal Secuencial. El Modelo de Construcción de Prototipos. El Modelo DRA. Modelos Evolutivos: modelo incremental y modelo espiral. Desarrollo basado en componentes. Los Métodos Formales. Técnicas de Cuarta Generación.

Unidad III: Las tres corrientes fundamentales de la Ingeniería de Software
Los Métodos Estructurados de Análisis y Diseño de Sistemas. La Ingeniería de la Información. El Paradigma de la Orientación a Objetos aplicado al Desarrollo de Software. Características de cada corriente metodológica. Metodologías incluidas en cada corriente metodológica. Análisis comparativo de las fortalezas y debilidades de cada corriente metodológica. Metodologias Agiles.

Unidad IV: Especificaciones de Software
Uso, cualidades y estilos. Especificaciones operacionales: Diagramas de Flujo de Datos, Máquinas de Estado Finitas, Redes de Petri. Especificaciones descriptivas: Diagramas de Entidad-Relación, especificaciones algebraicas.

Unidad V: Diseño del Software
El proceso de Diseño. Cualidades del Diseño. Diseño arquitectónico. Diseño de la interfaz del usuario. Diseño a nivel de componentes.

Unidad VI: Validación y Verificación
Conceptos de Validación y Verificación del Software. El proceso de Prueba (Testing). Estrategias: Prueba de unidad, Prueba de integracion, Prueba de validacion, Prueba de sistema. Prueba Funcional: Prueba del Valor Límite, Prueba por Partición de Equivalencias. Prueba Estructural: Coberturas de Sentencia, de Arco, de Condición, de Condición Múltiple y de Camino.

Unidad VII: Ingeniería de Software Automática
El enfoque Lightweight. La trilogía de Software. Lógicas para aplicaciones de Software. Model Checking.

VII - Plan de Trabajos Prácticos
- Trabajo Práctico 1: Producto y Proceso de Desarrollo de Software
- Trabajo Práctico 2: Especificaciones Descriptivas: DER
- Trabajo Práctico 3: Especificaciones Operacionales: DFD y Maq. de Estado.
- Trabajo Práctico 4: Especificaciones Operacionales: Redes de Petri.
- Trabajo Práctico 5: Especificaciones Algebraicas
- Trabajo Práctico 6: Desarrollo de modelos de análisis y diseño para un caso práctico utilizando un enfoque metodológico.
- Trabajo Práctico 7: Prueba Funcional
- Trabajo Práctico 8: Prueba Estructural
- Trabajo Práctico 9: Implementación en Lenguaje Java del sistema modelizado en el práctico 6. Pruebas usando JUnit.
VIII - Regimen de Aprobación
Condiciones para regularizar la materia:
· Aprobar los prácticos de máquina con toda su documentación entregada en tiempo y forma, más dos exámenes parciales.
· Un práctico de máquina se evalúa como aprobado o desaprobado, únicamente.
· Cada examen parcial o su respectiva recuperación deberá aprobarse con nota mayor o igual que seis para su regularización.
· Se otorga un recuperatorio por trabajo, solamente a aquellos alumnos que hayan acreditado tal condición en Sección Alumnos, el cual podrá ser utilizado para recuperar sólo uno de los parciales.
· En todos los exámenes parciales, sus recuperatorios, y recuperación por trabajo la última nota obtenida será la definitiva.

Condiciones para promocionar la materia:
· Regularizar la materia con la siguiente condición adicional: la nota de los dos parciales o sus respectivos recuperatorios deberá ser mayor o igual que ocho.

EXAMENES LIBRES

· Solo se admiten exámenes libres de aquellos alumnos que hayan entregado y aprobado en tiempo y forma los trabajos prácticos de máquina solicitados por la cátedra. Esta condición de admisión se mantendrá en vigencia hasta la presentación del próximo programa de la materia.
IX - Bibliografía Básica
[1] - Pressman, Roger, "Ingeniería del Software - Un enfoque práctico", Mc Graw Hill, 5ta Edición.2002.
[2] - Sommerville, Ian; “Software Engineering”, Addison-Wesley, 6ta Edición. 2002.
[3] - Sommerville, Ian; “Software Engineering”, Addison-Wesley, 5ta Edición. 1996.
[4] - Ghezzi, Carlo y otros; "Fundamentals of Software Engineering", Prentice Hall, 1991.
[5] - Jorgensen, Paul C.; “Software Testing, a Craftsman’s Approach”, CRC Press, 1995.
[6] - Yourdon, Edward; “Análisis Estructurado Moderno”, Prentice-Hall Hispanoamericana, 1993.
X - Bibliografia Complementaria
[1] Página Web del Instituto de Ingeniería de Software (CMU)
[2] Http://www.cmu.edu
[3] Página Web de Roger Pressman
[4] Http://www.rspa.com
[5] Software Requirement & Specifications, Michael
[6] Jackson Addison Wesley, 1995.
[7] http://www.dsic.upv.es/users/elp/maria/ISAValencia.html
XI - Resumen de Objetivos
Esta asignatura introduce al alumno a la temática de la producción del software como una tarea ingenieril. Los conceptos básicos sobre el proceso de desarrollo de software son introducidos. Esto abarca las diferentes etapas y actividades tales como análisis, diseño, y prueba; acompañado de sus respectivas técnicas y metodologías.
XII - Resumen del Programa
Al término de la asignatura el alumno debe tener conocimientos relacionados al Proceso de Software, cualidades del software visto como un Producto, análisis, diseño y verificación de software. El alumno debe tener pleno conocimiento sobre todas las especificaciones de software dadas en la asignatura.
XIII - Imprevistos
.