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
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
Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software
NTC
Norma Técnica Colombiana
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
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
Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software
NTC 5415
Evaluación del producto de software
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
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,
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
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
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
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
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
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
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
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
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
Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software
NTC 5420
Calidad del producto de software
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
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
20Escuela 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
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
22Escuela 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
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
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
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
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
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”?
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
.
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
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
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
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
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
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
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
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
Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software
TALLER
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
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.
Escuela de Ingeniería de Sistemas y Computación Calidad y Pruebas de Software