Semana 5 - Calidad de Producto Sw

Preview:

Citation preview

CALIDAD DE PRODUCTO SW

Calidad en Ingeniería del Software

1. INTRODUCCIÓN (1)

• El objetivo no es necesariamente alcanzar una calidad

perfecta, sino la necesaria y suficiente para cada

contexto de uso a la hora de la entrega y del uso por

parte de los usuarios.parte de los usuarios.

• Es necesario comprender las necesidades reales de los

usuarios con tanto detalle como sea posible (requisitos).

1. INTRODUCCIÓN (2)

o Diferentes aspectos de la calidad

• Interna: medible a partir de las características

intrínsecas, como el código fuenteintrínsecas, como el código fuente

• Externa: medible en el comportamiento del producto,

como en una prueba

• En uso: durante la utilización efectiva por parte del

usuario

1. INTRODUCCIÓN (3)

Proceso Producto Efecto del

producto

Influye Influye Influye

Calidaden uso

Calidadexterna

Calidadinterna

Calidad deproceso

Influye Influye Influye

Depende de Depende de Depende de

Contextosde uso

proveedor usuario

1. MODELOS CLÁSICOS (1)

Operación deproducto

Facilidad de uso

Seguridad (integridad)

Eficiencia

OperabilidadFamiliarizaciónComunicatividadVolumen y tasa de E/SDatos comunes

Control y audit. de accesoIntegridad de datos

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

Modelo de McCall et al. (1977)

Revisión deproducto

Transición deproducto

Corrección (exactitud)

Fiabilidad

Facilidad de mantenimientoFacilidad depruebaFlexibilidad

Capacidad de reutilización

Transportabilidad

Interoperabilidad

Integridad de datos

Eficiencia de almacenam.Eficiencia de ejecución

Compleción

Capacidad de ampliación

Trazabilidad

Concisión

PrecisiónTolerancia a erroresSimplicidad

Consistencia

ModularidadAutodescriptividad

Instrumentación

GeneralidadIndep. máquinaIndep. soft. de sistemaComunicac. comunes

1. MODELOS CLÁSICOS (2)

Factor calidad SWMcCAll(1976)

Evans y Macçrciniak

(1987)

Deutsch y Willis(1988)

Corrección X X X

Fiabilidad X X X

Eficiencia X X X

Integridad X X X

Usabilidad X X X

Mantenibilidad X X X

Flexibilidad X X X

Testeabilidad X

Portabilidad X X X

Reusabilidad X X X

Interoperabilidad X X X

1. MODELOS CLÁSICOS (3)

Factor calidad SWMcCAll(1976)

Evans y Macçrciniak

(1987)

Deutsch y Willis(1988)

Verificabilidad X X

Expandibilidad X XExpandibilidad X X

Seguridad de Uso X

Manejabilidad X

Capacidad de

SupervivenciaX

2.NORMAS ISO 25000 (1)

� SQuaRE (Software product Quality Requirements and

Evaluation) constituye y amplía las actuales normas:

� ISO 8126; Tecnología de la Información - Calidad de un

producto SW.producto SW.

� ISO 14985; Tecnología de la Información - Evaluación de un

producto SW.

2.NORMAS ISO 25000 (2)

Modelo de Calidad 2501n

Modelo detallado que

incluye características para

calidad, interna, externa y

Organización de la familia de normas ISO 25000

Requisitos de Calidad

2503n

Ayudan a Especificar

Requisitos de Calidad

calidad, interna, externa y

en uso Evaluación de Calidad

1404n

Proporcionan requisitos,

recomendaciones y guías

para la evaluación de

productos SW.

Gestión de Calidad 2500n

Definen modelos, términos

y definiciones comunes

Medición de Calidad 2502n

Modelo de Referencia de la

medición, definiciones de

medidas de calidad y guías

prácticas para su aplicación

2.NORMAS ISO 25000 (3)

Necesidades de Calidad del

UsuarioCalidad en Uso

Uso y Realimentación

Contribuye a EspecificarIndica

Requisitos de Calidad Externa

Requisitos de Calidad Interna

Calidad Externa

Calidad Interna

Validación

Verificación

Contribuye a EspecificarIndica

calidad externae interna

funcionalidad fiabilidad usabilidad eficiencia mantenibilidad portabilidad

2. MODELO DE CALIDAD INTERNA Y EXTERNA

adecuaciónexactitud

interoperabilidadseguridad de

acceso

cumplim iento de la funcionalidad

madureztolerancia a

