You are on page 1of 44

Modelos de Desarrollo

Introduccin
Para el desarrollo de cualquier producto de software se

realizan una serie de tareas entre la idea inicial y el producto final.


Un modelo de desarrollo establece el orden en el que se

harn las cosas en el proyecto, nos provee de requisitos de entrada y salida para cada una de las actividades. Para desarrollar un producto de software se realizan diversas actividades que se estructuran y relacionan de acuerdo a un modelo y se desarrollan siguiendo un mtodo.

Introduccin
Es necesario destacar el ciclo de vida del proyecto y el

modelo de desarrollo.

El ciclo de vida del proyecto ayuda a controlar las

actividades del proyecto desde el inicio al fin del mismo.

El modelo de desarrollo nos ayuda a la forma en la que

vamos a construir el producto.

Ambos se complementan para generar el producto desde

el punto de vista tcnico y administrativo.

Introduccin

Define la estructura de un proceso de desarrollo racional y controlable.


No existe un modelo universal. Los modelos no son rgidos. Son una gua respecto al orden en que deben adelantarse las actividades.

Establece el ciclo de vida del software.

Modelos de Desarrollo...

El Modelo de Cascada. El Modelo en V. En Flor. Prototipos. El Modelo de Espiral. El Modelo de Procesos. Desarrollo Incremental.

El Modelo de Cascada
Este modelo tiene una secuencia ordenada.

El trabajo de una etapa previa es la entrada del siguiente

proceso.
Provee de un gran control sobre las fechas de entrega y

entregables.

El Modelo de Cascada
Establece criterios de entrada y salida en cada fase,

claramente definidos.
Dado que provee pocos puntos de visibilidad, da la impresin

de que es lento.

El Modelo de Cascada

El Modelo por Etapas

Aspectos Favorables...
Excelente cuando se tiene un producto estable y se conoce la

tecnologa.
Es un mtodo muy estructurado que funciona bien con gente

de poca experiencia.
Provee estabilidad en los requerimientos.

La planeacin se puede hacer anticipadamente.

Aspectos en Contra...
Tiene poca flexibilidad.
Los proyectos en la prctica raramente siguen un flujo

secuencial.
Siempre es difcil para el cliente mostrar todos los

requerimientos anticipacin.

explcitamente

con

mucha

El cliente debe tener paciencia.

Aspectos en Contra...
Es inflexible y no motiva el cambio.
Poco apropiado para aplicaciones orientadas a la toma de

decisiones.
Los usuarios tienen una participacin limitada.

El Modelo en V
Es una re - examinacin del modelo del ciclo de vida desde el

punto de vista de aseguramiento de calidad.


Cuando

cada

proceso

termina

su

producto,

las

especificaciones de prueba para la probar los procesos estn


tambin terminadas.

El Modelo en V
Inicio Anlisis Diseo

Plan de Aceptacin Integracin del Sistema

Pruebas de Integracin del Sistema

Cdigo

Implem.

P.I.-Val.

P.U.

Modelo en Flor
El propsito del equipo de desarrollo de software es el

de desarrollar un producto de software.


Los equipos no deben de estar preocupados por el

proceso de otros equipos sino que del desarrollo mismo.


Deben de desarrollarse todas las etapas un poco al

mismo tiempo hasta que el producto final es alcanzado.

Prototipos

Un prototipo es una versin preliminar de un sistema de informacin con fines de demostracin o evaluacin.

Prototipos

Construccin de Prototipos

Identificacin de Requerimientos.

Diseo Rpido. Utilizar el Prototipo.


Revisar y Mejorar.

Prototipos
Es un mtodo menos formal de desarrollo.
El

prototipeo es una tcnica para comprender las especificaciones.

Un prototipo puede ser desechado si no se llega a un

acuerdo.
Un prototipo puede llegar a ser parte del producto final.

Aspectos Favorables...
tiles cuando los requerimientos son cambiantes. Cuando no se conoce bien la aplicacin.

Cuando el usuario no se quiere comprometer con los

requerimientos.

Cuando se quiere probar una arquitectura o tecnologa.

Cuando se requiere rapidez en el desarrollo.

Aspectos en Contra...
No se sabe con exactitud cuando se tendr un producto

aceptable.

Se desconoce el nmero de iteraciones necesarias. Da una falsa ilusin al usuario sobre la velocidad del

desarrollo.

Se puede visualizar aproximadamente el producto final an

cuando no este con los estndares.

El Modelo de Espiral
Los productos de software son creados a travs de mltiples

repeticiones del proceso del ciclo de vida. Se descomponen en mini-proyectos.

Estos modelos han sido aplicados al desarrollo de software.

Aun no ha madurado al punto de ser aplicado como modelo

de desarrollo con tiempos y limitaciones de costos.

Modelo de Proceso de Espiral


Determine objetivos alternativas y restricciones Anlisis de Riesgos Anlisis de Riesgos Anlisis de Riesgos Anlisis de Proto Riesgos tipo1 Prototipo Prototipo 3 2 Prototipo Operacional

Evale alternativas, identifique y resuelva riesgos

REVISIN

Plan de requerimientosConcepto de Plan del ciclo de vida Operacin

Simulaciones, modelos y benchmarks

Planea la siguiente fase

Requeri Diseo mientos de Diseo del Detallado SW Plan de Validacin de Producto Codificacin Desarrollo Requerimientos Prueba de Unidades Plan de Integracin Diseo Prueba de y Prueba Prueba de Integracin Desarrolla y verifica Aceptacin el siguiente nivel Servicio del producto

