Vous êtes sur la page 1sur 18

2 MODELOS DE LA INGENIERIA DE SOFTWARE

2.3 MODELO CASCADA, MODELO DE


PROTOTIPO, MODELOS
ESPIRAL Y MODELO DE PROCESO UNIFICADO RACIONAL (RUP).
MODELO DE CASCADA
Es un modelo sencillo para explicar al cliente.
Tambin llamado ciclo de vida clsico sugiere un enfoque sistemtico,
secuencial en el desarrollo del software.
Requiere que los requerimientos estn bien definidos y estables en forma
razonable.
Es el paradigma ms antiguo para la Ingeniera del Software.

Anlisis de los requerimientos del software: El proceso de recopilacin


de los requerimientos se centra e intensifica especialmente en el software.

El ingeniero del software


informacin del

software

debe
as

comprender

como

la

funcin

el

mbito

de

la

del rendimiento y las

interfaces requeridas.
Diseo: Se enfoca en cuatro atributos distintos del programa, la estructura
de los datos, la arquitectura del software, el detalle procedimental y la
caracterizacin de la interfaz.
Codificacin: Debe traducirse en una forma legible para la mquina.

Prueba: Se centra en la lgica interna del software y en las funciones


externas, realizando pruebas que aseguren que la entrada definida produce
los resultados que realmente se requiere.

Mantenimiento: El software sufrira cambios despus de que se entrega al


cliente ocurren debido a que hayan encontrado errores que el software
deba adaptarse a
aplicaciones

cambios del entorno externo o que el cliente requiera

funcionales

del rendimiento.

CARACTERISTICAS
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.
Si se cambia el orden de las fases, el producto final ser de inferior calidad.

VENTAJAS
El modelo de cascada es el modelo ms antiguo y ms ampliamente
utilizado en el campo de desarrollo de software. Hay ciertas ventajas
del modelo de cascada, que hace que sea el modelo ms ampliamente
utilizado hasta el momento. Algunos de ellos son:

Es un modelo lineal y, por supuesto, los modelos lineales son las ms


simples a ser implementadas.
La cantidad de recursos necesarios para implementar este modelo es
mnima.
Una gran ventaja del modelo de cascada es que la documentacin se
produce en cada etapa del desarrollo del modelo de cascada. Esto hace
que la comprensin del producto disear procedimiento ms sencillo.
Despus de cada etapa importante de la codificacin de software, las
pruebas.

DESVENTAJAS
Irnicamente, la mayor desventaja del modelo de cascada es uno de sus
mayores ventajas. No se puede volver atrs, si la fase de diseo ha ido mal,
las cosas pueden ser muy complicado en la fase de ejecucin.
Muchas veces, sucede que el cliente no es muy claro de lo que
exactamente quiere del software. Cualquier cambio que se menciona en el
medio puede causar mucha confusin.
Los pequeos cambios o errores que surgen en el software completo puede
causar mucho problema.
La mayor desventaja del modelo de cascada es que hasta la etapa final del
ciclo de desarrollo se ha completado, un modelo de trabajo del software no
est en las manos del cliente. Por lo tanto, es difcil en condiciones de
mencionar si lo que se ha diseado es exactamente lo que haba pedido.

MODELO DE PROTOTIPOS
El Modelo de prototipos, en Ingeniera de software, pertenece a los modelos de
desarrollo evolutivo. El prototipo debe ser construido en poco tiempo, usando los
programas adecuados y no se debe utilizar muchos recursos.
El diseo rpido se centra en una de aquellos aspectos del software
que sern visibles para el cliente o el usuario final. Este diseo conduce a la
construccin de un prototipo, el cual es evaluado por el cliente para una

retroalimentacin; gracias a sta se refinan los requisitos del software que se


