Este documento describe los conceptos clave de la calidad del software. Explica que la calidad del software se refiere a la capacidad de un producto o servicio para satisfacer las necesidades del usuario. También cubre temas como los estándares de calidad de software, la medición de la calidad, los marcos de trabajo y factores que influyen en la calidad del software como la funcionalidad, confiabilidad y usabilidad. Además, ofrece detalles sobre cómo obtener y controlar la calidad del software.
4. Es la aptitud de un producto o servicio para satisfacer
las necesidades del usuario.
En el desarrollo del software, la calidad del diseño
acompaña a la calidad de los requisitos
especificaciones y diseño de sistemas . La calidad de
concordancia es un aspecto centrado principalmente
en la implementación, si la implementación sigue al
diseño, y el sistema resultante cumple con los
objetivos de requisitos y de rendimiento, la calidad de
concordancia es alta.
Adicionalmente se puede seguir los siguientes
aspectos para evaluar la calidad del Software:
5. FUNCIONALIDAD: Conjunto de característica que algo sea
practico y utilitario.
CONFIABILIDAD: Probabilidad de un buen funcionamiento de
una cosa.
USABILIDAD: Es la facilidad que tiene una persona para
utilizar para utilizar una herramienta.
EFICIENCIA: Capacidad para realizar adecuadamente una
función.
MANTENIBILIDAD: La facilidad con la que un sistema o
componente software puede ser modificado para corregir
fallos, mejorar su funcionamiento u otros atributos.
PORTABILIDAD: Cualidad de un programa que se puede
ejecutar en diversos tipos de ordenador.
ESCALABILIDAD: Es la propiedad deseable de un sistema,
que indica su habilidad para extender el margen de
operaciones sin perder calidad.
8. La calidad del software se refiere a las acciones que se
toman de forma común para asegurar que se desarrolla
software de calidad en todos los proyectos. Se divide en
dos tipos de procesos.
• GESTIÓN DE LA CALIDAD DEL SW: aspecto de la
función general de la gestión que determina y aplica la
política de calidad. Incluye planificación estratégica,
asignación de recursos, etc.
• ASEGURAMIENTO O GARANTÍA DE LA CALIDAD
DEL SW: conjunto de actividades planificadas y
sistemáticas necesarias para aportar la confianza en
que el producto satisfará los requisitos dados de
calidad. Incluye evaluaciones, auditorías, revisiones,
etc.
11. Los estándares de calidad de software son
normas emitidas por organismos específicos, que
sirven para sentar un marco con el que comparar
si un proceso de desarrollo es o no de calidad
13. NORMATIVA ISO 9000
Pone a disposición de un certificador de procesos
internos, de forma que este se indique si cumple o no
la normativa 100%; si los resultados son positivos se
emite la certificación y cada cierto tiempo se tiene
que renovar. La certificación es costosa, a
consecuencia de costes que ocasionan la lejanía y el
tiempo de duración de procesos (aprox. 6 meses.).
Se certifica la empresa y la metodología para el
desarrollo de la aplicación. Se certifica la empresa y
la metodología para el desarrollo de la aplicación.
16. En el Software lo que se mide son atributos propios
del mismo, se descompone un atributo general en
otros más simples de medir; las ciencias bien
estructuradas se basan en medidas bien hechas, se
basan en la matemática:
17. TIPOS DE MEDIDAS:
• Número de errores durante un periodo determinado.
• Fallo en la codificación o diseño de un sistema que
causa que el programa no funcione correctamente o
falle.
• Tamaño de un producto informático (líneas de código).
• Métrica de punto de función (IBM): relaciona
funcionalidades que ofrecía.
• Estimación de costes y esfuerzos.
• COCOMO. (Módulo de construcción de costos.)
20. Lo marcos de trabajo recogen metas y
procesos comunes que debe cumplir una
organización.
CMMI (Integración de módulos de madurez
de capacidades.)
Sirve para comprobar la habilidad de los
procesos de las organizaciones para realizar
determinados proyectos. CMMI clasifica el
grado de madurez de las empresas en cinco
niveles: 1_caótico; hasta 5_optimizado.
21.
22. SPICE
SPICE ES UN MODELO DE MADUREZ PROPUESTO POR ISO.
CLASIFICA LAS ORGANIZACIONES EN SEIS NIVELES DE
MADUREZ, DESDE 0-INCOMPLETO, HASTA 5-OPTIMIZADO.
25. Los factores de calidad sirven para descomponer el
concepto de «calidad» en otros más sencillos, para
facilitar su control, y su medición.
26. FACTORES OPERATIVOS:
• CORRECCIÓN: el software cumple con las
especificaciones.
• FIABILIDAD: grado que el software es confiable.
• EFICIENCIA: necesidad de recursos del software y
hardware del producto.
• SEGURIDAD: grado en el que puede controlarse el
acceso al software y a los datos.
• FACILIDAD DE USO: grado de esfuerzo necesario
para utilizar el software.
27. FACTORES DE MANTENIMIENTO:
• FLEXIBILIDAD: esfuerzo necesario para modificar un
programa.
• FACILIDAD DE PRUEBA: esfuerzo requerido para
realizar las pruebas de un programa.
• FACILIDAD DE MANTENIMIENTO: esfuerzo requerido
para localizar y reparar un error.
28. FACTORES EVOLUTIVOS:
• PORTABILIDAD: facilidad de inmigrar un software de
un entorno de operación a otro.
• CAPACIDAD DE REUTILIZACIÓN: grado de un
programa o parte del mismo se puede utilizar en otras
aplicaciones.
• CAPACIDAD DE INTEROPERACIÓN: esfuerzo
necesario para que un software opere conjuntamente
con otros sistemas.
30. Las métricas de calidad del software se aplica para
valorar cualitativamente algún factor relativo al mismo.
Características de una nueva métrica:
• Simple y fácil de calcular, empírica, consistentes y
objetiva, independiente del lenguaje de programación,
que proporcione
31. PUNTO DE FUNCIÓN:
Sirve para cuantificar la cantidad de funcionalidad que
tiene un sistema a partir de la descripción del mismo.
Se basa en cinco ciclos:
ENTRADAS DE USUARIO
SALIDAS DE USUARIO
PETICIONES
ARCHIVOS
INTERFACES EXTERNAS.
32. • MÉTRICAS DE BANG: Sirve para calcular el
tamaño del software a desarrollar a partir del
modelo de análisis.
• MÉTRICA DE CALIDAD DE ESPECIFICACIÓN:
Mide la calidad de análisis y de los requisitos
capturados.
34. Trabajan frecuentemente con parámetros típicos
de la estructura de los programas o con medidas
del grado de cohesión, acoplamiento y
complejidad de los algoritmos.
Algunas de ellas son:
Métricas de calidad de Card y Glass métrica que
se basan en dos factores, calculados para cada
módulo a partir de un diagrama de estructura:
35. • COMPLEJIDAD ESTRUCTURAL: Número de
módulos que controla un módulo dado.
• COMPLEJIDAD DE DATOS: Suma de variables
de entrada y salida de un módulo.
37. La calidad del software es el conjunto de cualidades
que lo caracterizan y que determinan su utilidad y
existencia. 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
fallas"; 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
costos de mantenimiento y perfeccionamiento
durante el tiempo de explotación.
38. La calidad del software puede medirse después
de elaborado el producto. Pero esto puede
resultar muy costoso si se detectan problemas
deriva dos de imperfecciones en el diseño, por lo
que es imprescindible tener en cuenta tanto la
obtención de la calidad como su control durante
todas las etapas del ciclo de vida del software.
40. 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, mantenibilidad 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. La política establecida debe estar
sustentada sobre tres principios básicos:
tecnológico, administrativo y ergonómico.
41. El principio tecnológico define las técnicas a utilizar en el
proceso de desarrollo del software.
El principio administrativo contempla las funciones de
planificación y control del desarrollo del software, así
como la organización del ambiente o centro de ingeniería
de software.
El principio ergonómico define la interfaz entre el usuario
y el ambiente automatizado.
La adopción de una buena política contribuye en gran
medida a lograr la calidad del software, pero no la
asegura. Para el aseguramiento de la calidad es
necesario su control o evaluación.
43. Para controlar la calidad del software es
necesario, definir los parámetros,
indicadores o criterios de medición, ya
que, como bien plantea Tom De Marco,
"usted no puede controlar lo que no se
puede medir"
44. Las cualidades para medir la calidad del software son
definidas por innumerables autores, los cuales las
denominan y agrupan de formas diferentes. Por
ejemplo, John Wiley define métricas de calidad y
criterios, donde cada métrica se obtiene a partir de
combinaciones de los diferentes criterios.
La Metodología para la evaluación de la calidad de
los medios de programas de la CIC, define
indicadores de calidad estructurados en cuatro
niveles jerárquicos: factor, criterio, métrica, elemento
de evaluación, donde cada nivel inferior contiene los
indicadores que conforman el nivel precedente.
45. Otros autores identifican la calidad con el
nivel de complejidad del software y
definen dos categorías de métricas: de
complejidad de programa o código, y de
complejidad de sistema o estructura.
Todos los autores coinciden en que
el software posee determinados índices
medibles que son las bases para la
calidad, el control y el perfeccionamiento
de la productividad.
46. Una vez seleccionados los índices de calidad, se
debe establecer el proceso de control, que requiere
los siguientes pasos:
• Definir el software que va a ser controlado:
clasificación por tipo, esfera de aplicación,
complejidad, etc., de acuerdo con los estándares
establecidos para el desarrollo del software.
• Seleccionar una medida que pueda ser aplicada al
objeto de control. Para cada clase de software es
necesario definir los indicadores y sus magnitudes.
47. • Crear o determinar los métodos de valoración de
los indicadores: métodos manuales como
cuestionarios o encuestas estándares para la
medición de criterios periciales y herramientas
automatizadas para medir los criterios de cálculo.
• Definir las regulaciones organizativas para realizar
el control: quiénes participan en el control de la
calidad, cuándo se realiza, qué documentos deben
ser revisados y elaborados, etc.