Unidad II: Estándares de Calidad en el diseño de Algoritmos y Construcción de Programas

Introducción a los Estándares de Calidad

En algunos momento se definió a la Calidad como: Lo que se hace bien y a la primera, concepto erróneo ya que, no se puede determinar la calidad de un servicio, producto o proceso, tomando en cuenta solo el aspecto de desarrollo, olvidando por completo al proceso de depuración que inherentemente involucra una serie de corrección de errores, por lo que, la definición de calidad esta mas allá de la observación de una parte de dicho proceso. La mayoría de los clientes busca calidad al mejor precio, sin embargo, lo que puede ser excelente para algunos, no lo es para otros. Cuando un individuo adquiere un producto o servicio, lo hace para satisfacer una necesidad, pero siempre espera que la nueva adquisición funcione como lo esperado, o al menos como se lo prometieron en el anuncio publicitario. Muchas veces la calidad se paga, justificando de esta forma el dicho de que lo barato sale caro.El significado de calidad puede adquirir múltiples interpretaciones, ya que todo de penderá del nivel de satisfacción o conformidad del cliente. Sin embargo, la calidades el resultado de un esfuerzo arduo, se trabaja de forma eficaz para poder satisfacer el deseo del consumidor. Dependiendo de la forma en que un producto o servicio sea aceptado o rechazado por los clientes, podremos decir si éste es bueno o malo. Muchas veces el nivel de calidad se mide de acuerdo a la reacción y preferencias del cliente. Desde el mismo momento en que éste llega al establecimiento comercial, sabe exactamente qué va a comprar y dónde ubicarlo, va directo al lugar donde se encuentra el producto de su preferencia. En ocasiones, no encontrará lo que está buscando y por tanto se decidirá por otro producto de mayor o menor precio, sin embargo, cuando su nivel de preferencia se afinca en una determinada marca, el cliente prefiere seguir buscando en otros establecimientos en vez de resolverse con un producto sustitutivo.

Formas y técnicas de documentar algoritmos y programas 

La documentación

Un programa de computadora necesita siempre de una documentación que permita a los usuarios aprender a utilizarlos y mantenerlo, la documentación del programa se puede concretar a manual del usuario y manual de mantenimiento.

Manual del usuario

La documentación de un programa suele producirse con dos propósitos, el primero seria explicar las funciones del software y describir el modo de utilizarlas estas están diseñadas para ser leídas por el usuario del programa y la segunda describir el software en si para poder mantener el sistema en una etapa posterior de su ciclo de vida.

La documentación de usuario es un instrumento muy importante. Una buena documentación de usuario hará al programa más accesible.

El manual de usuario debe contener los siguientes puntos:
  1.  Ordenes necesarias para cargar el programa en memoria desde el almacenamiento secundario y comenzar su funcionamiento.
  2.  Nombres de los archivos externos a los que accede el programa.  
  3.  Formato de todos los mensajes de error o informes. 
  4.  Opciones en el funcionamiento del programa.
  5.  Descripción detallada de la función realizada por el programa.
  6.  Descripción detallada de cualquier salida producida por el programa.
Manual de mantenimiento 
 
El manual de mantenimiento es la documentación requerida para mantener un programa durante su ciclo de vida. Se divide en dos categorías, documentación interna y documentación externa.

Documentación interna  

Esta documentación cubre los aspectos del programa relativos a la sintaxis de lenguaje. Esta documentación está contenida en los comentarios entre llaves, paréntesis o asteriscos. Algunos temas a considerar son: 
 
   * Cabecera de programa (breve descripción del programa)
   * Nombres significativos para describir identificadores.
   * Comentarios relativos a la función del programa.
   * Claridad de estilo y formato, líneas en blanco para separa módulos.
   * Comentarios significativos.

Documentación externa

Documentación ajena al programa fuente, que se suele incluir en un manual que acompaña al programa. Esta documentación debe incluir:

  1. Listado actual del programa fuente. 
  2. Especificación del programa.
  3. Diagrama de estructura que representa la organización jerárquica de los módulos que comprenden el programa.
  4. Explicaciones de formulas complejas.  
  5. Especificación de los datos a procesar.
  6. Formatos de pantallas utilizados para interactuar con los usuarios.
  7. Cualquier indicación especial que pueda servir a los programadores que deben mantener el programa.  

Reglas de documentación

Un programa bien documentado es aquel que otras personas pueden leer, usar y modificar. Existe muchos tipos de documentación y con frecuencia los temas a incluir dependen del programa. A continuación señalamos algunas características esenciales de documentación de un programa.  

