1. datos generales de la asignatura · la importancia de esta asignatura se centra en la...

13
1. Datos Generales de la asignatura Nombre de la asignatura: Clave de la asignatura: SATCA 1 : Carrera: Verificación y Validación del Software. ISF-1304 3 2 - 5 Ingeniería en Sistemas Computacionales 2. Presentación Caracterización de la asignatura Esta asignatura aporta al perfil del Ingeniero en Sistemas Computacionales la formación de personal con un dominio sobre el proceso de verificación y validación con un enfoque que promueve la calidad del software. La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final, esto debido a que se ha comprendido la importancia de las pruebas de calidad y su impacto en la industria del software. Los aspectos principales a considerar son las revisiones y las pruebas como parte del ciclo de vida del software que se utilizan para detectar fallas en las diferentes etapas del mismo. Se centra en la detección de defectos en el producto, dándole mucha importancia a las revisiones. La verificación y la validación del software incluyen un conjunto de procedimientos, actividades, técnicas y herramientas, que se utilizan paralelamente al desarrollo del mismo para asegurar que el producto cubre los diferentes aspectos de calidad. El objetivo es prevenir las fallas desde los requerimientos hasta su implementación. Intención didáctica La asignatura es teórico práctica y permite desarrollar en el estudiante la habilidad para la aplicación de las diferentes técnicas de verificación y validación de software, considerando los principios de la ingeniería de software, para lo cual el temario se organiza en cinco bloques. En el bloque uno, introducción a la verificación y validación del software, se retoma de manera importante la calidad del software como fundamento para conocer y comprender el proceso de verificación y validación del software, así como la identificación de los estándares de la IEEE que le son aplicados. El bloque dos apoyará en la definición de las revisiones al software así como el proceso de pruebas de software. En el bloque tres se detalla el proceso de verificación del software. 1 Sistema de Asignación y Transferencia de Créditos Académicos

Upload: others

Post on 14-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

1. Datos Generales de la asignatura

Nombre de la asignatura:

Clave de la asignatura:

SATCA1:

Carrera:

Verificación y Validación del Software. ISF-1304 3 – 2 - 5 Ingeniería en Sistemas Computacionales

2. Presentación

Caracterización de la asignatura

Esta asignatura aporta al perfil del Ingeniero en Sistemas Computacionales la formación de personal con un dominio sobre el proceso de verificación y validación con un enfoque que promueve la calidad del software.

La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final, esto debido a que se ha comprendido la importancia de las pruebas de calidad y su impacto en la industria del software.

Los aspectos principales a considerar son las revisiones y las pruebas como parte del ciclo de vida del software que se utilizan para detectar fallas en las diferentes etapas del mismo. Se centra en la detección de defectos en el producto, dándole mucha importancia a las revisiones.

La verificación y la validación del software incluyen un conjunto de procedimientos, actividades, técnicas y herramientas, que se utilizan paralelamente al desarrollo del mismo para asegurar que el producto cubre los diferentes aspectos de calidad. El objetivo es prevenir las fallas desde los requerimientos hasta su implementación.

Intención didáctica

La asignatura es teórico – práctica y permite desarrollar en el estudiante la habilidad para la aplicación de las diferentes técnicas de verificación y validación de software, considerando los principios de la ingeniería de software, para lo cual el temario se organiza en cinco bloques.

En el bloque uno, introducción a la verificación y validación del software, se retoma de manera importante la calidad del software como fundamento para conocer y comprender el proceso de verificación y validación del software, así como la identificación de los estándares de la IEEE que le son aplicados.

El bloque dos apoyará en la definición de las revisiones al software así como el proceso de pruebas de software.

En el bloque tres se detalla el proceso de verificación del software.

1 Sistema de Asignación y Transferencia de Créditos Académicos

Page 2: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

En el bloque cuatro de hace una relación entre el modelado y el proceso de verificación. En el bloque cinco, se aborda el proceso de implementación y las diferentes herramientas que se pueden utilizar en el proceso.

En el último bloque, se plantea el proceso a desarrollar en el proceso de validación del software por parte del cliente.

Page 3: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

3. Participantes en el diseño y seguimiento curricular del programa

Lugar y fecha de

elaboración o revisión

Participantes

Observaciones

Instituto Tecnológico Superior de Irapuato Fecha: 15 al 17 de Abril de 2013..

