Académique Documents
Professionnel Documents
Culture Documents
Todo el desarrollo del software se puede caracterizar como bucle de resolucin de problemas
en el que se encuentran cuatro etapas distintas.
Definicin de
Problemas
Desarrollo
Estado Actual
Tcnico
Integracin de
Soluciones
A. Codificar y Corregir
B. Modelo en Cascada
C. Desarrollo Evolutivo
F. Desarrollo Incremental
G. Desarrollo Espiral
A) CODIFICAR Y CORREGIR
El desarrollo de codificacin y correccin (en ingls "Code and fix") es, ms que una estrategia
predeterminada, el resultado de una falta de experiencia o presin que se ejerce sobre los
desarrolladores para cumplir con una fecha de entrega. Sin dedicar tiempo de forma explcita
para el diseo, los programadores comienzan de forma inmediata a producir cdigo. Antes o
despus comienza la fase de pruebas de software (a menudo de forma tarda) y los
inevitables errores que se encuentran han de eliminarse antes de poder entregar el software.
B) MODELO EN CASCADA
El ms conocido, est basado en el ciclo convencional de una ingeniera, el paradigma del ciclo
de vida abarca las siguientes actividades:
Ingeniera y Anlisis del Sistema: Debido a que el software es siempre parte de un sistema
mayor el trabajo comienza estableciendo los requisitos de todos los elementos del sistema y
luego asignando algn subconjunto de estos requisitos al software.
Anlisis de los requisitos del software: El proceso de recopilacin de los requisitos se centra e
intensifica especialmente en el software. El ingeniero de software (Analistas) debe comprender
el mbito de la informacin del software, as como la funcin, el rendimiento y las interfaces
requeridas.
Diseo: El diseo del software 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. El proceso de diseo traduce los requisitos en una representacin
del software con la calidad requerida antes de que comience la codificacin.
Codificacin: El diseo debe traducirse en una forma legible para la mquina. El paso de
codificacin realiza esta tarea. Si el diseo se realiza de una manera detallada la codificacin
puede realizarse mecnicamente.
Prueba: Una vez que se ha generado el cdigo comienza la prueba del programa. La 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 requieren.
Mantenimiento: El software sufrir cambios despus de que se entrega al cliente. Los cambios
ocurrirn debido a que hayan encontrado errores, a que el software deba adaptarse a cambios
del entorno externo (sistema operativo o dispositivos perifricos), o debido a que el cliente
requiera ampliaciones funcionales o del rendimiento.
Desventajas: Los proyectos reales raramente siguen el flujo secuencial que propone el modelo,
siempre hay iteraciones y se crean problemas en la aplicacin del paradigma.
Normalmente, es difcil para el cliente establecer explcitamente al principio todos los requisitos.
El ciclo de vida clsico lo requiere y tiene dificultades en acomodar posibles incertidumbres que
pueden existir al comienzo de muchos productos.
El cliente debe tener paciencia. Hasta llegar a las etapas finales del proyecto, no estar
disponible una versin operativa del programa. Un error importante no detectado hasta que el
programa est funcionando puede ser desastroso.
C) DESARROLLO EVOLUTIVO
El desarrollo evolutivo consta del desarrollo de una versin inicial que luego de exponerse se va
refinando de acuerdo de los comentarios o nuevos requerimientos por parte del cliente o del
usuario final. Las fases de especificacin, desarrollo y validacin se entrelazan en vez de
separarse.
1. Desarrollo exploratorio, donde el objetivo del proceso es trabajar con el cliente para explorar
sus requerimientos y entregar un sistema final. El desarrollo empieza con las partes del sistema
que se comprenden mejor. El sistema evoluciona agregando nuevos atributos propuestos por el
cliente.
2. Prototipos desechables, donde el objetivo del proceso de desarrollo evolutivo es comprender
los requerimientos del cliente y entonces desarrollar una definicin mejorada de los
requerimientos para el sistema. El prototipo se centra en experimentar con los requerimientos
del cliente que no se comprenden del todo.
DESVENTAJAS
El proceso no es visible. Los administradores tienen que hacer entregas regulares para medir el
progreso. Si los sistemas se desarrollan rpidamente, no es rentable producir documentos que
reflejen cada versin del sistema.
A menudo los sistemas tienen una estructura deficiente. Los cambios continuos tienden a
corromper la estructura del software. Incorporar cambios en l se convierte cada vez ms en
una tarea difcil y costosa.
Mayor productividad.
DESVENTAJAS
4. Solo el 15% del cdigo encontrado en muchos sistemas es nico y novedoso a una aplicacin
especfica.
La reutilizacin tiene Principios como la existencia de parecidos en distintos sistemas de un
mismo dominio, donde el software puede representarse como una combinacin de mdulos y
los sistemas nuevos se puede caracterizar por diferencias respecto a los antiguos sistemas.
F) DESARROLLO INCREMENTAL
El modelo consta de diversas etapas de desarrollo en cada incremento, las cuales inician con el
anlisis y finalizan con la instauracin y aprobacin del sistema.
Los usuarios nunca saben bien que es lo que necesitan para satisfacer sus necesidades.
En el desarrollo, los procesos tienden a cambiar.
El proceso en s mismo consiste de:
Etapa de inicializacin
Etapa de iteracin
Lista de control de proyecto
G) DESARROLLO EN ESPIRAL
La principal caracterstica del modelo en espiral es la gestin de riesgos de forma peridica en el ciclo
de desarrollo. Este modelo fue mejorando algunos aspectos clave de las metodologas del modelo
de cascada y del desarrollo rpido de aplicaciones, pero dando nfasis en un rea que para
muchos no jug el papel que requiere en otros modelos: un anlisis iterativo y concienzudo de los
riesgos, especialmente en el caso de sistema complejos de gran escala.
La espiral se visualiza como un proceso que pasa a travs de algunas interacciones con el diagrama
de los cuatro cuadrantes representativos de las siguientes actividades:
Crear planes con el propsito de identificar los objetivos del software, seleccionados para
implementar el programa y clarificar las restricciones en el desarrollo del software.
Anlisis de riesgos: una evaluacin analtica de programas seleccionados, para evaluar como
identificar y eliminar el riesgo.
La implementacin del proyecto: implementacin del desarrollo del software y su
pertinente verificacin.
Modelo de espiral con nfasis en los riesgos, haciendo hincapi en las condiciones de las opciones y
limitaciones para facilitar la reutilizacin de software, la calidad del software puede ayudar como
una meta propia en la integracin en el desarrollo del producto. Sin embargo, el modelo en espiral
tiene algunas limitaciones, entre las que destacan:
El nfasis se sita en el anlisis de riesgo, y por lo tanto requiere de clientes que acepten este anlisis
y acten en consecuencia. Para ello es necesaria confianza en los desarrolladores, as como la
predisposicin a gastar ms para solventar los temas, por lo cual este modelo se utiliza
frecuentemente en desarrollo interno de software a gran escala.
Si la implementacin del riesgo de anlisis afectar de forma esencial los beneficios del proyecto, no
debera utilizarse este modelo.
Los desarrolladores de software han de buscar de forma explcita riesgos y analizarlos de forma
exhaustiva para que este modelo funcione.
La primera fase es la bsqueda de un plan para conseguir los objetivos con las limitaciones del
proyecto para as buscar y eliminar todos los riesgos potenciales por medio de un cuidadoso anlisis,
y si fuera necesario incluyendo la fabricacin de un prototipo. Si es imposible descartar algunos
riesgos, el cliente ha de decidir si es conveniente terminar el proyecto o seguir adelante ignorando
los riesgos. Por ltimo, se evalan los resultados y se inicia el diseo de la siguiente fase.