Está en la página 1de 11

Desarrollo de Software Mtodo Iterativo y Creciente

Tcnicas y Mtodos para Desarrollo de software


Informe N1

Informe
Desarrollo de Software
Mtodo Iterativo y Creciente

Ramo

Docent
e
Alumno

:
:

Taller de formacin
complementaria
Ricardo ancupil
Waldemar Antonio Gavilan
Chavez

Desarrollo de Software Mtodo Iterativo y Creciente

Historia de
revisin
Fecha

Versi
on

Descripcion

Autor

15/12/201
5

1.0

Primera versin del


documento

Waldemar Antonio Gavilan


Chavez

Desarrollo de Software Mtodo Iterativo y Creciente

ndice
1
2
2.1
2.2
2.3

3
4
5
6

Tabla de contenidos.

.
Introduccin al documento.
...
Propsito

Qu significa iteracin?
.
Concepto de desarrollo iterativo y
creciente
Ingeniera de Software (breve historia).

Comparativa Modelo Cascada/Iterativo.


..
Conclusiones finales......
....
Bibliografa
Webgrafia
.

3
4
4
4
4
6
7
8
9

Desarrollo de Software Mtodo Iterativo y Creciente

2 Introduccin al documento
3
2.1 Propsito
El presente documento tiene como objetivo informar sobre el desarrollo de
software Iterativo y Creciente (o iterativo e incremental), que es la contraparte
del modelo/mtodo visto en clases (Desarrollo en cascada); Este modelo dentro
de su ejecucin propone una serie de tareas en conjunto con el cliente, que a
su vez interacta con el uso y retroalimentacin de los mdulos principales de
un sistema en cuestin, a medida que se van entregando y depurando hasta
llegar al producto final.

2.2 Qu significa Iteracin?


Acto de repetir un proceso con el objetivo de alcanzar una meta deseada.

2.3 Concepto de desarrollo iterativo y creciente


Supongamos que se requiere crear una solucin procesador de texto,
entonces el equipo de desarrollo, en cierta cantidad de tiempo implementa la
plataforma e interfaz principal; el cliente en primera instancia ya puede
desenvolverse usando funciones bsicas, en la segunda iteracin se hace una
entrega con la interfaz ms sofisticada, en la tercera iteracin un corrector de
ortografa e insertar imgenes, y as sucesivamente hasta lograr un producto
que cumpla todas las expectativas y cubra casos de uso en funcin de la
necesidad del cliente y el escenario al que se enfrentar en situaciones futuras.
El desarrollo iterativo en su esencia es un conjunto de tareas agrupadas
en pequeas fases (o bloques) repetitivas (iteraciones). Su ciclo de vida
bsicamente inicia con el anlisis y finaliza con la instauracin y aprobacin del

Desarrollo de Software Mtodo Iterativo y Creciente


sistema. Esta metodologa nace en respuesta a las debilidades del modelo
tradicional de cascada.
Se le da un gran nfasis a la participacin activa del cliente a lo largo de
todas las etapas de desarrollo. Esta interaccin del cliente junto con el equipo
de desarrollo pretende, en los tiempos de ejecucin planificados que cada
entrega sea ms completa y robusta que la anterior.

Figura 1
En general cada iteracin refina lo realizado en la iteracin anterior. De
esta forma se produce una dinmica en la que se van mejorando los productos
(entregables) obtenidos en la iteracin anterior. Eventualmente se realizaran
todas las iteraciones planificadas, o se llegara al nivel de refinamiento
deseado.

Algunas de las ventajas de llevar a cabo un proyecto mediante este modelo de


desarrollo son por ejemplo:

En el desarrollo de este modelo se da la retroalimentacin muy


temprano a los usuarios.
Permite separar la complejidad del proyecto, gracias a su desarrollo por
parte de cada iteracin o bloque.
El producto es consistente y puntual en el desarrollo.

Desarrollo de Software Mtodo Iterativo y Creciente

Los productos desarrollados con este modelo tienen una menor


probabilidad de fallar.
Se obtiene un aprendizaje en cada iteracin que es aplicado en el
desarrollo del producto y aumenta las experiencias para prximos
proyectos
Multiples iteraciones contribuyen a crear un producto completamente
integrado.

