You are on page 1of 15

Desarrollo

Evolutivo,
Incremental y
Prototipos
SOFTWARE DE COMUNICACIONES

PROFESOR: ING. ALEXIS MORA G.

ESTUDIANTES:
ADEMIR RASMIJN

Contenido
Introduccin................................................................................................................ 2
Modelo incremental...................................................................................................... 3
Historia.................................................................................................................... 3
Concepto................................................................................................................. 3
En qu consiste?.................................................................................................... 4
Etapas...................................................................................................................... 4
Caractersticas......................................................................................................... 6
Modelo Prototipos....................................................................................................... 7
Historia.................................................................................................................... 7
Concepto................................................................................................................. 7
Qu es el modelo de prototipos?.............................................................................8
Desarrollo................................................................................................................ 8
Etapas.................................................................................................................... 10
Caracteristicas....................................................................................................... 11
Comparacin entre mtodos...................................................................................... 12
Evolutivo contra incremental...................................................................................... 12
Diferencias entre el incremental y prototipos.................................................................12
Conclusin................................................................................................................ 13
Bibliografa............................................................................................................... 14

Introduccin
Debido a lo complejo que resulta el desarrollo de software, se deben buscar mtodos
que permitan definir claramente un ciclo de vida del software. Para garantizar que este
cumpla con los objetivos previstos al inicio.

Los mtodos de desarrollo de software son un conjunto de herramientas, tcnicas y


procesos que brindan soporte y facilitan el logro u obtencin de una meta.
El ciclo de vida de un producto de software define sus etapas desde su anlisis, diseo,
desarrollo, implementa

Modelo incremental
Al igual que los otros mtodos de modelado, el Modelo Incremental es de naturaleza
interactiva pero se diferencia de aquellos en que al final de cada incremento se entrega
un producto completamente operacional.
El Modelo Incremental es particularmente til cuando no se cuenta con una dotacin de
personal suficiente. Los primeros pasos los pueden realizar un grupo reducido de
personas y en cada incremento se puede aadir personal, de ser necesario.

Historia
El modelo fue propuesto por Haralan Mills en 1980. Sugiri como una forma de reducir
la repeticin del trabajo en el proceso de desarrollo y dar oportunidad de retrasar la
toma de decisiones en los requisitos, hasta adquirir experiencia con el sistema. Surge
porque en los primeros desarrollos se poda esperar largo tiempo hasta que el software
estuviese listo. Las reglas del negocio de hoy no lo permiten.

Concepto
Es un modelo para el desarrollo de software en el que se realizan secuencias lineales
de forma escalonada mientras se progresa en el tiempo. Cada secuencia lineal produce
un incremento en el software.
Durante el proceso se trata de llevar a cabo el proyecto en diferentes partes, para que
al final terminar siendo una solucin completa, de esta forma poder resolver las
necesidades planteadas por el cliente.
Sin embargo, estos incrementos no se pueden realizar de forma aleatoria. Sino que
depende del cliente, de cual necesidad es ms urgente de los puntos del proyecto.
Se busca realizar los incrementos ms bsicos, complejos y de mayor riesgo lo ms
pronto posible. Para que el proyecto conforme avance en el tiempo disminuya el riesgo
y aumenten las posibilidades de xito.

En qu consiste?
Consiste en un mtodo de desarrollo de software donde se realiza un desarrollo inicial
de la arquitectura del sistema. Este primer desarrollo esencial es denominado ncleo.
A este ncleo, se le agregaran incrementos, donde cada uno posee su propio ciclo de
vida. Se basan en el anterior, pero no cambian ni su funcionabilidad ni sus interfaces.
Al principio se crea un plan de incrementos, basado en las funciones priorizadas segn
el cliente. Cada incremento representa un subconjunto de funciones del sistema que se
entregar.

