Anda di halaman 1dari 11

Taller de Modelamiento de software: Metodologas.

METODOL
OGIAS
CLASICAS
Cascada

definicin

Sugiere un
enfoque
sistemtico,
secuencial
hacia el
desarrollo del
software, que
se inicia con la
especificacin
de
requerimientos
del cliente y
que contina
con la
planeacin, el
modelado, la
construccin y
el despliegue
para culminar
en el soporte
del software
terminado.
Incrementa
l

Es un proceso
de desarrollo de
software,
creado en
respuesta a las
debilidades del
modelo
tradicional de
cascada.
Provee una
estrategia para
controlar la

caractersticas

diagrama

Tipos de
sistemas

Ventajas

desventajas

+Es el ms utilizado
+Es una visin del
proceso de desarrollo
de software como
una sucesin de
etapas que producen
productos
intermedios
+Para que el
proyecto tenga xito
deben desarrollarse
todas las fases
+Las fases continan
hasta que los
objetivos se han
cumplido.

Aplicable
para
proyectos
pequeos y
no tan
complejos.

La planificacin es
sencilla
La calidad del
producto
resultante es alta
Permite trabajar
con personal poco
cualificado
Los usuarios lo
pueden
comprender
fcilmente.
Sus fases son
conocidas por los
desarrolladores.
No necesita una
definicin
completa para
empezar a
funcionar.

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

Este
modelo es
aplicable
cuando es
difcil
establecer
los
requisitos
iniciales de
un proyecto
y es mas
apropiado

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

Iteraciones
costosas
Los problemas que
se presentan son
corregidos
posteriormente
Puede que el
software no
cumpla con los
requisitos
Es difcil incorporar
nuevas cosas si se
quiere actualizar
Es normal
detenerse en su
desarrollo y seguir
con otras fases
Se tarda mucho
tiempo en pasar
todo el ciclo
Las revisiones de
proyectos de gran
complejidad son
muy difciles
Requiere de
mucha planeacin,
tanto
administrativa
como tcnica.
Requiere de metas
claras para
conocer el estado
del proyecto.

Taller de Modelamiento de software: Metodologas.


complejidad y
los riesgos,
desarrollando
una parte del
producto
software
reservando el
resto de
aspectos para
el futuro.

Evolutivo
El desarrollo
evolutivo se
basa en la idea
de desarrollar
una
implementacin
inicial e ir
refinndola a
travs de
diferentes
versiones hasta
desarrollar un
sistema
software que
satisfaga todos
los
requerimientos
del cliente.
Espiral
El desarrollo en
espiral es un

comparacin del
modelo de cascada.
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.
Gestionan bien la
naturaleza evolutiva
del software
Son iterativos:
construyen versiones
de software
cada vez ms
completas
Se adaptan bien:
Los cambios de
requisitos del
producto
Fechas de entrega
estrictas poco
realistas
Especificaciones
parciales del
producto

En cada giro se
construye un nuevo
modelo del sistema
completo.

para
proyectos
pequeos.
Las nuevas
versiones
pueden ser
planeadas
de modo
que los
requisitos
tcnicos
puedan ser
administrad
os.
Este
modelo es
apropiado
en
proyectos
donde se
desea
realizar
mejoras
para
ampliar el
alcance del
mismo.

sucesivos.

Nos permite
hacer validaciones
deforma creciente
Retroalimentaci
n rpida a lo largo
del proceso
El sistema
evoluciona
agregando nuevos
atributos de
acuerdo a las
propuestas del
cliente

El proceso no es
visible
Sistema con
estructura
deficiente
Se requieren
herramientas y
tcnicas
especiales

Se aplican
a cualquier
proyecto,
grande,

+El anlisis de
riesgo se lo hace
de forma explcita
y clara. Integra el

+La consideracin
explicita
del
riesgo.
+Hacer uso de los

Taller de Modelamiento de software: Metodologas.

Prototipos

modelo de ciclo
de vida del
software Las
actividades de
este modelo se
conforman en
una espiral, en
la que cada
bucle o
iteracin
representa un
conjunto de
actividades. Las
actividades no
estn fijadas a
ninguna
prioridad, sino
que las
siguientes se
eligen en
funcin del
anlisis de
riesgo,
comenzando
por el bucle
interior.

Este modelo puede


combinarse con otros
modelos de proceso
de desarrollo
(cascada, evolutivo).
Mejor modelo para el
desarrollo de grandes
sistemas.
No hay un numero
definido de
iteraciones, las
iteraciones debe
decidirlas el equipo
de gestin del
proyecto.
Este es el enfoque
mas realista
actualmente.
El anlisis de riesgo
requiere la
participacin de
personal con alta
calificacin.

