Atributos de Calidad del Software

Atributos de Calidad 
 del Software ► Los usuarios comúnmente se centran en lo que el sistema debe hacer por ellos y

Views 87 Downloads 2 File size 329KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Atributos de Calidad 
 del Software

► Los

usuarios comúnmente se centran en lo que el sistema debe hacer por ellos y no piensan en otros atributos que el software debe tener. ► Son los analistas los que deben estar pendientes de estos atributos que son igualmente importantes.

Atributos de Calidad (AC) ► Existen

12 atributos de calidad que se deben cuidar en el desarrollo de todo producto de software y se puede agrupar en AC importantes para el usuario y AC que son importantes para los desarrolladores. ► Cuando se analiza una situación se debe pensar que cuales de estos AC son básicos.

AC importantes para usuarios ► Disponibilidad ► Eficiencia ► Flexibilidad ► Integridad ► Interoperabilidad ► Confiabilidad ► Robustez ► Usable

AC importantes para desarrolladores ► Mantenimiento ► Portabilidad ► Reusable ► Comprobable ► Gestionable ► Seguridad

► Según

▪ Ej.

el tipo de sistema algunos AC son claves:

►Sistemas

Empotrados : Eficiencia y confiabilidad ►Sistemas Web : disponibilidad, integridad, y mantenimiento, escalabilidad. ►Sistemas de escritorio: interoperabilidad y usable

Atributos que definen Calidad ► Los

requerimientos del usuario son usualmente medibles o cuantificables. ► Los requerimientos de calidad no. ► Sin embargo los Ingenieros de sistemas deben buscar mecanismos para medir y verificar todos los atributos. ► El IEEE 1992 aporta o facilita una guía para realizar este trabajo.

Atributos de Calidad

Atributos importantes para los usuarios ► Disponibilidad:

Es el tiempo que el sistema estará disponible para los usuarios.

▪ Ej. El sistema debe esta disponible al menos el 99.5% del tiempo entre semana de 6 a.m. a 12 m.n. y 99.95% del tiempo en fin de semana de 4 p.m. a 6p.m.

► Otros

requerimientos de este tipo pueden hablar además de el rendimiento o la velocidad a la que debe estar disponible el sistema.

Atributos importantes para los usuarios (cont.) ► Eficiencia:

es el atributo que dice cómo el sistema utiliza el equipo (procesador, espacio en disco, memoria, ancho de banda, etc). Si un sistema consume muchos recursos su rendimiento de ve afectado y por ende el usuario.

▪ Ej. Al menos 25% de la capacidad del procesador y la RAM disponible para el sistema con condiciones pico.

Atributos importantes para los usuarios (cont.) ► Flexibilidad:

es la medida que dice cuan fácil es agregar nuevas capacidades al sistema.

▪ Un programador que tenga al menos 6 meses de experiencia dando soporte a este sistema debería ser capaz de instalar un dispositivo de salida externo (incluyendo modificación de código y pruebas) en no más de una hora.

Atributos importantes para los usuarios (cont.) ► Integridad:

Es el atributo que habla de la seguridad de datos y sistema, accesos no autorizados, pérdida de información, protección contra virus, privacidad y seguridad de los datos. ▪ Ej. Sólo usuarios con privilegios de Auditores podrán acceder a los historiales de transacciones de clientes.

Atributos importantes para los usuarios (cont.) ► Interoperabilidad:

mide cuan fácil el sistema puede intercambiar datos o servicios con otros sistemas. ▪ Ej. El sistema debe ser capaz de importar cualquier estructura química válida de … (tabla, archivo etc.)

Atributos importantes para los usuarios (cont.) ► Confiabilidad

: Mide la probabilidad de que el software se ejecute sin errores por un periodo de tiempo. ▪ Ej. No más de 5 ejecuciones experimentales en 1000 pueden se pueden perder por fallas del producto.

Atributos importantes para los usuarios (cont.) ► Robustez

: Es la medida que dice el grado en el cual el sistema continua operando con propiedad luego de una entrada inválida, defectos en la conexión o condiciones inesperadas.

▪ Ej. Si el editor falla antes de que el usuario guarde su archivo, el editor deberá ser capaz de recuperar todos los cambios hechos en el archivo durante el último minuto.

Atributos importantes para los usuarios (cont.) ► Usable:

Mide el esfuerzo requerido para preparar entradas, operaciones o para interpretar salidas del producto. Se refiere a que tanto el sistema es “amigable” con el usuario. ▪ Ej. Un usuario entrenado debería ser capaz de ingresar una consulta completa en un promedio de 4 a 6 minutos.

Atributos importantes para los desarrolladores (cont.) ► Mantenimiento

: Indica cuan fácil es corregir un defecto o realizar una modificación al sistema.

▪ Ej. Un programador deberá ser capaz de modificar un reporte existente en 5 horas o menos de trabajo.

Atributos importantes para los desarrolladores (cont.) ► Portabilidad

