Está en la página 1de 21

Modelos de desarrollo de software

septiembre de 2007

Referencias bsicas
Ingeniera de software. Un enfoque prctico. Pressman, R. Quinta edicin. Mc. Graw Hill 2002 Ingeniera de software. Sommerville, I. Sptima edicin. Addison Wesley 2005

Modelos de desarrollo
Secuencial Lineal
Cascada (clsico) RAD (Desarrollo Rpido de Aplicacin)

Evolutivo
Incremental Espiral Basado en reutilizacin

Basado en transformaciones ......


3

Modelo Cascada
Anlisis de Requerimientos

Especificacin de Requerimientos

Diseo Implementacin

Prueba

Mantenimiento

Modelo de Desarrollo Rpido de Aplicacin - RAD


Modelar el Negocio

Equipo 1

Especificaciones Parciales

Diseo

Implementacin

Prueba

Lanzamiento

Equipo 2

Especificaciones Parciales

Diseo

Implementacin

Prueba

Lanzamiento

Equipo 3

Especificaciones Parciales

Diseo

Implementacin

Prueba

Lanzamiento

Equipo 4

Especificaciones Parciales

Diseo

Implementacin

Prueba

Lanzamiento

Perodo Corto de Tiempo 5

Modelo Incremental
Anlisis Parcial Diseo Implementacin Retroalimentacin Anlisis Parcial Prueba Lanzamiento

Diseo

Implementacin Retroalimentacin

Prueba

Lanzamiento

Anlisis Parcial

Diseo

Implementacin

Prueba

Lanzamiento

Retroalimentacin del Incremento Anterior Anlisis Parcial

Diseo

Implementacin

Prueba

Lanzamiento

Modelo en espiral
Planificacin del Proyecto Anlisis de Riesgo

Comunicacin con el Cliente

Ingeniera del Software

Evaluacin y Retroalimentacin del Cliente

Codificacin, Prueba y Lanzamiento

Modelo Basado en reutilizacin

Especificacin de Requerimientos

Anlisis de componentes

Modificacin de Requerimientos

Diseo del Stma. con Reutilizacin

Desarrollo e Integracin

Validacin del Sistema

Modelo Basado en transformaciones


Conjunto de tcnicas y herramientas basadas en modelos matemticos y lgica formal que son utilizadas para especificar y verificar los requerimientos y el diseo de sistemas computarizados.
9

Mtodos giles
Mtodo de desarrollo de SW dirigidos a la entrega rpida del mismo. El SW se desarrolla y entrega en incrementos Se minimiza el proceso de documentacin y la burocracia Principios:
Participacin del cliente Entrega incremental Personas, no procesos Aceptar el cambio en los requerimientos Mantener la simplicidad
10

XP- Xtreme Programming


Metodologa de desarrollo de software Propuesta por Kent Beck en el libro Extreme Programming Explained: Embrace Change. Addison Wesley. Primera Edicin. 1999 Basada en desarrollo iterativo y con la participacin del cliente en niveles extremos Proceso gil (Metodologa liviana) de desarrollo de software. El cliente hace cuantos cambios necesite al proyecto Metas en trminos de caractersticas, tiempos y costos deben ser reajustadas permanentemente

11

XP- Xtreme Programming


Desarrolladores y clientes trabajan en conjunto y muy de cerca desde el primer da El cliente no puede cambiar requerimientos probados y aceptados sin incurrir en gastos adicionales. Los requerimientos se expresan como escenarios (historias de usuario) Los escenarios se implementan como una serie de tareas Se disea una prueba de unidad para esa tarea
12

XP- Xtreme Programming


Ejemplo de una tarjeta de historia

Descarga e impresin de un artculo En primer lugar, seleccione el artculo que desea de una lista visualizada. Tiene entonces que decirle al sistema cmo lo pagar se puede hacer a travs de una suscripcin, una cuenta de empresa o mediante una tarjeta de crdito. Despus de esto, obtiene un formulario de derechos de autor del sistema para que lo rellene. Cuando lo haya enviado, se descarga el artculo en su computadora. Elija una impresora y se imprimir una copia del artculo. Le dice al sistema que la impresin se ha realizado correctamente. Si es un artculo de slo impresin, no puede guardar la versin en PDF, por lo que automticamente se elimina de su computadora
13

XP- Xtreme Programming


Ejemplo de una tarjeta de tarea

Implementar formas de pago El pago se puede efectuar de tres formas diferentes. El usuario selecciona de qu forma desea pagar. Si el usuario tiene una suscripcin a la biblioteca, puede introducir la clave de suscriptor, la cual debe ser verificada por el sistema. De forma alternativa, puede introducir un nmero de cuenta organizacional. Si es vlido, se anota un cargo en la cuenta por el importe del artculo. Finalmente, puede introducir un nmero de tarjeta de crdito de 16 dgitos y la fecha en que caduca. Se debe comprobar la validez de estos datos y, si son vlidos, se anota un cargo en la tarjeta de crdito.

14

XP- Xtreme Programming


Ejemplo de caso de prueba

Prueba de la validez de la tarjeta de crdito Entrada:


Una cadena que representa el nmero de tarjeta de crdito y dos enteros que representan el mes y el ao de la caducidad de la tarjeta.

Pruebas:
Comprobar que todos los bytes de la cadena son dgitos Comprobar que el mes se encuentra entre 1 y 12 y que el ao es mayor o igual que el ao actual Utilizando los 4 primeros dgitos del nmero de tarjeta de crdito, comprobar que el emisor de la tarjeta es vlido consultando la tabla de emisores de tarjetas. Comprobar la validez de la tarjeta de crdito enviando el nmero de tarjeta y la fecha en la que caduca el emisor de la tarjeta.

Salida:
OK o un mensaje de error indicando que la tarjeta no es vlida 15

XP- Ciclo de Entrega

Seleccionar las historias de usuario para esta entrega

Dividir las historias en tareas

Planificar la entrega

Evaluar el sistema

Entregar el software

Desarrollar/integrar/ probar el software

16

XP - Elementos Principales
Planificacin Incremental
Requerimientos se registran en tarjetas de historias

Entregas pequeas
Tpicamente cada dos meses

Metforas:
Nombres y descripciones comunes

Diseo simple
Slo el cdigo necesario No construir para futuras versiones
17

XP - Elementos Principales
Pruebas unitarias continuas
Los programadores disean primero las pruebas y luego escriben el software para cumplir los requerimientos de las pruebas. Pruebas de integracin en cada etapa. Pruebas de aceptacin por el cliente

Refactorizacin:
Rescribir ciertas partes del cdigo para aumentar su legibilidad y mantenibilidad pero sin modificar su comportamiento
18

XP - Elementos Principales
Programacin por parejas Propiedad colectiva
Cada lnea de cdigo pertenece a cada programador trabajando en el proyecto

Integracin continua Semanas de 40 horas Cliente altamente disponible Codificacin estndar


Se establecen estndares para escribir el cdigo
19

XP - Ventajas
Proceso flexible Cambios en los objetivos y prioridades son naturales. Sin sobrecarga al equipo de desarrollo El cliente desde las primeras etapas tiene software que puede usar y probar. En el proceso de desarrollo se toma en cuenta las opiniones de los programadores

20

XP - Desventajas
Es necesario un representante del cliente en todo momento del desarrollo Todo el proceso de desarrollo se basa en la comunicacin, si la misma es costosa o lenta perjudica enormemente el tiempo y costo del desarrollo No sirve para proyectos grandes debido a sus requerimientos de comunicacin

21

También podría gustarte