Anda di halaman 1dari 5

ASIGNATURA: CALIDAD DEL SOFTWARE

2.1 Relación de la Ingeniería del software


con SQA.
GARANTIA Y CONTROL DE CALIDAD DEL SOFTWARE

La concordancia con los requerimientos funcionales y de rendimiento explícitamente


establecidos, con los estándares de desarrollo explícitamente documentados y con las
características implícitas que se espera de todo software se define como:

• Los requerimientos del software son los fundamentos desde los que se mide la calidad.
La falta de concordancia con los requerimientos es una falta de calidad.
• Los estándares especificados definen un conjunto de criterios de desarrollo que guía la
forma en se aplica la ingeniería del software; si no se siguen ciertos criterios, casi
siempre se dará una falta de calidad.
• Existe un conjunto de requerimiento implícitos (el deseo de buen mantenimiento). Si el
software se ajusta a sus requerimientos pero falla en alcanzar los requerimientos
implícitos del software queda en entre dicho.

La calidad del software es una compleja mezcla de ciertos factores que varían para las
diferentes aplicaciones y los clientes que las solicitan.

La garantía de calidad es una actividad esencial en cualquier empresa que produce productos
que van a ser usados por otros. Antes del siglo veinte, la garantía de calidad era
responsabilidad única de la persona que construía el producto. La primera función de control y
de garantía de calidad formal fue introducida por los laboratorios Bell en 1916 y se extendió
rápidamente por todo el mundo de las manufacturas. Hoy en día, cada compañía tiene un
mecanismo que asegura la calidad de sus productos de hecho, durante la pasada década, se
han usado ampliamente como tácticas de mercado la declaración explícita de mensajes que
ponían de manifiesto la calidad ofrecida por las compañías.

La historia de la garantía de calidad en el desarrollo de software ha sido paralela a la historia en


la fabricación de hardware. Durante los primeros años de información (los 50 y los 60), la
calidad era responsabilidad únicamente del programador.

Durante los años 70 se introdujeron estándares de garantía de calidad para el software en los
contratos militares de desarrollo de software y sean extendido rápidamente en los desarrollos
de software del mundo comercial.

El papel de la garantía del software (SQA) se ilustra esquemáticamente en la siguiente figura:


La SQA forma parte de una función más amplia de garantía de calidad y engloba actividades
que desbordan muchas disciplinas técnicas.

El alcance de la responsabilidad de la garantía de calidad se puede garantizar de la mejor


forma parafraseando un popular anuncio de automóviles " la calidad es el trabajo # 1". Lo que
esto implica en el desarrollo de software es que la responsabilidad de la garantía de calidad del
software corresponde a muchos constituyentes de una organización – Ingenieros de software,
gestores del proyecto, clientes, comerciales y las personas que trabajan dentro del grupo de
SQA.

El grupo de SQA sirve como representación del cliente dentro de la casa. O sea, la gente que
lleva a cabo la SQA deba mirar el software desde el punto de vista del cliente ¿satisfacer de
forma adecuada el software los factores de calidad?.

La garantía de calidad del software es la guía de preceptos de gestión y de las disciplinas de


diseño de la garantía de calidad para el espacio tecnológico y la aplicación de la ingenieria de
software. La capacidad de garantizar la calidad es la medida de la madurez de la disciplina de
ingenieria . Al finalizar de seguir esa guía antes mencionada, lo que se obtiene es la madurez
de la ingenieria de software.

Los factores que afectan la calidad del software se clasifica en dos grupos :

• Factores que pueden ser medidos directamente(como errores, unidad de tiempo,etc).


• Factores que solo pueden ser medidos indirectamente(como la facilidad de uso de
mantenimiento, etc).

Los factores de calidad del software se centran en tres aspectos importantes de un producto de
software: sus características operativas, su capacidad de soportar los cambios y su
adaptabilidad a nuevos entornos; y estos factores son los siguientes :

Corrección. El grado en que un programa satisface sus especificaciones y consigue los


objetivos de la misión encomendada por el cliente.

Fiabilidad. El grado en que se puede esperar que un programa lleve a cabo sus funciones
esperadas con la precisión requerida. Esta puede ser medidad o estimada por datos históricos
o estadísticos.

