LAS METODOLOGÍAS PARA EL ANÁLISIS Y DISEÑO DE UN SISTEMA DE INFORMACIÓN
RAULYMAR DE ABREU
Introduccion. 3 La metodología en cascada Desarrollo Iterativo La metodología en RUP La metodologia en XP La metodologia WATCH Conclusion 14 Referencias bibliografica 15 4 6 8 10 12 INDICE
Metodologías de Desarrollo de Software
En el desarrollo de aplicaciones empresariales, es importante contar con metodologías de desarrollo de software bien definidas. Estas metodologías establecen las actividades, procesos y prácticas que los equipos deben seguir para desarrollar las aplicaciones de manera efectiva
Existen diferentes metodologías, como la en cascada, el desarrollo iterativo y la metodología RUP. La metodología en cascada sigue un enfoque secuencial y lineal, con fases bien definidas. El desarrollo iterativo se basa en entregar software funcional en incrementos pequeños y frecuentes, adaptándose a los cambios. La metodología RUP es un marco iterativo e incremental que enfatiza la calidad y la gestión del cambio, la metodologia WATCH es un marco metodológico para el desarrollo de aplicaciones de software empresarial, basado en las mejores prácticas de la Ingeniería de Software y la Gestión de Proyectos. Ofrece un enfoque integral, adaptabilidad y promueve una gestión eficiente del desarrollo de aplicaciones
Cada metodología tiene sus propias características y se aplica en diferentes situaciones La elección de la metodología depende de los requisitos del proyecto y las necesidades del equipo de desarrollo. Al seguir una metodología adecuada, se mejora la calidad del software y se aumentan las posibilidades de éxito en el desarrollo de aplicaciones empresariales
Introducción
03
La metodología en cascada
La metodología en cascada, también conocida como modelo de desarrollo en cascada, es un enfoque de gestión de proyectos utilizado en el desarrollo de software. Fue propuesto por primera vez por Winston W. Royce en un artículo publicado en 1970 llamado "Managing the Development of Large Software Systems" (Gestionando el Desarrollo de Sistemas de Software Grandes).
El artículo de Winston W. Royce fue publicado en 1970, aunque desde entonces ha habido varias adaptaciones y refinamientos de la metodología en cascada La metodología en cascada es un enfoque secuencial y lineal para el desarrollo de software en el cual cada etapa del proceso se lleva a cabo de manera secuencial, y cada fase se considera completa antes de pasar a la siguiente Esto significa que las fases del proyecto fluyen de arriba hacia abajo, como una cascada.
Las características principales de la metodología en cascada son las siguientes:
Secuencialidad: El proceso de desarrollo se divide en fases secuenciales y cada fase debe completarse antes de pasar a la siguiente
Etapas bien definidas: Cada fase tiene objetivos y actividades específicas.
Documentación exhaustiva: Cada fase requiere una documentación detallada antes de pasar a la siguiente etapa
Retroceso limitado: No se permite el regreso a una fase anterior una vez que se ha completado.
Enfoque orientado a los requisitos: Se establecen los requisitos antes de pasar a las etapas de diseño y desarrollo.
1. 2 3 4. 5
04
La metodología en cascada
La metodología en cascada generalmente consta de las siguientes fases:
1.
2.
3.
4.
5
Requisitos: Se recopilan y definen los requisitos del sistema. Diseño: Se crea un diseño detallado del sistema basado en los requisitos.
Implementación: Se lleva a cabo la codificación y desarrollo del software según el diseño
Pruebas: Se realizan pruebas para garantizar que el software cumpla con los requisitos establecidos.
Mantenimiento: Se realiza el mantenimiento del software, incluyendo correcciones de errores y actualizaciones.
La metodología en cascada se utiliza en proyectos donde los requisitos están bien establecidos y son poco probables que cambien significativamente durante el ciclo de desarrollo. Es especialmente adecuada para proyectos de software de tamaño pequeño a mediano, donde los requisitos son claros y la tecnología subyacente no es muy compleja. Sin embargo, puede ser menos adecuada para proyectos grandes y complejos, donde los cambios en los requisitos son comunes y se necesita una mayor flexibilidad en el proceso de desarrollo.
05
Metodología en Desarrollo Iterativo
El desarrollo iterativo es una metodología de desarrollo de software que se basa en realizar ciclos repetidos de desarrollo, evaluación y refinamiento del producto. En lugar de seguir un enfoque secuencial y lineal, como en la metodología en cascada, el desarrollo iterativo permite la retroalimentación continua y la adaptación durante todo el proceso de desarrollo
El desarrollo iterativo se ha desarrollado y refinado a lo largo del tiempo por varios expertos y practicantes en el campo del desarrollo de software. No hay un único creador específico atribuido a esta metodología El desarrollo iterativo ha evolucionado a lo largo de las décadas, y no hay una fecha de creación o publicación específica asociada con esta metodología. Sin embargo, se ha popularizado y adoptado ampliamente a partir de la década de 1990
Las características principales del desarrollo iterativo son las siguientes:
Ciclos repetidos: El proceso de desarrollo se divide en ciclos o iteraciones, en lugar de tener una secuencia lineal y única. Retroalimentación continua: Después de cada iteración, se obtiene retroalimentación del cliente, usuarios o partes interesadas, lo que permite adaptar y mejorar el producto. Flexibilidad y adaptabilidad: Permite responder a los cambios y desafíos a medida que surgen durante el desarrollo. Entrega incremental: Se produce un entregable funcional después de cada iteración, lo que permite obtener valor temprano y realizar ajustes según las necesidades del proyecto.
Enfoque en la mejora continua: Cada iteración busca mejorar y refinar el producto en función de la retroalimentación y los aprendizajes obtenidos.
1 2 3 4 5.
06
Metodología en Desarrollo Iterativo
Elementos que lo conforman: El desarrollo iterativo se basa en ciclos de desarrollo que suelen incluir las siguientes fases:
Planificación: Se establecen los objetivos generales del proyecto y se definen las metas para la iteración actual.
Análisis y diseño: Se realizan actividades de análisis de requisitos y diseño de alto nivel para definir las características y funcionalidades a implementar en la iteración
Desarrollo: Se lleva a cabo la implementación y codificación de las características definidas en la fase anterior.
Pruebas: Se realizan pruebas de las funcionalidades desarrolladas para garantizar su correcto funcionamiento y calidad.
Evaluación y retroalimentación: Se obtiene retroalimentación del cliente o usuarios, se evalúan los resultados de la iteración y se identifican áreas de mejora
Refinamiento y ajuste: Se realizan modificaciones y mejoras en base a la retroalimentación y se establecen las prioridades para la siguiente iteración
6. El desarrollo iterativo es especialmente útil en proyectos de software donde los requisitos no están completamente definidos o pueden cambiar a lo largo del tiempo Es adecuado para proyectos complejos, donde la incertidumbre es alta y se requiere una m adaptabilidad. Además, es beneficioso cuando se busca una temprana de valor y se prioriza la retroalimentación del client guiar el desarrollo. El desarrollo ágil, que incluye marcos de tra como Scrum y Kanban, se basa en gran medida en los princip prácticas del desarrollo iterativo.
2
1.
3. 4 5
07
La metodología en RUP
(Rational Unified Process)
Es un marco de trabajo de desarrollo de software que proporciona un enfoque disciplinado y estructurado para el desarrollo de sistemas. Se basa en las mejores prácticas de la industria y proporciona un conjunto de directrices y recomendaciones para gestionar y llevar a cabo proyectos de desarrollo de software. Se presentó por primera vez en 1998 por Rational Software Corporation Desde entonces, ha habido varias versiones y actualizaciones del marco de trabajo.
Fue desarrollado por Rational Software Corporation, una compañía de software fundada en 1981 por Philippe Kruchten, Ivar Jacobson, Grady Booch y otros expertos en el campo de la ingeniería de software Rational Software Corporation fue adquirida por IBM en 2003.
08
Las características principales de RUP son las siguientes:
Enfoque iterativo e incremental: RUP se basa en ciclos iterativos y entregas incrementales, lo que permite una adaptabilidad y flexibilidad durante el proceso de desarrollo.
Arquitectura centrada: RUP hace hincapié en el diseño y desarrollo de una arquitectura sólida y bien estructurada, que sirve como base para el desarrollo del sistema.
Orientado a casos de uso: RUP se centra en identificar y definir los casos de uso del sistema, lo que ayuda a comprender las necesidades y requisitos de los usuarios
Gestión de riesgos: RUP incluye una atención significativa a la identificación y gestión de riesgos durante todo el proceso de desarrollo.
5 RUP se compone de los siguientes elementos:
Enfoque disciplinado: RUP establece una estructura y disciplina claras para el desarrollo de software, con roles y responsabilidades definidos y actividades bien definidas en cada fase.
Fases: RUP se divide en fases, que representan etapas clave en el ciclo de vida del desarrollo de software. Estas fases incluyen la concepción, el análisis, el diseño, la implementación, las pruebas y el despliegue.
Disciplinas: RUP define disciplinas que representan áreas de conocimiento y actividades relacionadas con el desarrollo de software. Estas disciplinas incluyen la gestión de proyectos, el análisis y diseño, la implementación, las pruebas, la gestión del cambio, entre otras
Roles y responsabilidades: RUP establece roles y responsabilidades claras para los miembros del equipo de desarrollo, como el gerente de proyecto, el analista, el diseñador, el desarrollador, el tester, entre otros
Artefactos: RUP identifica una serie de artefactos o documentos que se deben producir durante el proceso de desarrollo, como casos de uso, modelos de diseño, planes de pruebas, entre otros.
RUP se utiliza en proyectos de desarrollo de software de mediano a grande tamaño, donde se requiere una estructura y disciplina clara, y hay un enfoque en el diseño y desarrollo de una arquitectura sólida RUP es especialmente adecuado para proyectos complejos, donde los requisitos y riesgos pueden cambiar a lo largo del tiempo. Sin embargo, su adopción ha disminuido en los últimos años, y muchos equipos de desarrollo han migrado hacia enfoques ágiles, como Scrum o Kanban, que ofrecen una mayor flexibilidad y adaptabilidad.
1 2 3. 4
1. 2. 3. 4.
09
La metodología en RUP
La metodología en XP
(Extreme Programming)
Es una metodología ágil de desarrollo de software que se enfoca en la entrega rápida de software de alta calidad. XP se centra en la colaboración estrecha entre el equipo de desarrollo y el cliente, la retroalimentación continua y la adaptación a los cambios
Kent Beck es considerado el creador de Extreme Programming. Kent Beck desarrolló XP en la década de 1990 como un enfoque práctico para mejorar el proceso de desarrollo de software. XP fue introducido por Kent Beck en el libro "Extreme Programming Explained: Embrace Change" en 1999.
Las características principales de XP son las siguientes:
Comunicación constante: Se promueve la comunicación cercana y continua entre los miembros del equipo de desarrollo y los clientes.
Adaptabilidad: XP se adapta a los cambios en los requisitos y prioridades del proyecto de manera rápida y efectiva.
Entrega incremental: Se enfoca en entregar software funcional en incrementos pequeños y frecuentes
Pruebas continuas: Se realiza una prueba constante del software durante todo el proceso de desarrollo para garantizar su calidad. Desarrollo colaborativo: El trabajo en equipo y la colaboración son fundamentales en XP. Los desarrolladores trabajan juntos en todas las fases del proyecto.
1. 2 3. 4. 5
10
Los elementos clave de XP son los siguientes:
Planificación ágil: Se realiza una planificación a corto plazo y se ajusta de manera iterativa según las necesidades cambiantes del proyecto.
Programación en parejas: Los desarrolladores trabajan en parejas, colaborando y revisando constantemente el código que producen.
Pruebas unitarias: Se escriben pruebas automatizadas para cada función o componente del software, lo que ayuda a garantizar su funcionamiento correcto.
Integración continua: Se integran los cambios en el código frecuentemente, lo que permite detectar y resolver problemas de manera temprana.
Diseño simple: Se busca mantener un diseño simple y elegante, evitando la sobreingeniería.
XP se aplica en proyectos de desarrollo de software donde los requisitos pueden cambiar o evolucionar con el tiempo y donde se requiere una entrega rápida de software funcional. Es especialmente adecuado para proyectos en los que la colaboración y la retroalimentación continua del cliente son esenciales. XP se utiliza en una variedad de sectores y tamaños de proyectos, desde pequeños equipos hasta grandes organizaciones.
11
1. 2. 3. 4. 5.
La metodología en XP
La metodología en Watch
El método WATCH está orientado al desarrollo de un tipo particular de software denominado aplicación empresarial. Una aplicación empresarial es aplicación distribuida que apoya la ejecución de procesos de negocios en una empresa. Las aplicaciones de comercio electrónico y los sistemas de información web (SIW) son dos tipos particulares de aplicaciones empresariales Tanto las aplicaciones web como los S negocios, m datos e inf
El método WATCH fue creado por Montilva C, Barrios A, y Rivero A en el 2002 Establece tres modelos sobre los que se fundamenta la estructura del método. se menciona que Blue WATCH hereda la fundamentación del método WATCH y realiza adaptaciones en cada uno de los modelos planteados, ya sea por extensión, modificación o simplificación.
12
Características del método WATCH:
Basado en estándares y prácticas reconocidas: El método WATCH se fundamenta en estándares y prácticas reconocidas en la industria, como el modelo CMMI-SW, SWEBOK, PMBOK, estándares de desarrollo de software de la IEEE, entre otros
Enfoque integral: El método WATCH abarca tanto los aspectos técnicos como los gerenciales y de soporte del desarrollo de aplicaciones. Se centra en garantizar que el proyecto se ejecute en el tiempo previsto, dentro del presupuesto acordado y según los estándares de calidad establecidos
Incorporación de enfoques de desarrollo: El método WATCH integra enfoques de desarrollo de software, como Desarrollo Guiado por Modelos (Model Driven Development), Desarrollo Guiado por Pruebas (Test Driven Development) y Desarrollo Iterativo e Incremental.
Uso de lenguajes de modelado visual: El método WATCH hace uso de lenguajes de modelado visual, como UML (Unified Modeling Language) y UML Business, para representar y comunicar los requisitos, la arquitectura y otros aspectos clave del sistema.
Elementos del método WATCH:
Modelo de productos: Describe los productos intermedios y finales que se generan durante el desarrollo de una aplicación empresarial utilizando el método WATCH. Estos productos pueden incluir modelos, documentos, código fuente, pruebas, entre otros.
Modelo de actores: Identifica a los actores interesados (stakeholders) en el desarrollo de la aplicación y describe cómo deben estructurarse los equipos de desarrollo. También define los roles y responsabilidades de los miembros del equipo.
Modelo de procesos: Describe en detalle los procesos técnicos, gerenciales y de soporte que los equipos de desarrollo deben seguir para desarrollar las aplicaciones Estos procesos incluyen la gestión de requisitos, el diseño, la implementación, las pruebas, la gestión de la configuración, entre otros.
Aplicación: El método WATCH se aplica en el desarrollo de aplicaciones de software empresarial. Es especialmente útil en proyectos donde se requiere un enfoque disciplinado y bien definido, con una atención tanto a los aspectos técnicos como a los gerenciales El método WATCH puede adaptarse y personalizarse según las necesidades y características de cada proyecto, y puede ser utilizado por equipos de desarrollo de diferentes tamaños y en diferentes sectores de la industria.
2 3 4
1.
2 3.
1
La metodología en Watch 13
Contar con una metodología adecuada es fundamental para el éxito en el desarrollo de aplicaciones empresariales. La elección de la metodología dependerá de las necesidades del proyecto, los requisitos del cliente y las características del equipo de desarrollo Cada una de estas metodologías proporciona un marco estructurado y probado para guiar el proceso de desarrollo y mejorar la calidad del software entregado.
En conclusión, las metodologías de desarrollo de software, como la cascada, el desarrollo iterativo, el método WATCH y la metodología RUP, desempeñan un papel crucial en el desarrollo de aplicaciones empresariales.
La cascada sigue un enfoque secuencial y lineal, mientras que el desarrollo iterativo se basa en entregas frecuentes y adaptación a cambios. El método WATCH es un marco integral basado en mejores prácticas de la Ingeniería de Software y la Gestión de Proyectos La metodología RUP es un enfoque iterativo e incremental que enfatiza la colaboración y la mitigación de riesgos.
Cada metodología tiene sus propias características y se elige en función de los requisitos y las necesidades del proyecto. Al seguir una metodología adecuada, se mejora la calidad, la eficiencia y las posibilidades de éxito en el desarrollo de aplicaciones empresariales
Conclusión
14
Canive, T (2020, mayo 27) Metodología XP o Programación Extrema Gestor de proyectos online https://www sinnaps com/blog-gestion-proyectos/metodologia-xp
IBM Documentation. (2021, marzo 9). Ibm.com. https://www.ibm.com/docs/es/elms/elm/6.0.3?topic=scenarios-iterative-development
Laoyan, S (2022, septiembre 29) Qué es la metodología waterfall y cuándo utilizarla Asana https://asana com/es/resources/waterfall-project-management-methodology
Marco Metodológico WATCH. (s/f). Espacioinformatico.com. Recuperado el 11 de junio de 2023, de https://espacioinformatico com/metodos/marco-metodologico-watch/
Método, E (s/f) Desarrollo de Aplicaciones Empresariales Wordpress com Recuperado el 11 de junio de 2023, de https://luiscastellanos.files.wordpress.com/2014/02/mc3a9todo-watch-gray-watchjonas-montilva-2004 pdf
Metodologia RUP. (2011, marzo 30). Eglis Airana Ramirez Ramirez. https://eglisramirez6.wordpress.com/conociendo-tecnologias/
Raeburn, A (2022, noviembre 28) ¿Qué es la programación extrema (XP)? [2022] • Asana https://asana com/es/resources/extreme-programming-xp
Stsepanets, A. (2023, enero 17). Modelo de cascada (Waterfall): qué es y cuándo conviene usarlo. Gantt Chart GanttPRO Blog; GanttPRO Project Management Blog. https://blog ganttpro com/es/metodologia-de-cascada/
Vista de Análisis de la metodología RUP en el desarrollo de software académico mediante la herramienta DJANGO. (s/f). Recimundo.com. Recuperado el 11 de junio de 2023, de https://recimundo.com/index.php/es/article/view/486/684
Wikipedia contributors (s/f) Desarrollo iterativo y creciente Wikipedia, The Free Encyclopedia. https://es.wikipedia.org/w/index.php?
title=Desarrollo iterativo y creciente&oldid=143750681
Bibliografia
15