desarrollar. La interaccin ocurre cuando el prototipo se ajusta para satisfacer las
necesidades del cliente. Esto permite que al mismo tiempo el desarrollador
entienda mejor lo que se debe hacer y el cliente vea resultados a corto plazo.
La interaccin ocurre cuando el prototipo se ajusta para satisfacer las
necesidades del cliente. Esto permite que al mismo tiempo el desarrollador
entienda mejor lo que se debe hacer y el cliente vea resultados a corto plazo.

TIPOS

DE

MODELO DE PROTOTIPOS
Modelo de Prototipos rpido: Metodologa de diseo que desarrolla
rpidamente nuevos diseos, los evala y prescinde del prototipo cuando el
prximo diseo es desarrollado mediante un nuevo prototipo.
Modelo de Prototipos reutilizable: Tambin conocido como "Evolutionary
Prototyping"; no se pierde el esfuerzo efectuado en la construccin del
prototipo pues sus partes o el conjunto pueden ser utilizados para construir

el producto real. Mayormente es utilizado en el desarrollo de software, si


bien determinados productos de hardware pueden hacer uso del prototipo
como la base del diseo de moldes en la fabricacin con plsticos o en el
diseo de carroceras de automviles.
Modelo de Prototipos Modular: Tambin conocido como Prototipado
Incremental (Incremental prototyping); se aaden nuevos elementos sobre
el prototipo a medida que el ciclo de diseo progresa.
Modelo de Prototipos de Baja-fidelidad: El prototipo se implementa con
papel y lpiz, emulando la funcin del producto real sin mostrar el aspecto
real del mismo. Resulta muy til para realizar test baratos.
Modelo de Prototipos Horizontal: El prototipo cubre un amplio nmero de
aspectos y funciones pero la mayora no son operativas. Resulta muy til
para evaluar el alcance del producto, pero no su uso real.
Modelo de Prototipos Vertical: El prototipo cubre slo un pequeo
nmero de funciones operativas. Resulta muy til para evaluar el uso real
sobre una pequea parte del producto.
Modelo de Prototipos de Alta-fidelidad: El prototipo se implementa de la
forma ms cercana posible al diseo real en trminos de aspecto,
impresiones, interaccin y tiempo.

TIPOS DE PROTOTIPOS
Hay dos clases de prototipos el desechable y el evolucionario:
El desechable: nos sirve para eliminar dudas sobre lo que realmente quiere
el cliente adems para desarrollar la interfaz que ms le convenga al
cliente.
El evolucionario: es un modelo parcialmente construido que puede pasar de
ser prototipo a ser software pero no tiene una buena documentacin y
calidad.
Cmo se lleva a cabo:

Se comienza elaborando un prototipo del producto final: qu aspecto


tendr, cmo funcionar. Para muchas interfaces de usuario, este modelo puede
resultar tan simple como unos dibujos con lpiz y papel o tan complejo como el
propio cdigo operativo final.
Para interfaces de hardware o estaciones de trabajo, el modelo puede
consistir en maquetas de espuma, caucho, cartn o cartulina. Cuanto ms prximo
se encuentre el prototipo al producto real, mejor ser la evaluacin, si bien se
pueden obtener magnficos resultados con prototipos de baja fidelidad.
Etapas:
1.
2.
3.
4.
5.
6.

Recoleccin y refinamiento de requisitos.


Modelado, diseo rpido.
Construccin del Prototipo.
Desarrollo, evaluacin del prototipo por el cliente.
Refinamiento del prototipo.
Producto de Ingeniera.

VENTAJAS
Este modelo

es til cuando el

cliente conoce los objetivos generales para el software, pero no identifica


los requisitos detallados de entrada, procesamiento o salida.
Tambin ofrece un mejor enfoque cuando el responsable del desarrollo del
software est inseguro de la eficacia de un algoritmo, de la adaptabilidad de
un sistema operativo o de la forma que debera tomar la interaccin
humano- mquina.
No modifica el flujo del ciclo de vida
Reduce el riesgo de construir

productos

que

no satisfagan las