falloscapacidad derecuperación

cumplim iento dela fiabilidad

capacidad paraser entendido

capacidad paraser aprendido

capacidad paraser operado

capacidad de atracción

cumplim iento dela usabilidad

comportamientotemporal

utilización derecursos

cumplim iento dela eficiencia

capacidad paraser analizado

capacidad paraser cambiadoestabilidad

capacidad paraser probado

cumplim iento dela mantenibilidad

adaptabilidadinstalabilidadcoexistencia

capacidad paraser reemplazado

cumplim iento dela portabilidad

2.2.1 FUNCIONALIDAD (1)

� Adecuación

Capacidad del producto software para proporcionar unconjunto apropiado de funciones para tareas y objetivos deusuario especificados.

Exactitud� Exactitud

Capacidad del producto software para proporcionar losresultados o efectos correctos o acordados, con el gradonecesario de precisión.

� Interoperabilidad

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

2.2.1 FUNCIONALIDAD (2)

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

2.2.2 FIABILIDAD

� Madurez

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

� Tolerancia a fallos

Capacidad del software para mantener un nivel especificado deprestaciones en caso de fallos software o de infringir sus interfacesprestaciones en caso de fallos software o de infringir sus interfacesespecificados.

� Capacidad de recuperación

Capacidad del producto software para reestablecer un nivel deprestaciones especificado y de recuperar los datos directamenteafectados en caso de fallo.

� Cumplimiento de la fiabilidad

Capacidad del producto software para adherirse a normas,convenciones o regulaciones relacionadas con al fiabilidad.

2.2.3 USABILIDAD (1)

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

2.2.3 USABILIDAD (2)

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

2.2.4 EFICIENCIA

� Comportamiento temporalCapacidad del producto software para proporcionar tiemposde respuesta, tiempos de proceso y potencia apropiados,bajo condiciones determinadas.

� Utilización de recursosCapacidad del producto software para usar las cantidades ytipos de recursos adecuados cuando el software lleva a cabosu función bajo condiciones determinadas.

� Cumplimiento de la eficienciaCapacidad del producto software para adherirse a normas oconvenciones relacionadas con la eficiencia.

2.2.5 MANTENIBILIDAD (1)

� Capacidad para ser analizado

Es la capacidad del producto software para serlediagnosticadas deficiencias o causas de los fallos en elsoftware, o para identificar las partes que han de sermodificadas.

� Capacidad para ser cambiado

Capacidad del producto software que permite que unadeterminada modificación sea implementada.

� Estabilidad

Capacidad del producto software para evitar efectosinesperados debidos a modificaciones del software.

2.2.5 MANTENIBILIDAD (2)

� Capacidad para ser probado

Capacidad del producto software que permite que el

software modificado sea validado.software modificado sea validado.

� Cumplimiento de la mantenibilidad

Capacidad del producto software para adherirse a

normas o convenciones relacionadas con la

mantenibilidad.

2.2.6 PORTABILIDAD

� Adaptabilidad

� Capacidad del producto software para ser adaptado a diferentes entornos especificados,sin aplicar acciones o mecanismos distintos de aquellos proporcionados para estepropó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 unentorno común, compartiendo recursos comunes.

� Capacidad para reemplazar

� Capacidad del producto software para ser usado en lugar de otro producto software, parael mismo propósito, en el mismo entorno.

� Cumplimiento de la portabilidad

� Capacidad del producto software para adherirse a normas o convenciones relacionadascon la portabilidad.

2.2.6 PORTABILIDAD (1)

� Adaptabilidad

Capacidad del producto software para ser adaptado adiferentes entornos especificados, sin aplicar acciones omecanismos distintos de aquellos proporcionados para estepropósito por el propio software considerado.

� Instalabilidad

Capacidad del producto software para ser instalado en unentorno especificado.

� Coexistencia

Capacidad del producto software para coexistir con otrosoftware independiente, en un entorno común,compartiendo recursos comunes.

2.2.6 PORTABILIDAD (2)

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

2.3 CALIDAD EN USO (1)

c a lid a d e nu sou so

e f e c t iv id a d s a t is f a c c ió np ro d u c t iv id a dse g u r id a d d e

a c c e so

2.3 CALIDAD EN USO (2)

� Efectividad

Capacidad del producto software para permitir a los usuarios alcanzarobjetivos especificados con exactitud y completitud, en un contexto deuso especificado.

� Productividad

Capacidad del producto software para permitir a los usuarios gastar unacantidad adecuada de recursos con relación a la efectividad alcanzada,

