RAD (programación)

RAD (del inglés  rapid application development  - desarrollo rápido de aplicaciones) - el concepto de organizar el proceso tecnológico de desarrollo de productos de software , centrado en los resultados más rápidos posibles frente a severas limitaciones de tiempo y presupuesto y requisitos de producto vagamente definidos. El efecto de acelerar el desarrollo se logra mediante el uso de medios técnicos apropiados y continuos, paralelos al progreso del desarrollo, aclaración de requisitos y evaluación de resultados actuales con la participación del cliente. RAD se creó a fines de la década de 1980 como una alternativa a los modelos iterativos y de cascada anteriores. Desde finales del siglo XX, RAD se ha generalizado.

El mismo término se utiliza para las herramientas de software para la creación rápida de prototipos y el desarrollo de software. Las cualidades típicas de tales herramientas son la máxima automatización de las operaciones de rutina y el uso generalizado de la programación visual .

Historia

La creación del concepto RAD fue el resultado de una combinación de varios factores.

El fundador de RAD es el empleado de IBM James Martin, quien en la década de 1980 formuló los principios básicos de RAD, basándose en las ideas de Barry Boym y Scott Schultz. Y en 1991, Martin publicó un famoso libro, en el que detalló el concepto de RAD y las posibilidades de su aplicación. RAD se está convirtiendo en el marco aceptado para crear herramientas de desarrollo de software .

Cita

RAD asume que el desarrollo de software lo lleva a cabo un pequeño equipo de desarrolladores durante un período de aproximadamente tres a cuatro meses utilizando prototipos incrementales utilizando herramientas de desarrollo y modelado visual . La tecnología RAD prevé la participación activa del cliente en las primeras etapas: una encuesta de la organización, el desarrollo de requisitos para el sistema. La última de estas propiedades implica el pleno cumplimiento de los requisitos del cliente, tanto funcionales como no funcionales, teniendo en cuenta sus posibles cambios durante el desarrollo del sistema, así como la obtención de una documentación de alta calidad que asegure la facilidad de operación y mantenimiento de los mismos. el sistema. Esto significa que los costos adicionales de soporte inmediatamente después de la entrega serán significativamente menores. Por lo tanto, el tiempo total desde el inicio del desarrollo hasta la obtención de un producto aceptable se reduce significativamente con este método.

Aplicación

La tecnología RAD no es universal, es recomendable utilizarla solo si el proyecto cumple con todas o algunas de las condiciones:

  1. Poco tiempo. Se requiere crear un sistema que cumpla con los requisitos de hoy lo más rápido posible. El aumento en los términos crea una alta probabilidad de un cambio tan significativo en las disposiciones fundamentales que rigen las actividades automatizadas que el sistema se volverá moralmente obsoleto incluso antes de que se complete el diseño.
  2. Requisitos poco definidos y/o cambiantes durante el desarrollo. El cliente tiene una idea muy aproximada del trabajo del futuro producto de software y no puede formular claramente todos los requisitos para el software. Los requisitos pueden no estar definidos al comienzo del proyecto, o pueden cambiar a medida que avanza el proyecto.
  3. Presupuesto limitado con la voluntad del cliente de participar en el desarrollo. El cliente no tiene los fondos para pagar el trabajo de un gran equipo de diseñadores y desarrolladores durante mucho tiempo, pero existe la voluntad de asignar especialistas para una participación directa constante en el desarrollo y evaluación de su estado actual.
  4. Pequeños volúmenes o la capacidad de dividir el proyecto en componentes funcionales. Si el sistema previsto es grande, debe poder dividirse en piezas más pequeñas, cada una con una funcionalidad clara y una dependencia mínima de las demás. Pueden emitirse secuencialmente o en paralelo (en este último caso, intervienen varios grupos RAD).
  5. La interfaz gráfica de usuario  es el componente más importante o uno de los más importantes del sistema. Es en la creación de la interfaz donde la tecnología RAD proporciona las mayores ventajas, ya que la interfaz se demuestra directamente en el prototipo y poco tiempo después del inicio del proyecto. Incluso es posible involucrar directamente al representante del cliente en el diseño de la interfaz en el editor visual. Este enfoque evita la situación típica cuando la interfaz descrita por el usuario en los requisitos (por regla general, sin tener en cuenta las limitaciones tecnológicas) se comporta en la práctica completamente diferente de lo que el usuario esperaba, aunque el sistema cumple formalmente en su totalidad con los requisitos documentados.
  6. Baja complejidad computacional. El procesamiento de datos en un proyecto se reduce a una combinación de operaciones típicas, todas o la mayoría de las cuales ya están implementadas en forma de bibliotecas disponibles. Los algoritmos de procesamiento de datos originales no se requieren en absoluto o son bastante simples y se pueden implementar rápidamente y sin mucha dificultad.

