Modelos de Desarrollo y Mejora de Procesos de Software

Enviado por Programa Chuletas y clasificado en Diseño e Ingeniería

Escrito el en español con un tamaño de 8,62 KB

Modelo Cascada Retroalimentado

El Modelo Cascada Retroalimentado es una metodología de desarrollo de software que organiza el proceso en fases secuenciales, permitiendo la retroalimentación entre ellas.

Fases del Modelo Cascada Retroalimentado:

  1. Ingeniería y Análisis del Sistema: Definición de los requisitos generales del sistema.
  2. Análisis de Requerimientos: Especificación detallada de las funcionalidades y restricciones del software.
  3. Diseño: Creación de la arquitectura del software y sus componentes.
  4. Codificación: Implementación del software según el diseño.
  5. Pruebas: Verificación de que el software cumple con los requisitos y funciona correctamente.
  6. Implementación: Despliegue del software en el entorno de producción.
  7. Mantenimiento: Soporte y evolución del software después de su lanzamiento.

Ventajas y Desventajas:

  • Ventajas: Todo está organizado y las fases no se mezclan, ideal para proyectos rígidos con requisitos bien definidos desde el inicio.
  • Desventaja: Los resultados no son visibles hasta el final del ciclo, lo que puede dificultar la adaptación a cambios.

Modelo en Espiral

El Modelo en Espiral es un proceso de desarrollo de software evolutivo que incrementa el grado de definición y disminuye el grado de riesgo en un sistema a través de ciclos iterativos.

Fases del Modelo en Espiral:

  1. Definir Objetivos: Establecimiento de metas para el ciclo actual.
  2. Análisis del Riesgo: Identificación y mitigación de riesgos potenciales.
  3. Desarrollar y Probar: Implementación y verificación de una porción del sistema.
  4. Planificar: Preparación para el siguiente ciclo de la espiral.

Estándar IEEE 12207: Procesos del Ciclo de Vida del Software

El estándar IEEE 12207 define un conjunto de procesos para el ciclo de vida del software, estructurados en categorías principales, de soporte, organizacionales y de adaptación.

Procesos Principales:

  • Proceso de Adquisición: Actividades relacionadas con la obtención de un producto o servicio de software.
  • Proceso de Suministro: Actividades del suministrador para proporcionar un producto o servicio de software.
  • Proceso de Desarrollo: Actividades del desarrollador, incluyendo análisis, diseño y codificación.
  • Proceso de Operación: Explora y soporta el uso del software en su entorno operativo.
  • Proceso de Mantenimiento: Actividades para modificar el software después de su entrega.

Procesos de Soporte:

  • Proceso de Documentación: Gestión de la información que produce un proceso, actividad o personas.
  • Proceso de Gestión de la Configuración del Software: Control de los programas, documentos y datos que componen el software.
  • Proceso de Aseguramiento de Calidad: Garantiza que los procesos y productos cumplen con los requisitos establecidos.
  • Proceso de Verificación: Confirma que los productos cumplen con las especificaciones.
  • Proceso de Validación: Asegura que el software cumple con las necesidades del usuario.
  • Proceso de Revisión Conjunta: Evaluación conjunta del estado de un proyecto.
  • Proceso de Auditoría: Examen independiente para determinar el cumplimiento de los requisitos.
  • Proceso de Resolución de Problemas: Analiza y elimina problemas identificados.

Procesos Organizacionales (Generales):

  • Proceso de Gestión: Incluye planificar, seguir, controlar, revisar y evaluar las actividades del proyecto.
  • Proceso de Infraestructura: Establecimiento y mantenimiento del Hardware y Software necesarios.
  • Proceso de Mejora: Establecer, medir y controlar los procesos para su mejora continua.
  • Proceso de Formación: Asegurar que el personal esté formado adecuadamente.

Procesos de Adaptación:

  • Permite adaptar el estándar a las necesidades específicas de cada proyecto y organización.

CMMI (Capability Maturity Model Integration): Modelos de Madurez de Capacidades Integrados

El CMMI es un modelo que busca asegurar la calidad y el mejoramiento continuo de las organizaciones a través del análisis y rediseño de procesos.

Provee una estructura para:

  • Identificar objetivos.
  • Definir mejores prácticas.
  • Servir como punto de referencia para evaluar.
  • Integrar elementos de una organización.

Existen dos formas de mejorar procesos con CMMI:

1. Mejora Continua (Niveles de Capacidad):

Permite mejorar un área específica de la organización con 6 niveles de capacidad:

  1. Nivel 0: Incompleto: Uno o más objetivos específicos no son satisfechos.
  2. Nivel 1: Realizado: Se cumplen todos los objetivos específicos del área de proceso.
  3. Nivel 2: Manejado: Existe una base para apoyar el proceso, el cual es monitoreado y controlado.
  4. Nivel 3: Definido: El proceso se adapta al conjunto de procesos estándar de la organización.
  5. Nivel 4: Manejado Cuantitativamente: El proceso es controlado con técnicas estadísticas y se establecen objetivos cuantitativos.
  6. Nivel 5: Optimización: Se basa en la mejora continua con innovación tecnológica, buscando las causas comunes que varían un proceso.

2. Mejora Escalonada (Niveles de Madurez):

Una forma estructurada o sistemática de mejorar procesos, por etapas, con 5 niveles de madurez:

  1. Nivel 1: Iniciado: Caracterizado por el caos organizacional y procesos ad-hoc.
  2. Nivel 2: Manejado: Se empieza a ordenar el caos mediante la planificación y el seguimiento.
  3. Nivel 3: Definido: Los procesos están caracterizados, se describen procedimientos y métodos, permitiendo una predicción cualitativa.
  4. Nivel 4: Manejado Cuantitativamente: Se definen objetivos cuantitativos y el control se realiza con técnicas estadísticas, haciendo el proceso predecible.
  5. Nivel 5: Optimizado: Se enfoca en la mejora continua, basándose en el conocimiento de las causas comunes que varían un proceso.

La estructura del CMMI se compone de 22 áreas de proceso agrupadas en 4 categorías principales: Administración de Procesos, Gestión de Proyectos, Soporte e Ingeniería.

CMM (Capability Maturity Model): Modelo de Madurez de la Capacidad

El CMM es un modelo que proporciona a las empresas de software una estructura para controlar sus procesos de desarrollo y mantenimiento, y para fomentar una cultura de ingeniería de software.

Niveles de Madurez del CMM:

Consta de 5 niveles:

  1. Nivel 1: Inicial: Caracterizado por el caos y la falta de procesos definidos.
  2. Nivel 2: Repetible: Se empieza a establecer orden al caos, con procesos básicos repetibles.
  3. Nivel 3: Definido: Los procesos están descritos y estandarizados en toda la organización.
  4. Nivel 4: Gestionado: Los procesos son medidos y controlados cuantitativamente.
  5. Nivel 5: Optimizado: Se enfoca en la mejora continua de los procesos.

Entradas relacionadas: