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 2013)
(Programa en trámite de aprobación)
(Programa presentado el 13/09/2013 12:20:52)
I - Oferta Académica
Materia Carrera Plan Año Periodo
INGENIERIA DE SOFTWARE II ING. INFORM. 026/12 2013 2° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
RIESCO, DANIEL EDGARDO Prof. Responsable P.Adj Exc 40 Hs
ABDELAHAD, CORINA NATALIA Auxiliar de Práctico A.1ra Semi 20 Hs
BERNARDIS, HERNAN Auxiliar de Práctico A.2da Simp 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
 Hs. 2 Hs. 1 Hs. 3 Hs. 6 Hs. 2º Cuatrimestre 08/08/2013 15/11/2013 15 90
IV - Fundamentación
Dar las bases teóricas y prácticas que permiten al Ingeniero de Software aplicar un método de desarrollo utilizando herramientas capaces de automatizar las actividades que se realizan durante el proceso de desarrollo del software.
V - Objetivos / Resultados de Aprendizaje
Introducir al alumno en el desarrollo de sistemas aplicando métodos de desarrollo que permiten producir software de manera fiable, de calidad y que funcione en máquinas reales cubriendo las distintas etapas del proceso de desarrollo.
VI - Contenidos
Unidad 1: Requerimientos
Introducción. Requerimientos de Software. Tipos. Procesos de la Ingeniería de Requerimientos. Estudio de Factibilidad. Obtención y Análisis. Especificación. Modelado. Validación de Requerimientos. Gestión de los Requerimientos.

Unidad 2: Modelos Avanzados Orientados a Objetos en UML
Introducción. Modelos. Importancia de los modelos. Modelos estáticos. Modelos dinámicos. Persistencia. Concurrencia. Estado. Comportamiento. Mecanismos comunes. Estereotipos. Valores etiquetados. Restricciones. Máquinas de Estado. Modelo Arquitectónico. Componentes. Despliegue.

UUnidad 3: Proceso Unificado: Framework.
Introducción. Dirigido por Casos de Usos. Centrado en la Arquitectura. Iterativo e Incremental. Modelo de Casos de Usos. Captura de requisitos. Contexto del Sistema. Modelo del Dominio. Distintas Instanciaciones del Proceso. Análisis de la arquitectura. Relación con el Diseño. Componentes.

Unidad 4: Patrones de Diseño.
Introducción. Conceptos. Descripción. Selección de un patrón de Diseño. Utilización. Problema. Solución. Consecuencia. Catálogo de Patrones de Diseño. Patrones Creacionales. Patrones Estructurales. Patrones de Comportamiento.

Unidad 5: Proceso Unificado: Análisis y Diseño.
Introducción. Propósito. Diferencias. Artefactos. Modelo del Análisis. Arquitectura. Flujo de Trabajo. Rol del diseño.
Artefactos. Modelo del Diseño. Subsistemas. Interfaz. Modelo de Desarrollo. Aplicación de Patrones en el Diseño.

Unidad 6: Ingeniería de la Información y Basada en Componentes.
Ingeniería de la Información. Clasificación. Modelado del área de Negocio. Modelo de Negocio. Notación de Modelado de Procesos. BPMN. Tecnología. Ingeniería de software basada en componentes. Reuso. Modelo de componentes. Desarrollo Basado en Componentes. Composición de Componentes. Arquitectura de Componentes.

VII - Plan de Trabajos Prácticos
Laboratorio 1: Modelado Estático y Dinámico con UML. Ingeniería Directa e Ingeniería Inversa con Java.
Laboratorio 2: Uso de Herramientas CASE en Ingeniería Reversa de Modelos de Datos / Objetos
Laboratorio 3: Herramienta CASE para la construcción de Modelos de Negocio.
Laboratorio 4: Herramientas CASE para la Ingeniería del Software Basada en Componentes.
Laboratorio 5: Patrones de Diseño.

Práctico 1: Modelos Estáticos en UML. Ingeniería Directa e Ingeniería Inversa con Java.
Práctico 2: Modelos de Dominio.
Práctico 3: Modelos Dinámicos en UML. Ingeniería Directa e Ingeniería Inversa con Java.

