Documentos de Académico
Documentos de Profesional
Documentos de Cultura
13400382
13400391
13400416
13400472
Contents
Introduccin........................................................................................................ 2
Metodologas clsicas......................................................................................... 3
Metodologa en Cascada.................................................................................. 3
Caractersticas............................................................................................. 5
Modelo Incremental......................................................................................... 6
Caractersticas............................................................................................. 8
Modelo Evolutivo............................................................................................. 9
Caractersticas........................................................................................... 11
Modelo en Espiral.......................................................................................... 12
Caractersticas........................................................................................... 14
Modelo de Prototipos..................................................................................... 15
Caractersticas........................................................................................... 16
Desarrollo basado en componentes...............................................................17
Caractersticas........................................................................................... 19
Otras Metodologas........................................................................................... 20
Modelo Ganar-Ganar...................................................................................... 20
Caractersticas........................................................................................... 21
Proceso Unificado (UP)................................................................................... 22
Caractersticas........................................................................................... 23
Ingeniera Web............................................................................................... 24
Caractersticas........................................................................................... 25
Metodologas giles....................................................................................... 26
Caractersticas........................................................................................... 29
Metodologa Emergente................................................................................. 30
Caractersticas........................................................................................... 31
Reingeniera...................................................................................................... 31
Caractersticas........................................................................................... 33
Herramientas de Comparacin.........................................................................35
Comparacin de ventajas y desventajas.......................................................38
Observaciones............................................................................................... 42
Referencias....................................................................................................... 44
Introduccin
Dentro de esta investigacin se abarcan tanto la parte de la extraccin y
recopilacin, como la contrastacin de las caractersticas que identifica a cada
una de las diferentes metodologas que se han considerado dentro del trabajo
de la unidad. El trabajo consta de 2 partes, la primera consiste en el anlisis de
las caractersticas principales de cada una de las metodologas, la
investigacin de este punto se estructur primero con el concepto de cada
una, el cual se ha extrado de la consulta de varios autores, seguida de una
relacin de todas las caractersticas que se considera definen
principalmente a dicha metodologa. Esto se hace basndonos en una
categorizacin, comenzando por la investigacin de las llamadas
metodologas clsicas y continuando con las menos comunes, por ltimo, se
analiza la reingeniera y como incide en los procesos de desarrollo y
mantenimiento de software. La segunda parte del trabajo, consiste en una
herramienta de aprendizaje que nos permite realizar una comparacin clara de
las caractersticas de cada una de las metodologas investigadas, para poder
observar similitudes y diferencias que se presentan en cada metodologa,
pudiendo de ello, comenzar a inferir en que caso resulta ms til apegarse a
alguna y en qu caso a otra.
Realizar una investigacin respecto a las metodologas, nos permite
comprender en qu consisten y cules son sus puntos fuertes, para que, en un
futuro, y en proyectos posteriores, podamos pensar en la mejor manera en que
pueden ser aplicadas. Esto es importante ya que el desarrollo de sistemas de
informacin, y de todo tipo de soluciones de software ha ido incrementando en
complejidad, a medida que las computadoras han ido incrementando en sus
capacidades. Esto es consecuencia del desarrollo de nueva tecnologa el cual
ha obligado a que el desarrollo de software deba aplicar tcnicas de ingeniera
para poder proporcionar soluciones eficientes ya que se trata de proyectos
muy grandes y que tienen muchos componentes o elementos que deben
trabajarse en manera colaborativa. Si uno no se apega adecuadamente a una o
varias metodologas de desarrollo el proyecto puede tener inconsistencias y
contradicciones internas.
La informacin que se ha extrado y se presenta compactada en el este
documento, es producto de un proceso de investigacin documental. Para ello
se contrast la informacin que al respecto nos proporcionaban varios autores
que se consideran expertos en la materia. Dichos autores se encuentran
debidamente referenciados a lo largo del texto, para que se pueda ubicar con
facilidad el origen de la informacin presentada. Trabajar mediante la
investigacin documental, si bien resulta prctico para las llamadas
metodologas clsicas, representa un problema cuando se trata de obtener
informacin de las metodologas ms recientes, muchas de las cuales resulta
difciles de investigar en informacin en nuestro idioma, lo que obliga a buscar
fuentes de informacin menos comunes.
Se espera que el resultado de esta investigacin sea capaz de reflejar
adecuadamente la informacin sobre las metodologas, de manera que sea
Metodologas clsicas
Metodologa en Cascada
El autor Weitzenfeld (2005)1 nos menciona que el modelo en cascada original
se desarroll entre las dcadas de los sesenta y setenta, y que se define como
una secuencia de actividades, donde la estrategia principal es seguir el
progreso del desarrollo de software haca puntos de revisin definidos
mediante estregas calendarizadas.
Weitzenfeld, A. (2005). Ingeniera de software orientada a objetos con UML, Java e Internet. D.F.,
2 Somerville, I. (2005). Ingeniera del Software (Sptima ed.). Madrid, Espaa: Pearson Educacin. Pg.
62
Caractersticas
Modelo Incremental
Segn el enfoque de Pressman (2002)3 el modelo incremental combina
elementos del modelo lineal secuencial con la filosofa interactiva de
construccin de prototipos. Aplica secuencias lineales de forma escalonada
conforme avanza el tiempo y en cada secuencia lineal produce un incremento
del software.
3 Pressman, R. S. (2002). Ingeniera del software. Un enfoque prctico. (Quinta ed.). Madrid, Espaa:
McGraw Hill. Pg. 52
4 Weitzenfeld, A. (2005). Ingeniera de software orientada a objetos con UML, Java e Internet. D.F.,
Mxico: Thomson. Pg.51.
5 Somerville, I. (2005). Ingeniera del Software (Sptima ed.). Madrid, Espaa: Pearson Educacin. Pg.
66
Una vez que los incrementos del sistema se han identificado, los
requerimientos para los servicios que se van a entregar en el primer
incremento se definen en detalle, y este se desarrolla. Durante el desarrollo,
se puede llevar a cabo un anlisis adicional de requerimientos para los
requerimientos posteriores, pero no se aceptan cambios en los requerimientos
para el incremento actual.
Una vez que el incremento se completa y entrega, los clientes pueden ponerlo
en servicio, esto significa que tienen una entrega temprana de parte de la
funcionalidad del sistema. Pueden experimentar con el sistema, lo cual les
ayuda a clarificar sus requerimientos para los incrementos posteriores y para
las ltimas versiones del incremento actual. Tan pronto como se completan los
nuevos incrementos, se integran en los existentes de tal forma que la
funcionalidad del sistema mejora con cada incremento entregado. Los servicios
comunes se pueden implementar al inicio del proceso o de forma incremental
tan pronto como sean requeridos por un incremento.
El proceso del desarrollo incremental segn Somerville se representa con el
siguiente diagrama, donde se puede observar que en efecto es un proceso
iterativo:
Caractersticas
Modelo Evolutivo
Llamado por Ian Somerville6, Desarrollo Evolutivo el autor nos dice que se
basa en la idea de desarrollar una implementacin inicial, exponindola a los
comentarios del usuario y refinndola a travs de las diferentes versiones
hasta que se desarrolla un sistema adecuado. Dicha afirmacin se acompaa
de un diagrama que lo representa.
6 Somerville, I. (2005). Ingeniera del Software (Sptima ed.). Madrid, Espaa: Pearson Educacin. Pg.
63
7 Weitzenfeld, A. (2005). Ingeniera de software orientada a objetos con UML, Java e Internet. D.F.,
Mxico: Thomson. Pg.52.
Caractersticas
Modelo en Espiral
De acuerdo al autor Somerville8, este modelo fue propuesto por Boehm en
1988, que estaba dirigido por el riesgo. Este se representa como un espiral, y
no como una secuencia de actividades con cierto retroceso de una actividad a
otra. Se menciona que cada ciclo en la espiral representa una fase del proceso
de software. Esto quiere decir que el ciclo interno puede relacionarse con la
factibilidad del sistema, el siguiente con la definicin de requerimientos, el
ciclo que sigue con el diseo del sistema, y as sucesivamente. Este modelo
combina el evitar el cambio con la tolerancia al cambio. Esto supone que los
cambios son resultado de riesgos del proyecto e incluye actividades de gestin
de riegos explcitas para reducir tales riesgos.
Por otra parte, Pressman9 nos dice que el modelo espiral es un modelo
evolutivo del proceso de software que, adems, se acopla con la naturaliza
iterativa de hacer prototipos con los aspectos controlados y sistmicos del
modelo de cascada. Su creador, Boehm lo define del modo siguiente:
El modelo de desarrollo espiral es un generador de modelo de proceso
impulsado por el riesgo, que se usa para guiar la ingeniera concurrente con
participantes mltiples de sistemas intensivos en software. Tiene dos
caractersticas distintivas principales. La primera es el enfoque cclico para el
crecimiento incremental del grado de definicin de un sistema y su
implementacin, mientras que disminuye su grado de riesgo. La otra es un
conjunto de puntos de referencia de anclaje puntual para asegurar el
compromiso del participante con soluciones factibles y mutuamente
satisfactorias.
Con el empleo del modelo espiral, el software se desarrolla en una serie de
entregas evolutivas. Durante estas iteraciones, al inicio se entregan modelos o
prototipos. En las posteriores se producen versiones cada vez ms completas
del sistema cuya ingeniera se est haciendo.
Antes de comenzar el proceso evolutivo, el equipo de software realiza
actividades implcitas en un circuito alrededor de la espiral en el sentido
horario, partiendo del centro.
Cada
la
se
en
ciclo en
espiral
divide
cuatro
sectores:
1. Establecimiento de objetivos: Se definen objetivos especficos
para dicha fase del proyecto. Se identifican restricciones en el
proceso y el producto, y se traza un plan de gestin detallado. Se
identifican los riesgos del proyecto, pueden planearse estrategias
alternativas, segn sean los riesgos.
2. Valoracin y reduccin del riesgo: En cada uno de los riesgos
identificados del proyecto, se realiza un anlisis minucioso. Se dan
acciones para reducir el riesgo. Por ejemplo, si existe un riesgo de
que los requerimientos sean inadecuados, puede desarrollarse un
sistema prototipo.
3. Desarrollo y Validacin: Despus de una evaluacin del riesgo, se
elige un modelo de desarrollo para el sistema. Por ejemplo, la
creacin de prototipos desechables sera el mejor enfoque de
desarrollo, si predominan los riesgos en la interfaz del usuario. Si
la principal consideracin son los riesgos de seguridad, el
desarrollo con base en transformaciones formales sera el proceso
ms adecuado, entre otros. Si el principal riesgo identificado es la
integracin de subsistemas, el modelo en cascada sera el mejor
modelo de desarrollo a utilizar.
4. Planeacin: El proyecto se revisa y se toma una decisin sobre si
hay que continuar con otro ciclo de la espiral. Si es as, se trazan
todos los planes para la siguiente fase del proyecto. 10
Como podemos ver en la imagen de arriba, el modelo en espiral se da por
diversos circuitos donde poco a poco se van desarrollando pequeas partes
Caractersticas
Modelo de Prototipos
Por ultimo dentro de las metodologas clsicas del desarrollo de software
tenemos el modelo de prototipos, un modelo con bastante rendimiento.
Valderrama (1997)12, nos detalla un poco sobre el origen y el concepto del
modelo de prototipos:
En el resto de los modelos clsicos, por una parte, los errores de anlisis
son muy caros y difciles de eliminar ya que son los primeros que se
producen y los ltimos que se detectan (efecto bola de nieve) y por otra
parte, en la prctica, el modelo tiende a deformarse de modo que todo el
peso de la realimentacin cae en su mayor parte en el cdigo.
Frente a este mtodo de desarrollo, se plantea la utilizacin de
prototipos dentro del proceso de construccin del sistema informtico,
entendiendo como tales las primeras versiones de un producto. El
prototipo se emplea para determinar los requerimientos de un sistema,
examinar aspectos tcnicos, simular formatos de pantalla entre otras
cosas. (p. 156).
Es posible apreciar que el objetivo de la creacin de esta metodologa es crear
un diseo que cumpla con los requerimientos iniciales de un sistema que se
adecue lo mximo posible al usuario final.
El mismo Valderrama (1997), clasifica en dos tipos de prototipos el modelo en
el campo de la ingeniera de software:
Caractersticas
14
Somerville, I. (2005). Ingeniera del Software (Sptima ed.). Madrid, Espaa: Pearson Educacin.
15 Pressman, R. S. (2002). Ingeniera del software. Un enfoque prctico. (Quinta ed.). Madrid, Espaa:
McGraw Hill.
Caractersticas
Est basado en la reutilizacin de Software.
Se compone de una gran base de componentes software reutilizables y
Otras Metodologas
Modelo Ganar-Ganar
Tando Wetzenfield17, como Barry, W. Boehm18 (principal creador del modelo),
citado en por Selby nos indica que el modelo ganar-ganar (win-win) extiende
el modelo espiral La cuestin extendida es que, segn nos comenta Alfredo,
se hace nfasis en la identificacin de las condiciones de ganancia para todas
las partes, creando un plan para alcanzar las condiciones ganadoras y los
riesgos correspondientes. Se establecen las reglas para definir el proceso de
desarrollo del proyecto, tomando en cuenta todas las partes implicadas. El
modelo no necesita mucho tiempo de gestin, lo que permite utilizarlo tanto en
proyectos pequeos, como mayores.
Esto es parecido a lo que Boehm indica cuando dice: El modelo Ganar-Ganar
utiliza el enfoque de la Teora W (Win-Win) para converger en un nivel superior
de los objetivos, restricciones y alternativas del sistema. El enfoque de la teora
17 Weitzenfeld, A. (2005). Ingeniera de software orientada a objetos con UML, Java e Internet. D.F., Mxico:
Thomson. Pg.54.
18 Selby, R. (2007). Software Engineering: Barry W. Boehm's Lifetime Contributions to Software. USA. University
of Southern California. Pg. 375
Una vez revisadas las actividades, los ciclos definen lneas especficas a seguir:
Ciclo 0. Grupos de aplicacin. Se determina la viabilidad de un grupo apropiado
de aplicaciones.
Ciclo 1. Objetivos del ciclo de vida de la aplicacin. Se desarrollan los objetivos
del ciclo de vida, incluyendo prototipos, planes y especificaciones de
aplicaciones individuales, y se verifica la existencia de al menos una
arquitectura viable para cada aplicacin.
Ciclo 2. Arquitectura del ciclo de vida de la aplicacin. Se establece una
arquitectura del ciclo de vida detallado, se verifica la viabilidad y determina
que no existen riesgos mayores en stisfacer los planes y especificaciones.
Ciclo 3. Capacidad de operacin incial. Alcanzar una capacidad operacional
inicial para cada etapa crtica del proyecto en el clcilo de vida del software.
Si bien lo que ha de hacerse en cada ciclo, vemos que se enfoca sobretodo a
incluir las necesidades y oportunidades del cliente o todos los involucrados
(stakeholders), cada uno de los ciclos sigue manteniendo una gran similitud
con los que se trabaja dentro del proceso en Espiral.
Posteriormente nos menciona algunas de las que considera son las creencias
de este modelo, en las cuales se fundamenta.
Caractersticas
Pressman, R. S. (2002). Ingeniera del software. Un enfoque prctico. (Quinta ed.). Madrid, Espaa:
4. La fase de transicin.
Abarca las ltimas etapas de la actividad de construccin y la primera parte de
la actividad de despliegue. El software se entrega a los usuarios finales para
realizar pruebas beta, y la retroalimentacin del usuario reporta tanto defectos
como cambios necesarios. El equipo de software crea la informacin de soporte
necesaria (manuales de usuario, guias de resolucin de problemas, etc.) para
el lanzamiento.
5. La fase de produccin.
Coincide con la actividad de despliegue del modelo en cascada. Durante esta
fase se monitorea el uso subsiguiente del software, se proporciona el soporte
para el ambiente operativo y se reciben y evalan los informes de defectos y
los requerimientos de cambios.
Para finalizar su comprensin, Weitzenfeld nos indica las que considera, son las
creencias en las que se basa este proceso.
Para construir un sistema exitoso se debe conocer qu quieren y necesitan
los usuarios potenciales.
Al igual que la arquitectura en la construccin, permite disear edificios
desde mltiples puntos de vista, estructura, electricidad, etc. Las arquitecturas
de los sistemas de software deben permitir visualizar un sistema desde
mltiples perspectivas.
El desarrollo de un producto de software comercial puede significar un gran
esfuerzo durante meses, e incluso aos. Es prctico dividir el trabajo en etapas,
donde cada iteracin resulta en un incremento del proyecto.
Caractersticas
Ingeniera Web
Galindo22 lo define como la especializacin de la IS para el caso del desarrollo
basado en tecnologas web. Este autor afirma que la ingeniera web no es un
nuevo paradigma o un nuevo tipo de ingeniera, sino que los mtodos de
desarrollo web toman las tcnicas de la IS ms tiles para el caso concreto del
software web.
La explicacin y planteamiento anterior, coincide plenamente con la que
Pressman23 desarrolla cuando nos dice que la ingeniera Web (IWeb) aplica
slidos principios cientficos, de ingeniera y de administracin, y enfoques
disciplinados y sistemticos para el desarrollo, despliegue y mantenimiento
exitosos de sistemas y aplicaciones basados en Web de alta calidad
Segn nos indica Pressman los modelos de procesos IWeb adoptan la filosofa
del desarrollo gil. El desarrollo gil enfatiza un enfoque de desarrollo riguroso
que incorpora rpidos ciclos de desarrollo. La razn por la cual es importante el
desarrollo gil es decrita por Aoyama en la siguiente forma:
Internet cambi la prioridad principal del desarrollo de software de qu a
cundo. El reducido tiempo para el mercado se ha convertido en el lmite
competitivo por el que luchan las compaas lderes. En consecuencia, reducir
el ciclo de desarrollo es ahora una de las misiones ms importantes de la
ingeniera de software
Si la inmediatez y la evolucin continua son atributos principales de la WebApp,
un equipo de ingeniera Web debe elegir un modelo de proceso gil que
produzca liberaciones de WebApp a un ritmo vertiginoso. Por otra parte, si una
WebApp ser desarrollada durante un largo periodo (por ejemplo, una gran
Caractersticas
Metodologas giles
Este tipo de metodologas se crean y disean para producir rpidamente un
software til. Este no se desarrolla como una sola unidad, sino como una serie
de incrementos, y cada uno de ellos incluye una nueva funcionalidad del
sistema. Pese a que existen muchos enfoques para el desarrollo gil (que se
desglosarn ms adelante), comparten algunas caractersticas
fundamentales24.
1. Los procesos de especificacin, diseo e implementacin estn
entrelazados. No existe una especificacin detallada del sistema, y la
documentacin del diseo se minimiza o es generada automticamente
por el entorno de programacin que se usa para implementar el sistema.
El documento de requerimientos del usuario define slo las
caractersticas ms importantes del sistema.
2. El sistema se desarrolla en diferentes versiones. Los usuarios finales y
los otros colaboradores del sistema intervienen en la especificacin y
evaluacin de cada versin. Ellos podrn proponer cambios al software y
nuevos requerimientos que se implementen en una versin posterior al
sistema.
3. Las interfaces de usuario del sistema se desarrollan usando con
frecuencia un sistema de elaboracin interactivo, que permita que el
diseo de la interfaz se cree rpidamente en cuanto se dibujan y colocan
conos de la interfaz. En tal situacin, el sistema puede generar una
interfaz basada en la web para un navegador o plataforma especfica.
25 Kendall & Kendall. Anlisis y diseo de Sistemas. (8va Edicin). Prentice Hall. Mxico D.F. 2011.
27 Roger Pressman. Ingeniera de Software, Un enfoque Prctico. (7ma Edicin) Mc Graw Hill. Mxico
D.F. 2010
Caractersticas
Metodologa Emergente
Una metodologa es emergente si permite adaptar la forma de trabajo a las
condiciones del proyecto.
Tipos de sistemas
Se utiliza mayoritariamente en desarrollo de productos con innovaciones
importantes, y para sistemas de informacin empresarial.
Algunas de estas metodologas son:
ICONIX
Se define como un proceso de desarrollo de software prctico. Est entre la
complejidad de RUP y la simplicidad y pragmatismo de XP, sin eliminar las
tareas de anlisis y diseo que XP no contempla.
Iterativo e incremental.
Trazabilidad
Dinmica del UML
Anlisis de requisitos
Anlisis y diseo preliminar
Diseo
Implementacin
CRYSTAL METHODOLOGIES
Se trata de un conjunto de metodologas para el desarrollo de software
caracterizadas por estar centradas en las personas que componen el equipo y
la reduccin al mximo del nmero de artefactos producidos. El desarrollo de
software se considera un juego cooperativo de invencin y comunicacin,
limitado por los recursos a utilizar. El equipo de desarrollo es un factor clave,
por lo que se deben invertir esfuerzos en mejorar sus habilidades y destrezas,
as como tener polticas de trabajo en equipo definidas. Estas polticas
dependern del tamao del equipo.
FDD
Es un proceso diseador por Peter Coad, Erick Lefebvre y Jeff De Luca y se
podra considerar a medio camino entre RUP y XP, aunque al seguir siendo un
proceso ligero es ms similar a este ltimo. FDD est pensado para proyectos
con tiempo de desarrollo relativamente cortos (menos de un ao). Se basa en
un proceso iterativo con iteraciones cortas (2 semanas) que producen un
software funcional que el cliente y la direccin de la empresa pueden ver y
monitorizar. Un proyecto que sigue FDD se divide en 5 fases:
1.
2.
3.
4.
5.
Especulacin
Colaboracin
Aprendizaje29
Caractersticas
Reingeniera
La reingeniera de software abarca el problema de reconstruccin de un
sistema cuando este ha sido modificado y adaptado tantas veces (y sin
apegarse a una metodologa de desarrollo especfica) que se ha vuelto
inestable. Normalmente y segn nos narra Pressman 30 estos sistemas siguen
funcionando, pero poder adaptarlos a las nuevas necesidades que van
surgiendo en la empresa se vuelve una tarea casi imposible.
El modelo de proceso de reingeniera incluye una estrategia operativa, sin
embargo es un proceso asociado a muchos riesgos y que puede generar
mayores costos, pues se tiene a personas y recursos invertidos en un proceso,
que si no es fundamental, representa un desperdicio.
Caractersticas
Se encarga del problema de reconstruccin de un sistema cuando este
Herramientas de Comparacin
Es
incremental
Es evolutivo
Es iterativo
Es una
metodologa
clsica
Cascada
Increment
al
Evolutivo
Espiral
Prototipos
Basado en
Componentes
Ganar-ganar
Uni
No
Si
Si
Si
No
No
Si
Si
No
No
No
Si
Si
Si
Si
Si
Si
No
No
No
Si
Si
No
Si
Si
Si
Si
Si
Si
Si
No
No
Etapas de
las que se
compone
*Anlisis y
definicin de
requerimient
os
*Diseo del
sistema y
del software
*Implementa
cin y
prueba de
unidad.
*Integracin
y prueba del
sistema.
*Operacin y
mantenimie
nto
*Definir
esbozo de
requerimien
tos
*Asignar
requerimien
tos a los
incremento
s
*Disear la
arquitectur
a del
sistema
*Desarrollar
los
incremento
s del
sistema
*Esbozo de
la
descripcin
*Especificac
in
Generacin
de la
versin
inicial
*Desarrollo
Generacin
de las
versiones
intermedias
*Establecimie
nto de
objetivos
*Valoracin y
reduccin del
riesgo:
*Desarrollo y
Validacin
*Generacin
de prototipo
inicial.
*Validacin
*Generacin
del
prototipo
final.
*Planeacin
*Anlisis de
componentes
*Modificacin
de
requerimiento
s
*Diseo del
sistema con
reutilizacin
Desarrollo e
integracin
*Validacin
Generacin
de la
versin final
*Validar
Sistema
*No existe
gran
posibilidad
de
someterles a
cambios
durante el
desarrollo
del sistema.
*Cuando se
tiene una
fecha de
entrega
que es
imposible
de cambiar.
*Cuando la
dotacin de
personal no
est
disponible
para una
implementa
cin
completa
en la fecha
especificad
a.
*Cuando las
necesidades
de los
clientes
necesitan
ser
satisfechas
rpidament
e.
*La
inic
* La
de
elab
.
*La
con
n.
*La
tran
*La
prod
*Planear el
siguiente
ciclo y
actualizar el
plan de su
ciclo de vida,
incluyendo la
particin del
sistema en
subsistemas
para ser
considerados
en ciclos
paralelos.
*Integrar
los
incremento
s
*Cuando los
requerimient
os se
entienden
bien.
*Evaluar las
alternativas
con respecto
a los
objetivos y
restricciones
*Elaborar la
definicin del
producto y
proceso.
*Validar los
incremento
s
Recomenda
do para
*Elaborar los
objetivos,
restricciones
y alternativas
del proceso y
producto del
sistema y
subsistema.
* Puede
resultar til
para
desarrollar
sistemas de
software a
gran escala.
* Cuanto se
cuenta con las
habilidades
necesarias
para realizar
un anlisis de
costes.
* Cuando no
existe una
necesidad
inmediata,
pues la
metodologa
solo entrega
maquetas al
cliente.
* Cuando se
trata de
software que
no incluye
caracterstica
s novedosas.
* Cuando no
es tan
importante
que el
sistema sea
100% a la
medida.
* Tanto en
proyectos
pequeos
como en
mayores.
* Cuando la
minimizacin
de riesgos o
condiciones
de prdida y
la
maximizacin
de las
oportunidade
s o ganancias
es
fundamental
* De
de s
robu
*Cu
tien
dom
uso
nota
UML
mod
Se basa en
Metodolog
a
Increment
al
Metodologa
Evolutiva
Caracterst
icas ms
relevantes
* Define una
secuencia de
actividades,
donde la
estrategia
principal es
seguir el
progreso del
desarrollo de
software
haca puntos
de revisin
definidos
mediante
entregas
calendarizad
as
*Se centra
en la
entrega de
un producto
opcional
con cada
incremento.
*Se basa en
la idea de
desarrollar
una
implementa
cin inicial,
exponindol
a a los
comentarios
del usuario
y
refinndola
a travs de
las
diferentes
versiones
hasta que
se
desarrolla
un sistema
adecuado.
*El sistema
evoluciona
agregando
nuevos
atributos
propuestos
por el
cliente
*El software se
desarrolla en
una serie de
entregas
evolutivas,
llamadas
prototipos.
*Plantea la
utilizacin
de
prototipos
dentro del
proceso de
construcci
n del
sistema
informtico,
entendiendo
como tales
las primeras
versiones
de un
producto.
*Cada
detalle de
los requisitos
se conoce de
antemano
antes de
desarrollar el
software, y
los detalles
son estables
durante el
desarrollo.
*Cada
incremento
se escribe
sobre aqul
que ya ha
sido
entregado.
*Enfoque
cclico para el
crecimiento
incremental
del grado de
definicin de
un sistema y
su
implementaci
n.
*El prototipo
se emplea
para
determinar
los
requerimien
tos de un
sistema,
examinar
aspectos
tcnicos,
simular
formatos de
pantalla
entre otras
cosas.
Metodologa
Espiral
Met
a O
Fac
Extiende el
*Est
mod
proc
bas
prin
nte
esp
n d
requ
ntos
sist
med
caso
uso
modelo
espiral, por lo
que se sigue
trabajando en
base a ciclo.
Hace nfasis
en la
identificacin
de las
condiciones
de ganancia
para todas
las partes,
creando un
plan para
alcanzar las
condiciones
ganadoras y
los riesgos
correspondie
ntes.
*Sig
proc
itera
incr
l.
Modelo
incremental
Modelo
Evolutivo
Modelo en
Espiral
Modelo de
Prototipos
Ventajas
Desventajas
Desarrollo
El proceso no es visible.
Sistema con estructura deficiente.
Se requieren herramientas y tcnicas e
basado en
component
es
Modelo
GanarGanar
Proceso
Unificado
(UP)
Ingeniera
Web
Metodolog
as giles
Modelo costoso.
Requiere experiencia en la identificaci
Genera mucho trabajo adicional.
Cuando un sistema falla se pierde tiem
de la empresa.
Exige una cierta habilidad en los analis
difcil).
muy til.
La presin est a lo largo de todo el proyecto y
no en una entrega final
Metodolog
a
Emergente
Reingenier
a
Observaciones
De lo anterior, podemos hacer algunas observaciones interesantes, por
ejemplo, si comparamos la relacin que existe entre la metodologa
evolutiva, y la de proceso unificado. Como vemos ambos siguen una
estructura de procesos incremental, ya que cada proceso se realiza uno por
uno, con la diferencia que el proceso unificado se tiene que realizar todo de
manera secuencial y en el evolutivo una vez que se termina una seccin del
software y ste ya se puede utilizar se hace disponible al cliente.
Otra cosa que los diferencia es el hecho que en el proceso unificado se puede
observar la arquitectura del sistema desde mltiples perspectivas cosa que en
el modelo evolutivo no se puede apreciar a simple vista ya que ste est
elaborado por partes.
Otra de las cosas que podemos analizar es la relacin que existe por ejemplo
entre la metodologa evolutiva y la espiral. Como vemos, la metodologa
espiral surge como una modificacin de la metodologa evolutiva. Hasta cierto
punto podramos considerarlo una mejora, debido a que en el caso de la
metodologa espiral se elimina el factor de inestabilidad que caracteriza a la
metodologa evolutiva en la cual el cdigo va perdiendo estructura
modificacin tras modificacin, mientras que en la espiral, el avance no est
sometido a tantas modificaciones estructurales graves que puedan
comprometerla.
Respecto a la metodologa incremental y las metodologas giles, vemos
que ambos son iterativos, su diferencia radica en que el incremental produce
porciones pequeas del software, y en el gil se basan sus iteraciones en
caractersticas generales que se le aaden a un sistema ya funcional. Otra
diferencia radica en que el incremental puedes usarlo para proyectos ms
completos que uno que se trabaje por metodologa gil. Adems, en la
metodologa incremental nos encontramos con que necesitamos conocer a
fondo los requisitos del sistema (para elaborar de buena manera los prototipos
que irn incrementando la capacidad del sistema), mientras que en la gil se
pide que los requisitos no sean tan extensos para que se pueda realizar
gilmente.
En cuanto a las metodologas de cascada e incremental podemos mencionar
que el modelo de cascada una vez iniciado no se detiene y por ende el tiempo
invertido en el desarrollo es menor, mientras que en el incremental, como ya
vimos, el proyecto se desarrolla haciendo avances por mdulos, entonces el
tiempo de desarrollo puede ser que se alargue un poco en caso de que se
presenten incrementos que no cumplan con las especificaciones requeridas.
Por otro lado el desarrollo en cascada no involucra al cliente, no hay
retroalimentacin y por lo tanto existe la posibilidad de que el sistema no sea
lo esperado, en cambio en el desarrollo incremental la retroalimentacin por
parte del cliente est muy presente cuando se hace la entrega de cada mdulo
o incremento, as se asegura que el cliente obtenga lo que realmente pide y
adems se reducen los riesgos de fallos.
Para seguir con nuestras observaciones, podemos comentar sobre la
metodologa basada en prototipos la cual consiste en detectar los
requerimientos del sistema a desarrollar para de esta forma crear un modelo
que satisfaga los aspectos tcnicos y poder traspasarlos a formatos de pantalla
acoplados a estos requerimientos. Por otro lado, el desarrollo basado en
componentes es extremadamente gil debido a que utiliza el reutilizamiento
de cdigo al tomar componentes de software previamente elaborados para
Referencias
Weitzenfeld, A. (2005) Ingeniera de Software Orientada a Objetos con UML,
Java e Internet. Mxico: Thompson.
Sommerville, I. (2011) Ingeniera de Software (Novena ed.). Mxico: Pearson.
Pressman, R. (2002). Ingeniera del Sotware: Un enfoque prctico. (5ta Edicion)
Mxico: Mc Graw Hill
Valderrama, J. (1997). Informacin Tecnolgica. (1 edicin). Chile: La Serena.
Martnez, S. (2011). Metodologa de implementacin de ERP. (1 edicin).
Espaa: Pyme.
Areba, J. (2001). Metodologa del anlisis estructurado de sistemas. (2da
Edicin). Madrid, Espaa: Universidad Pontificia de Comillas.
Snchez, J. (2003). Ingeniera de Proyectos Informticos: actividades y
procedimientos. Universitat Jaume I
Selby, R. (2007). Software Engineering: Barry W. Boehm's Lifetime
Contributions to Software. USA. University of Southern California.
Galindo, M. (2010). Escaneando la informtica. Barcelona, Espaa: UOC
Jacobson, I., Booch, G & J.Rumbaugh. (1999). The Unified Software
Development Process. USA. Addison-Wesley
Kendall & Kendall. (2011). Anlisis y diseo de Sistemas. (8va Edicin). Mxico
D.F. Prentice Hall.
Terreros, J. C. (s.f.). Microsoft: Developer Network. Obtenido de Microsoft:
https://msdn.microsoft.com/es-es/library/bb972268.aspx
Metodologas todas. (2013). Recuperado el da 13 de Febrero de 2015 de
http://es.slideshare.net/thecarlosrock/metodologias-todas
Unidad II- Metodologas de desarrollo. (2013). Recuperado el da 13 de Febrero
de 2015 de http://fgaith2.blogspot.mx/