Está en la página 1de 33

EL PROCESO DE DESARROLLO

DEL SOFTWARE

No existe un proceso de software


universal que sea efectivo para
todos los contextos de
proyectos de desarrollo.
ACTIVIDADES
FUNDAMENTALES DE TODOS
LOS PROCESO DE SOFTWARE
Especificacin de software
Diseo e Implementacin
Validacin
Evolucin
ALGUNOS MODELOS DE
PROCESO DE SOFTWARE
Codificar y corregir
Modelo en cascada

Desarrollo evolutivo

Desarrollo formal de sistemas

Desarrollo basado en reutilizacin

Desarrollo incremental

Desarrollo en espiral
CODIFICAR Y CORREGIR
(CODE-AND-FIX)
ETAPAS

Codificar parte del software

Corregir
errores, agregar
funcionalidad o nuevos elementos.
DESVENTAJAS

No se planifica ni se controla.
Despus de una serie de cambios:
La estructura del cdigo se hace ms y
ms complicada
Los cambios siguientes son ms y ms
difciles.
Los resultados son menos confiables.
DESVENTAJAS

El software no satisface las necesidades ni


las expectativas del cliente.
La calidad no es adecuada.
Productos terminados fuera de plazo y
presupuesto.
Cambios estructurales del software son casi
imposibles.
CASCADA
Se populariz en la dcada de los 70 y
gua la mayor parte de la prctica actual.
El proceso es una cascada de fases,
donde el producto de una fase es la
entrada de la siguiente.
Cada fase se compone de una serie de
actividades que deben realizarse en
paralelo.
DESCRIPCIN
Este modelo admite hacer iteraciones,
durante las modificaciones en el
mantenimiento se puede ver por ejemplo la
necesidad de cambiar algo en el diseo, lo
cual significa que se harn los cambios
necesarios en la codificacin y se tendrn
que realizar de nuevo las pruebas, si se tiene
que volver a una de las etapas anteriores al
mantenimiento hay que recorrer de nuevo el
resto de las etapas.
FASES MODELO CASCADA

Cada fase tiene como resultado documentos que deben ser


aprobados por el usuario.
Una fase no comienza hasta que
termine la fase anterior y
generalmente se incluye la correccin
de los problemas encontrados en
fases previas.

En la prctica, este modelo no es


lineal, e involucra varias iteraciones e
interaccin entre las distintas fases de
desarrollo.
VENTAJAS
La planificacin es sencilla.
La calidad del producto resultante es alta.
Permite trabajar con personal poco cualificado.
Con este modelo se tiene un seguimiento de
todas las fases del proyecto y de su
cumplimiento.
DESVENTAJAS
Necesidad de tener todos los requisitos al
principio.
Si se han cometido errores en una fase es
difcil volver atrs.
No se tiene el producto hasta el final
Si se comete un error en la fase de anlisis no
lo descubrimos hasta la entrega, gasto intil de
recursos.
DESVENTAJAS

El cliente no ver resultados hasta el final,


con lo que puede impacientarse .
No se tienen indicadores fiables del
progreso del trabajo
Es comparativamente ms lento que los
dems y el coste es mayor tambin.
Tipos de proyectos para los
que es adecuado

Aquellos con todas las


especificaciones desde el principio
(reingeniera).
Desarrollo de un tipo de producto que
no es novedoso.
Proyectos complejos que se
entienden bien desde el principio.
VARIACIONES DEL MODELO
EN CASCADA
CICLO DE VIDA EN V

Propuesto por Alan Davis, tiene las mismas


fases que el cascada pero se considera el nivel
de abstraccin de cada una. Una fase adems
de utilizarse como entrada para la siguiente,
sirve para validar o verificar otras fases
posteriores.
Ciclo de vida en V
VARIACIONES DEL MODELO
EN CASCADA
CICLO DE VIDA TIPO SASHIMI

Se permite un solapamiento entre fases. Por


ejemplo, sin tener terminado del todo el
diseo se comienza a implementar. Una
ventaja es que no necesita generar tanta
documentacin debido a la continuidad del
mismo personal entre fases.
DESVENTAJAS

CICLO DE VIDA TIPO SASHIMI

Ms difcil controlar el progreso del


proyecto debido a que los finales de fase
ya no son un punto de referencia claro.
Al hacer cosas en paralelo si hay
problemas de comunicacin pueden surgir
inconsistencias
ESTRUCTURA
Ciclo de vida tipo sashimi
ESTRUCTURA

