Metodologías para el desarrollo de Software Iván Gabriel Díaz Morales Análisis y Desarrollo De Software (2627051) Servicio Nacional de Aprendizaje SENA Cartagena Metodologías para el desarrollo de Software Las metodologías para el desarrollo de Software consisten en un conjunto de técnicas, capacidades y métodos que buscan, a su vez, con la organización y planeación disciplinar en el buen uso de esas técnicas para poder lograr un sistema y diseño del desarrollo del Software eficaz y productivo. Básicamente una metodología dentro del área de desarrollo permite analizar y diseñar una solución como prevención durante la ejecución de proyectos con ese Software, teniendo en cuanta los diferentes tipos de las metodologías puesto que cada una se aplica dentro de los problemas y necesidades de cada proyecto en concreto. 1. Modelos tradicionales - Método de cascada o Waterfall: Este método implantado durante la década de 1970, deriva de la ingeniería de sistemas de la época bajo un funcionamiento vertical y lineal dunde sus funciones se agrupan de manera secuencial, permitiendo que no sea posible pasar a otra de sus fases sin verificar la funcionalidad de las anteriores presentándose como un método seguro de su diseño y permite ahorrar tiempo. En primer lugar, se encuentra el análisis de requisitos, donde se documentan los objetivos de lo que el software será. El diseño del sistema, que se encarga de construir la estructura del sistema con el que se ejercerá el programa y estableciendo cada función a las partes del proyecto. En cambio, durante la verificación se busca que todo el funcionamiento esté perfectamente como se estableció desde la primera fase a partir de procesos de prueba e identificación de riesgos o fallas en su función. Por último está el funcionamiento y mantenimiento de el proyecto ya como un producto final, en el que de ahora en adelante se tendrá un control sobre su optimo funcionamiento y la modificación, si es necesaria, de algunos requerimientos. - Proceso racional unificado RUP: es un proceso basado en la metodología de cascada, diferenciándose en los tres enfoques principales de sus características, la importancia del proyecto para el usuario, la arquitectura y organización y por último la óptima ejecución del producto. Igual que el método anterior, este también está dividido en fases. El inicio, en la cual se establecen los criterios de reconocimiento de problemas y requerimientos y también de la tecnología que se usará. La fase de elaboración donde se determina la estructura del proyecto y el refinamiento de los requerimientos. La construcción se centra en las actividades relacionadas con la estructura y aplicación del producto final y por ultimo la fase de transición en la que se hacen las pruebas y verificaciones de la calidad y garantía del producto final. 2. Modelos agiles Estos hacen énfasis en la comunicación del desarrollador con el cliente para establecer las normas y requerimientos necesarios en el producto final, por lo tanto, estos modelos no son de documentación sino en la importancia de la estructura y diseño funcional del resultado. - Extreme Programming XP: Este modelo se basa en la relación comunicativa entre el cliente y el desarrollado que busca el éxito del software dejando que durante el tiempo de desarrollo este tenga cambios en los requerimientos, adhesiones de nuevas funciones y el análisis de posibles riesgos en el producto. - Desarrollo rápido de aplicaciones RAD: se centra en el desarrollo de aplicaciones mediante la realización de iteraciones frecuentes y la realimentación constante, permitiendo desarrollarlo en menor tiempo, cumpliendo con los requerimientos de los clientes y permitiendo la reutilización de códigos para realizar cambios pertinentes. En sus fases primeramente está la definición y finalización de los requerimientos del proyecto cunado amabas partes discuten sobre los objetivos usos y necesidades para el programa. Mientras que en la fase de construcción de prototipos los cuales son construidos, verificados y aprobados por la validación del cliente llegando a una tercera fase de transformación a modelos totalmente funcionales. Dejando que durante la cuarta fase se enfoca en la realización de pruebas exhaustivas para garantizar que todos los elementos construidos funcionan bien individualmente y también de forma colectiva. Por último, en esta fase se realizan todas las actividades de lanzamiento del producto lo que involucra el cargue inicial de datos y entrenamiento a los usuarios. - Scrum: Estos fomentan el trabajo y el concejo colectivo durante el desarrollo del programa con el objetivo de conseguir los objetivos concretos de forma rápida. Basado en tres pilares de construcción, la transparencia, haciendo referencia al seguimiento del proceso mediante documentos o reuniones explicativas. La Inspección que permite que cualquiera pueda estar enterado de las actividades realizadas por otros y en general conocer el estado actual de los procesos y la adaptación de las actividades de mejoras que permitan modificar todo tipo de proceso para conseguir los más altos estándares de calidad.