Paradigmas y Modelos de Proceso en la Ingeniería de Software

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

Escrito el en español con un tamaño de 4,41 KB

Modelos de Proceso de Desarrollo de Software

A continuación, se describen los principales paradigmas utilizados en la ingeniería de software para la gestión y ejecución de proyectos.

Modelos Convencionales

Modelo en Cascada (Ciclo de Vida Clásico)

Es un enfoque sistemático y lineal hacia el desarrollo del software. Se inicia con la especificación de requerimientos del cliente y continúa con la planeación. Es el paradigma del proceso más antiguo para la ingeniería del software.

Desafíos del Modelo en Cascada:
  1. Es muy raro que los proyectos reales sigan el flujo secuencial estricto.
  2. Con frecuencia, es difícil para el cliente establecer todos los requerimientos de manera anticipada.
  3. El cliente debe tener paciencia, ya que el producto final se entrega al final del ciclo.

Modelo Incremental

Este modelo modifica elementos del modelo en cascada aplicándolos de forma iterativa. Produce incrementos del software de manera frecuente y lineal. Es iterativo por naturaleza y se enfoca en la entrega de un producto operacional con cada incremento.

Modelo de Desarrollo Rápido de Aplicaciones (RAD)

Es un modelo de proceso de software incremental que resalta un ciclo de desarrollo corto. Es una adaptación a alta velocidad del modelo en cascada, logrando un desarrollo rápido mediante un enfoque de construcción basado en componentes.

Desafíos del Modelo RAD:
  1. Requiere una gestión cuidadosa para proyectos grandes, aunque es escalable.
  2. Falla si los desarrolladores y clientes no se comprometen plenamente con las actividades.
  3. No es adecuado si un sistema no se puede modular en forma apropiada.

Modelos Evolutivos

Características de los Modelos Evolutivos

Son iterativos y se caracterizan por permitir que los desarrolladores de software realicen el desarrollo de versiones cada vez más complejas. El propósito principal de estos modelos es desarrollar software de alta calidad de una manera iterativa o incremental.

Desafíos de los Modelos Evolutivos:
  1. Problemas en la planeación del proyecto debido al número incierto de iteraciones.
  2. Dificultad para establecer la velocidad máxima de la evolución.
  3. Requieren que los procesos de software se enfoquen intensamente en la flexibilidad.

Modelo en Espiral

Es un modelo de proceso de software evolutivo que conjuga la naturaleza iterativa de la construcción de prototipos con los aspectos controlados y sistemáticos del modelo en cascada.

Modelos Especializados del Proceso

Adoptan muchas de las características de uno o más de los modelos convencionales presentados.

Proceso Unificado (UP)

El Proceso Unificado es un intento encaminado a reunir los mejores rasgos y características de los modelos de proceso de software, implementando muchos de los mejores principios del desarrollo ágil.

Se distingue por ser un modelo de proceso guiado por casos de uso y basado en una arquitectura céntrica.

Está estructurado por tiempo y componentes del proceso.

Fases del Proceso Unificado:

  1. Inicio
  2. Elaboración
  3. Construcción
  4. Transición

Disciplinas del Proceso Unificado:

  1. Modelo del negocio
  2. Requerimientos
  3. Análisis y Diseño
  4. Implementación
  5. Prueba
  6. Despliegue

Proceso de Software Personal (PSP)

El Modelo del Proceso de Software Personal (PSP) es aquel que está cerca de la gente que realizará el trabajo. Resalta la medición personal del producto de trabajo que se produce y la calidad resultante del mismo.

Cinco Actividades Clave del PSP:

  1. Planeación: Se seleccionan las actividades y requerimientos, sirviendo de base para la estimación.
  2. Diseño de Alto Nivel: Se elaboran las especificaciones externas para que cada uno de los componentes sea construido.
  3. Revisión del Diseño de Alto Nivel: Se aplican métodos formales de verificación para descubrir errores en el diseño.
  4. Desarrollo: El diseño a nivel de componentes se refina y revisa, procediendo a la codificación.
  5. Análisis de Resultados: Se recopilan y evalúan las métricas de tiempo y calidad obtenidas durante el proceso.

Entradas relacionadas: