Norma de Calidad Colombiana para Productos de Software y Relación entre Modelos de Calidad y Especificación de Requerimientos de Productos de Software

41  69  Descargar (1)

Texto completo

(1)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Norma de Calidad Colombiana para

Productos de Software

y

Relación entre Modelos de Calidad y

Especificación de Requerimientos de

Productos de Software

750092M

Desarrollo de Software II

(2)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Agenda

Norma Técnica Colombiana (NTC)

NTC - 5415 Evaluación del producto de software

NTC - 5420 Calidad del producto de software

Relación entre Modelos de Calidad y

Especificación de Requerimientos de

Productos de Software

Taller en clase

Referencias

(3)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC

Norma Técnica Colombiana

(4)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC

4

NTC 5415 Evaluación del producto de software

NA - ISO/IEC 14598

ISO/IEC 14598

NTC 5420 Calidad del producto de software

NA – ISO/IEC 9126

ISO/IEC 9126

(5)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

y subcarácteristicas de calidad

2. Métricas

externas 3. Métricasinternas 1. Características

2. Planificación

y Gestión 6. Documentación de losmódulos de evaluación

desarrolladores 3. Proceso para evaluadores 5. Proceso para compradores 4. Proceso para Apoyo a la evaluación Proceso de evaluación

NTC – 5415 y 5420

Relación entre las Normas para evaluación y

(6)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC 5415

Evaluación del producto de software

(7)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC - 5415

5415 – 1 Visión general

5415 – 2 Planificación y gestión

5415 – 3 Procedimiento para desarrolladores

5415 – 4 Procedimiento para compradores

5415 – 5 Procedimiento para evaluadores

5415 – 6 Documentación de los módulos de

evaluación

(8)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

2. Planificación

y Gestión 6. Documentación de losmódulos de evaluación

desarrolladores 3. Proceso para evaluadores 5. Proceso para compradores 4. Proceso para Apoyo a la evaluación Proceso de evaluación

NTC – 5415 – 1

Visión general

Determina aspectos básicos, definiciones, relaciones

Provee un marco de trabajo, propósito, requisitos,

(9)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5415 - 2

Planificación y gestión

Políticas y objetivos

Tecnologías a utilizar

Roles y responsabilidades

Transferencia tecnológica y de conocimiento

(10)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Planificación y gestión

Tabla. Relaciones entre la función de apoyo y los proyectos de evaluación

LA FUNCIÓN DE APOYO PROPORCIONA LOS PROYECTOS DE EVALUACIÓN DESARROLLAN

Nueva tecnología

Normas internacionales/nacionales

Experiencia (consultoría)

Formación

Base de datos de la organización

A p o y o a l o s p r o y e c t o s d e

evaluación

Experiencia de proyecto

Experiencia de evaluación

Datos de proyecto

Experiencia con tecnología

Retroalimentación a la función de

apoyo

(11)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5415 -3

Procedimiento para desarrolladores

Evaluación del software durante el ciclo de vida de

desarrollo

Identificación de necesidades del usuario

Identificar productos intermedios

Identificar y medir atributos externos e internos

Uso de indicadores de calidad

Proceso de evaluación

(12)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5415 - 4

Procedimiento para compradores

Requisitos del producto de software a adquirir

Especificación de requisitos de compra

Preparación de contrato, negociación, control

de cambios

Evaluación durante la ejecución

Aceptación y recibo del producto de software

(13)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5415 - 4

Procedimiento para compradores

13 Figura. Contexto de la ingeniería de sistemas para la evaluación y compra de productos software

(14)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5415 - 4

Procedimiento para compradores

14

Entradas Fase evaluación

Tareas clave Salida

Requisitos sistema/software Establecer los requisitos de la evaluación (numeral 6.1)

Especificar objetivos, propósito y ámbito. Especificar el rigor de la evaluación. Identificar las entradas a la evaluación. Identificar el proceso de compra que se va a seguir y cómo los requisitos de entrada de la evaluación se comunican al proveedor.

