Entornos de desarrollo

1º DAM/DAW - Curso 2024-2025

User Tools

Site Tools


apuntes:proyectos

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
apuntes:proyectos [2020/07/17 07:32] – created Santiago Faciapuntes:proyectos [2021/02/15 08:57] (current) Santiago Faci
Line 1: Line 1:
-===== Ciclo de vida de un proyecto de desarrollo =====+====== Ciclo de vida de un proyecto de desarrollo =====
 + 
 +===== Fases en el desarrollo de un proyecto ===== 
 + 
 +<figure> 
 +{{ cascada.png }} 
 +<caption>Fases del desarrollo de un proyecto de software</caption> 
 +</figure> 
 + 
 +==== 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 
 + 
 +---- 
 + 
 +(c) 2020-2021 Santiago Faci
apuntes/proyectos.1594971163.txt.gz · Last modified: 2020/07/17 07:32 by Santiago Faci