Etapas
Generalmente el proceso se divide en cuatro etapas: Anlisis, diseo, codificacin y
pruebas.
Anlisis
Definir con detalle las necesidades que tendrn que resolver el software, sin tomar
encuentra los medios tcnicos necesarios. Es decir, se definen los requisitos del
sistema.
Con base a esto se redacta la especificacin de requisitos, el cual especificara que
debe hacer el software abarcando lo ms importante para que se pueda desarrollar.
Diseo
Especifica una solucin al problema planteado en la etapa de anlisis. Tambin nos
indica como el software debe realizar sus funciones. Hay que definir su arquitectura en
general, las interfaces del usuario.
A partir de todo lo anterior se debe codificar el software. Se puede hacer la
comparacin con la construccin de un edificio, donde todo lo especificado
anteriormente nos servir como plano para la construccin del sistema.
De esta etapa de obtendr el documento es la especificacin del diseo. Tambin esta
etapa es el mejor momento para elaborar la especificacin de la prueba (define con que
datos se debe probar cada programa, los cuales son los resultados esperados en cada
paso)

Codificacin
Es la etapa en la se traduce el diseo plantado en las etapas anteriores en cdigo
procesable en la computadora. Se empieza la elaboracin del sistema propiamente.
En esta etapa se obtiene el programa propiamente con sus funcionabilidades y
componentes

Pruebas
Conste en realizar pruebas al software creado. Desde mbitos diferentes para
comprobar que de verdad se comporte segn lo esperado.
Se empieza probando un programa, posteriormente se prueba como un conjunto de
programas, para as conocer si el sistema podra solventar el problema.

Caractersticas
Beneficios

Construir un sistema pequeo conlleva menos riesgos que desarrollar un


sistema grande.
El usuario se involucra ms.
Se reduce el tiempo de espera.
Al ir desarrollando parte de las funcionabilidades, es ms fcil determinar si los
requerimientos planteados para los niveles subsiguientes son correctos.
Si un error importante es realizado, solo la ltima iteracin necesita ser
descartada.
Reduciendo el tiempo de desarrollo de un sistema decrecen las probabilidades
que esos requerimientos de usuarios puedan cambiar durante el desarrollo.
Los errores de desarrollo realizados en un incremento, pueden ser arreglados
antes del prximo incremento.
los incrementos se pueden planear para gestionar riesgos tcnicos.

Desventajas

Se requiere mucha planeacin, tanto administrativa como tcnica


Se requieren metas claras para conocer el estado del proyecto
Difcil de evaluar el costo total
Las primeras versiones son muy incompletas
Se puede aumentar el costo debido a las pruebas ya que pueden requerir ms
tiempo y recursos

Modelo Prototipos
Historia
Este proceso est en contraste con las dcadas de 1960 y 1970 del ciclo de desarrollo
monoltica de la construccin de todo el programa primero y luego la elaboracin de
cualquier inconsistencia entre el diseo y la ejecucin, lo que llev a los mayores
costos de software y mal estimaciones de tiempo y costo. Prototipos tambin puede
evitar el gran gasto y la dificultad de cambiar un producto de software terminado.

La prctica de prototipos es uno de los puntos Frederick P. Brooks hizo en su libro de


1975 The Mythical Man-Month y sus 10 aos de aniversario artculo No Silver Bullet.

Un ejemplo temprano de prototipos de software a gran escala fue la implementacin del


traductor Ada / ED que fue creado por la Universidad de Nueva York para el lenguaje
de programacin Ada. Se llev a cabo en SETL con la intencin de producir un modelo
ejecutable para el lenguaje Ada, saltando en la claridad del diseo y la interfaz de
usuario a travs de la velocidad y la eficiencia.

Concepto
El modelo de prototipos se refiere a la construccin de prototipos de aplicaciones de
software que muestran la funcionalidad del producto en fase de desarrollo, pero en
realidad no puede contener la lgica exacta del software original/final.
La idea detrs de esto es que un prototipo inicial se presenta al usuario. Ellos
proporcionan informacin y propuestas de mejoras. Estn contestado por el
desarrollador que a continuacin se presenta un prototipo ms refinado. El usuario
proporciona una vez ms retroalimentacin. El proceso se repite. As que en cada
etapa el prototipo evoluciona hacia el sistema final. De ah el trmino prototipo
evolutivo.
La creacin de prototipos de software se est volviendo muy popular como un modelo
de desarrollo de software, ya que permite entender las necesidades del cliente en una
etapa temprana de desarrollo. Ayuda a obtener informacin valiosa de los clientes y
ayuda a los diseadores y desarrolladores de software a entender acerca de qu es
exactamente lo que se espera del producto en fase de desarrollo.

Qu es el modelo de prototipos?

Es un modelo de trabajo de software con algunas funciones limitadas.

