Modelos de desarrollo de software
septiembre de 2007
1
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
2
Modelos de desarrollo Secuencial Lineal Cascada (clsico) RAD (Desarrollo Rpido de Aplicacin)
Evolutivo Incremental Espiral Basado en reutilizacin
Basado en transformaciones ......3
Modelo CascadaAnlisis de Requerimientos
Especificacin de Requerimientos
Diseo Implementacin
Prueba
Mantenimiento
4
Modelo de Desarrollo Rpido de Aplicacin - RADModelar 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 IncrementalAnlisis 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
6
Modelo en espiralPlanificacin del Proyecto Anlisis de Riesgo
Comunicacin con el Cliente
Ingeniera del Software
Evaluacin y Retroalimentacin del Cliente
Codificacin, Prueba y Lanzamiento
7
Modelo Basado en reutilizacin
Especificacin de Requerimientos
Anlisis de componentes
Modificacin de Requerimientos
Diseo del Stma. con Reutilizacin
Desarrollo e Integracin
Validacin del Sistema
8
Modelo Basado en transformacionesConjunto 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 simplicidad10
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 tarea12
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 computadora13
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 versiones17
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 comportamiento18
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 cdigo19
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
Top Related