1. INF-162
MODELOS DE DESARROLLO DE
SOFTWARE
Integrantes
Erick Rodrigo Quispe Ticona
Flores Fernandez Victor Alan
Laure Zelaya Aracely Leonor
Leonel Vijay Beltran Montes
César Alejandro Mendoza Calle
Dana Lucía Verástegui Oblitas
Jose Leonel Soliz Tindal
2. Definición
de modelos de software
● Los modelos de software son como dibujos o
diagramas que nos ayudan a entender y
planificar cómo hacer programas de
computadora.
● Son muy importantes cuando trabajamos en
proyectos tecnológicos porque nos ayudan a
hacer las cosas de manera organizada y de
mejor calidad.
● Nos permiten comunicarnos mejor en el equipo
y con las personas interesadas en el proyecto.
En resumen, son como mapas que nos guían para que
todo salga bien en nuestros proyectos
3. Modelo de tipo Secuencial
El modelo de tipo secuencial también
denominado “cascada”, se encarga de supervisar
que las diversas actividades y fases del proyecto
se realicen de manera lineal.
Estos cuentan con el siguiente enfoque:
● Requisitos.- Se documentan los requisitos del
sistema. Los clientes especifican sus necesidades.
● Diseño.- Se crea un diseño del sistema, incluyendo
la posible arquitectura o aspectos técnicos.
● Implementación.- Se escribe el código fuente.
● Pruebas.- Se realizan pruebas exhaustivas para
identificar, posibles errores(bugs)
● Entrega.- Una vez tenemos certeza de su calidad
se entrega al cliente para su uso.
● Mantenimiento.- Se realiza mantenimiento
continuo del software para corregir errores o
agregar características.
Para explicar con mayor detalle,
recurriremos a 3 tipos de modelo
secuencial:
● Modelo Secuencial de
Procesamiento de Datos.
● Modelo Secuencial en Redes
Neuronales Convolucionales
(CNN)
● Modelo Secuencial de Redes
Neuronales Recurrentes (RNN)
Los ya mencionados dependen mucho
del trabajo en equipo y el tiempo
empleado entre sus desarrolladores.
4. Modelo de Tipo Secuencial
Para explicar el Modelo Secuencial de Procesamiento
de Datos, debemos partir por un poco de historia:
● 1950: Las diferentes empresas necesitan un
enfoque estructurado para gestionar
procesamiento de datos.
● 1960: A finales de los 60’s surge el Modelo
Cascada a cargo del Ing. Winston Royce
● 1970-1980: El modelo cascada se convierte en
el modelo indiscutible de desarrollo de software.
● 1990: Comienza la decadencia del modelo
cascada debido a la globalización.
● 2000 en adelante: Si bien el Modelo Cascada
solo se utiliza en proyecto con requisitos
estables, fue dejado atrás por los modelos ágiles,
iterativos, e incrementales.
Actualmente se emplea en el Machine Learning.
● Secuencialidad: Implica que las
operaciones de procesamiento de
datos se llevan a cabo en un
orden secuencial.
● Flujo de trabajo definido: Los
datos se procesan de acuerdo con
ciertas reglas o algoritmos.
● Dependencia de las etapas: Cada
etapa en el proceso depende de
los resultados de la etapa anterior.
● Resultados intermedios: A
medida que los datos avanzan a
través de las etapas, pueden
generarse resultados intermedios
o transformaciones en los datos.
5. Modelos de tipo Evolutivo
Un modelo evolutivo es un enfoque que se centra
en el desarrollo y entrega de versiones
incrementales, donde cada una de ellas incluye
nuevas funcionalidades o mejoras hasta que pueda
convertirse en el producto final. Todo a través de
iteraciones y mejoras continuas.
Características del modelo de evolutivo son:
● Cambios y Adaptación
● Desarrollo Incremental y Continuo
● Foco en el cliente
● Prototipado
● Reutilización de componentes
Las etapas de los modelos evolutivos son:
1. Planificación Inicial
2. Diseño y Desarrollo
3. Entrega y Evaluación
4. Ciclos Iterativos Sucesivos
5. Implementación y Mantenimiento
6. Modelo en Espiral
Modelo de
Prototipo
Modelo de Desarrollo
Incremental
Modelos de tipo Evolutivo
El modelo de prototipos
se basa en la idea de
centra en la creación de
prototipos rápidos y
simplificados del sistema
que pueden ayudar a los
desarrolladores de
software a obtener
comentarios del cliente y
reducir el riesgo de
fracaso del proyecto.
El modelo de desarrollo
incremental se centra en
construir un sistema en
pequeñas partes funcionales
que se desarrollan de manera
independiente para luego
integrarse como un único
sistema. Cada incremento
agrega nuevas
características y/o mejoras.
El modelo espiral
combina elementos de
la iteración y gestión de
riesgos, porque se
centra en los posibles
factores que pueden
causar incertidumbres
para el software o para
todo el proyecto. Las
etapas se realizan varias
veces en forma de
espiral.
8. Modelo XP - eXtreme Programming
La programación extrema XP se
centra en la velocidad y la simplicidad
con ciclos de desarrollo corto y con
menos documentación. XP tiene como
base cinco valores: Simplicidad,
Comunicación, Retroalimentación,
Respeto y Coraje.
Estos valores a su vez son la base
para la definición de sus principios.
Los fundamentales son: la
retroalimentación rápida, asumir
simplicidad, el cambio incremental, la
aceptación del cambio y el trabajo de
calidad.
El ciclo de vida ideal de XP consiste de seis
fases:
● Exploración
● Planificación de la Entrega (Release)
● Iteraciones
● Producción
● Mantenimiento
● Muerte del Proyecto
Los roles en este modelo son:
● Programador
● Cliente
● Encargado de pruebas (Tester)
● Encargado de seguimiento (Tracker)
● Entrenador (Coach)
● Consultor
● Gestor (Big boss)
Modelo Ágil
9. Modelo Scrum
Permite abordar proyectos complejos
desarrollados en entornos dinámicos y
cambiantes de un modo flexible. Está
basada en entregas parciales y regulares
del producto final en base al valor que
ofrecen a los clientes. En otras palabras,
el modelo Scrum sirve para mejorar el
trabajo colaborativo.
Es una opción de gestión ideal para
acometer proyectos desarrollados en
entornos complejos que exigen rapidez en
los resultados y en los que la flexibilidad
es un requisito imprescindible.
Los eventos de Scrum facilita la
adaptación de alguno de los aspectos
del proceso, el producto, el progreso o
las relaciones.
● Sprint
● Planificación del Sprint
● Scrum Diario
● Revisión del sprint
● Retrospectiva del sprint
Este método no sería posible sin el
concepto de “equipo de trabajo”:
● El Product Owner
● El Scrum Master
● El Scrum Team
Modelo Ágil
10. La elección de cualquier modelo depende de las
necesidades específicas del proyecto y las preferencias
del equipo y el cliente. Cada enfoque tiene sus ventajas y
desafíos, y a menudo se pueden combinar elementos de
varios modelos según sea necesario.
● Requisitos del proyecto
● Tamaño y complejidad del proyecto
● Plazo de entrega
● Flexibilidad ante cambios
● Riesgos del proyecto
● Recursos Disponibles
● Regulaciones y Normativas
● Costos y Presupuesto
Factores a considerar al elegir un modelo
Comparativas de los tres modelos