UNIVERSIDAD DE SAN ISIDRO / UNIVERSIDAD CAECE

Profesor: Lic. Daniel E. Alonso, Aula 118 -Lunes y Jueves de 18:30 a 22:30 Hs. (136 Horas totales)
CARRERA DE INGENIERÍA Y LICENCIATURA EN SISTEMAS / 3er. AÑO I Cuatrimestre (Año 2015).

Syllabus



UNIVERSIDAD CAECE
DEPARTAMENTO DE SISTEMAS


PROGRAMA DE: 

   INGENIERIA DE SOFTWARE II

CODIGO DE LA CARRERA
072

PLAN DE LA CARRERA

10
CODIGO ASIGNATURA
1190/10S

AÑO

CUATRIMESTRE

VIGENCIA

2010
CARRERA:

LICENCIATURA EN SISTEMAS

Nº DE RESOLUCIÓN MINISTERIAL

03/70 -  0010/71

Nº DE RESOLUCIÓN INTERNA

176/95 – 789/00 – 813/03-023/10

OBJETIVOS

  • Capacitar al alumno para que conozca distintas técnicas para el diseño de arquitectura y el diseño de detalle de un producto de software, logrando comprender la relación entre el diseño del software y las características técnicas del producto resultado.

  • Diseñar un conjunto de condiciones y casos de prueba que le permitan realizar la verificación y validación de un producto de software.

CONTENIDOS MINIMOS

 

Diseño de sistemas. Metodologías de diseño. Estructura y arquitectura de software. Patrones de diseño y de arquitectura. Sistemas de tiempo real. Diseño centrado en el usuario. Concepto, tipos y técnicas de prueba. Análisis dinámico. Diseño de Pruebas. Ensamblaje de componentes. Reingeniería.


PROGRAmA ANALITICO


1.    conceptos básicos del diseÑo
Conceptos de diseño de sistemas. Objetivos. Aspectos a tener en cuenta durante la construcción del diseño. Abstracción. Relación del diseño con el Análisis de Requerimientos, la Construcción de Software y la Prueba.  Principios del diseño.

.
2.    PROCESO UNIFICADO
Proceso Unificado. Fases de inicio, elaboración, construcción, transición. Ciclo de vida iterativo e incremental. Rol del Diseño en RUP. Artefactos del diseño. Actividades del diseño.


3.    UML
Diagrama de clases. Componentes del diagrama de clases: clase y relaciones entre clases. Tipos de relaciones: asociación, agregación, composición, herencia, dependencia. Cardinalidad de las relaciones. Roles. Navegabilidad. Diagrama de interacción. Componentes del diagrama de interacción: objetos, mensajes, retornos, invocaciones a si mismo. Diagrama de transición de estados. Componentes del diagrama de transición de estados: estado inicial, estado final, estados, transición entre estados, conceptos de entry, exit, do, history. Estados compuestos: máquinas de estados secuenciales y concurrentes. Diagrama de Actividades, calles del diagrama. Diagrama de componentes. Componentes del diagrama de componentes: componentes, estereotipos de componentes, interfaces. Diagrama de deployment (despliegue). Componentes del diagrama de deployment: nodo, relaciones entre nodos, asignación de componentes a los módulos.


4.    Arquitecturas de Software
Arquitectura del SW. Estilos arquitectónicos. Patrones de diseño. Objetivos. Problemas que intentan resolver. Clasificación. Patrones de creación, patrones de estructura y patrones de comportamiento. Frameworks. Instanciación de frameworks.


5.    CONCEPTOS BÁSICOS DE LA PRUEBA
Conceptos básicos y definiciones. Noción de error: equivocación, defecto, falla. Prueba para el hallazgo de defectos. Limitaciones de la prueba Prueba versus Análisis Estático, Depuración, Debugueo, Codificación.. Relación con las otras disciplinas de la Ingeniería del Software. Proceso de la prueba. El rol de Tester. El rol de tester en un proyecto con metodología ágil.


6.    niveles DE PRUEBA
Niveles de prueba: Alcance versus objetivo. Alcance: Prueba unitaria, de integración, del sistema. Objetivos: De aceptación, de instalación, pruebas alfa y beta, Funcional o de correctitud, confiabilidad, de Regresión, de desempeño, de esfuerzo, de comparación, de configuración, de usabilidad.



