Ingeniería del software II

Anuncio
UNIVERSIDAD CAECE
DEPARTAMENTO DE SISTEMAS
PROGRAMA DE:
INGENIERIA DE SOFTWARE II
CODIGO DE LA CARRERA
072
AÑO
3º
CARRERA:
PLAN DE LA CARRERA CODIGO ASIGNATURA
10
1190/10S
CUATRIMESTRE
VIGENCIA
2º
2010
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.
UNIVERSIDAD CAECE
1
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.
UNIVERSIDAD CAECE
2
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.
10. TÓPICOS DE ACTUALIZACIÓN.
Desarrollo de temas de actualización, mediante el tratamiento de novedades, surgidas de
recientes publicaciones, congresos, etc., considerando la importancia de analizar las
actuales tendencias y lineas de investigación relacionadas con la Ingeniría de Software.
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
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
UNIVERSIDAD CAECE
of
Knowledge”,
3
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:
20
15
• Experimental Laboratorio/Taller/Campo
40
30
• Resolución de Problemas
20
15
• Proyecto y Diseño
0
0
• PPS
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
Director Departamento
UNIVERSIDAD CAECE
MARIANA ORTEGA
Secretaria Académica
4
Descargar