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. |
I - Oferta Académica | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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 del software, 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. El modelo tradicional de ciclo de vida de la Ingeniería de Software. El paradigma orientado a objetos. Fortalezas y debilidades de ambos paradigmas. Bolilla 2: Modelos de ciclo de vida del software. Modelo teórico. Modelo incremental e iterativo. Modelo en cascada. Modelo de desarrollo de prototipo. Modelos evolutivos. Modelo Incremental. Modelo en espiral. Otros modelos. Bolilla 3: Especificaciones informales. Especificaciones de software. 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: Métodos Formales. Los Métodos Formales en la Ingeniería de Software. Aplicabilidad. Estilos de desarrollo formal. Estilos de especificaciones. Grados de rigor. Pros y contras. Bolilla 5: Especificaciones formales. Especificaciones orientadas al comportamiento. Máquinas de estados finitos. Redes de Petri. Especificaciones orientadas a la propiedad y al modelo. Abstracción de datos y operaciones. Tipos y valores. Axiomas. Bolilla 6: Diseño. El proceso de Diseño. Abstracción. Refinamiento. Modularidad. Módulos. Cohesión y acoplamiento. Encapsulación de datos. Tipos de datos abstractos. Ocultamiento de la información. Objetos. Cohesión y acoplamiento de objetos. Bolilla 7: Validación y verificación del software. Conceptos de validación y verificación del software. 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. JUnit. Bolilla 8: Planeamiento y estimación. Planeamiento y desarrollo de software. Estimación de duración y costo. Métricas para el tamaño del producto. Técnicas de estimación de costo. El modelo COCOMO. |
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áctico de Máquina: Especificación formal de un caso de estudio haciendo uso de un lenguaje de especificación formal. |
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, y dos exámenes parciales. · Prácticos de máquina: · Entregar y aprobar los prácticos de máquina. · Un práctico de máquina se evalúa como aprobado o desaprobado, únicamente. · Los prácticos se podrán realizar en grupos de hasta tres integrantes. · Exámenes parciales: · Aprobar dos exámenes parciales o sus respectivas recuperaciones, con nota mayor o igual que seis para su regularización. · Se otorga, tal como lo expresa la reglamentación vigente, un recuperatorio por trabajo solamente a aquellos alumnos que hayan acreditado tal condición en Sección Alumnos. · En todos los exámenes parciales, sus recuperatorios, y por trabajo la última nota obtenida será la definitiva. Condiciones para promocionar la materia: · Regularizar la materia con la siguiente condición adicional: · Aprobar los dos parciales o sus recuperatorios con nota mayor o igual que ocho. · En caso de no promocionar el alumno deberá rendir un examen final. 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, 5ta Edición. 1996. [3] Ghezzi, Carlo y otros; "Fundamentals of Software Engineering", Prentice Hall, 1991. [4] Jorgensen, Paul C.; “Software Testing, a Craftsman’s Approach”, CRC Press, 1995. [5] Yourdon, Edward; “Análisis Estructurado Moderno”, Prentice-Hall Hispanoamericana, 1993. |
X - Bibliografia Complementaria |
---|
[1] Bolaños, Javier. "Pruebas de Sofware y JUnit".Pearson Education, 2008.
[2] Pankaj Jalote. "An Integrated Approach to Software Engineering, 3rd ed.", Springer, 2005. [3] Stephen Schach. "Ingeniería de Sofware Clásica y Orientada a Objetos, 6ta ed.", Mc Graw Hill, 2005. |
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 |
---|
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. |
XIII - Imprevistos |
---|
.
|
XIV - Otros |
---|
|