mediano o
pequeo,
complejo o
no.
Proyectos
pequeos
requieren
baja
cantidad de
tareas y
tambin de
formalidad.
En
proyectos
mayores o
crticos
cada regin
de tareas
contiene
labores de
ms alto
nivel de
formalidad.

desarrollo con el
mantenimiento de
software etc.
+Prevenir los
errores que se nos
pueden presentar
en un futuro, lo
cual es muy
positivo para
poder mejorar la
calidad del
software.
+Utiliza los
prototipos para
disminuir los
riegos desde el
punto de vista
tcnico.
+Si nos tardamos
mucho tiempo en
pasar a otro nivel
superior el
proyecto se lo
puede abandonar
para no gastar ni
tiempo ni dinero
en vano.
+El desarrollador y
el cliente
comprenden y
reaccin mejor
ante riesgos.

mejores elementos
de los restantes
modelos.
+Genera
mucho
tiempo
en
el
desarrollo
del
sistema
+Modelo costoso
Requiere
experiencia en la
identificacin
de
riesgos
Genera
mucho
trabajo adicional.
Cuando un sistema
falla
se
pierde
tiempo y coste
dentro
de
la
empresa.
Exige
una
cierta
habilidad en los
analistas
(es
bastante difcil).

Un prototipo es
una
representacin
de un sistema,
aunque no es

Trata de mantener un
continuo contacto
con el usuario en la
etapa de anlisis
Se preocupa mas del

Sirven para
modelar
entradas y
salidas de
un sistema,

- Reduccin de la
incertidumbre y
del riesgo
- Reduccin de
tiempo y de costos

se hacen fuertes
inversiones en un
producto
desechable ya que
los prototipos se

Taller de Modelamiento de software: Metodologas.

Desarrollo
basado en
component
es

un sistema
completo,
posee las
caractersticas
del sistema
final o parte de
ellas.

flujo de informacin y
la interface con el
usuario
No suelen
considerarse
aspectos de calidad
No se consideran
alternativas de
diseo y explotacin
Se presentan en
cualquier etapa del
ciclo de desarrollo

modela
tambin,
consumo
de
recursos,
ocupacin,
rendimient
os, reglas
de negocio
y datos.

- Incrementos en
la aceptacin del
nuevo sistema
- Mejoras en la
administracin de
proyectos
- Mejoras en la
comunicacin
entre
desarrolladores y
clientes

Se define como el
paradigma de
ensamblar
componentes y
escribir cdigo
para hacer que
estos
componentes
funcionen, de una
manera
coherente y
fluida. Sin
embargo, el
modelo de
desarrollo basado
en componentes
configura
aplicaciones
desde
componentes
preparados de
software

+El modelo de
desarrollo basado en
componentes
incorpora muchas de
las caractersticas del
modelo en espiral.
+Es evolutivo por
naturaleza.
+Exige un enfoque
iterativo para la
creacin del
software.
+Conduce a la
reutilizacin del
software.

Esta
metodolog
a es mas
utilizada en
proyectos
de
empresas
de alto
nivel, las
cuales
cuentan
con los
recursos
suficientes
para poder
desarrollarl
a.
Cualquier
tipo de
proyecto

+El anlisis del


riesgo se hace de
forma explcita y
clara.
+Une los mejores
elementos de los
restantes modelos.
+Reduce riesgos
del proyecto.
+Incorpora
objetivos de
calidad.
+Integra el
desarrollo con el
mantenimiento.
+Ahorramos el
70% del ciclo de
vida de desarrollo.

descartan. Esto
puede hacer que
aumente el coste
de desarrollo del
producto.
Con este modelo
pueden surgir
problemas con el
cliente que ve
funcionando
versiones del
prototipo pero
puede
desilusionarse
porque el producto
final an no ha
sido construido.
+Genera mucho
tiempo en el
desarrollo del
sistema
+Modelo costoso
+Requiere
experiencia en la
identificacin de
riesgos
+Genera mucho
trabajo adicional.
+Cuando un
sistema falla se
pierde tiempo y
coste dentro de la
empresa. Exige
una cierta
habilidad en los
analistas (es
bastante difcil).

Taller de Modelamiento de software: Metodologas.


OTRAS
METODOL
OGIAS
Win win

definicin

Es una
adaptacin del
modelo de
espiral que se
hace hincapi
explcitamente
situados en la
participacin
del cliente en
un proceso de
negociacin en
la gnesis del
desarrollo de
productos.
Idealmente, el
desarrollador
simplemente
preguntar al
cliente lo que
se requiere y el
cliente
proporcionara
el suficiente
detalle para
proceder.

Proceso

caractersticas

diagrama

Tipos de
sistemas

Ventajas

desventajas

