Contenido de XSL

Calidad del Software

Centro
Facultad de Informática
Titulación
Grado en Ingeniería Informática
Curso académico
2024/25
Curso
X
Nº Créditos
6
Idiomas
Castellano
Euskera

DocenciaAlternar navegación

Distribución de horas por tipo de enseñanza
Tipo de docenciaHoras de docencia presencialHoras de actividad no presencial del alumno/a
Magistral4050
P. Laboratorio2020

Guía docenteAlternar navegación

ObjetivosAlternar navegación

En este apartado se sintetizan os resultados de aprendizaje. Estos resultados se basan en las recomendaciones establecidas para la titulación de Grado en Ingeniería Informática. Es decir, están relacionados con las competencias de construcción de sistemas informáticos robustos, seguros, eficientes e inteligentes, en particular con la formación de una infraestructura tecnológica que facilite la colaboración para el desarrollo del software y la creación sistemática y automatizada de prototipos rápidos, que proporcionen recursos para el diseño, desarrollo, mantenimiento y mejora de prototipos desde la gestión de los requisitos de las/los clientes y el análisis del problema.

En forma resumida, al finalizar el cuatrimestre el/la estudiante logrará los siguientes resultados de aprendizaje (RA):

- RA1: Saber llevar a cabo una Especificación de Requisitos Software, con especial énfasis en los requisitos no funcionales. Entender su importancia para que el proceso de desarrollo del software sea exitoso y se obtenga un producto de calidad.

- RA2: Conocer la forma de definir y aplicar los procesos de desarrollo del software.

- RA3: Aplicar metodologías ágiles en pequeños y grandes grupos, indicando la información necesaria en cada fase.

- RA4: Conocer los métodos para medir y mejorar la calidad en las organizaciones que desarrollan software.

- RA5: Hacer aflorar métricas e indicadores para medir la calidad de las aplicaciones informáticas, relacionando el software con la mejora del nivel de negocio o servicio del cliente.

- RA6: Saber llevar a cabo una auditoría para conocer si un software real cumple con el marco de medición establecido.

- RA7: Conocer los conceptos básicos de los métodos y herramientas utilizados en la elaboración y construcción de software robusto.

TemarioAlternar navegación

1. Requisitos de la calidad del software y estado actual de la difusión e implantación de los modelos de calidad.

1.1. Estado de la calidad del software a nivel mundial.

1.2. Demandas de las/los clientes y estándares a considerar.

1.3. Modelos y normas de calidad.

1.4. Metodologías que guían el proceso de desarrollo y herramientas de apoyo.

1.5. Estrategias para la implantación del proceso de desarrollo sistemático en proyectos grandes y pequeños.

En este tema se analizará el estado actual de la calidad del software en nuestro entorno, incluyendo estándares y modelos a considerar. En el proyecto correspondiente cada grupo realizará un breve informe de dicho estado. Mediante la presentación en clase de los resultados de cada grupo, conseguiremos una visión general de lo que significa el área de la asignatura y cómo se aplica en el entorno profesional.

2. Identificar las necesidades de las/los clientes: ingeniería de requisitos.

2.1. Ingeniería de Requisitos: definiciones, objetivos, tipos de requisitos y beneficios.

2.2. Requisitos no funcionales.

2.3. Especificaciones de Requisitos Software.

2.4. Normas ISO 25000.

En este tema se analizará la importancia de realizar una buena captura de requisitos, dado que un error en esta fase puede tener un impacto grave en el resto del desarrollo. En el proyecto correspondiente, cada grupo escogerá un dominio y simulará la captura de requisitos de una aplicación real, donde la docente adoptará el papel de cliente. Tras una presentación en clase de los resultados de cada grupo, se analizarán las diferentes necesidades de los diferentes dominios.

3. Sistematización del desarrollo software: ingeniería de procesos y sistemas basados en procesos.

3.1. Motivación de procesos, definición sistemática y mejora continua.

3.2. Ciclos de vida.

3.3. Lenguajes de modelado de procesos para el desarrollo software: BPMN y SPEM