Especificación de los requisitos de evaluación Requisitos de la evaluación Especificar la evaluación (numeral 6.2)

Seleccionar las métricas que se correlacionan con las carac-terísticas del producto software. Establecer la clasificación de las categorías. Seleccionar el conjunto más efectivo de métodos de evaluación. Establecer procedi-mientos para resumir los resultados de la evaluación de diferentes calidades y otros aspectos que contribuyen a la valoración de la calidad del producto software en un entorno particular.

Especificación de la evaluación Especificación de la evaluación Diseñar la evaluación (numeral 6.3)

Preparar un plan de evaluación que describa los métodos y la planificación de la evaluación. Identificar los puntos de enlace entre las actividades de evaluación y las de compra.

Plan de evaluación Plan de evaluación Ejecutar la evaluación (numeral 6.4)

Dirigir las actividades seleccionadas para la evaluación, y analizar y registrar los resultados para determinar la adecua-ción de los productos software. Analizar el impacto de las deficiencias identificadas y de las opciones para regular el uso del producto. Extraer conclusiones respecto a la aceptabilidad del producto, y la decisión final de comprar o no.

Registros y resultados de la evalua-ción

(15)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5415 - 5

Procedimiento para evaluadores

Punto de comienzo de la evaluación

Proceso de evaluación

Responsabilidades dentro del proceso de evaluación

Especificación de la evaluación

Diseño, ejecución y conclusiones de la evaluación

Niveles y técnicas de evaluación

(16)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5415 - 5

Procedimiento para evaluadores

16 Establecimiento de los requisitos de evaluación Especificaciónde la evaluación Diseño de la evaluación Ejecución de la evaluación Conclusión de la evaluación Requisitos del solicitante Requisitos de evaluación Especificación de la evaluación Descripción del producto Entrada del evaluador Componentes del producto Plan de evaluación Registros de la evaluación

Borrador del informe de evaluación Informe de evaluación revisado Herramientas de evaluación Métodos de evaluación Regístro de las acciones de evaluación Especificaciones de evaluación predefinidas Resultados sintetizados de la evaluación Entrada del solicitante

(17)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5415 - 6

Documentación de los módulos de

evaluación

Define estructura y contenido de los módulos de

evaluación:

Prólogo, alcance, referencias, definiciones, métricas,

interpretación, aplicación

Ej. Evaluación de la funcionalidad

(idoneidad, exactitud, interoperabilidad, conformidad,

seguridad)

Ej. Evaluación del grado de utilización y calidad de

(18)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC 5420

Calidad del producto de software

(19)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC - 5420

Evaluación del producto de software

5420-1 Modelo de calidad

5420-2 Métricas externas

5420-3 Métricas internas

5420-4 Métricas de calidad en uso

(20)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Modelo de calidad externa e interna

Funcionalidad Fiabilidad Usabilidad Eficiencia Mantenibilidad Portabilidad

Adecuación exactitud interoperabilidad seguridad de acceso capacidad de fallos Madurez tolerancia a

recuperación ser aprendido capacidad para Capacidad para ser entendido operabilidad recursos utilización de Comportamiento temporal estabilidad capacidad para Capacidad para ser analizado

capacidad para capacidad para coexistencia Adaptabilidad instalabilidad ser remplazado Cumplimiento de la funcionalidad Cumplimiento de la fiabilidad Cumplimiento de la usabilidad Cumplimiento de la eficiencia Cumplimiento de la mantenibilidad Cumplimiento de la portabilidad atracción

capacidad de ser probado

externa Calidad e interna capacidad para ser modificado

NTC – 5420 -1

20

(21)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5420 – 2 y 3

Métricas externas e internas

Uso de métricas

Tablas de métricas

Forma de leer y usar las tablas de métricas

Consideraciones cuando se utilizan métricas

Ejemplo marco

Explicación detallada de los tipos de escalas

(22)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5420 – 2 y 3

Métricas externas e internas

Aplicabilidad

Precisión

Interoperabilidad

Seguridad

Conformidad de

funcionalidad

