República Bolivariana de Venezuela
Ministerio Para Del Poder Popular Para La Educación
IUT. Dr. Federico Rivero Palacio
Asignatura: Ingeniería del Software
Integrante:
Junior Pérez
C.I. 20.614.839
Introducción a las metodologías de desarrollo
En la actualidad, la utilización de metodologías para el desarrollo de
aplicaciones es casi imposible omitirla, debido a la gran necesidad de
control de variables que conlleva el mismo desarrollo, y para la ordenada
elaboración de las aplicaciones, por lo tanto, seguir metodologías y
estándares nos llevan a estar en competitividad en todo momento. Es de
suma importancia conocer el modo como se interrelacionan metodologías
con estándares y herramientas siguiendo un único propósito, el cual
consiste en la elaboración de aplicaciones de manera eficiente, ordenada y
con el menor número de defectos.
Una Metodología de desarrollo de software, consiste principalmente en
hacer uso de diversas herramientas, técnicas, métodos y modelos para el
desarrollo. Regularmente este tipo de metodología, tienen la necesidad de
venir documentadas, para que los programadores que estarán dentro de la
planeación del proyecto, comprendan perfectamente la metodología y en
algunos casos el ciclo de vida del software que se pretende seguir.
En ingeniería de software es un marco de trabajo usado para estructurar,
planificar y controlar el proceso de desarrollo en sistemas de información.
Metodología RUP Las siglas RUP en ingles significa RationalUnifiedProcess (Proceso Unificado de Racional) es un producto del
proceso de ingeniería de software que proporciona un enfoque disciplinado para asignar tareas y
responsabilidades dentro de una organización del desarrollo. Su meta es asegurar la producción del software de
alta calidad que resuelve las necesidades de los usuarios dentro de un presupuesto y tiempo establecidos.
Según Jacaboson, I., Booch, G., Rumbaugh J. (1998)1 El nombre Proceso Unificado se usa para describir el
proceso genérico que incluye aquellos elementos que son comunes a la mayoría de los refinamientos existentes.
También permite evitar problemas legales ya que Proceso Unificado de Rational o RUP son marcas registradas por
IBM (desde su compra de Rational Software Corporation en 2003).
la metodología RUP basada en UML nos proporciona todas las bases para llevar al éxito la elaboración del
software, para ello la utilización de la herramienta RUP para el desarrollo rápido de aplicaciones. La Metodología
del RUP está basado en 6 principios clave que son los siguientes:
Adaptar el proceso: El proceso deberá adaptarse a las necesidades del cliente ya que es muy importante
interactuar con él.
Equilibrar prioridades: Los requisitos de los diversos participantes pueden ser diferentes, contradictorios o
disputarse recursos limitados.
Demostrar valor iterativamente: Los proyectos se entregan, aunque sea de un modo interno, en etapas iteradas.
Colaboración entre equipos: El desarrollo de software no lo hace una única persona sino múltiples equipos.
Enfocarse en la calidad: El control de calidad no debe realizarse al final de cada iteración, sino en todos los
aspectos de la producción.
Elevar el nivel de abstracción: Este principio dominante motiva el uso de conceptos reutilizables tales como
patrones de diseño del software, lenguajes o esquemas (frameworks) por nombrar algunos.
Metodología SCRUM
Scrum es una metodología ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo
es maximizar el retorno de la inversión para su empresa (ROI). Se basa en construir primero la
funcionalidad de mayor valor para el cliente y en los principios de inspección continua, adaptación, auto-
gestión e innovación.
Con la metodología Scrum el cliente se entusiasma y se compromete con el proyecto dado que lo ve
crecer iteración a iteración. Asimismo le permite en cualquier momento realinear el software con los
objetivos de negocio de su empresa, ya que puede introducir cambios funcionales o de prioridad en el
inicio de cada nueva iteración sin ningún problema. Esta metódica de trabajo promueve la innovación,
motivación y compromiso del equipo que forma parte del proyecto, por lo que los profesionales
encuentran un ámbito propicio para desarrollar sus capacidades.
Fases de la metodología Scrum
El desarrollo de producto tiene un ciclo de vida en la metodología Scrum. Estas son fases en las que se
divide un proceso Scrum:
¿Qué y quién? El producto que queremos conseguir una vez terminemos la iteración , y los roles de
equipo con sus tareas asignadas.
¿Dónde y cuándo? El plazo y el contenido de la iteracion.
¿Por qué y cómo? Las distintas herramientas para aplicar esta metodología ágil.
Las actividades que se llevan a cabo en Scrum son las siguientes
Planificación de la iteración: El primer día de la iteración se realiza la reunión de planificación de la
iteración.
Ejecución de la iteración : Cada día el equipo realiza una reunión de sincronización normalmente delante
de un tablero físico o pizarra.
Inspección y adaptación: El último día de la iteración se realiza la reunión de revisión de la iteración.
Metodología XP
La metodología XP o Programación Extrema es una metodología ágil y flexible
utilizada para la gestión de proyectos. Extreme Programming se centra en
potenciar las relaciones interpersonales del equipo de desarrollo como clave del
éxito mediante el trabajo en equipo, el aprendizaje continuo y el buen clima de
trabajo. Esta metodología pone el énfasis en la retroalimentación continua entre
cliente y el equipo de desarrollo y es idónea para proyectos con requisitos
imprecisos y muy cambiantes.
El equipo de un proyecto XP Los equipos de un proyecto de esta tipología y
magnitud tienen normalmente las siguientes figuras y roles:
Clientes: Establecen las prioridades y marca el proyecto. Suelen ser los usuarios
finales del producto y quiénes marcan las necesidades.
Programadores: Serán los que se encargarán de desarrollar el Extreme
Programming.
Testers: se encargan de ayudar al cliente sobre los requisitos del producto.
Coach: Asesoran al resto de componentes del equipo y marcan el rumbo del
proyecto.
Manager: Ofrece recursos, es el responsable de la comunicación externa y
quien coordina las actividades.
Diferencia entre las metodologías
RUP y SCRUM y XP
Metodología RUP.
CONCEPTO: Es un proceso de ingeniera de software que suministra un enfoque para
asignar tareas y responsabilidades dentro de una organización desarrollo.
VENTAJAS:
-Mayor documentación
-Configuración y control de cambios
-Es modelado guiado por caso de uso.
-Es cerrado en arquitectura guiado por riesgos.
-Verifica la calidad de software
DESVENTAJAS:
-Los cambios son en una fase
-Proyectos grande
ROLES:
-Analistas
-Desarrolladores
-Gestores
-Apoyo y especialistas
-Coordinación de revisiones
CARACTERÍSTICAS:
-Se abarca prácticas de gestión sin entrar en prácticas de desarrollo
-Delega completamente en el equipo la responsabilidad.
Metodología Scrum
CONCEPTO:
Conjunto de buenas práctica para trabajar colaborativamente, en equipo, y
obtener el mejor resultado posible de un proyecto. Es un ciclo completo
VENTAJAS:
-Conocimiento necesario para lograr un objetivo.
-Involucra desde un principio y se da un rol a todos.
-Entregables en tiempo y forma
DESVENTAJAS:
-Los miembros del equipo se saltan paso importantes en el camino para llegar
al Sprint final.
-Demasiadas reuniones para poco avance.
ROLES:
-Trabajo realizado por el equipo de especialistas.
-Visible, transparente por el equipo de especialista.
-Responsabilidad.
CARACTERÍSTICAS:
-Fundamentada en principios.
-Reduce el costo del cambio en todas las etapas
-Equipo con formación elevada
Metodología XP
CONCEPTO:
Conjunto de práctica y reglas empleadas para desarrollar software.
VENTAJAS:
-Comunicación.
-Realimentación
-Alta calidad mínimo de tiempo
-Disminuye traza de errores
-Coraje (Satisfacción de los programadores)
DESVENTAJAS:
-Dificultad para determinar el costo del proyecto.
-Se usa principalmente en proyectos pequeños.
ROLES:
-Programador
-Encargado de pruebas
-Encargado de seguimiento
-Consultor
CARACTERÍSTICAS:
-Prueba Unitarias.se basa en pruebas de las fallas que pudiera ocurrir.
-Metodología basada en prueba y error.
-Fundamentada en valores y practica
¿En la elaboración de su próximo proyecto socio tecnológico qué metodología escogería
Ud. para el desarrollo de su software?
Para la elaboración de un proyecto socio tecnológico utilizaría la metodología RUP.
¿Por que?
Ya que por este método de desarrollo se suministra de una manera mas segura el éxito de un
proyecto ya que se enfoca en los puntos importantes a la hora de asignar tareas y
responsabilidades al grupo para terminar un software.
También porque provee un entorno de desarrollo flexible basado en estándares que se adapta a
las necesidades del desarrollador o de la empresa.
Permite visualizar un paso más allá del que se encuentra el proyecto en ese momento.
Divide todas las actividades de forma de que a cada participante le toque la parte que le compete.
RUP es aplicable tanto a pequeños proyectos (como el del presente trabajo de tesis), así como
para grandes proyectos de varios años de duración.
Por la existencia de gran cantidad de documentación de la metodología tanto en libros como en
Internet.
Porque la arquitectura del software a implementar en el presente proyecto se documenta mediante
vistas de clases, de implementación, de despliegue y la de casos de uso. El modelo más
ampliamente conocido para la descripción de estas vistas es precisamente RUP.
Se aprovecha la utilización de la notación UML puesto que en el ámbito local esta
metodología es aplicada como un estándar de desarrollo en el mercado informático.
Al decidir que el proceso de investigación fuera iterativo e incremental se pueden ir
obteniendo versiones de cada iteración consiguiendo que se minimice los riesgos al
momento de implementar la aplicación.
Es un proceso que define de manera ordenada las tareas. Es una guía para utilizar
UML
En conclusión RUP describe cómo utilizar de forma efectiva reglas de negocio y
procedimientos comerciales probados en el desarrollo de software para equipos de
desarrollo de software conocidos como mejores prácticas. Captura varias de las
mejores prácticas en el desarrollo moderno de software en una forma que es
aplicable para un amplio rango de proyectos y organizaciones. Es una guía de cómo
utilizar de manera efectiva UML. Provee a cada miembro del equipo fácil acceso a
una base de conocimiento con guías, plantillas y herramientas para todas las
actividades críticas de desarrollo. Crea y mantiene modelos en lugar de enfocarse en
la producción de una gran cantidad de papeles de documentación.
Como una plataforma de procesos que abarca todas las prácticas de la industria RUP
permite seleccionar fácilmente el conjunto de componentes de proceso que se
ajustan a las necesidades específicas del proyecto. Se pueden alcanzar resultados
predecibles unificando el equipo con procesos comunes que optimicen la
comunicación y creen un entendimiento común para todas las tareas,
responsabilidades y artefactos.