3.4. Mejora de los procesos en las organizaciones: ISO 90003.

En este tema se describirán los diferentes ciclos de vida posibles a la hora de abordar el desarrollo de un software y la necesidad de adecuar el proceso de desarrollo a las particularidades de este. También se verán cómo se gestiona la ingeniería de procesos en las organizaciones. En el proyecto correspondiente cada grupo definirá el proceso de desarrollo adecuado a la aplicación cuyos requisitos se definieron en el proyecto anterior. Tras una presentación en clase de los resultados de cada grupo, se verá cómo las características de cada dominio definen cómo ha de ser el proceso.

4. Desarrollo de software de calidad

4.1. Mantenibilidad y extensibilidad: Código Limpio.

4.2. Deuda técnica: el coste a pagar.

4.3. Métricas y e indicadores: estándares de medición.

4.4. Auditorías.

En este tema se verá cómo se define la calidad de un software, la necesidad de definir métricas y cómo se llevan a cabo en proyectos de envergadura. En el proyecto correspondiente cada grupo escogerá un proyecto open source de cierta entidad y le realizará un proceso de auditoría para evaluar si cumple con los umbrales adecuados para poder asegurar su calidad. Tras las presentaciones de los resultados en clase se verán las diferentes características de calidad de software construido para ser usado en dominios diferentes.

5. Definición de sistemas críticos (safe) y fundamentos de la construcción.

5.1. Introducción a los sistemas críticos.

5.2. Desarrollo de sistemas críticos.

En este último tema se analizarán las características de los sistemas robustos/críticos (safe), que tienen unos requisitos mucho más exigentes dado que un fallo en su funcionamiento puede dar lugar a pérdidas humanas. En el proyecto correspondiente cada grupo escogerá un dominio en el que se desarrollen sistemas de este tipo y realizará un análisis de las características, a menudo establecidas por la legislación, que estos sistemas han de cumplir. Las presentaciones de los resultados permitirán compartir los requisitos de todos los dominios analizados.

MetodologíaAlternar navegación

En las clases magistrales, las sesiones de presentación de conceptos se alternarán con sesiones de trabajo. En las primeras se analizará el contexto con la presentación de ejemplos, herramientas y productos. En los segundos, individualmente o en grupo, el alumnado pondrá en práctica la teoría.

Para que el alumnado alcance los resultados de aprendizaje, se utilizará una metodología de aprendizaje basada en proyectos. Los proyectos se organizarán, desarrollarán, documentarán y presentarán de forma grupal, de forma que puedan ser seguidos por otro grupo.

Las sesiones prácticas tendrán un valor del 70% y en ellas, el alumnado desarrollará diferentes proyectos. El profesorado liderará el trabajo del alumnado jugando diferentes roles de la relación cliente-proveedor.

SISTEMA DE EVALUACIÓN

En esta materia se prioriza el sistema de evaluación continua, pero se podrá solicitar el sistema de evaluación final.

