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 2008)
(Programa en trámite de aprobación)
(Programa presentado el 11/07/2008 10:33:45)
I - Oferta Académica
Materia Carrera Plan Año Periodo
INGENIERIA DE SOFTWARE TCO.UNIV.EN WEB 008/05 2 2c
II - Equipo Docente
Docente Función Cargo Dedicación
LEIVA, HECTOR ARIEL Prof. Responsable P.ADJ SIM 10 Hs
GOMEZ, JUAN EDUARDO Auxiliar de Práctico A.1RA SEM 20 Hs
LUZZA BONILLA, MARIANO GABRIEL Auxiliar de Práctico A.2DA SIM 10 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
3 Hs.  Hs. 2 Hs. 3 Hs. 8 Hs. 2 Cuatrimestre 11/08/2008 21/11/2008 15 120
IV - Fundamentación
Dar los conocimientos teóricos y prácticos básicos de la ingeniería de software para la creación de aplicaciones orientadas a la web de calidad mediante la utilización de método de desarrollo orientado a objetos y de herramientas apropiadas para tal fin.
V - Objetivos
Formar al alumno en el diseño e implementación de aplicaciones utilizando un proceso sistemático y apoyándose en herramientas que permiten mejorar la calidad del software en entornos de producción.

Brindar los conceptos básicos del diseño de aplicaciones web utilizando extensiones de UML.

Introducir nociones iniciales de planificación y gerenciamiento de proyectos de software.
VI - Contenidos
Unidad 1: Conceptos Introductorios.
Introducción a la ingeniería de software. Software como herramienta vs Software como producto. Origenes de la ingeniería de software. El ciclo de vida. Modelo de ciclos de vida.

Unidad 2: El Lenguaje UML (Unified Modeling Language)
Importancia del diseño, del proceso y de la arquitectura. El modelo de objetos. Introducción al UML. Modelos estáticos y dinámicos. Diagramas de Casos de Usos en la captura de requerimientos. Diagramas de Clase en el diseño. Diagrama de Secuencias. Diagramas de componentes. Diagramas de actividad. Uso de herramientas que soportan UML.

Unidad 3: Proceso Unificado de Desarrollo
Introducción. Desarrollo iterativo. Proceso centrado en la arquitectura. Proceso basado en casos de usos. Uso de los distintos artefactos UML en los flujos de trabajo. Adaptación a proyectos chicos y desarrollo agil e iterativo. Pruebas. Testing unitario, de integración, de regresión. Uso de pruebas unitarias para desarrollo basado en casos de prueba. Refactoring.

Unidad 4: Patrones de Diseño.
Introducción. Categoría de patrones. Utilización. Problema. Solución. Consecuencia. Patrones Creacionales. Patrones Estructurales. Patrones de Comportamiento. Descripción de patrones de diseño ampliamente usados por ejemplo: DTO, DAO, BO, Factory, Iterator, Strategy, Command.

Unidad 5: Extensión del UML para aplicaciones web
Introducción. Estereotipos, valores etiquetados, restricciones. Vista lógica y de componentes. Diseño de aplicaciones web de acuerdo a la arquitectura. Experiencia de usuario. Correspondencia UML/HTML.

Unidad 6: Gestión de Proyectos de Software.
Introducción. Enemigos del proyecto de software. UML como una herramienta de gestión. Abstraccion. Administración de proyectos en RUP. Incremental builds.

Unidad 7: Planificación de Proyectos de Software
Importancia de la planificacion. Alcance del proyecto. Estimación de tamaño y esfuerzo de proyecto, métodos. Puntos de funcion. Plan de Desarrollo de Software. Identificacion de riesgos. Work Breakdown Structure. Diagramas de Gantt (Uso de Gantt Project). Análisis del camino crítico. Seguimiento del proyecto. Staffing/Roles y responsabilidades.

VII - Plan de Trabajos Prácticos
Práctico 1: Modelado Estático con UML. Ingeniería Directa. Ingeniería Inversa con Java. Uso de Jude.
Práctico 2: Modelado Dinámico con UML. Ingeniería Directa. Ingeniería Inversa con Java. Uso de Omondo.
Práctico 3: Modelo de casos de usos.
Práctico 4: Utilización del proceso con herramientas.
Práctico 5: Patrones de diseño
Práctico 6: Diseño de aplicaciones web
Práctico 7: Planificación de proyectos.
VIII - Regimen de Aprobación
Condiciones de regularización:
- Presentación y aprobación de los prácticos de máquina.
- Aprobación de dos exámenes parciales teórico-prácticos, o sus respectivas recuperaciones, con nota mayor o igual a 6 (seis). De acuerdo a la reglamentación vigente, se otorga un recuperatorio por trabajo solamente a aquellos alumnos que hayan acreditado tal condición en Sección Alumnos.

Condiciones de aprobación:
- Por promoción, para lo cual el alumno debe contar con las condiciones de regularización y con una nota de exámenes parciales, o sus respectivas recuperaciones, mayor o igual a 8 (ocho), ó,
- Por examen final.

Alumnos Libres: solo se admiten exámenes libres de aquellos alumnos que hayan entregado en tiempo y forma los trabajos prácticos de máquina solicitados por la cátedra. Esta condición se mantendrá en vigencia hasta la presentación del próximo programa de la materia correspondiente al siguiente año lectivo al que el alumno haya aprobado el/los práctico/s de máquina.
IX - Bibliografía Básica
[1] El Proceso de Desarrollo de Software Unificado. Booch, Rumbaugh, Jacobson. Addison-Wesley, 1999.
[2] The Unified Modeling Language User Guide, 2nd Edition. Booch, Rumbaugh, Jacobson. Addison-Wesley, 2005.
[3] Design Patterns: Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Addison-Wesley. 1995.
[4] Ingeniería del Software. Pressman, Roger S.Ed. Mc-Graw Hill. 2004.
[5] Building Web Applications with UML Second Edition. Jim Conallen. Addison-Wesley. 2002
[6] Object-Oriented Project Management with UML. Murray Cantor. John Wiley & Sons, Inc. 1998.
X - Bibliografia Complementaria
[1] Object-Oriented Software Construction. Bertrand Meyer. ISE Inc, 1998.
[2] Ingeniería del Software. Ian Sommerville. Addison-Wesley, 7a edición. 2005.
[3] The Unified Modeling Language Reference Manual, 2nd Edition. Booch, Rumbaugh, Jacobson. Addison-Wesley, 2005.
XI - Resumen de Objetivos
Introducir al alumno en los conceptos básicos del diseño de aplicaciones web mediante la utilización de extensiones de UML.
XII - Resumen del Programa
- Lenguaje UML
- UML para la web
- Patrones de diseño
- Proceso unificado
- Planificación y seguimiento de proyectos
XIII - Imprevistos