Un comentario de cabecera para el programa que incluye:

  1. Descripción del programa. 
  2.  Autor y fecha.
  3.  Descripción de la entrada y salida del programa.
  4.  Descripción de cómo utilizar el programa.
  5.  Hipótesis sobre tipos de datos esperados.
  6.  Breve descripción de los algoritmos globales y estructurados de datos.
  7.  Descripción de las variables importantes.


ISO-9126

ISO 9126 – Calidad del producto.


El estándar ISO 9126 ha sido desarrollado en un intento de identificar los atributos clave de calidad para el software evalúa los productos de software, esta norma nos indica las características de la calidad y los lineamientos para su uso. El estándar identifica 6 atributos clave de calidad:

  Funcionalidad: el grado en que el software satisface las necesidades indicadas por los siguientes subatributos: idoneidad, corrección, interoperatividad, conformidad y seguridad.

•  Confiabilidad: cantidad de tiempo que el software está disponible para su uso. Está referido por los siguientes subatributos: madurez, tolerancia a fallos y facilidad de recuperación.

•  Usabilidad: grado en que el software es fácil de usar. Viene reflejado por los siguientes subatributos: facilidad de comprensión, facilidad de aprendizaje y operatividad.

•  Eficiencia: grado en que el software hace óptimo el uso de los recursos del sistema. Está indicado por los siguientes subatributos: tiempo de uso y recursos utilizados.

•  Facilidad de mantenimiento: la facilidad con que una modificación puede ser realizada. Está indicada por los siguientes subatributos: facilidad de análisis, facilidad de cambio, estabilidad y facilidad de prueba.

•  Portabilidad: la facilidad con que el software puede ser llevado de un entorno a otro. Está referido por los siguientes subatributos: facilidad de instalación, facilidad de ajuste, facilidad de adaptación al cambio. 


ISO-9000


ISO 9000: Gestión y aseguramiento de calidad (conceptos y directrices generales).Recomendaciones externas para aseguramiento de la calidad (ISO 9001, ISO 9002, ISO 9003).
ISO 9001: Sistema de calidad- Modelo de aseguramiento de la calidad en diseño/ desarrollo producción, instalación y servicio.

Norma que se aplica a los sistemas de calidad (SGC), el cual se centra en todos los elementos de administración de calidad con los que una empresa debe contar, para tener un sistema efectivo que permita administrar y mejorar la calidad sus productos y servicios.
La norma ISO 9001:2008 se basa en ocho principios de gestión de calidad: 

Enfoque al cliente
Liderazgo
Participación del personal
Enfoque basado en procesos
Enfoque de sistema para la gestión
Mejora continua
Enfoque basado en hechos para la toma de decisión
Relaciones mutuamente beneficiosas con el proveedor
ISO 9002: Sistemas de calidad- Modelo de aseguramiento de la calidad en la producción e instalación.

La norma ISO 9002 evalúa todos los recursos humanos y técnicos y los procedimientos administrativos, que garantizan la operación continua y efectiva del sistema de calidad en una empresa. es necesaria la supervisión constante y el cumplimiento de especificaciones, las que servirán para documentar los procedimientos y aseguramiento que satisfacen los requisitos específicos del cliente. En el año 2000, ISO 9002 se unió a la norma ISO 9001, ya que eran similares. La norma ISO 9001 de aseguramiento de calidad estándar cubre tanto la producción, fabricación y partes de servicio de 9002, además de cubrir procesos de creación del diseño.

ISO 9003: Sistemas de calidad- Modelo aseguramiento de la calidad

ISO-25000

ISO/IEC 25000

Esta proporciona una guía para el uso de las nuevas series de estándares internacionales, llamados Requisitos y Evaluación de Calidad de Productos de Software (SQuaRE). Es una norma que se basa en la ISO 9126 y 14598 y su principal objetivo es determinar una guía para el desarrollo de los productos de software con la especificación y evaluación de requisitos de calidad. Establece criterios para la especificación de requisitos de calidad de productos software, sus métricas y su evaluación. El producto de software debe incorporar unas características, de tal manera que se garantice su eficiencia de uso a los requerimientos de los clientes. Se recomienda que los requisitos de calidad deban ser proporcionales a las necesidades de la aplicación y lo crítico que sea el correcto funcionamiento del sistema implementado.

La norma se compone  por las siguientes divisiones:

·       SO/IEC 2500n. División de gestión de calidad. esta división definen todos los modelos comunes, términos y referencias a los que se alude en las demás divisiones de SQuaRE

·       ISO/IEC 2501n. División del modelo de calidad. presenta un modelo de calidad detallado, incluyendo características para la calidad interna, externa y en uso.

·       ISO/IEC 2502n. División de mediciones de calidad. Presenta un modelo de referencia de calidad del producto software, definiciones matemáticas de las métricas de calidad y una guía práctica para su aplicación. Presenta aplicaciones de métricas para la calidad de software interna, externa y en uso.

