jueves, 10 de noviembre de 2011

PROCESO UNIFICADO DE DESARROLLO

Proceso Unificado de Desarrollo.

El Proceso Unificado de Desarrollo Software o simplemente Proceso Unificado es un marco de desarrollo de software que se caracteriza por estar dirigido por casos de uso, centrado en la arquitectura y por ser iterativo e incremental. El refinamiento más conocido y documentado del Proceso Unificado es el Proceso Unificado de Rational o simplemente RUP.
El Proceso Unificado no es simplemente un proceso, sino un marco de trabajo extensible que puede ser adaptado a organizaciones o proyectos específicos. De la misma forma, el Proceso Unificado de Rational, también es un marco de trabajo extensible, por lo que muchas veces resulta imposible decir si un refinamiento particular del proceso ha sido derivado del Proceso Unificado o del RUP. Por dicho motivo, los dos nombres suelen utilizarse para referirse a un mismo concepto.
El nombre Proceso Unificado se usa para describir el proceso genérico que incluye aquellos elementos que son comunes a la mayoría de los refinamientos existentes. También permite evitar problemas legales ya que Proceso Unificado de Rational o RUP son marcas registradas por IBM (desde su compra de Rational Software Corporation en 2003). El primer libro sobre el tema se denominó, en su versión española, El Proceso Unificado de Desarrollo de Software (ISBN 84-7829-036-2) y fue publicado en 1999 por Ivar Jacobson, Grady Booch y James Rumbaugh, conocidos también por ser los desarrolladores del UML, el Lenguaje Unificado de Modelado. Desde entonces los autores que publican libros sobre el tema y que no están afiliados a Rational utilizan el término Proceso Unificado, mientras que los autores que pertenecen a Rational favorecen el nombre de Proceso Unificado de Rational.

Fases de Desarrollo.

Fase de Inicio.
  • Es la fase más pequeña del proyecto e, idealmente, debe realizarse también en un periodo de tiempo pequeño (una única iteración). 
  • El hecho de llevar a cabo una fase de inicio muy larga indica que se esta realizando una especificación previa excesiva, lo que responde más a un modelo en cascada.
  • Objetivos:   
o   Establecer una justificación para el proyecto.  
o   Establecer el ámbito del proyecto. 
o   Esbozar los casos de uso y los requisitos clave que dirigirán  las decisiones de diseño.
o   Esbozar las arquitecturas candidatas. 
o   Identificar riesgos.
o   Preparar el plan del proyecto y la estimación de costes.
  • El hito de final de fase se conoce como Hito Objetivo del Ciclo de Vida.
Fase de Elaboración.
  • Durante esta fase se capturan la mayoría de los requisitos del sistema.
  • Los objetivos principales de esta fase serán la identificación de riesgos y establecer y validar la arquitectura del sistema.
  • Base de Arquitectura Ejecutable:
·  La arquitectura se valida a través de la implementación de una Base de   Arquitectura Ejecutable: se trata de una implementación parcial del sistema que incluye los componentes principales del mismo.
·   Al final de la fase de elaboración la base de arquitectura ejecutable debe demostrar que soporta los aspectos clave de la funcionalidad del sistema y que muestra la conducta adecuada en términos de rendimiento, escalabilidad  y coste.

  •   Al final de la fase se elabora un plan para la fase de construcción.
  •  El hito arquitectura del ciclo de vida marca el final de la fase.  

Fase de construcción.
  •  Es la fase más larga de proyecto.
  •  El sistema es construido en base a lo especificado en la fase de elaboración.
  •    Las características del sistema se implementan en una serie de iteraciones cortas y limitadas en el tiempo.  
  •    El resultado de cada iteración es una versión ejecutable de software.
  •  El hito de capacidad operativa inicial marca el final de la fase.
Fase de transición.
  • En esta fase el sistema es desplegado para los usuarios finales.
  • La retroalimentación recibida permite incorporar refinamientos al sistema en las sucesivas iteraciones.
  • Esta iteración también cubre el entrenamiento de los usuarios para la utilización del sistema.
  •  El hito de lanzamiento del producto marca el final de la fase.

Disciplinas. 

Modelado del negocio.
  • El objetivo es establecer un canal de comunicación entre los ingenieros del negocio y los ingenieros del software.
  • Los ingenieros del software deben conocer la estructura y dinámica de la organización objetivo (el cliente), los problemas actuales y sus posibles mejoras.
  • Se plasma en la identificación del modelo del dominio en el que se visualizan los aspectos básicos del dominio de aplicación.    

Requisitos.
  • El objetivo es describir que es lo que tiene que hacer el sistema y poner a los desarrolladores y al cliente de acuerdo en esta  descripción.
Análisis y diseño.
  • Describe como el software será realizado en la fase de implementación.
  • Se plasma en un modelo de diseño que consiste en una serie de clases (agrupadas en paquetes y subsistemas) con interfaces bien definidos.
  • También contiene descripciones de cómo los objetos colaboran para realizar las acciones incluidas en los casos de uso.
Implementación.
  • Se implementan las clases y objetos en términos de componentes (ficheros fuentes, binarios, ejecutables, entre otros).
Prueba.
  • Se comprueba que el funcionamiento es correcto analizando diversos aspectos: los objetos como unidades, la integración entre objetos, la implementación de todos los requisitos, entre otros.
Despliegue.
  • Se crea la versión externa del producto, se empaqueta, se distribuye y se instala en el lugar de trabajo. También se da asistencia y ayuda a los usuarios.
Gestión de configuraciones y cambios.
  • Gestiona aspectos como los sistemas de control de versiones.
  •  Controla las peticiones de cambios clasificándolas según su estado (nueva, registrada, aprobada, asignada, completa, entre otros).
  • Los datos se almacenan en una base de datos y se pueden obtener informes periódicos.
  •  Herramientas  como Rational ClearQuest o Bugzilla. 
Gestión del proyecto.
  •   Encargada de definir los planes del proyecto global, los planes de fase y los planes de iteración.
Entorno.
  •   Se centra en las actividades necesarias para configurar el proceso de un proyecto.
  •    El objetivo es proveer a la organización de desarrollo software de un entorno de trabajo (que incluye procedimientos y herramientas) que soporten al equipo de desarrollo.                         
Estructura del Proceso Unificado


 


 Arquitectura lógica de tres capas de una aplicación cliente/servidor



DIRECCIONES ELECTRÓNICAS RELACIONADAS:

es.wikipedia.org/wiki/Proceso_Unificado

VIDEO RELACIONADO:



  Proceso Unificado de Desarrollo










 

No hay comentarios:

Publicar un comentario