Eficiencia. La cantidad de recursos de computadora y de código requeridos por un programa


para llevar a cabo sus funciones.

Integridad. El grado en que puede controlarse el acceso al software o a los datos, por personal
no autorizado.

Facilidad de uso. El esfuerzo requerido para aprender un programa, trabajar con él, preparar
su entrada e interpretar su salida.

Facilidad de Mantenimiento. El esfuerzo requerido para localizar y arreglar un error de un


programa.

Flexibilidad. El esfuerzo requerido para modificar un programa operativo.


Facilidad de prueba. El esfuerzo requerido para probar un programa de manera que se
asegure que realiza su función requerida.

Portabilidad. El esfuerzo requerido para transferir el programa desde un hardware y/o un


entorno de sistemas de software a otro.

Reusabilidad. El grado en que un programa ( o partes de un programa ) se puede reusar en


otras aplicaciones. Esto va relacionado con el empaquetamiento y el alcance de las funciones
que realiza el programa.

Facilidad de interoperación. El esfuerzo requerido para acoplar un sistema a otro.

Es difícil desarrollar medidas directas de los anteriores factores de calidad. Por lo cual, se
define un conjunto de métricas usadas para desarrollar expresiones para cada uno de los
factores de acuerdo a un factor de calidad del software, coeficientes de regresión y métricas
que afectan el factor de calidad.

Los factores de calidad descritos anteriormente pueden representar una "lista de


comprobación" que se han sugerido para la calidad del software. Hewlett-Packard ha
desarrollado un conjunto de factores de calidad del software , sus siglas son FURPS – por
funcionalidad, facilidad de uso, fiabilidad, rendimiento y capacidad de soporte. Se definen los
principales atributos para cada uno de los cinco factores principales :

• La funcionalidad se obtiene mediante la evaluación del conjunto de características y


de posibilidades del programa.
• La facilidad de uso se calcula considerando los factores humanos,consistencia y la
documentación.
• La Fiabilidad se calcula mediendo la frecuencia de fallos y su importancia .
• El Rendimiento se mide mediante la evaluación de la velocidad del proceso, el tiempo
de respuesta , etc.
• La Capacidad de Soporte combina la posibilidad de ampliar el programa, la
daptabilidad y la utilidad.

Actividades de la Garantia de Calidad del Software.

La garantía de calidad del software comprende una variedad de tareas, asociadas con las sgtes
actividades principales :

Aplicación de métodos técnicos; Realización de revisiones técnicas formales; Prueba del


software; Ajuste a los estandares; Control de cambios; Mediciones; Registro y reliazación de
informes.

La garantía de calidad del software comienza con un conjunto de herramientas y métodos


técnicos que ayudan al analista a conseguir una especificación de alta calidad y un diseño de
alta calidad.

La actividad central que permite garantizar la calidad es la Revisión técnica formal. Esta es
una especie de reunión del personal técnico con el único propósito de descubrir problemas de
calidad .

La prueba del software usa una serie de métodos de diseño de casos de prueba que ayudan
a asegurar una efectiva detección de errores. Muchos grupos de desarrollo de software usan la
prueba del software como una "red de seguridad" para la garantía de calidad.

El grado de aplicación de procedimientos y estándares, se debe establecer esta actividad


para garantizar que se sigan estos.
Una de las principales amenazas para la calidad del software viene de los cambios. Cada
cambio realizado sobre el software en potencia puede introducir errores o crear efectos
laterales que propaguen errores. El proceso de control de cambios contribuye directamente
con la calidad del software, al formalizar las peticiones de cambio, evaluar la naturaleza de
cambio y controlar la naturaleza de cambio.

Un objetivo importante de la garantía de calidad del software es seguir la pista a la calidad del
software y evaluar el impacto de los cambios de metodología y de procedimiento que intentan
mejorar la calidad del software. Para conseguir esto, se deben recolectar métricas del
software.

El registro de información y la generación de informes para la garantía de calidad del


software(SQA), dan procedimientos para la recolección y divulgación de información de SQA.

La Revisión Técnica Formal.

