Guía Docente 2023-24
CALIDAD DEL SOFTWARE

BASIC DETAILS:

Subject: CALIDAD DEL SOFTWARE
Id.: 30492
Programme: GRADUADO EN INGENIERÍA INFORMÁTICA (ITINERARIO DE ADAPTACIÓN)
Module: INGENIERÍA DEL SOFTWARE
Subject type: OBLIGATORIA
Year: 3 Teaching period: Segundo Cuatrimestre
Credits: 3 Total hours: 75
Classroom activities: 11,5 Individual study: 63,5
Main teaching language: Castellano Secondary teaching language: Inglés
Lecturer: Email:

PRESENTATION:

Uno de los problemas más acuciantes que afronta actualmente el mundo de la ingeniería informática es la producción de software de calidad. Desde la década de los 70 este tema ha sido motivo de preocupación para especialistas, ingenieros, investigadores y fabricantes de software, los cuales han realizado gran cantidad de investigaciones al respecto con el objetivo fundamental de obtener un software de calidad a través de una serie de procesos basados en el establecimiento de métricas, métodos de evaluación, seguimiento y realimentación en el ciclo de vida de desarrollo.

Se puede definir la calidad del software como el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. La calidad es sinónimo de eficiencia, flexibilidad, corrección, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad. La calidad del software es medible y varía de un sistema a otro o de un programa a otro. Un software elaborado para el control de naves espaciales debe ser confiable al nivel de "cero fallos"; un software hecho para ejecutarse una sola vez no requiere el mismo nivel de calidad; mientras que un producto de software para ser explotado durante un largo período (10 años o más), necesita ser confiable, mantenible y flexible para disminuir los costes de mantenimiento y perfeccionamiento durante el tiempo de explotación.

La obtención de un software con calidad implica la utilización de metodologías o procedimientos estándares para el análisis, diseño, programación y prueba del software que permitan uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad, menor mantenimiento y facilidad de prueba, a la vez que eleven la productividad, tanto para la labor de desarrollo como para el control de la calidad del software. El objetivo de la asignatura Calidad del Software es dotar al alumno de las competencias necesarias para medir, controlar y garantizar el desarrollo de software bajo unos estándares de calidad preestablecidos.

PROFESSIONAL COMPETENCES ACQUIRED IN THE SUBJECT:

General programme competences G02 Capacidad innovadora para proponer y encontrar formas nuevas y eficaces de realizar cualquier tarea y/ o función dentro de su entorno profesional con una elevada motivación por la calidad
G03 Capacidad para trabajar dentro de equipos multidisciplinares para conseguir metas comunes, anteponiendo los intereses colectivos a los personales
G06 Capacidad para analizar y resolver los problemas o imprevistos complejos que puedan surgir durante la actividad profesional dentro de cualquier tipo de organización socio-económica
G07 Capacidad para trabajar con flexibilidad y versatilidad para adaptarse a las necesidades y exigencias de su entorno profesional
G09 Capacidad para tomar decisiones de manera imparcial y desde un punto de vista racional
G11 Habilidad para desenvolverse en un entorno multicultural e internacional, relacionándose con personas de distintas nacionalidades, idiomas y culturas
Specific programme competences E05 Capacidad para evaluar los aspectos económicos y empresariales de las actividades de la ingeniería
E06 Capacidad para aplicar procesos de aseguramiento de la calidad en procesos y productos
E12 Capacidad para gestionar la complejidad a través de la abstracción, el modelado, las “best practices”, los patrones, los estándares y el uso de herramientas apropiadas
E21 Capacidad para realizar pruebas que verifiquen la validez del proyecto (funcional, integridad de los datos, rendimiento de las aplicaciones informáticas, equipos, comunicaciones, etc.)
E22 Capacidad para desarrollar labores de implementación en las que se requiera un alto grado de conocimientos técnicos en diversos ámbitos (programación, configuración de equipos hardware y de comunicaciones, etc.).
E26 Capacidad para definir y gestionar políticas de calidad para sistemas informáticos y de comunicaciones aplicando principios cuantitativos basados en métricas y estadísticas
Learning outcomes R01 Trabajar de forma metódica
R02 Automatizar tareas repetitivas
R03 Anticiparse a los problemas
R04 Analizar riesgos
R05 Aplicar procesos de calidad rigurosamente
R06 Diseñar soluciones a problemas
R07 Dominar metodologías para la construcción organizada de software
R08 Interaccionar en inglés en un escenario de trabajo
R09 Trabajar productivamente en equipo
R10 Aplicar técnicas matemáticas a la ingeniería

