Inteligencia de negocios

39
CALIDAD DE SOFTWARE Sesión 07 Ing. Fany Sobero Rodríguez

description

se hace referencia a las tendencias en la inteligencia de negocios

Transcript of Inteligencia de negocios

CALIDAD DE SOFTWARE

Sesión 07

Ing. Fany Sobero Rodríguez

Temario

Modelo de calidad de Software

1. Puntos de vista de la calidad del Software

2. Modelo de Calidad

3. Modelo de Boehm

4. Modelo de McCall

5. Modelo de GQM

6. ISO/IEC 9126

Puntos de vista de la calidad del Software

Del usuario

Del proceso

Del producto

Del valor

Punto de vista del usuario

Para el usuario la calidad se refiere al grado en que un producto cumple con las necesidades y expectativas del usuario. Este punto de vista es muy personalizado. Un producto es de buena calidad y si cumple con un gran número de usuarios.

Es útil para identificar los atributos del producto que los usuarios consideran que es importante. Este punto de vista puede abarcar muchos elementos sujetos, tales como la facilidad de uso, fiabilidad y eficiencia.

Punto de vista del proceso

¿Un producto cumple los requisitos?

Cualquier desviación de los requisitos es visto como la reducción de la calidad del producto.

Conformidad con los requisitos conduce a la uniformidad en los productos.

La calidad del producto puede ser gradualmente mejorada por la mejora del proceso.

El CMM y los modelos ISO 9001 se basan en el punto de vista de fabricación.

Punto de vista del producto

Si un producto se fabrica con buenas propiedades internas, entonces se tienen buenas propiedades externas.

Ejemplo: La modularidad permite la capacidad de prueba.

Punto de vista del valor

Esto representa la fusión de dos conceptos: la excelencia y el valor. La cantidad que un cliente está dispuesto a pagar por un determinado nivel de calidad. La calidad no tiene sentido si un producto no tiene sentido económico. Desde este punto de vista se hace una evaluación entre el

costo y calidad.

Modelo de calidad

Modelo de calidad

Un modelo de calidad es el conjunto de características y sub características y de cómo se relacionan entre si.

Modelo de calidad

El aseguramiento de la calidad se realiza a través de modelos, siendo los mas conocidos los siguientes:

– Modelo de Boehm: Modelo de descomposición de características de calidad del software en tres niveles antes de aplicar las métricas: usos principales, componentes intermedios y componentes primitivos.

– ISO 9126: Denominado Evaluación de Productos Software, describe características de calidad y guías para su uso, la calidad se descompone en seis factores.

Modelo de calidad

– Paradigma GQM (Goal-Question-Metric): Enfoque de medición para evaluar la calidad del software basado en la identificación de objetivos a lograr.

– Modelo CMM (Capability Maturity Model): Modelo de capacidad de madurez del SEI.

– Modelo SPICE: (Software Process Improvement and Capability Determination): Modelo de valoración de la arquitectura que define los procesos y prácticas aconsejables.

Modelo de calidad

– Algunos modelos incluyen métricas para evaluar

diferentes atributos de calidad del producto casi siempre

en el nivel del diseño o del código

– Los modelos de calidad más recientes (CMMI, SPICE)

están orientados a la mejora de procesos

Modelo de Boehm Los componentes o constructores del modelo se centran en el

producto final. Se identifican características de calidad desde el punto de vista del usuario.

Modelo de McCall

Descompone el concepto de calidad en tres usos o capacidades importantes para un producto de software:

Cada capacidad se descompone en una serie de factores que determinan la calidad en cada una de ellas:

Operación

–Facilidad de Uso

–Integridad

–Eficiencia

–Corrección o exactitud

–Fiabilidad

Revisión

–Facilidad de prueba

–Facilidad de Mantenimiento

–Flexibilidad

Transición

–Reusabilidad

–Portabilidad

–Interoperabilidad

Los criterios pueden ser evaluados mediante un conjunto de métricas. Para cada

criterio deben fijarse unos valores máximo y mínimo aceptables para cada

criterio.

Operación de

producto

Revisión de

producto

Transición de

producto

Facilidad de uso

Seguridad (integridad)

Eficiencia

Corrección (exactitud)

Fiabilidad

Facilidad de

mantenimiento

Facilidad de

prueba

Flexibilidad

Capacidad de

reutilización

Transportabilidad

Interoperabilidad

Operabilidad Familiarización Comunicatividad Volumen y tasa de E/S Datos comunes

Control y audit. de acceso Integridad de datos

