User Tools

Site Tools


apuntes:proyectos

Ciclo de vida de un proyecto de desarrollo

Fases en el desarrollo de un proyecto

Figure 1: Fases del desarrollo de un proyecto de software

Análisis

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)
  • Margen total de mejora frente a imprevistos

© 2020-2021 Santiago Faci

apuntes/proyectos.txt · Last modified: 2021/02/15 08:57 by Santiago Faci