MODELO INCREMENTAL El Modelo Incremental para el desarrollo del software, consiste en crear funcionalidad por pequea que sea de modo que a partir de ella, las creaciones posteriores en base a la que primero fue creada, tendrn una caracterstica (o caractersticas) funcionales, lo cual hace que se constituya en base a elementos que funcionan y que va siendo cada vez ms compleja su funcionalidad. Los avances son entregados mediante fechas programadas, de modo que cada incremento posee nuevas funcionalidades a comparacin de un incremento anterior. Este modelo posee etapas tales como: 1. 2. 3. 4. 5. 6. 7. Definicin de requerimientos Asignar los requerimientos a los incrementos. Diseo del incremento a partir de los requerimientos. Desarrollo del incremento. Validar incrementos. Integrar incrementos. Validar funcionamiento.
Las ideologas del modelo incremental pretende dar pautas en la creacin del software mediante incrementos pequeos, permitiendo su fcil administracin, as como su sencilla comprensin y sus correspondientes pruebas, esto implica que el desarrollo inicial se logra ms temprano obteniendo resultados de inversin en poco tiempo, otro aspecto a considerar es que este modelo se presta a posibles cambios debido a que los incrementos de van adaptando de acuerdo a los requerimientos que se obtienen en base a las nuevas necesidades que van surgiendo. Modelos Incrementales Iterativos El modelo incremental combina elementos del modelo cascada (aplicado repetidamente) as como la filosofa iterativa del prototipado.
QU
ES
PROGRAMACIN EXTREMA O XP? Metodologa liviana de desarrollo de software Conjunto de prcticas y reglas empleadas para desarrollar software Basada en diferentes ideas acerca de cmo enfrentar ambientes muy cambiantes Originada en el proyecto C3 para Chrysler En vez de planificar, analizar y disear para el futuro distante, hacer todo esto un poco cada vez, a travs de todo el proceso de desarrollo
OBJETIVOS. Establecer las mejores prcticas de Ingeniera de Software en los desarrollo de proyectos. Mejorar la productividad de los proyectos. Garantizar la Calidad del Software desarrollando, haciendo que este supere las expectativas del cliente.
CONTEXTO XP Cliente bien definido Los requisitos pueden (y van a) cambiar Grupo pequeo y muy integrado (mximo 12 personas Equipo con formacin elevada y capacidad de aprender
VALORES XP Simplicidad XP propone el principio de hacer la cosa ms simple que pueda funcionar, en relacin al proceso y la codificacin. Es mejor hacer hoy algo simple, que hacerlo complicado y probablemente nunca usarlo maana. Comunicacin Algunos problemas en los proyectos tienen origen en que alguien no dijo algo importante en algn momento. XP hace casi imposible la falta de comunicacin. Realimentacin Retroalimentacin concreta y frecuente del cliente, del equipo y de los usuarios finales da una mayor oportunidad de dirigir el esfuerzo eficientemente. Coraje El coraje (valor) existe en el contexto de los otros 3 valores.(si funcionamejralo)
EL ESTILO XP Est orientada hacia quien produce y usa el software Reduce el costo del cambio en todas las etapas del ciclo de vida del sistema. Combina las que han demostrado ser las mejores practicas para desarrollar software, y las lleva al extremo.
PRCTICAS BSICAS DE LA PROGRAMACIN EXTREMA Para que todo esto funcione, la programacin extrema se basa en doce "prcticas bsicas" que deben seguirse al pie de la letra. Dichas prcticas estn definidas (en perfecto ingls) en www.xprogramming.com/xpmag/whatisxp.htm. Aqu tienes un pequeo resumen de ellas. Equipo completo: Forman parte del equipo todas las personas que tienen algo que ver con el proyecto, incluido el cliente y el responsable del proyecto. Planificacin: Se hacen las historias de usuario y se planifica en qu orden se van a hacer y las mini-versiones. La planificacin se revisa continuamente. Test del cliente: El cliente, con la ayuda de los desarrolladores, propone sus propias pruebas para validar las mini-versiones. Versiones pequeas: Las mini-versiones deben ser lo suficientemente pequeas como para poder hacer una cada pocas semanas. Deben ser versiones que ofrezcan algo til al usuario final y no trozos de cdigo que no pueda ver funcionando. Diseo simple: Hacer siempre lo mnimo imprescindible de la forma ms sencilla posible. Mantener siempre sencillo el cdigo. Pareja de programadores: Los programadores trabajan por parejas (dos delante del mismo ordenador) y se intercambian las parejas con frecuencia (un cambio diario).
Desventajas: Es recomendable emplearlo solo en proyectos a corto plazo. Altas comisiones en caso de fallar.
CONCLUSIONES Apostolado de metodologas exitosas Aporte de la experiencia prctica a los modelos tericos Enfoque de conjunto de prcticas como rompecabezas Tecnologa en expansin Importancia de revisitar las metodologas desde la experiencia prctica
El modelo de ciclo de vida RAD se muestra en la Figura 4. Las limitaciones de tiempo impuestas en un proyecto RAD exigen que la aplicacin cumpla con el requisito de mbito en escalas, que indique que una aplicacin pueda modularse de forma que cada una de las funciones principales pueda completarse en menos de tres meses. Adems, cada una de las funciones puede ser afrontada por un equipo RAD separado e integrarse en un nico conjunto. Modelado de la gestin: Dentro de esta etapa, el objetivo es la solucin de las preguntas; por ejemplo: Qu informacin conduce el proceso de gestin?,Qu informacin se genera?, A dnde va a parar esa informacin?,etc. Modelado de datos: Contempla la definicin de las caractersticas de los objetos, as como la constitucin de los objetos y sus vnculos entre ellos. Modelado de proceso: Describe las metodologas que manipulan los objetos as como la comunicacin entre ellos. Generacin de aplicaciones: Permite la utilizacin de recursos que ya existen o crear componentes reutilizables. Pruebas de entrega: Prueba todos los componentes nuevos.
Desventajas Comprar puede ser ms caro que construir. Costo de herramientas integradas y equipo necesario. Progreso ms difcil de medir. Menos eficiente. Riesgo de revertirse a las prcticas sin control de antao. Ms fallas (por sndrome de "codificar a lo bestia"). Prototipos pueden no escalar, un problema maysculo.