INTRODUCCIÓN
La metodología RAD surge tras un amplio proceso de
desarrollo de metodologías que pasan de un desarrollo lineal y general con poco
involucramiento del cliente y usuarios finales a la especificación de
requerimientos basados en procesos y actividades reales y la importancia del
cliente en la definición de requerimientos.
En este documento analizaremos que es lo que
caracteriza a RAD como una metodología diferente a sus predecesoras y él porque
permitió la realización de proyectos en periodos breves, su estructura,
elementos y funcionalidad.
RAD logró ser un antes y después para las metodologías
de desarrollo siendo la primera en catalogarse como tipo ágil iniciando así un nuevo
periodo de desarrollo de técnicas para el desarrollo de proyectos.
Índice
- ANTECEDENTES
- CONTEXTO EN EL QUE SURGE LA METODOLOGÍA
- DESCRIPCIÓN
- ESTRUCTURA
- ELEMENTOS
- CARACTERÍSTICAS
- FUNCIÓN
- EVOLUCIÓN
- TENDENCIAS
- CONCLUSIONES
- BIBLIOGRAFÍA
ANTECEDENTES
La metodología RAD surge debido a diversos factores
tales como, una crisis la cual afectaba el desarrollo del software, todo esto
generando procesos lentos entre los años 70 y 80. Se buscaba el desarrollo de
una metodología la cual fuera más veloz y eficaz. Por otra parte, igual se buscaba mejorar los
procedimientos de elaboración. Esta metodología se basa en la metodología
cascada, pero evitando hacer un ciclo.
Entre los años de 1950 y 1960, no existían
metodologías, pero ya entre 1961 y 1970 se empezó a desarrollar modelos, pero
simplemente se basaban en los procesos. Ya en los años de 1971 y 1985, las
metodologías toman una mayor fuerza, surge el modelo en cascada, modelo V,
modelo iterativo entre otros. Pero estos modelos solo se preocupaban por lo que
tenía que hacer el desarrollador, más no toman importancia a lo que el cliente
en realidad requería y dichos métodos eran lentos. para 1986 y 1999 se desarrollan la
metodología RAD, que se creó para una mayor eficacia y evitando el ciclo de
vida del proceso, lo cual lograba una mayor velocidad en la entrega de
proyectos.
CONTEXTO EN EL QUE SURGE LA METODOLOGÍA
Dentro del contexto en el que surge la metodología RAD
desde la década de los 80 podemos encontrar que antes de esta se encontraban
metodologías tales como las SSADM la cual está enfocada en el análisis y diseño
de los sistemas teniendo como característica principal la participación del
usuario final para determinar los requisitos.
Por otra parte, las técnicas del método SADT surgen
como herramientas de organizadores gráficos para representar procesos,
estableciendo relaciones entre las actividades pertenecientes a cada uno,
resultando así en un análisis detallado de los procesos que deberá considerar
el sistema.
Otra de los métodos es la ingeniería de información
que contempla una serie de actividades propias para el análisis equivalente a
la ingeniería de software diferenciando en que esta se basa solo en cuatro
etapas, la estrategia, el análisis, el diseño y la construcción.
Uno de los eventos importantes que se dieron al
momento en que se desarrollaba la metodología fue la colaboración entre IBM y
AD/Cycle en la década de los 90 para la creación de una herramienta CASE
enfocado en actividades de documentación y soporte para los desarrolladores contemplando
los procesos e información de requerimientos.
En estos años igualmente se logra recobrar la
confianza por las herramientas CASE y reintegrar su uso en los procesos de
ingeniería de software, pero retirando la palabra CASE del nombre de las herramientas.
También comienzan a tornarse cada vez más complejos
los sistemas integrando relaciones, operaciones y comunicación con subsistemas.
DESCRIPCIÓN
El método comprende el desarrollo interactivo,
la construcción de prototipos y el uso de utilidades CASE (Computer Aided
Software Engineering). Tradicionalmente, el desarrollo rápido de aplicaciones
tiende a englobar también la usabilidad, utilidad y la rapidez de ejecución.
Hoy en día se suele utilizar para referirnos
al desarrollo rápido de interfaces gráficas de usuario tales como Glade, o
entornos de desarrollo integrado completos. Algunas de las plataformas más
conocidas son Visual Studio, Lazarus, Gambas, Delphi,Foxpro , Anjuta, Game
Maker, Velneo o Clarion.
ESTRUCTURA
La estructura de esta metodología está definida por la
norma ISO 12207-1 para las actividades del ciclo de vida en la que agrupa 5
procesos principales, 8 procesos de soporte y 4 procesos generales.
El ISO/IEC 12207 define el ciclo de vida para el software como un conjunto de procesos y actividades que se aplican para establecer requisitos, pasando por la adquisición y configuración de los servicios del sistema, hasta la finalización de su uso. Este estándar es empleado para brindar estructura común para el uso de un léxico común entre compradores, proveedores, desarrolladores, personal de mantenimiento, operadores, gestores y técnicos involucrados en el desarrollo de software.
El ISO/IEC 12207 define el ciclo de vida para el software como un conjunto de procesos y actividades que se aplican para establecer requisitos, pasando por la adquisición y configuración de los servicios del sistema, hasta la finalización de su uso. Este estándar es empleado para brindar estructura común para el uso de un léxico común entre compradores, proveedores, desarrolladores, personal de mantenimiento, operadores, gestores y técnicos involucrados en el desarrollo de software.
Los procesos se clasifican en tres tipos: Principales,
de soporte y de la organización. Los procesos de soporte y de organización
deben desarrollarse independientemente de la organización y del proyecto.
- Procesos principales.
- Adquisición.
- Suministro.
- Desarrollo.
- Operación.
- Mantenimiento.
- Procesos de soporte.
- Documentación
- Gestión de la configuración.
- Aseguramiento de calidad.
- Verificación.
- Validación.
- Revisión conjunta.
- Auditoría.
- Resolución de problemas.
- Procesos de la organización.
- Gestión.
- Infraestructura.
- Mejora.
- Recursos Humanos.
Finalmente podemos definir que la metodología
comprende ciertas etapas consecutivas iniciando por el modelado de gestión,
modelado de datos y de procesos, siguiendo con la generación de las
aplicaciones y la aplicación de pruebas a estas, todo esto en un periodo de
entre 60 y 90 días.
ELEMENTOS
- Primero se cuenta con lo necesario para cumplir con los requerimientos del usuario.
- Se realiza el diseño. (Prototipo)
- Se realiza la codificación para cumplir con lo acordado en el primer elemento.
- Testing se realizan las pruebas necesarias y en caso de observar alguna anomalía en su funcionalidad, se corrige.
CARACTERÍSTICAS
Equipos Híbridos
Equipos
compuestos por alrededor de seis personas, incluyendo desarrolladores y
usuarios de tiempo completo del sistema, así como aquellas personas
involucradas con los requisitos.
Los desarrolladores
de RAD deben ser analistas, diseñadores.
Herramientas Especializadas
●
Desarrollo "visual"
●
Creación de prototipos falsos (simulación pura)
●
Creación de prototipos funcionales
●
Múltiples lenguajes
●
Calendario grupal
●
Herramientas colaborativas y de trabajo en equipo
"Timeboxing"
●
Las funciones secundarias son eliminadas como sea necesario
para cumplir con el calendario.
Prototipos Iterativos y Evolucionarios
●
Reunión JAD (Joint Application Development):
○
Se reúnen los usuarios finales y los desarrolladores.
○
Lluvia de ideas para obtener un borrador inicial de los
requisitos.
●
Iterar hasta acabar:
○
Los desarrolladores construyen y depuran el prototipo basado
en los requisitos actuales.
○
Los diseñadores revisan el prototipo.
○
Los clientes prueban el prototipo, depuran los requisitos.
○
Los clientes y desarrolladores se reúnen para revisar juntos
el producto, refinar los requisitos y generar solicitudes de cambios.
○
Los cambios para los que no hay tiempo no se realizan. Los requisitos
secundarios se eliminan si es necesario para cumplir el calendario.
FUNCIÓN
La
función de la metodología RAD es ahorrar tiempo de desarrollo, y crear
tempranamente un diseño aceptable por el cliente, para a su vez prevenir
presupuestos rebasados e incumplimiento de fechas.
Esta
metodología RAD tiende a funcionar cuando:
● La aplicación funcionará de
manera independiente.
● Desempeño no crítico.
● Distribución limitada,
interna o vertical.
● Alcance del proyecto
limitado.
● Confiabilidad no crítica.
● El sistema puede dividirse en
muchos módulos independientes.
● El producto está dirigido a
un mercado altamente especializado
EVOLUCIÓN
Como resultado de la implementación de la metodología
RAD surgen lo que son herramientas que puedan generar código, modelos e incluso
documentos para poder facilitar el trabajo laborioso que estos represan ya que
se dan cuenta que estos tienden a generar un patrón similar mínimo en la
estructura básica para después poder implementar ya la funcionalidad necesitada
por el proyecto que este involucra algunas de estas son los entornos de desarrollo
integrado(IDE).
Los IDE ofrecen un marco de trabajo para
la mayoría de los lenguajes de programación tales como C++, Python, Java, C#,
Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un
sistema en tiempo de ejecución, en donde se permite utilizar el lenguaje de programación en forma interactiva, sin
necesidad de trabajo orientado a archivos de texto.
Es posible que un mismo IDE pueda funcionar con varios
lenguajes de programación. Este es el caso de Eclipse, al que mediante plagios
se le puede añadir soporte de lenguajes adicionales.
Un IDE debe tener las siguientes características:
● Multiplataforma
● Soporte para diversos
lenguajes de programación
● Integración con Sistemas de
Control de Versiones
● Reconocimiento de Sintaxis
● Extensiones y Componentes
para el IDE
● Integración con Framework
populares
● Depurador
● Importar y Exportar
proyectos
● Múltiples idiomas
● Manual de Usuarios y Ayuda
Existen diferentes versiones de los IDEs pero estos son
algunos del software que utilizan IDE, estos son:
a) Eclipse:
Software libre. Es uno de los entornos Java más utilizados a nivel profesional.
El paquete básico de Eclipse se puede expandir mediante la instalación de
plugins para añadir funcionalidades a medida que se vayan necesitando.
b) NetBeans:
Software libre. Otro de los entornos Java muy utilizados, también expandible
mediante plugins. Facilita bastante el diseño gráfico asociado a aplicaciones
Java.
Al igual como surgen empresas que desarrollan herramientas
para ayudar al diseño del proyecto como lo es la compañía Neosoft que su
objetivo principal es “Ofrecer a sus clientes soluciones de software potentes,
intuitivas y potentes, de alta calidad, fáciles de usar” donde la mayoría de
sus productos enfocados al diseño gráfico y marketing
TENDENCIAS
Actualmente esta metodología es bastante usada en el diseño de
aplicaciones, ya que es posible asegurar un resultado exitoso si los proyectos
se desarrollan con un itinerario estricto y sacrificando algún tipo de
funcionalidad.
Resulta ser un modelo de desarrollo muy útil cuando se requiera
poner en marcha un sistema en un periodo de tiempo corto.
Dadas las ventajas de la metodología
1.
Se reducen los
riesgos asociados al desarrollo de software pues se emplea un entorno ligero
que ayuda a los colaboradores a evolucionar constantemente y focalizados en
entregar en poco tiempo lo que el cliente necesita. Un desarrollo se hace un
65% más rápido que con metodologías tradicionales.
2.
El desarrollo
rápido con metodologías Ágiles entrega con relativa rapidez un resultado
valioso al cliente. A través de un proceso continuo de mejoras se consigue el
máximo potencial del producto con una planeación iterativa. Desarrollo, testeo,
medición, evaluación y vuelta a empezar.
3.
Se requiere un
85% menos de programación de código nuevo gracias al uso de prototipos
adaptables.
4.
El hecho de que
los tiempos de desarrollo sean más breves garantiza que los sistemas de
programas informáticos se adapten mejor a las necesidades actuales del cliente
y su negocio.
5.
Algo que
agradece la organización que contrata el servicio de desarrollo rápido de
software es que tienen mayor visibilidad de la evolución del proyecto.
6.
Propicia mayor
adaptabilidad y apertura a los cambios en función de cómo evoluciona el
desarrollo del software.
7.
En términos de
mantenimiento los costes pueden ser hasta un 75% menos de las cifras habituales
del mercado.
Hacen que las personas valgan más en su entorno y genere
competitividad entre los desarrolladores
CONCLUSIONES
-Satisface
la tendencia actual, velocidad en el desarrollo del producto, costo mínimo de
desarrollo y mantención y calidad al producto.
-Permite
que la productividad del usuario aumente considerablemente.
-La
vida útil del sistema también aumenta
Para
aplicar RAD en el desarrollo de un sistema es necesario contar con ciertos
elementos:
-Apoyo y autorización de la alta administración.
-Distinguido equipo de desarrollo.
-Activa participación del (los) usuario(s).
-Mecanismos de administración de proyectos
-Técnicas que apoyen el desarrollo.
-Uso de notaciones para llevar a cabo el modelo lógico.
Herramientas CASE.
-Desarrollo de Prototipos para hacer una proyección de la
aplicación.
relaciones interpersonales
Este
método en particular se dice ser orientado al usuario por:
-Ser muy rápido.
-Permite trabajar en el a varias personas a la vez
-Mayor flexibilidad.
-Menor codificación manual.
-Mayor involucramiento de los usuarios.
-Ciclos de desarrollo más pequeños.
-uso de interfaz gráfica estándar.
-Los entregables pueden ser fácilmente trasladados a otra
plataforma.
-Visibilidad temprana.
-Funciones reducidas (por "timeboxing").
-Costo de herramientas integradas y equipo necesario.
-Más fallas (por lo rapido de la codificación).
Se
Requiere recursos humanos suficientes como para crear el número correcto de
equipos.
Necesita
que el cliente y el desarrollador se comprometan en las actividades necesarias
para completar un sistema en un tiempo corto.
Para
proyectos grandes puede requerir muchos equipos de trabajo distintos
Requiere
clientes y desarrolladores comprometidos en las rápidas actividades necesarias
No
resulta adecuado cuando los riesgos técnicos son elevados
BIBLIOGRAFÍA
● Baretto M. (2015).
Metodología SSADM. Diapositiva 4. Recuperado de: https://es.slideshare.net/mariantoniettabarreto/metodologia-ssadm-43301429
● Enrique C. (2014) Ingeniero
en Software ISW. Recuperado de: http://iswugaps2rad.wordpress.com/historia/
● Mendoza Gonzalez Mena.
(2015). RAD: Desarrollo Rapido de Aplicaciones Recuperado de: http://mena.com.mx/gonzalo/maestria/ingsoft/presenta/rad/
● Patricia Pons Tomás.
(2010). Blog historia de la informática,
Recuperado de: http://histinf.blogs.upv.es/2010/12/28/ingenieriaa-del-software/
● Cillero M. SADT (Structured
Analysis and Design Technique). Recuperado de: https://manuel.cillero.es/doc/metrica-3/tecnicas/modelado-de-procesos-de-la-organizacion/sadt/
● Instituto Nacional de
Estadística e Informática (INEI). (1999). ¿Qué es Ingeniería de la
Información?. Recuperado de: https://ingtecnologia.files.wordpress.com/2011/04/blog-ing-de-informacion.pdf
● IBM. IBM AD/Cycle
Professional Documentation Manager/MVS & VM. Recuperado de: https://www-01.ibm.com/common/ssi/cgi-bin/ssialias?infotype=OC&subtype=NA&htmlfid=897/ENUS5648-005&appname=System%20Storage
● (2018).Introducción al
desarrollo del software. Recuperado de: https://nanopdf.com/download/el-framework-para-metodologia-de-desarrollo-de-software-consiste-en_pdf
● Estrada C, A, & Pedraza
J, C, & Suárez, M, A, & Torres, C, E. (2017). Metodología RAD.
Recuperado de: https://ha2nv5020175.wordpress.com/2017/06/16/metodologia-rad/
● Entorno integrado de
desarrollo. Recuperado de:
http://foro.ignetwork.net/showthread.php?15188-IDE-Entorno-integrado-de-desarrollo
No hay comentarios:
Publicar un comentario