5   ciclos de vida del software(fixed)
Upcoming SlideShare
Loading in...5
×
 

5 ciclos de vida del software(fixed)

on

  • 4,950 views

 

Statistics

Views

Total Views
4,950
Views on SlideShare
4,950
Embed Views
0

Actions

Likes
0
Downloads
100
Comments
1

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

5   ciclos de vida del software(fixed) 5 ciclos de vida del software(fixed) Presentation Transcript

    • Procesos de desarrollo
    • Modelo Construir y corregir (Build-and-fix)
    • Cascada
    • Prototipo rápido
    • Incremental
    • Programación Extrema (XP)
    • Espiral
    • Orientados a objetos
    • Comparación entre los ciclos de vida
    • Conclusiones
    Procesos de desarrollo del Software (Ciclos de vida del software)
  • Modelos del Ciclo de Vida del Software
    • Modelo del ciclo de vida, antes conocido como modelo del proceso de desarrollo del software
    • Los pasos por los cuales progresa el producto
      • Fase de requerimientos
      • Fase de especificaciones
      • Fase de diseño
      • Fase de implementación
      • Fase de integración
      • Fase de mantenimiento
      • Retiro
  • Modelo Build and Fix
    • Problemas
      • No especificaciones
      • No diseño
    • Totalmente insatisfactorio
    • Requiere de un modelo del ciclo de vida
      • Planificación
      • Fases
      • Metas
  • Cascada
    • Caracterizada por
      • Retroalimentación
      • Dirigida por documentación
    • Ventajas
      • Documentación
      • Más fácil mantenimiento
    • Desventajas
      • Especificaciones
        • Documentos pueden ser ambiguos
        • Retroalimentación tardía
        • Requerimientos mal entendidos
  • Prototipo Rápido
    • Modelo lineal
    • “ Rápido”
    • Garantizar entendimiento de requerimientos desde el inicio
    • Desventajas:
      • Puede crear la impresión de que el producto final puede generarse tan rápido como el prototipo
      • El equipo puede tener la tentación de reusar el prototipo (código y diseño de baja calidad)
  • Tres puntos clave
    • No se convierte en el producto final. El prototipo por hacerse rápido NO SE REUTILIZA, se genera un producto nuevo desde cero en las siguientes fases
    • El prototipo rápido podría reemplazar la fase de especificaciones pero NUNCA la de diseño.
    • Comparación:
      • Cascada – intenta tener el producto correcto en una primera vez
      • Prototipo rápido – cambios frecuentes, después desecharlo
  • Modelos de Cascada y de Prototipo rápido
    • Cascada
      • Muchós éxitos
      • Problemas con las necesidades del cliente
    • Prototipo rápido
      • No muy probado
      • Tiene sus propios problemas
    • Solución
      • Prototipo rápido para la fase de requerimientos
      • Cascada para el resto del ciclo de vida
  • Modelo incremental
    • Dividir el proyecto en builds
  • Modelo Incremental (cont)
    • Modelos de Cascada, prototipo rápido
      • Producto completo operacional sólo hasta el final
    • Modelo incremental
      • Se tiene una porción del producto de calidad operando en semanas
    • Menos traumático
    • Rápido retorno de la inversión
    • Requiere de una arquitectura abierta, se puedan integrar las porciones que se van generando a pesar de requerimientos no estáticos.
    • Se usan variaciones de este ciclo de vida en los ciclos orientados a objetos.
  • Modelo Incremental (cont)
    • Problemas
      • Peligro de caer en construir y corregir (Build-and-fix)
      • Si no se tiene una arquitectura definida desde un inicio problemas para integrar y de mantenimiento
  • Modelo Incremental (cont)
    • Una versión más riesgosa no considera se entiendan los requerimientos más importantes y se tenga una visión entera del proyecto, sino ir avanzando en los requerimientos en cada build— las piezas podrían no coincidir!
      • Peligro de codificar un poco, probar un poco CABTAB (code a bit test a bit)
  • Programación Extrema (Xtreme Programming)
    • Nueva metodología algo controversial
    • Dirigida por historias (stories) o requerimientos que el cliente desea.
    • Estima la duración y costo de cada historia
    • Selecciona historias para el siguiente build
    • Cada build está dividido en tareas.
    • Los casos de prueba para cada tarea se establecen primero.
    • Programación en parejas.
    • Continua integración de las tareas.
  • Características novedosas de XP
    • Las computadores se ponen en el centro de un gran cuarto divididas por cubículos.
    • Representantes del cliente siempre están presentes.
    • No pueden trabajar tiempos extras dos semanas consecutivas.
    • Refactorización
  • Evaluación de XP
    • XP ha tenido algunos éxitos
    • Bueno cuando los requerimientos son vagos o cambiantes.
    • Muy pronto para evaluarse
  • Modelo de espiral
    • Forma simplificada
      • Modelo de cascada más análisis de riesgo
    • A cada fase le precede
      • Búsqueda de alternativas
      • Análisis dse riesgo
    • Después de cada fase:
      • Evaluación
      • Planeación de la siguiente fase
  • Simplified Spiral Model
    • Si los riesgos no pueden resolverse el proyecto termina inmediatamente
  • Análisis del Modelo de Espiral
    • Fuerzas
      • Fácil juzgar cuánto probar
      • No hay distinción entre desarrollo y mantenimiento.
    • Debilidades
      • Sólo para software de gran escala
      • Sólo para uso interno (in-house), es decir el equipo desarrollador es del mismo cliente.
  • Modelos de ciclos de vida Orientados a Objetos
    • Necesidad de iteración dentro y entre las fases
      • Modelo de fuente
      • Round-trip gestalt
      • Proceso Unificado (Unified software development process -UP-)
    • Todos incorporan alguna forma de
      • Iteración
      • Paralelistmo
      • Desarrollo incremental
    • Peligro
      • CABTAB (code a bit test a bit)
  • Fountain Model
    • Características:
      • Paralelisto (parte de una fase ocurre al mismo tiempo que otra)
    • Permite iteracioens
    • Ciclo de mantenimiento más corto
  • Requirements Design Implementation Test Analysis *Nota: esta diapositiva fue agregada a la presentación original. P r e l i m i n a r y I t e r a t i o n ( s ) i t e r . # 1 i t e r . # 2 i t e r . # n i t e r . # n + 1 i t e r . # n + 2 i t e r . # m i t e r . # m + 1 I n c e p t i o n E l a b o r a t i o n C o n s t r u c t i o n T r a n s i t i o n P h a s e s C o r e W o r k f l o w s A n i t e r a t i o n i n t h e e l a b o r a t i o n p h a s e
  • Conclusiones
    • Diferentes modelos de ciclos de vida
    • Cada uno sus fuerzas
    • Cada uno con sus debilidades
    • Criterio para decidir cuál modelo incluye:
      • La organización
      • Sus directivos
      • Habilidades de los empleados
      • Naturaleza del producto
      • Tamaño del proyecto
      • Variabilidad de los requerimientos
    • Mejor sugerencia:
      • Mezclar y ajustar el modelo de ciclo de vida
  • Bibliografía
    • Schach, Stephen. “Classical and Object-Oriented Software Engineering, with UML”. McGraw Hill, 2002, 5a edición.
  • Fin de la presentación Continúe en la siguiente actividad Procesos de desarrollo del Software (Ciclos de vida del software)