necesidades de los usuarios.


Reduce costo y aumenta la probabilidad de xito
Exige disponer de las herramientas adecuadas
Este modelo es til cuando el cliente conoce los objetivos generales para
el software, pero no identifica los requisitos detallados de entrada,
procesamiento o salida.

DESVENTAJAS
El usuario tiende a crearse unas expectativas cuando ve el prototipo de
cara al sistema final. A causa de la intencin de crear un prototipo de forma
rpida, se suelen desatender aspectos importantes, tales como la calidad y

el mantenimiento a largo plazo, lo que obliga en la mayor parte de los casos


a reconstruirlo una vez que el prototipo ha cumplido su funcin.
El desarrollador puede caer en la tentacin de ampliar el prototipo para
construir el sistema final sin tener en cuenta los compromisos de calidad y
mantenimiento que tiene con el cliente
En aras de desarrollar rpidamente el prototipo, el desarrollador suele
tomar algunas decisiones de implementacin poco convenientes (por
ejemplo,

elegir

un

lenguaje

de programacin incorrecto porque

proporcione un desarrollo ms rpido). Con el paso del tiempo, el


desarrollador puede olvidarse de la razn que le llev a tomar tales
decisiones, con lo que se corre el riesgo de que dichas elecciones pasen a
formar parte del sistema final.
Debido a que el usuario ve que el prototipo funciona piensa que este es el
producto terminado y no entienden que recin se va a desarrollar el
software.
A pesar de que tal vez surjan problemas, la construccin de prototipos
puede ser un paradigma efectivo para la ingeniera del software. La clave
es definir las reglas del juego desde el principio; es decir, el cliente y el
desarrollador se deben poner de acuerdo en:
Que el prototipo se construya y sirva como un mecanismo para la
definicin de requisitos.
Que el prototipo se descarte, al menos en parte.
Que despus se desarrolle el software real con un enfoque hacia
la calidad.

MODELO DE ESPIRAL
El desarrollo en espiral es un modelo de ciclo de vida del software definido
por primera vez por Barry Boehm en 1986, utilizado generalmente en la Ingeniera
de 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.

Su Modelo de Ciclo de Vida en Espiral tiene en cuenta fuertemente el riesgo


que aparece a la hora de desarrollar software. Para ello, se comienza mirando las
posibles alternativas de desarrollo, se opta por la de riesgo ms asumible y se
hace un ciclo de la espiral. Si el cliente quiere seguir haciendo mejoras en el
software, se vuelve a evaluar las distintas nuevas alternativas y riesgos y se
realiza otra vuelta de la espiral, as hasta que llegue un momento en el que el
producto software desarrollado sea aceptado y no necesite seguir mejorndose
con otro nuevo ciclo.

CICLOS O ITERACIONES
En cada vuelta o iteracin hay que tener en cuenta:
Los Objetivos: qu necesidad debe cubrir el producto.
Alternativas: las diferentes formas de conseguir los objetivos de forma
exitosa, desde diferentes puntos de vista como pueden ser:

1. Caractersticas: experiencia del personal, requisitos a cumplir, etc.


2. Formas de gestin del sistema.
3. Riesgo asumido con cada alternativa.
Desarrollar y Verificar: Programar y probar el software.
Si el resultado no es el adecuado o se necesita implementar mejoras o
funcionalidades:
Se planificaran los siguientes pasos y se comienza un nuevo ciclo de la
espiral. La espiral tiene una forma de caracola y se dice que mantiene dos
dimensiones, la radial y la angular:
1. Angular: Indica el avance del proyecto del software dentro de un
ciclo.
2. Radial: Indica el aumento del coste del proyecto, ya que con cada
nueva iteracin se pasa ms tiempo desarrollando.
Este sistema es muy utilizado en proyectos grandes y complejos como
puede ser, por ejemplo, la creacin de un Sistema Operativo.
Al ser un modelo de Ciclo de Vida orientado a la gestin de riesgo se dice
que uno de los aspectos fundamentales de su xito radica en que el equipo que lo
aplique tenga la necesaria experiencia y habilidad para detectar y catalogar
correctamente los riesgos.

