Mtro. Fernando Arciniega

Apoyame con un clic en los anuncios, me ayudas a seguir generando contenido de calidad. ¡Gracias por tu apoyo!

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages

Normas y Estándares de calidad para el desarrollo de Software

Normas y Estándares de calidad para el desarrollo de Software
Print Friendly, PDF & Email

Normas y Estándares de calidad para el desarrollo de Software

Introducción

Los estándares de calidad de software hacen parte de la ingeniería de software, utilización de estándares y metodologías para el diseño, programación, prueba y análisis del software desarrollado, con el objetivo de ofrecer una mayor confiabilidad, mantenibilidad en concordancia con los requisitos exigidos, con esto se eleva la productividad y el control en la calidad de software, parte de la gestión de la calidad se establecen a mejorar su eficacia y eficiencia.

En un escenario en el que los sistemas de software se desarrollan y construyen por terceros proveedores, el contratante del servicio, como primer receptor del mismo, en muchos casos debe confiar en el buen hacer del proveedor seleccionado, especialmente si nos dispone de los medios apropiados para auditar la entrega y en su caso argumentar defectos en el proceso de desarrollo.

En general, una vez validado que el sistema responde a los principales requisitos funcionales especificados, el usuario realizará las pruebas de aceptación, corrigiendo los errores encontrados y tas pasándose al fin del entorno de producción. Sin embargo, en muy pocas ocasiones se validan de manera rigurosa los requisitos funcionales y los no funcionales, o se ejecutan validaciones que aseguren que el sistema es lo suficientemente robusto y estable como para pasar a un entorno productivo con las garantías adecuadas.

También te puede interesar:

NORMAS ISO/IEC

ISO 12207 – Modelos de Ciclos de Vida del Software.

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

Norma ISO/IEC 9126
La norma ISO/IEC 9126 de 1991, es la norma para evaluar los productos de software, esta norma nos indica las características de la calidad y los lineamientos para su uso, las características de calidad y sus métricas asociadas, pueden ser útiles tanto como para evaluar el producto como para definir los requerimientos de la calidad y otros usos. Esta norma definida por un marco conceptual basado en los factores tales como Calidad del Proceso, Calidad del Producto del Software y Calidad en Uso; según el marco conceptual, la calidad del producto, a su vez, contribuye a mejorar la calidad en uso.

La norma ISO/IEC 9126 define la calidad en uso como la perspectiva del usuario de la calidad del producto software cuando éste es usado en un ambiente específico y un contexto de uso específico. Éste mide la extensión para la cual los usuarios pueden conseguir sus metas en un ambiente particular, en vez de medir las propiedades del software en sí mismo.

El modelo de la calidad en uso muestra un conjunto de 4 características: efectividad, productividad, integridad, y satisfacción.

Estándar ISO/IEC 14598

El estándar ISO/IEC 14598 es actualmente usado como base metodológica para la evaluación del producto software. En sus diferentes etapas, establece un marco de trabajo para evaluar la calidad de los productos de software proporcionando, además, métricas y requisitos para los procesos de evaluación de los mismos.

La norma define las principales características del proceso de evaluación

  • Repetitividad.
  • Reproducibilidad.
  • Imparcialidad.
  • Objetividad.

Para estas características se describen las medidas concretas que participan:

  • Análisis de los requisitos de evaluación.
  • Evaluación de las especificaciones.
  • Evaluación del diseño y definición del plan de evaluación.
  • Ejecución del plan de evaluación.
  • Evaluación de la conclusión.

El estándar ISO/IEC 14598 define el proceso para evaluar un producto de
software, el mismo consta de seis partes:

  • ISO/IEC 14598-1 Visión General: provee una visión general de las otras cinco partes y explica la relación entre la evaluación del producto software y el modelo de calidad definido en la ISO/IEC 9126.
  • ISO/IEC 14598-2 Planeamiento 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.

     

  • ISO/IEC 14598-3 Proceso para desenvolvedores: provee los requisitos y guías para la evaluación del producto software cuando la evaluación es llevada a cabo en paralelo con el desarrollo por parte del desarrollador.

     

  • ISO/IEC 14598-4 Proceso para adquirentes: provee los requisitos y guías para que la evaluación del producto software sea llevada a cabo en función a los compradores que planean adquirir o reutilizar un producto de software existente o pre-desarrollado.

     

  • ISO/IEC 14598-5 Proceso para avaladores: provee los requisitos y guías para la evaluación del producto software cuando la evaluación es llevada a cabo por evaluadores independientes.

     

  • ISO/IEC 14598-6 Documentación de Módulos: provee las guías para la documentación del módulo de evaluación.

