Modelos de Desarrollo de Software: Enfoques Clave para la Ingeniería de Proyectos
El Modelo en Cascada (Waterfall)
El modelo en Cascada es una metodología de desarrollo de software secuencial y lineal, donde cada fase debe completarse antes de que la siguiente pueda comenzar. Sus etapas fundamentales son:
- Ingeniería de Software
- Análisis
- Diseño
- Codificación
- Prueba
Paradigma de Construcción de Prototipos (Circular)
El paradigma de construcción de prototipos es un enfoque iterativo que permite la creación rápida de un modelo funcional del sistema para obtener retroalimentación temprana del cliente. Se caracteriza por su naturaleza circular:
Recolección y Refinamiento de Requisitos
Es reunir los datos para formular una idea, pero sintetizando los datos.
Diseño Rápido
Cuando ya están reunidos los datos a utilizar, procederemos a plasmar la idea en un modelo para saber el posible resultado final.
Construcción del Prototipo
Es realizar lo que tomamos como diseño rápido para crear nuestro borrador final que mostraremos al cliente.
Evaluación del Prototipo por el Cliente
Es mostrar al cliente el prototipo para que este determine si las funciones que el prototipo realiza son las que él necesita, es decir, aprobará o desaprobará el prototipo.
Refinamiento del Prototipo
De acuerdo con la evaluación del cliente y para hacer un prototipo más eficaz, se procede a extraer todos los elementos más necesarios, contemplando que las funciones que realiza el software sean las indicadas. En este paso, podrían encontrarse ciertas inconsistencias en el prototipo, por lo que tendríamos que volver a pasar por el diseño rápido, la construcción del prototipo y la evaluación del prototipo por el cliente hasta regresar a este paso y finalmente pasar al siguiente.
Producto de Ingeniería
Es el prototipo final realizado según las expectativas y necesidades del cliente.
Paradigma en Espiral
El paradigma en Espiral es un modelo de desarrollo de software iterativo e incremental que enfatiza la gestión de riesgos. Combina elementos del modelo en cascada y del modelo de prototipos, organizando el proceso en una serie de ciclos o "espirales".
Recolección de Requisitos y Planificación de Proyecto Inicial
Comenzaremos a recolectar los datos de información que nos sea necesaria para comenzar el software.
Análisis de Riesgos Basados en los Requisitos Iniciales
Una vez elegidos los datos a utilizar, empezaremos a realizar un análisis acerca de las acciones que el software podría realizar, de los datos que podríamos usar o no, e incluso podríamos deducir si el software podría realizarse, con qué eficacia lleva las acciones y si cumple con los requisitos iniciales y peticiones del cliente.
Prototipo Inicial de Software
En esta etapa, comenzaremos a plasmar la idea principal del software realizando un pequeño diseño (borrador) que después será probado por el cliente.
Evaluación del Cliente
Consiste en la aprobación o desaprobación de parte del cliente hacia el prototipo inicial. El cliente puede ir comprobando si este prototipo está cumpliendo con las acciones requeridas y si le será útil.
Planificación Basada en los Comentarios del Cliente
Para comenzar a llevar la realización del software, es necesario tomar en cuenta las necesidades del cliente.
Análisis Basado en la Reacción del Cliente
En esta etapa, el cliente podrá ir decidiendo las características del software, pero fijándose en que este realmente está siendo útil y que podrá fácilmente adaptarse a él.
Prototipo del Siguiente Nivel
Si el cliente ha decidido que el software le va a ser de utilidad y que realizará las actividades con eficiencia, ahora construiremos el prototipo siguiente, solo que este prototipo tendrá nuevas herramientas y actualizaciones basadas en los comentarios y el análisis del cliente.
Evaluación del Cliente (Iteración)
El cliente volverá a evaluar el nuevo prototipo considerando las actualizaciones nuevas y el resultado que estas presentaron. Se harán nuevas observaciones.
Planificación Basada en los Comentarios del Cliente (Iteración)
Nuevamente, si el cliente aprobó el prototipo, pasaremos a atender las necesidades del cliente basándonos en las nuevas observaciones.
Análisis Basado en la Reacción del Cliente (Iteración)
Analizaremos cómo va el funcionamiento de nuestro posible software tomando en cuenta la reacción del cliente: si se siente cómodo, si realmente lo necesita y se adaptará a él.