El prototipo no siempre se sostiene la lgica exacta utilizada en la aplicacin de


software actual/final y es un esfuerzo extra para ser considerado en la
estimacin de esfuerzo.

Prototipos se utiliza para permitir que los usuarios evalen propuestas para
desarrolladores y probarlos antes de su implementacin.

Tambin ayuda a entender los requisitos que son especficos del usuario y no
pudieron haber sido considerados por el desarrollador durante el diseo del
producto.

Desarrollo

A continuacin se presenta el enfoque paso a paso para disear


un prototipo de software:
Requisito bsico de identificacin: Este paso implica la comprensin de los
requisitos ms bsicos de productos especialmente en trminos de interfaz de usuario.
Los detalles ms intrincados del diseo interno y los aspectos externos, como el
rendimiento y la seguridad pueden ser ignorados en esta etapa.

Desarrollar el prototipo inicial: El prototipo inicial se desarrolla en esta etapa, donde


los requisitos bsicos son exhibidas y las interfaces de usuario se proporcionan. Estas
caractersticas pueden no funcionar exactamente de la misma manera internamente en
el software real desarrollado y las soluciones se utilizan para dar la misma apariencia
que el cliente en el prototipo desarrollado.

Revisin del prototipo: El prototipo desarrollado se presenta al cliente y las otras


partes interesadas importantes en el proyecto. La retroalimentacin se recoge de una
manera organizada y se utiliza para nuevas mejoras en el producto en fase de
desarrollo.

Revisar y mejorar el Prototipo: La retroalimentacin y los comentarios de revisin se


discuten en esta etapa y algunas negociaciones suceden con el cliente sobre la base
de factores como, el tiempo y las limitaciones presupuestarias y la viabilidad tcnica de
la implementacin real. Los cambios aceptados se incorporan de nuevo en el nuevo
prototipo desarrollado y el ciclo se repite hasta que se cumplan las expectativas del
cliente.

Los prototipos pueden tener dimensiones horizontales o verticales. Prototipo Horizontal


muestra la interfaz de usuario para el producto y da una visin ms amplia de todo el
sistema, sin concentrarse en las funciones internas. Un prototipo vertical en el otro lado
es una elaboracin detallada de una funcin especfica o un sistema sub en el
producto.

El propsito de ambos prototipo horizontal y vertical es diferente. Prototipos


horizontales se utilizan para obtener ms informacin sobre el nivel de interfaz de
usuario y los requisitos empresariales. Incluso se puede presentar en las
demostraciones de ventas para conseguir que las empresas en el mercado.
Prototipos verticales son de carcter tcnico y se utilizan para obtener detalles sobre el
funcionamiento exacto de los subsistemas. Por ejemplo, los requisitos de base de
datos, de interaccin y de procesamiento de datos de cargas en un sistema de sub
dado.

Etapas

Las fases del modelo evolutivas Prototipos


Este modelo incluye cuatro fases:

La identificacin de las necesidades bsicas.


Aunque es posible que no seamos capaces de saber todos los requisitos, ya que es un
proceso continuo, debemos ser capaces de identificar las cosas bsicas necesarias
para que este proyecto funcione.
Crear el prototipo.
Habr varios prototipos que se harn en este proyecto, con cada uno mejor que el
anterior para asegurar su xito.
Verificacin de prototipo.
Esto se har a travs de encuestas y participantes de experimentacin utilizando
tomadas del mercado objetivo. Los clientes son las mejores personas para obtener
retroalimentacin de averiguar si el sistema es bueno o no.
Los cambios para los prototipos.
Cuando descubri que el prototipo es visto como insuficiente o insatisfactoria, el equipo
del proyecto volver a realizar ms iteraciones hasta que se vuelve perfecta, segn los
comentarios de los clientes.

Caractersticas

Ventajas
-

Dado que es una serie de iteraciones repetitivas, ser fcil para los clientes a ver
algunas novedades.

L obtencin de una impresin positiva del mercado es facilmente alcanzable, ya


que pueden ver mejoras en el sistema y que brindas mejor servicio al cliente.

Cuando los sistemas actuales son complicados e ineficaces, este modelo


evolutivo se convertir en un valor incalculable ya que puede allanar el camino
para la mejora de los sistemas a travs de una serie de iteraciones.