Norma ISO/IEC 25000 (SquaRE)

ISO 25000:2005 (SQuaRE -Software Quality Requirements and Evaluation) es una nueva serie de normas que se basa en ISO 9126 y en ISO 14598 (Evaluación del software). Uno de los principales objetivos de la serie SQuaRE es la coordinación y armonización del contenido de ISO 9126 y de ISO 15939:2002 (Measurement Information Model).

ISO 15939 tiene un modelo de información que ayuda a determinar que se debe especificar durante la planificación, performance y evaluación de la medición. Para su aplicación, cuenta con los siguientes pasos: Recopilar los datos, Preparación de los datos y Análisis de los datos.

SQuaRE está formada por las divisiones siguientes:

  • ISO/IEC 2500n. División de gestión de calidad. Los estándares que forman 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. El estándar que conforma esta división 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. Los estándares pertenecientes a esta división incluyen 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.
  • ISO/IEC 2503n. División de requisitos de calidad. Los estándares que forman parte de esta división ayudan 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. Estos estándares proporcionan 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.

SPICE

Es un estándar importante iniciativa internacional para apoyar el desarrollo de una Norma Internacional para la Evaluación de Procesos de Software. El proyecto tiene tres objetivos principales: Para desarrollar un proyecto de trabajo para un estándar para la evaluación de procesos de software. Para llevar a cabo los ensayos de la industria de la norma emergente. Para promover la transferencia de tecnología de la evaluación de procesos de software en la industria mundial del software a nivel mundial.

El estándar SPICE creciente en número de métodos de evaluación disponibles, y la creciente utilización de la técnica comercial en áreas sensibles, fueron los factores clave que impulsaron el desarrollo y la aceptación de una propuesta para desarrollar un estándar internacional para la evaluación de procesos de software.

Una Norma Internacional sobre Evaluación de Procesos de Software ofrecerá los siguientes beneficios a la industria y los usuarios del software:Beneficios para la Industria del Software Los proveedores de software se someterá a un solo esquema de proceso de evaluación. Las organizaciones de desarrollo de software tendrán una herramienta para iniciar y sostener un proceso continuo de mejora. Los directores de programas tendrán un medio para garantizar que su desarrollo de software está en consonancia y apoya, las necesidades comerciales de la organización.

CMMI

Es un modelo de mejora de los procesos de construcción de software que provee los elementos necesarios para determinar su efectividad. Este modelo puede ser utilizado como guía para mejorar las actividades de un proyecto, área u organización, ya que proporciona un marco de referencia para evaluar la efectividad de los procesos actuales, facilitando con ello la definición de actividades, prioridades y metas para garantizar la mejora continua. Es el estándar más conocido para la mejora de procesos en mejora de procesos para el desarrollo de proyectos, gestión de proveedores y gestión de servicio.

El CMMI establece cinco niveles de madurez los cuales son: Nivel 0: Incompleto El proceso no se realiza, o no se consiguen los objetivos.

Nivel 1
Inicial o ejecutando: Este es el nivel en donde todas las empresas que no tienen procesos, es donde el proceso se ejecuta y se logra su objetivo, así sea fuera de presupuesto y de cronograma.

Nivel 2 Repetible: Se da cuando el éxito de los resultados obtenidos se puede repetir.

Nivel 3
Definido: Significa que la forma de desarrollar proyectos está definida, establecida, documentada y que existen métricas.

Nivel 4 Administrado: Los proyectos usan objetivos medibles y cuantificables para alcanzar cubrir las necesidades de los clientes y la organización. Es decir, se usan métricas para gestionar la organización.

Nivel 5 Optimizado: Los procesos de los proyectos y de la organización están orientados a la mejora de las actividades, que mediante métricas son identificadas, evaluadas y puestas en práctica.

IEEE (Institute of Electrical and Electronics Engineers)

Es un método de establecimiento y mejora del trabajo en equipo para procesos software, una asociación técnico-profesional mundial dedicada a la estandarización, entre otras cosas. Su creación se remonta al año 1884, contando entre sus fundadores a personalidades de la talla de Thomas Alva Edison, Alexander GrahamBell y Franklin Leonard Pope. En 1963 adoptó el nombre de IEEE al fusionarse asociaciones como el AIEE (American Institute of ElectricalEngineers) y el IRE (Institute of Radio Engineers).

Según el mismo IEEE, su trabajo es promover la creatividad, el desarrollo y la integración, compartir y aplicar los avances en las tecnologías de la información, electrónica y ciencias en general para beneficio de la humanidad y de los mismos profesionales. Algunos de sus estándares son:

  • VHDL
  • POSIX
  • IEEE 1394
  • IEEE 488
  • IEEE 802
  • IEEE 802.11
  • IEEE 754