PRE-REQUISITES:

Asignatura “Ingeniería del Software”.

SUBJECT PROGRAMME:

Subject contents:

1 - Principios de la Calidad del Software
    1.1 - Introducción: ¿Qué es la calidad software?
    1.2 - Actividades para garantizar la calidad del software
    1.3 - Ingeniería de la Calidad
2 - Métricas para medir la calidad del software
    2.1 - Métricas del producto
    2.2 - Métricas del Proceso
    2.3 - Mëtricas en Programación Orientada a Objetos
3 - 3.Gestión de la Configuración y del Sofware
    3.1 - Principios Básicos
    3.2 - Patrones
    3.3 - Control de Versiones en Práctica
    3.4 - Integración Continua
4 - Pruebas
    4.1 - Conceptos Básicos
    4.2 - Actividades esenciales, gestión de los tests y automatización
    4.3 - Cobertura
    4.4 - Partición del dominio de parámetros de entrada y pruebas de límites.
    4.5 - Control de flujo, dependencias e interacciones.
    4.6 - Patrones
    4.7 - Frameworks
    4.8 - Desarrollo Orientado a Tests
5 - Más allá de las pruebas
    5.1 - Prevención de defectos y mejora de procesos
    5.2 - Inspecciones de Código y Verificación Formal
    5.3 - Assertion Driven Development y Diseñol por Contrato
    5.4 - Tolerancia a Errores y Contención de Fallos

Subject planning could be modified due unforeseen circumstances (group performance, availability of resources, changes to academic calendar etc.) and should not, therefore, be considered to be definitive.


TEACHING AND LEARNING METHODOLOGIES AND ACTIVITIES:

Teaching and learning methodologies and activities applied:

El profesor seguirá las siguientes metodologías de enseñanza:

Para optimizar la adopción de las competencias fijadas para esta asignatura se recomienda la siguiente metodología de aprendizaje:

Student work load:

Teaching mode Teaching methods Estimated hours
Classroom activities
Master classes 5
Practical exercises 2
Practical work, exercises, problem-solving etc. 1,5
Assessment activities 3
Individual study
Tutorials 0,5
Individual study 25
Individual coursework preparation 18
Group cousework preparation 9
Research work 7
Recommended reading 3
Other individual study activities 1
Total hours: 75

ASSESSMENT SCHEME:

Calculation of final mark:

Written tests: 40 %
Individual coursework: 30 %
Group coursework: 10 %
Final exam: 15 %
Participación y Trabajos Voluntarios: 5 %
TOTAL 100 %

*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.

BIBLIOGRAPHY AND DOCUMENTATION:

Basic bibliography:

Patton, Ron “Software Testing”, 2nd ed., Sams Publishing, 2005
Horch, John W. “Practical Guide to Software Quality Management”, Artech House, 2003

Recommended bibliography:

Kan, Stephen. “Metrics and Models in Software Quality Engineering”, Addison Wesley, 2002
Evans, Isabel “Achieving Software Quality through Teamwork”, Artech House, 2004
Ravindranath, Pandian. “Software Metrics. A Guide to Planning, Analysis andApplication”, Auerbach Publications, 2004
Stamelos, Ioannis G. “Agile Software Development Quality Assurance”, IdeaGroup Inc, 2007
Burnstein, Ilene. “Practical Software Testing”, Springer-Verlag, 2003
Lewis, William. “Software Testing and Continuous Quality Improvement” 2nd ed.,Auerbach Publications, 2005

Recommended websites:

The most popular Software Testing and Quality Assurance discussions site. With over 50 forums that cover almost every area in software testing, quality assurance and quality engineering. http://www.qaforums.com/
Grupo de calidad del software, ingeniería y gestión en español. http://www.calidaddelsoftware.com/
El sistema de calidad del centro de vuelos espacial de la NASA. http://sw-assurance.gsfc.nasa.gov/disciplines/quality/
Enlaces a gran número de instituciones y organizaciones relacionados con la Calidad del Software. http://www.soft.com/Institute/HotList/
Project Management Institute (PMI). PMI is the world’s leading not-for-profit association for the project management profession. http://www.pmi.org
Algunos blogs relacionados con la calidad del software http://nobugleftbehind.com/ http://jmbeas.blogspot.com/ http://adam.goucher.ca
Comunidad CMS: http://www.cmcrossroads.com/


* Guía Docente sujeta a modificaciones