TAREAS
Para cada ciclo habr cuatro actividades:
1.
2.
3.
4.

Determinar Objetivos.
Anlisis del riesgo.
Desarrollar y probar.
'Planificacin.'

Determinar o fijar objetivos.


Fijar

tambin

los

productos

definidos

obtener:

requerimientos,

especificacin, manual de usuario.


Fijar las restricciones.
Identificacin de riesgos del proyecto y estrategias alternativas para
evitarlos.
Hay una cosa que solo se hace una vez: planificacin inicial.

DESARROLLAR, VERIFICAR Y VALIDAR (PROBAR)


Tareas de la actividad propia y de prueba.
Anlisis de alternativas e identificacin resolucin de riesgos.
Dependiendo del resultado de la evaluacin de los riesgos, se elige un
modelo para el desarrollo, el que puede ser cualquiera de los otros
existentes, como formal, evolutivo, cascada, etc. As si por ejemplo si los
riesgos en la interfaz de usuario son dominantes, un modelo de desarrollo
apropiado podra ser la construccin de prototipos evolutivos. Si lo riesgos
de proteccin son la principal consideracin, un desarrollo basado en
transformaciones formales podra ser el ms apropiado.

ANLISIS DEL RIESGO

Se lleva a cabo el estudio de las causas de las posibles amenazas y


probables eventos no deseados y los daos y consecuencias que stas
puedan producir. Se evalan alternativas. Se debe tener un prototipo antes
de comenzar a desarrollar y probar.

MECANISMOS DE CONTROL
La dimensin radial mide el coste.
La dimensin angular mide el grado de avance del proyecto.

VENTAJAS

El anlisis de 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, etc.
Adems es posible tener en cuenta mejora y nuevos requerimientos sin
romper con la metodologa, ya que este siclo de vida no es rgido ni
esttico.

DESVENTAJAS
Genera mucho tiempo en el desarrollo en el sistema.
Es un modelo costoso.
Requiere experiencia en la identificacin de riesgos.

PROCESO UNIFICADO DE RACIONAL (RUP)


QUE ES UN PROCESO?
Un proceso define quien est haciendo que, cuando lo hace, y como
hacerle para alcanzar un objetivo.
El Proceso Unificado de Racional es un proceso de desarrollo de software
desarrollado por la empresa Racional Software, actualmente propiedad de IBM.
Junto con el Lenguaje Unificado de Modelado UML, constituye la metodologa

estndar ms utilizada para el anlisis, diseo, implementacin y documentacin


de sistemas orientados a objetos.
El RUP no es un sistema con pasos firmemente establecidos, sino un
conjunto de metodologas adaptables al contexto y necesidades de cada
organizacin.