Si los requisitos para el sistema están claramente definidos y no se pueden cambiar, no se requiere la participación del cliente en el proceso de desarrollo y el desarrollo jerárquico tradicional ( método en cascada ) puede ser más eficaz. Además, RAD no proporciona prácticamente ninguna ventaja en proyectos, cuya complejidad principal está determinada por la necesidad de implementar algoritmos de procesamiento de datos complejos y no estándar, y la interfaz de usuario está ausente como tal o es muy simple y completamente estándar.

Principios básicos

Los principios de la tecnología RAD tienen como objetivo proporcionar sus tres ventajas principales: alta velocidad de desarrollo, bajo costo y alta calidad. Lograr un producto de software de alta calidad es muy difícil, y una de las principales razones de las dificultades que surgen es que el desarrollador y el cliente ven el tema del desarrollo (software) de diferentes maneras.

Los principios de RAD se aplican no solo a la implementación, sino también a todas las etapas del ciclo de vida, en particular a la etapa de estudio de la organización, creación de requisitos, análisis y diseño.

Fases de desarrollo

  1. La planificación  es un conjunto de requisitos obtenidos de la planificación del sistema y el análisis del procedimiento de desarrollo del ciclo de vida (SDLC). En esta etapa, los usuarios, administradores y especialistas en TI discuten los objetivos del proyecto, su alcance, los requisitos del sistema, así como las dificultades que pueden surgir durante el desarrollo. La fase finaliza cuando el grupo RAD acuerda los puntos clave y obtiene el permiso de los líderes del proyecto para continuar.
  2. Diseño de usuario  : durante esta fase, los usuarios interactúan con los analistas del sistema para desarrollar modelos y prototipos que incluyen todas las funciones requeridas del sistema. Para traducir prototipos de usuario en modelos de trabajo, el equipo de RAD suele utilizar técnicas de desarrollo de aplicaciones conjuntas (JAD) y herramientas CASE . El diseño del usuario resulta ser un largo proceso interactivo que permite a los usuarios comprender, modificar y, en última instancia, seleccionar un modelo de trabajo que cumpla con sus requisitos.
  3. El diseño  es la etapa en la que la tarea principal es desarrollar programas y aplicaciones. Similar a la etapa de "implementación" en SDLC. En RAD, sin embargo, los usuarios siguen participando y aún pueden sugerir cambios o mejoras en forma de informes que han desarrollado. Sus tareas incluyen programación y desarrollo de aplicaciones, codificación, integración de módulos y pruebas de sistemas.
  4. Conmutación  : incluye operaciones de conversión de datos, pruebas, transición a un nuevo sistema y capacitación del usuario. En sus tareas, se asemeja a la etapa final del SDLC. En comparación con los métodos tradicionales de desarrollo de software, todo el proceso se comprime en el tiempo. Como resultado, el nuevo sistema se construye más rápido, se entrega al cliente y se instala en el lugar de trabajo.

Beneficios

La tecnología de desarrollo rápido de aplicaciones (RAD) le permite proporcionar:

Véase también