+Trata de
mejorar los ciclos
de vida clsicos
y prototipos.
+Este modelo
puede
combinarse con
otros modelos de
proceso de
desarrollo.
+En cada giro se
construye un
nuevo modelo
del sistema
completo.
+El anlisis de
riesgo requiere la
participacin de
personal con alta
cualificacin.
Incorpora
objetivos de
calidad y gestin
de riesgos.
+Permite
iteraciones,
vuelta atrs y
finalizaciones
rpidas.

Esta
metodologa,
dado a que esta
basada en la de
espiral adquiere
la caracterstica
de poder ser
utilizado en
cualquier tipo de
proyecto.

Permite a quien lo
desarrolla aplicar el
enfoque de
construccin de
prototipos en
cualquier etapa de
evolucin del
producto.
Mantiene el enfoque
del ciclo de vida
clsico pero lo
incorpora al marco
de trabajo
interactivo que
refleja un mundo
ms realista de la
naturaleza del
proyecto.
Hace una
consideracin
directa de los
riesgos tcnicos en
todas las etapas del
proyecto de tal
manera que si se
aplica
adecuadamente
reduce los riesgos
antes de convertirse
en problemticos.

Forma

Es un marco de

Al elaborarlo por
partes no
tenemos una
visin global del
problema.
Aqu nos dice
que los
prototipos se van
validando, lo
cual es muy
negativo porque
como ya se ha
dicho ningn
software debe
empezar como
un prototipo.
Como es un
modelo
relativamente
nuevo no es muy
utilizado como
los paradigmas
lineales
secuenciales o
de construccin
de prototipos.
Debido a su
elevada
complejidad no
se aconseja
utilizarlo en
sistemas
pequeos (sobrecosto de
gestin).
El mtodo de PU

Sin embargo esta


metodologa es
mas utilizada en
proyectos de
empresas de alto
nivel, empresas
directivas,
empresas con un
mayor estimulo
de ingresos
anuales

-Adaptabilidad del

Taller de Modelamiento de software: Metodologas.


unificado

Es un proceso
de desarrollo de
software que
describe el
conjunto de
actividades
necesarias para
transformar los
requisitos del
usuario en un
sistema de
software. Esta
dirigido por
casos de uso,
centrado en la
arquitectura del
sistema, y es
iterativo e
incremental.

disciplinada de
asignar tareas y
responsabilidade
s (quin hace
qu, cundo y
cmo)
Pretende
implementar las
mejores
prcticas en
Ingeniera de
Software
Desarrollo
iterativo
Administracin
de requisitos
Uso de
arquitectura
basada en
componentes
Control de
cambios
Modelado visual
del software
Verificacin de la
calidad del
software

trabajo genrico
que puede
especializarse
para una gran
variedad de
sistemas
software, para
diferentes reas
de aplicacin,
diferentes tipos
de
organizaciones,
diferentes
niveles de
aptitud y
diferentes tama
os de proyecto

Ingeniera
web

Las
aplicaciones

Para una misma


aplicacin Web

La ingeniera de
la Web es

desarrollo a nuevos
requisitos o nuevos
cambios
-Se reducen los
riesgos de
no obtener el
producto deseado
-En cada momento
hay una versin del
sistema
funcionando que se
modifica segn las
necesidades y
deseos del cliente.
-Progreso visible en
las primeras etapas
-Reducir la
redundancia e
incrementa la
productividad
-El proceso es
comprensible
-La metodologa de
PU es ms
adaptable para
proyectos de largo
plazo

requiere costos
de dedicacin
altos por lo que
no es
conveniente
usarlo en
procesos de
un proyecto
pequeo.
-Si el proceso no
se aplica bien
desde el inicio el
PU se puede
volver muy
grande y difcil,
tanto para
aprender como
para administrar
-Una cantidad
sustancial de
tiempo se gasta
en tratar de
adecuar el PU a
cada proyecto.
-Es un proceso
pesado
-Se basa mucho
en la
documentacin

Taller de Modelamiento de software: Metodologas.


Web es un tipo
particular de
software, por
ello se puede
modelar con
diagramas UML.
Muchas
aplicaciones
telemticas son
un caso
particular de
aplicaciones
Web.
WebML: Web
Modeling
Language
Modelado
orientado a
aplicaciones
con un uso
intensivo de
datos, donde
hay gran
cantidad de
datos, con
estructura
compleja y las
aplicaciones
tienen que
acceder a ellos
Modelado de
aplicacin Web
en 4 fases:
Modelo de
datos
Modelo de
hipertexto
Modelo de

se pueden
utilizar varios
modelados.
Dependiendo del
tipo de
aplicacin, ser
ms adecuado
uno u otro.
WSDM est
orientado para
aplicaciones que
requiren
diferentes
audiencias.
WebML est
orientado para
aplicaciones que
tienen una alta
interaccin con
datos.
WA-UML est
orientado para
aplicaciones
adaptativas.
OO-H est
orientado para
aplicaciones con
nfasis en el
interfaz.
OOHDM y UWE
estn orientados
para aplicaciones
ms Genricas.