: Mide el esfuerzo requerido para migrar una parte del software de un ambiente operacional a otro.

► Reusabilidad:

Indica el esfuerzo para reutilizar un componente de un sistema en otro. ▪ Ej. La funciones de la entrada de la estructura química deben ser diseñadas para ser reusadas en el nivel de código objeto en otra aplicación.

Atributos importantes para los desarrolladores (cont.) ► Comprobable:

se refiere al esfuerzo que se hace para buscar errores. ▪ Ej. La máxima complejidad “ciclomática” de un módulo no puede exceder a 20.

Requerimientos de Rendimiento

► Definen

que tan bien o que tan rápido el sistema debe realizar una función. Comprenden velocidad (base de datos, tiempo de respuesta, por ej.) capacidad ( concurrencia, por ej.), cronometrajes. ▪ Ej. El ciclo de control de temperatura debe ser ejecutado completamente en 80 milisegundos.

Aseguramiento de la calidad del software

Introducción Según el Instituto Internacional de Normas (International Standards Organization, ISO), calidad es "la totalidad de las características de un producto o servicio, que tienen que ver con su capacidad de satisfacer necesidades enunciadas o implícitas"

22


 Calidad del Software


Es la "concordancia con las necesidades funcionales y de rendimiento explícitamente establecidas, con los estándares de desarrollo explícitamente documentados y con las características implícitas que se esperan de todo software desarrollado profesionalmente."

23

Características de Calidad ► Funcionalidad:

existencia de un conjunto de funciones (servicios) para satisfacer necesidades.

► Confiabilidad:

capacidad para mantener el nivel de desempeño bajo condiciones enunciadas y períodos de tiempo enunciados.

► Utilizabilidad:

esfuerzo necesario para el uso eficaz

del sistema. 24

Características de Calidad ►

Eficiencia: relación entre rendimiento y recursos utilizados.



Mantenibilidad: esfuerzo necesario para realizar modificaciones especificadas.



Portabilidad: capacidad de transferir un sistema de un ambiente a otro.



Auditabilidad: facilidad para determinar que el sistema hace lo requerido, ni más ni menos.

25


 
 
 Gestión de la Calidad de los Sistemas de Información 
 
 
 


26


 Aseguramiento de la calidad




Producto: Un patrón planificado y sistemático de todas las acciones necesarias para proveer la confianza adecuada en que el producto cumple con requerimientos técnicos preestablecidos.



Proceso: Un patrón planificado y sistemático de todas las acciones necesarias para proveer la confianza adecuada en que el proceso esté conforme con estándares preestablecidos. 27

Un principio básico del cual debe partirse es que la calidad de un producto de
 software se da por construcción. Las características de calidad son puestas en un
 producto por su creador.

28

En síntesis

Buscar calidad en el proceso

obtener calidad en el producto

Conocer productividad y calidad

poder mejorar continuamente el rendimiento 29

Medios para lograr calidad ►

Comprometer a la organización con la calidad



Utilizar las mejores prácticas de ingeniería de software.



Enfatizar prevención de defectos o su corrección temprana.



Generar registros que permitan determinar eficacia y eficiencia.



Usar registros previos para la mejora continua del proceso.



Apoyarse en herramientas donde sea pertinente.

30


 Aseguramiento de la calidad - Responsabilidades:




Documentar las políticas de aseguramiento de la calidad establecidas por la administración superior.



Prescribir políticas y procedimientos para el control de la calidad.



Proveer capacitación, orientación y asesoría internas en lo concerniente al control de la calidad.

31


 Aseguramiento de la calidad - Responsabilidades:




Dar seguimiento (“monitorear”) continuo a los productos de software y a los procesos de desarrollo, para introducir mejoras oportunas.



Velar porque se cumplan los estándares y procedimientos establecidos, tanto para proceso como para producto.



Establecer las medidas de aseguramiento de la calidad de los sistemas desarrollados por proveedores externos.

32

Control de Calidad El control de la calidad es el conjunto de técnicas operativas y actividades utilizadas para satisfacer los requerimientos de calidad. El control se enfatiza sobre productos, de manera que se pueda comprobar que satisfacen sus especificaciones o que cumplen con valores predeterminados para ciertos atributos.

33


 
 El control de la calidad se aplica de diversas maneras:
 




Verificar que un diseño cubre todos los requerimientos especificados para un sistema.



Probar que un programa cumple con todos los casos de prueba pre-diseñados para él.



Comprobar en una inspección que un módulo satisface su especificación.



Medir el tiempo de respuesta en sistema de procesamiento de transacciones. 34

Pasos para el Control de la Calidad 1.

Definir los atributos de calidad y sus niveles.

2.

Definir el procedimiento de comprobación para cada atributo. Ejecutar el procedimiento de comprobación sobre cada atributo. Registrar el resultado de la comprobación. Tomar acciones correctivas, registrarlas y darles seguimiento.

3. 4. 5.

35