La calidad del software es una preocupación a la que se dedican muchos esfuerzos. Sin embargo, el software casi nunca es perfecto. Todo proyecto tiene como objetivo producir software de la mejor calidad posible, que cumpla, y si puede supere las expectativas de los usuarios.

Buscar este blog

lunes, 15 de febrero de 2010

Modelo IDEAL

El modelo IDEAL (Modelo para la Mejora Continua de Procesos) es un modelo elaborado por el SEI para guiar el inicio, planificación e implementación de iniciativas de mejora para el proceso de software en las organizaciones.

El modelo IDEAL provee un enfoque disciplinado de ingeniería para la mejora del proceso de software, focaliza en el gerenciamiento del programa de mejoras y establece los fundamentos para una estrategia de largo plazo. El modelo consiste de cinco fases, compuestas por actividades:
Iniciar: su propósito es estableces los fundamentos básicos para garantizar la iniciativa de mejoramiento de procesos.
se aclaran con la gerencia cuales son los objetivos de la empresa u organización que serán beneficiados por el esfuerzo.
El apoyo de la alta dirección y de la gerencia en general es básica para el éxito del programa de mejoramiento. el compromiso de los gestionarios garantiza la disponibilidad de recursos, la infraestructura y la prioritizacion del proyecto de mejoramiento.
Las actividades de esta fase determinan el éxito o el fracaso del programa.

Diagnosticar: evaluar mediante un método formal las fortalezas y debilidades del proceso seguido por los proyectos.

Establecer: realizar la planificación específica de los mejoramientos que se desea alcanzar.
se desarrolla un plan detallado que sirve como plan de proyecto.
se establece las estrategias y las prioridades.

Actuar: implementar el mejoramiento de procesos llevando a cabo el plan de acción. Aquí se introducen o mejoran los procesos, se estrena a los respectivos niveles de personal, se miden los avances/beneficios logrados, se realiza proyectos pilotos, se implantan los procesos mejorados en los proyectos nuevos o existentes, se hacen mini evaluaciones para constatar la evolución del plan.

Difundir: aprender de la experiencia del ciclo recién realizado y aumentar la habilidad de la empresa u organización para mejorar los procesos en forma continua.


Fundamentos de la calidad de Software

¿Qué es calidad?

1. El grado en que un sistema, compone, o proceso se ajusta con los requerimientos especificados.
2. El grado en que un sistema, compone, o proceso se ajusta con las necesidades y/o espectativas del cliente o usuario.
3. La totalidad de características que una entidad soporte en su habilidad de satisfacer estados y necesidades implicadas.


¿Qué es calidad de software?

Calidad engloba todo el proceso, y está determinada por factores directos e indirectos.
Calidad es un concepto complejo y multifacético, que puede describirse desde diversas perspectivas.

Visiones de Calidad

-Visión trascendental: puede ser reconocida pero no definidad
-Visión del usuario: grado de adecuación al propósito. software que satisface las necesidades de los usuarios, se basa en tareas del usuario a veces muy dependiente del contexto. Apoyado por modelos de confiabilidad, modelos de desempeño y laboratorios de usabilidad.
-Visión del productor: conformidad con la especificación
-Visión del producto: ligada a caracteristicas inherentes del mismo. Caracteristicas internas determinan la calidad.
-Visión basada en valor: ¿Cuánto el cliente está dispuesto a pagar?


Verificación y Validación

-Verificación: ¿estamos construyendo el producto correctamente?
-Validación: ¿estamos construyendo el producto correcto?


¿Qué se puede medir?

El proceso del software para mejorarlo
El proyecto del software para ayudar a estimar, control de calidad, evaluación de la productivad, control de proyectos.
Calidad del producto para ayudar en la toma de decisiones tácticas a medida que el proyecto evoluciona.

Métricas de Calidad


Se miden estadísticamente, es decir, cualitativamente, se aplica a todos los aspectos de calidad de software y éstos se miden desde los puntos de vista de análisis, construcción, funcional, documentación, métodos, proceso, usuario. Existen diferentes tipos de métricas, a continuación mencionaremos 3.


  • Métricas técnicas: Se derivan de una relación empírica según las medidas contables del dominio de información del software y evaluaciones de complejidad.

  • Métricas Bang: Ayudan a evaluar el análisis y diseño. Proporcionan las medidas de la complejidad y ayudan a diseñar pruebas mas efectivas.
- Medidas de Análisis: Evaluar los elementos más bajos del análisis que no se pueden dividir más.
- Medidas de especificación: Valoran y modelan los requisitos.
- Medidas de Diseño: Evalúan la complejidad de la estructura, los datos, el sistema.
  • Métricas de puntos de función de Albretch: Valoran la aplicación desde el punto de vista del usuario. Tiene dos etapas:
1. Identifican las funciones disponibles para el usuario: Salidas, Consultas, Entradas, Archivos, Interfaces.
2. Se ajustan de acuerdo con las caracteristicas del entorno.

Tomado de: Métricas

Clasificación de las métricas

  • De complejidad
  • De Calidad:

- Modelo de McCall (1977)

- Modelo de FURPS (1987)

- Modelo de DROMEY (1996)

- Normas ISO 9000

- ISO 9126

- MOSCA (Modelo Sistémico de Calidad)

  • De Competencia
  • De Desempeño
  • Estilizados

Algunas Herramientas de Medición de la Calidad

  • PHP Depend
  • Project Mess Detection

Modelos de Calidad

Un modelo no es una metodología, el modelo dice que hacer y la metodología cómo hacer. Los modelos ayudan a las organizaciones a que se adapten a alguna metodología.

Un modelo de calidad es una herramienta que ayuda a las organizaciones a guiarse en la mejora continua y a la competitividad, proporciona buenas prácticas para el ciclo de vida del software.



Tomado de: Modelos - Metodologías (Iso15504.es)

Tiene como objetivo principal el desarrollo sistemático de bienes, productos y servicios de mayor calidad; y cumplir las expectativas y necesidades de los clientes.

  • Depende de las metodologías que use.
  • Depende de los objetivos de negocio.

Calidad del Proceso

Se puede ver como una colección estructurada de prácticas que describen las características de un proceso efectivo.

Se usa para:

  • Definir las prioridades y objetivos de mejora.
  • Guía para la mejora.
  • Definir un lenguaje común.

Áreas del proceso relacionadas con la gestión de la calidad:

  1. Aseguramiento de la calidad en el proceso y en el producto.
  2. Verificación del proceso.
  3. Validación del proceso.

"El proceso de Software define como se organiza, gestiona, mide, soporta y mejora el desarrollo, independientemente de las técnicas y métodos usados.

(Derniame et al, 1999)"