lunes, 3 de enero de 2011

Gestión de calidad


Conceptos de calidad

Calidad es característica o atributo de algo, la calidad se refiera a características mesurables, es decir cosas que se pueden comparar para conocer estándares, pero el software como no es un objeto físico es más difícil caracterizarlo y cuando se examina un objeto en base a sus propiedades se pueden encontrar dos tipos de calidad:
Calidad de diseño, que es la característica que los diseñaros especifican para un elemento e incluye requisitos, especificaciones y el diseño del sistemas, calidad de concordancia que es el grado en que las especificaciones de diseño se aplican durante la fabricación y está enfocado principalmente a la implementación.


La tendencia de la calidad.
La tendencia de la calidad Total no solo reconoce la dignidad y el potencial intelectual del ser humano, incorporándolo al autocontrol activo de la calidad de lo que hace, sino que adicionalmente a través de este involucramiento lo pone en contacto estrecho con la naturaleza e importancia de su labor.

La calidad no es un elemento extrínseco al propio desarrollo personal y profesional de los miembros de una organización. La Cultura de la Calidad depende de actitudes, de compromisos, de relaciones, de condiciones de trabajo. Se debe tener claro que la mejora y la innovación está en cada una de las personas que integran y desarrollan su trabajo en las diversas organizaciones, instituciones y empresas.
Actualmente, existe un consenso general a favor de la cultura de la calidad porque es deseable que las cosas mejoren, que las sociedades progresen, que la calidad de vida aumente en todos los sectores y países. Para varios autores, este progreso no debe ir unido al aumento de las desigualdades, ni ser un elemento de discriminación, menos aún si se está hablando acerca de uno de los derechos básicos de todo ser humano: el derecho a la educación.

Garantía de calidad del software
La garantía de la calidad son actividades esenciales en cualquier negocie que elabore productos de consumo. La garantía de calidad del software es un patrón de acciones sistemático y planificado que se requiere para garantizar la calidad del software. El grupo de SQA (Gestión de calidad del software) funcionan como el representante en casa del cliente. Es decir, las personas que realizan el SQA  deben observar el software desde el punto de vista del cliente.
La garantía de la calidad del software se compone de una variedad de tareas asociadas con dos integrantes diferentes:
-       Los Ingenieros de software, que realizan el trabajo técnico. Abordan la calidad (y realizan actividades de aseguramiento y control de calidad) al aplicar sólidos métodos y medidas técnicas, llevar cabo revisiones técnicas formales y desarrollar pruebas de software  bien planificadas.
-       El grupo de SQA, tienen la responsabilidad de planificar, supervisar, guardar registros, analizar, y reportar la garantía de la calidad. La misión principal de este grupo es auxiliar al equipo de software a conseguir un producto de alta calidad.
Dichas actividades las realiza un grupo de SQA independiente: prepara un plan de SQA para un proyecto, participar en el desarrollo de la descripción del proceso de software del proyecto, revisar las actividades de ingeniería del software  para verificar que se ajuste al proceso de software definido, audita productos de trabajo se software seleccionados para verificar que se ajuste con los definidos como parte del proceso de software, garantiza que las desviaciones en el trabajo del software y en los productos de trabajo estén documentadas y se manejen de acuerdo con el procedimiento establecido, registra cualquier falla de ajuste y lo informa al gestor ejecutivo.

Revisiones del software.
Son un filtro para el proceso de software, las revisiones se aplican en ciertas instancias del desarrollo de la ingeniería del software y sirven para descubrir errores y defectos que luego pueden eliminarse. Estas revisiones de software purifican las actividades de ingeiería del software que se han denominado análisis, diseño y codificación. Se pueden llevar a cabo muchos tipos de revisiones, cada uno tiene su lugar, como por ejemplo una reunión en una máquina expendedora de café es una forma de revisión si se examinan los problemas técnicos, una presentación formal de diseño de software a un auditorio a clientes, gestores y personal técnico también es una forma de revisión.

Variedades de revisión del software

Las revisiones del software se pueden dividir en tres categorías:
Son conducidos por el autor del producto del trabajo, o por unos o más colegas del autor, para evaluar el contenido técnico y/o la calidad del trabajo.
Son conducidos por los representantes de la gerencia para evaluar el estado del trabajo hecho y para tomar decisiones con respecto a actividades enes sentido descendiente.
Son conducidos por el personal externo al proyecto del software, para evaluar conformidad con especificaciones, estándares, acuerdos contractuales, u otros criterios.