Academia de Ingeniería en

Sistemas Computacionales

– Desarrollo de Software

Análisis y adecuación por competencias del módulo de

la especialidad "Ingeniería

de Software" de la carrera

de Ingeniería en Sistemas

Computacionales.

4. Competencia(s) a desarrollar

Competencia(s) específica(s) de la asignatura

Aplicar técnicas para verificaciones y validaciones al software, considerando los aspectos de revisión y pruebas como parte del ciclo de vida para detectar fallas en el desarrollo del mismo. Competencias instrumentales:

• Capacidad de análisis y síntesis. • Capacidad de organizar y planificar. • Conocimientos básicos de la carrera. • Comunicación oral y escrita. • Habilidades del manejo de la computadora. • Habilidad para buscar y analizar información proveniente de fuentes diversas. • Solución de problemas. • Toma de decisiones. Competencias interpersonales: • Capacidad crítica y autocrítica. • Trabajo en equipo. • Habilidades interpersonales. Competencias sistémicas: • Capacidad de aplicar los conocimientos en la práctica. • Habilidades de investigación. • Capacidad de aprender. • Capacidad de generar nuevas ideas (creatividad). • Búsqueda del logro.

5. Competencias previas

Identifica el proceso de ingeniería de software

Conoce el ciclo de vida

Utiliza herramientas de modelado

Capacidad de análisis

Capacidad de crítica constructiva

Page 4: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

6. Temario Unidad

Temas

Subtemas

1

Introducción al proceso de verificación y validación.

1.1 Contextualización de la verificación y validación. 1.2 Terminología del proceso. 1.3 El proceso de la verificación y validación. 1.4 Tipos generales de los errores. 1.5 Responsabilidad de pruebas. 1.6 Organigrama de proceso de testing (un modelo propuesto). 1.7 Costos del error.

2

Pruebas.

2.1 Tipos de pruebas. 2.2 Cobertura de las pruebas. 2.3 Preparación de la prueba. 2.4 Productos de la prueba. 2.5 Criterios para la realización de pruebas. 2.6 Plan Pruebas (validación y verificación). 2.7 Estructura de los casos de Prueba. 2.8 Conceptos Generales los diseño de las pruebas

(validación y verificación). 2.9 Reporte y Seguimiento de errores. 2.10 Informe de la Prueba. 2.11 Fuentes de información de QA para el control

estadística o métricas. 2.12 Control estadístico vs métricas. 2.13 Importancia de la calidad, las métricas y el control

estadístico.

3

Verificación.

3.1 Marco de Referencia para el desarrollo de software. 3.2 Herramientas para apoyar al proceso y la ejecución de las

revisiones de software. 3.3 Manejo de Requerimientos (Verificación). 3.4 Verificación en este proceso. 3.5 Entradas propuestas para el proceso de verificación de

requerimientos. 3.6 Método de verificación. 3.7 Aspectos a verificar en esta etapa. 3.8 Entendimiento de problema (Verificación). 3.9 Revisión general de requerimientos. 3.10 Fase de manejo de requerimientos.

4

Modelado.

4.1 Modelado de pruebas con UML. 4.2 Cumplimiento de la especificación en los requerimientos. 4.3 Importancia en la efectividad en el diseño. 4.4 Patrones (tipos de patrones, como utilizar los patrones para

validar). 4.5 Contratación y Outsourcing.

Page 5: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

5

Implementación.

5.1 Implementación. 5.2 Entradas para pruebas. 5.3 Plan de pruebas (estrategia de prueba, ambientes, test

team, atacar y asegurar regresión). 5.4 Ejecución de tipos generales de pruebas. 5.5 Caja negra y caja blanca. 5.6 Otros tipos de test. 5.7 GUI, Funcionalidad, Performance, entre otros. 5.7.1 Documentación (técnica y de usuario). 5.7.2 Seguridad. 5.7.3 Diseño de las pruebas.

Page 6: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

7. Actividades de aprendizaje de los temas

Introducción al proceso de la verificación y validación.

Competencias Actividades de aprendizaje

Específica(s): Identifica el proceso de verificación y validación del software. Genéricas: Habilidad para buscar y analizar información, capacidad para trabajar en equipo, aplicar los conocimientos en la práctica.

Investigar los conceptos de calidad del software.