Mediante sus actividades de publicación técnica, conferencias y estándares basados en consenso, el IEEE produce más del 30% de la literatura publicada en el mundo sobre ingeniería eléctrica, en computación, telecomunicaciones y tecnología de control, organiza más de 1000 conferencias al año en todo el mundo, y posee cerca de 900 estándares activos, con otros 700 más bajo desarrollo.

PSP

El proceso personal del software es un método de autoconocimiento, que permite estimar cuánto se tarda un individuo en realizar una aplicación de software, para así calcular el presupuesto y asegurar la operatividad de los desarrollos. PSP se concentra en las prácticas de trabajo de los ingenieros en una forma individual.

El PSP se caracteriza porque es de uso personal y se aplica a programas pequeños de menos de 10.000 líneas de código. El PSP sirve para producir software de calidad, donde cada ingeniero debe trabajar en la necesidad de realizar trabajo de calidad.

TSP

Team Software Process es un método de establecimiento y mejora del trabajo en equipo para procesos de software. Es un proceso para equipos de software, a través del cual se contribuye equipos de alto rendimiento, capaces de comprometerse con el plan y administración del desarrollo de software, así como de producir productos de calidad y a bajo costo, logrando el mejor desempeño posible.

Moprosoft

Es una norma mexicana, basada en procesos para las industrias de software, la cual sirve para estandarizar operaciones y prácticas en gestión de ingeniería de software, para así elevar la capacidad de las organizaciones de ofrecer servicios con calidad y alcanzar niveles internacionales de competitividad. Está enfocado a las Pymes de la Industria de Software en México. Está dirigido a las empresas o áreas internas dedicadas al desarrollo y/o mantenimiento de software.

Cuadro comparativo

Estándares y Normas

Organismo que regula

Aplicable a

CMMI (SEI) Software Engineering Institute

Mejora de procesos de construcción de software y proyectos de TI.

PSP ISO

Permite estimar cuánto se tarda un individuo en realizar una aplicación de software

PSP-TSP ISO

Predice el tiempo y tamaño del software Administración de calidad

ISO 25000 ISO

Establecen un modelo de calidad para el producto del software, además de definir la evaluación de la calidad del producto.

IEEE IEEE

Serie de documentación para el desarrollo de software y proyectos de TI

TSP Team Software Process

Es un método de establecimiento y mejora del trabajo en equipo para procesos de software

SPICE Programa de simulación con énfasis en circuitos integrados

Es una importante iniciativa internacional para apoyar el desarrollo de una Norma Internacional para la Evaluación de procesos del software

MOPROSOFT ISO

Norma mexicana, basada en procesos para las industrias de software, la cual sirve para estandarizar operaciones y prácticas en gestión de ingeniería de software

Conclusiones

Gracias a las normas y estándares aplicados a proyectos TI y  de calidad para el desarrollo de software hoy en día se nos puede facilitar la realización de los proyectos ya que con las normas podemos seguir ciertos pasos para que los proyectos sean más eficientes y más fáciles de realizarlos paso a paso y los estándares nos especifican que el desarrollo de un proyecto debe ser de calidad, el cual debe satisfacer las necesidades del cliente o de la empresa a la que se le esté desarrollando dicho software.

También gracias a los importantes estándares como el proceso de software personal es de gran ayuda para los ingenieros involucrados en el proyecto ya que les permite mejorar la forma en que trabajan y controlar los tiempos mediante formatos de tiempo para cada una de las actividades y que el software desarrollado sea de calidad. Por otra parte, el CMMI nos ayuda a mejorar los procesos de construcción de software y de proyectos de TI, el estándar IEEE nos brinda una serie de documentación el desarrollo de software y proyectos de TI Y el TSP se enfoca más en la mejora de trabajo en equipo para los procesos de software.

Por último la aplicación de una norma o estándar los podemos aplicar en nuestros proyectos de acuerdo a la necesidades de dicho proyecto.

Bibliografía adicional

http://evaluaciondesoftware2013.blogspot.mx/

11 comentarios

  1. Hola, hace poco buscaba información sobre programación en C++ y di con tu blog, tienes muy buen contenido, seguiré pendiente de tu blog.
    Saludos

  2. muchas gracias por el aporte , me ha ayudado a ver desde otra perspectiva de la calidad en el desarrollo del software , Dios lo bendiga

  3. Gracias a esta información de las normas y estándares ya podemos aplicar en nuestros proyectos de acuerdo a las necesidades del mismo

Responder a MAck sukenberg Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.