Please enable JavaScript.
Coggle requires JavaScript to display documents.
Metodologías de desarrollo de Software - Coggle Diagram
Metodologías de desarrollo de Software
Metodologías de desarrollo de Software
Maida y Pacienzia (2015), indican que una metodología hace referencia a un conjunto de procedimientos genéricos y lógicos que se utilizan para alcanzar un objetivo particular usando un conjunto de habilidades y conocimientos.
Las metodologías de desarrollo de software siempre parten de un componente teórico y cuando son usadas por los equipos de trabajo conllevan a la utilización de un conjunto de técnicas y métodos que al final determinarán las tareas generales y específicas que se deberían realizar para alcanzar un objetivo.
Existen diferentes tipos de metodologías de desarrollo de software
cada una de estas tiene ventajas y enfoques que pueden ser reutilizados en diferentes momentos.
Existen dos grandes clasificaciones de metodologías
marcos de trabajo tradicionales
marcos de trabajo ágiles
Marco de trabajo tradicionales
Los marcos de trabajo tradicionales o metodologías tradicionales se caracterizan por centrar la mayor parte de su esfuerzo en la planeación y control del proceso, lo que conlleva a una documentación exhaustiva y precisa de los artefactos que describen los requisitos y los modelos del sistema en las etapas iniciales del desarrollo del proyecto (Maida y Pacienzia, 2015).
Lo anterior supone que este tipo de enfoques son óptimos en proyectos en los cuales los requisitos están plenamente identificados y delimitados, donde no se producirá ningún cambio en lo establecido mientras el proyecto es finalizado.
algunas metodologías que se enmarcan en los marcos tradicionales de desarrollo de software:
Cascada
Este es uno de los modelos genéricos más ampliamente conocido en la ingeniería de software y se deriva de procesos de ingeniería de sistemas más generales
Este modelo plantea un proceso lineal donde las actividades de desarrollo de un producto o servicios de software se agrupan en un conjunto de fases sucesivas donde estas son desarrolladas una única vez y los resultados de cada fase son la entrada requerida para cada fase subsiguiente, ninguna fase puede iniciar si la fase anterior no ha sido finalizada generalmente mediante un formalismo que puede ser un documento.
el modelo en cascada se compone de cinco (5) etapas principales
Implementación
2 more items...
Análisis
2 more items...
Diseño
2 more items...
Verificación
3 more items...
Funcionamiento y Mantenimiento
3 more items...
Ventajas y Desventajas
La definición clara de fases permite el desarrollo de una estructura sencilla que es ideal para proyectos sencillos y cortos
3 more items...
El modelo en cascada define cuatro grupos de roles típicos los cuales se mencionan a continuación:
Desarrolladores
1 more item...
Testers
1 more item...
Analista del negocio
1 more item...
Administrador del proyecto
1 more item...
Proceso Racional Unificado - RUP
RUP es una sigla en inglés equivalentes a Proceso Racional Unificado
es un proceso de desarrollo de software tradicional basado en el modelo cascada
esta metodología se centra en la arquitectura y es guía por casos de uso (requerimientos)
RUP divide el proceso de desarrollo en cuatro grandes fases
4 more items...
https://www.youtube.com/watch?v=i8CPD1dW88k
Marco de trabajo ágiles
nacen como otra opción para abordar proyectos donde no es posible tener un detalle completo de los requerimientos y sus estimaciones en la primera fase del proyecto o donde es necesario hacer procesos de adaptabilidad a lo largo del proceso de desarrollo de software.
proveen un conjunto de pautas y principios que buscan facilitar y priorizar la entrega de producto sobre procesos de documentación exhaustiva
El inicio de las metodologías ágiles nació en el año 2001 a partir del manifiesto ágil de software donde se establecen cuatro valores fundamentales (Manifiesto Ágil, 2001):
Individuos e interacciones sobre procesos y herramientas.
Software funcionando sobre documentación extensiva.
Colaboración con el cliente sobre negociación contractual.
Respuesta ante el cambio sobre seguir un plan.
Adicionalmente a los valores ágiles, el manifiesto ágil establece 12 principios ágiles para materializar los valores definidos (Manifiesto Ágil, 2001):
1
“Nuestra principal prioridad es satisfacer al cliente a través de la entrega temprana y continua de software de valor.
2
Son bienvenidos los requisitos cambiantes, incluso si llegan tarde al desarrollo. Los procesos ágiles se doblegan al cambio como ventaja competitiva para el cliente.
3
Entregar con frecuencia software que funcione, en periodos de un par de semanas hasta un par de meses, con preferencia en los períodos breves.
4
Las personas del negocio y los desarrolladores deben trabajar juntos de forma cotidiana a través del proyecto.
5
Construcción de proyectos en torno a individuos motivados, dándoles la oportunidad y el respaldo que necesitan y procurándoles confianza para que realicen la tarea.
6
La forma más eficiente y efectiva de comunicar información de ida y vuelta dentro de un equipo de desarrollo es mediante la conversación cara a cara.
7
El software que funciona es la principal medida del progreso.
8
Los procesos ágiles promueven el desarrollo sostenido. Los patrocinadores, desarrolladores y usuarios deben mantener un ritmo constante de forma indefinida.
9
La atención continua a la excelencia técnica enaltece la agilidad.
10
La simplicidad como arte de maximizar la cantidad de trabajo que se hace, es esencial.
11
Las mejores arquitecturas, requisitos y diseños emergen de equipos que se auto organizan.
12
En intervalos regulares, el equipo reflexiona sobre la forma de ser más efectivo y ajusta su conducta en consecuencia”.
https://www.youtube.com/watch?v=fHKsufzM7qQ
Metodologías ágiles
Programación Extrema - XP
XP es la abreviación comúnmente utilizada para referirse a Extreme Programming, que es un marco de desarrollo de software ágil que busca producir software de alta calidad en contextos con requisitos altamente cambiantes, riesgos que involucran tiempos fijo con tecnologías nuevas y equipos de trabajo pequeños ubicados en un mismo sitio.
Desarrollo rápido de aplicaciones - RAD
RAD (Desarrollo Rápido de Aplicaciones) es otra metodología de desarrollo de software ágil que se centra en el desarrollo rápido de aplicaciones mediante la realización de iteraciones frecuentes y realimentación constante y fue inventado por James Martin en 1991.
las fases propuestas en RAD:
La primera fase definida corresponde a la definición y finalización de los requisitos del proyecto. En esta fase las partes interesadas se reúnen para definir los requisitos del proyecto definiendo entre otros casos:
Los objetivos.
Las expectativas.
Los plazos.
Presupuesto del proyecto.
La segunda fase aborda la construcción de prototipos los cuales son construidos, validados y mejorados a partir de la validación con los usuarios
En la tercera fase, los prototipos aprobados son transformados en modelos funcionales.
En la cuarta fase se enfoca en la realización de pruebas exhaustivas para garantizar que todos los elementos construidos funcionan bien individualmente y también de forma colectiva.
En la quinta y última fase, se realizan todas las actividades de lanzamiento del producto lo que involucra el cargue inicial de datos y entrenamiento a los usuarios.
Scrum
https://www.youtube.com/watch?v=HhC75IonpOU
Planeación de proyecto de Software
La planificación de proyectos de software involucra un conjunto de actividades que buscan tener una imagen preliminar del software a construir a partir de la cual se realizan estimaciones que permiten determinar la viabilidad o no de un proyecto de acuerdo con la cantidad de recursos asignados.
https://www.youtube.com/watch?v=w86E_jHn3qY