7.    diseño de pruebas
Técnicas: Basadas en la Experiencia y la Intuición,  Basadas en la Especificación o Caja Negra, Basadas en el Código o Caja Blanca, Basadas en Errores. Basadas en la naturaleza de la aplicación
Selección de pruebas. Criterio de Selección, Criterio de Suficiencia (cobertura) Problema del Oráculo


8.    EJECUCIÓN de pruebas
Ambiente de prueba. Preparación del ambiente. Ciclo de vida de un incidente. Clasificación de defectos. Evaluación de resultados. Registro y Seguimiento de incidentes. Automatización de la ejecución de pruebas. Herramientas.


9.    REINGENIERIA
Concepto de reingeniería. Reingeniería vs Ingeniería Inversa.

BIBLIOGRAFÍA

·         Arlow J. y Neustadt, I. (2005) UML 2 and the unified process : Practical object – oriented análysis and design Masachussets Pearson.

·         Pressman, Roger (1992) Ingeniería del software: un enfoque práctico3era ed Madrid Mc Graw Hill
·         Sommerville, Iam (2005) Ingeniería Del Software7ª Ed Madrid Pearson Education.

BIBLIOGRAFÍA complementaria
·         Software Testing – 2nd Edition” – Ron Patton - Sams Publishin - 2005
·         [G. Booch, J. Rumbaugh, and I. Jacobson. “The Unified Modeling Language”. Addison-Wesley, 1999.
·         Design Patterns: Elements of Reusable Object-Oriented Software” - Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides - Addison Wesley
·         [Myers, 04]     Glenford J. Myers, "The Art of Software Testing, Second Edition", John Wiley & Sons © 2004.
·         [SWEBOK, 04]           “Software Engineering Body of Knowledge”, http://www.swebok.org, 2004. Capítulo 5: Software Testing
·         Hibernate in Action” –C. Walls, R. Breidenbach - Manning
·         “Struts in Action” –T. Husted, C. Dumoulin, G. Franciscu, D. Winterfeldt - Manning

METODOLOGIA

Las clases impartidas constan de dos partes: una parte teórica y otra parte práctica.

 

Actividades Teóricas

En la parte teórica se realizan exposiciones del docente orientadas a que el estudiante participe activamente y desarrolle habilidades para realizar el diseño de la solución para el desarrollo de un producto de software mediante la aplicación de los conceptos estudiados y adicionalmente pueda diseñar y ejecutar las pruebas correspondientes.


Actividades de Formación Práctica

En la parte práctica mediante la presentación de distintas situaciones reales, los alumnos realizarán el diseño de diversos tipos de productos, de forma tal que puedan aplicar los conceptos de diseño y los patrones estudiados. De igual forma, realizarán el diseño de condiciones y casos de prueba.


DISTRIBUCION DE LA CARGA HORARIA
Horas
%
2 Módulos/Semana = 8 horas
17 Semanas/Cuatrimestre = 136 horas
TEORIA
56
40
FORMACION PRÁCTICA:
  • Experimental Laboratorio/Taller/Campo
20
15
  • Resolución de Problemas
40
30
  • Proyecto y Diseño
20
15
  • PPS
0
0
Total Carga Horaria
136
100

EVALUACIÓN: APROBACION DEl CURSADo DE LA ASIGNATURA

·   Cumplimiento del 75% de asistencia a clase.
·   Aprobación de las evaluaciones parciales y de trabajos prácticos, de acuerdo a lo establecido en la planificación que se anexa.
evaluacion final: regimen de aprobacion de materia

·   Examen final escrito y/o oral individual, sobre todo el contenido de la materia.


           FERNANDO LOPEZ GIL                            MARIANA ORTEGA
              Director Departamento                              Secretaria Académica



ANEXO – AÑO 2011
UNIVERSIDAD CAECE
DEPARTAMENTO DE SISTEMAS

PLANIFICACION DE LA MATERIA: INGENIERÍA DEL SOFTWARE II

 

CARGA HORARIA SEMANAL DE LA MATERIA: 2 Módulos (8 Hs)


EQUIPAMIENTO / SOFTWARE / MATERIAL A UTILIZAR:
Laboratorio de Informática/ Excel, Word, PowerPoint, StarUML, Eclipse / Cañón de Proyección.

CRONOGRAMA DE CLASES:
Clases teóricas en aula, actividades prácticas de resolución de problemas y aplicación de software en Laboratorio de Computación, dictadas con según el siguiente Cronograma:

Semana

TEMA  DE CLASES
ACTIVIDAD HORARIA PROMEDIO EN %

TEORIA

Laboratorio
Experimental

Resolución
Problemas

Proyecto
Diseño

1
Conceptos de diseño de sistemas. Objetivos. Aspectos a tener en cuenta durante la construcción del diseño. Abstracción. Relación del diseño con el Análisis de Requerimientos, la Construcción de Software y la Prueba. Principios del diseño.
RUP. Fases. Ciclo de vida iterativo e incremental. Artefactos del diseño.
100
0
0
0
2
Entrega Trabajo Práctico.
UML: Diagrama de Clases – Relaciones Diagrama de Secuencia
50
0
25
25
3
Diagrama de Estados,  de actividad, de despliegue y de componentes.
50
0
25
25
4
Arquitectura de software y Estilos Arquitectónicos. Cohesión y Acoplamiento
50
0
25
25
5
Diseño Centrado en el Usuario. Reingeniería.
75
0
25
0
6
Patrones de Diseño
50
25
25
0
7
Frameworks
25
75
0
0
8
Revisión Trabajo Práctico Diseño.
1ra. Evaluación Parcial: Diseño de sistemas
75
0
25
0
9
Devolución del resultado de la evaluación y recepción correcciones del Trabajo Práctico.
Diseño de Pruebas:Técnicas de prueba basadas en la especificación o Caja Negra.  Técnicas de prueba basadas en el código o Caja Blanca
50
0
25
25
10
Diseño de Pruebas: Otras técnicas de prueba.
Niveles de Prueba. Pruebas Unitarias, de Integración y de Sistema
50
0
50
0
11
Ambiente de prueba. Ciclo de vida de un incidente. Clasificación de defectos. Evaluación de resultados. Registro y Seguimiento de incidentes. Herramientas para el registro y seguimiento de incidentes. Automatización de las pruebas
50
25
25
0
12
Topicos de Actualización
40
15
30
15
13
Topicos de Actualización
40
15
30
15



14
Revisión Trabajo Práctico sobre Diseño de condiciones y casos de prueba.
2da. Evaluación Parcial: Prueba de Software.
25
0
25
50
15
Devolución del resultado de la evaluación y recepción correcciones del Trabajo Práctico. Consideraciones  para examen final.
0
0
50
50
16/17
Recuperaciones y Examen Final
0
0
75
25

Totales en %
40
15
30
15

ACTIVIDADES DE FORMACIÓN PRÁCTICA

 

·         Se resolverán problemas inherentes a la carrera mediante ejercicios planteados en las guías de trabajos prácticos, abarcando las unidades temáticas detalladas en el cronograma de clases.

·         En el laboratorio de informática los alumnos implementarán un conjunto de ABMs  aplicando los frameworks vistos en clase.

·         Se elaborará un trabajo práctico grupal, en el cual los alumnos realizarán el diseño de un sistema aplicando la metodología orientada a objetos, y diseñarán las condiciones y casos de prueba del mismo. Dicho trabajo práctico se deberá entregar al finalizar el curso, con la correspondiente documentación de referencia.


TOPICOS DE ACTUALIZACIÓN


·         Se explicará a los alumnos el impacto y la forma de implementación en la Ingeniería de Software, de lo desarrollado hasta marzo de 2011, en el proyecto de investigación sobre Metodologías Agiles, destacando sus características y conclusiones.



 EVALUACION: RÉGIMEN DE CURSADA Y APROBACIÓN DE LA MATERIA:


(Según lo establece el Reglamento General de Enseñanza, Artículos Nº 14, 23 y 37)

1.    APROBACION DEl CURSADo DE LA ASIGNATURA

·         Deberán aprobarse dos evaluaciones parciales, según lo previsto en el Cronograma.
·         Deberá aprobarse un trabajo práctico sobre Diseño y Pruebas.
·         Los recuperatorios de los parciales se tomaran en fecha de finales.
·         Cumplimiento del 75% de asistencia a clase.


2.    APROBACIÓN DE LA MATERIA:


·         Examen final: Evaluación oral y/o escrita de toda la materia sobre los temas vistos en clase.

 

 

DOCENTES DE LA MATERIA: LUNA, Marcelo - LOPEZ, Raúl - ALONSO, Daniel -  GURFIENKIEL, Pablo.