Aspectos Favorables...
El producto avanza a pasos firmes solucionando riesgos en

cada iteracin.

El producto termina con todos los riesgos resueltos.


Se pueden incluir otros mtodos de desarrollo en las

iteraciones.

A medida que el costo aumenta, los riesgos se reducen. Se tienen puntos de control en cada interaccin.

Aspectos en Contra...
Es complicado.

Requiere de mucha administracin.


Difcil de definir los objetivos, metas que indiquen que se

puede avanzar al siguiente ciclo.


Se puede caer en un desarrollo de nunca acabar.

El Modelo de Procesos
Impulsa un proceso iterativo de desarrollo.
Cada ciclo es una versin del producto. Utiliza metas definidas para marcar la transicin entre las

distintas etapas.
Ofrece mayor poder de decisin a los usuarios.

Busca mejorar la calidad y creatividad.

El Modelo de Procesos
Estabilizacin

Idea/Necesidad

Construccin

Planeacin

Las Metas
Liberacin

Cdigo Completo

Visin y Alcance

Especificaciones Aprobadas

Aspectos Favorables...
Etapas claramente definidas con metas, entregables y

responsables.
Se establecen roles asociados al modelo que promueven la

participacin de todos.
Involucra muy de cerca al usuario.

Aspectos en Contra...
Dado que la mayora de las decisiones son en consenso por el

equipo en su conjunto, en ocasiones toman ms tiempo de lo debido.


Para proyectos pequeos puede resultar poco prctico. El considerar versiones hace que se dejen de lado algunas

decisiones.

Desarrollo Incremental
Permite construir el proyecto en etapas incrementales en

donde cada etapa agrega funcionalidad.


Cada etapa consiste de requerimientos, diseo, codificacin,

pruebas, y entrega.
Permite entregar al cliente un producto ms rpido en

comparacin del modelo de cascada.

Desarrollo Incremental
Reduce los riesgos ya que:
Provee visibilidad sobre el progreso a travs de sus nuevas

versiones.
Provee retroalimentacin a travs de la funcionalidad mostrada. Permite atacar los mayores riesgos desde el inicio.

Desarrollo Incremental
Se pueden hacer implementaciones parciales si se cuenta

con la suficiente funcionalidad.


Las pruebas y la integracin es constante.
El progreso se puede medir en periodos cortos de

tiempo.
Resulta ms sencillo acomodar cambios al acotar el

tamao de los incrementos.

Desarrollo Incremental
Se puede planear en base a la funcionalidad que se quiere

entregar primero.
Por su versatilidad requiere de una planeacin cuidadosa

tanto a nivel administrativo como tcnico.

Aspectos Favorables
La solucin se va mejorando en forma progresiva a travs de

las mltiples iteraciones.


Incrementa el entendimiento del problema y de la solucin

por medio de los refinamientos sucesivos.

Aspectos en Contra
Requiere de mucha planeacin, tanto administrativa como

tcnica.
Requiere de metas claras para conocer el estado del proyecto.

Propuesta de Yourdon
Requerimientos del Usuario Sistema Probado

Encuesta
Subsistemas Probados Prueba de subsistema

Prueba de Sistema

Especificacin Funcional Necesidades de Rendimiento diseo Preliminar

Anlisis

Estudio del HW Prueba de Unidad Mdulos Codificados

Configuracin Especificacin Final Diseo del Sistema Detallado Especificacin de los Programas

Mdulos Probados

Codificacin

Qu Modelo Utilizar?

Un Proyecto...
Un proyecto es una organizacin transitoria

que involucra recursos materiales e individuos dedicados a alcanzar un objetivo especifico dentro de un periodo de tiempo, un presupuesto, y un objetivo tcnico.

Por lo Tanto...
Un proyecto:
Tiene un principio y un fin.
Debe de tener un objetivo (debe de ser medible). Requiere de un lder y de un equipo.

Lo que indica, que es:


Temporal y nico, ya que involucra hacer algo que

no se ha hecho antes.

Qu Modelo Usar?
Dado que cada proyecto es nico, no existe un modelo que

se aplique al 100% a todos los proyectos de una organizacin.


Una organizacin puede contar con uno o ms modelos de

desarrollo para ser utilizados, dependiendo del tipo de proyecto.


El modelo seleccionado tendr influencia en el xito del

proyecto y en el tipo de decisiones que se debern hacer.

Cul Seguir?
Para seleccionar el modelo a adoptar habr que hacerse una serie de cuestionamientos:
Qu tantos son los riesgos del proyecto?

Qu tan claros estn los requerimientos?


Se conoce bien la tecnologa ha utilizar? Visibilidad que requiere el proyecto?

Qu tanta planeacin hacia adelante es requerida?


Qu restricciones se tienen?

Criterios de xito
Contar con un modelo debidamente documentado.

(entradas, salidas, entregables, aprobaciones)


Los documentos deben estar actualizados.
La gente que participa en el proyecto debe estar capacitada

en su uso.
Se debe reforzar el uso del modelo mediante auditorias y

revisiones.

Criterios de xito
La alta gerencia debe soportar la utilizacin de un modelo. Cualquier desviacin al modelo debe ser documentada y

aprobada.
Se debe de medir la eficiencia del modelo.
Retroalimentar y ajustar.

You might also like