Está en la página 1de 8

Metodologas

El desarrollo de Software no es una tarea fcil. Debido a ello existen numerosas propuestas de
metodologas que inciden en distintas dimensiones del proceso de desarrollo.
Qu es una metodologa?
Una metodologa es un conjunto integrado de tcnicas y mtodos que permite abordar de forma
homognea y abierta cada una de las actividades del ciclo de vida de un proyecto de desarrollo. Es
un proceso de software detallado y completo.
Una metodologa para el desarrollo de software comprende los pasos a seguir sistemticamente
para idear, implementar, y mantener en funcionamiento un producto desde que surge la
necesidad del producto, hasta que se satisfagan las necesidades por las que fue creado el
producto.
Aplicacin a la Ingeniera de Software
Optimiza el proceso y el producto Software
Mtodos que guan en la planificacin y en el desarrollo de software
Define qu hacer, cmo y cundo durante el desarrollo y mantenimiento de un proyecto
Elementos de la metodologa:
Fases.
Tareas a realizar en cada fase.
Productos (final e intermedios)
E/S de cada fase, documentos.
Procedimientos y herramientas
Apoyo a la realizacin de cada tarea.
Criterio de evaluacin
Del proceso y producto. Saber si se han logrado los objetivos.
Ventajas:
Desde el punto de vista de gestin:
Facilita la tarea de planificacin
Facilita la tarea del control y seguimiento del proyecto
Mejora la relacin Coste/Beneficio
Optimizar el uso de recursos disponibles
Facilita la evaluacin de resultados y cumplimiento de objetivos
Ayuda a definir el ciclo de vida que ms nos convenga y las caractersticas de desarrollo
Facilitar la comunicacin efectiva entre usuarios y desarrolladores
Desde el punto de vista del ing. En Software:
Ayudar a la comprensin del problema
Optimizar el conjunto y cada una de las fases del proceso de desarrollo
Facilitar el mantenimiento del producto final
Permitir la reutilizacin de partes del producto
Desde el punto de vista del usuario o cliente:
Garantiza un determinado nivel de calidad en el producto final
Confianza en los plazos de tiempo fijados en la definicin del proyecto
Definir el ciclo de vida que ms se adecue a las condiciones y caractersticas del desarrollo
Determinar las fases del ciclo de vida especificando su orden de ejecucin
Definir resultados intermedios y finales
Proporcionar un conjunto de mtodos, herramientas tcnicas para facilitar la tarea del
ingeniero del software y aumentar su productividad
Metodologas ms destacadas
Desarrollo Iterativo e incremental
El desarrollo iterativo e incremental es una parte esencial de RUP, de DSDM, XP y generalmente de
los marcos de trabajo de desarrollo gil.

Debilidades:
En la retroalimentacin hacia el grupo de desarrollo, utilizar este modelo de desarrollo puede
llevar avances extremadamente lentos. No es una aplicacin ideal para desarrollos en los que de
antemano se sabe que sern grandes en el consumo de recursos y largos en el tiempo.
Al requerir constantemente la ayuda de los usuarios finales, se agrega un coste extra a la
compaa, pues mientras estos usuarios evalan el software dejan de ser directamente
productivos para la compaa.
Rapid Application Development (RAD)
La metodologa de desarrollo rpido de aplicaciones (RAD) se desarroll para responder a la
necesidad de entregar sistemas muy rpido.
No es apropiado para todos los proyectos.
El tamao, alcance y circunstancias, determina el xito de un enfoque RAD.
El mtodo RAD tiene una lista de tareas y una estructura de desglose de trabajo diseada para la
rapidez.
El mtodo comprende el desarrollo iterativo, la construccin de prototipos y uso de las CASE
(Computer Aided Software Engineering). Tradicionalmente, el desarrollo rpido de aplicaciones
tiende a englobar tambin la usabilidad, utilidad y rapidez
de la ejecucin
















