Ministerio de Educación, Ciencia y Tecnología
Universidad Nacional de San Luis
FACULTAD DE CS. FISICO MAT. Y NAT.

ANEXO II

PROGRAMA DEL CURSO: INGENIERIA DE SOFTWARE I

DEPARTAMENTO DE:   INFORMATICA
AREA: Area IV: Pr. y Met. de Des. del Soft. (FAÑO: 2005 (Id: 3914)
Estado: Aprobado

 

I - OFERTA ACADÉMICA

CARRERAS PARA LAS QUE SE OFRECE EL MISMO CURSO

PLAN DE ESTUDIOS
ORD. Nº

CRÉDITO HORARIO

   

SEM.

TOTAL

LIC. EN CIENCIAS DE LA COMPUTACION11/988120
PROFESORADO EN CIENCIAS DE LA COMPUTACION3/008120
PROFESORADO EN CIENCIAS DE LA COMPUTACION (35/86)35/868120

II - EQUIPO DOCENTE

Funciones

Apellido y Nombre

Total hs en
este curso

Cargo y Dedic.

Carácter

Responsable

DNL5  hs.CONTRATOSContratado
Co-ResponsableFUNES, ANA MARIA20  hs.PROFESOR ADJUNTO EXC.Efectivo
ColaboradorRIESCO, DANIEL EDGARDO20  hs.PROFESOR TITULAR EXC.Efectivo

DNL: Docente no listado

III - CARACTERÍSTICAS DEL CURSO

CREDITO HORARIO SEMANAL
MODALIDAD
REGIMEN

Teórico/

Práctico

Teóricas

Prácticas de

Aula

Práct. de lab/ camp/

Resid/ PIP, etc.

1c
 Hs.
2 Hs.
4 Hs.
2 Hs.
Asignatura
Otro: 
Duración: 14 semanas
Período del 14/03/05 al 17/06/05

IV.- FUNDAMENTACION

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.

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, Diagramas de Clase, especificaciones algebraicas.

Unidad V: Diseño del Software

El proceso de Diseño. Cualidades del Diseño: cohesión, acoplamiento, claridad, adaptabilidad. 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 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 en arquitecturas Cliente/Servidor

Sistemas distribuidos. Clientes y Servidores. Categorías de Servidores. Software Intermedio. Protocolos. Sistemas de Comercio Electrónico. Tecnologías. Seguridad. Componentes de Software para Sistemas Cliente/Servidor. El impacto de Java en las propuestas metodológicas de desarrollo de sistemas.


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 4.


VIII - RÉGIMEN 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.a - BIBLIOGRAFÍA BÁSICA

- Pressman, Roger, \"Ingeniería del Software - Un enfoque práctico\", Mc Graw Hill, 5ta Edición.2002.
- Sommerville, Ian; “Software Engineering”, Addison-Wesley, 5ta Edición. 1996.
- Ghezzi, Carlo y otros; \"Fundamentals of Software Engineering\", Prentice Hall, 1991.
- Jorgensen, Paul C.; “Software Testing, a Craftsman’s Approach”, CRC Press, 1995.
- Yourdon, Edward; “Análisis Estructurado Moderno”, Prentice-Hall Hispanoamericana, 1993.



IX b - BIBLIOGRAFÍA COMPLEMENTARIA

Página Web del Instituto de Ingeniería de Software (CMU)
Http://www.cmu.edu

Página Web del Dr. Roger Pressman
Http://www.rspa.com

Software Requirement & Specifications, Michael
Jackson Addison Wesley, 1995.



COMPLEMENTO DE DIVULGACION


OBJETIVOS DEL CURSO

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 el trabajo en equipo.

Esta asignatura introduce al alumno a la temática de la producción del software como una tarea ingenieril. 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.

 

 

PROGRAMA SINTETICO

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.

 


IMPREVISTOS