You are on page 1of 22

MODELOS DE DESARROLLO DE

SOFTWARE
Un modelo de desarrollo es una representacin abstracta de
un proceso de software, cada modelo representa el
proceso de desarrollo de software de una manera en
particular.
A pesar de estar definidos claramente, no representan
necesariamente la realidad de cmo se debe desarrollar el
software, sino que establece un enfoque comn. Un
modelo puede ser modificado y adaptado de acuerdo a las
necesidades del software en desarrollo.
1

Formalizacin del proceso de desarrollo


La ingeniera supone la existencia de procesos bien
establecidos para la realizacin de actividades de
desarrollo, construccin y fabricacin, entre otros.
El ciclo de vida es el proceso de desarrollo y mantenimiento
del software. Segn el modelo elegido se describen un
conjunto de actividades para llevar a cabo el ciclo de vida,
Los modelos clsicos:
MODELO EN CASCADA
MODELO EN V

Prcticamente identifican actividades similares y slo se


diferencian en la forma de presentacin.
2

CICLO DE VIDA CLASICO


Modelo que sirve para dos propsitos.
En primer lugar, permite representar los procesos de
concepcin y produccin en una forma grfica y lgica, y
segundo, proporciona un marco de trabajo alrededor del
cual las actividades de aseguramiento de calidad pueden
ser construidas en una manera decidida y disciplinada.
El desarrollo de software desde el concepto inicial a travs de
la operacin es un proceso involuntario. Es decir, se
produce mediante etapas sucesivas de especificacin,
diseo y modificacin.
3

CICLO DE VIDA CLASICO

Cada evaluacin de una parte del software da como


resultado cambios. Idealmente, el proceso de desarrollo
debe involucrar gradas sucesivas de especificacin y
diseo donde cada paso es verificado contra los
requerimientos de la etapa precedente.
As un producto de software viable evoluciona con errores
que se encuentran y corrigen conforme ocurren. El trmino
ciclo de vida del software describe el desarrollo de
software, desde la fase inicial hasta la fase final.
El propsito de este programa es para garantizar que el
software cumpla los requisitos para la aplicacin y
verificacin de los procedimientos de desarrollo: se
asegura de que los mtodos utilizados son apropiados.
4

CICLO DE VIDA CLASICO


El ciclo de vida bsico de un software consta de los siguientes
procedimientos:

Definicin de objetivos: definir el resultado del proyecto y


su papel en la estrategia global.
Anlisis de los requisitos y su viabilidad: recopilar, examinar
y formular los requisitos del cliente y examinar cualquier
restriccin que se pueda aplicar.
Diseo general: requisitos generales de la arquitectura de
la aplicacin.
Diseo en detalle: definicin precisa de cada subconjunto
de la aplicacin.
5

CICLO DE VIDA CLASICO

Programacin (programacin e implementacin): es la


implementacin de un lenguaje de programacin para crear
las funciones definidas durante la etapa de diseo.
Prueba de unidad: prueba individual de cada subconjunto
de la aplicacin para garantizar que se implementaron de
acuerdo con las especificaciones.
Integracin: para garantizar que los diferentes mdulos se
integren con la aplicacin. ste es el propsito de la prueba
de integracin que est cuidadosamente documentada.

CICLO DE VIDA CLASICO

Prueba beta (o validacin), para garantizar que el software


cumple con las especificaciones originales.
Documentacin: sirve para documentar informacin
necesaria para los usuarios del software y para desarrollos
futuros. Implementacin
Mantenimiento: para todos los procedimientos correctivos
(mantenimiento
correctivo)
y
las
actualizaciones
secundarias del software (mantenimiento continuo).

MODELO EN CASCADA

MODELO EN CASCADA

ANLISIS, determinar qu debe hacer el software ->


especificacin
DISEO, descomponer y organizar el sistema para que los
mdulos puedan ser desarrollados por separado
CODIFICACIN, escribir el cdigo fuente de cada mdulo
y realizar sobre ellos las pruebas necesarias
INTEGRACIN, combinar todos los mdulos y probar el
sistema completo antes de pasar a su explotacin
MANTENIMIENTO, durante la explotacin es necesario
realizar cambios ocasionales bien para corregir errores o
para introducir mejoras,
Se trata de aislar cada fase de las otras, lo que facilita la
especializacin de los desarrolladores. Al final de cada fase
se requiere un proceso de revisin para evitar que los
errores se propaguen a fases posteriores provocando la
vuelta atrs.
9

MODELO EN CASCADA AMPLIADO

INGENIERA DEL SOFTWARE Javier Martn

10

MODELO EN CASCADA

Cada fase debe generar una informacin de salida precisa


y suficiente:

