h1

Proceso de desarrollo de software

Febrero 11, 2008

Cuando comenzamos la ingeniería de software lo primero que hay que ver es el método que seguiremos para llevar a cabo nuestro proyecto. Los métodos, lamentable o afortunadamente, no llegan a ser la panacea para aquellos que necesitan perfección en sus proyectos.

Se debe elegir de entre las opciones que contamos la que más se acomode a nuestras necesidades. Los métodos ya han sido probados y hasta están documentados, mencionaré algunos.

Team Software Process

El objetivo de esta metodología es el de proveer un marco para el uso de útiles métodos de ingeniería para el desarrollo de software, es un proceso iterativo que define roles, actividades, fases y ciclos durante el desarrollo. Se divide esencialmente en 8 etapas:

  • Lanzamiento
  • Estrategia
  • Planeación
  • Requerimientos
  • Diseño
  • Implementación
  • Pruebas y documentación
  • PostMortem

Estas etapas se repiten numerosamente y es lo que se denomina un ciclo. En cada ciclo se asigna cierto tiempo a cada etapa, mientras se va iterando el tiempo asignado a ciertas etapas va cambiando, por ejemplo en iteraciones posteriores se necesitará mucho menos tiempo para la planeación y requerimientos que en las primeras.

Un poquito más

 Rational Unified Process

Este provee una aproximación disciplinada a la asignación de tareas y responsabilidades en una organización de desarrollo de software. Su meta es asegurar la producción de software de alta calidad que cumpla con tiempo y costo de la mejor manera.

Se divide en cuatro etapas.

  • Concepción. Es como planear la viabilidad del proyecto
  • Elaboración. Proveer una línea base para el desarrollo del sistema
  • Contrucción. Completar el desarrollo del sistema de acuerdo a la base
  • Transición. Asegurar que el software será disponible para usuarios finales

En el RUP la calidad se mide por diversos factores:

  • Código ejecutable instalable
  • Artefactos no ejecutables instalables
  • Artefactos no ejecutables y no instalables

  eXtreme Programming

De mis favoritas, es una metodología ligera generalmente utilizada en desarrollos de software libre, equipos pequeños y descentralizados.

Los fundamentos:

  • Escribir unidades de prueba antes de programar y mantener las pruebas accesibles en todo momento
  • Integrar el sistema continuamente
  • Programar en pares (lo que no ve uno lo ve el otro)
  • Iniciar el proyecto de manera sencilla y evolucionar
  • Realizar entregas (releases) periodicamente

XP valora la comunicación, simplicidad, realimentación y disposición del equipo.

Referencia y otra

He leido que en España se usa mucho una llama V3 pero por la universidad no tuve tiempo de documentarme. Posteriormente propondré una metodología para trabajar con un proyecto y así ir publicando acerca de su realización.

2 comentarios

  1. Pues yo estaba pensando que posiblementee .. eh qe dijistee! hasta crees que iva a escribir un comentario encerio =P jajajaja ntc xD
    Nomas ando de metiche aqui y no agarro esto como fotolog ok? nomas qe sta largoo y pss mejor primero posteo xD
    te qello! (: =*
    i ia! :)


  2. hey solo queria decirles que esta completa pero queria saber del nacimiento desarrollo cresimiento y muerte solo sobre esas 4 etapas bueno bye


Deja un comentario