SlideShare ist ein Scribd-Unternehmen logo
1 von 7
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
UVM
 
Procesos de desarrollo de Software
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Software
olea_saavedra
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
Micky Jerzy
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del software
GUEOVANNY20
 
Modelos del ciclo de vida del software
Modelos del ciclo de vida del softwareModelos del ciclo de vida del software
Modelos del ciclo de vida del software
Abner Torres
 

Was ist angesagt? (20)

Unidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWAREUnidad 2. metodologías de desarrollo DE SOFTWARE
Unidad 2. metodologías de desarrollo DE SOFTWARE
 
Metodologías tradicionales: Desarrollo de Software
Metodologías tradicionales: Desarrollo de Software Metodologías tradicionales: Desarrollo de Software
Metodologías tradicionales: Desarrollo de Software
 
Metodologias de desarrollo de software
Metodologias de desarrollo de softwareMetodologias de desarrollo de software
Metodologias de desarrollo de software
 
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...Metodologías Ágiles  para el Desarrollo de Software y Metodologias Para el de...
Metodologías Ágiles para el Desarrollo de Software y Metodologias Para el de...
 
Procesos del Software
Procesos del SoftwareProcesos del Software
Procesos del Software
 
Jovanni jimenez v.
Jovanni jimenez v.Jovanni jimenez v.
Jovanni jimenez v.
 
Metodologia de desarrollo software
Metodologia  de desarrollo softwareMetodologia  de desarrollo software
Metodologia de desarrollo software
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Modelos de Ing de soft
Modelos de Ing de softModelos de Ing de soft
Modelos de Ing de soft
 
Procesos de desarrollo de Software
Procesos de desarrollo de SoftwareProcesos de desarrollo de Software
Procesos de desarrollo de Software
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Metodologias De Desarrollo De Software
Metodologias De Desarrollo De SoftwareMetodologias De Desarrollo De Software
Metodologias De Desarrollo De Software
 
Metodologias de desarrollo de software
Metodologias de desarrollo de softwareMetodologias de desarrollo de software
Metodologias de desarrollo de software
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del software
 
INF-162 GRUPO 6 MODELOS DE PROCESO DE SOFTWARE
INF-162 GRUPO 6 MODELOS DE PROCESO DE SOFTWAREINF-162 GRUPO 6 MODELOS DE PROCESO DE SOFTWARE
INF-162 GRUPO 6 MODELOS DE PROCESO DE SOFTWARE
 
Modelos de desarrollo de software
Modelos de desarrollo de softwareModelos de desarrollo de software
Modelos de desarrollo de software
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Modelos del ciclo de vida del software
Modelos del ciclo de vida del softwareModelos del ciclo de vida del software
Modelos del ciclo de vida del software
 
Rup
RupRup
Rup
 

Andere mochten auch

66229709 seleccion-de-metodologias-de-desarrollo
66229709 seleccion-de-metodologias-de-desarrollo66229709 seleccion-de-metodologias-de-desarrollo
66229709 seleccion-de-metodologias-de-desarrollo
Julio Pari
 
Administración del desarrollo de sistemas
Administración del desarrollo de sistemasAdministración del desarrollo de sistemas
Administración del desarrollo de sistemas
Pedro Aguilera
 
Fases del desarrollo de software
Fases del desarrollo de softwareFases del desarrollo de software
Fases del desarrollo de software
nicocristdaro
 
Metodologia para el desarrollo de software
Metodologia para el desarrollo de softwareMetodologia para el desarrollo de software
Metodologia para el desarrollo de software
Carlos Zambrano
 

Andere mochten auch (20)

Metodologias Rup Xp
Metodologias Rup XpMetodologias Rup Xp
Metodologias Rup Xp
 
Rad javier noboa
Rad javier noboaRad javier noboa
Rad javier noboa
 
Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)
 
Diseño de software modelo lineal (presentacion)
Diseño de software   modelo lineal (presentacion)Diseño de software   modelo lineal (presentacion)
Diseño de software modelo lineal (presentacion)
 
Mobile d
Mobile dMobile d
Mobile d
 
PASSARELLO ESPEDITO Gerenciamiento de la_salud_tecnologia_medica_
PASSARELLO ESPEDITO Gerenciamiento de la_salud_tecnologia_medica_PASSARELLO ESPEDITO Gerenciamiento de la_salud_tecnologia_medica_
PASSARELLO ESPEDITO Gerenciamiento de la_salud_tecnologia_medica_
 
Casos de uso del negocio
Casos de uso del negocioCasos de uso del negocio
Casos de uso del negocio
 
Prof espedito passarello_tercerizacion_outsourcing_y_garantia_de_la_calidad_e...
Prof espedito passarello_tercerizacion_outsourcing_y_garantia_de_la_calidad_e...Prof espedito passarello_tercerizacion_outsourcing_y_garantia_de_la_calidad_e...
Prof espedito passarello_tercerizacion_outsourcing_y_garantia_de_la_calidad_e...
 
66229709 seleccion-de-metodologias-de-desarrollo
66229709 seleccion-de-metodologias-de-desarrollo66229709 seleccion-de-metodologias-de-desarrollo
66229709 seleccion-de-metodologias-de-desarrollo
 
