Universidad Pública de Navarra



Año Académico: 2024/2025 | Otros años:  2023/2024  |  2022/2023  |  2021/2022  |  2020/2021 
Graduado o Graduada en Ingeniería Informática por la Universidad Pública de Navarra (Programa Internacional)
Código: 250604 Asignatura: VERIFICACIÓN Y VALIDACIÓN DEL SOFTWARE
Créditos: 6 Tipo: Optativa Curso: Periodo: 2º S
Departamento: Estadística, Informática y Matemáticas
Profesorado:
MARIÑELARENA CABEZA, IKER (Resp)   [Tutorías ]

Partes de este texto:

 

Módulo/Materia

Módulo: Mención Ingeniería del Software

Materia: Organización y Gestión de Sistemas Informáticos

Subir

Descripción/Contenidos

Verificación y validación es el nombre que reciben los procesos de comprobación y análisis que aseguran que el software se desarrolla de acuerdo con su especificación y que cumple las necesidades de los clientes. Se trata de un proceso de ciclo de vida completo. Comienza con las revisiones de los requisitos y continúa con las revisiones del diseño, las inspecciones de código o la prueba del producto.

En esta asignatura se pretende que el alumno comprenda la necesidad de todos estos procesos, tanto desde el punto de vista de su ejecución como de su planificación y desarrollo. También se describen buenas prácticas a la hora de definir y desplegar los procesos de Verificación y de Validación.

En las clases de prácticas se pretende utilizar herramientas que permiten automatizar en parte los procesos de verificación y validación.

Subir

Competencias genéricas

G3 - Capacidad para diseñar, desarrollar, evaluar y asegurar la accesibilidad, ergonomía, usabilidad y seguridad de los sistemas, servicios y aplicaciones informáticas, así como la información que gestionan.

G5 - Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad.

G6 - Capacidad para concebir y desarrollar sistemas o arquitecturas informáticas centralizadas o distribuidas integrando hardware, software y redes.

G9 - Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática. 

G12 - Conocimiento y aplicación de elementos básicos de economía y de gestión de recursos humanos, organización y planificación de proyectos, así como la legislación, regulación y normalización en el ámbito de los proyectos informáticos.

T1 - Capacidad de análisis y síntesis

T2 - Capacidad de organización y planificación

T4 - Resolución de problemas

T8 - Aprendizaje autónomo

T10 - Motivación por la calidad

Subir

Competencias específicas

IS1 - Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la ingeniería del software.

IS3 - Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.
IS4 - Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.

Subir

Resultados aprendizaje

  • R1: Conocer y utilizar metodologías de verificación y validación del software
  • R2: Conocer y desarrollar el ciclo de vida de las pruebas
  • R3: Realizar pruebas unitarias
  • R4: Realizar pruebas de integración y de sistema
  • R5: Definir el conjunto de pruebas y el proceso de las pruebas
  • R6: Utilizar herramientas que faciliten la verificación del software
  • R7: Razonar sobre la completitud y consistencia de una especificación
  • R8: Desarrollar un modelo abstracto a partir de una especificación
  • R9: Aplicar herramientas para validar un modelo abstracto

Subir

Metodología

Metodología - Actividad
Horas Presenciales
Horas no presenciales
 A-1 Clases magistrales
 15
 0
 A-2 Preparación de presentaciones de trabajos, proyectos, etc. 
 0
 7,5
 A-3 Aprendizaje basado en problemas y/o casos en grupos reducidos
 15
 0
 A-4 Sesiones prácticas en grupos reducidos    
22,5
 0
 A-5 Tutorías en grupos muy reducidos
 4,5
 0
 A-6 Actividades de evaluación
 3
 0
 A-7 Estudio autónomo    
 0
 15
 A-8 Elaboración de trabajos y/o proyectos y escritura de memorias    
 0
 30
 A-9 Programación/experimentación u otros trabajos en ordenador/laboratorio 
 0
 22,5
 A-10 Resolución de problemas, ejercicios y otras actividades de aplicación 
 0
 15
Total
 60
 90

Subir

Evaluación

 

Resultados de
aprendizaje
Actividad de
evaluación
Peso (%) Carácter
recuperable
Nota mínima
requerida
 R1, R2, R5, R7, R8 E1 - Prueba escrita que recoja los conceptos adquiridos 30% Recuperable mediante prueba escrita. Nota mínima para superar la asignatura: 5 sobre 10
R1, R2, R3, R4, R5, R6, R7, R8, R9 E2 - Proyecto que aplique los contenidos de la materia 50% Recuperable mediante una prueba en el laboratorio Nota mínima para que pondere en la calificación final 5 sobre 10
R2, R3, R4, R5, R6, R7, R8, R9 E3 - Trabajos que resuelvan casos prácticos: cumplimiento de plazos y formatos, corrección de código, obtención de conclusiones adecuadas 20% Recuperable mediante una prueba en el laboratorio  

En el caso de no llegar a la nota mínima en alguno de los apartados E1 (prueba escrita) o E2 (proyecto), la calificación que se traslada al acta será:

  • la nota media con los pesos indicados en la tabla si ésta no llega a 4 (sobre 10)
  • 4 si la nota media con los pesos indicados en la tabla es mayor  que 4 (sobre 10)

Subir

Temario

Programa de teoría

 

Tema 1. Introducción al mundo digital y sus reglas tecnológicas

Tema 2. Introducción a XP y agile

Tema 3. Introducción a git y Github

Tema 4. Introducción a Docker y configuraciones de entornos

Tema 5. Introducción a PHP y PHPStorm

Tema 6. Principios y prácticas de testing y TDD

Tema 7. Dobles de test

Tema 8. pre-commit y Continuos Integration/Continuous delivery/Continuous deployment

 

Programa de prácticas

Durante las prácticas el alumno empleará diversas aplicaciones que facilitan los procesos de verificación y validación. Con cada herramienta se seguirá un proceso similar: las primeras sesiones serán sesiones guiadas en las que el profesor enseñará a utilizar la herramienta con un caso práctico; en las siguientes sesiones el alumno deberá emplear la herramienta en la resolución no guiada de otros casos prácticos.

Durante las últimas  sesiones el alumno completará un proyecto en el que debe desarrollar un programa correcto a partir de una documentación de análisis y diseño proporcionada por el profesor. El alumno deberá comprobar que el diseño es correcto, definir un conjunto de pruebas que permitan comprobar que funciona correctamente y conforme a los requisitos especificados y comprobar la corrección de su implementación por medio de sus pruebas. 

Subir

Bibliografía

Acceda a la bibliografía que el profesorado de la asignatura ha solicitado a la Biblioteca.


 

Bibliografía básica

- John Watkins, Simon Mills; Testing IT: An Off-the-Shelf Software Testing Process; Cambridge University Press, 2011.

- D. Bolaños Alonso, A. Sierra Alonso, M. I. Alarcón Rodríguez: Pruebas de Software y JUnit, Un análisis en profundidad y ejemplos prácticos; Prentice-Hall (2007)

- D. Jackson. Software Abstractions. Logic, Language and Analysis. MIT Press, 2006

- J. Fitzgerald, P. G. Larsen, P. Mukherjee, N. Plat, M. Verhoef. Validated Designs for Object-Oriented Systems. Springer Verlag 2005

Bibliografía complementaria

- I. Sommerville; Ingeniería del Software; Addison Wesley, 2005

- R. Pressman; Ingeniería del Software: Un enfoque práctico; McGraw-Hill, 2005.

 

Subir

Idiomas

Castellano. Se utilizan materiales en inglés.

Subir

Lugar de impartición

Campus de Arrosadia

Subir