·        ISO/IEC 2503n. División de requisitos de calidad. ayuda a especificar los requisitos de calidad. Estos requisitos pueden ser usados en el proceso de especificación de requisitos de calidad para un producto software que va a ser desarrollado ó como entrada para un proceso de evaluación. El proceso de definición de requisitos se guía por el establecido en la norma ISO/IEC 15288 (ISO, 2003).  

·       ISO/IEC 2504n. División de evaluación de la calidad. proporciona requisitos, recomendaciones y guías para la evaluación de un producto software, tanto si la llevan a cabo evaluadores, como clientes o desarrolladores.

·       ISO/IEC 25050–25099. Estándares de extensión SQuaRE. Incluyen requisitos para la calidad de productos de software “Off-The-Self” y para el formato común de la industria (CIF) para informes de usabilidad. 

Esta norma define tres vistas diferentes respecto al  estudio de la calidad de un producto software:

 Vista interna: se ocupa de las propiedades del software como: el tamaño, la complejidad o la conformidad con las normas de orientación a objetos. Esta vista puede utilizarse desde las primeras fases del desarrollo para detectar deficiencia del software.

 Vista externa: analiza el comportamiento del software en producción y estudia sus atributos, por ejemplo: el rendimiento de un software en una máquina determinada, el uso de memoria de un programa o el tiempo de funcionamiento entre fallos. Esta vista se utiliza una vez el software este completo y listo para producción.

 Vista en uso: mide la productividad y efectividad del usuario final al utilizar el software. Esta vista se utiliza una vez el software esté listo y será evaluado por el cliente y dependerá de los factores determinantes del mismo.

ISO-14598



ISO 14598 – Evaluación de productos de software

La norma ISO/IEC 14598 es un estándar que proporciona un marco de trabajo para evaluar la calidad de todo tipo de producto software e indica los requisitos para los métodos de medición y el proceso de evaluación, proporcionando métricas y requisitos para los procesos de evaluación, a través de 6 etapas.

ISO/IEC 14598-1 Visión General: establece un resumen de las otras cinco etapas, explica la relación entre la evaluación del producto software y el modelo de calidad.

Actividades: (Establecer los requerimientos de evaluación, Especificar la evaluación, Planear la evaluación, Ejecutar la evaluación).

·         ISO/IEC 14598-2 Planificación  y Gestión: contiene requisitos y guías para las funciones de soporte tales como la planificación y gestión de la evaluación del producto del software.

Actividades: (Preparación de políticas, definición de objetivos, Identificación de la tecnología, Asignación de responsabilidades, Evaluación de software desarrollado y adquirido).

·         ISO/IEC 14598-3 Proceso de desarrolladores: Lo utiliza las organizaciones que planean desarrollar un producto o mejorar uno existente, realiza evaluaciones de producto utilizando indicadores que puede predecir la calidad de los productos finales.

Actividades: (Organización, Planeamiento, Especificaciones, Diseño, Montaje)

·         ISO/IEC 14598-4 Proceso de comparadores: Lo utilizan las organizaciones que pretenden comparar o rehusar un producto de software existente, se aplica con el propósito de aceptación de un producto.

Actividades: (Requerimientos, Especificación evaluación, Diseño evaluación, Ejecución evaluación).

·         ISO/IEC 14598-5 Proceso evaluadores: este proceso es utilizado por organizaciones encargadas de evaluar, provee los requisitos y guías para la evaluación del producto software. Promueve las siguientes características de proceso (repetible, Reproducible; Imparcial, Objetivo)

Actividades: (Trazabilidad, Resultados, Problemas, Mejoras, Conclusiones)

·         ISO/IEC 14598-6 Modulo evaluación: Especifica las mediciones que van a ser tomadas sobre los atributos de calidad que se definieron en la etapa anterior, provee las guías para la documentación de la  evaluación. 

Actividades: (Introducción, Alcance, Entradas, Resultados)

ISO-12207

Estándar para los procesos de ciclo de vida del software de la organización, Este estándar se concibió para aquellos interesados en adquisición de software, así como desarrolladores y proveedores. El estándar indica una serie de procesos desde la recopilación de requisitos hasta la culminación del software.

El estándar comprende 17 procesos lo cuales son agrupados en tres categorías:

·         Principales
·         de apoyo
·         de organización

Este estándar agrupa las actividades que se pueden llevar a cabo durante el ciclo de vida del software en cinco procesos principales, ocho procesos de apoyo y cuatro procesos organizativos.

Comentarios

Entradas más populares de este blog

Unidad 1 trimestre 1