Sei sulla pagina 1di 9

FUNDACION UNIVERSITARIA PANAMERICANA

COMPENSAR UNIPANAMERICANA
TECNOLOGA EN DISEO DE SOFTWARE
DISEO DE PROCESOS DE SOFTWARE
INTEGRANTES:
MONICA VIVIANA CASTIBLANCO

ANGELA MARIA SANCHEZ

JEISSON STIVEN BERNAL

OMAR RICARDO MORENO

WILMAR CALDERON TORRES

YAIR PARADA MORA

MODELO ITERATIVO INCREMENTAL


Este modelo fue propuesto por Harlan Mills en el ao 1980. Mills sugiri un enfoque
incremental de desarrollo con la finalidad de reducir la repeticin del trabajo en el proceso de
desarrollo e intentar retrasar la toma de decisiones en los requisitos hasta adquirir
experiencia con el sistema, ya que el primer software desarrollado se tena que esperar largo
tiempo hasta que estos estuviese listo.
Mills fue ampliamente reconocido por su contribucin como matemtico en cuestin con traer
ms rigor en los sistemas y desarrollo de software. Entre sus muchos premios fueron el
Premio Ciencia DPMA Distinguido de la Informacin en 1985 y la J.-D. Premio Warnier en
1987. Mills fue miembro de IBM durante quince aos, desempeandose como Director de
Ingeniera de Software y Tecnologa de la Divisin de Sistemas Federal, y miembro de la
Comisin Tcnica Corporativa de IBM. En IBM, recibi el Premio a la Contribucin
Sobresaliente y fue el principal arquitecto del plan de estudios del Instituto de Ingeniera de
Software de IBM.
En una visin genrica, el proceso se divide en 4 partes: Anlisis y requerimientos, Diseo,
Implementacin y Pruebas. Sin embargo, para la produccin del Software, se usa el principio
de trabajo en cadena o Pipeline, utilizado en muchas otras formas de programacin. Con
esto se mantiene al cliente en constante contacto con los resultados obtenidos en cada
incremento. Es el mismo cliente el que incluye o desecha elementos al final de cada
incremento a fin de que el software se adapte mejor a sus necesidades reales. El proceso se
repite hasta que se elabore el producto completo.

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 mas requisitos.
En el modelo incremental se parte de la versin anterior sin cambios y le aadimos las
nuevas funciones.
Bajo este modelo se entrega software por partes funcionales ms pequeas, pero
reutilizables, llamadas incrementos. En general cada incremento se construye sobre aquel
que ya fue entregado
Los primeros incrementos son versiones incompletas del producto final, pero proporcionan
al usuario la funcionalidad que precisa y tambin una plataforma para la evaluacin.
CARACTERITICAS

Cada incremento agrega funcionalidad adicional o mejorada sobre el sistema.


Cada etapa debe cumplir con los requisitos propuestos.
La propuesta del modelo es disear sistemas que puedan entregarse por piezas.
Cada iteracin se evala cuando termina.
A partir de la evaluacin se planea el siguiente incremento y as sucesivamente.
Es interactivo por naturaleza.
Es til cuando el personal no es suficiente para la implementacin completa.
En lugar de hacer una sola entrega del sistema, el desarrollo y la entrega estn
fracturados bajo incrementos, con cada incremento se entrega una parte de la
funcionalidad requerida.

Los requerimientos del usuario se priorizan y los requerimientos de prioridad ms altos


son incluidos en los incrementos tempranos.
Los usuarios no tienen que esperar tanto tiempo para tener algo funcional.
El desarrollo incremental es el proceso de construccin donde siempre incrementan
subconjuntos de requerimientos del sistema.
Se evitan proyectos largos y se entrega Algo de valor a los usuarios con cierta
frecuencia.
Antes de finalizar una iteracin, debemos estar seguros de que no hemos estropeado
ninguna otra parte del sistema que funcionaba en anteriores iteraciones.
El usuario se involucra ms.
Requiere gestores experimentados.
El resultado puede ser muy positivo.

ETAPAS

Anlisis de Requerimientos: En esta etapa se logra claridad sobre lo que desea el


usuario y la forma en la cual se le va a presentar la solucin que est buscando. Esta
etapa se realiza por cada iteracin que se realice, en esta etapa se buscara
principalmente:
Identificar los usuario y sus roles dentro del sistema
Definir los actores primarios y secundarios
Operaciones importantes a construir

Diseo: determinar una implementacin efectiva y eficiente que realice las funciones y
que cumpla con los requerimientos dados por el cliente. Las siguientes actividades
que se plantean en esta etapa.

Determinar la arquitectura inicial


Determinar el diseo lgico
Implementacin fsica
Diseo De Interfaces

Implementacin: esta etapa es donde se codifica el software, se definen desde


paradigma hasta herramientas y lenguaje de programacin, algunas de las actividades
son
Definicin de maquetacin
Codificacin
Estructuracin de directorios
Al final de esta etapa se deber entregar el aplicativo, cdigo fuente y documentacin
de cdigo.

Pruebas: esta es la etapa donde se prueba el aplicativo para encontrar los errores y
corregirlos.

Disear casos de prueba


Aplicar casos de prueba
Restroalimentar los resultados de las pruebas

PROYECTOS APLICABLES
Los tipos de proyecto recomendados para aplicar a el modelo incremental son proyectos de
gran envergadura, donde normalmente se conocen la mayora de los requerimientos del
sistema, y se entiende por completo su funcionamiento para que este sea efectivo, se debe
tener en cuenta que la persona que dirija el proyecto lo puede separar por mdulos
interconectados o en un caso dado y si el proyecto lo permite, puede realizar varios grupos
de trabajo independizando cada uno de los mdulos, para que as se vea el trabajo
independiente pero sean adaptables al momento de la entrega final. Normalmente en el
desarrollo a medida que se va implementando la solucin nacen nuevos requerimientos y
hay que ser capaz de incluirlos en el proyecto. Siempre es necesario intentar obtener
resultados rpidos, por lo cual hay que ser precavido con las fechas de entrega para poder
cumplir con las expectativas pero al mismo tiempo hacer que las entregas procuren evitar
que queden pendientes para que no se vayan al siguiente modulo de desarrollo; en el caso
del dominio de la aplicacin es necesario que el director del proyecto tenga experiencia con
manejo de proyectos grandes ya que esta tecnologa as lo permite, de la misma manera se
necesita que siempre sea una necesidad la puntualidad por lo cual el grupo de trabajo se
requiere con conocimientos amplios en el rea segn como el proyecto los exija ya que si los
programadores no cumplen con los tiempos de entrega por mdulos retrasaran
generalmente el modulo siguiente entorpeciendo el rpido desarrollo del modelo.
HERRAMIENTAS UTILIZABLES
Existen una gran variedad de herramientas aplicables con ste modelo y tiles en mltiples
actividades.
Entre ellas se pueden destacar las siguientes:

Herramientas de gestin de proyectos: Active Collab, Assembla, Basecamp,


Central Desktop, Conflunce

Herramientas de control de cambios: CA Software Change Manager, Autodesk


Vault, Rational ClearCase, PTC Integrity,

Herramientas de anlisis y diseo: RequisitePro, Enterprise Architect, Power


Designer, ER-Studio, Use Case Maker

Herramientas de generacin de cdigo: Power Designer, My Generation, Windows


Forms Designer, CodeSmith Studio

Herramientas de pruebas: Junit, Selenium, HP Quicktest, Watir

Herramientas de reingeniera: Power Designer, Apache Commons, Boomerang,


CafeBabe

Herramientas de documentacin: Power Designer, Dr Explain, Pandoc, Sphinx

Estas herramientas soportan las capas de proceso y de mtodos en varias actividades.


VENTAJAS

Con un paradigma incremental se reduce el tiempo de desarrollo inicial, ya que se


implementa la funcionalidad parcial.
Tambin provee un impacto ventajoso frente al cliente, que es la entrega temprana de
partes operativas del Software.
El modelo proporciona todas las ventajas del modelo en cascada realimentado,
reduciendo sus desventajas slo al mbito de cada incremento.
Permite entregar al cliente un producto ms rpido en comparacin del modelo de
cascada.
Resulta ms sencillo acomodar cambios al acotar el tamao de los incrementos.

DESVENTAJAS

Difcil de evaluar el costo total.


Abre la posibilidad de cambiar el alcance del proyecto, debido al cambio constante de
requerimientos.
El modelo Incremental no es recomendable para casos de sistemas de tiempo real, de
alto nivel de seguridad, de procesamiento distribuido, y/o de alto ndice de riesgos.
Requiere de mucha planeacin, tanto administrativa como tcnica.
Requiere de metas claras para conocer el estado del proyecto.

RELACION CON LOS MODELOS DE MADUREZ


Si analizamos bien el proceso que lleva el modelo incremental donde separa cada uno de
sus procesos para iniciar con sus distintas etapas de desarrollo, se concluye que el modelo

de calidad que ms se adapta o ms encaja a este modelo de procesos es CMMI.


CMMI nos dice que este modelo es La representacin por etapas la cual nos ofrece una
manera sistemtica y estructurada de aproximarse a la mejora de procesos basada en el
modelo etapa a etapa. El logro de cada etapa asegura que una infraestructura de proceso
adecuada se ha establecido como fundamento para el etapa siguiente. Las reas de proceso
estn organizadas por niveles de madurez, los cuales eliminan interpretaciones a la mejora
de los procesos. La representacin por etapas prescribe un orden para implementar las
reas de proceso segn unos niveles de madurez, que determinan el camino seguido por
una organizacin para pasar del nivel inicial al nivel en optimizacin. Alcanzar cada nivel de
madurez asegura que se ha establecido un fundamento adecuado para el siguiente nivel de
madurez, lo que permite una mejora incremental y duradera.
Cuando dividimos nuestros desarrollo en diferentes proceso como lo hace nuestro modelo
de procesos incremental, nos facilitar aplicar el modelo de calidad CMMI ya que el divide los
procesos y estudio cada una de sus etapas para darle a cada uno un nivel de madurez .
RELACION ACTIVIDADES ESTRUCTURALES Y SOMBRILLA
Actividades estructurales
Comunicacin. Antes de que comience cualquier trabajo tcnico, tiene importancia
crtica comunicarse y colaborar con el cliente (y con otros participantes). Se busca
entender los objetivos de los participantes respecto del proyecto, y reunir los
requerimientos que ayuden a definir las caractersticas y funciones del software.
Planeacin. Cualquier viaje complicado se simplifica si existe un mapa. Un proyecto de
software es un viaje difcil, y la actividad de planeacin crea un mapa que gua al
equipo mientras viaja. El mapa llamado plan del proyecto de software define el
trabajo de ingeniera de software al describir las tareas tcnicas por realizar, los riesgos
probables, los recursos que se requieren, los productos del trabajo que se obtendrn y
una programacin de las actividades.
Modelado. Ya sea usted diseador de paisaje, constructor de puentes, ingeniero
aeronutico, carpintero o arquitecto, a diario trabaja con modelos. Crea un bosquejo del
objeto por hacer a fin de entender el panorama general cmo se ver
arquitectnicamente, cmo ajustan entre s las partes constituyentes y muchas
caractersticas ms. Si se requiere, refina el bosquejo con ms y ms detalles en un
esfuerzo por comprender mejor el problema y cmo resolverlo. Un ingeniero de software
hace lo mismo al crear modelos a fin de entender mejor los requerimientos del software y
el diseo que los satisfar.
Construccin. Esta actividad combina la generacin de cdigo (ya sea manual o
automatizada) y las pruebas que se requieren para descubrir errores en ste.
Despliegue. El software (como entidad completa o como un incremento parcialmente
terminado) se entrega al consumidor que lo evala y que le da retroalimentacin, misma
que se basa en dicha evaluacin.
Estas se pueden usar tanto en el desarrollo de programas pequeos y sencillos, hasta en
la creacin de aplicaciones web grandes y en la ingeniera de sistemas enormes y

