calidad del software
TRANSCRIPT
CALIDAD DEL SOFTWARE
Stefani Mite Piña
Verónica Herrera Bermeo
Vanessa Toral
Dayanna Gamboa
Andy Carrillo
INTEGRANTES
INTRODUCCIÓN
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 sgts aspectos
para evaluar la calidad del Sofftware:
FUNCIONALIDAD: Conjunto de característica que algo seapractico y utilitario.
CONFIABILIDAD: Probabilidad de un buen funcionamiento deuna cosa.
USABILIDAD: Es la facilidad que tiene una persona parautilizar para utilizar una herramienta.
EFICIENCIA: Capacidad para realizar adecuadamente unafunción.
MANTENIBILIDAD: La facilidad con la que un sistema ocomponente software puede ser modificado para corregirfallos, mejorar su funcionamiento u otros atributos.
PORTABILIDAD: Cualidad de un programa que se puedeejecutar en diversos tipos de ordenador.
ESCALABILIDAD: Es la propiedad deseable de un sistema,que indica su habilidad para extender el margen deoperaciones sin perder calidad.
CALIDAD DEL SOFTWARE A NIVEL
DE EMPRESA
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.
ESTÁNDARES
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
ISO 9000
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.
MEDICIÓN DE LA CALIDAD DEL
SOFTWARE
En el Software lo que se mide son atributos propiosdel mismo, se descompone un atributo general enotros más simples de medir; las ciencias bienestructuradas se basan en medidas bien hechas, sebasan en la matemática:
TIPOS DE MEDIDAS:
• Número de errores durante un periodo determinado.
• Fallo en la codificación o diseño de un sistema quecausa que el programa no funcione correctamente ofalle.
• Tamaño de un producto informático (líneas de código).
• Métrica de punto de función (IBM): relacionafuncionalidades que ofrecía.
• Estimación de costes y esfuerzos.
• COCOMO.
MARCOS
DE TRABAJO
Lo marcos de trabajo recogen metas y procesos comunesque debe cumplir una organización.
CMMI
Sirve para comprobar la habilidad de los procesos de lasorganizaciones para realizar determinados proyectos.CMMI clasifica el grado de madurez de las empresas encinco niveles: 1_caótico; hasta 5_optimizado.
SPICE
SPICE es un modelo de madurez propuesto por ISO.Clasifica las organizaciones en seis niveles demadurez, desde 0-incompleto, hasta 5-optimizado.
FACTORES DE CALIDAD
Los factores de calidad sirven para descomponer elconcepto de «calidad» en otros más sencillos, parafacilitar su control, y su medición.
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.
FACTORES DE MANTENIMIENTO:
• FLEXIBILIDAD: esfuerzo necesario para modificar unprograma.
• FACILIDAD DE PRUEBA: esfuerzo requerido pararealizar las pruebas de un programa.
• FACILIDAD DE MANTENIMIENTO: esfuerzo requeridopara localizar y reparar un error.
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.
MÉTRICAS DE CALIDAD.
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
PUNTO DE FUNCIÓN:
Sirve para cuantificar la cantidad de funcionalidad quetiene 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.
• MÉTRICAS DE BANG: Sirve para calcular eltamaño del software a desarrollar a partir delmodelo de análisis.
• MÉTRICA DE CALIDAD DE ESPECIFICACIÓN:Mide la calidad de análisis y de los requisitoscapturados.
FASES DE DISEÑO
Trabajan frecuentemente con parámetros típicosde la estructura de los programas o con medidasdel grado de cohesión, acoplamiento ycomplejidad de los algoritmos.
Algunas de ellas son:
Métricas de calidad de Card y Glass métrica quese basan en dos factores, calculados para cadamódulo a partir de un diagrama de estructura:
• COMPLEJIDAD ESTRUCTURAL: Número demódulos que controla un módulo dado.
• COMPLEJIDAD DE DATOS: Suma de variablesde entrada y salida de un módulo.
QUÉ ES LA CALIDAD DEL
SOFTWARE ?
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.
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.
COMO OBTENER UN SOFTWARE
DE CALIDAD?
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 áreas 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.
El principio tecnológico define las técnicas a utilizar en elproceso de desarrollo del software.
El principio administrativo contempla las funciones deplanificación y control del desarrollo del software, asícomo la organización del ambiente o centro de ingenieríade software.
El principio ergonómico define la interfaz entre el usuarioy el ambiente automatizado.
La adopción de una buena política contribuye en granmedida a lograr la calidad del software, pero no laasegura. Para el aseguramiento de la calidad esnecesario su control o evaluación.
COMO CONTROLAR LA CALIDAD
DEL SOFTWARE ?
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"
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.
Otros autores identifican la calidad con elnivel de complejidad del software ydefinen dos categorías de métricas: decomplejidad de programa o código, y decomplejidad de sistema o estructura.
Todos los autores coinciden en queel software posee determinados índicesmedibles que son las bases para lacalidad, el control y el perfeccionamientode la productividad.
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.
• 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.