multidisciplinar y
aglutina
contribuciones
de diferentes
reas: arquitectu
ra de la
informacin,
ingeniera
de hipermedia/hi
pertexto,
ingeniera de
requisitos, diseo
de interfaz de
usuario,
usabilidad diseo
grafico y de
presentacin,
diseo y anlisis
de
sistemas, ingenie
ra de software,
ingeniera de
datos, indexado
y recuperacin
de informacin,
testeo, modelado
y simulacin,
despliegue de
aplicaciones,
operacin de
sistemas
y gestin de
proyectos.

Taller de Modelamiento de software: Metodologas.


gestin de
contenido
Modelo de
presentacin
Metodolog
as agiles

Consiste en
desarrollar una
pequea parte
del software
que se desea
construir. De
esta forma, el
cliente nos
indica si vamos
por el buen
camino,
estableciendo
aquellas partes
que le son ms
relevantes y as
juntos, nos
aseguramos de
que
construimos
una aplicacin
que aadir
valor a su
negocio.

La mayora
minimiza riesgos
desarrollando
software en
cortos lapsos de
tiempo.
Capacidad de
respuesta a
cambios de
requisitos a lo
largo del
desarrollo.
Entrega continua
y en plazos
breves de
software
funcional.
Trabajo conjunto
entre el cliente y
el equipo de
desarrollo.
Importancia de la
simplicidad,
eliminado el
trabajo
innecesario.
Atencin
continua a la
excelencia
tcnica y al buen
diseo.
Mejora continua
de los procesos y
el equipo de

Las metodologas
giles de
desarrollo estn
especialmente
indicadas en
proyectos con
requisitos poco
definidos o
cambiantes.

Programacin
organizada.
Menor taza de
errores.

Es recomendable
emplearlo
solo en
proyectos a corto
plazo.

Satisfaccin del pro


gramador.

Altas comisiones
en caso de fallar.

Taller de Modelamiento de software: Metodologas.


desarrollo

METODOLO
GIA
EMERGENT
E

Una
metodologa es
emergente
si permite
adaptar la
forma de
trabajo a las
condiciones del
proyecto.

El uso del
modelo
orientado a
objetos ayuda a
explotar el poder
expresivo de
todos los
lenguajes de
programacin
basados en
objetos y los
orientados a
objetos, como
Smalltalk, Object
Pascal, C++,
CLOS, Ada y
Java.
Incertidumbre: la
direccin indica
la necesidad
estratgica que
se desea cubrir,
ofreciendo
mxima libertad
al equipo de
trabajo.
Difusin y

Se utiliza
mayoritariament
e en desarrollo
de productos con
innovaciones
importantes, y
para sistemas de
informacin
empresarial.

Las metodologas
emergentes
motivan ms a los
equipos de trabajo.
El principal
beneficio del diseo
orientado a objetos
es que proporciona
un mecanismo para
formalizar modelos
de la realidad.
Evita malentendidos
de requerimientos
entre el cliente y el
equipo
El uso del modelo
orientado a objetos
alienta la
reutilizacin no solo
del software, sino
de diseos
completos.
Proporcionan
mejores resultados
en los proyectos de
alto riesgo.

Problemas
derivados de la
comunicacin
oral. Este tipo de
comunicacin
resulta difcil de
preservar
cuando pasa el
tiempo y est
sujeta a muchas
ambigedades.
Falta de calidad.
Probar el cdigo
de forma
constante no
genera
productos de
calidad, slo
revela falta de
anlisis y diseo.

Taller de Modelamiento de software: Metodologas.

REINGENIE
RIA

Una
reingeniera
buscar el
porqu el como
de lo que ya
existe.
Los cambios en
el diseo
debern ser
radicales
(desde la raz y
no
superficiales).
Las mejoras
esperadas
deben ser
dramticas (no
de unos pocos
porcentajes).
Los cambios se
deben
enfocarse para
no modificar el
fin del software.

transferencia del
conocimiento:
alta rotacin de
los miembros de
los equipos entre
diferentes
proyectos. Por
otra parte,
potenciar el
acceso libre a la
informacin y
documentacin
Unificacin de
tareas
Participacin de
los usuarios
Cambio del
orden secuencial
Reutilizacin de
componentes
Realizacin de
diferentes
versiones
Reduccin de las
comprobaciones

Simplifica el
mantenimiento del
sistema
Simplifica el costo
Menor tiempo
Mayor calidad
Reutilizacin del
software
Simplifica las
pruebas

Exige una cierta


habilidad en los
analistas
Se puede
perder el primer
proyecto
Necesita de
varios proyectos
realizados con
xito
Necesita que
todo el cdigo
sea orientado a
objetos

Taller de Modelamiento de software: Metodologas.

Anda mungkin juga menyukai