Madurez

Tolerancia a fallos

Capacidad de recuperación

Conformidad de fiabilidad

Comprensibilidad

Capacidad de aprendizaje

Capacidad de operación

Apariencia

Capacidad de uso

Tiempo de respuesta

Rendimiento

22

(23)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5420 – 2 y 3

23

Métricas internas de exactitud Nombre de la

métrica Propósito de la métrica Método de aplicación

Medición, fórmula cálculo de elementos de y datos Interpretació n del valor medido Tipo de escala métric a Tipo de

medida Entrada para la medición

ISO /IEC 12207 Referencia SLCP Audiencia objetivo Exactitud de los cálculos ¿ Q u é t a n completa es la implementación de los requisitos de exactitud? Cuente la cantidad de funciones que han implementado los r e q u i s i t o s d e e x a c t i t u d y compárela con la cantidad de funciones con requisitos de exactitud específicos. X = A/B A = cantidad de funciones en las c u a l e s s e h a n implementado los r e q u i s i t o s d e e x a c t i t u d específicos, según se confirma en la evaluación.. B = cantidad de funciones para las cuales es necesario implementar los r e q u i s i t o s d e e x a c t i t u d específicos. 0 < = X < = 1 Entre más cerca de 1, m á s completa Absolu ta A = conteoB = conteo X = conteo /conteo Especificació n de requisitos Diseño Código fuente I n f o r m e d e revisión Verificación R e v i s i ó n conjunta Solicitan-tes Encarga-dos del desarrollo Precisión ¿ Q u é t a n completa fue la implementación de los niveles específicos de precisión para los elementos de datos? Cuente la cantidad de elementos de datos q u e c u m p l e n l o s requisitos para los niveles específicos de precisión y compárela con la cantidad de elementos de datos con nivel específico d e r e q u i s i t o s d e precisión. X = A/B A = cantidad de elementos de datos implementados con niveles específicos d e p r e c i s i ó n , confirmados en la evaluación. B = cantidad de elementos de datos que requieren nivel e s p e c í f i c o d e precisión. 0 < = X < = 1 Entre más cerca de 1, m á s completa Absolu ta A = conteo B = conteo X = conteo /conteo Especificació n de requisitos Diseño Código fuente I n f o r m e d e revisión Verificación R e v i s i ó n conjunta Solicitan-tes Encarga-dos del desarrollo

(24)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

NTC – 5420 - 4

Métricas de calidad de uso

Uso de las métricas de calidad de uso

Forma de leer y usar las tablas de métricas

Métricas de eficacia

Métricas de productividad

Métricas de protección

Métricas de satisfacción

(25)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

RELACIÓN ENTRE MODELOS

DE CALIDAD Y

ESPECIFICACIÓN DE

REQUERIMIENTOS DE

PRODUCTOS DE SOFTWARE

(26)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Requerimientos Funcionales

Los requerimientos funcionales describen

lo que el sistema debe hacer.

En

tiempo de diseño arquitectural

,

estamos preocupados por

funciones de

alto nivel no detalles

.

Para el diseño arquitectural, los

requerimientos funcionales son mejor

articulados como casos de uso

(27)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Capturando Requerimientos

Funcionales

• Hay muchas formas de capturarlos,

ej.

Casos de uso

Descripciones de carácterísticas

Descripciones operacionales

(28)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Atributos de Calidad o

“Requerimientos No Funcionales”?

Los requerimientos no funcionales son un

espacio para todo lo demás como

modificabilidad, desempeño

, etc.

Lo más importante es el req. no funcional

“será arquitecturalmente

significativo”?

(29)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Atributos de Calidad

Atributos de calidad

- características que

el sistema debe poseer, además de la

funcionalidad.

De los direccionadores arquitecturales,

los

atributos de calidad son los más difíciles

de descubrir, escribir, y probar.

Los atributos de calidad y las restricciones

dirigen más a la estructura arquitectural

que

la funcionalidad

.

(30)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Atributos de Calidad y

Arquitectura