Analiza el proceso de verificación y validación del software.

Desarrollar un glosario de términos

Integración de la verificación y validación al proceso de desarrollo de software.

Conocer el papel de los estándares en el proceso de verificación y validación del software.

Pruebas.

Competencias Actividades de aprendizaje

Específica(s): Identifica las características y los tipos de pruebas que se le aplican al software. Genéricas: Habilidad para buscar y analizar información, capacidad para trabajar en equipo, aplicar los conocimientos en la práctica.

Investigar la definición y características de las revisiones de software.

Diseñar un caso de prueba

Realizar un reporte de pruebas y seguimiento de errores.

Utilizar formatos propuestos para la documentación de las pruebas de software.

Verificación.

Competencias Actividades de aprendizaje

Específica(s): Analiza el proceso de verificación al software. Genéricas: Capacidad para buscar y

analizar información, capacidad para

trabajar en equipo, aplicar los

conocimientos en la práctica.

Investigar el proceso de la verificación.

Realizar en un caso práctico el manejo de requerimientos por medio de un método de verificación.

Modelado.

Competencias Actividades de aprendizaje

Específica(s): Utiliza herramientas para el

modelado en el proceso de verificación y

validación del software.

Investigar el uso de herramientas para apoyar al proceso y la ejecución de las revisiones de software.

Investigar el uso de herramientas para

Page 7: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

Genéricas: Capacidad para buscar y

analizar información, capacidad para

trabajar en equipo, aplicar los

conocimientos en la práctica.

apoyar al proceso, el diseño y la ejecución de las pruebas de software.

Modelar casos prácticos de pruebas.

Implementación.

Competencias Actividades de aprendizaje

Específica(s): Planea el proceso de verificación y validación del software, y aplicar métricas para evaluar los resultados finales. Genéricas: Habilidad para buscar y analizar información, capacidad para trabajar en equipo, aplicar los conocimientos en la práctica.

Investiga el proceso de planeación.

Ejecuta pruebas y analiza los resultados.

Validación y logística de pruebas.

Competencias Actividades de aprendizaje

Específica(s): Analizar el proceso de verificación y validación del software, y aplicar métricas para evaluar los resultados finales. Genéricas: Habilidad para buscar y analizar información, capacidad para trabajar en equipo, aplicar los conocimientos en la práctica.

Analiza e interpreta los resultados de las pruebas.

Elabora carta de aceptación del cliente.

Documenta el seguimiento a cambios

del proyecto.

8. Práctica(s)

1. Seleccionar un caso práctico de desarrollo de software para someterlo al proceso de verificación y validación del software.

2. Utilizar las herramientas para apoyar al proceso de verificación y validación del software.

3. Diseñar un plan de verificación y validación del software, así como aplicar las métricas para evaluar los resultados arrojados por la verificación y validación del software.

4. Diseñar un formato de pruebas. 5. Realizar visitas a empresas dedicadas al desarrollo de software. 6. Desarrollar una mesa de debates, en la cual se cuente con la presencia de un

experto en desarrollo, a fin de conocer las experiencias con respecto a los procesos de verificación y validación del software.

Page 8: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

9. Proyecto de asignatura

El objetivo del proyecto que planteé el docente que imparta esta asignatura, es demostrar

el desarrollo y alcance de la(s) competencia(s) de la asignatura, considerando las

siguientes fases:

Fundamentación: marco referencial (teórico, conceptual, contextual, legal) en el cual

se fundamenta el proyecto de acuerdo con un diagnóstico realizado, mismo que

permite a los estudiantes lograr la comprensión de la realidad o situación objeto de

estudio para definir un proceso de intervención o hacer el diseño de un modelo.

Planeación: con base en el diagnóstico en esta fase se realiza el diseño del proyecto

por parte de los estudiantes con asesoría del docente; implica planificar un proceso: de

intervención empresarial, social o comunitario, el diseño de un modelo, entre otros,

según el tipo de proyecto, las actividades a realizar los recursos requeridos y el

cronograma de trabajo.

Ejecución: consiste en el desarrollo de la planeación del proyecto realizada por parte

de los estudiantes con asesoría del docente, es decir en la intervención (social,

empresarial), o construcción del modelo propuesto según el tipo de proyecto, es la fase

de mayor duración que implica el desempeño de las competencias genéricas y

