CAPÍTULO II MARCO TEÓRICO
2.2 TEORÍAS QUE LO SUSTENTAN EL TRABAJO
2.2.6 METODOLOGÍAS PARA EL DESARROLLO WEB
Según (MARTINEZ, y otros, 2003). RUP es una metodología que tiene como objetivo ordenar y estructurar el desarrollo de software, en la cual se tienen un conjunto de actividades ineludibles para transformar los requisitos del usuario en un sistema Software.
Acorde a (BASTARICA, y otros, 2015)El RUP suministra a cada equipo lineamientos, patrones y guías sobre herramientas necesarias para que el equipo completo tome las ventajas.
El RUP es iterativo e incremental; conducido por casos de uso y centrado en la arquitectura.
Conforme a (SOMMERVILLE, 2005) El RUP reconoce que los modelos de procesos genéricos presentan un solo enfoque del proceso. En contraste, el RUP se describe normalmente desde tres perspectivas:
1. Una perspectiva dinámica que muestra las fases del modelo sobre el tiempo. 2. Una perspectiva estática que muestra las actividades del proceso que se
representan.
3. Una perspectiva practica que sugiere buenas prácticas a utilizar durante el proceso
- Fases del RUP
El autor (GUERIN, 2012) señala el siguiente esquema aporta una visión general de este proceso. Está descompuesto en cuatro fases (de hecho bastante habituales) y desarrolla diferentes actividades.
Ahí reside su especificidad, ya que la encontramos en la gestión de proyectos como una actividad del proceso. Dicho de otra manera, el RUP integra la noción de dirección en su ciclo de análisis.
FASES
I. Preparación inicial o conceptualización
Según (SOMMERVILLE, 2005) El objetivo de la fase de inicio es de establecer un caso de negocio para el sistema, identificación de los procesos de negocio. II.Elaboración
De acuerdo a (MARTINEZ, y otros, 2003) En esta etapa el objetivo es determinar la arquitectura óptima, se elabora un plan de proyecto y se trata de eliminar riesgos.
III. Construcción
Para (FABREGAS, 2005) El objetivo principal de esta fase es desarrollar el producto. En esta fase, a través de sucesivas iteraciones e incrementos, se desarrolla un producto de software, hasta dejarlo listo para operar.
IV. Transición
Conforme a (PÉREZ, 2011) En esta fase el sistema software se entrega a los usuarios finales para sus respectivas pruebas en un entorno real, los cuales pueden presentar nuevos requerimientos. Al terminar esta fase se debe tener un software documentado y funcionando correctamente.
Figura 2. 4: Principales Hitos Fuente: (KROLL, y otros, 2003).
-PROGRAMACIÓN EXTREMA (EXTREME PROGRAMMING, XP): El autor (WITZENFELD, 2005) indica que es una de las metodologías de desarrollo de software más exitosas en la actualidad utilizada para proyectos de corto plazo, cortó equipo y cuyo plazo de entrega era ayer. La metodología consiste en una programación rápida o extrema, cuyo objetivo es reducir el riesgo en el ciclo de vida del software.
Fuente: (MENDOZA SANCHEZ, 2004) Características de XP, la metodología se basa en:
Pruebas Unitarias: El autor (CANALES, 2010) indica que se basa en las pruebas realizadas a los principales procesos, de tal manera que adelantándonos en algo hacia el futuro, podamos hacer pruebas de las fallas que pudieran ocurrir. Es como si nos adelantáramos a obtener los posibles errores.
Refabricación: S e g ú n ( M A R C O , y o t r o s , 2 0 1 0 ) se basa en la reutilización de código, para lo cual se crean patrones o modelos estándares, siendo más flexible al cambio.
Programación en pares: De acuerdo a (CANALES, 2010) una particularidad de esta metodología es que propone la programación en pares, la cual consiste en que dos desarrolladores participen en un proyecto en una misma estación de trabajo. Cada miembro lleva a cabo la acción que el otro no está haciendo en ese momento. Es como el chofer y el copiloto: mientras uno conduce, el otro consulta el mapa
- MICROSOFT SOLUTIONS FRAMEWORK
Conforme a (GATTACA, 2003) MSF es una guía de desarrollo de software flexible que permite aplicar de manera individual e independiente cada uno de sus componentes. La metodología MSF está basada en un conjunto de principios, modelos, disciplinas, conceptos, directrices y prácticas aprobadas por Microsoft, que asegura resultados con menor riesgo y de mayor calidad, centrándose en el proceso y las personas.
FASES DEL PROYECTO: EXPLORACION
Para (PÉREZ, 2011) Ésta fase inicia con las historias de usuario que describen las características y funcionalidades del software. Al mismo tiempo el equipo de desarrollo se familiariza con las herramientas, tecnologías y prácticas que se utilizarán en el proyecto. Se prueba la tecnología y se exploran las posibles arquitecturas del sistema construyendo un prototipo.
PLANIFICACIÓN DE LA ENTREGA
Según (WITZENFELD, 2005) en esta fase ese prioriza cada historia de usuario, para que luego, los programadores, realicen una estimación del esfuerzo necesario de cada una de ellas. Se coordina sobre el contenido de la primera entrega y se determina un cronograma de la mano con el cliente. Una entrega debería obtenerse en no más de tres meses.
ITERACIONES
Acorde con (LINARES, 2015) indica que el RUP define: “una iteración comprende las actividades de desarrollo que direccionan la producción de una versión ejecutable y estable del producto, conjuntamente con todos los elementos periféricos necesarios para utilizar esta versión”
PRODUCCIÓN
El autor (BECK, y otros, 2005) en esta se necesitan realizar pruebas adicionales y revisiones de rendimiento antes de que el sistema sea puesto al entorno del cliente.
MANTENIMIENTO
Conforme a (PÉREZ, 2011) en esta fase de se debe mantener el sistema en funcionamiento a la vez que se desarrolla nuevas iteraciones.
- METODOLOGÍA SCRUM
El autor (DIMES, 2015) indica que es como un salvavidas para aquellas empresas que enfrentan dificultades al seguir la metodología de Cascada o que ni siquiera están usando la metodología alguna para desarrollar su software. Es un marco de referencia para crear software complejo y entregarlo a tiempo de una forma mucho más sencilla.
Por otro lado (HERNANDEZ, 2014) indica que SCRUM es un marco de trabajo basado en los métodos ágiles, que requiere trabajo duro porque no se basa en el seguimiento de un plan, sino en la adaptación continua a las circunstancias de la evolución del proyecto.
-El proceso SCRUM
El autor (PÉREZ, 2011) indica que debido a que la metodología SCRUM es más enfocada a la organización del equipo de trabajo, así como también lo es en gran parte XP, en SCRUM a diferencia de XP que también está basado en los métodos ágiles, se divide el proyecto en periodos de 4 semanas aproximadamente, cada periodo se denomina Sprint y cada equipo SCRUM recibe una lista de pedidos a ejecutar en un sprint determinado.
El proceso SCRUM se compone de 5 fases las cuales contienen las actividades a desarrollar durante un periodo, comprendidas de la siguiente manera:
- Planificación de Sprint
Según (RAMOS, y otros, 2015) su objetivo es establecer un plan y metas para la iteración que está empezando. En esta reunión se crea el backlog (lista de lo que queda por hacer para completar el producto) inicial de la versión.
- Distribución, revisión y ajustes de estándares de producto
De acuerdo a (PRIES, y otros, 2010) corresponde a la “Pila de Sprint”. En ésta fase los desarrolladores realizan los ajustes de los estándares y requerimientos mínimos, dejando todo listo para comenzar con la fase de Sprint.
-Sprint
Conforme a (PÉREZ, 2011) Ésta Fase de aproximadamente 30 días es donde se efectúa el desarrollo del software y se llevan a cabo las reuniones, consta de las siguientes subfases: elaborar, integrar, revisar y ajustar. Estas subfases no son estrictas, pero claramente obedecen a prácticas ya mencionadas en las metodologías RUP, MSF y XP.
- Revisión del Sprint
Según (KEE, 2016) es el encuentro realizado cada mes después del ciclo de sprint. Los procesos secuenciales implicados en la revisión del sprint son los siguientes:
1. Demostración del producto en vivo. 2. Evaluación de propietario del producto.
3. Identificar los productos PBIs de los hechos (velocidad) 4. La retroalimentación de las partes interesadas
- Cierre
El autor (PÉREZ, 2011) indica que en ésta fase se da lugar a la depuración y correcciones de errores (debugging), éste procedimiento se repite hasta alcanzar la calidad en el producto. Posterior a las correcciones y pruebas se realiza el Marketing y promoción del producto y al terminar ésta fase el proyecto queda cerrado.
Entre otras definiciones según (BRITO, 2009) incluyen al cliente en las reuniones de seguimiento, y establece una forma de trabajo en la que la comunicación fluida garantiza que si se produce un cambio total o parcial en los requisitos el equipo de desarrollo será capaz de adaptar la aplicación en un tiempo razonable.
1. La Aparición:
A medida que desarrollamos un software, aprendemos más, lo que es posible, y cómo crearlo.
2. El Empiritismo:
Conforme a (KEITH, 2010) Scrum utiliza un ciclo de “inspeccionar y adaptar” que permite que el equipo y las partes interesadas para responder a los nuevos conocimientos y de las condiciones cambiantes en tiempo real utilizando datos reales.
3. Timeboxing
Para (KEITH, 2010) Scrum es iterativo. Se ofrece un valor en una base regular y permite a las partes interesadas y los desarrolladores para sincronizar y micro dirigir el proyecto como valor emerge.
4. Auto-organización:
Acorde a (KEITH, 2010) Pequeños equipos interdisciplinarios están facultados para organizar su membresía, gestionar sus procesos, y crear el mejor producto posible.