PRINCIPALES CARACTERSTICAS
Forma disciplinada de asignar tareas y responsabilidades (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.
El RUP es un producto de Rational (IBM). Se caracteriza por ser iterativo e

incremental, estar centrado en la arquitectura y guiado por los casos de uso.


Incluye artefactos (que son los productos tangibles del proceso como por ejemplo,
el modelo de casos de uso, el cdigo fuente, etc.) y roles (papel que desempea
una persona en un determinado momento, una persona puede desempear
distintos roles a lo largo del proceso).

ARTEFACTOS
RUP en cada una de sus fases (pertenecientes a la estructura dinmica)
realiza una serie de artefactos que sirven para comprender mejor tanto el anlisis
como el diseo del sistema (entre otros). Estos artefactos (entre otros) son los
siguientes:

INICIO:
Documento Visin.
Diagramas de caso de uso.
Especificacin de Requisitos.

Diagrama de Requisitos.

ELABORACIN:
Documento Arquitectura que trabaja con las siguientes vistas:
Vista Lgica:
Diagrama de clases.
Modelo E-R (Si el sistema as lo requiere).
Vista de Implementacin:
Diagrama de Secuencia.
Diagrama de estados.
Diagrama de Colaboracin.
Vista Conceptual:
Modelo de dominio.
Vista fsica:
Mapa de comportamiento a nivel de hardware.
Diseo y desarrollo de casos de uso, o flujos de casos de uso
arquitectnicos.
Pruebas de los casos de uso desarrollados, que demuestran que la
arquitectura documentada responde adecuadamente a requerimientos
funcionales y no funcionales.
Construccin:
Especificacin de requisitos faltantes.
Diseo y desarrollo de casos de uso y/o flujos de acuerdo con la planeacin
iterativa.
Pruebas de los casos de uso desarrollados, y pruebas de regresin segn
sea el caso.
Transicin:
Pruebas finales de aceptacin.

Puesta en produccin.
.Estabilizacin.

MODELOS DEL PROCESO UNIFICADO


MODELOS DE CASOS DE USO
Consiste de actores, casos se uso y relaciones entre ellos. Los actores
representan

todo aquello que intercambia informacin con el sistema. Cuando

un actor usa el sistema, el sistema ejecuta un caso de uso. El modelo del caso
de uso es usado como entrada esencial para las actividades del anlisis, diseo y
prueba.
MODELOS DE ANALISIS
Tiene el propsito de refinar el caos de uso ms detalladamente, y
realizar una asignacin del comportamiento del sistema; a un conjunto de
objetos que proporcionen el funcionamiento esperado.
Es un modelo de objetos que describe la realizacin de casos de uso, y
sirve como abstraccin para el modelo del diseo.
MODELO DE DISEO
Define la estructura esttica del sistema, tales como: subsistemas, clases e
interfaces, y la realizacin de los casos de uso como colaboraciones entre

los

subsistemas, clases e interfaces.


Es un modelo de objetos que describe la realizacin de caso de uso, y sirve
como una abstraccin del modelo de implementacin y sus cdigos fuentes.
MODELO DE IMPLEMENTACION
El modelo de implementacin es una coleccin de componentes y
subsistemas que los contienen. Los componentes incluyen archivos ejecutables,
cdigos fuentes y libreras.
MODELO DE DEPLOYMENT

Muestra la configuracin de los procesos (nodos) en el tiempo de ejecucin,


la liga de comunicacin entre ellos y los componentes y objetos que

residen en

ellos. Realizan el mapeo de los componentes a los nodos. Definen los nodos
fsicos de las computadoras.
MODELO DE PRUEBAS
Es una representacin de lo que ser probado y como ser probado. En
una vista de los modelos de diseo e implementacin, describiendo las pruebas
de ellos mismos. Esto incluye la coleccin de casos de pruebas,
de prueba, escritos de pruebas y los resultados de prueba
una descripcin de sus relaciones.

procedimiento

esperados junto con

ESTRUCTURA DELPROCESO UNIFICADO

El proceso iterativo es organizado en cuatro fases:

Las cuatro fases constituyen un desarrollo cclico y produces una


generacin de software y muestran la duracin y esfuerzo por cada fase.

VENTAJAS
Proceso visible en las etapas tempranas.
El uso de iteraciones (actividades).
Permite evaluar tempranamente los tiesos en lugar de describir problemas
en integracin final del sistema.
Facilita la reutilizacin del cdigo teniendo en cuenta que realzan revisiones
en las primeras iteraciones lo cual permite que se aprecien oportunidades
de mejoras en el diseo.

DESVENTAJAS
Requiere conocimientos del proceso y de UML (esto puede depender de la
persona para que este punto pueda ser una ventaja o desventaja).
Por el grado de complejidad puede no resultar muy adecuado.
RUP es generalmente mal aplicada en el estilo cascada.

Vous aimerez peut-être aussi