Las decisiones arquitecturales, cumplen

con las restricciones, promueven algunos

atributos de calidad e inhiben otros.

Un cambio en la arquitectura que mejore un

atributo de calidad puede promover o inhibir

el logro de otros atributos de calidad.

La arquitectura es fundamental para

equilibrar compensaciones de atributos de

calidad antes del diseño detallado

(31)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Descripciones Típicas de

Requerimientos del Sistema

“El tiempo de respuesta del sistema para todas las acciones deberá

ser inferior a 0.5seg”

“Funciones criticas en tiempo como envió de un comando, cambio

de imagen, gráficos deben tener “suficiente” desempeño”

“La tolerancia a fallos será soportada por el sistema, de tal manera

que la posibilidad y el impacto de una falla en el servidor se

minimice o elimine. La disponibilidad y funcionalidad de las

estaciones de trabajo cliente y subestaciones deben mantenerse en

condiciones de falla del servidor o de otros clientes.”

“El sistema debe permitir apagar y reiniciar todos los componentes

con el fin de reiniciar el sistema completo”.

“El sistema deberá tener la capacidad de detectar fallas de software

y automáticamente reiniciar el componente correspondiente”.

“Un componente siendo consultado debe responder a un mensaje

(32)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Describiendo Atributos de

Calidad

La arquitectura de software afecta a la

mayoría de cualidades, pero no todos los

aspectos de todas las cualidades.

Considere la usabilidad.

La elección de botones de opción, cuadros de

dialogo, o líneas de comando afectan la usabilidad,

pero estas decisiones no son arquitecturales.

No todos los problemas de usabilidad son

(33)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Seis Partes de los Escenarios de

Atributos de Calidad

1.

Estímulo

– una condición que afecta el sistema.

2.

Fuente del estimulo

– la entidad que genero el

estimulo.

3.

Ambiente

– la condición bajo la cual el estimulo

es producido.

4.

Artefacto estimulado

– El artefacto que fue

estimulado por el estimulo.

5.

Respuesta

– La actividad que resulta a causa

del estimulo.

6.

Medida de la respuesta

– La medida con la cual

(34)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Disponibilidad

La disponibilidad de un sistema es la probabilidad

de que estará en funcionamiento cuando sea

necesario.

Normalmente, esto se define como:

α

= tiempo medio entre fallas/ (tiempo medio entre

fallas + tiempo medio de reparación)

De aquí vienen términos como disponibilidad del

99,9%, o una probabilidad de 0,1% que el sistema

no estará en funcionamiento cuando se le necesite

(35)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Desempeño

Ejemplo escenario de desempeño:

500 usuarios inician 1,000 transacciones

por minuto estocásticamente en

condiciones normales de funcionamiento y

cada transacción es procesada con una

(36)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Seguridad

• Ejemplo escenario de seguridad:

“Un individuo no autorizado desde un sitio

externo accede al sistema y trata de modificar

datos.

El sistema detecta el comportamiento

malicioso, mantiene un registro de auditoria de

las acciones del individuo no autorizado,

notifica al administrador del sistema, y apaga el

(37)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Seguridad

• Ejemplo escenario de seguridad:

“Un individuo no autorizado desde un sitio

externo accede al sistema y trata de modificar

datos.

El sistema detecta el comportamiento

malicioso, mantiene un registro de auditoria de

las acciones del individuo no autorizado,

notifica al administrador del sistema, y apaga el

(38)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

TALLER

(39)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Taller

Haga la versión

de este diagrama

para las NTC

En este diagrama

ubique las normas

de la familia de los

estándares ISO

9000, ISO

(SQuaRE) 25000

39

(40)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Taller

Defina 5 requerimientos no funcionales

con respecto a una tienda on-line, use la

descripción por escenario.

Defina 3 requerimientos funcionales con

respecto a la misma tienda on-line, use la

descripción como caso de uso.

(41)

Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software

Referencias

Tienda Virtual ICONTEC

http://tienda.icontec.org

Figure

Actualización...

Referencias

Actualización...