Sunteți pe pagina 1din 34

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 Corregir

parte del software

errores, agregar funcionalidad o nuevos elementos.

UTILIZACIN

Desarrollo de software tarea unipersonal. El problema es claramente comprendido El programador es el usuario de la aplicacin. La aplicacin es simple segn estndares actuales

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


los de de

La fase de ``concepto'' consiste en definir objetivos del proyecto, beneficios, tipo tecnologa. El diseo arquitectnico es el 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.

S-ar putea să vă placă și