Es una actividad de garantía de calidad del software y es una reunión específica de revisión
que se ha mostrado efectiva en el descubrimiento de defectos. Los objetivos de la reunión
técnica formal son :

• Descubrir errores en la función, la lógica o la implementación de cualquier software.


• Verificar que el software bajo revisión alcance sus requisitos.
• Garantizar que el software ha sido representado con ciertos estándares predefinidos.
• Conseguir un software desarrollado de forma uniforme.
• Hacer que los proyectos sean más manejables.

Se deben establecer directrices para conducir las revisiones técnicas formales,


distribuyendolas entre los revisores, para ser consensuadas y seguidas. A continuación se
muestra un conjunto de directrices para las revisiónes técnicas formales:

• Revisar el producto, no al productor.


• Fijar una agenda y mantenerla.
• Limitar el debate y las impugnaciones.
• Enunciar áreas de problemas, pero no intentar resolver cualquier problema que se
ponga de manifiesto (la resolución de problemas debe ser pospuesta para despues de
la reunión de revisión).
• Limitar el número de participantes e insistir en la preparación anticipada.
• Desarrollar una lista de comprobaciones para cada producto que haya de ser revisado.
• Disponer recursos y una agenda para las reuniones técnicas formales.
• Llevar a cabo un buen entrenamiento de todos los revisores (todos los participantes en
la reunión deben recibir algun entrenamiento formal ).

Métricas de Calidad del Software.

Las métricas representan medidas indirectas, es decir, nunca se mide realmente la calidad,
sino algunas de sus manifestaciones. El factor que lo complica es la relación precisa entre la
variable que es medida y la calidad del software. No se puede medir directamente la calidad del
software por la naturaleza subjetiva de esta actividad.

El US Air Force Systems Command utiliza información obtenida a partir del diseño
arquitectonico y de datos, para obtener un indice de calidad de la estructura del diseño.
Para ello, se debe de averiguar lo siguiente: Módulos definidos en la arquitectura del
programa , módulos cuya función depende de la fuente de los datos de entrada o que produce
datos que se usan en cualquier parte en general, módulos cuya función dependen del
procesamiento previo, elementos de una base de datos, elementos de base de datos únicos,
segmentos de base de datos, módulos con una sola entrada y una sola salida.
Seguridad del Software.

Es una actividad de garantía de calidad del software que se centra en la identificación y


evaluación de los riesgos potenciales que pueden producir un impacto negativo en el software y
hacer que falle por completo.

Como parte de la seguridad del software, se dirige un proceso de análisis y modelización.


Primero se identifican los riesgos y se clasifican por su importancia y grado de riesgo.

Después de haber identificado estos riesgos del sistema, se utilizan técnicas de análisis para
asignar su gravedad y probabilidad de ocurrencia. Se tiene que analizar el software en el
contexto del sistema completo, para que sea efectivo.

Cuando se han identificado y analizado los riesgos, se pueden especificar los requisitos del
software relacionado con la seguridad.

La seguridad del software examina los modos según los cuales los fallos producen condiciones
que pueden llevar a accidentes. Los fallos se evalúan en el contexto de un completo sistema
basado en computadora.

2.2 Definición y propósito del SQA.

Definición:

SQA es un set de actividades sistemáticas que aseguran que el proceso del software y
productos conformados por requerimientos, estándares, y procedimientos. Los procesos
incluyen todas las actividades involucradas en el diseño, codificación, pruebas y
mantenimiento; Los productos incluyen software, datos asociados, documentación, y
toda la documentación para soporte y reportes.

El Rol:

El rol para SQA es brindar a la administración

la a seguranza de que procesos oficialmente establecidos están siendo implementados. Y


asegura que:
1.-Una metodología de desarrollo apropiada este establecida
2.-Que los proyectos utilicen estándares y procedimientos en su trabajo
3.-Que la documentación sea creada para mantenimiento y mejoramiento
4.-La administración de configuración de software este adecuada para controlar cambios
5.-Se realizan pruebas y que se aprueben
6.-Cualquier deficiencia y desviaciones sean identificadas y llevadas con atención a la
administración.
Propósito:
Proporcionar visibilidad sobre los procesos utilizados por el proyecto de software y
sobre los productos que genera.

Anda mungkin juga menyukai