Ante la comprobación fehaciente de copia, se aplicará artículo 11.3 de la Normativa Reguladora de la Evaluación del Alumnado en las titulaciones oficiales de Grado (https://www.ehu.eus/es/web/graduak/normativa/evaluacion-del-alumnado-en-las-titulaciones-oficiales-de-grado).

Sistemas de evaluaciónAlternar navegación

La superación de la materia podrá realizarse mediante las modalidades de evaluación continua o evaluación final, que podrá ser elegida al inicio de la asignatura y ratificada definitivamente en los plazos que se señalen (una vez evaluada entre el 60 y el 80% de la asignatura), a petición del alumnado o con la acreditación del rendimiento de la misma por parte del profesorado.

EVALUACIÓN CONTINUA:

- Primera evaluación teórico-práctica: hasta la primera semana de horario agrupado (10% teoría + 25% práctica = 35%).

- Segunda evaluación teórico-práctica: hasta segunda semana de horario agrupado (10% teoría + 21% práctica = 31%).

- Tercera evaluación teórico-práctica: hasta la fecha de la convocatoria ordinaria (10% teoría + 24% práctica = 34%)

Requisitos de la evaluación continua:

- El 30% de la calificación corresponderá a contenidos teóricos y el resto a proyectos prácticos.

- En cada examen teórico hay que conseguir una calificación mínima del 33% para poder seguir en evaluación continua.

- Junto con cada examen teórico se llevará a cabo una prueba de exigibilidad individual (antidoping) sobre los proyectos grupales realizados. Si no se supera, la calificación de los proyectos no se sumará a la nota final.

- En cada proyecto hay que obtener un mínimo del 50% de la calificación.

- Si los proyectos no alcanzan el 50% de la calificación, el alumnado deberá corregir y entregar una versión mejorada en el plazo establecido por el profesorado.

EVALUACIÓN FINAL:

La calificación en esta modalidad de evaluación consta de dos partes:

- 30% contenidos teóricos.

- 70% proyectos prácticos. Estos trabajos desarrollados serán fruto del esfuerzo individual y entregados antes del examen siguiendo una planificación consensuada con el profesorado. Para obtener los puntos de los contenidos prácticos, además de tener una evaluación positiva de los proyectos prácticos, habrá que superar la prueba de exigibilidad individual correspondiente (antidoping).

Las calificaciones que se obtengan en la parte práctica se guardarán durante el curso, pero no para el siguiente.

Materiales de uso obligatorioAlternar navegación

Aula eGela de la asignatura

BibliografíaAlternar navegación

Bibliografía básica

- M. Piattini, F. García, I. García, F. Pino. Calidad de Sistemas de Información basada en estándares internacionales. AQC Lab. 2022.

- R. Martin. Clean Code. Pearson Education. 2009.

- P. Bourque and R.E. Fairley, eds., Guide to the Software Engineering Body of Knowledge, Version 3.0, IEEE Computer Society, 2014; www.swebok.org.

Bibliografía de profundización

- CMMI Product Team. 2010. CMMI for Development, Version 1.3 (Technical Report CMU/SEI-2010-TR-033). Pittsburgh: Software Engineering Institute, Carnegie Mellon University. http://resources.sei.cmu.edu/library/asset-view.cfm?AssetID=9661.
- ISACA-CMMI. Guia de adopción y transición de CMMI v2.0. CMMI Insitute, 2018. https://cmmiinstitute.com/getattachment/30f259b3-af78-498c-be5e-72e60525fd36/attachment.aspx.
- Quality Software Project Management, Robert Furtell, Donald Shafer, and Linda Shafer, Prentice Hall, 2001.
- Handbook of Software Quality Assurance. G. Gordon Schulmeyer. 2008.
- Software Process Improvement: Practical Guidelines for Business Success, Sami Zahran, Adison Wesley, 1998.
- Leadership, Teamwork, and Trust: Building a Competitive Software Capability. Watts S. Humphrey. Addison-Wesley, Reading, MA. 2011.

Revistas

- Software Quality Journal. ISSN: 0963-9314 (print version), ISSN: 1573-1367 (electronic version). http://www.springer.com/computer/swe/journal/11219. Open Access.

- ACM Transactions On Software Engineering And Methodology. http://tosem.acm.org/

- Advances In Engineering Software. http://www.journals.elsevier.com/advances-in-engineering-software/

- Automated Software Engineering. http://www.springer.com/computer/ai/journal/10515

GruposAlternar navegación

16 Teórico (Castellano - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

17:00-18:30

15:30-17:00

Profesorado

16 P. Laboratorio-1 (Castellano - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

14:00-15:30

Profesorado

16 P. Laboratorio-2 (Castellano - Tarde)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
18-32

15:30-17:00

Profesorado

31 Teórico (Euskera - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

12:00-13:30

10:30-12:00

Profesorado

31 P. Laboratorio-1 (Euskera - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

09:00-10:30

Profesorado

31 P. Laboratorio-2 (Euskera - Mañana)Mostrar/ocultar subpáginas

Calendario
SemanasLunesMartesMiércolesJuevesViernes
16-30

10:30-12:00

Profesorado