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 2011)
(Programa en trámite de aprobación)
(Programa presentado el 19/05/2011 11:27:09)
I - Oferta Académica
Materia Carrera Plan Año Periodo
INGENIERIA DE SOFTWARE I LIC.CS.COMP. 32/12 2011 1° cuatrimestre
INGENIERIA DE SOFTWARE I PROF.CS.COMPUT. 06/08 2011 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
FUNES, ANA MARIA Prof. Responsable P.Adj Exc 40 Hs
ABDELAHAD, CORINA NATALIA Auxiliar de Práctico A.1ra Semi 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
 Hs. 3 Hs. 3 Hs. 2 Hs. 8 Hs. 1º Cuatrimestre 16/03/2011 24/06/2011 15 120
IV - Fundamentación
Se introduce al alumno en el desarrollo de software como una actividad ingenieril y al 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 así como las distintas técnicas y metodologías aplicables, con especial énfasis en el desarrollo de especificaciones tanto formales como semi-formales, conocimientos de los principios de diseño así como de las principales técnicas de validación y verificación del software.
V - Objetivos / Resultados de Aprendizaje
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, el proceso de desarrollo de software, especificaciones, diseño, validación y verificación, asi como haberlo introducido en el uso de tecnologías de CASE.
VI - Contenidos
Bolilla 1: La Ingeniería de Software.
Aspectos históricos. Crisis del software. Software e Ingeniería del Software. Desafíos de la Ingeniería de Software. El Producto de software. Naturaleza y cualidades del software.

Bolilla 2: Procesos del Software
El proceso de desarrollo de software. Fases genéricas. Modelos de procesos de desarrollo. El gerenciamiento del proceso de desarrollo de software. Otros procesos del software.

Bolilla 3: Analisis y Especificación de Requisitos: Especificaciones Informales
Modelos del Análisis Clásico. Modelo de Datos: diagramas de Entidad-Relación. Modelo de Comportamiento: diagramas de transición de estados. Modelo de Procesos: diagramas de flujos de datos. Diccionario de datos.

Bolilla 4: Analisis y Especificación de Requisitos: Especificaciones Formales
Especificaciones orientadas al comportamiento. Máquinas de estado finito. Redes de Petri. Los Métodos Formales en la Ingeniería de Software. Aplicabilidad. Estilos de desarrollo formal. Grados de rigor. Pros y contras. Especificaciones orientadas a la propiedad y al modelo. Abstracción de datos y operaciones. Tipos y valores. Axiomas.

Bolilla 5: El Proceso de Diseño
Conceptos y principios del Diseño. Abstracción. Refinamiento. Modularidad. Módulos. Cohesión y acoplamiento. Diseño arquitectónico. Diseño de datos. Diseño de interfaces. Diseño de GUIs.

Bolilla 6: Validación y Verificación del Software.
Conceptos de validación y verificación del software. Inspecciones de software. Análisis estático automatizado. El proceso de prueba (Testing). Estrategias: prueba de unidad, prueba de integración, prueba de validación, prueba de sistema. Prueba funcional y prueba estructural. Automatización de las pruebas. JUnit.

VII - Plan de Trabajos Prácticos
Practico 1: La Ingeniería de Software y los modelos de ciclo de vida del software.
Práctico 2: Especificaciones de software informales- Modelos del Análisis Clásico.
Práctico 3: Especificaciones de software formales I: Maq. de Estado Finitas y Redes de Petri.
Práctico 4: Especificaciones de software formales II: RSL.
Práctico 5: Pruebas Estructural.
Práctico 6: Pruebas Funcional.
Práctica de Máquina I: Modelos del Análisis Clásico
Práctico de Máquina II: Especificación formal de un caso de estudio haciendo uso del lenguaje de especificación formal RSL.
VIII - Regimen de Aprobación
Condiciones para regularizar la asignatura:
- Haber asistido al menos al 80% de las clases de la asignatura.
- Haber aprobado los prácticos de máquina con toda su documentación entregada en tiempo y forma, más dos exámenes parciales escritos o sus respectivas recuperaciones, con notas mayores o iguales a seis.
- En caso de solo regularizar, el alumno deberá rendir un examen final para aprobar la asignatura.
Condiciones para promocionar la asignatura:
- Haber asistido al menos al 80% de las clases de la asignatura.
- Haber aprobado los prácticos de máquina con toda su documentación entregada en tiempo y forma, más dos exámenes parciales escritos o sus respectivas recuperaciones, con notas mayores o iguales a siete.
- Haber aprobado una evalución final integradora escrita con nota mayor o igual a siete.
- En caso de promocionar la materia el alumno aprobará la misma con una nota que surgirá del promedio entre los parciales, prácticos de máquina y evalución final integradora.
Recuperación por Trabajo: Los alumnos que certifiquen frente a Sección Alumnos de la Facultad de CFMyN que trabajan, se les otorgará una recuperación adicional que podrá ser usada en uno de los dos parciales, tal como lo establece la reglamentación vigente.
Exámenes Libres: Debido a las características prácticas de la materia, no se admitirán alumnos libres.
IX - Bibliografía Básica
[1] Pressman, Roger, "Ingeniería del Software - Un enfoque práctico", Mc Graw Hill, 5ta Edición.2002.
[2] Pankaj Jalote. "An Integrated Approach to Software Engineering, 3rd ed.", Springer, 2005.
[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] The RAISE Language Group; "The RAISE Specification Language", Prentice-Hall, 1992.
X - Bibliografia Complementaria
[1] Yourdon, Edward; “Análisis Estructurado Moderno”, Prentice-Hall Hispanoamericana, 1993.
[2] Bolaños, Javier. "Pruebas de Sofware y JUnit".Pearson Education, 2008.
[3] Stephen Schach. "Ingeniería de Sofware Clásica y Orientada a Objetos, 6ta ed.", Mc Graw Hill, 2005.
[4] The RAISE Method Group; "The RAISE Development Method", Prentice-Hall, 1995.
XI - Resumen de 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, el proceso de desarrollo de software, especificaciones, diseño, validación y verificación del software, asi como haberlo introducido en el uso de tecnologías de CASE.
XII - Resumen del Programa
La Ingeniería de software. Modelos de ciclo de vida del software. Especificaciones de software informales. Modelos del Análisis Clásico. Especificaciones formales. Métodos Formales de desarrollo de software. Especificaciones orientadas al comportamiento.Especificaciones orientadas a la propiedad y al modelo. El proceso de Diseño. Validación y verificación del software. Testing.
XIII - Imprevistos
.
XIV - Otros