Desarrollo de Software Mtodo Iterativo y Creciente

3 Ingeniera de software (breve historia)


Segn Sommerville (2005), para muchas personas el software son solo
programas de computadora, sin embargo nos comenta que son todos aquellos
documentos asociados a la configuracin de datos que se necesitan para hacer
que estos programas operen de manera adecuada. Estos productos de
software se desarrollan para algn cliente en particular o para un mercado en
general. Para el diseo y desarrollo de proyectos de software se aplican
metodologas, modelos y tcnicas que permiten resolver los problemas. En los
aos 50 no existan metodologas de desarrollo, el desarrollo estaba a cargo de
los propios programadores. De ah la importancia de contar con analistas y
diseadores que permitieran un anlisis adecuado de las necesidades que se
deberan de implementar.
Aun as los resultados eran impredecibles, no se saba la fecha exacta en
que concluira un proyecto de software, no haba forma de controlar las
actividades que se estaban desarrollando. Tampoco se contaba con
documentacin estandarizada. El nacimiento de tcnicas estructuradas es lo
que da origen al desarrollo de aplicaciones a travs de mtodos de ingeniera.
La informtica aporta herramientas y procedimientos que se apoyan en la
ingeniera de software con el fin de mejorar la calidad de los productos de
software, aumentar la productividad y trabajo de los ingenieros desarrolladores
de software, facilitar el control del proceso de desarrollo de software y
suministrar a los desarrolladores las bases para construir software de alta
calidad en una forma eficiente, Gacita (2003).
El objetivo principal que busca la ingeniera de software es convertir el
desarrollo de software en un proceso formal, con resultados predecibles, que
permitan obtener un producto final de alta calidad y satisfaga las necesidades
y expectativas del cliente. Segn Gacita (2003), la Ingeniera de Software es
un proceso intensivo de conocimiento, que abarca la captura de
requerimientos, diseo, desarrollo, prueba, implantacin y mantenimiento.
Generalmente a partir de un complejo esquema de comunicacin en el que
interactan usuarios y desarrolladores, el usuario brinda una concepcin de la
funcionalidad esperada y el desarrollador especifica esta funcionalidad a partir
de esta primera concepcin mediante aproximaciones sucesivas. Este
ambiente de interaccin motiva la bsqueda de estrategias robustas para
garantizar que los requisitos del usuario sern descubiertos con precisin y que
adems sern expresados en una forma correcta y sin ambigedad, que sea
verificable, trazable y modificable.
El trmino ingeniera del software empez a usarse a finales de la
dcada de los sesenta, para expresar el rea de conocimiento que se estaba

Desarrollo de Software Mtodo Iterativo y Creciente


desarrollando en torno a las problemticas que ofreca el software. En esa
poca, el crecimiento espectacular de la demanda de sistemas de computacin
cada vez ms y ms complejos, asociado a la inmadurez del propio sector
informtico (totalmente ligado al electrnico) y a la falta de mtodos y
recursos, provoc lo que se llam la crisis del software. Durante esa poca
muchos proyectos importantes superaban con creces los presupuestos y fechas
estimados. La crisis del software finaliz pues se comenz a progresar en los
procesos de diseo y metodologas.
Una parte importante de la ingeniera de software es el desarrollo de
6
metodologas y modelos. En la actualidad ha habido muchos esfuerzos que se
han encaminado al estudio de los mtodos y tcnicas para lograr una
aplicacin ms eficiente de las metodologas y lograr sistemas ms eficientes y
de mayor calidad con la documentacin necesaria en perfecto orden y en el
tiempo requerido. Gacita (2003), plantea que una metodologa impone un
proceso de forma disciplinada sobre el desarrollo de software con el objetivo de
hacerlo ms predecible y eficiente. Una metodologa define una representacin
que permite facilitar la manipulacin de modelos, y la comunicacin e
intercambio de informacin entre todas las partes involucradas en la
construccin de un sistema.

4 Comparativa modelo Cascada/Iterativo