Eficiencia de almacenam. Eficiencia de ejecución

Compleción

Capacidad de ampliación

Trazabilidad

Concisión

Precisión Tolerancia a errores Simplicidad

Consistencia

Modularidad Autodescriptividad

Instrumentación

Generalidad

Indep. máquina Indep. soft. de sistema Comunicac. comunes

Visión de usuario

Visión de la dirección Visión del desarrollador

Modelo de McCall

GQM (Goals-Question-Metrics)

Se basa en la mejora en la definición clara de procesos y productos. Proporciona la estructura para obtener los objetivos cruciales del proyecto.

Consta de tres etapas:

– Lista de objetivos principales en el desarrollo y mantenimiento del proyecto.

– Para cada objetivo obtener las preguntas que deben contestarse para saber si se están cumpliendo los objetivos.

– Decidir qué medir para poder contestar las preguntas de forma adecuada.

– Las medidas individuales obtenidas se relacionan para poder ser utilizadas en el contexto del proyecto completo

GQM (Goals-Question-Metrics)

GQM (Goals-Question-Metrics)

ISO/IEC 9126

Es un estándar de calidad que tiene por objetivo identificar atributos de calidad para el software identificando seis atributos claves de calidad, considerando la Calidad interna y externa, y Calidad en uso.

ISO/IEC 9126

ISO/IEC 9126 - Calidad interna y externa

ISO/IEC 9126 - Calidad en uso

Factores de Calidad ISO 9126

El estándar identifica seis atributos clave de calidad:

Funcionalidad: El grado en que el software satisface las necesidades indicadas

por los siguientes subatributos: idoneidad, corrección, interoperatividad, conformidad y seguridad.

Confiabilidad: Cantidad de tiempo que el software está disponible para su uso. Está referido por los siguientes subatributos: madurez, tolerancia a fallos y facilidad de recuperación.

Usabilidad: Grado en que el software es fácil de usar. Viene reflejado por los siguientes subatributos: facilidad de comprensión, facilidad de aprendizaje y operatividad.

Eficiencia: Grado en que el software hace óptimo el uso de los recursos del sistema. Viene reflejado por los siguientes subatributos: tiempo de uso y recursos utilizados.

Facilidad de mantenimiento: La facilidad con que una modificación puede ser realizada. Está indicada por los siguientes subatributos: facilidad de análisis , facilidad de cambio, estabilidad y facilidad de prueba.

Portabilidad: La facilidad con que el software puede ser llevado de un entorno a otro. Está referido por los siguientes subatributos: facilidad de instalación, facilidad de ajuste, facilidad de adaptación al cambio

Factores de Calidad ISO 9126

Funcionalidad

Adecuación

Capacidad del producto software para proporcionar un conjunto apropiado de funciones

para tareas y objetivos de usuario especificados.

Exactitud

Capacidad del producto software para proporcionar los resultados o efectos correctos o

acordados, con el grado necesario de precisión.

Interoperabilidad

Capacidad del producto software para interactuar con uno o más sistemas especificados.

Seguridad de acceso

Capacidad del producto software para proteger información y datos de manera que las

personas o sistemas no autorizados no puedan leerlos o modificarlos, al tiempo que no se

deniega el acceso a las personas o sistemas autorizados

Cumplimiento funcional

Capacidad del producto software para adherirse a normas, convenciones o regulaciones en

leyes y prescripciones similares relacionadas con funcionalidad.

Madurez

Capacidad del producto software para evitar fallar como resultado de fallos en el software.

Tolerancia a fallos

Capacidad del software para mantener un nivel especificado de prestaciones en caso de

fallos software o de infringir sus interfaces especificados.

Capacidad de recuperación

Capacidad del producto software para reestablecer un nivel de prestaciones especificado y

de recuperar los datos directamente afectados en caso de fallo.

Cumplimiento de la fiabilidad

Capacidad del producto software para adherirse a normas, convenciones o regulaciones

relacionadas con al fiabilidad.

Fiabilidad

Capacidad para ser entendido

Capacidad del producto software que permite al usuario entender si el software es adecuado

y cómo puede ser usado para unas tareas o condiciones de uso particulares.

Capacidad para ser aprendido

Capacidad del producto software que permite al usuario aprender sobre su aplicación.

Capacidad para ser operado

Capacidad del producto software que permite al usuario operarlo y controlarlo.

Capacidad de atracción

Capacidad del producto software para ser atractivo al usuario.

Cumplimiento de la usabilidad

