Está en la página 1de 7

Modelos y filosofías de desarrollo de software La ingeniería de software dispone de varios

modelos, paradigmas y filosofías de desarrollo, en los cuales se apoya para la construcción del
software, entre ellos se puede citar: y y y y y y y y y Modelo en cascada o Clásico (modelo
tradicional) Modelo de prototipos Modelo en espiral Desarrollo por etapas Desarrollo iterativo y
creciente o Iterativo e Incremental RAD (Rapid Application Development) Desarrollo concurrente
Proceso Unificado RUP (Proceso Unificado de Rational)
Introducción Para la implementación de cualquier software existen distintos modelos y formas de
construir productos de software; esto ha llevado a tener importancia al tener las precisiones y
seguridades que otros ámbitos tiene la ingeniería. La construcción de un producto de software
involucra varias etapas y actividades y el orden en que éstas se presentan se conoce como el ciclo
de vida del software. El proceso seguido para desarrollar un producto de software, desde la
concepción de una idea hasta concretarla se conoce como el proceso de software. En este trabajo
se busca explicar de forma ordenada los distintos enfoques de los Modelos de Desarrollo de
Software Orientado a Objetos que han surgido a lo largo de la historia, Se presentan sus
principales características. La planificación, el análisis, y el diseño e implementación de los
proyectos de desarrollo de software, Cada uno de estos modelos tienen como objetivo la
búsqueda de mejoras a los enfoques próximos.
Construcción de prototipos. A menudo un cliente define un conjunto de objetivos generales para
el software, pero no identifica los requisitos detallados de entrada, procesamiento o salida. En
otros casos, el responsable del desarrollo del software está inseguro de la eficacia de un algoritmo,
de la adaptabilidad de un sistema operativo o de la forma que debería tomar la interacción
humano-máquina. En estas, y muchas otras situaciones, un paradigma de construcción de
prototipos puede ofrecer el mejor enfoque. A pesar de que la construcción de prototipos se puede
utilizar como un modelo de proceso independiente, se emplea más comúnmente como una
técnica susceptible de implementarse dentro del contexto de cualquiera de los modelos de
proceso expuestos en estos apuntes. Sin importar la forma en que éste se aplique, el paradigma
de construcción de prototipos ayuda al ingeniero de sistemas y al cliente a entender de mejor
manera cual será el resultado de la construcción cuando los requisitos estén satisfechos. El
paradigma de construcción de prototipos se inicia con la comunicación, el ingeniero de software y
el cliente encuentran y definen los objetivos globales para el software, identifican los requisitos
conocidos y las áreas del esquema en donde es necesaria más definición. Entonces se plantea con
rapidez una iteración de construcción de prototipos y se presenta el modelado (en la forma de un
diseño rápido). El diseño rápido se centra en una representación de aquellos aspectos del software
que serán visibles para el cliente o el usuario final (por ejemplo, la configuración de la interfaz con
el usuario y el formato de los despliegues de salida). El diseño rápido conduce a la construcción de
un prototipo. Después, el prototipo lo evalúa el cliente/usuario y con la retroalimentación se
refinan los requisitos del software que se desarrollará. La iteración ocurre cuando el prototipo se
ajusta para satisfacer las necesidades del cliente. Esto permite que al mismo tiempo el
desarrollador entienda mejor lo que se debe hacer. De manera ideal, el prototipo debería servir
como un mecanismo para identificar los requisitos del software. Si se construye un prototipo de
trabajo, el desarrollador intenta emplear los fragmentos del programa ya existentes o aplica
herramientas (como generadores de informes,
administradores de ventanas, etcétera) que permiten producir programas de trabajo con rapidez.
El modelo en espiral. El modelo en espiral, que Boehm propuso originalmente, es un modelo de
proceso de software evolutivo que conjuga la naturaleza iterativa de la construcción de prototipos
con los aspectos controlados y sistemáticos del modelo en cascada. Proporciona el material para el
desarrollo rápido de versiones increméntales del software. Boehm describe este modelo de la
siguiente manera: El modelo de desarrollo en espiral es un generador del modelo de proceso
guiado por el riesgo que se emplea para conducir sistemas intensivos de ingeniería del software
concurrente y con múltiples usuarios. Tiene dos características distintivas principales. Una de ellas
es un enfoque cíclico para el crecimiento incrementa! del grado de definición e implementación de
un sistema, mientras disminuye su grado de riesgo. La otra es un conjunto de puntos de fijación
para asegurar el compromiso del usuario con soluciones de sistema que sean factibles y
mutuamente satisfactorias.
Cuando se aplica el modelo en espiral, el software se desarrolla en una serie dé entregas
evolutivas. Durante las primeras iteraciones, la entrega tal vez sea un documento del modelo o un
prototipo. Durante las últimas iteraciones se producen versiones cada vez más completas del
sistema desarrollado. Cuando comienza este proceso evolutivo el equipo de software realiza
actividades implicadas en un circuito alrededor de la espiral que tiene una dirección en el sentido
del movimiento de las manecillas del reloj, y que se inicia desde el centro. El primer circuito
alrededor de la espiral quizá genere el desarrollo de una especificación del producto; los pasos
subsecuentes alrededor de la espiral se pueden aprovechar para desarrollar un prototipo y
después, en forma progresiva, versiones más elaboradas del software. Los costos y el itinerario se
ajustan con base en la retroalimentación derivada de la relación con el cliente después de la
entrega. Además, el administrador del proyecto ajusta el número de iteraciones planeado que se
requiere para completar el software. A diferencia de otros modelos de proceso que terminan
cuando se entrega el software, el modelo en espiral puede adaptarse y aplicarse a lo largo de la
vida del software de computadora. El modelo en espiral es un enfoque realista para el desarrollo
de software y de sistemas a gran escala. Como el software evoluciona conforme avanza el proceso,
el desarrollador y el cliente entienden y reaccionan de mejor manera ante los riesgos en cada
etapa evolutiva. El modelo en espiral emplea la construcción de prototipos como un mecanismo
encaminado a reducir riesgos pero, en forma más importante, permite al desarrollador la
aplicación del enfoque de la construcción de prototipos en cualquier etapa evolutiva del producto.
El modelo en espiral exige una consideración directa de los riesgos técnicos en todas las etapas del
proyecto y, si se aplica en forma apropiada, debe reducir los riesgos antes de que se vuelvan
problemáticos.
Modelo incremental. En muchas situaciones los requisitos iniciales del software están bien
definidos en forma razonable, pero el enfoque global del esfuerzo de desarrollo excluye un
proceso puramente lineal. Además, quizá haya una necesidad imperiosa de proporcionar de
manera rápida un conjunto limitado de funcionalidad para el usuario y después refinarla y
expandirla en las entregas posteriores del software. En estos casos se elige un modelo de proceso
diseñado para producir el software en forma incremental. El modelo incrementa! combina
elementos del modelo en cascada aplicado en forma iterativa. Como se muestra en la figura, el
modelo incremental aplica secuencias lineales de manera escalonada conforme avanza el tiempo
en el calendario. Cada secuencia lineal produce "incrementos" del software. Por ejemplo, el
software procesador de texto, desarrollado con el paradigma incremental en su primer
incremento, podría realizar funciones básicas de administración de archivos, edición y producción
de documentos; en el segundo incremento, ediciones más sofisticadas, y tendría funciones más
complejas de producción de documentos; en el tercer incremento, funciones de corrección
ortográfica y gramatical; y en el cuarto, capacidades avanzadas de configuración de página.
El modelo de proceso incremental, al igual que la construcción de prototipos y otros enfoques
evolutivos, es iterativo por naturaleza. Pero a diferencia de la construcción de prototipos, el
modelo incremental se enfoca en la entrega de un producto operacional con cada incremento. Los
primeros incrementos son versiones incompletas del producto final, pero proporcionan al usuario
la funcionalidad que necesita y una plataforma para evaluarlo. El desarrollo incremental es útil
sobre todo cuando el personal necesario para una implementación completa no está disponible.
Los primeros incrementos se pueden implementar con menos gente. Si el producto esencial es
bien recibido se agrega (si se requiere) más personal para implementar el incremento siguiente.
Además, los incrementos se pueden planear para manejar los riesgos técnicos. Por ejemplo, un
sistema grande podría requerir la disponibilidad de un hardware nuevo que está en desarrollo y
cuya fecha de entrega es incierta. Sería posible planear los primeros incrementos de forma que se
evite el uso de este hardware, lo que permitiría la entrega de funcionalidad parcial a los usuarios
finales sin retrasos desordenados

También podría gustarte