República Bolivariana de Venezuela Ministerio del Poder Popular para la Defensa Universidad Nacional Experimental Politécnica de la Fuerza Armada Bolivariana U.N.E.F.A Asignatura: Asignatura: Análisis de de los Sistemas Sistemas Núcleo Sucre- Carúpano
Profesor: Ing. Miguel González
Bachilleres: Rodríguez Rosangélica González Henyeliz Charless Eliannes Rosas Víctor López Raisy Brito Jailyn Bravo Ada
5to. Semestre de Ingeniería de Sistemas Sección “C”
Carúpano, Enero de 2013.
INTRODUCCIÓN
El concepto de metodología dentro de la ingeniería del software, sin duda, es uno de los que más confusión produce tanto en estudiantes como en profesionales involucrados en procesos de desarrollo de software.
La constante innovación tecnológica hace que cada vez sea más necesaria la aplicación de nuevas metodologías adaptadas a los nuevos tiempos, sin embargo, siguen figurando en los libros de texto viejas metodologías pensadas para viejos problemas, cosa que no sería necesariamente mala si las nuevas metodologías tuviesen también su lugar pero a menudo no es así. Las metodologías más modernas responden a problemas y necesidades más actuales.
Afortunadamente, los tiempos van cambiando aunque no de la misma manera para todo el mundo. La informática va madurando y tanto algunos profesionales de las tecnologías de la información como algunos de sus clientes se van dando cuenta de que se hace necesario seguir unas ciertas pautas predefinidas en el desarrollo del software de calidad, es decir, llevar un comportamiento metódico, seguir una metodología.
Una metodología de desarrollo de software se refiere a un framework que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información. A lo largo del tiempo, una gran cantidad de métodos han sido desarrollados diferenciándose por su fortaleza y debilidad. El framework para metodología de desarrollo de software consiste en:
Una filosofía de desarrollo de programas de computación con el enfoque del proceso de desarrollo de software
Herramientas, modelos y métodos para asistir al proceso de desarrollo de software
Estos frameworks son a menudo vinculados a algún tipo de organización, que además desarrolla, apoya el uso y promueve la metodología. La metodología es a menudo documentada en algún tipo de documentación formal.
METODOLOGÍA DE DESARROLLO RÁPIDO DE APLICACIÓN (RAD)
CONCEPTO
El desarrollo rápido de aplicaciones o RAD es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información. Es un proceso de desarrollo de software, desarrollado inicialmente por James Martin en 1980. El método comprende el desarrollo interactivo, la construcción de prototipos y el uso de utilidades CASE. 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. En el área de la autoría multimedia, software como Neosoft Neoboo y Media Chance Multimedia Builder proveen plataformas de desarrollo rápido de aplicaciones, dentro de ciertos límites.
OBJETIVO
Metodologías de Desarrollo de Software tiene como objetivo presentar un conjunto de técnicas tradicionales y modernas de modelado de sistemas que permitan desarrollar software de calidad, incluyendo heurísticas de construcción y criterios de comparación de modelos de sistemas.
Para tal fin se describen, fundamentalmente, herramientas de Análisis y Diseño Orientado a Objetos (UML), sus diagramas, especificación, y criterios de aplicación de las mismas. Como complemento se describirán las metodologías de desarrollo de software que utilizan dichas herramientas, ciclos de vida asociados y discusión sobre el proceso de desarrollo de software más adecuado para las diferentes aplicaciones. Principalmente, se presentará el Proceso Unificado el cual utiliza un ciclo de vida iterativo e incremental.
CICLO DE VIDA
Etapa de planificación de los requisitos. Esta etapa requiere que usuarios con un vasto conocimiento de los procesos de la compañía determinen cuales serán las funciones del sistema. Debe darse una discusión estructurada sobre los problemas de la compañía que necesitan solución.
Etapa de diseño. Esta etapa consiste en un análisis detallado de las actividades de la compañía en relación al sistema propuesto. Los usuarios participan activamente en talleres bajo la tutela de profesionales de la informática. En ellos descomponen funciones y definen entidades asociadas con el sistema. Una vez se completa el análisis, se crean los diagramas que definen las alteraciones entre los procesos y la data.
Etapa de construcción. En la etapa de construcción el equipo de desarrolladores trabajando de cerca con los usuarios finalizan el diseño y la construcción de la aplicación consiste de una serie de pasos donde los usuarios tienen la oportunidad de afirmar los requisitos y repasar los resultados.
Etapa de implementación. Esta etapa envuelve la implementación del nuevo producto y el manejo del cambio del viejo al nuevo sistema. Se hacen pruebas comprensivas y se adiestran los usuarios.
FASES
Modelado de gestión: El flujo de información entres las funciones de gestión se modela de forma que responda a las siguientes preguntas: 1. ¿Qué información conduce el proceso de gestión? 2. ¿Qué información se genera? 3. ¿Quién la genera? 4. ¿A dónde va la información?
5. ¿Quién lo procesó?
Modelado de datos: El flujo de información definido como parte de la fase de modelado de gestión se refina como un conjunto de objetos de datos necesarios para apoyar la empresa. Se definen las características de cada uno de los objetos y las relaciones entre estos objetos.
Modelado de proceso: Los objetos de datos definidos en la fase de modelado de datos quedan transformados para lograr el flujo de información necesario para implementar una función de gestión. Las descripciones del proceso se crean para añadir, modificar, suprimir o recuperar un objeto de datos. Es la comunicación entre los objetos.
Generación de aplicaciones: El RAD usa técnicas de cuarta generación, en lugar de crear software con lenguajes de programación de tercera generación, el proceso RAD trabaja para volver a utilizar componentes de programas ya existentes (cuando es posible) o a crear componentes reutilizables (cuando sea necesario). En todos los casos se utilizan herramientas automáticas para facilitar la construcción del software.
Pruebas de entrega: El proceso RAD enfatiza la reutilización de los componentes de los programas ya comprobados. Esto reduce tiempo de pruebas. Sin embargo, se deben probar todos los componentes nuevos y ejercitar todas la interfaces a fondo.
PRINCIPIOS BÁSICOS
Objetivo clave para un rápido desarrollo y entrega de una alta calidad en un sistema relativamente bajo de inversión.
Intenta reducir el riesgo inherente del proyecto partiéndolo en segmentos más pequeños y proporcionar más facilidad de cambio durante el proceso de desarrollo.
Orientación dedicada a producir sistemas de alta calidad con rapidez, principalmente mediante el uso de iteración por prototipos en cualquier etapa de desarrollo, promueve la participación de los usuarios y el uso de herramientas de desarrollo computarizadas. Estas herramientas pueden incluir constructores de Interfaz gráfica de usuario, herramientas CASE, los sistemas de gestión de bases de datos, lenguajes
de programación de cuarta generación, generadores de código y técnicas orientada a objetos.
Hace especial hincapié en el cumplimiento de la necesidad comercial, mientras que la ingeniería tecnológica o la excelencia es de menor importancia.
Control de proyecto implica el desarrollo de prioridades y la definición de los plazos de entrega. Si el proyecto empieza a aplazarse, se hace hincapié en la reducción de requisitos para el ajuste, no en el aumento de la fecha límite.
La participación activa de los usuarios es imprescindible.
Iterativamente realiza la producción de software, en lugar de enfocarse en un prototipo.
Produce
la
documentación
necesaria
para
facilitar
el
futuro
desarrollo
y
mantenimiento.
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 renacentistas, es decir, analistas, diseñadores y programadores en uno.
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.
-
Componentes reusables.
-
Interfaces estándares (API).
-
Control de inversiones.
Timeboxing: Las funciones secundarias son eliminadas como sea necesario para cumplir con el calendario.
Prototipos Iterativos y Evolucionaros:
o
o
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.
o
Notas: -
Cada iteración dura entre un día y tres semanas.
-
Reuniones de 2 horas con facilitador que mantiene enfocado al grupo. El facilitador tiene claras las metas sobre la información que se necesita recabar, prepara una agenda de asuntos antes de la reunión, asegura que la discusión adecuada cubra cada asunto y por ultimo escribe un reporte al final de la reunión.
VENTAJAS
Comprar puede ahorrar dinero en comparación con construir.
Los entregables pueden ser fácilmente trasladados a otra plataforma.
El desarrollo se realiza a un nivel de abstracción mayor.
Visibilidad temprana.
Mayor flexibilidad.
Menor codificación manual.
Mayor involucramiento de los usuarios.
Posiblemente menos fallas.
Posiblemente menor costo.
Ciclos de desarrollo más pequeños.
Interfaz gráfica estándar.
DESVENTAJAS
Comprar puede ser más caro que construir.
Costo de herramientas integradas y equipo necesario.
Progreso más difícil de medir.
Menos eficiente.
Menor precisión científica.
Riesgo de revertirse a las prácticas sin control de antaño.
Más fallas por síndrome de codificar a lo bestia.
Prototipos pueden no escalar un problema mayúsculo.
Funciones reducidas por timeboxing.
Dependencia en componentes de terceros: funcionalidad de más o de menos, problemas legales.
Requisitos que no convergen.
Interfaz gráfica estándar.
Difícil de repetir experiencias exitosas.
Funciones no deseadas.
CONCLUSION
Las metodologías de desarrollo del software son las más tradicionales, se centran en la definición detallada de los procesos y tareas a realizar, herramientas a utilizar, y requieren una extensa documentación ya que pretende prever todo de antemano. Este tipo de metodologías son más eficaces y necesarias cuanto mayor es el proyecto que se pretende realizar respecto a tiempo y recursos que son necesarios emplear, donde una gran organización es requerida.
Hoy en día el uso de la metodología de diseño rápido de aplicaciones ha adquirido mucha popularidad en el campo de la informática. Es posible asegurar un resultado exitoso si los proyectos se desarrollan para cumplir con un itinerario estricto y sacrificando algún tipo de funcionalidad.
RAD resulta un modelo de desarrollo de software muy útil cuando se requiera poner en marcha un sistema en un periodo de tiempo corto.
BIBLIOGRAFÍA
es.wikipedia.org/wiki/Metodología_de_desarrollo_de_software.
mena.com.mx/gonzalo/maestria/ingsoft/presenta/rad/.
http:/docs.google.com/viewer?a=v&q=cache:E1=!DxNn_NAJ:curiosos.files.word press.com/2009/12/modelo-de-desarrollo-rapido-deaplicaciones.pdf+desventajas+del+modelo+rad.
gestionrrhhusm.blogspot.com/.../ingenieria-de-software-ingenieria-de...