En esta fase se llevan a cabo las siguientes tareas:
Planificación
Análisis de requisitos (tras reuniones con el cliente/usuarios)
Descripción de las funcionalidades del proyecto
En las metodologías más clásicas suele existir una etapa anterior donde se planifica el desarrollo de todo el proyecto
Diseño
En esta fase se llevan a cabo las siguientes tareas:
Diseño de la base de datos
Modelo Entidad-Relación
Diseño de la aplicación
DFD
UML
Diseño del interfaz gráfico (Prototipo)
Desarrollo
En esta fase se llevan a cabo las siguientes tareas:
Desarrollo de la aplicación utilizando el lenguaje de codificación que se haya decidido y en base a los diseños realizados en la fase anterior
Integración continua: Esta fase guarda relación con la fase de pruebas porque se prueba el código a medida que se desarrolla (y al fin y al cabo esas pruebas hay que implementarlas también, son código)
Pruebas
En esta fase se llevan a cabo las siguientes tareas:
Se realizan las pruebas sobre el código desarrollado en la fase anterior
Actualmente se emplean frameworks como JUnit para llevar a cabo esas pruebas
También se pueden hacer pruebas funcionales (de usuario)
Selenium: Herramienta para la automatización de pruebas sobre el navegador
Integración continua: Capacidad de probar el código a medida que se va desarrollando
Git + Junit + Jenkins + SonarQube
Se podría decir que esta fase tiene lugar al mismo tiempo que la de desarrollo, siempre y cuando se esté trabajando con integración continua.
Implantación
En esta fase se llevan a cabo las siguientes tareas:
Puesta en marcha del proyecto (instalación)
Se preparan los mecanismos que permitirán la puesta en marcha del proyecto
Herramientas:
scripts
instaladores
Metodologías de desarrollo
Modelo en cascada
Se realiza cada etapa por separado y de forma secuencial
Todo está planificado desde el principio
Poco margen de maniobra ante imprevistos (muy rígido)
Modelo iterativo
Se van creando pequeñas partes del proyecto y se van ampliando a medida que avanza el proyecto
Normalmente los incrementos se realizan siguiendo una planificación inicial
Relativo margen de maniobra ante imprevistos
Prototipado
Se realiza un prototipo del proyecto antes de comenzar a desarrollar por completo
Permite comprobar si el prototipo se ajusta a las necesidades del cliente/usuario
Metodologías ágiles
El proyecto se desarrolla poco a poco, de forma iterativa
Se utiliza la retroalimentación como forma de controlar el desarrollo (lo que ocurra durante una iteración puede afectar a la siguiente)