Unidad # 10 calidad del software

Post on 25-Jul-2015

148 views 1 download

Transcript of Unidad # 10 calidad del software

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 siguientes aspectos para evaluar la calidad del Software:

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.

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 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:

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.)

MARCOS DE TRABAJO

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.

SPICESPICE ES UN MODELO DE MADUREZ PROPUESTO POR ISO. CLASIFICA LAS ORGANIZACIONES EN SEIS NIVELES DE MADUREZ, DESDE 0-INCOMPLETO, HASTA 5-OPTIMIZADO.

FACTORES DE CALIDAD

Los factores de calidad sirven para descomponer el concepto de «calidad» en otros más sencillos, para facilitar 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 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.

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 que tiene un sistema a partir de la descripción del mismo. Se basa en cinco ciclos:ENTRADAS DE USUARIO SALIDAS DE USUARIO PETICIONESARCHIVOSINTERFACES EXTERNAS.

• 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.

FASES DE DISEÑO

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:

• 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.

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 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.

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.

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 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.

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.