DOCUMENTOS DE REQUISITOS DEL SOFTWARE (SRD),


es una especificacin precisa y completa a partir de los
requisitos establecidos por el cliente.
DOCUMENTO
DE
DISEO
DEL
SOFTWARE
(SDD),descripcin de la estructura global del sistema,
especificacin de qu debe hacer cada uno de los mdulos y
de cmo se combinan.
CDIGO FUENTE, el programa debidamente comentado
(documentacin interna).
SISTEMA SOFTWARE, el ejecutable producto dela fase de
integracin y la documentacin de las pruebas realizadas.
DOCUMENTOS DE CAMBIOS, despus de cada
modificacin realizada en la fase de mantenimiento: problema
detectado y solucin adoptada
11

MODELO EN V

12

MODELO EN V AMPLIADO

13

MODELO EN V

Incluye fases similares a las del modelo en


cascada pero de forma jerrquica. En horizontal se
representa el avance en el desarrollo y en vertical
el nivel de detalle.
VERIFICACIN, comprobacin de que una parte
del sistema cumple con sus especificaciones.
VALIDACIN, comprobacin de que un elmento
satisface
las necesidades del usuario
identificadas durante el anlisis.

14

PROTOTIPOS

En los modelos clsicos se insiste en las actividades de


revisin de resultados al final de cada fase para evitar la
vuelta atrs, que no se contempla de una forma organizada
y resulta muy costosa. Estn orientados a una forma de
desarrollo lineal.
PROTOTIPO, es un sistema auxiliar que permite probar
experimentalmente soluciones parciales a los requisitos del
sistema
Para que el coste de desarrollo del prototipo sea bajo en
relacin al del sistema final podemos:

Limitar las funciones


Limitar su capacidad
Limitar su eficiencia
Evitar limitaciones de diseo, utilizando un hardware ms
potente que el que ejecutar el sistema final
Reducir la parte a desarrollar
15

PROTOTIPOS RPIDOS

Su finalidad es solo adquirir experiencia, no se


aprovechan como producto (usar y tirar). Se
denominan maquetas cuando su funcionalidad o
capacidad es muy limitada.
El sistema final se codifica totalmente partiendo de
cero, no se aprovecha el cdigo del prototipo
Lo importante de estos prototipos es que se
desarrollen en poco tiempo.

16

PROTOTIPOS RPIDOS

17

PROTOTIPOS EVOLUTIVOS

En este caso se intenta aprovechar al mximo el cdigo del


prototipo, y para ello se emplea el mismo
hardware/software del sistema final.
Se realizan fases de anlisis y diseo parcial, que se van
ampliando hasta construir el sistema final mediante
adiciones sucesivas.
Se puede considerar un modelo en cascada en bucle, de
manera que en cada iteracin se va avanzando en el
desarrollo.
HERRAMIENTAS PARA EL DESARROLLO DE
PROTOTIPOS, se emplean lenguajes de 4 generacin,
que son de alto nivel y de tipo declarativo. Tambin se
emplean lenguajes de especificacin, como VDM y Z. Si
disponemos del compilador correspondiente podemos
obtener automticamente el cdigo del prototipo.
En el desarrollo de prototipos es clave la reutilizacin de
18
software.

PROTOTIPOS EVOLUTIVOS

19

MODELO EN ESPIRAL

Puede considerarse como un refinamiento del modelo


evolutivo general que introduce el anlisis de riesgo como
elemento fundamental para guiar la evolucin del proceso
de desarrollo.
En la dimensin radial se representa el esfuerzo realizado
en el desarrollo (siempre creciente)
En cada iteracin 4 fases:

PLANIFICACIN, determina que parte del desarrollo se


abordar en ese ciclo.
ANALISIS DE RIESGO, evaluar diferentes alternativas para
esa parte del desarrollo seleccionando la ms ventajosa y
tomando precauciones para evitar los posibles
inconvenientes.
INGENIERA, las actividades de los modelos clsicos
EVALUACIN, se analizan los resultados de la fase de
ingeniera.
20

MODELO EN ESPIRAL

21

MANTENIMIENTO DEL SOFTWARE

El mantenimiento no representa una actividad especfica,


sino que consiste en rehacer parte de las actividades
correspondientes a las otras fases del desarrollo para
introducir cambios sobre una aplicacin ya en fase de
explotacin.
MANTENIMIENTO CORRECTIVO, su finalidad es corregir
errores que no fueron detectados en el desarrollo del
producto.
MANTENIMIENTO ADAPTATIVO, modificar una aplicacin
para adaptarla a las nuevas necesidades del entorno.
MANTENIMIENTO PERFECTIVO, se trata de ir obteniendo
versiones mejoradas del producto
22

You might also like