complejos. Se aplican en forma iterativa a medida que avanza el proyecto. Cada iteracin
produce un incremento del software que da a los participantes un subconjunto de
caractersticas y funcionalidad generales del software. Conforme se produce cada
incremento, el software se hace ms y ms completo.
Se relaciona con el modelo incremental porque ste maneja etapas en las que cada
proceso se repite hasta que se obtiene el producto final teniendo en cuenta las mejoras
que se requieren del resultado anterior.
Actividades sombrilla
Se aplican a lo largo de un proyecto de software y ayudan al equipo que lo lleva a cabo a
administrar y controlar el avance, la calidad, el cambio y el riesgo. Las mas comunes son:
Seguimiento y control del proyecto de software
Administracin del riesgo
Aseguramiento de la calidad del software
Revisiones tcnicas
Medicin
Administracin de la configuracin del software
Administracin de la reutilizacin
Preparacin y produccin del producto del trabajo
Se relaciona con el modelo incremental ya que en esta se tienen en cuenta mtodos con
los que se puede garantizar la calidad del producto final.

ACTIVIDADES ESTRUCTURALES
Actividades sombrilla
Se aplican a lo largo de un proyecto de software y ayudan al equipo que lo lleva a cabo a
administrar y controlar el avance, la calidad, el cambio y el riesgo.
Seguimiento y control del proyecto de software: permite que el equipo de software
evale el progreso comparndolo con el plan del proyecto y tome cualquier accin
necesaria para apegarse a la programacin de actividades.
Administracin del riesgo: evala los riesgos que puedan afectar el resultado del
proyecto o la calidad del producto.
Aseguramiento de la calidad del software: define y ejecuta las actividades
requeridas para garantizar la calidad del software.
Revisiones tcnicas: evala los productos del trabajo de la ingeniera de software a fin
de descubrir y eliminar errores antes de que se propaguen a la siguiente actividad.
Medicin: define y rene mediciones del proceso, proyecto y producto para ayudar al
equipo a entregar el software que satisfaga las necesidades de los participantes; puede
usarse junto con todas las dems actividades estructurales y sombrilla.
Administracin de la configuracin del software: administra los efectos del cambio
a lo largo del proceso del software.

Administracin de la reutilizacin: define criterios para volver a usar el producto del


trabajo (incluso los componentes del software) y establece mecanismos para obtener
componentes reutilizables.
Preparacin y produccin del producto del trabajo: agrupa las actividades
requeridas para crear productos del trabajo, tales como modelos, documentos, registros,
formatos y listas.

ENTREGABLES POR ETAPA

Referencias:
Roger S. Pressman, Ingeniera del Software Un enfoque prctico (Septima Edicin, 2010)
Ian Sommerville, Ingeniera del Software (Sptima edicin, 2005)
Hans Van Vliet, Software Engineering. Principles and Practice (Tercera edicin, 2002)
Ivar Jacobson, Grady Booch y James Rumbaugh, The Unified Software Development
Process (1999)
Agile Spain www.agile-spain.com
Alianza gil www.agilealliance.org
IEEE www.ieee.org/portal/site
Manifiesto gil www.agilemanifesto.org
http://www.tutorialspoint.com/software_engineering/software_engineering_tutorial.pdf
http://www.academia.edu/9124950/Modelo_Incremental
http://dianao9.blogspot.com.co/2012/11/modelo-incremental.html
http://ingenieraupoliana.blogspot.com.co/2010/10/modelo-incremental.html
http://procesosoftware.wikispaces.com/Modelo+Incremental
http://es.slideshare.net/RdXD/diapositiva-21962997

Potrebbero piacerti anche