CICLO DE VIDA TIPO SASHIMI

La fase de ``concepto'' consiste en definir los


objetivos del proyecto, beneficios, tipo de
tecnologa. El diseo arquitectnico es el de
alto nivel, el detallado el de bajo nivel.
VARIACIONES DEL MODELO
EN CASCADA
CICLO DE VIDA EN CASCADA CON
SUBPROYECTOS

Al realizar el diseo arquitectnico, el sistema se


divide en varios subsistemas independientes
entre s, estos se pueden desarrollar por separado
y en consecuencia en paralelo con los dems.
Cada uno tendr seguramente fechas de
terminacin distintas. Una vez terminados todos
se integran y se prueba el sistema en conjunto. La
ventaja es tener a ms gente trabajando en
paralelo de forma eficiente. El riesgo es que
existan interdependencias entre los subproyectos
VARIACIONES DEL MODELO
EN CASCADA

CICLO DE VIDA EN CASCADA


INCREMENTAL
Se va creando el sistema aadiendo pequeas
funcionalidades. Cada uno de los pequeos
incrementos es parecido a lo que ocurre dentro de
la fase de mantenimiento. La ventaja es que no es
necesario tener todos los requisitos en un
principio. El inconveniente es que los errores en la
deteccin de requisitos se encuentran tarde.
ESTRUCTURA

Ciclo de vida
en cascada
incremental
VARIACIONES DEL MODELO
EN CASCADA

CICLO DE VIDA EN CASCADA CON


REDUCCIN DE RIESGOS
Uno de los problemas del ciclo de vida en
cascada es que si se entienden mal los
requisitos esto slo se descubrir cuando
se entregue el producto. Para evitar este
problema se puede hacer un desarrollo
iterativo durante las fases de anlisis y
diseo global
DESARROLLO
CICLO DE VIDA EN CASCADA CON
REDUCCIN DE RIESGOS
Preguntar al usuario.
Hacer diseo global que se desprende del
punto 1.
Hacer un prototipo de interfaz de usuario,
entrevistas con los usuarios, etc y volver
con ello al punto 1 para identificar ms
requisitos o corregir malentendidos.
El resto es igual al ciclo de vida en
cascada.
DESARROLLO ITERATIVO
INCREMENTAL

Forma de reducir la repeticin del trabajo


en el proceso de desarrollo y dar
oportunidad de retrasar la toma de
decisiones en los requisitos hasta adquirir
experiencia con el sistema.

Es una combinacin del Modelo de


Cascada y Modelo Evolutivo.
DESARROLLO ITERATIVO
INCREMENTAL

Bajo este modelo se entrega software por


partes funcionales ms pequeas , pero
reutilizables, llamadas incrementos. Cada
incremento se construye sobre aquel que ya
fue entregado.
DESARROLLO ITERATIVO
INCREMENTAL

Este es un modelo del tipo evolutivo, donde se


permiten y esperan probables cambios en los
requisitos en tiempo de desarrollo; se admite
margen para que el software pueda evolucionar.
Aplicable cuando los requisitos son
medianamente bien conocidos pero no son
completamente estticos y definidos.
DESARROLLO ITERATIVO
INCREMENTAL

La Descripcin del Sistema es esencial


para especificar y confeccionar los
distintos incrementos hasta llegar al
Producto global y final. Las actividades
concurrentes (Especificacin, Desarrollo
y Validacin) sintetizan el desarrollo
pormenorizado de los incrementos, que
se har posteriormente.
DESARROLLO ITERATIVO
INCREMENTAL

Durante el desarrollo de cada


incremento se puede utilizar el modelo
de cascada o evolutivo, dependiendo
del conocimiento que se tenga sobre
los requisitos a implementar.
VENTAJAS
No se espera hasta el fin del desarrollo para
utilizar el sistema.
Se pueden aclarar requisitos conforme se
entrega el sistema.
Se disminuye el riesgo de fracaso de todo el
proyecto, ya que se puede distribuir en cada
incremento.
Las partes ms importantes del sistema son
entregadas primero, por lo cual se realizan ms
pruebas en estos mdulos y se disminuye el
riesgo de fallos.
DESVENTAJAS

Cada incremento debe ser pequeo para


limitar el riesgo (menos de 20.000 lneas).
Cada incremento debe aumentar la
funcionalidad.
Es difcil establecer las correspondencias
de los requisitos contra los incrementos.
Es difcil detectar las unidades o servicios
genricos para todo el sistema.

También podría gustarte