especificas a desarrollar.

Evaluación: es la fase final que aplica un juicio de valor en el contexto laboral-

profesión, social e investigativo, ésta se debe realizar a través del reconocimiento de

logros y aspectos a mejorar se estará promoviendo el concepto de “evaluación para la

mejora continua”, la metacognición, el desarrollo del pensamiento crítico y reflexivo en

los estudiantes.

Además de considerar la revisión del diseño de la arquitectura, es los siguientes aspectos:

Mapas conceptuales, cuestionario sobre conceptos relacionados con la arquitectura.

Revisión de la documentación del modelado.

Page 9: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

10. Evaluación por competencias

La evaluación debe ser continua y formativa por lo que se debe considerar el desempeño de cada una de las actividades de aprendizaje, haciendo especial énfasis en:

Aplicación de un examen de diagnóstico al inicio del curso.

Ponderar tareas.

Información obtenida durante las investigaciones solicitadas, plasmadas en documentos escritos o digitales

Dar seguimiento al desempeño en el desarrollo del temario (dominio de los conceptos, capacidad de la aplicación de los conocimientos en problemas reales y de ingeniería)

Se recomienda utilizar varias técnicas de evaluación con un criterio específico para cada una de ellas (teórico-práctico).

Examen escrito correspondiente a cada unidad.

Ejercicios dentro de laboratorios.

Examen práctico (resolviendo aspectos reales) correspondiente a cada unidad.

Desarrollo de un proyecto final que integre todas las unidades de aprendizaje

Presentación del proyecto final. (Informe, presentación y defensa congruencia del proyecto final).

Uso de una plataforma educativa en internet la cual puede utilizarse como apoyo para crear el portafolio de evidencias del alumno (integrando: tareas, prácticas, evaluaciones, etc.)

11. Fuentes de información

1. Test Process Improvement, Tim Koomen and Martin Pol. Addison-Wesley. 1999 2. Software Testing and Continuous Quality Improvement, Willam E. Lewis. Aurebach.

2000 3. Effective Methods for Software Testing (second edition), William E. Perry.

WileyComputer Publishing. 2000 4. Software Verification and Validation, Steven R. Rakitin. Artech House.1997 5. UML y Patrones Craig Larman. Pearson. 1999 6. Software Testing and Quality Assurance Theory and Practice, Kshirasagar Naik

& Priyadarshi Tripathy, Wiley. 7. Verification and Validation in Systems Engineering, Assessing UML/SysML Design

Models, Mourad Debbabi, Fawzi Hassaine - Yosr Jarraya, Springer.

Page 10: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

ANEXO ITESI

ELEMENTOS DESCRIPTIVOS DE LA ASIGNATURA

Verificación y validación Ingeniería en Sistemas Computacionales

Materia(s) Prerrequisito(s) la(s) cual(es) preferentemente se deben desarrollar las

Competencias Previas

Ingeniería de Software Gestión de Proyectos de Software Programación Orientada a Objetos Tópicos selectos de programación

Recursos Necesarios

Laboratorio con Computadoras

Cañón

Software hoja de cálculo, procesador de palabras y de planificación de proyectos.

Horas de utilización de infraestructura de Cómputo

Para las Actividades de aprendizaje de los temas Tiempo estimado

Analizar el proceso de verificación y validación del software. 3 horas

Conocer el papel de los estándares en el proceso de verificación y validación del software.

2 horas

Investigar la definición y características de las revisiones de software.

3 horas

Diseñar un caso de prueba 4 horas

Realizar un reporte de pruebas y seguimiento de errores. 2 horas

Investigar el proceso de la verificación. 3 horas

Investigar el uso de herramientas para apoyar al proceso y la ejecución de las revisiones de software.

3 horas

Investigar el uso de herramientas para apoyar al proceso, el diseño y la ejecución de las pruebas de software.

3 horas

Investiga el proceso de planeación de pruebas. 3 horas

Diseñar un plan de pruebas 6 horas

Para las Prácticas Tiempo estimado

Caso práctico sobre el manejo de requerimientos por medio de un método de verificación.

5 horas

Modelar casos prácticos de pruebas 5 horas

Plan y ejecución de pruebas sobre un software propuesto por el profesor.

5 horas

Page 11: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

Forma de Evaluación

RÚBRICA PARA EVALUAR MAPAS MENTALES.

