Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Crear
Crear Incorporar
Incorporar Rehacer
Rehacer
Revisar
Revisar
borrador
borrador comentarios
comentarios aa documento
documento
borrador
borrador
inicial
inicial la
la revisión
revisión borrador
borrador
Etapa 1: creación
Documento aprobado
Producir
Producir Comprobar
Comprobar
Corregir
Corregir texto
texto borrador
borrador final
final borrador
borrador final
final
Etapa 2: refinamiento
Documento aprobado
Producir
Producir
Revisar
Revisar Imprimir
Imprimir
Arreglar
Arreglar texto
texto patrones
patrones de
de
arreglos
arreglos copias
copias
impresión
impresión
Etapa 3: producción
• mejora de la calidad:
1. identificar productos de calidad
2. examinar el proceso utilizado para desarrollarlos
3. generalizar esos procesos para aplicarlos a otros proyectos
• fabricación: relación clara entre calidad de proceso y del producto
– proceso fácil de estandarizar y supervisar
– una vez definido el proceso de fabricación se ejecuta una y otra vez para
producir el mismo producto con el mismo nivel de calidad
• software: existe relación, pero menos directa
– proceso más creativo que mecánico: influencia de habilidades individuales
y experiencia
– factores externos (novedad de la aplicación, presión comercial,...)
– el proceso puede ser inapropiado para un tipo de software
• por ejemplo, un estándar puede indicar que la especificación tiene
que estar terminada y aprobada para implementar, pero puede hacer
falta realizar prototipos.
control de la calidad
• control de calidad
– vigilar el proceso de desarrollo para asegurar que se
Aseguramiento
Aseguramiento de
de la
la
siguen los procedimientos de SQA y estándares de
calidad
calidad
calidad ajustándose al plan de calidad
– dos enfoques complementarios
• revisiones técnicas: el software, documentación y
Planificación
Planificación de
de la
la procesos son revisados por un grupo de personas
calidad
calidad
• valoración: normalmente automática, con algún
tipo de herramienta
– el software y los documentos se procesan y
se comparan con los estándares que se
Control
Control de
de la
la calidad
calidad aplican a ese proyecto
– implica una medida cuantitativa de de
algunos atributos del software (medición y
métricas)
control de calidad: revisiones técnicas formales
Se
Se revisa
revisa UN
UN producto
producto
(especificación,
(especificación, módulo,
módulo, listado,...)
listado,...) Poca
Poca gente,
gente, preparación
preparación yy
duración breves
duración breves
Decisión
Decisión final:
final: Participantes:
Participantes: jefe
jefe de
de revisión,
revisión, revisores
revisores
-- Aceptación
Aceptación (ingenieros,programadores,...)
(ingenieros,programadores,...) yy
-- Rechazo
Rechazo productor
productor
-- Aceptación
Aceptación condicionada
condicionada aa pequeñas
pequeñas
modificaciones
modificaciones
revisiones técnicas formales
• objetivos:
descubrir errores en la función, lógica o implementación de cualquier representación
del softwre.
verificar el cumplimiento de los requisitos
garantizar el cumplimiento de los estándares.
conseguir un desarrollo uniforme del software
obtener proyectos que hagan más sencillo los trabajos técnicos (análisis que permitan
buenos diseños, diseños que permitan implementaciones sencillas, estrategias de
pruebas que faciliten éstas,...)
• RTFs: son un filtro que permite “purificar” las actividades de ingeniería de software.
– se aplican en diversos momentos del desarrollo para detectar defectos.
– diseño: entre el 50 y el 60% de los errores del desarrollo.
– aprovecha la diversidad de un grupo de personas para:
señalar la necesidad de mejoras en el producto de ingeniería (diagramas del análisis,
diccionario de datos, diseño, código, estrategia de pruebas,...)
confirmar las partes en las que no es necesaria una mejora.
conseguir un trabajo técnico de calidad más uniforme.
– efectividad: se calcula que son efectivas en un 75%.
ejemplo
Errores encontrados Número Coste unitario Total
Llevando a cabo revisiones
Durante el diseño 22 1,5 33
Antes de la prueba 36 6,5 234
Durante la prueba 15 15,0 315
Tras la distribución 3 67,0 201
783
Sin revisiones
Antes de la prueba 22 6,5 143
Durante la prueba 82 15,0 1230
Tras la distribución 12 67,0 804
2177
control de calidad: métricas
• medición: calcular un valor numérico para algún atributo de un producto o un proceso del software
– la comparación entre ellos y con los estándares de la organización permite controlar la calidad
– métrica: cualquier tipo de medida relacionada con un sistema, proceso o documentación
– existen atributos imposibles de medir de forma directa
• por ejemplo: mantenibilidad, complejidad, comprensión,...
• afectados por diversos factores
• no existen métricas directas: necesario medir atributos internos del software y suponer que
existe relación con los atributos que nos interesan
Número
Número de
de parámetros
parámetros del
del
procedimiento
procedimiento
Proceso de Producto de
Mantenibilidad Proceso
Mantenibilidad software de Producto
software de
Complejidad software software
Complejidad ciclomática
ciclomática
Fiabilidad
Fiabilidad
Tamaño
Tamaño del
del programa
programa en
en
líneas
líneas de
de código
código Métricas de Métricas de
Métricas
control de Métricas de
predicción
Portabilidad
Portabilidad control predicción
Número
Número de
de mensajes
mensajes de
de
Usabilidad error
error
Usabilidad
Decisiones
Decisiones
administrativas
Extensión
Extensión del
del manual
manual de
de administrativas
usuario
usuario
modelos de calidad del software
Modelos
Modelos de
de calidad
calidad
ISO 9000
ISO 9000
instanciado como
Proceso
Proceso dede la
la
Manual
Manual de
de calidad
calidad de
de la
la documentos calidad
calidad de
de la
la
organización
organización organización
organización
Plan
Plan de
de calidad
calidad del
del Plan
Plan de
de calidad
calidad del
del Plan
Plan de
de calidad
calidad del
del Administración
Administración
proyecto
proyecto 11 proyecto
proyecto 22 proyecto
proyecto 33 de
de la
la calidad
calidad del
del
proyecto
proyecto
modelos de calidad: ISO-9000
• Serie ISO-9000: conjunto de normas de sistemas de calidad y guías asociadas que
• Serie ISO-9000: conjunto de normas de sistemas de calidad y guías asociadas que
se publicaron a partir de 1987 por la ISO (Organización Internacional de ISO9001
9001
se publicaron a partir de 1987 por la ISO (Organización Internacional de ISO
Normalización). Estándar aplicable a la Ingeniería del
Normalización). Estándar aplicable a la Ingeniería del
•
• ISO9000:describe
ISO9000: describelos
loselementos
elementosdedegarantía
garantíadedecalidad
calidadenentérminos
términosgenéricos
genéricos Software
Software
quepueden
puedenaplicarse
aplicarsea acualquier
cualquiernegocio,
negocio,con
conindependencia
independenciadedelos losproductos
productosoo
que
servicios ofrecidos. 2020 requisitos de un sistema de garantía
requisitos de un sistema de garantía
de calidad efectiva:
servicios ofrecidos. de calidad efectiva:
• Obtención de certificado: Responsabilidad de la gestión
• Obtención de certificado: Responsabilidad de la gestión
Sistema de calidad
– Auditores externos examinan el sistema de calidad y las operaciones de Sistema de calidad
– Auditores externos examinan el sistema de calidad y las operaciones de Revisión de contrato
unacompañía.
una compañía. Revisión de contrato
Control de diseño
Control de diseño
– SiSiesescorrecto,
correcto, se recibe el certificado.
– Control de datos y documentos
se recibe el certificado. Control de datos y documentos
Compras
– Auditorías de seguimiento cada seis meses. Compras
– Auditorías de seguimiento cada seis meses. Control del producto suministrado por el cliente
Procesos documentados y practicados como se hayan descrito en el estándar. Control del producto suministrado por el cliente
•• Procesos documentados y practicados como se hayan descrito en el estándar. Identificación y posibilidad de seguimiento del producto
Identificación y posibilidad de seguimiento del producto
– Ventajas: comprensión, control y mejora de los procesos y la red de Control del proceso
– Ventajas: comprensión, control y mejora de los procesos y la red de Control del proceso
Inspección y prueba
procesos.
procesos. Inspección y prueba
Control de inspección, medición y equipo de pruebas
Inconveniente:burocracia
–– Inconveniente: burocraciayypapeleo.
papeleo. Control de inspección, medición y equipo de pruebas
Inspección y estado de prueba
Inspección y estado de prueba
• ISO9000 describe los elementos de un sistema de garantía de calidad: Control de producto no aceptado
• ISO9000 describe los elementos de un sistema de garantía de calidad: Control de producto no aceptado
Acción correctora y preventiva
– estructura organizativa Acción correctora y preventiva
– estructura organizativa Tratamiento, almacenaje, empaquetamiento,
– procedimientos Tratamiento, almacenaje, empaquetamiento,
– procedimientos preservación y entrega.
preservación y entrega.
– procesos y recursos para implantar la planificación de la calidad Control de registros de calidad
– procesos y recursos para implantar la planificación de la calidad Control de registros de calidad
Auditorías internas de calidad
controldedecalidad
–– control calidad Auditorías internas de calidad
Formación
– garantía de calidad Formación
Servicios
– garantía de calidad Servicios
– mejora de la calidad Técnicas estadísticas
– mejora Técnicas estadísticas
de la calidad Más orientada a empresas de fabricación
•• ISO 9000 NO describe cómo debe implementar una organización estos elementos Más orientada a empresas de fabricación
ISO 9000 NO describe cómo debe implementar una organización estos elementos
del sistema de calidad.
del sistema de calidad.
• Objetivo: diseñar e implementar un sistema de garantía de calidad que cumpla los
• Objetivo: diseñar e implementar un sistema de garantía de calidad que cumpla los
estándaresyyacople
estándares acoplelos
losproductos,
productos,servicios
serviciosyycultura
culturadedelalaempresa.
empresa. ISO9000-3
9000-3
ISO
Guía para la aplicación de ISO 9001 en el
Guía para la aplicación de ISO 9001 en el
desarrollo, suministro y mantenimiento de
desarrollo, suministro y mantenimiento de
software
software
relación entre modelos de calidad del software
ISO 9000-3
1991
BOOTSTRAP
1993
SPICE
1994
modelos de calidad: capability maturity model (CMM)
• Software Engineering Institute (Carnegie Mellon University), 1986: modelo
para evaluar el grado de madurez con que las organizaciones desarrollaban
software.
• 1991: aparece el CMM, prácticamente en su forma actual:
– basado en casos reales
– refleja las necesidades de los profesionales del desarrollo de software y de
la mejora del proceso.
– está documentado
– su documentación está disponible (http://www.sei.cmu.edu/)
• punto de partida: definición del proceso de software: conjunto de actividades,
métodos, prácticas y transformaciones que se usan para desarrollar el software y
los productos a él asociados.
• madurez del proceso:
– refleja la capacidad de una organización para producir software de calidad
(cuanto más madura es una organización, mejor definido será el proceso de
software).
– proceso del software maduro: mayor productividad y mayor calidad del
producto.
– las empresas van pasando por cinco niveles de madurez
modelos de calidad: capability maturity model (CMM)
Proceso
mejora continua OPTIMIZADO
Proceso OPTIMIZADO
predecible
GESTIONADO
GESTIONADO
Proceso consistente
estándar DEFINIDO
DEFINIDO
Proceso
disciplinado REPETIBLE
REPETIBLE
Proceso
Proceso poco
poco INICIAL
INICIAL
estructurado,
estructurado, puede
puede que
que
caótico.
caótico. El
El éxito
éxito depende
depende
más
más del
del esfuerzo
esfuerzo
individual
individual que
que de
de una
una Existen
Existen conjuntos
conjuntos dede La
La mejora
mejora del
del proceso
proceso
aproximación
aproximación organizada
organizada Procesos
Procesos software
software bien
bien métricas
métricas definidas
definidas aa nivel
nivel software
software es continua
es continua yy
del
del proceso
proceso software.
software. definidos,
definidos, estandarizados
estandarizados de
de las
las diferentes
diferentes etapas
etapas del
del existe
existe una
una realimentación
realimentación
ee integrados,
integrados, tanto
tanto en
en proceso,
proceso, yy se se dispone
dispone de de de
de los procesos, así
los procesos, así como
como
aspectos
aspectos de de gestión
gestión como
como
Procesos
Procesos básicos
básicos de de gestión
gestión datos
datos alal respecto.
respecto. un
un enfoque de mejora aa
enfoque de mejora
de
de ingeniería,
ingeniería, aa nivel
nivel de
de
referidos
referidos a un seguimiento de
a un seguimiento de Los
Los procesos yy los
procesos los nivel
nivel de
de ideas
ideas yy de
de
toda
toda lala organización.
organización.
funcionalidades,
funcionalidades, costes
costes yy productos
productos son son controlados
controlados yy tecnologías.
tecnologías.
Utilización
Utilización dede un
un proceso
proceso
plazos.
plazos. Se
Se implanta
implanta una
una seguidos
seguidos de de modo
modo
software
software estandarizado
estandarizado
disciplina
disciplina de trabajo
de trabajo para
para cuantitativo.
cuantitativo.
para
para desarrollo
desarrollo yy
repetir
repetir modos
modos de de trabajo
trabajo que
que mantenimiento.
mantenimiento.
han
han dado
dado resultados
resultados positivos
positivos
Resumen
• El manejo de la calidad del software se refiere a a asegurar
que el software cumple con estándares requeridos
• Los procedimientos de aseguramiento de calidad deberán
estar documentados en un manual de calidad
organizacional
• Un plan de calidad de un proyecto deberá identificar los
requerimientos específicos de calidad
• Los estándares de software son la reunión de las mejores
practicas
Resumen
• Las revisiones son el medio principal para la
implementación del aseguramiento de la calidad
• Las métricas reúnen información acerca de procesos y
productos
• Las métricas de control proveen información acerca del
manejo del proyecto del software. Las métricas de
predicción permiten la estimación de atributos del al
producto
• Las métricas de calidad deberán ser usadas para identificar
componentes potencialmente problemáticos
FACTORES QUE DETERMINAN
LA CALIDAD DEL SOFTWARE
Operaciones del producto: características operativas
– Corrección (¿Hace lo que se le pide?)
• El grado en que una aplicación satisface sus
especificaciones y consigue los objetivos
encomendados por el cliente
– Fiabilidad (¿Lo hace de forma fiable todo el tiempo?)
• El grado que se puede esperar de una aplicación lleve
a cabo las operaciones
especificadas y con la precisión requerida.
FACTORES QUE DETERMINAN
LA CALIDAD DEL SOFTWARE
– Eficiencia (¿Qué recursos hardware y software
necesito?)
• La cantidad de recursos hardware y software que
necesita una aplicación para realizar
las operaciones con los tiempos de respuesta adecuados
– Integridad (¿Puedo controlar su uso?)
• El grado con que puede controlarse el acceso al
software o a los datos a personal no
Autorizado
FACTORES QUE DETERMINAN
LA CALIDAD DEL SOFTWARE
– Facilidad de uso (¿Es fácil y cómodo de manejar?)
• El esfuerzo requerido para aprender el manejo de una
aplicación, trabajar con ella,
introducir datos y conseguir resultados