Presentación Grupo 3 - "Modelos de proceso de Software"
Materia: Análisis y diseño de sistemas de información - INF 162
Lic: Aldo Valdez
Universidad mayor de San Andrés
1. MODELOS DEL
PROCESO DE
SOFTWARE
UNIVERSITARIOS:
CALCINA SHARON ALEJANDRA
CALLICONDE CARRASCO CARMELA SANDRA
CHOQUE CALLIZAYA JORGE LUIS
LAURA MAMANI JUAN GUILLERMO
MAMANI CHAVEZ CARLA VANESA
PEREZ URIA NAIN ADALID
RAMOS RUIZ ROGER GABRIEL
2. MODELOS DE PROCESO DE SOFTWARE
DEFINICIÓN
El proceso de software es un marco de trabajo de
las tareas que se requieren para construir
software de alta calidad, una descripción
simplificada del software.
TIPOS
★ Modelos Secuenciales
★ Modelos Evolutivos
★ Modelos Ágiles
MODELOS SECUENCIALES
Busca reducir el riesgo que surge entre las
necesidades del usuario y el producto final.
TIPOS
❏ MODELO DRA
❏ MODELO DE CASCADA
❏ MODELO POR ETAPAS
3. MODELO DRA (DESARROLLO
RÁPIDO DE APLICACIONES)
DESVENTAJAS
❏ Requiere recursos humanos suficientes como para crear el
número correcto de equipos DRA.
❏ No todos los tipos de aplicaciones son apropiados para DRA.
❏ No es adecuado cuando los riesgos técnicos son altos.
❏ Enfatiza el desarrollo de componentes de programas
reutilizables.
VENTAJAS
❏ Es muy rápido.
❏ Permite trabajar en él a varias
personas a la vez.
Permite al equipo de desarrollo crear un
“sistema completamente funcional” dentro
de períodos cortos de tiempo.
CARACTERÍSTICAS DEL MODELO SECUENCIAL
❏ La Iteración es una secuencia de actividades, se
organiza con el propósito de entregar parte de la
funcionalidad del producto.
❏ Los objetivos de una iteración se establecen en función
de la evaluación de las iteraciones precedentes
❏ El cliente es quien luego de cada iteración evalúa el
producto y lo corrige propone mejoras.
❏ Al modelo secuencial no se le agrega funcionalidad,
sino que en cada etapa se mejora su funcionalidad.
4. Es el enfoque metodológico que ordena
rigurosamente las etapas del proceso para el
desarrollo de software, de tal forma que el
inicio de cada etapa debe esperar a la
finalización de la etapa anterior.
MODELO DE CASCADA VENTAJAS
❏ Realiza un buen funcionamiento en equipos
débiles y productos maduros, por lo que se
requiere de menos capital y herramientas para
hacerlo funcionar de manera óptima.
❏ Fácil de implementar y entender.
❏ Orientado a documentos.
❏ Promueve una metodología de trabajo efectiva
DESVENTAJAS
❏ El proceso de creación del software tarda
mucho tiempo.
❏ Cualquier error de diseño detectado en la
etapa de prueba conduce necesariamente al
rediseño aumentando los costos del desarrollo.
5. Es un modelo en el que el software se muestra al cliente en etapas refinada
sucesivamente. Se caracteriza principalmente en que las especificaciones no son
conocidas en detalle al inicio del proyecto y por tanto se van desarrollando
simultáneamente con las diferentes versiones del código.
MODELO CONCURRENTE
VENTAJAS
❏ Detección de problemas
antes y no hasta la única
entrega final del
proyecto.
❏ Eliminación del tiempo en
informes.
❏ Estimación de tiempo por
versión.
❏ Cumplimiento a la fecha
por los desarrolladores.
DESVENTAJAS
❏ La necesidad de tener todos los
requisitos al principio.
❏ Si se han cometido errores en una
fase es difícil volver atrás.
❏ No se tiene el producto hasta el final
❏ Es comparativamente más lento que
los demás y el coste es mayor.
❏ Si se comete un error en la fase de
análisis no lo descubrimos hasta la
entrega.
6. Los modelos evolutivos son iterativos , permiten
desarrollar versiones completas y complejas, hasta
llegar al objetivo que es deseado.
Existen dos tipos de desarrollo evolutivo: desarrollo
exploratorio, enfoque utilizando prototipos
TIPOS
Modelo incremental
Modelo concurrente
Modelo Espiral
MODELOS EVOLUTIVOS
VENTAJAS
❏ La especificación puede desarrollarse de
manera eficiente.
❏ Los usuarios y desarrolladores logran mejor
entendimiento.
❏ Es más efectivo que el modelo de cascada.
DESVENTAJAS
❏ Proceso no visible.
❏ Sistemas pobremente estructurados.
❏ Se requieren técnicas y herramientas.
7. Combinación entre el modelo en cascada y el
modelo de construcción de prototipos
obteniendo un incremento del software, el cual
el primer producto es esencial que incorpora
los requerimientos básicos.
Actividades: Comunicación, planeación,
modelado, construcción, despliegue.
Es una serie de actividades de tareas de ingeniería
de software y sus estados.
Cada actividad cuenta con un conjunto de estados
en un momento dado
Estados: comunicacion con el cliente, análisis, bajo
desarrollo, cambios en espera.
MODELO INCREMENTAL MODELO CONCURRENTE
8. MODELO ESPIRAL
Es un modelo de proceso de software evolutivo que
conjuga la naturaleza iterativa de construcción de
prototipos con los aspectos controlados y sistemáticos
del modelo lineal secuencial. Proporciona el potencial
para el desarrollo rápido de versiones incrementales
del software.
DESVENTAJAS
❏ Puede resultar difícil convencer a grandes clientes
(particularmente en situaciones bajo contrato) de que el
enfoque evolutivo es controlable.
❏ Requiere una considerable habilidad para la evaluación
del riesgo.
❏ No se ha utilizado tanto como los paradigmas lineales
secuenciales o de construcción de prototipos.
VENTAJAS
❏ Puede adaptarse y aplicarse a lo largo de
la vida del software de computadora.
❏ Es un enfoque realista del desarrollo de
sistemas y de software a gran escala.
❏ Utiliza la construcción de prototipos como
mecanismo de reducción de riesgos.
9. MODELOS ÁGILES
Son métodos basados en el desarrollo iterativo e
incremental. Bajo esta filosofía, los requerimientos y
soluciones evolucionan por medio de la colaboración
de equipos multifuncionales autoorganizados.
CARACTERÍSTICAS
❏ Es suficientemente preciso,
consistente, detallado.
❏ Aporta valor positivo. Es lo
más simple posible.
METODOLOGÍA SCRUM
Se basa en construir primero la funcionalidad de
mayor valor para el cliente y en los principios de
inspección continua, adaptación, auto-gestión e
innovación. Permite al cliente, introducir cambios
funcionales o de prioridad en el inicio de cada
nueva iteración sin ningún problema.
TIPOS
❏ Scrum
❏ Extrem Programming
❏ kanban
10. METODOLOGÍA XP
(Extreme Programing)
CARACTERÍSTICAS
● Desarrollo iterativo e incremental
● Pruebas unitarias continuas
● Programación en parejas
● Corrección de todos los errores antes de
añadir nueva funcionalidad
● Propiedad del código compartida
● Simplicidad en el código
CUANDO ES APLICABLE
● Requisitos que cambian dinámicamente.
● Riesgos de tiempo fijo que utiliza nueva
tecnología.
● Equipo de desarrollo pequeño y
compartido.
METODOLOGÍA KANBAN
CARACTERÍSTICAS
● Visualizar el flujo de trabajo y el avance.
● Limitar el trabajo en curso a fin de evitar cuellos de botella.
● Gestionar el flujo de trabajo.
● Indicar y comprender claramente las reglas del proceso.
● Detectar y aprovechar las oportunidades de mejora.
PASOS PARA LA CONFIGURACIÓN DE LA ENTREGA
● Definir el flujo de trabajo de los proyectos
● Visualizar las fases del ciclo de producción
● Stop Starting, start finishing
● Control del Flujo
CUÁNDO CONVIENE UTILIZAR KANBAN
● Ambientes operativos con prioridades cambiantes
● Cambios en requerimientos en cualquier momento
● Unidades de trabajo son tareas independientes
● Optimización incremental de un proceso ya existente.