Capacidad del producto software para adherirse a normas, convenciones, guías de estilo o

regulaciones relacionadas con la usabilidad.

Usabilidad

Comportamiento temporal

Capacidad del producto software para proporcionar tiempos de respuesta, tiempos de

proceso y potencia apropiados, bajo condiciones determinadas.

Utilización de recursos

Capacidad del producto software para usar las cantidades y tipos de recursos adecuados

cuando el software lleva a cabo su función bajo condiciones determinadas.

Cumplimiento de la eficiencia

Capacidad del producto software para adherirse a normas o convenciones relacionadas con

la eficiencia.

Eficiencia

Capacidad para ser analizado

Es la capacidad del producto software para serle diagnosticadas deficiencias o causas

de los fallos en el software, o para identificar las partes que han de ser modificadas.

Capacidad para ser cambiado

Capacidad del producto software que permite que una determinada modificación sea

implementada.

Estabilidad

Capacidad del producto software para evitar efectos inesperados debidos a

modificaciones del software.

Capacidad para ser probado

Capacidad del producto software que permite que el software modificado sea

validado.

Cumplimiento de la mantenibilidad

Capacidad del producto software para adherirse a normas o convenciones

relacionadas con la mantenibilidad.

Mantenibilidad

Adaptabilidad

Capacidad del producto software para ser adaptado a diferentes entornos especificados, sin

aplicar acciones o mecanismos distintos de aquellos proporcionados para este propósito

por el propio software considerado.

Instalabilidad

Capacidad del producto software para ser instalado en un entorno especificado.

Coexistencia

Capacidad del producto software para coexistir con otro software independiente, en un

entorno común, compartiendo recursos comunes.

Capacidad para reemplazar

Capacidad del producto software para ser usado en lugar de otro producto software, para

el mismo propósito, en el mismo entorno.

Cumplimiento de la portabilidad

Capacidad del producto software para adherirse a normas o convenciones relacionadas con

la portabilidad.

Portabilidad

ISO/IEC TR 15504/SPICE

Define el modelo de referencia de procesos de software y de capacidades de procesos que constituyen la base para la evaluación de procesos de software. Se compone de 9 partes de las cuales la 2, 3 y 9 son normativas y las demás informativas.

Ventajas

Específico para el desarrollo y mantenimiento de software.

Fácil de entender (24 procesos).

Definido como un conjunto de procesos.

Orientado a mejorar los procesos para contribuir a los objetivos del negocio.

ISO/IEC TR 15504/SPICE

Desventajas

No es práctico ni fácil de aplicar.

Tiene solamente lineamientos para un mecanismo de evaluación.

Todavía no es norma internacional.

Para evaluar el proceso o buen funcionamiento de un software se utiliza algunos estándares de calidad de la norma ISO:

La evaluación de un proceso se define como el examen disciplinado de los procesos usados en una organización junto a un conjunto de criterios para determinar la capacidad de esos procesos para ser realizados dentro de los objetivos de calidad, coste y planificación. El propósito es caracterizar la práctica actual, identificando debilidades y fortalezas y la habilidad del proceso para controlar o evitar las causas de baja calidad, desviaciones en

coste o planificación.

ISO/IEC TR 15504/SPICE

ISO/IEC 15504 se ofrece un modelo bidimensional:

Si se toma el modelo de referencia de procesos del ciclo de vida del software representado en la norma ISO/IEC 12207, se obtienen todos los procesos que una organización puede realizar para comprar, suministrar, desarrollar, operar, mantener y soportar el software.

Por otro lado, la Dimensión de capacidad, formada por seis Niveles de capacidad y nueve atributos de proceso, proporciona una base para medir la capacidad de dichos procesos, en función del grado de cumplimiento de sus atributos

ISO/IEC TR 15504/SPICE

ISO/IEC 15504 proporciona una base para realizar evaluaciones

de la capacidad de los procesos de software y permite reflejar los resultados obtenidos sobre una escala común, que puede usarse, por una parte, para comprobar la evolución de una organización en el tiempo o para observar su situación respecto a la competencia, y por la otra, para la definición de estrategias de mejora.

ISO/IEC TR 15504/SPICE

El estándar no pretende fijar la manera de realizar los procesos dentro de una organización, sino que valora su capacidad y ayuda a proponer mejoras que aumenten esta capacidad. La manera de llevar a cabo

estas mejoras no entra dentro del alcance de la

Norma.

ISO/IEC TR 15504/SPICE

ISO/IEC TR 15504/SPICE

SPICE VS CMMI