TECNM
INSTITUTO TECNOLÓGICO
DE ZACATECAS
Fundamentos de Ingeniería de Software
(Teoría U5)
CARRERA : INGENIERÍA EN SISTEMAS
COMPUTACIONALES
MATERIA : FUNDAMENTOS DE INGENIERÍA DE
SOFTWARE
MAESTRO : CINTHYA YERANIA CASAS
ALUMNO : EDUARDO JOSUE FLORES FLORES
NOMBRE DE LA EMPRESA : SOFT MAKER
GRADO Y GRUPO : 5 “ B “
5. Calidad de software
Índice
5.1 Definición de calidad 2
5.2 Importancia de la calidad 3
5.3 Factores de calidad 3
5.4 Aseguramiento de la calidad 4
5.5 Estándares y métricas de calidad 5
Estándares de calidad: 5
Métricas de calidad: 5
5.6 Modelos de madurez 6
5.6.1 Enfoque de procesos 6
5.6.2 PSP (Personal Software Process) y TSP (Team Software
Process) 7
5.6.3 SPICE (ISO/IEC 15504) 7
5.6.4 CMMI (Capability Maturity Model Integration) 8
5.6.5 MoProSoft 8
Referencias 9
1
- 5.1 Definición de calidad
La calidad de software se define como la medida en la que un producto de software cumple
con los requisitos funcionales y no funcionales especificados, las expectativas de los
usuarios y los estándares establecidos. Se enfoca en garantizar que el software sea
confiable, eficiente, seguro y fácil de usar. La calidad de software incluye no solo el producto
final, sino también los procesos utilizados para desarrollarlo.
Ejemplo:
Un sistema de gestión escolar debe permitir registrar estudiantes, generar reportes y
gestionar calificaciones. Si el software cumple con estas funcionalidades, es fácil de usar
por los docentes y funciona correctamente sin fallas, se considera de calidad.
- 5.2 Importancia de la calidad
La calidad de software es crucial por varias razones:
1. Satisfacción del cliente: Un producto de calidad cumple con las expectativas del
cliente, generando confianza y fidelidad.
2. Reducción de costos: Detectar y corregir errores en las primeras etapas del
desarrollo es más económico que hacerlo después del lanzamiento.
3. Mitigación de riesgos: Reduce los problemas como fallos en producción, pérdida
de datos o vulnerabilidades de seguridad.
4. Cumplimiento de normativas: Facilita que el software cumpla estándares de la
industria y regulaciones.
5. Ventaja competitiva: Un software de alta calidad permite a las empresas
destacarse en el mercado.
2
Ejemplo:
En la banca en línea, un fallo de seguridad puede ocasionar la pérdida de datos sensibles.
Garantizar la calidad previene este tipo de problemas y asegura la confianza de los clientes.
- 5.3 Factores de calidad
Según el estándar ISO/IEC 25010, los factores clave de calidad del software son:
1. Funcionalidad: El software cumple con los requisitos y realiza las funciones
esperadas.
○ Ejemplo: Un software de contabilidad debe realizar cálculos precisos.
2. Fiabilidad: Capacidad de operar sin fallos en un periodo determinado.
○ Ejemplo: Un sistema de reservas debe ser confiable para manejar grandes
volúmenes de usuarios durante temporadas altas.
3. Usabilidad: Facilidad de uso e interacción con el usuario.
○ Ejemplo: Una app de transporte debe tener una interfaz intuitiva para que los
usuarios reserven viajes rápidamente.
4. Eficiencia: Uso óptimo de recursos como memoria y tiempo de respuesta.
○ Ejemplo: Una aplicación móvil debe consumir poca batería y funcionar de
manera fluida.
5. Mantenibilidad: Facilidad para realizar modificaciones o correcciones.
○ Ejemplo: Un sistema de facturación debe permitir la actualización de
impuestos fácilmente.
3
6. Portabilidad: Capacidad del software para adaptarse a diferentes entornos o
dispositivos.
○ Ejemplo: Una página web debe ser compatible con diferentes navegadores y
dispositivos.
- 5.4 Aseguramiento de la calidad
El aseguramiento de la calidad (QA) es un conjunto de actividades sistemáticas destinadas
a garantizar que el software cumpla con los estándares de calidad establecidos. Incluye:
● Revisión de procesos: Verificar que las prácticas de desarrollo sigan estándares.
● Pruebas: Identificar defectos mediante pruebas funcionales, de rendimiento, de
seguridad y más.
● Auditorías: Evaluar el cumplimiento de los estándares en el desarrollo y la
implementación.
4
Ejemplo:
Un equipo que desarrolla una aplicación bancaria realiza pruebas automatizadas para
garantizar que las transferencias se procesen correctamente y sin errores. Además, auditan
el código para garantizar que cumpla con estándares de seguridad.
- 5.5 Estándares y métricas de calidad
Estándares de calidad:
1. ISO/IEC 25010: Define las características de calidad del software.
○ Ejemplo: Evalúa aspectos como funcionalidad, usabilidad y mantenibilidad.
2. ISO/IEC 12207: Especifica procesos para el ciclo de vida del software.
○ Ejemplo: Describe las etapas desde el desarrollo hasta el mantenimiento.
3. ISO/IEC 9001: Centrado en la gestión de calidad en procesos organizativos.
○ Ejemplo: Asegura que los procesos de una empresa están orientados hacia
la calidad.
Métricas de calidad:
1. Densidad de defectos: Número de errores encontrados por cada mil líneas de
código.
○ Ejemplo: Un software con 0.5 defectos por mil líneas tiene alta calidad.
2. Tasa de cobertura de pruebas: Porcentaje del código probado durante el
desarrollo.
○ Ejemplo: Un 95% de cobertura asegura que casi todo el software ha sido
evaluado.
3. Tiempo medio entre fallos (MTBF): Tiempo promedio que el software opera antes
de fallar.
○ Ejemplo: Un sistema con un MTBF de 200 horas es más confiable que uno
con 50 horas.
5
- 5.6 Modelos de madurez
Los modelos de madurez permiten evaluar y mejorar los procesos de desarrollo de
software.
- 5.6.1 Enfoque de procesos
El enfoque de procesos garantiza que las actividades sigan un flujo lógico y estructurado.
Utiliza ciclos como Plan-Do-Check-Act (PDCA) para fomentar la mejora continua.
Ejemplo:
Una empresa utiliza PDCA para analizar los defectos en las pruebas, implementar mejoras
y verificar si la calidad aumenta en proyectos futuros.
- 5.6.2 PSP (Personal Software Process) y TSP (Team
Software Process)
● PSP: Enfocado en mejorar la productividad individual mediante la planificación,
medición y análisis de actividades.
○ Ejemplo: Un programador registra el tiempo dedicado a corregir errores para
mejorar su eficiencia en futuros proyectos.
● TSP: Extiende PSP al nivel de equipo, promoviendo la colaboración, medición de
métricas y objetivos claros.
○ Ejemplo: Un equipo ágil usa TSP para coordinar tareas y garantizar que las
entregas cumplan con los estándares de calidad.
6
- 5.6.3 SPICE (ISO/IEC 15504)
SPICE es un modelo que evalúa la capacidad y madurez de los procesos de software en
cinco niveles:
1. Incompleto.
2. Realizado.
3. Gestionado.
4. Establecido.
5. Optimizado.
Ejemplo:
Una empresa en nivel 2 de SPICE tiene procesos básicos gestionados, pero necesita
documentarse mejor para alcanzar el nivel 3.
- 5.6.4 CMMI (Capability Maturity Model Integration)
CMMI es un modelo de madurez con cinco niveles:
1. Inicial.
2. Repetible.
3. Definido.
4. Gestionado.
5. Optimizado.
Ejemplo:
Una empresa en nivel 5 tiene procesos ajustables basados en métricas avanzadas, como
análisis predictivos, para prevenir errores antes de que ocurran.
7
- 5.6.5 MoProSoft
MoProSoft es un modelo mexicano diseñado para pequeñas y medianas empresas (PyMEs)
de software. Se estructura en tres niveles:
1. Alta dirección: Define objetivos estratégicos.
2. Gestión: Planifica y supervisa actividades.
3. Operación: Ejecuta los proyectos.
Ejemplo:
Una empresa de desarrollo de aplicaciones móviles implementa MoProSoft para
estandarizar sus procesos de desarrollo y garantizar productos de calidad con recursos
limitados.
- Referencias
● ISO/IEC 25010:2011. System and software quality models.
● SEI. (2010). CMMI for Development Version 1.3.
● Secretaría de Economía. (2021). Modelo de Procesos de Software (MoProSoft).
● Sommerville, I. (2016). Ingeniería de Software. Pearson Education.