En el modelo de desarrollo en cascada el equipo de desarrollo llega a un
acuerdo con el cliente para comenzar a desarrollar algn proyecto, una vez que
se llega a ese acuerdo el equipo comienza a trabajar hasta que el proyecto
queda concluido y entregado, en el modelo cascada no se obtiene
retroalimentacin por parte del cliente: "Una vez que la piedra es arrojada por
la cascada no hay forma de regresar, no se sabe cunto se tardar la piedra en
tocar el agua ni lo alto de la cascada".
Mientras que, segn lo visto en el modelo Iterativo, despus de cada
entrega sabremos qu ser lo siguiente a desarrollar. Esto se debe repetir
hasta que el proyecto quede completamente terminado de acuerdo a las
condiciones del cliente.
El equipo evoluciona el producto (hace una entrega incremental) a partir
de los resultados completados en las iteraciones anteriores, aadiendo nuevos
objetivos/requisitos o mejorando los que ya fueron completados.

Desarrollo de Software Mtodo Iterativo y Creciente

5 Conclusiones finales
Est a la vista la facilidad de abstraccin que se logra en un escenario
determinado, la que se da durante el desarrollo de una solucin o la creacin
de un sistema complejo mediante este modelo, puesto que a medida que
avanza la ejecucin de un proyecto ya se est analizando todo en tiempo real,
se pueden ir controlando las distintas variables (buenas o malas) que podran ir
surgiendo. Al mismo tiempo, el cliente se siente parte importante de lo que
est ocurriendo con su requerimiento, y por ende esto asegurara una
satisfaccin por parte de ste. Los usuarios puedan experimentar con los
productos resultantes de cada iteracin, y usualmente el equipo de desarrollo
puede continuar con el trabajo mientras que los usuarios experimentan con el
sistema.
Se podra llegar a sostener, que si las nuevas empresas consultoras se
enfocan en llevar proyectos mediante esta metodologa, fcilmente podran ser
lderes del rubro, ya que mantener al cliente participando en las distintas fases
de desarrollo, e incentivndolo a dar sus puntos de vista por cada entrega de
mdulos, le brinda una sensacin de seguridad en el producto final. que Es
cosa de ponerse uno en el lugar del cliente.
Esta idea se podra ejemplificar con el siguiente caso hipottico:
Supongamos que nos encontramos en un restaurant donde podemos ver al
cocinero preparar todo paso a paso, en esta instancia podemos cerciorarnos de
cada movimiento y estndares de calidad que exigiramos como clientes, hasta
finalmente ver el producto final en nuestra mesa. Esto nos asegurara una
satisfaccin garantizada, puesto que de alguna u otra forma fuimos participes
de la preparacin y de seguro que si hay algo en lo que se pueda aportar
durante la preparacin del plato lo haramos sin miedo. (solicitar que no
agreguen algn ingrediente, por ejemplo)
Llevando este caso al modelo cascada, estaramos esperando en la mesa hasta
ver el plato servido. (Sin intervenir durante el preparado) y en el momento de
llevar una cucharada al paladar nos daremos cuenta de que podramos haber
sugerido algo (leve) al cocinero, pero ya es tarde y nos tendremos que
conformar con el plato as como est.
Segn la resea de historia de la ingeniera de software se puede llegar a
sostener que el modelo iterativo ha cambiado el paradigma que exista en las
diversas propuestas de software y hasta el da de hoy es el pilar fundamental
para llevar a cabo proyectos que requieren solidez y una abstraccin ptima
del escenario en el cual se plantear disear un sistema.

Desarrollo de Software Mtodo Iterativo y Creciente

Desarrollo de Software Mtodo Iterativo y Creciente

6 Bibliografia Webgrafa

https://prezi.com/e7oirkrjnof3/desarrollo-iterativo-y-crecienteo-iterativo-e-incremental/

http://lareferencia.redclara.net/rfr/sites/default/files/docs_publi
cos/desarrollobackend.pdf

http://www.codecompiling.net/files/slides/IS_clase_13_metodos
_y_procesos.pdf

http://www.eumed.net/tesis-doctorales/2014/jlcv/software.htm