Capacidad del producto software para permitir a los usuarios gastar unacantidad adecuada de recursos con relación a la efectividad alcanzada,en un contexto de uso especificado.

� Seguridad física

Capacidad del producto software para alcanzar niveles aceptables delriesgo de hacer daño a personas, al negocio, al software, a laspropiedades o al medio ambiente en un contexto de uso especificado.

� Satisfacción

Capacidad del producto software para satisfacer a los usuarios en uncontexto de uso especificado.

Recursos yentorno

Proceso deevaluación

Efecto delproductosoftware

Productosoftware

2.4 EVALUACIÓN DEL PRODUCTO SOFTWARE: ISO 14598

Apoyo a laevaluación

Proceso deevaluación

MétricasInternas

Métricasexternas

Métricas decalidad en

uso

14598-2

14598-6

14598-3

14598-4

14598-5

14598-1

9126-3 9126-2 9126-4

9126-1

2.4 EVALUACIÓN DEL PRODUCTO SOFTWARE

� La norma UNE 71048: Tecnología de la Información – Evaluación del

Producto Software (Soporte Lógico):

� -- Parte 1: Visión general

� -- Parte 2: Planificación y gestión� -- Parte 2: Planificación y gestión

� -- Parte 3: El proceso para desarrolladores

� -- Parte 4: El proceso para adquisidores

� -- Parte 5: El proceso para evaluadores

� -- Parte 6: Documentación de los módulos de evaluación

PROCESO DE EVALUACIÓN DE UN PRODUCTO SW

Establecer

requisitos de

evaluación

Establecer propósito de la evaluación (7.1)

Identificar los tipos de producto(s) (7.2)

Especificar el modelo de calidad (7.3)9126-1 Características de

Calidad

Especificar

Seleccionar métricas (8.1) 9126-2 Métricas Externas

9126-3 Métricas InternasEspecificar

evaluación Establecer niveles para las métricas (8.2)

Establecer criterios de valoración (8.3)

Diseñar

evaluación Producir plan de evaluación (9.1)

Ejecutar

evaluación

Tomar medidas (10.1)

Comparar con criterios (10.2)

Valorar resultados (10.3)

9126-3 Métricas Internas

14598-6 Módulos de

Evaluación

ESTABLECER PROPÓSITO DE UNA EVALUACIÓN

� Productos intermedios:

• Decidir sobre la aceptación de un producto intermedio

de un subcontratista;

• Decidir cuando un proceso está completo y cuando• Decidir cuando un proceso está completo y cuando

remitir los productos al siguiente proceso;

• Predecir o estimar la calidad del producto final;

• Recoger información con objeto de controlar y gestionar

el proceso.

ESTABLECER PROPÓSITO DE UNA EVALUACIÓN

� ProducProducto final:

• Decidir sobre la aceptación del producto;

• Decidir cuando publicar el producto;

• Comparar el producto con otros productos• Comparar el producto con otros productos

competitivos;

• Seleccionar un producto entre productos alternativos;

• Valorar tanto el aspecto positivo como negativo cuando

está en uso;

• Decidir cuando mejorar o reemplazar un producto.

Requisitos Operación

uso y respuesta

mundo

realNecesidades

Calidad

en uso

métricas

externas

Especificación Integración del Sistema y

Pruebas

determina

Pruebas

comporta-miento del sistemareal

Requisitos calidad externos

Calidad

externa

métricas

externas

Diseño y

Desarrollo

atributos

software

Requisitos calidad internos

Calidad

interna

métricas

internas

determina

indica

indica

RANGOS DE UNA ESCALA DE MEDIDA

nivel planeado

Excede los requisitos

Rango objetivo satisfactorio

valor medido

nivel actual

el caso peor

Mínimamente aceptable

Inaceptable

insatisfactorio

escala de medición niveles de puntuación

METODOLOGÍA FRANCH Y CARVALLO

(2003)

� .- Definir el dominio

1. - Determinar subcaracterísticas de calidad

2. - Definir una jerarquía de subcaracterísticas

3. - Descomponer subcaracterísticas en atributos3. - Descomponer subcaracterísticas en atributos

4. - Descomponer atributos derivados en atributos

básicos

5. - Establecer relaciones entre entidades de calidad

6. - Determinar métricas para los atributos

� Accediendo al portal de ISO (www.iso.ch) investigue cuál

es la situación actual de las normas de la familia ISO

25000, y su trazabilidad respecto alas normas ISO 9126

e ISO 14598

Recommended