Administración del desarrollo de sistemas
Administración del desarrollo de sistemasAdministración del desarrollo de sistemas
Administración del desarrollo de sistemas
 
PASSARELLO ESPEDITO Redes telematicas
PASSARELLO ESPEDITO Redes telematicas PASSARELLO ESPEDITO Redes telematicas
PASSARELLO ESPEDITO Redes telematicas
 
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
netmind - Primer Contacto con el Desarrollo de Aplicaciones para Windows 8
 
Passarello gobierno electronico__sociedad_de_la_informacion_consejo_profesion...
Passarello gobierno electronico__sociedad_de_la_informacion_consejo_profesion...Passarello gobierno electronico__sociedad_de_la_informacion_consejo_profesion...
Passarello gobierno electronico__sociedad_de_la_informacion_consejo_profesion...
 
PASSARELLO ESPEDITO Centros integrados informacion_nota
PASSARELLO ESPEDITO Centros integrados informacion_notaPASSARELLO ESPEDITO Centros integrados informacion_nota
PASSARELLO ESPEDITO Centros integrados informacion_nota
 
Archivos
ArchivosArchivos
Archivos
 
Fases del desarrollo de software
Fases del desarrollo de softwareFases del desarrollo de software
Fases del desarrollo de software
 
05 modelo de diseño
05 modelo de diseño05 modelo de diseño
05 modelo de diseño
 
Metodologia para el desarrollo de software
Metodologia para el desarrollo de softwareMetodologia para el desarrollo de software
Metodologia para el desarrollo de software
 
Ing de software
Ing de softwareIng de software
Ing de software
 
Lista de controles ISO/IEC 27001:2005
Lista de controles ISO/IEC 27001:2005Lista de controles ISO/IEC 27001:2005
Lista de controles ISO/IEC 27001:2005
 

Ähnlich wie Metodologias de desarrollo del software

Metodologiarup 100914104343-phpapp02
Metodologiarup 100914104343-phpapp02Metodologiarup 100914104343-phpapp02
Metodologiarup 100914104343-phpapp02
deyvis usan
 
Desarrollo de Software Adaptativo Abdon Marquez Efren 8CV12.pptx
Desarrollo de Software Adaptativo Abdon Marquez Efren 8CV12.pptxDesarrollo de Software Adaptativo Abdon Marquez Efren 8CV12.pptx
Desarrollo de Software Adaptativo Abdon Marquez Efren 8CV12.pptx
efren abdon
 
4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologias
landeta_p
 

Ähnlich wie Metodologias de desarrollo del software (20)

RUP
RUPRUP
RUP
 
Metodologías de Desarrollo de Software Jr
 Metodologías de Desarrollo de Software Jr Metodologías de Desarrollo de Software Jr
Metodologías de Desarrollo de Software Jr
 
Metodologia Xp
Metodologia XpMetodologia Xp
Metodologia Xp
 
Metodologiarup 100914104343-phpapp02
Metodologiarup 100914104343-phpapp02Metodologiarup 100914104343-phpapp02
Metodologiarup 100914104343-phpapp02
 
Metodologias de desarrollo software
Metodologias de desarrollo softwareMetodologias de desarrollo software
Metodologias de desarrollo software
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
Metodologia rup
Metodologia rupMetodologia rup
Metodologia rup
 
rup
ruprup
rup
 
Metodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XPMetodologías Ágiles - Scrum y XP
Metodologías Ágiles - Scrum y XP
 
metodologia
metodologiametodologia
metodologia
 
Methodologies in Software Development and IT
Methodologies in Software Development and ITMethodologies in Software Development and IT
Methodologies in Software Development and IT
 
Las metodologías usadas en el Desarrollo de SW en el Perú
Las metodologías usadas en el Desarrollo de SW en el PerúLas metodologías usadas en el Desarrollo de SW en el Perú
Las metodologías usadas en el Desarrollo de SW en el Perú
 
METODOLOGIA RUP
METODOLOGIA RUPMETODOLOGIA RUP
METODOLOGIA RUP
 
Trabajo calidad de software.pptx
Trabajo calidad de software.pptxTrabajo calidad de software.pptx
Trabajo calidad de software.pptx
 
Desarrollo de Software Adaptativo Abdon Marquez Efren 8CV12.pptx
Desarrollo de Software Adaptativo Abdon Marquez Efren 8CV12.pptxDesarrollo de Software Adaptativo Abdon Marquez Efren 8CV12.pptx
Desarrollo de Software Adaptativo Abdon Marquez Efren 8CV12.pptx
 
Rup disciplinas
Rup disciplinasRup disciplinas
Rup disciplinas
 
METODOLOGIAS AGILES
METODOLOGIAS AGILESMETODOLOGIAS AGILES
METODOLOGIAS AGILES
 
4 1 personalizacion de metodologias
4 1 personalizacion de metodologias4 1 personalizacion de metodologias
4 1 personalizacion de metodologias
 
Qué+es+ru..
Qué+es+ru..Qué+es+ru..
Qué+es+ru..
 

Metodologias de desarrollo del software

  • 1. 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
  • 2. 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.
  • 3. 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.
  • 4. 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.
  • 5. 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.,...
  • 6. 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.
  • 7. 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