METODOLOGÍA TRADICIONAL. Teniendo en cuenta la filosofía de desarrollo de las metodologías, aquellas con mayor énfasis en la planificación y control del proyecto, en especificación precisa de requisitos y modelado, reciben el apelativo de Metodologías Tradicionales o Pesadas. Estas metodologías tradicionales imponen una disciplina de trabajo sobre el proceso de desarrollo del software, con el fin de conseguir un software más eficiente. Para ello, se hace énfasis en la planificación total de todo el trabajo a realizar y una vez que está todo detallado, comienza el ciclo de desarrollo del producto software. Se centran especialmente en el control del proceso, mediante una rigurosa definición de roles, actividades, artefactos, herramientas y notaciones para el modelado y documentación detallada [42]. Además, las metodologías tradicionales no se adaptan adecuadamente a los cambios, por lo que no son métodos adecuados cuando se trabaja en un entorno, donde los requisitos no pueden predecirse o bien pueden variar. Entre las metodologías tradicionales o pesadas podemos citar: RUP (Rational Unified Procces) MSF (Microsoft Solution Framework) Win-Win Spiral Model Iconix En el caso particular de RUP, presenta un especial énfasis en cuanto a su adaptación a las condiciones del proyecto (mediante su configuración previa a aplicarse), realizando una configuración adecuada, podría considerarse Ágil. METODOLOGÍAS ÁGILES. Un modelo de desarrollo ágil, generalmente es un proceso Incremental, (pequeños y frecuentes releases o entregas con ciclos rápidos), también Cooperativo (Clientes y desarrolladores trabajan constantemente con una comunicación muy fina y constante), sencillo (El método es fácil de aprender y modificar para el
equipo, es bien documentado por medio de libros o la Web) y finalmente adaptativo (capaz de permitir cambios de último momento). Las metodologías ágiles proporcionan una serie de pautas y principios junto a técnicas pragmáticas que puede que no curen todos los males pero harán la entrega del proyecto menos complicada y más satisfactoria tanto para los clientes como para los equipos de entrega. Entre las metodologías ágiles más destacadas hasta el momento se pueden nombrar: XP (Extreme Programming) Scrum Crystal Clear DSDM (Dynamic Systems Developmemt Method) FDD (Feature Driven Development) ASD (Adaptive Software Development) XBreed Extreme Modeling XP es uno de los métodos más representativos dentro de las metodologías llamadas ligeras que lleva al extremo las prácticas para la consecución de sistemas funcionales y que cumplan las características del usuario cliente, surge como respuesta a la sobre planificación a la hora de generar software. Está basada en la simplicidad, la comunicación, la retroalimentación y la refactorización de código. También existen metodologías para el desarrollo de Juegos, Aplicaciones móviles y educativos; estos en su mayoría tienen un desarrollo igual al de una metodología ágil o en algunos casos reutiliza las metodologías tradicionales. En nuestra siguiente tabla realizaremos una comparación de las metodologías:
TABLA COMPARATIVA Descripción Metodo odologí gía de Procesos Metodo odologí gía de datos Metodología XP Nace en busca de simplificar el desarrollo del software y que se lograra reducir el costo del proyecto. Planificación Diseño Codificación Pruebas Especificación de casos de uso Diagrama de clases Diagrama de casos de uso Tabla de requerimientos Historias de usuario Metodología RUP Metodología para juegos Forma disciplinada depara el desarrollo de asignar tareas yun juego hacemos la responsabilidades enutilización de una empresa demetodologías agiles. desarrollo (quién hace qué, cuándo y cómo). Análisis y diseño Requerimiento Prueba Desarrollo Casos de Uso Paquetes Modelo Conceptual Contratos Diagrama de secuencias Requisitos Análisis Diseño preliminar Diseño detallado Codificación Pruebas. Diagrama de casos de uso Tabla de requerimientos Metodología para Aplicaciones Móviles La cantidad de móviles que se están vendiendo actualmente dan un cambio drástico a la industria de las aplicaciones móviles, consiguiendo expandir el uso de dichas aplicaciones y servicios comercialmente. Evaluación de necesidades Guion grafico Flujo UML. Cliente/Servidor Diseño Desarrollo en línea/fuera de línea Prueba Proceso de firma Distribución de aplicaciones Actualizaciones regulares Estructura de la aplicación Navegación de botones y paginas Flujo de las páginas en el ámbito de la aplicación. Experiencias de usuario Diseño de objetos bajo criterios de pantalla táctil y teclado Soporte multiresolución Metodología para aplicaciones en Educación Las metodologías convencionales de Ingeniería de Software Educativo (ISE) tienen mecanismos robustos para hacer un análisis de necesidades y diseño educativo completo. Análisis, diseño educativo y comunicacional. Prueba piloto. Prueba de campo. Diseño Desarrollo Definición formal de cada pantalla Objetivo Eventos del modelo del mundo que está en capacidad de detectar Diagrama de la pantalla, indicando cuáles objetos tiene y dónde están ubicados. Listado de las características tanto de la pantalla como de cada objeto Enlaces con otros elementos de la interfaz. Notas adicionales. Diagrama de flujo de información en la Interfaz.
TABLA COMPARATIVA Mientras que el RUP intenta reducir la complejidad del software por medio de estructura y la preparación de las tareas pendientes en función de los objetivos de la fase y actividad actual, XP, como toda metodología ágil, lo intenta por medio de un trabajo orientado directamente al objetivo, basado en las relaciones Interpersonales y la velocidad de reacción.
COMPARACION ENTRE METODOLOGIAS AGILES Y TRADICIONALES Métodos Ágiles Métodos Tradicionales Enfoque Adaptación Predictivo Éxito de Medición Valor del Negocio Conformación de planificar Tamaño del proyecto pequeño grande Estilo de gestión Descentralizada Autocrático Perspectiva para el Cambio Cambio y Adaptabilidad Cambio y Sostenibilidad Cultura Liderazgo-Colaboración Comandos de control Documentación Bajo Pesado Énfasis Orientada a las personas Orientado a los procesos Ciclos Muchos Limitado Dominio Impredecible exploratorio Previsible Planificación por adelantado Mínimo Exhaustivo Retorno de la Inversión A principios de Proyecto Fin de Proyecto Tamaño del equipo Pequeños / Creatividad Grande Metodologías Ágile iles Basadas en heurísticas provenientes de prácticas de producción de código Especialmente preparados para cambios durante el proyecto Impuestas internamente (por el equipo) Proceso menos controlado, con pocos principios No existe contrato tradicional o al menos es bastante flexible El cliente es parte del equipo de desarrollo Grupos pequeños (<10 integrantes) y trabajando en el mismo sitio Pocos artefactos Pocos roles Menos énfasis en la arquitectura del software Metod odolog ogías Tradicion onales Basadas en normas provenientes de estándares seguidos por el entorno de desarrollo Cierta resistencia a los cambios Impuestas externamente Proceso mucho más controlado, con numerosas políticas/normas Existe un contrato prefijado El cliente interactúa con el equipo de desarrollo mediante reuniones Grupos grandes y posiblemente distribuidos Más artefactos Más roles La arquitectura del software es esencial y se expresa mediante modelos
METODOLOGIAS PARA APL PLICACION IONES WEB