Laboratorio Integrador: Construcción de un software orientado a objetos usando herramientas que automatizan el proceso de desarrollo generando los distintos artefactos desde los requerimientos hasta su implementación con un caso de estudio real. Deberán aplicar los distintos conceptos aprendidos y utilizados en teoría, en los laboratorios y en las prácticas.
VIII - Regimen de Aprobación
La materia se desarrolla con la modalidad de promoción sin examen final. Existen dos niveles:

a) Regularización solamente: Para regularizar la materia se deberá:
1.- Tener como mínimo un 80% de asistencia a clases teóricas y prácticas.
2.- Tener los prácticos, solicitados por la cátedra, aprobados, como método aplicado por la cátedra para la evaluación continua del alumno.
3.- Presentación y aprobación del proyecto integrador de laboratorio con nota mayor o igual a 7 (siete).
4.- Aprobar dos parciales o sus respectivas recuperaciones con una nota mayor o igual a 6 (seis).

b) Promoción sin examen final: Para regularizar y aprobar la materia se deberá:
1.- Cumplir con los requisitos a.1, a.2 y a.3.
2.- Aprobar dos parciales o sus respectivas recuperaciones con una nota mayor o igual a 7 (siete).
3.- Aprobar una prueba final integradora con una nota mayor o igual a 7 (siete).
La nota final será la que surja de aplicar la siguiente fórmula:
NotaFinal = (max(p1, r1) + max(p2, r2) + pfi + pil) / 4
max : función maximo
p1 : primer parcial,
p2 : segundo parcial
r1 : recuperatorio del primer parcial
r2: recuperatorio del segundo parcial
pfi: prueba final integradora
pil : proyecto integrador de laboratorio.

Aquellos alumnos que sólo regularicen la materia deberán rendir un examen final, en los turnos establecidos.

Alumnos Libres: Por las características propias del proyecto de laboratorio a desarrollarse durante todo el cuatrimestre, no se aceptan alumnos libres.

Alumnos que Trabajan: Los alumnos que trabajan tienen una recuperación adicional, según las Ordenanzas CS Nº 26/97, 15/00 y 13/03.
IX - Bibliografía Básica
[1] Software Engineering: A Practitioner's Approach, 7/e, Roger S Pressman, R. S. Pressman & Associates, Inc. 2010.
[2] OpenUP/Basic, http://epf.eclipse.org/wikis/openupsp/, 2010.
[3] El Proceso de Desarrollo de Software Unificado. Booch, Rumbaugh, Jacobson. Addison-Wesley, 1999.
[4] The Unified Modeling Language User Guide, 2nd Edition. Booch, Rumbaugh, Jacobson. Addison- Wesley, 2005.
[5] Design Patterns: Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Addison-Wesley. 1995.
[6] Object-Oriented analysis and design with applications. Booch, Grady. The Benjamin/Cummings Publishing Company Inc. 1994.
[7] Software Engineering, Ian Sommerville, Addison Wesley; 8 edition, 2006
X - Bibliografia Complementaria
[1] Patterns in Java. Volume 1. A Catalog of Reusable Design Patterns Illustred with UML. Mark Grand. John Wiley & Sons Inc. 1998.
[2] UML Semantics. http://www.omg.org
[3] UML Notation Guide. http://www.omg.org
[4] UML y Patrones: Introducción al análisis y diseño orientado a objetos. Craig Larman, Prentice Hall, 1999.
[5] The Unified Modeling Language Reference Manual, 2nd Edition. Booch, Rumbaugh, Jacobson. Addison-Wesley, 2005.
[6] Component-Based Software Engineering: Putting the Pieces Together, George T. Heineman, William T. Councill, Addison-Wesley Professional, 2001.
XI - Resumen de Objetivos
Introducir al alumno en el desarrollo de sistemas aplicando métodos de desarrollo que permiten producir software de manera fiable, de calidad y que funcione en máquinas reales cubriendo las distintas etapas del proceso de desarrollo.
XII - Resumen del Programa
Requerimientos
Modelos Avanzados Orientados a Objetos en UML
Proceso Unificado: Framework
Patrones de Diseño
Proceso Unificado: Análisis y Diseño.
Ingeniería de la Información y Basada en Componentes.
XIII - Imprevistos
.
XIV - Otros