Anda di halaman 1dari 28

CAPITULO II MODELOS DE DESARROLLO DE SOFTWARE

Apoyo con lectura


Roger Pressman 6ta Ed. Capitulo III Modelos prescriptivos del proceso

OBJETIVO
Consolidar al estudiante los conocimientos sobre los modelos desarrollo de software estudiados en materias previas.

2.1 Generalidades
En este capitulo se plantean las siguientes cuestiones que el finalizar el tema debemos ser capaces de responder: Qu son los modelos? Quin lo hace? por que es importante? Cules son los pasos? Cul es el producto obtenido? Cmo puedo estar seguro de que lo he hecho correctamente?

2.2. El proceso fundamental


El marco de trabajo establece la base para un proceso de software completo al identificar un numero de actividades del marco de trabajo aplicables a todos los proyectos de software, sin importar su tamao p su complejidad.
Proceso del software

Nota. En el texto se le denomina actividades sombrilla alas actividades de proteccion.

El siguiente marco de trabajo genrico se puede aplicar a la mayora de los proyectos software. Comunicacin: investigacin , clientes Planeacin: plan de trabajo, requisitos Modelado : modelos Construccin: cdigo , pruebas Despliegue: entrega a cliente , evaluacin de producto

2.2.1 Actividades de proteccin sombrilla


Incluyen Seguimiento y control del proyecto software Gestin del riesgo Aseguramiento de la calidad Revisiones tcnicas formales Medicin Gestin de la configuracin Gestin de la reutilizacin Preparacin y produccin de producto de trabajo.

2.3 Modelos de proceso de software


Cualquier organizacin de ingeniera del software debe describir un conjunto nico de actividades dentro del marco de trabajo para el procesos de software. Tambin debe llenar cada actividad del marco de trabajo con un conjunto de acciones , y definir cada accin en un conjunto de tareas que deben completarse para lograr el producto software .

2.3 Modelos de proceso de software


Precisamente los modelos son un conjunto de distintas actividades , acciones , tareas fundamentos y productos de trabajo que se requieren para desarrollar software de alta calidad.

2.3.1. Modelo en Cascada


Se denomina tambin ciclo de vida bsico. Sugiere un enfoque sistemtico secuencial hacia el desarrollo de software. Por sus caractersticas no es apropiado por no estar acorde a la realidad.
Comunicacin
Inicio del proy. Rec. De requisitos

Planeacin
Estimacin Itinerario seguimiento

Modelado
Anlisis diseo

Construccin
Cdigo prueba

Despliegue
Entrega Soporte fedback

2.3.2. Modelos de proceso incrementales


En muchas situaciones los requisitos inciales de software estn bien definidos de forma razonable, pero el enfoque global del esfuerzo de desarrollo excluye un proceso puramente lineal. Adems quiz haya la necesidad imperiosa de proporcionar de manera rpida un conjunto limitado de funcionalidad para el usuario y despus refinarla y expandirla en las entregas posteriores. En estos casos se considera elegir un modelo de proceso incremental.

Modelo incremental
El modelo incremental combina elementos del modelo en cascada aplicado en forma iterativa. Este modelo aplica secuencias lineales de manera escalonada conforme avanza el tiempo en calendario. Cada secuencia lineal produce incrementos. Por lo general el primer incremento se le entrega al cliente o es sujeto a evaluacin , como resultado se desarrolla un plan para el siguiente incremento.

Incremento n

Comunica cin
. Incremento 2

Planeac in

Modela do

Construcc in

Desplieg ue

Incremento 1

Comunica cin

Planeac in

Modela do

Construcc in

Desplieg ue

Comunica cin

Planeac in

Modela do

Construcc in

Desplieg ue

El modelo DRA
Es un modelo de proceso de software incremental que resalta el ciclo de desarrollo corto. Es una adaptacin a alta velocidad del modelo en cascada mediante un enfoque de construccin basado en componentes. Si se entiende bien los requisitos y se limita el mbito del proyecto se puede lograr un sistema completamente funcional

Modela do Comunica cin


Modela do Planeac in

Construcc in

Construcc in

Desplieg ue

Modela do

Construcc in

2.3.3. MODELOS DE PROCESO EVOLUTIVOS


Dependiendo del proyecto que se encare en muchas situaciones es necesario que el producto evolucione en el tiempo por tanto se deben considerar los procesos evolutivos

Construccin de prototipos
A menudo el cliente define los objetivos generales pero no identifica los requisitos detallados de entradas y salidas o procesamiento, otra situacin puede ser cuando el responsable no esta seguro del algoritmo , o de la interaccin humano maquina, en estos y en otros casos es necesario este modelo

Construccin de prototipos
Comunicacin Plan rpido

Desarrollo entrega y retroalimentacin

Modelado de diseo rapido

Construccin de prototipos

MODELO EN ESPIRAL
Es un modelo evolutivo que conjuga la naturaleza iterativa de la construccin de prototipos con los aspectos controlados y sistemticos del modelo en cascada. Cuando se aplica el modelo espiral el software se desarrolla en una serie de entregas evolutivas . Durante las primeras iteraciones , la entrega tal vez sea un documento del modelo o un prototipo . Durante las ultimas iteraciones se producen versiones cada ves mas completas del sistema desarrollado.

MODELO EN ESPIRAL

2.3.4. EL MODELO DE DESARROLLO CONCURRENTE


Representa en forma esquemtica como una serie de actividades del marco de trabajo , acciones y tareas de la ingeniera de software y sus estados asociados.

Actividad del modelado

Modelo de desarrollo concurrente


ninguno

Bajo desarrollo

En modificacin
En espera de cambios

en revisin

En lnea de base

realizado

2.3.5.MODELOS ESPECIALIZADOS DE PROCESO


Los modelos especializados de procesos , adoptan muchas caractersticas de uno o mas modelos convencionales presentados anteriormente.

2.3.6.DESARROLLO BASADO EN COMPONENTES


Este modelo incorpora muchas caractersticas del modelo espiral, es evolutivo por naturaleza y exige un enfoque iterativo para la creacin de software, sin embargo el modelo configura aplicaciones a partir de componentes de software empaquetados en forma previa.

2.3.7.MTODOS FORMALES
Comprende un conjunto de actividades que conducen a la especificacin matemtica del software de computadora En la actualidad es muy caro y consume mucho tiempo

2.3.8.DESARROLLO DE SOFTWARE ORIENTADO A ASPECTOS


Sin importar el proceso este tipo de desarrollo considera caractersticas del software que son relevantes para el cliente.

2.3.9. PROCESO UNIFICADO


INICIO FLUJOS ELABORACIN FLUJOS CONSTRUCCIN FLUJOS TRANSICIN FLUJOS

El proceso unificado
Flujos de trabajo: Actividades
Requisitos Anlisis Diseo

28

Fases
Inicio Elaboracin Construccin Transicin

Implementacin Prueba

Iteraciones:

ite r. #1

ite r. #2

ite r. #n

ite r. # n+ 1

ite r. # n+2

it e r. #m

ite r. #m +1