Programa
de
Ingeniería de Sistemas
Calidad
de Software
Sesión 02
Tema:
Modelos de calidad
del
proceso y del producto
Resultado de aprendizaje Evidencia de aprendizaje
Analiza buenas prácticas y herramientas técnicas Informe de Laboratorio
para la gestión de la calidad en el desarrollo de
software.
Contenido
Modelos de calidad del proceso y del producto
1. Introducción a los Modelos de Calidad
2. Modelos de Calidad del Proceso
3. Modelos de Calidad del Producto
4. Autoevaluación
Revisa el
siguiente
video:
[Link]
Después de haber visualizado el video en la slide
anterior, reflexionamos y respondemos las
siguientes interrogantes:
01 Comenta el video reproducido
Coméntame , los proyectos que has realizado como productos
02 finales de curso , cumplen con estándares de calidad?. Porque?
¿De que manera puedes garantizar el desarrollo de un proyecto de
03
software?
Tema
Introducción a los
modelos de la calidad
Calidad de Proceso
Calidad de Software – Sesión 2
Se refiere a la efectividad y eficiencia con las que se
llevan a cabo las actividades y procedimientos durante
el desarrollo de software.
Implica la implementación de prácticas,
metodologías y estándares que guían todas las
etapas del ciclo de vida del software, desde la
planificación y el diseño hasta la implementación,
pruebas y mantenimiento.
La calidad del proceso se enfoca en cómo se realiza
el trabajo, asegurando que los procesos sean
predecibles, repetibles y mejorables
continuamente.
Importancia
Calidad de Software – Sesión 2
Estandarización: Establece procedimientos
uniformes que aseguran que todas las actividades
se realicen de manera consistente, reduciendo la
variabilidad y aumentando la confiabilidad del
desarrollo.
Mejora Continua: Facilita la identificación de
áreas de mejora, permitiendo optimizar los
procesos para incrementar la eficiencia y la
calidad del producto final.
Gestión de Riesgos: Al tener procesos bien
definidos, es más fácil identificar, gestionar y
mitigar riesgos potenciales que puedan afectar el
proyecto.
Importancia
Calidad de Software – Sesión 2
Satisfacción del Cliente: Procesos efectivos
garantizan que se cumplan los requisitos y
expectativas del cliente, aumentando la
satisfacción y la confianza en la empresa.
Cumplimiento Normativo: Ayuda a asegurar que el
desarrollo de software cumpla con estándares y
regulaciones relevantes, lo cual es crucial en
industrias reguladas.
Escalabilidad: Permite que los procesos sean
escalables y adaptables a diferentes tamaños y
tipos de proyectos, facilitando el crecimiento
organizacional.
Calidad del Producto
Calidad de Software – Sesión 2
Se refiere a las características y atributos
inherentes al software que determinan su
capacidad para satisfacer las necesidades y
expectativas de los usuarios.
Esto incluye aspectos como la funcionalidad,
usabilidad, fiabilidad, eficiencia,
mantenibilidad y portabilidad del software.
La calidad del producto se centra en qué hace
el software y cómo cumple con los requisitos
establecidos.
Interrelación entre Modelos
Calidad de Software – Sesión 2
La calidad del proceso y la calidad del producto
están estrechamente relacionadas y se influyen
mutuamente:
Impacto del Proceso en el Producto: Procesos
bien definidos y optimizados aumentan la
probabilidad de producir un software de alta
calidad, ya que se minimizan errores y se mejora
la eficiencia en el desarrollo.
Retroalimentación del Producto al Proceso: Los
defectos o problemas identificados en el
producto pueden señalar áreas de mejora en los
procesos, promoviendo una cultura de mejora
continua.
Integración para la Excelencia: La combinación
de altos estándares en ambos aspectos garantiza
no solo un producto final de calidad, sino
también una organización capaz de mantener y
mejorar dicha calidad a lo largo del tiempo.
Tema
Modelo de Calidad
del Proceso
Cuadro Comparativo: CMMI, SPICE, ISO 9001
Calidad de Software – Sesión 2
Característica CMMI SPICE ISO 9001
Nombre Completo Capability Maturity Model Software Process ISO 9001: Sistema de Gestión
Integration Improvement and Capability de la Calidad
dEtermination
Origen Desarrollado por el Software Basado en ISO/IEC 15504 Desarrollada por la
Engineering Institute (SEI) de (actualmente ISO/IEC 330xx) Organización Internacional de
la Universidad Carnegie desarrollado por ISO y IEC Normalización (ISO)
Mellon, [Link].
Propósito Principal Mejorar la madurez y Evaluar y mejorar la capacidad Establecer un sistema de
capacidad de los procesos de de los procesos de desarrollo gestión de la calidad aplicable
desarrollo de software de software a cualquier organización
Estructura / Niveles 5 niveles de madurez: 1. 6 niveles de capacidad: 0. Sin niveles específicos: Se
Inicial 2. Gestionado 3. Incompleto 1. Inicial 2. centra en cumplir con los
Definido 4. Cuantitativamente Gestionado 3. Definido 4. requisitos del estándar
Gestionado 5. Optimización Predecible 5. Optimizado
Enfoque Principal Calidad del proceso de Calidad del proceso de Gestión de la calidad en todos
desarrollo de software desarrollo de software los procesos organizacionales
Certificación No ofrece certificación No ofrece certificación Certificación disponible: Las
individual: Las organizaciones individual: Las organizaciones organizaciones pueden
son evaluadas y reciben una son evaluadas y reciben una obtener la certificación ISO
calificación de madurez calificación de capacidad 9001 tras auditorías externas
Cuadro Comparativo: CMMI, SPICE, ISO 9001
Calidad de Software – Sesión 2
Característica CMMI SPICE ISO 9001
Áreas de Proceso Clave - Gestión de requisitos - Gestión de procesos - Enfoque al cliente
- Gestión de proyectos - Ingeniería de software - Liderazgo
- Medición y análisis - Medición y análisis - Participación del personal
- Gestión de la configuración - Mejora continua - Enfoque basado en procesos
- Ingeniería de procesos - Mejora continua
- Desarrollo integrado - Toma de decisiones basada
en evidencia
- Gestión de relaciones con
proveedores
Ventajas - Amplia adopción en la - Basado en estándares - Amplia aceptación y
industria internacionales reconocimiento global
- Enfoque detallado en la - Flexible y adaptable a - Aplicable a cualquier tipo de
mejora de procesos diferentes metodologías organización
- Soporte para desarrollo - Enfoque específico en - Enfoque en la mejora continua y
integrado software satisfacción del cliente
Desventajas - Puede ser complejo y costoso - Puede ser menos conocido - No es específico para software
de implementar que CMMI - Requiere mantenimiento continuo
- Requiere un compromiso - Requiere formación de la certificación
organizacional significativo especializada para la - Enfoque más amplio que puede
implementación no abordar detalles específicos de
procesos de software
Cuadro Comparativo: CMMI, SPICE, ISO 9001
Calidad de Software – Sesión 2
Característica CMMI SPICE ISO 9001
Aplicabilidad Empresas de desarrollo de Empresas de desarrollo de Cualquier organización que
software que buscan mejorar y software que buscan una desee establecer un sistema de
madurar sus procesos de evaluación detallada de sus gestión de la calidad,
desarrollo procesos incluyendo empresas de
software
Requisitos Clave - Definición y estandarización de - Evaluación de la capacidad de - Documentación y
procesos los procesos estandarización de procesos
- Medición y análisis de datos - Identificación de áreas de - Enfoque en la satisfacción del
- Gestión de riesgos y problemas mejora cliente
- Mejora continua - Implementación de prácticas - Implementación de un ciclo
basadas en el desempeño PDCA (Planificar, Hacer,
Verificar, Actuar)
Metodología de Evaluaciones formales realizadas Evaluaciones basadas en el Auditorías internas y externas
Evaluación por evaluadores certificados cumplimiento de los requisitos realizadas por auditores
del estándar ISO/IEC 15504 certificados
Beneficios Específicos - Mejora de la eficiencia y - Mejora de la capacidad y - Mejora de la satisfacción del
eficacia de los procesos madurez de los procesos de cliente
- Mayor previsibilidad en la software - Mayor coherencia en los
entrega de proyectos - Mayor alineación con procesos internos
- Reducción de defectos y estándares internacionales - Reducción de errores y
retrabajo - Identificación clara de áreas defectos a través de la
de mejora estandarización
Cuadro Comparativo: CMMI, SPICE, ISO 9001
Calidad de Software – Sesión 2
Característica CMMI SPICE ISO 9001
Costo de Alto, debido a la complejidad y Variable, puede ser más Variable, pero generalmente
Implementación el alcance de los procesos económico que CMMI pero menor que CMMI; depende del
depende de la escala tamaño y complejidad de la
organización
Tiempo de Largo, puede llevar varios años Variable, generalmente Variable, dependiendo del tamaño
Implementación alcanzar niveles superiores más corto que CMMI de la organización y el nivel de
preparación
Actualizaciones y Requiere actualizaciones Requiere alineación con las Requiere renovaciones periódicas
Mantenimiento periódicas según las nuevas actualizaciones de ISO/IEC y auditorías para mantener la
versiones del modelo 15504 certificación
Enfoque en Mejora Sí, especialmente en el nivel de Sí, centrado en la capacidad Sí, a través del ciclo PDCA y la
Continua Optimización de mejora de los procesos revisión constante de procesos
Soporte y Recursos Amplia documentación y Basado en estándares ISO, Amplia documentación y recursos
comunidad; soporte de SEI y amplia documentación de ISO; numerosos consultores y
otros disponible formadores disponibles
Cuadro Comparativo
Calidad de Software – Sesión 2
Permite identificar las fortalezas y áreas de
aplicación de cada modelo de calidad,
facilitando la selección del más adecuado según
las necesidades específicas de una organización
o proyecto.
CMMI y SPICE son más específicos para el
desarrollo de software, ofreciendo estructuras
detalladas para mejorar procesos, mientras que
ISO 9001 proporciona un enfoque más general
de gestión de calidad aplicable a cualquier tipo
de organización.
La elección entre estos modelos dependerá de
factores como el sector de la empresa, los
objetivos de calidad, los recursos disponibles y
el nivel de madurez actual de los procesos de la
organización.
Tema
Modelos de Calidad
del Producto
3.1 McCall's Quality Model
Calidad de Software – Sesión 2
Desarrollado por Jim McCall en la década de 1970,
fue uno de los primeros intentos por estructurar la
calidad del software en múltiples dimensiones.
Aunque McCall's Quality Model ha sido
fundamental en el desarrollo de otros modelos de
calidad, su uso directo ha disminuido con el tiempo
debido a la evolución de las prácticas de desarrollo
de software y la aparición de modelos más
integrados y actualizados.
Calidad de Software – Sesión 2
3.2 FURPS
El modelo FURPS (Functionality, Usability,
Reliability, Performance, Supportability),
desarrollado por Hewlett-Packard, es un marco
utilizado para clasificar los requisitos del software
en dos categorías principales: Requisitos
Funcionales y Requisitos No Funcionales.
FURPS ha sido ampliamente utilizado en la
industria para categorizar y priorizar los requisitos
de calidad del software.
Aunque es más simplificado en comparación con
modelos como ISO/IEC 25010, FURPS sigue siendo
útil en fases tempranas de definición de requisitos
y en contextos donde se requiere una clasificación
rápida y efectiva de las necesidades de calidad.
Sin embargo, al igual que McCall's, su uso directo
ha sido parcialmente reemplazado por modelos
más exhaustivos y actualizados.
ISO 25000
Calidad de Software – Sesión 1
Es un estándar internacional que forma parte de
la serie ISO/IEC 25000 sobre Calidad de Software
y Evaluación.
La ISO/IEC 25000 es una herramienta importante
para la gestión de la calidad en el desarrollo de
software, proporcionando un marco robusto para
la especificación, medición y evaluación de la
calidad del producto de software.
La norma ISO/IEC 25000 es conocida formalmente
como la "Guía para la gestión de la calidad del
software y la evaluación de la calidad del
software".
Objetivos y Alcance
Calidad de Software – Sesión 1
La ISO/IEC 25000 tiene como objetivo
proporcionar una guía y un marco para asegurar y
mejorar la calidad del software a lo largo de su
ciclo de vida. Esta norma está diseñada para ser
utilizada en combinación con otras normas de la
serie ISO/IEC 25000 y se centra en:
Definición de la calidad del software:
Proporciona un marco para la especificación,
medición y evaluación de la calidad del
software y los procesos relacionados.
Evaluación de la calidad: Ofrece directrices
sobre cómo evaluar la calidad del software,
incluyendo la forma de medir y valorar los
atributos de calidad.
Mejora continua: Facilita la implementación de
prácticas que permitan la mejora continua de la
calidad del software.
Componentes Principales
Calidad de Software – Sesión 1
La ISO/IEC 25000 se compone de varios
documentos y estándares relacionados, incluidos:
ISO/IEC 25010 - Modelos de Calidad del Producto
de Software: Define los atributos de calidad del
software, tales como funcionalidad, fiabilidad,
usabilidad, eficiencia, mantenibilidad y
portabilidad.
ISO/IEC 25020 - Medidas de Calidad: Proporciona
directrices sobre cómo medir los atributos de
calidad del software definidos en la ISO/IEC
25010.
ISO/IEC 25030 - Requisitos de Calidad del
Producto de Software: Especifica cómo definir y
gestionar los requisitos de calidad para el
software.
Componentes Principales
Calidad de Software – Sesión 1
ISO/IEC 25040 - Evaluación de Calidad del
Producto de Software: Ofrece directrices sobre
cómo llevar a cabo la evaluación de la calidad del
producto de software.
ISO/IEC 25050 - Prácticas de Evaluación de la
Calidad del Software: Proporciona directrices
para la implementación de prácticas efectivas de
evaluación de la calidad del software.
ISO/IEC 25060 - Medición y Evaluación del
Rendimiento: Define las prácticas y métricas para
la evaluación del rendimiento del software.
Aplicación y Beneficios
Calidad de Software – Sesión 1
Para Desarrolladores y Proveedores de
Software: La ISO/IEC 25000 proporciona un
marco para establecer y mantener un sistema
de gestión de la calidad que puede ser utilizado
para asegurar que el software cumple con los
requisitos y expectativas de los clientes.
Para Clientes y Usuarios: Asegura que el
software adquirido o utilizado cumple con
estándares internacionales de calidad, lo que
puede reducir los riesgos asociados con el uso
de software defectuoso.
Para Organizaciones: Facilita la mejora
continua y la estandarización de procesos,
contribuyendo a la eficiencia operativa y a la
satisfacción del cliente.
ISO/IEC 25010
Calidad de Software – Sesión 2
Es un estándar internacional que define un
modelo de calidad de software y proporciona
una lista de características y subcaracterísticas
que determinan la calidad del software.
Este modelo se utiliza ampliamente para
evaluar y mejorar la calidad del software.
Está basado en el modelo de calidad del
software SQuaRE (Software Quality
Requirements and Evaluation).
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
1. Funcionalidad .- Se refiere a las capacidades del
software para proporcionar funciones que
satisfacen necesidades explícitas e implícitas de los
usuarios.
Subcaracterísticas:
Adecuación Funcional: El grado en que el
software proporciona funciones que cumplen
con las necesidades declaradas e implícitas de
los usuarios.
Exactitud: La precisión con la que el software
realiza las funciones especificadas.
Interoperabilidad: La capacidad del software
para interactuar con otros sistemas o
componentes.
Cumplimiento Funcional: La conformidad del
software con estándares, regulaciones y leyes
aplicables.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
2. Eficiencia de Rendimiento .- Se refiere a la
relación entre el nivel de desempeño del software y
los recursos utilizados bajo condiciones específicas.
Garantiza que el software funcione de manera
óptima, utilizando los recursos de manera eficiente
para ofrecer un rendimiento adecuado sin
desperdicios.
Subcaracterísticas:
Comportamiento Temporal: El tiempo de
respuesta y procesamiento del software bajo
condiciones de carga específicas.
Utilización de Recursos: La cantidad de recursos
(como CPU, memoria, almacenamiento) que el
software consume durante su operación.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
3. Compatibilidad.- Se refiere a la capacidad del
software para funcionar en un entorno mixto de
sistemas y productos.
Facilita la integración del software con otros
sistemas y productos, permitiendo una operación
fluida en entornos diversos y complejos.
Subcaracterísticas:
Coexistencia: La capacidad del software para
funcionar junto con otros productos de
software en el mismo entorno sin conflictos.
Interoperabilidad: Similar a la subcaracterística
de funcionalidad, se enfoca en la capacidad del
software para intercambiar información y
utilizar servicios de otros sistemas.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
4. Usabilidad .- Se refiere a la facilidad con la que
los usuarios pueden aprender, utilizar y obtener
satisfacción del software.
Mejora la experiencia del usuario, aumentando la
eficiencia y la satisfacción al interactuar con el
software.
Subcaracterísticas:
Comprensibilidad: La facilidad con la que los
usuarios pueden entender el propósito y el
funcionamiento del software.
Aprendibilidad: La rapidez y facilidad con la que
los usuarios pueden aprender a utilizar el
software de manera efectiva.
Operabilidad: La facilidad con la que los
usuarios pueden operar el software y realizar las
tareas deseadas.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
5. Fiabilidad.- Se refiere a la capacidad del
software para mantener su nivel de desempeño
bajo condiciones específicas durante un período
determinado.
Asegura que el software funcione de manera
consistente y confiable, minimizando
interrupciones y fallos que puedan afectar a los
usuarios y a las operaciones.
Subcaracterísticas:
Madurez: La frecuencia de fallos en el software.
Disponibilidad: El tiempo durante el cual el
software está operando correctamente y
accesible para los usuarios.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
Subcaracterísticas:
Tolerancia a Fallos: La capacidad del software
para manejar fallos sin degradar
significativamente su funcionamiento.
Recuperabilidad: La capacidad del software
para recuperarse de fallos y restaurar su estado
original.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
6. Seguridad.- Se refiere a la capacidad del
software para proteger la información y los datos
contra accesos no autorizados y garantizar la
integridad, confidencialidad y disponibilidad de la
información.
Asegura que el software cumple con las normativas
y estándares de seguridad, evitando
vulnerabilidades y ataques.
Subcaracterísticas:
Confidencialidad: La protección de la
información contra accesos no autorizados.
Integridad: La protección de la información
contra modificaciones no autorizadas.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
Subcaracterísticas:
Disponibilidad: Asegurar que la información y los
servicios estén disponibles para los usuarios
autorizados cuando se necesiten.
Responsabilidad: La capacidad del software para
rastrear y registrar las acciones de los usuarios
para garantizar la responsabilidad.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
7. Mantenibilidad .- Se refiere a la facilidad con la
que el software puede ser modificado para
corregir defectos, mejorar el rendimiento o
adaptarse a cambios en el entorno operativo.
Subcaracterísticas:
Modularidad: La división del software en
componentes independientes y manejables.
Reutilización: La capacidad de utilizar
componentes existentes en diferentes
contextos o proyectos.
Analizabilidad: La facilidad para analizar el
software para identificar defectos o áreas de
mejora.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
Subcaracterísticas:
Modificabilidad: La facilidad para realizar
modificaciones en el software sin introducir
nuevos defectos.
Capacidad de Prueba: La facilidad para probar
el software y verificar que las modificaciones
no han introducido errores.
Importancia: Facilita el mantenimiento y la
evolución del software a lo largo del tiempo,
reduciendo costos y esfuerzos asociados a las
modificaciones y mejoras.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
8. Portabilidad.- Se refiere a la facilidad con la
que el software puede ser transferido de un
entorno operativo a otro, manteniendo su
funcionalidad y desempeño.
Subcaracterísticas:
Adaptabilidad: La capacidad del software
para ajustarse a diferentes entornos
operativos sin necesidad de modificaciones
significativas.
Instalación: La facilidad con la que el
software puede ser instalado en diferentes
entornos.
Coexistencia: La capacidad del software para
funcionar junto con otros productos de
software en diferentes entornos.
ISO/IEC 25010 : Características
Calidad de Software – Sesión 2
Subcaracterísticas:
Reemplazabilidad: La facilidad para reemplazar
el software con otros productos sin afectar
significativamente al entorno operativo.
Importancia: Aumenta la flexibilidad del software,
permitiendo su uso en diferentes plataformas y
entornos, lo que es especialmente relevante en
mercados con diversas necesidades tecnológicas.
Autoevaluación
Sesión 2
¿Cuál es el principal objetivo del Capability Maturity Model Integration (CMMI)?
a) Mejorar la usabilidad del software
Pregunta 1
b) Asegurar la calidad del producto final
c) Mejorar los procesos de desarrollo de software
d) Aumentar la portabilidad del software
¿Cuál de los siguientes NO es un nivel de madurez en el modelo CMMI?
a) Inicial
Pregunta 2
b) Gestionado
c) Definido
d) Integrado
¿Qué característica de calidad NO es parte del modelo ISO/IEC 25010?
a) Funcionalidad
Pregunta 3
b) Fiabilidad
c) Usabilidad
d) Innovación
¿Cuál de las siguientes afirmaciones describe mejor el modelo FURPS?
a) Se enfoca en la gestión de proyectos y recursos
Pregunta 4
b) Clasifica los atributos de calidad en cinco categorías principales
c) Define niveles de madurez para procesos de software
d) Es un estándar para la seguridad del software
Autoevaluación
¡Vamos por más logros!
¡Felicitaciones!
Ha concluido la autoevaluación
La calidad del proceso y la calidad del producto están intrínsecamente relacionadas. Un
proceso bien definido, gestionado y optimizado tiende a producir productos de alta calidad.
Por lo tanto, la mejora continua en los procesos de desarrollo de software es esencial para
asegurar que los productos finales no solo cumplan con los requisitos funcionales, sino que
Conclusiones
también sean fiables, usables, y mantenibles.
Existen múltiples modelos de calidad tanto para procesos como para productos, cada uno con
sus propias características, ventajas y aplicaciones específicas. Modelos como CMMI y SPICE
proporcionan marcos estructurados para la mejora de procesos, mientras que modelos como
ISO/IEC 25010 y FURPS ofrecen guías detalladas para evaluar y asegurar la calidad del
producto. La selección y adaptación de estos modelos deben basarse en las necesidades
específicas del proyecto y la organización.
La implementación efectiva de modelos de calidad requiere una evaluación continua y
sistemática utilizando métricas y herramientas adecuadas. La recolección de datos y el análisis
regular de métricas de calidad permiten identificar áreas de mejora, aplicar acciones
correctivas y asegurarse de que tanto los procesos como los productos mantengan altos
estándares de calidad del negocio.
Chrissis, M. B., Konrad, M., & Shrum, S. (2011). CMMI for Development: Guidelines for Process
Integration and Product Improvement (3rd ed.). Addison-Wesley Professional.
International Organization for Standardization. (2011). ISO/IEC 25010:2011 - Systems and
Referencias
software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE)
- System and software quality models. ISO.
Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach (8th ed.). McGraw-
Hill Education.
ISO/IEC/IEEE 12207:2017. Systems and software engineering – Software life cycle processes.
ISO.
Tian, J. (2005). Software Quality Engineering: Testing, Quality Assurance, and Quantifiable
Improvement. Wiley-IEEE Computer Society Press.