You are on page 1of 7

METODOLOGIA

DE 

DESARROLLO

DEL

SOFTWARE

Fecha de comienzo: 09/10/2008
Fecha de entrega: 15/10/2008

 Grupo11 
Isaías Carrillo Pérez
Rodrigo Pérez González
Aureliano David Rodríguez Martín
INDICE

1.1 Metodologías de Desarrollo de Software.

1.2 Metodologías Pesadas.
1.2.1 Introdución.
1.2.2 Filosofía RUP.
1.2.3 Disciplina de Desarrollo RUP.
1.2.4 Disciplina de Soporte RUP.
1.2.5 Elementos del RUP.

1.3 Metodologías Ágiles.
1.3.1 Introdución.
1.3.2 Programación Extrema o XP (Extreme Programming).
1.3.3 Roles de la Programación Extrema.

1.4 Referencias Web o bibliografía utilizada.
METODOLOGIAS DE DESARROLLO DE SOFTWARE

1.1 Metodologías de Desarrollo de Software.

Las Metodologías de Desarrollo de Software surgen ante la necesidad 
de utilizar una serie de procedimientos, técnicas, herramientas y soporte 
documental a la hora de desarrollar un producto software.
  Dichas metodologías pretenden guiar a los desarrolladores al crear un 
nuevo software, pero los requisitos de un software a otro son tan variados y 
cambiantes, que ha dado lugar a que exista una gran variedad de 
metodologías para la creación del software. Se podrían clasificar en dos 
grandes grupos:

 Las metodologías orientadas al control de los procesos, estableciendo 
rigurosamente   las   actividades   a   desarrollar,   herramientas   a   utilizar   y 
notaciones   que   se   usarán.   Estas   metodologías   son   llamadas 
Metodologías Pesadas.

 Las   metodologías   orientadas   a   la   interactuacción   con   el   cliente   y   el  


desarrollo incremental del software, mostrando versiones parcialmente 
funcionales del software al cliente en intervalos cortos de tiempo, para 
que   pueda   evaluar   y   sugerir   cambios   en   el   producto   según   se   va 
desarrollando. Estas son llamadas Metodologías ligeras/ágiles.

1.2 Metodologías Pesadas.

1.2.1 Introducción.

 Son las más tradicionales, se centran en la definición detallada de los 
procesos y tareas a realizar, herramientas a utilizar, y requiere una extensa 
documentación, ya que pretende prever todo de antemano. Este tipo de 
metodologías son mas eficaces y necesarias cuanto mayor es el proyecto 
que se pretende realizar respecto a tiempo y recursos que son necesarios 
emplear, donde una gran organización es requerida.

  Una   de   las   metodologías   pesadas   más   conocidas   y   utilizadas   es   la 


Metodología RUP (Rational Unified Process) que divide el desarrollo en 4 
fases que definen su ciclo de vida:

−  Inicio : El objetivo es determinar la visión del proyecto y definir lo que 
se desea realizar.
−  Elaboración : Etapa en la que se determina la arquitectura óptima del 
proyecto.
−  Construcción : Se obtiene la capacidad operacional inicial.
−  Transmisión : Obtener el producto acabado y definido.
1.2.2 Filosofía RUP.

 La metodología RUP tiene 6 principios clave:

−  Adaptación   del   proceso :  El   proceso   debe   adaptarse   a   las 


características de la organización para la que se esta desarrollando 
el software.
−  Balancear prioridades : Debe encontrarse un balance que satisfaga a 
todos los inversores del proyecto.
−  Colaboración   entre   equipos :  Debe   haber   una   comunicación   fluida 
para   coordinar   requerimientos,   desarrollo,   evaluaciones,   planes, 
resultados, etc.,...
−  Demostrar valor iterativamente :  Los proyectos se entregan, aunque 
sea de una forma interna, en etapas iteradas. En cada iteración se 
evaluará la calidad y estabilidad del producto y analizará la opinión y 
sugerencias de los inversores.
−  Elevar   el   nivel   de   abstracción :  Motivar   el   uso   de   de   conceptos 
reutilizables.
−  Enfocarse en la calidad : La calidad del producto debe verificarse en 
cada aspecto de la producción.

1.2.3 Disciplina de desarrollo de RUP.

  Determina   las   etapas   a   realizar   durante   el   proyecto   de   creación   del 


software.

−  Ingeniería   o   modelado   del   negocio:   Analizar   y   entender   las 


necesidades   del   negocio   para   el   cual   se   está   desarrollando   el 
software.
−  Requisitos:   Proveer una base para estimar los costos y tiempo de 
desarrollo del sistema.
−  Análisis y diseño:  Trasladar los requisitos analizados anteriormente a 
un   sistema   automatizado   y   desarrollar   una   arquitectura   para   el 
sistema.
− Implementación:  Crear   software   que   se   ajuste   a   la   arquitectura 
diseñada y que tenga el comportamiento deseado.
−  Pruebas:  Asegurarse de que el comportamiento requerido es correcto 
y que todo lo solicitado está presente.
−  Despliegue:   Producir distribuciones del producto y distribuirlo a los 
usuarios.
Diagrama del esfuerzo de actividades según la etapa del proyecto:

1.2.4 Disciplina de soporte RUP.

Determina   la   documentación   que   es   necesaria   realizar   durante   el 