Ventajas
Velocidad de desarrollo
Calidad
Resuelve las necesidades de usuarios as como el grado al cual un sistema entregado tiene
costes de mantenimiento bajos
Visibilidad temprana debido al uso de tcnicas de prototipado.
Mayor flexibilidad que otros modelos
Ciclos de desarrollo ms cortos
Inconvenientes
Caractersticas reducidas
Escalabilidad reducidas
Progreso ms difcil de evaluar puesto que no hay hitos clsicos
Rational Unified Process (RUP)
El proceso unificado Rational (RUP) es un marco de trabajo de proceso de desarrollo de software
iterativo creado por Rational Software Corporation, una divisin de IBM desde 2003, RUP no es un
proceso preceptivo concreto individual, sino un marco de trabajo de proceso adaptable, con la
idea de ser adaptado por las organizaciones de desarrollo y los equipos de proyecto de software
que seleccionarn los elementos del proceso que sean apropiados para sus necesidades
Mdulos de RUP
RUP se basa en un conjunto de mdulos o elementos de contenido, que describen qu se va a
producir, las habilidades necesarias requeridas y la explicacin paso a paso describiendo cmo se
consiguen los objetivos de desarrollo. Los mdulos principales, o elementos de contenido son:
Roles (Quin): Conjunto de habilidades, competencias y responsabilidades relacionadas
Productos de trabajo (qu): representa una tarea, incluyendo todos los documentales y
modelos producidos en el proceso
Tareas (cmo): Describe una unidad de trabajo asignada a un rol que proporcionan un
resultado diferente
Fases del ciclo de vida del proyecto
RUP determina que el ciclo de vida del proyecto consiste en cuatro fases que permiten que el
proceso sea presentado a alto nivel de una forma a un asilo en cascada. Cada fase tiene un
objetivo clave y un hito al final que denota que el objetivo se ha logrado
Las cuatro fases en las que se divide el ciclo del proyecto son:
Fase de iniciacin
Se define el alcance del proyecto
Fase de elaboracin
Se analizan las necesidades del negocio en el mayor detalle y se define sus principios
arquitectnicos
Fase de construccin
Se crea el diseo de la aplicacin y el cdigo fuente
Fase de transicin
Se entrega el sistema a los usuarios
RUP proporciona un prototipo al final de cada iteracin. Dentro de cada iteracin, existen seis
disciplinas de ingeniera
Modelo de negocio
Requisitos
Anlisis y diseo
Implementacin
Pruebas
Despliegue
Tres disciplinas de soporte
Gestin de la configuracin y del cambio
Gestin de proyectos
Entorno.
Metodologas agiles
Consiste en desarrollar una pequea parte del software que se desea construir. De esta forma, el
cliente nos indica si vamos por el buen camino, estableciendo aquellas partes que le son ms
relevantes y as juntos, nos aseguramos de que construimos una aplicacin que aadir valor a su
negocio.
La mayora minimiza riesgos desarrollando software en cortos lapsos de tiempo
Las metodologas giles de desarrollo estn especialmente indicadas en proyectos con
requisitos poco definidos o cambiantes.
Capacidad de respuesta a cambios de requisitos a lo largo del desarrollo
Entrega continua y en plazos breves de software funcional
Trabajo conjunto entre el cliente y el equipo de desarrollo
Importancia de la simplicidad, eliminado el trabajo innecesario
Atencin contnua a la excelencia tcnica y al buen diseo
Mejora continua de los procesos y el equipo de desarrollo
Extreme Programming (XP)
Se considera una de las mejores metodologas de desarrollo.
Es una metodologa gil centrada en potenciar las relaciones personales.
Promueve el trabajo en equipo
Aprendizaje de los desarrolladores
Proporciona un buen ambiente de trabajo
Se basa en la realimentacin continua: Cliente Equipo de desarrollo
Comunicacin fluida entre todos los participantes
Simplicidad en las soluciones implementadas y coraje para enfrentar los cambios
Elementos en esta metodologa
Las historias de usuario son la tcnica utilizada para especificar los requisitos del software]
De acuerdo con la propuesta de Beck, los Roles XP son:
Programador
Cliente
Encargado de pruebas (Tester)
Encargado de seguimiento (Tracker)
Entrenador (Coach)
Consultor
Gestor (Big Boss)
Proceso XP: el ciiclo de desarrollo consiste en los siguientes pasos:
1. El cliente define el valor de negocio a implementar
2. El programador estima el esfuerzo necesario para su implementacin
3. El programador construye ese valor
4. Vuelve al paso 1
SCRUM
Es un proceso gil que se puede usar para gestionar y controlar desarrollos complejos de software
y productos usando prcticas iterativas e incrementales. SCRUM es un proceso incremental
iterativo para desarrollar cualquier producto o gestionar cualquier trabajo. Aunque SCRUM estaba
previsto que fuera para la gestin de proyectos de desarrollo de software, se puede usar tambin
para la ejecucin de equipos de mantenimiento de software o como un enfoque de gestin de
programas
Ventajas
Una de las mayores ventajas de Scrum es que es muy fcil de entender y requiere poco esfuerzo
para comenzar a usarse. Una parte importante de Scrum son las reuniones que se realizan durante
cada una de las iteraciones
Scrum diario: cada da durante la iteracin, tiene lugar una reunin de estado del
proyecto. A esta reunin se le denomina Scrum
Reunin de planificacin de iteracin (Sprint): Se lleva a cabo al principio del ciclo de
iteracin
Reunin de revisin de iteracin: al final del ciclo de la iteracin
Iteracin retrospectiva: al final del ciclo de iteracin

Dynamic System Development Method (DSDM)
El mtodo de desarrollo de Sistema dinmico (DSDM) es una metodologa de desarrollo de
software originalmente basada en la metodologa RAD. DSDM es un enfoque iterativo e
incremental que enfatiza la participacin continua del usuario.
Su objetivo es entregar sistemas software en tiempo y presupuesto ajustndose a los cambios de
requisitos durante el proceso de desarrollo. DSDM es uno de los mtodos giles para el desarrollo
de software,
y forma parte de
la alianza gil.












Crystal Clear
Cyrstal Clear es un miembro de la familia de las metodologas Crystal se considera un ejemplo de
metodologa gil.
Crystal Clear cuenta con las siguientes propiedades (las primeras 3 son requeridas):
Entrega frecunteme de cdigo usable a los usuarios
Mejora reflexiva
Comunicacin osmtica preferiblemente estando en la misma ubicacin
Seguridad personal
Fcil acceso a los usuarios expertos
Agile Unified Process (AUP)
El proceso unificado gil (AUP) es una versin simplificada de RUP describe un enfoque simple,
fcil de entender, del desarrollo de software de aplicacin de negocios usando tcnicas
Inicio
El objetivo es identificar el alcance inicial del proyecto
Elaboracin
El objetivo es identificar el alcance inicial del proyecto
Construccin
El objetivo es construir software operativo de forma incremental que cumpla con las necesidades
Transicin
El objetivo es validar y desplegar el sistema

También podría gustarte