La metodología que se usa en el desarrollo de software integra métodos, herramientas y procedimientos específicos que pueden convertirse en una pieza importante de éxito para el equipo de trabajo que la utiliza haciendo eficaz la producción de aplicaciones. Las metodologías existentes para el desarrollo de sistemas de información son muy variadas y se pueden agrupar estableciendo un criterio de referencia como el nivel del proyecto, la evolución tecnológica, las bases técnicas, las tendencias regionales, o cualquier otro criterio. Actualmente las metodologías han evolucionado y se pudiera establecerse el surgimiento de metodologías ágiles y adaptativas que no sean tan rígidas en su aplicación, algunas de ellas son XP (Extreme Programming) desarrollada por Kent Beck y SCRUM expuesta por Hirotaka Tekeuchi e Ikujiro Nonaka. Aunque estas metodologías intentan evitar los caminos burocráticos de los procesos convencionales, requieren de procesos bien definidos. La metodología que se utilizará parsa este proyecto se denomina “RUP” (Rational Unified Process), es un acrónimo y significa el Proceso Unificado Racional. Esta herramienta fue creada por Rational Software, que ahora pertenece a IBM. La metodología RUP consiste en una estructura de trabajo de proceso con el objetivo del producto y por tanto basada en el modelo Unified Modeling Language (UML), cuando se habla de programación orientada a objetos. El RUP es una metodología con prácticas Lean, así como Scrum y Extreme Programming (XP). Estos métodos tienen en común el uso de buenas prácticas que ayudan a obtener técnicas rutinarias y productivas. En la gestión de un proyecto, el sistema RUP promueve una solución disciplinada, que consiste en organizar las tareas y responsabilidades de todos dentro de una organización. Todas las técnicas y prácticas utilizadas en el modelo RUP están probadas en la industria del software y la gestión de proyectos. 24 CAPITULO IV METODOLOGIA DE DESARROLLO DE SOFTWARE (RUP) Según Guerrero (2006) RUP “se basa en una forma disciplinada de asignar tareas y responsabilidades en un proyecto de desarrollo de sistemas de información asegurando la producción de software de calidad dentro de plazos y presupuesto predecible” Según Per Kroll, Philippe Kruchten (2003), la metodología RUP se caracteriza por 3 elementos fundamentales iterativa e incremental, es centrada en la arquitectura y es manejada a través de los casos de uso. Este proceso unificado de desarrollo de software pretende implementar las mejores prácticas actuales en ingeniería de software orientado en: Desarrollo iterativo del software Administración de requerimientos Uso de arquitecturas basadas en componentes Modelamiento visual del software Verificación de la calidad del software Control de cambios Para entender mejor cómo se gestiona este método, la clave es conocer cuáles son sus principales fases. Dicha metodología se desarrolla en 4 fases de trabajo, una fase de iniciación, seguido de una fase de elaboración, seguido de una fase de construcción y finaliza con una fase de transición (Per Kroll, Philippe Kruchten 2003). Etapas de la metodología 1. Fase de inicio: (se define el alcance del proyecto) Se define el alcance del proyecto con los clientes, se identifican los riesgos asociados al proyecto, se elabora el plan de las fases y el de la iteración posterior, se detalla de manera general la arquitectura del software. Fase de Elaboración: (Definición, análisis y diseño) 2. Se diseña la solución preliminar, se selecciona los casos de uso que permiten definir la arquitectura base del sistema y se desarrollara el primer análisis del dominio del problema. 3. Fase de desarrollo o construcción: (implementación) La función de esta fase es completar la funcionalidad del sistema, se clarifican los requisitos pendientes, se administran los cambios de acuerdo a las evaluaciones realizadas por los usuarios, y se realizan las mejoras para el proyecto. 4. Fase de transición: (fin del proyecto y pruebas) Fase de cierre, el propósito es asegurar que le software esté disponible para los usuarios finales, se ajustan los errores y defectos encontrados en las pruebas de aceptación, se capacitan a los usuarios y se provee el soporte necesario. Planear las 4 fases incluye: Asignación de tiempo, Hitos Principales, Iteraciones por Fases, Plan de proyecto. Diagrama Entidad Relación - Modelo del Dominio - Prototipo - Modelo de Caso de Uso - Diagrama de Robustez - Diagrama de Secuencia