Sie sind auf Seite 1von 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
......

Modelo Cascada
Anlisis de Requerimientos

Especificacin de Requerimientos

Diseo
Implementacin

Prueba

Mantenimiento

Modelo de Desarrollo Rpido de


Aplicacin - RAD
Modelar el Negocio

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

Equipo 1

Perodo Corto de Tiempo


5

Modelo Incremental
Anlisis Parcial

Diseo

Implementacin

Prueba

Lanzamiento

Retroalimentacin
Anlisis Parcial

Diseo

Implementacin

Prueba

Lanzamiento

Retroalimentacin
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

Ingeniera

con el Cliente

del
Software

Evaluacin y
Retroalimentacin
del Cliente

Codificacin, Prueba y Lanzamiento

Modelo Basado en
reutilizacin

Especificacin de
Requerimientos

Anlisis de
componentes

Desarrollo e
Integracin

Validacin del
Sistema

Modificacin de
Requerimientos

Diseo del Stma.


con Reutilizacin

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

Das könnte Ihnen auch gefallen