proyecto.
   

  Configuración y administración del cambio:  Guardar todas las versiones 
del proyecto.
  Administración del proyecto:   Administrar los horarios y recursos que se 
deben de emplear.
  Ambiente:  Administrar el ambiente de desarrollo del software.
  Distribución:  Hacer todo lo necesario para la salida del proyecto.

1.2.5 Elementos del RUP.

  Actividades:  Procesos que se han de realizar en cada etapa/iteración.
  Trabajadores:  Personas involucradas en cada actividad del proyecto.
  Artefactos:  Herramientas
    empleadas   para   el   desarrollo   del   proyecto. 
Puede ser un documento, un modelo, un elemento del modelo, etc.,...
1.3 Metodologías Ágiles.

1.3.1 Introducción.

Esta metodología nace en febrero del 2001 en una reunión celebrada en 
Utah­EEUU. 

Principales ideas de la metodología ágil:
 Se encarga de valorar al individuo y las iteraciones del equipo más 
que a las herramientas o los procesos utilizados.
 Se hace mucho más importante crear un producto software que 
funcione que escribir mucha documentación.
 El cliente está en todo momento colaborando en el proyecto.
 Es más importante la capacidad de respuesta ante un cambio 
realizado que el seguimiento estricto de un plan.

1.3.2 Programación Extrema o XP (EXTREME PROGRAMMING).

     Es   una   metodología   para   el   desarrollo   de   software   y   consiste 


basicamente   en   ajustarse   estrictamente   a   una   serie   de   reglas   que   se 
centran en las necesidades del cliente para lograr un producto de buena 
calidad en poco tiempo.

      La Programación Extrema es una metodología ágil centrada en 
potenciar   las   relaciones   interpesonales   como   clave   para   el   éxito   en   el 
desarrollo de software. 

        Promueve el trabajo en equipo, preocupandose en todo momento 
del aprendizaje de los desarrolladores y estableciendo un buen clima de 
trabajo. 

       Este tipo de método se basa en una realimentación continuada 
entre el cliente y el equipo de desarrollo con una comunicación fluida entre 
todos   los   participantes,   también   busca  simplificar  las   soluciones 
implementadas y coraje para los múltiples cambios. 

           Este tipo de programación es la adecuada para los proyectos con 
requisitos imprecisos, muy cambiantes y con un riesgo técnico excesivo.
1.3.3 Roles de la Programación Extrema (XP).

      Según la propuesta de Beck los roles que nos podemos encontrar 
son los siguientes:

  Programador : El programador escribe las pruebas unitarias y produce 
el código del sistema.
  Cliente :   Escribe   las   historias   de   los   usuarios   y   las   pruebas 
funcionales para validar su implementación. El cliente  da una gran 
prioridad   a   las   historias   de   usuarios   y  decide   cual  implementar  en 
cada iteración centrandose en aportar mayor valor al negocio.
  Encargado   de   Pruebas   (Tester) :   Ayuda   al   cliente   a   escribir   las 
pruebas   funcionales.   Se   encarga   de   ejecutar   las   pruebas   con 
regularidad,   difunde   los   resultados   obtenidos   al   equipo   y   es   el 
responsable de las herramientas que dan soporte a las pruebas.
  Encargado   de   Seguimiento   (Tracker) :   Es   el   que   proporciona   la 
realimentación al equipo. Realiza el seguimiento del proceso de cada 
iteración   y   verifica   el   grado   de   acierto   entre   las   estimaciones 
realizadas y el tiempo real dedicado en ello para la mejora de futuras 
estimaciones.
  Entrenador   (Coach) :   Es   el   responsable   del   proceso   global.   Se 
encarga  de   proveer   guias   al   equipo   de   forma   que   se   apliquen   las 
practicas XP y se vaya siguiendo el proceso correctamente.
  Consultor : Es un miembro externo del equipo con un conocimiento 
especifico en algún tema que es necesario para el proyecto, en el que 
surgan problemas.
  Gestor   (Big   boss) :   Es   el   vinculo   entre   clientes   y   programadores, 
ayuda a que el equipo trabaje efectivamente creando las condiciones 
adecuadas. Su labor esencial es la de coordinación.

1.4 Referencias Web o bibliografía utilizada.

­ Archivo .pdf de la Universidad Politécnica de Valencia con una amplia explicación sobre 
metodologías ágiles y la programación extrema (XP).
   http://www.willydev.net/descargas/prev/TodoAgil.pdf
­ Página web en la que habla de las metodologías mas utilizadas RUP, XP y MSF.
   http://www.informatizate.net/articulos/metodologias_de_desarrollo_de_software_07062004.html 
­ Página de wikipedia sobre Metodología RUP.
   http://es.wikipedia.org/wiki/RUP 
­ Clara e interesante web sobre RUP.
   http://www.scribd.com/doc/297224/RUP
­ Presentación de las Metodologías Agiles en la que habla de la programación extrema 
(XP).
http://www.e­market.cl/dir/umayor/ingsw/Apoyo/GRUPO_1_PROGRAMACION_AGIL.ppt
­ Archivo pdf que nos habla de las ventajas que existen al utilizar las metodologías Agiles.
http://www.willydev.net/InsiteCreation/v1.0/descargas/prev/metodologiasagiles.pdf

You might also like