Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Metodologías de desarrollo de software. ¿Cuál es el camino?



Partes: 1, 2

    1. Desarrollo
    2. Conclusiones

    3. Referencias
    4. Bibliografía

    1.
    Introducción

    El desarrollo de
    software no es
    sin dudas una tarea fácil. Como resultado a este problema
    ha surgido una alternativa desde hace mucho: la Metodología. Las metodologías
    imponen un proceso
    disciplinado sobre el desarrollo de software con el fin de
    hacerlo más predecible y eficiente. Lo hacen desarrollando
    un proceso detallado con un fuerte énfasis en planificar
    inspirado por otras disciplinas de la ingeniería.

    Las metodologías ingenieriles han estado
    presentes durante mucho tiempo. No se
    han distinguido precisamente por ser muy exitosas. Aún
    menos por su popularidad. La crítica
    más frecuente a estas metodologías es que son
    burocráticas. Hay tanto que hacer para seguir la
    metodología que el ritmo entero del desarrollo se
    retarda.

    Hoy en día existen numerosas propuestas
    metodológicas que inciden en distintas dimensiones del
    proceso de desarrollo. Un ejemplo de ellas son las propuestas
    tradicionales centradas específicamente en el control del
    proceso. Estas han demostrado ser efectivas y necesarias en un
    gran número de proyectos, sobre
    todo aquellos proyectos de gran tamaño (respecto a tiempo
    y recursos).

    Sin embargo la experiencia ha demostrado que las
    metodologías tradicionales no ofrecen una buena
    solución para proyectos donde el entorno es volátil
    y donde los requisitos no se conocen con exactitud, porque no
    están pensadas para trabajar con incertidumbre.

    Aplicar metodologías tradicionales nos obliga a
    forzar a nuestro cliente a que
    tome la mayoría de las decisiones al principio. Luego el
    coste de cambio de una
    decisión tomada puede llegar a ser muy elevado si
    aplicamos metodologías tradicionales.

    Es por ello que varios problemas como
    los que a continuación mencionamos han sido
    detectados:

    • Retrasos en la planificación: llegada la fecha de
      entregar el software éste no está
      disponible.
    • Sistemas deteriorados: el software se ha creado pero
      después de un par de años el coste de su mantenimiento es tan complicado que
      definitivamente se abandona su producción.
    • Tasa de defectos: el software se pone en
      producción pero los defectos son tantos que nadie lo
      usa.
    • Requisitos mal comprendidos: el software no resuelve
      los requisitos planificados inicialmente.
    • Cambios de negocio: el problema que resolvía
      nuestro software ha cambiado y nuestro software no se ha
      adaptado.
    • Falsa riqueza: el software hace muchas cosas
      técnicamente muy interesantes y divertidas, pero no
      resuelven el problema de nuestro cliente, ni hace que
      éste gane más dinero.
    • Cambios de personal:
      después de unos años de trabajo los
      programadores comienzan a odiar el proyecto y lo
      abandonan.

    Como respuesta a los problemas aplicando
    metodologías tradicionales surgieron otras
    metodologías que tratan de adaptarse a la realidad del
    desarrollo de software.

    El encanto de estas metodologías ágiles es
    su reacción ante la burocracia de las
    metodologías monumentales. Estos nuevos métodos
    buscan un justo medio entre ningún proceso y demasiado
    proceso, proporcionando simplemente suficiente proceso para que
    el esfuerzo valga la pena.

    El resultado de todo esto es que los métodos
    ágiles cambian significativamente algunos de los
    énfasis de los métodos ingenieriles. La diferencia
    inmediata es que son menos orientados al documento, exigiendo una
    cantidad más pequeña de documentación para una tarea dada. De
    muchas maneras son más bien orientados al código:
    siguiendo un camino que dice que la parte importante de la
    documentación es el código fuente.

    2.
    Desarrollo

    Metodologías pesadas.

    RUP

    El proceso unificado de desarrollo (RUP) es una
    metodología para la ingeniería de
    software que va más allá del mero análisis y diseño
    orientado a objetos para proporcionar una familia de
    técnicas que soportan el ciclo completo de
    desarrollo de software. El resultado es un proceso basado en
    componentes, dirigido por los casos de uso, centrado en la
    arquitectura,
    iterativo e incremental. [JAC05].

    Características principales de
    RUP

    • "Centrado en los modelos: Los diagramas son
      un vehículo de comunicación más expresivo que las
      descripciones en lenguaje
      natural. Se trata de minimizar el uso de descripciones y
      especificaciones textuales del sistema.
      [BAR05]"
    • "Guiado por los Casos de Uso: Los Casos de Uso
      son el instrumento para validar la arquitectura del software y
      extraer los casos de prueba. [BAR05]"
    • "Centrado en la arquitectura: Los modelos son
      proyecciones del análisis y el diseño constituye
      la arquitectura del producto a
      desarrollar. [BAR05]"
    • "Iterativo e incremental: Durante todo el
      proceso de desarrollo se producen versiones incrementales (que
      se acercan al producto terminado) del producto en desarrollo.
      [BAR05]"

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter