modelos de desarrollo de sistemas -...
TRANSCRIPT
![Page 1: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/1.jpg)
Modelos de desarrollo de sistemas
![Page 2: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/2.jpg)
Contenido
Modelos
Ciclo de vida clásico
Prototipos
Iterativos
En Espiral
Evolutivos
Desarrollo incremental
Metodologías
Estructuradas
Orientadas a objetos
Ágiles
![Page 3: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/3.jpg)
Ciclo de Vida Clásico Propuesta Senn, 1992
![Page 4: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/4.jpg)
Ciclo de vida clásico Propuesta Kendall & Kendall, 1997
![Page 5: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/5.jpg)
Ciclo de Vida Clásico
Denominado "modelo en cascada"
Se basa en intentar hacer las cosas bien desde el
principio, de una vez y para siempre.
Exige una aproximación secuencial al proceso de
desarrollo del software.
![Page 6: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/6.jpg)
Ciclo de Vida Clásico
Inconvenientes:
Los proyectos reales raramente siguen el flujo secuencial de
actividades que propone este modelo.
Es difícil para el cliente establecer explícitamente todos los
requisitos al comienzo del proyecto.
No habrá disponible una versión operativa del sistema hasta
llegar a las etapas finales del proyecto, por lo que la rectificación
cualquier decisión tomada erróneamente en las etapas iniciales
del proyecto supondrá un costo adicional significativo, tanto
económico como en tiempo.
![Page 7: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/7.jpg)
Ciclo de vida clásico
![Page 8: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/8.jpg)
Prototipos Identificación de
requerimientos básicos
Desarrollo de prototipo
Uso del prototipo
Revisión y mejora del prototipo
Prototipo Operacional Sí
No
¿El usuario está
satisfecho?
Paso 1
Paso 2
Paso 3
Paso 4
![Page 9: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/9.jpg)
Prototipos
1. Identificar los requerimientos básicos del usuario.
2. Desarrollar un prototipo inicial
3. Usar el prototipo
4. Revisar y mejorar el prototipo y regresar al paso 3 hasta
que el usuario esté conforme con el resultado.
![Page 10: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/10.jpg)
Modelos iterativos
Los modelos iterativos descomponen un proyecto de
desarrollo en una serie de subproyectos de menor alcance.
Estos subproyectos deben diseñarse de tal forma que cada
uno de ellos aporte una funcionalidad nueva para el sistema
desde el punto de vista del usuario final del mismo.
![Page 11: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/11.jpg)
Modelos iterativos
![Page 12: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/12.jpg)
Modelos iterativos
Permiten adelantar el momento en el que se determina si un
proyecto es técnicamente viable o no.
Promueven una mejor comunicación con el usuario/cliente,
ya que dispone versión operativa temprana del sistema,
aunque sea con funcionalidad reducida.
Las versiones intermedias del producto ayudan a la
eliminación de malentendidos que pueden surgir en la etapa
de definición de requerimientos.
Ayudan a que el usuario se forme una idea más clara de lo
que realmente necesita.
![Page 13: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/13.jpg)
Modelo en espiral (Modelo iterativo)
Propuesto por Boehm (1998) hace énfasis en la prevención
de riesgos.
Cuatro actividades principales:
planificación (determinar los objetivos, alternativas y
restricciones del proyecto),
análisis de riesgos (análisis de alternativas e
identificación/resolución de riesgos),
ingeniería (desarrollo del producto) y
evaluación (revisión por parte del cliente y valoración de los
resultados obtenidos de cara a la siguiente iteración).
![Page 14: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/14.jpg)
Modelo en espiral (Modelo iterativo)
![Page 15: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/15.jpg)
Modelo evolutivo (Modelo iterativo)
Se caracterizan por realizar entregas por etapas del
sistema.
El proyecto se descompone en iteraciones de periodos
fijos y cada iteración proporciona alguna funcionalidad del
sistema.
Cada ciclo se concentra en las funciones de mayor valor
añadido.
Si se cancelase el proyecto, el usuario obtendrá lo máximo que se
puede conseguir con los recursos invertidos hasta ese momento.
De la misma manera, se puede prorrogar el proyecto si se
considera interesante seguir añadiéndole funcionalidades.
![Page 16: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/16.jpg)
Modelo evolutivo (Modelo iterativo)
Con este modelo, el software evoluciona con el tiempo,
asume que los requerimientos no son completamente
conocidos al inicio del proyecto, así que los requerimientos
que son bien comprendidos son seleccionados para el primer
incremento.
![Page 17: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/17.jpg)
Modelo evolutivo (Modelo iterativo)
El sistema es desarrollado, los usuarios lo usan, y proveen
retroalimentación a los desarrolladores. Basada en esta
retroalimentación, la especificación de requerimientos es
actualizada, y una segunda versión del producto es
desarrollada y probada. El proceso se repite indefinidamente.
El desarrollo de software en forma evolutiva requiere un
especial cuidado en la manipulación de documentos,
programas, datos de prueba, etc. desarrollados para distintas
versiones del software. Cada paso debe ser registrado, la
documentación debe ser recuperada con facilidad, los
cambios deben ser efectuados de una manera controlada.
![Page 18: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/18.jpg)
Modelo de Desarrollo Incremental (Modelo iterativo)
Se basa en diseñar sistemas que puedan entregarse por piezas.
A partir de la evaluación, se planea el siguiente incremento y
así sucesivamente, por lo que es iterativo por naturaleza.
En lugar de una sola entrega, el desarrollo y la entrega están
fracturados bajo incrementos, con cada incremento se
entrega parte de la funcionalidad requerida por el usuario.
![Page 19: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/19.jpg)
Modelo de Desarrollo Incremental (Modelo iterativo)
![Page 20: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/20.jpg)
Modelo de Desarrollo Incremental (Modelo iterativo)
Considera un proceso de construcción siempre incrementando subconjuntos de requerimientos del sistema, presupone que el conjunto completo de requerimientos es conocido al comenzar.
Las partes funcionales, pequeñas y reutilizables, son incrementos.
Cada incremento se construye sobre aquel que ya fue entregado.
Al ir desarrollando las funcionalidades, es más fácil determinar si los requerimientos planeados para los niveles subsiguientes son correctos.
![Page 21: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/21.jpg)
Ejercicio en clase
Hacer un cuadro con las actividades principales
que existen en los modelos.
![Page 22: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/22.jpg)
Metodologías
Una metodología puede seguir uno o varios
modelos de ciclo de vida, es decir, el ciclo de vida
indica qué es lo que hay que obtener a lo largo del
desarrollo del proyecto pero no cómo hacerlo.
Mientras que una metodología indica cómo hay
que obtener los distintos productos parciales y
finales.
![Page 23: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/23.jpg)
Metodologías
Adicionalmente una metodología debe
definir con precisión los instrumentos, roles
y actividades involucrados, junto con
prácticas y técnicas recomendadas, guías de
adaptación de la metodología al proyecto,
guías para uso de herramientas de apoyo,
etc.
![Page 24: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/24.jpg)
Metodologías
Clasificación:
Metodologías Estructuradas
Metodologías Orientadas a Objetos
Metodologías Ágiles: están orientadas a la generación
de código con ciclos muy cortos de desarrollo, se
dirigen a equipos de desarrollo pequeños, hacen
especial hincapié en aspectos humanos asociados al
trabajo en equipo e involucran activamente al cliente
en el proceso.
![Page 25: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/25.jpg)
Diferencias entre metodologías Metodología Ágil Metodología Tradicional
Pocos Artefactos. El modelado es
prescindible, modelos desechables.
Más Artefactos. El modelado es esencial,
mantenimiento de modelos
Pocos Roles, más genéricos y flexibles Más Roles, más específicos
No existe un contrato tradicional, debe ser
bastante flexible
Existe un contrato prefijado
Cliente es parte del equipo de desarrollo
(además in-situ)
El cliente interactúa con el equipo de
desarrollo mediante reuniones
Orientada a proyectos pequeños. Corta
duración (o entregas frecuentes), equipos
pequeños (< 10 integrantes) y trabajando
en el mismo sitio
Aplicables a proyectos de cualquier
tamaño, pero suelen ser especialmente
efectivas/usadas en proyectos grandes y
con equipos posiblemente dispersos
La arquitectura se va definiendo y
mejorando a lo largo del proyecto
Se promueve que la arquitectura se
defina tempranamente en el proyecto
Énfasis en los aspectos humanos: el
individuo y el trabajo en equipo
Énfasis en la definición del proceso: roles,
actividades y artefactos
Basadas en heurísticas provenientes de
prácticas de producción de código
Basadas en normas provenientes de
estándares seguidos por el entorno de
desarrollo
Se esperan cambios durante el proyecto Se espera que no ocurran cambios de
gran impacto durante el proyecto
![Page 26: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/26.jpg)
Metodologías Ágiles Adaptive Software Development (ASD).
Agile Unified Process (AUP).
Crystal Methologies (Crystal Clear, Crystal Orange, Crystal Orange Web)
Essential Unified Process (EssUP).
Feature Driven Development (FDD).
Lean Software Development (LSD).
Open Unified Process (OpenUP).
Rational Unified Process (RUP).
Kanban
Método de desarrollo de sistemas dinámicos (DSDM).
Scrum.
Programación Extrema (XP).
![Page 27: Modelos de desarrollo de sistemas - rigel.fca.unam.mxrigel.fca.unam.mx/~memartinez/infovi/pdf/modelos.pdf · Ciclo de Vida Clásico Inconvenientes: Los proyectos reales raramente](https://reader031.vdocuments.mx/reader031/viewer/2022022616/5ba4301e09d3f210758d2a6d/html5/thumbnails/27.jpg)
Tarea
Identificar de la metodología:
Ciclo de vida.
Elementos y artefactos necesarios para el desarrollo de
aplicaciones.
Roles y responsabilidades (Actividades)
Ejemplos de utilización.
Alcance y ámbito de uso.
Características adicionales.
Conclusiones.