REALIZADO: 10 NO REALIZADO: 0

CRITERIOS LISTA DE COTEJO

1. Utiliza un mínimo de palabras posibles, de preferencia “palabras clave” o mejor aún imágenes.

2. Se inicia desde el centro de la hoja colocando la idea central que está desarrollada hacia fuera de manera irradiante.

3. La idea central está representada con una imagen clara y poderosa que sintetiza el tema general del Mapa Mental.

4. Ubica por medio de la lluvia de ideas las ideas relacionadas con la idea central.

5. Por medio de ramas enlaza la idea o tema central con ideas relacionadas o subtemas.

6. Temas y subtemas están articulados y jerarquizados según el sentido de las manecillas del reloj.

7. Utiliza el espaciamiento para acomodar de manera equilibrada las ideas o subtemas.

8. Subraya las palabras clave o encerrándolas en un círculo colorido para reforzar la estructura del Mapa.

9. Utiliza el color para diferenciar los temas, sus asociaciones o para resaltar algún contenido.

10. Utiliza flechas, iconos o cualquier elemento visual que permiten diferenciar y hacer más clara la relación entre ideas.

PUNTAJE TOTAL OBTENIDO

RÚBRICA PARA EVALUAR PROYECTOS

20 Puntos 18 Puntos 14 Puntos 12 Puntos

Excelente Bueno Regular Deficiente Puntaje

Trabajo En

Equipo

Se trabajó en

clase,

compartió y

apoyo el

Usualmente

escucho,

trabajó,

compartió y

Raramente

escucha,

comparte y

apoya el

No apoyo a

sus

compañeros

Page 12: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

esfuerzo con

sus

compañeros.

Trato de

mantener la

unión de los

miembros

trabajando en

grupo.

apoyo el

esfuerzo en

clase. Y no

causo

“problemas”

en el trabajo

en grupo

esfuerzo de sus

compañeros.

de equipo en

clase

Resolución

de

Problemas

Busca, aporta

soluciones y

resuelve a los

problemas

propuestos.

Busca y

aporta

soluciones a

los problemas

propuestos

No sugiere o

apoya en la

resolución de

problemas, pero

se mantiene en

el equipo.

No aporta, ni

ayuda a

resolver los

problemas.

Originalidad Uso de ideas

creativas e

innovadoras

Copia idea de

otros pero las

ajusta al

problema a

resolver

Copia Ideas de

otros pero busca

ayuda para

implementarlas

No aporta

ideas

Puntualidad

en la

Entrega

Se entregó en

tiempo y forma

el proyecto

Se entregó el

proyecto con

1 día de

retraso

El proyecto lo

entregó de 2 a 3

días de retraso

Lo entregó

con más de 3

días de

retraso o no lo

entregó

Producto

Final

El proyecto

presentado

resuelve el

problema y se

puede

identificar las

soluciones de

acuerdo a la

experiencia de

todos los

alumnos

El proyecto

presentado

resuelve el

problema

pero solo

presenta las

soluciones de

acuerdo a la

experiencia

de algunos

alumnos

El proyecto

presentado

resuelve el

problema pero

es solución

copiada de

internet

No se

presentó el

proyecto

Page 13: 1. Datos Generales de la asignatura · La importancia de esta asignatura se centra en la realización de pruebas completas al software antes de ser liberado hacia el usuario final,

Perfil Deseable del Profesor

Ingeniero en sistemas computacionales o afín Con experiencia en desarrollo de sistemas en base a procesos de calidad Experiencia docente

Fuentes de Información Locales

Larman, Craig. (2003) UML y patrones: una introducción al análisis y diseño

orientado a objetos y al proceso unificado. Segunda edición. España: Pearson

Education.

Pressman, Roger S. (2010) Ingeniería del software: un enfoque práctico. Séptima

edición. México: Mc Graw Hill.

Microsoft. Crear y definir un plan de pruebas. En línea:

https://msdn.microsoft.com/es-es/library/dd286583(v=vs.110).aspx

Tuya, Javier (2007). Las pruebas del software. En línea:

http://in2test.lsi.uniovi.es/repris/actividades/TestingCadiz20070309.pdf

SEI (1988). Introduction to Software Verification and Validation. En línea:

http://www.sei.cmu.edu/reports/89cm013.pdf