El proyecto slo se considera completa una vez que ya es la creacin de un


sistema perfecto.

Desventajas
-

Un problema con el prototipo evolutivo es saber cundo hay que dejar de ajustar
el sistema y, de hecho terminar el desarrollo.

- Con este modelo en particular, puede ser muy difcil de pronosticar la fecha de
finalizacin del proyecto. Se trata de un desarrollo continuo, establecido por el
mayor nmero de iteraciones o prototipos como sea posible que se hace difcil
decir cundo va a ser completa.
-

Tambin es importante tener en cuenta que, dado que se trata de un proceso de


ensayo y error, sera necesario un buen equipo de gestin del proyecto en
trminos de conocimientos y habilidades a fin de que sean capaces de
contrarrestar sorpresas en el camino.

Comparacin entre mtodos

Evolutivo contra incremental


El incremental es una aproximacin muy parecida a la evolutiva. En este modelo se
desarrolla el sistema para satisfacer un subconjunto de los requisitos especificados y
en posteriores versiones se incrementa el programa con nuevas funcionalidades que
satisfagan ms requisitos.
En el caso del modelo evolutivo se desarrollara una nueva versin de todo el sistema,
en el incremental se parte de la versin anterior sin cambios y le aadimos las nuevas
funciones.

Diferencias entre el incremental y prototipos


El mtodo evolutivo se diferencia del modelo por prototipos en que en prototipos se da
por hecho que aunque se necesiten varias iteraciones para lograrlo al final se llegar a
tener una serie de requisitos completos y sin errores, que no vayan a cambiar ms.
En el modelo evolutivo se asume que los requisitos pueden cambiar en cualquier
momento del ciclo de vida y no solo en la etapa de anlisis.

Conclusin

Un modelo incremental lleva a pensar en un desarrollo modular, con entregas


parciales del producto Software denominados incrementos del sistema, que son
escogidos en base a prioridades predefinidas de algn modo.
El modelo permite unaimplementacin con refi-namientos sucesivos (ampliacin y/o
mejora).
Con cada incremento se agrega nueva funcionalidad o se cubren nuevos requisitos o
bien se mejora la versin previamente implementada del producto software.

Modelo Prototipo es utilizado bsicamente para facilitar a los ingenieros de software el


desarrollo de un producto de software mediante la definicin de parmetros y requisitos
que permitan satisfacer las necesidades del cliente y el usuario adems de facilitarle el
trabajo al desarrollador.
Consiste en la representacin de un diseo rpido el mismo que me permite
establecer incluso el nivel de aceptacin que tendr el software a desarrollarse.
Modelo Prototipo es fcil de utilizar y de modificar es utilizado para establecer
aspectos del sistema que no son contemplados bien mediante la retroalimentacin ,
que consiste en analizar las alternativas y en caso de no cubrir las expectativas del
usuario/cliente se procede a repetir las etapas para que el sistema a desarrollar sea de
calidad. Administracin de Proyectos.

Bibliografa
Gutierrez, D. (Julio de 2011). Mtodos de Desarrollo de Software. (U. d. Andes, Ed.)
Obtenido de
http://www.codecompiling.net/files/slides/IS_clase_13_metodos_y_procesos.p
df
Hernandez, A. (7 de 11 de 2013). Modelo incremental - Explicacin & Desarrollo.
Obtenido de https://www.youtube.com/watch?v=fXMQohgAYAY
Instituto Nacional de Tecnologias de la Comunicacion. (Marzo de 2009). INGENIERA
DEL SOFTWARE: METODOLOGAS Y CICLOS DE VIDA. Obtenido de
file:///C:/Users/Felipe/Desktop/guia_de_ingenieria_del_software.pdf
Vennapoosa, C. (16 de 11 de 2012). The Evolutionary Prototyping Model Obtenido
de
http://www.exforsys.com/career-center/project-management-life-cycle/theevolutionary-prototyping-model.html
Bathia, R. (Agosta 2010). SDLC - Software Prototype Model Obtenido de
http://www.tutorialspoint.com/sdlc/sdlc_software_prototyping.htm
Jones, D. (Abril 2009) Evolutionary Prototyping Obtenido de
http://www.teach-ict.com/as_a2_ict_new/ocr/A2_G063/331_systems_cycle/-(borrar)--prototyping_RAD/miniweb/pg3.htm