Revisiones técnicas formales
Una revisión técnica formal (RTF) es una actividad de control de calidad de software que llevan a cabo los Ingenieros de calidad del software y otros. Los objetivos principales de las RTF´s son:
-       Descubrir errores en la función, lógica o implementación del software.
-       Verificar que el software satisface los requerimientos del usuario.
-       Garantizar que el software funcione de acuerdo a los estándares definidos.
-       Lograr software desarrollado de manera uniforme.
-       Hacer proyectos más manejables.
Además los RTF sirven como un campo de entrenamiento porque permite que los Ingenieros “novatos”  observen los diferentes enfoques con respecto al análisis, diseño y construcción del software. La RTF no es más que una revisión que incluye recorridos, inspecciones, revisiones cíclicas y evaluaciones técnicas del software; cada RTF se realiza en una junta y tendrá éxito solo si se planifica, atiende y controla apropiadamente.
Cada revisión se conduce en forma de una reunión cuidadosamente planeada y controlada
-          La reunión de revisión
Entre 3 y 5 personas (grupo pequeño) Preparación previa (2 horas por persona) Especificación precisa (formal o informal)
-          Estándares de codificación
Duración máxima 2 horas (lento pero cansado) Foco en un segmento específico Participan los revisores y el productor
-          Directrices para la revisión
Revisar el producto y no al productor Indicar los errores con tino, tono constructivo Mantenerse estrictamente dentro de la agenda No irse por las ramas Limitar el debate Algunos asuntos pueden dejarse para discusión posterior Enunciar problemas no resolverlos Problema debería ser resuelto por el productor Tomar notas (pizarra deseable)
RTFs: son un filtro que permite “purificar” las actividades de ingeniería de software. se aplican en diversos momentos del desarrollo para detectar defectos Aprovecha la diversidad de un grupo de personas para: señalar la necesidad de mejoras en el producto de ingeniería. Confirmar las partes en las que no es necesaria una mejora. Conseguir un trabajo técnico de calidad más uniforme.


Fiabilidad del software.
Se define como la propiedad de operación libre de fallas de un programa de computadora en un entorno específico en un tiempo específico y este a diferencia de otros factores de calidad se puede medir, estimar empleando datos históricos y de desarrollo.
Para modelizar la fiabilidad del software, se deben considerar primero los principales factores que le afecten : Introducción de fallos, eliminación de fallos y entorno.
Los modelos de fiabilidad del software entran en dos grandes categorías :
  1. Modelos que predicen la fiabilidad como una función cronológica del tiempo (calendario).
  2. Modelos que predicen la fiabilidad como una función del tiempo de procesamiento transcurrido (tiempo de ejecución de CPU).
    Como parte de la seguridad del software, se puede dirigir un proceso de análisis y modelización. Inicialmente, se identifican los riesgos y se clasifican por su importancia y su grado de riesgo. Cuando se han identificado estos riesgos del sistema, se utilizan técnicas de análisis para asignar su gravedad y su probabilidad de ocurrencia. Para que se efectivo, se tiene que analizar el software en el contexto del sistema completo. El análisis del árbol de fallos construye un modelo gráfico de las combinaciones secuenciales y concurrentes de los sucesos que pueden conducir a un suceso o estado del sistema peligroso.



Prueba de errores para el software
Las pruebas de software se integran dentro de las diferentes fases del ciclo del software dentro de la Ingeniería de software. Así se ejecuta un programa y mediante técnicas experimentales se trata de descubrir que errores tiene.
La prueba de software involucra las operaciones del sistema bajo condiciones
Controladas y evaluando los resultados.
Las condiciones controladas pueden ser normales o anormales. La prueba puede intencionalmente esforzar al programa y producir errores en las respuestas para determinar si los sucesos ocurren cuando no tendrían que ocurrir o cuando los hechos no suceden cuando deberían suceder.
La prueba de software esta detectada a la detección.
La mayoría de las grandes organizaciones asumen la responsabilidad del control de calidad y prueba de software a tal medida que en la producción se incluyen desarrolladores de sistemas (analistas, programadores) y un grupo dedicado a la prueba de software para que estos grupos antes menciona dos trabajen en conjunto cumpliendo el control de calidad (prevención) y la prueba de software (detección) logrando una tarea éxitos.

El estándar de calidad iso 9001
Designa un conjunto de normas sobre calidad y gestión que una organización debe cumplir para alcanzar la completa satisfacción del cliente a través de productos y servicios que cumplan las perspectivas del cliente. Establecidas por la Organización Internacional de Normalización. Aplicable a cualquier organización que diseñe, desarrolle, manufacture, instale o dé servicio a un producto o que proporcione cualquier forma de servicio. Es la única implementación para la que auditores externos pueden entregar certificaciones.
Secciones del ISO 9001
ISO 9001 está compuesto por cinco secciones que especifican las actividades que necesitan ser consideradas al implementar el sistema:
  1. Realización del Producto
  2. Sistema de Gestión de la Calidad
  3. Responsabilidad de Gestión
  4. Gestión de Recursos
  5. Medición, Análisis y Mejora
De la primera pueden ignorarse las partes no aplicables a la organización. Las otras cuatro secciones aplican a todas las organizaciones.
El registro de los modelos  de sistema de garantía de calidad contenidos en el ISO 9000 requiere que los sistemas y operaciones de calidad de una compañía lo sometan a prueba auditores de una empresa diferente.
El estándar de Garantía de calidad que se aplica a la Ingeniería del software es el ISO 9001:2000. Este estándar contiene 20 requisitos que deben estar presentes para un sistema eficiente de la garantía de la calidad. Los requisistos que delinea el ISO 9001:2000 abordan tópicos como la responsabilidad de la gestión, sistema de calidad, revisión del contrato, control de diseño, control de documentos y datos, seguimiento e identificación de producto, control de proceso, inspección y pruebas, acciones correctivas y preventivas, control de registros de calidad, auditorias de calidad interna, entrenamiento, servicio y técnicas estadísticas.

Fuente:
- PRESSMAN Roger, Ingeniería del Software un enfoque práctico, Mc Graw Hill, Sexta edición, 980p.

No hay comentarios:

Publicar un comentario