Documente Academic
Documente Profesional
Documente Cultură
Integrantes:
NDICE
1. INTRODUCCIN 2. CICLO DE VIDA DE SOFTWARE Y CICLO DE DESARROLLO 3. MODELOS DE CICLO DE VIDA 3.1. Ciclo de vida Code&Fix (codificar y corregir) 3.2. Ciclo de vida Lineal 3.3. Ciclos de vida en Cascada 3.3.1. Ciclo de vida en Cascada Puro 3.3.2. Ciclo de vida en V 3.3.3. Ciclo de vida Tipo Sashimi 3.3.4. Ciclo de vida en Cascada con Sub Proyectos 3.4. Modelos de Ciclos de vida en Espiral 3.4.1.Ciclo de vida en Espiral 3.4.2. Modelo en Espiral tpico de seis regiones 3.4.3. Espiral WINWIN 3.5. Modelo de Ciclo de vida Orientado a Objetos 3.5.1. Ciclo de vida Fuente 4. MODELOS DE CICLO DE DESARROLLO 4.1. Modelo de Desarrollo Iterativo 4.2. Modelo de desarrollo Evolutivo 4.3. Modelo de desarrollo Incremental 5. 5.1. Prototipos 5.2. Modelo Concurrente
1. INTRODUCCIN
En el presente trabajo se pretende explicar el desarrollo del software a travs de las diferentes etapas de cada uno de modelos de ciclo de vida para obtener un software de calidad as como las ventajas y desventajas que se dan al usar dichos modelos. Se abordarn los modelos de desarrollo de software y las metodologas para el desarrollo del software, con ello se pretende formar un criterio acerca de la eleccin de un adecuado modelo de ciclo de vida para poder abordar diversos problemas que se presentan durante el desarrollo de un proyecto de software, el modelo elegido va a depender de manera particular de las necesidades del cliente o de lo que se quiere lograr con el proyecto, ya que cada uno de estos modelos de ciclo de vida mencionados en el presente trabajo son adecuados para ciertas caractersticas de un proyecto. As como la importancia que tienen las metodologas de desarrollo de software las cuales buscan de una manera sistemtica realizar, gestionar y administrar un proyecto de forma que se tengan altas las posibilidades de xito.
Cabe resaltar que no existe un modelo de ciclo de vida nico ya que el tipo, orden y actividades en cada fase pueden cambiar adaptndose a las necesidades del producto a realizar y a la propia estructura de la organizacin que lo desarrolla a partir de las posibilidades que ofrece la tecnologa de software empleada.
Al aplicarlo en situaciones reales su rigidez genera problemas, porque muchas veces resulta difcil poder disponer de requisitos completos o del diseo pormenorizado del sistema en las fases iniciales, creando una barrera que impide avanzar. Desde el punto de vista de la gestin, es muy fcil dividir las tareas, y prever los tiempos (sumando linealmente los de cada etapa).
Requisitos Diseo
Codificacin Pruebas
Integracin
Operacin y mantenimient o
Ventaja: La sencillez de su gestin y administracin tanto econmica como temporal, ya que se acomoda perfectamente a proyectos internos de una empresa para programas muy pequeos que realizan altas, bajas y modificaciones sobre un conjunto de datos. Desventaja: No es apto para desarrollos que superen mnimamente requerimientos de retroalimentacin entre etapas, es decir, es muy costoso retomar una etapa anterior al detectar alguna falla. Resulta apropiado para: Desarrollo de aplicaciones que se dediquen exclusivamente a almacenar datos, sea una base de datos o un archivo plano. No se tiene la necesidad de realizar procesos sobre ellos ms que una consulta simple. Sistemas pequeos, sin previsin de evolucin a corto plazo. Desarrollar nuevas versiones de sistemas ya veteranos en los que el desconocimiento de las necesidades de los usuarios, o del entorno de operacin no plantea riesgos.
Codificacin Pruebas
Integracin
Operacin y mantenimiento
Requisitos Diseo Ciclo de vida en cascada con el uso de prototipos Codificacin Pruebas
Diseo del prototipo Uso del prototipo
Integracin
Operacin y mantenimiento
Ventajas: Planificacin sencilla Provee un producto con un elevado grado de calidad sin necesidad de un personal altamente calificado.
Desventajas: Necesidad de contar con todos los requerimientos (o la mayora) al comienzo del proyecto, y, si se han cometido errores y no se detectan en la etapa inmediata siguiente, es costoso y difcil volver atrs para realizar la correccin posterior. Adems, los resultados no los veremos hasta que no estemos en las etapas finales del ciclo, por lo que, cualquier error detectado nos trae retraso y aumenta el costo del desarrollo en funcin del tiempo que insume la correccin de stos. Resulta apropiado para: Proyectos en los que se dispone de todos los requerimientos al comienzo, para el desarrollo de un producto con funcionalidades conocidas o para proyectos, que aun siendo muy complejos, se entienden perfectamente desde el principio. Desarrollar nuevas versiones de sistemas ya veteranos en los que el desconocimiento de las necesidades de los usuarios, o del entorno de operacin no plantean riesgos. Sistemas pequeos, sin previsin de evolucin a corto plazo.
Este ciclo fue diseado por Alan Davis, y contiene las mismas etapas que el ciclo de vida en cascada puro. A diferencia de aqul, a ste se le agregaron dos sub-etapas de retroalimentacin utilizados para probar si la aplicacin cumple las especificaciones. Una fase adems de utilizarse como entrada para la siguiente, sirve para validar o verificar otras fases posteriores.
Operacin y mantenimiento
Calificacin
Codificacin
Ventajas: Desarrollo de planes de prueba en etapas tempranas del ciclo de vida para lograr una mayor correccin. Planificacin sencilla Provee un producto con un elevado grado de calidad sin necesidad de un personal altamente calificado. Desventajas: Necesidad de contar con todos los requerimientos (o la mayora) al comienzo del proyecto. Tiene poca flexibilidad y ajustar el alcance es difcil y caro. El modelo no proporciona cambios claros para problemas encontrados durante las fases de pruebas. Resulta apropiado para:
Aplicaciones, que si bien son simples (pequeas transacciones sobre bases de datos por ejemplo), necesitan una confiabilidad muy alta. Un ejemplo claro en el que no nos podemos permitir el lujo de cometer errores es una aplicacin de facturacin, en la que si bien los procedimientos vistos individualmente son de codificacin e interpretacin sencilla, la aplicacin en su conjunto puede tener matices complicados.
Requisitos Diseo preliminar Diseo en detalle Codificacin Pruebas Integracin Calificacin Operacin y mantenimiento
Resulta apropiado para: Una aplicacin que compartir los recursos (CPU, memoria o espacio de almacenamiento) con otras aplicaciones en un ambiente productivo.
El ciclo de vida iterativo es otro ms de los basados en el ciclo de vida en cascada puro, este modelo tiene como fin evitar que debido a malos entendidos, el producto final no sea lo que el cliente solicit en la etapa de requerimientos. Para alcanzar esto se realizan iteraciones de varios ciclos de vida en cascada, entregando una versin mejorada, o ampliada, luego de cada iteracin. Una vez que el avance del producto fue entregado el cliente debe de evaluar el producto, corregirlo, o proponer mejoras. Continuamente se sigue iterando hasta que el producto final sea el requerido. Este modelo de ciclo de vida es ideal para utilizar en aquellas situaciones en las cuales el cliente no est completamente seguro de los requerimientos, o estos no logran ser claramente explicados, por lo que el modelo va creando distintos prototipos que vayan cada vez ms siendo de la aprobacin del cliente. Esta tambin ideal para esas aplicaciones que pueden ser implementadas paulatinamente.
modelo de ciclo de vida evolutivo afronta este problema mediante una iteracin de ciclos requerimientos-desarrollo-evaluacin. Resulta ser un modelo muy til cuando desconocemos la mayora de los requerimientos iniciales, o estos requerimientos no estn completos. Ejemplo: Sistema centralizado de stock-ventas-facturacin.
El modelo de ciclo de vida incremental genera algunos beneficios tales como los que se describen a continuacin: Construir un sistema pequeo siempre es menos riesgoso que construir un sistema ms grande. Como se desarrollan independientemente las funcionalidades, es ms fcil relevar los requerimientos del usuario. Si de detecta un error grave, solo se desecha la ltima iteracin. No es necesario disponer de los requerimientos de todas las funcionalidades en el comienzo del proyecto y adems facilita la labor del desarrollo con la conocida filosofa de divide &conqueror.
Este modelo de ciclo de vida no est pensado para cierto tipo de aplicaciones, sino que est orientado a cierto tipo de usuario o cliente. Se puede utilizar este modelo de ciclo de vida para casi cualquier proyecto, pero ser verdaderamente til cuando el usuario necesite entregas rpidas, aunque sean parciales.
Conocer los requisitos que debe satisfacer el sistema (funciones y limitaciones de contexto). - Asegurar que los requisitos son alcanzables. - Formalizar el acuerdo con los usuarios. Anlisis de riesgo: Se analizan las alternativas e identifican o solucionan los riesgos, sus objetivos se centran en: - Identificar soluciones tecnolgicas para cada una de las funciones del sistema. - Establecer mtodos de validacin del diseo. - Ajustar las especificaciones del producto. Ingeniera: Se desarrolla el producto del "siguiente nivel", sus objetivos se centran en: - Generar el producto o servicio pretendido con el proyecto. - Integrar los elementos subcontratados o adquiridos externamente. - Validar que el producto obtenido satisface los requisitos de diseo previamente definidos y realizar, si es necesario, los ajustes necesarios en dicho diseo para corregir posibles lagunas, errores o inconsistencias. Evaluacin del cliente:Valorizacin de los resultados de la ingeniera, entre sus objetivos se destacan: - Asegurar que el uso del proyecto cumpla con la funcin pretendida. - Realizar un mantenimiento que no se limite a reparar averas o desgastes habituales sino adaptaciones al usuario. Este modelo permite mltiples combinaciones ya que en la planificacin de cada ciclo se determina el avance que se va a ejecutar durante la vuelta. ste puede consistir en la obtencin y validacin de requisitos, o en el desarrollo del diseo, o el diseo junto con la codificacin, o en la obtencin de un subsistema completo (cascada de requisitos diseo codificacin pruebas integracin).
Ventajas: No necesita una definicin completa de los requisitos para empezar a funcionar. Al entregar productos desde el final de la primera iteracin es ms fcil validar los requisitos. El riesgo en general es menor, porque si todo se hace mal, solo se ha perdido el tiempo y recursos invertidos en una iteracin (las anteriores iteraciones estn bien). El riesgo de sufrir retrasos es menor, ya que al identificar los problemas en etapas tempranas hay tiempo de subsanarlos. Desventajas: Es difcil evaluar los riesgos. Necesita de la participacin continua por parte del cliente. Cuando se subcontrata hay que producir previamente una especificacin completa de lo que se necesita, y esto lleva tiempo. Resulta apropiado para:
Sistemas de gran tamao.(Sistemas Operativos para navegadores , y controles aeronuticos) Proyectos de alto riesgo. Cuando no sea posible definir al principio todos los requisitos.
Es un modelo verstil. Construccin de prototipos. Agiliza el desarrollo de software. Es iterativo e incremental. Desventajas: Se necesita un amplio conocimiento de objetos, para hacer una valida seleccin en el proceso. Se requiere un exhaustivo anlisis, y mucha disciplina para que los resultados resulten un xito. A veces se vincula con la programacin orientado a objetos, y su uso exclusivo. Resultados apropiado para: Sistemas complejos de transacciones de base de datos. Programas de monitoreo de Procesos. Programacin por lotes. Creacin de Programas visuales.
que quieren conseguir y que se pongan de acuerdo, es por ello que se la opcin ms razonable sera estudiar una parte de los requisitos que tengan autonoma y disearla, programarla y probarla, una vez que el cliente haya dado su visto bueno realizar lo mismo con otra etapa. Este modelo se basa en iteraciones de cada ciclo de vida en cascada desde el anlisis hasta la prueba, al final de ello se le entrega al cliente una versin mejorada o con mayores funcionalidades del producto permitiendo as que el cliente evalu y proponga mejoras del producto. Es ideal a seguir cuando el usuario necesita entregas rpidas aunque el producto no est terminado.
Ventajas: Permite reducir los riesgos que surgen entre las necesidades del usuario final y el producto. Se puede utilizar en proyectos donde no estn claros los requerimientos del usuario. Se puede adoptar en aplicaciones medianas a grandes. Desventajas Puede ser un desarrollo lento. Aumente el costo del producto.
Los requerimiento son evaluados cuidadosamente y aquellos que son bien comprendidos son seleccionados para desarrollar una implementacin parcial del sistema. Esencialmente se basa en obtener un sistema inicial y exponerlo a los comentarios del usuario para refinarlo realizando en N versiones hasta lograr el desarrollo del sistema adecuado.
Ventajas: Resulta ser un modelo muy til cuando desconocemos la mayora de los requerimientos iniciales, o estos requerimientos no estn completos. Los usuarios y desarrolladores logran un mejor entendimiento del sistema. El Cliente se va familiarizando con el nuevo entorno. Desventajas: Los cambios continuos pueden ser perjudiciales para la estructura del software haciendo costo su mantenimiento. Difcil de aplicar en sistemas transaccionales que requieren ser integrados y operar como un todo. Resulta apropiado para: Proyectos pequeos o medianos con poco tiempo para su desarrollo y sin generar documentacin para cada versin. Desarrollo de sistemas interactivos y de inteligencia artificial.
Ventajas: Permite realizar entregas al cliente antes de terminar el proyecto. Reducir riesgos. Resulta ms fcil relevar los requerimientos del usuario. Si se detecta un error grave solo se desecha la ltima iteracin. Se ajusta de alta incertidumbre (ya que en cada refinamiento se ampla los requerimientos y especificaciones de fases anteriores. Desventajas: Cada incremento debe aumentar la funcionalidad. Difcil de establecer la correspondencia de los requisitos contra los incrementos. Resulta apropiado para: Cierto tipo de usuario o cliente. Todo tipo de proyectos pero ser verdaderamente til cuando el usuario necesite entregas rpidas
Este ciclo de vida es ideal si no se conoce como desarrollar un determinado producto o las especificaciones de forma precisa, para ello se recurre a definir especificaciones iniciales para hacer productos provisionales o parciales con el objetivo de lograr un producto intermedio antes de lograr el producto final permitiendo as conocer como van a responder las funcionalidades previstas para el producto final. Consiste en iterar la fase de anlisis cuanta veces sea necesario mostrando prototipos a los usuarios para que puedan experimentan con l, quienes proveen retroalimentacin de lo que les gusto y lo que no les gust acerca del prototipo proporcionado permitiendo as que se puedan capturar en la documentacin actual la especificacin de requerimientos, la informacin entregada por los usuarios para el desarrollo del producto final. Esta iteracin finalizar cuando el usuario d el visto bueno al prototipo.
Ventajas: Apto para desarrollo en los que no se conoce a priori sus especificaciones Reduce el riesgo de construir productos que no satisfagan las necesidades de los usuarios. Desventaja: Es altamente costoso. No presenta calidad, ni robustez. Exige disponer de herramientas adecuadas. Resulta Apropiado para: Desarrollo de productos innovadores o en el uso de tecnologas nuevas o muy poco probadas.
correccin del modelo de anlisis de sucesos, que provocar a la actividad de anlisis del estado hecho al estado cambios en espera. El modelo concurrente se utiliza como paradigma de desarrollo de aplicaciones cliente/servidor, que cuando se aplica, define actividades en dos dimensiones: una dimensin de sistemas y una dimensin de componentes. Los aspectos del nivel de sistemas se afrontan mediante tres actividades: diseo, ensamblaje y uso. La dimensin de componentes se afronta con dos actividades: diseo y realizacin. La concurrencia se logra de dos formas: - las actividades de sistemas y de componentes ocurren simultneamente y pueden modelarse con el enfoque orientado a objetos. - una aplicacin cliente/servidor tpica se implementa con muchos componentes, cada uno de los cuales se pueden disear y realizar concurrentemente. Ventajas: Excelente para proyectos en los que se conforman grupos de trabajo independientes. Proporciona una imagen exacta del estado actual de un proyecto. El modelo de proceso concurrente es aplicable a todo tipo de desarrollo de software Desventajas: Si no existen grupos de trabajo no se puede trabajar en este mtodo.
Ao s
Metodologas
1968 1974 1975 1977 1978 1981 1985 1986 1987 1989 1990 1993 1995
Metodologa
Concepcin sobre la programacin estructurada de DIJKDTRA Tcnicas de programacin estructurada de WARNIER y JACKSON Primeros conceptos sobre diseo estructurado de MYERS y YOURDON Primeros conceptos sobre el anlisis estructurado GANE y SARSON Anlisis estructurado : DEMARCO y WIINBERG. Nace MERISE SSADM. InformationEngineering Anlisis y Diseo estructurado para sistemas de tiempo real de WARD y MELLOR SSADM Versin 3 Anlisis y Diseo estructurado para sistemas de tiempo real de HATLEY Y PIRHBAY METRICA SSADM Versin 4 METRICA Versin 2 METRICA Versin 2.1
Conjunto de actividades necesarias para transformar los requisitos de los usuarios en un sistema software
Conjunto de tcnicas, procedimientos que permiten idear, planificar y mantener un producto software desde que surge la necesidad del producto hasta que se cumple el objetivo por el cual fue creado Desarrollador: Gestin Cliente: Garantiza un nivel de calidad en el producto Confianza en los tiempos fijados del proyecto. Facilita el control y seguimiento del proyecto Optimiza los recursos disponibles. Facilita la comunicacin entre los usuarios y desarrolladores Ayuda a comprender el problema. Le permite la reutilizacin del producto.
CLASIFICACION: 1- M. ESTRUCTURADAS 2- M. ORIENTADA A OBJETOS 3- M. TRADICIONAL (NO 4- M. AGILES 1.1 ESTRUCTURA GENERAL MERISE
Las bases de MERISE comenzaron en 1.972 por un equipo universitario de ingenieros de Aix-enProvence. La primera versin sali a finales de 1.976. El proyecto parti del Centre TechniqueInformatique del Ministerio de Industria Francs en Septiembre de 1.977, para cubrir las necesidades tanto de la administracin como de las empresas. El proyecto finaliz en mayo de 1.978 dando lugar a MERISE como metodologa de Anlisis y Diseo de Sistemas de Informacin.
AGIL)
Aporta un ciclo de vida ms largo a los existentes hasta entonces que se materializa en un conjunto definido de etapas Fases: Estudio preliminar. Estudio detallado. Implementacin. Realizacin y puesta en marcha.
Proporciona un conjunto de procedimientos para llevar a cabo el anlisis y diseo, pero no cubre aspectos como la planificacin estratgica ni entra en la construccin del cdigo.
Definicin del proceso de produccin : qu hacer, cundo y cmo. Tres puntos de vista : datos, eventos, procesos. Mxima flexibilidad en herramientas y tcnicas de implementacin.
1.3 ESTRUCTURA GENERAL DE MTRICA V 2.0 Propuesta por el Ministerio de las Administraciones Pblicas para que todas las organizaciones sigan el mismo modelo y unificar los criterios para mayor homogeneidad y eficiencia en las aplicaciones informticas
Para construir Mtrica v 2.0 hay unas etapas intermedias en las que hay que asegurar la calidad en la construccin de las aplicaciones informticas relacionadas con el campo del tratamiento de la informacin, elaborando un marco homogneo de referencia para verificar que los productos que se generen tengan el nivel de calidad apropiado y que se cumplan las previsiones iniciales de plazo y coste. Mtrica est en versin 2 porque en 1.991 se decidi revisar el proyecto Mtrica con el objetivo de obtener una nueva versin por los siguientes motivos : Mejorar la anterior versin de 1.989 Responder a la demanda por parte de los centros informticos de una referencia para el desarrollo de sistemas de informacin. Contar con una metodologa compatible con EuroMtodo Aprovechar el mercado de herramientas CASE mucho mayor que cuando se realiz la primera versin de Mtrica.
Fases: Fase 0 : Plan de sistemas de informacin Fase 1 : Anlisis de sistemas Fase 2 : Diseo de sistemas Fase 3 : Construccin de sistemas Fase 4 : Implementacin de sistemas
A continuacin vamos a dar una breve descripcin de las fases de Mtrica v.2.0.
La informacin necesaria para satisfacer los objetivos estratgicos de la organizacin. La arquitectura de la informacin, en cuanto a procesos y datos, y as satisfacer los objetivos estratgicos de la organizacin. Los nuevos sistemas a desarrollar para implantar dicha arquitectura.
Especificacin de objetivos Identificacin de las Unidades afectadas Organizacin de los participantes Planificacin del proyecto
Diseo del modelo conceptual de datos Diseo de la jerarqua de funciones Diseo de la Arquitectura de la Informacin
Identificacin y descripcin de los sistemas existentes Anlisis del entorno tecnolgico actual Diagnstico de la situacin actual
Identificacin de mejoras en los sistemas actuales Identificacin de nuevos sistemas Determinacin de prioridades de desarrollo Especificacin de los sistemas
En este mdulo se identifican los requisitos que ha de satisfacer el sistema y se evalan las distintas alternativas que solucionan el problema recomendando una de ellas. ARS 1: ESTABLECER EL AMBITO Y ALCANCE DEL PROYECTO.
Construccin del modelo lgico actual de procesos. Construccin del modelo lgico actual de datos
DOCUMENTACION ASOCIADA AL MODULO ARS EFS: ESPECIFICACION FUNCIONAL DEL SISTEMA En este mdulo se construyen las especificaciones detalladas del sistema partiendo de los requisitos y soluciones obtenidos del mdulo anterior. EFS 1: CONSTRUIR EL MODELO DE PROCESOS DEL NUEVO SISTEMA
Diseo del diagrama de contexto del sistema Identificacin y definicin de subsistemas Especificacin de interfaces con otros sistemas Descripcin de procesos manuales
Especificacin de requisitos de seguridad y control Especificacin de requisitos de copias de respaldo, contingencias y recuperacin de errores Especificacin de requisitos de rendimiento
Preparacin del plan de pruebas del sistema Especificacin del plan de entrega del sistema Verificacin y validacin de la especificacin funcional del sistema.
Diseo de la Estructura modular del sistema Descripcin de interfaces entre mdulos del sistema Descripcin de interfaces con otros sistemas Descripcin de interfaces de usuario Definicin de componentes del sistema
Elaboracin del modelo fsico de datos Optimizacin del modelo fsico de datos
Definicin del entorno tecnolgico del sistema Especificacin de requisitos de comunicaciones del sistema Especificacin de requisitos de operacin, seguridad y control
Diseo de planes de prueba del sistema Definicin del entorno y limitaciones de prueba.
Preparacin de planes de construccin Preparacin de planes para la implantacin Revisin del Diseo Tcnico del Sistema
Implantacin de la Base de Datos Fsica o ficheros de datos Preparacin del entorno de desarrollo Preparacin del entorno de pruebas Definicin de procedimientos de operaciones de produccin e implantacin
Generacin del cdigo de los componentes del sistema Preparacin, ejecucin y evaluacin de las pruebas unitarias Documentacin de los componentes del Sistema
Preparacin y ejecucin de pruebas de integracin Evaluacin y documentacin de los resultados de las pruebas de integracin
DOCUMENTACION ASOCIADA AL MODULO DTS DPU: DESARROLLO DE PROCEDIMIENTOS DE USUARIO En este mdulo se definen todas las operaciones que han de realizar los usuarios para trabajar con el sistema y se les suministra a los usuarios toda la informacin necesaria para que sean capaces de utilizar el nuevo sistema de forma satisfactoria, obteniendo los mejores beneficios. DPU 1: COMPLETAR EL PLAN DE DESARROLLO DE PROCEDIMIENTOS DE USUARIO.
Preparacin de un borrador del plan de desarrollo de procedimientos de usuario. Especificacin de criterios de calidad y estndares de procedimientos de usuario.
Identificacin de requisitos y recursos necesarios para la formacin de usuarios. Preparacin de los materiales de formacin de usuarios
Preparacin de las pruebas del sistema Creacin del entorno de pruebas del sistema Realizacin de las pruebas del sistema
Preparacin de las pruebas de aceptacin Preparacin del entorno de produccin Realizacin de las pruebas de aceptacin
Instalacin de procedimientos automticos de produccin Instalacin de procedimientos manuales de produccin Inicio de procedimientos de produccin
2. ORIENTADA A OBJETOS: Proponen el Mtodo Unificado con la idea de conseguir una unificacin de sus mtodos y notaciones, que posteriormente da lugar al UnifiedModelingLanguage .
3. METODOLOGIA TRADICIONAL NO AGILES Son aquellas que estn guiadas por una fuerte planificacin durante todo el proceso de desarrollo
Se realiza una intensa etapa de anlisis y diseo antes de la construccin del sistema
4. METODOLOGIA AGILES INCREMENTAL: Entregas pequeas de software en un ciclo corto COOPERATIVO: Clientes y desarrolladores trabajan juntos SENCILLO: Mtodo fcil de aprender y modificar ADAPTABLE: Permite realizar cambios a ltimo momento.