Está en la página 1de 15

Proceso Unificado de Desarrollo de Software

Visin general
Es un conjunto de actividades necesarias para transformar los requisitos del
usuario en un sistema software.

Es un marco genrico que puede especializarse para una variedad de tipos


de sistemas, diferentes reas de aplicacin, tipos de organizaciones, niveles
de aptitud y diferentes tamaos de proyectos.

Est basado en componentes. El SW est formado por componentes software


interconectados a travs de interfaces.

Esta dirigido por casos de uso, centrados en la arquitectura y es iterativo e


incremental.

Dirigido por casos de uso


Un caso de uso es un fragmento de funcionalidad del sistema que
proporciona un resultado de valor a un usuario.

Todos los casos de uso de un sistema constituyen un modelo de caso de uso.

Los casos de uso guan el proceso de desarrollo de un sistema (diseo,


implementacin y prueba).

Centrado en la arquitectura
La arquitectura de un software se describe mediante diferentes vistas del
sistema de construccin. Incluye los aspectos estticos y dinmicos ms
significativos del sistema.

La arquitectura de un sistema se define como un conjunto de decisiones


significativas acerca de la organizacin de un sistema software, la seleccin
de los elementos estructurales a partir de los cuales se compone el sistema,
las interfaces, su comportamiento, sus colaboraciones y su composicin.

Iterativo e incremental
Es prctico dividir el desarrollo de un proyecto de software en partes
pequeas (miniproyectos). Cada mini proyecto es una iteracin que resulta
en un incremento.
Las iteraciones hacen referencia a pasos en el flujo de trabajo y los
incrementos a crecimientos del producto.

Las iteraciones deben ser controladas, deben seleccionarse y ejecutarse de


una forma planificada.

El ciclo de vida del proceso unificado


El ciclo de vida del proceso unificado se divide en 4 fases:

1. Inicio: Define el alcance del proyecto


2. Elaboracin: planificar el proyecto, elaborar una arquitectura base.
3. Construccin: construir el sistema
4. Transicin: transicin a los usuarios

Cada fase se divide en iteraciones y en cada iteracin se desarrollo en


secuencia un conjunto de disciplinas o flujos de trabajos, las cuales son:

Disciplinas ms importantes:

Modelado de Negocio
Requerimientos
Analisis y Diseo
Codificacin
Prueba
Instalacin

Disciplinas de soporte:

Adm. Configuracin y cambios


Adm. De Proyecto
Ambiente

Cada disciplina est asociada a un conjunto de modelos que se desarrollan.


Estos modelos estn compuestos por artefactos. Los artefactos ms
importantes son los modelos de cada disciplina realiza.

DISCIPLINA MODELOS
Requisitos Modelo de casos de uso
Anlisis Modelo de anlisis
Diseo Modelos de Diseo Modelo de despliegue
Implementacin Modelo de implementacin
Prueba Modelo de prueba
Hito

Cada fase finaliza en un hito. Cada hito se determina por la


disponibilidad de un conjunto de artefactos, es decir un conjunto
de modelos o documentos que han sido desarrollados hasta
alcanzar un estado predefinido.

Descripcin de Fases
Fase de Inicio
Durante esta fase se desarrolla una descripcin del producto final y se
presenta el anlisis del negocio. Esta fase responde a las siguientes preguntas:

Cules son las principales funciones del sistema para los usuarios ms
importantes?
Cmo podra ser la mejor arquitectura?
Cul es el plan del proyecto y cuanto costar desarrollar el producto?

En esta fase se identifican y priorizan los riesgos ms importantes.

Los artefactos que sobreviven en esta fase son:

Un enunciado de los mayores requerimientos planteados generalmente


como casos de uso.
Un boceto inicial de la arquitectura.
Una descripcin de los objetivos del proyecto.
Una versin muy preliminar del plan del proyecto.
Un modelo del negocio.

Esta fase finaliza con el hito de objetivos del ciclo de vida.

Fase de elaboracin
Aqu se especifican en detalle la mayora de los casos de uso y se disea la
arquitectura.

Las iteraciones en esta fase son:

Establecen una firme comprensin del problema a solucionar


Establecen la fundacin arquitectural para el software
Establece un plan detallado para las siguientes iteraciones
Elimina los mayores riesgos

El resultado de esta fase es la lnea base de la arquitectura.

En esta fase se construyen los siguientes artefactos:

El cuerpo bsico del sw en la forma de un prototipo arquitectural


Casos de prueba
La mayora de los casos de uso (80%) que describen la funcionalidad
del sistema
Un plan detallado para las siguientes iteraciones

Esta fase finaliza con el hito de la arquitectura del ciclo de vida.

Fase de construccin
Durante esta fase se crea el producto. La lnea base arquitectural crece
hasta convertirse en el sistema completo.

Los artefactos producidos durante esta fase son:

El sistema software
Los casos de prueba
Los manuales de usuario

Esta fase finaliza con el hito de capacidad operativa inicial.

Fase de transicin
Esta fase cubre el periodo durante el cual el producto se convierte en la
versin beta.

Las iteraciones en esta fase continan agregando caractersticas al sw. Sin


embargo estas caractersticas se agregan a un sistema que el usuario ya se
encuentra utilizando.

Los artefactos construidos durante esta fase son los mismos que en la fase de
construccin.

Esta fase finaliza con el hito de lanzamiento del producto.


Un Proceso dirigido por casos de uso
Un caso de uso es una descripcin de los pasos o las actividades que
debern realizarse para llevar a cabo algn proceso. Los personajes o
entidades que participarn en un caso de uso se denominan actores.

En el contexto de ingeniera del software, un caso de uso es una secuencia


de interacciones que se desarrollarn entre un sistema y sus actores en
respuesta a un evento que inicia un actor principal sobre el propio sistema.

Los diagramas de casos de uso sirven para especificar la comunicacin y el


comportamiento de un sistema mediante su interaccin con los usuarios y/u
otros sistemas. O lo que es igual, un diagrama que muestra la relacin entre
los actores y los casos de uso en un sistema.

Una relacin es una conexin entre los elementos del modelo, por ejemplo la
especializacin y la generalizacin son relaciones. Los diagramas de casos de
uso se utilizan para ilustrar los requerimientos del sistema al mostrar cmo
reacciona a eventos que se producen en su mbito o en l mismo.

Un caso de uso es un fragmento de funcionalidad del sistema que


proporciona un resultado de valor a un usuario. Los casos de uso modelan los
requerimientos funcionales del sistema.

El modelo de casos de
uso representa los
requisitos funcionales
La primer disciplina que se
desarrolla en cada iteracin
es la de los requerimientos. Los
requerimientos del sistema son
plasmados a travs de casos
de uso en un Modelo de
Casos de Uso.

Ejemplo de un Modelo de casos de


uso de un sistema Cajero Automtico.
Para cada caso de uso debe especificarse sus caminos o secuencias de
acciones posibles:

Ejemplo: secuencia de acciones para un camino del uso de sacar dinero.

- El cliente del banco se identifica.


- El cliente elige de que cuenta sacar dinero y especifica la cantidad
- El sistema deduce la cantidad de la cuenta y entrega el dinero

Los casos de uso tambin se utilizan como contenedores para los requisitos
no funcionales.

Creacin de un modelo de anlisis a partir de los casos de uso


El modelo de anlisis es opcional. En este modelo se describen un conjunto
de clases del anlisis que se utiliza para realizar una descripcin abstracta de
la realizacin de los casos de uso de un modelo de casos de uso.

Este modelo crece a medida que se analizan ms y ms casos de uso.

Ejemplo de la realizacin de un caso de uso en el modelo de anlisis.


Una clase puede participar en varias realizaciones.

Durante el analisis se utilizan diagramas de colaboracin para describir la


realizacin de un caso de uso.

Cada clase debe cumplir todos los roles de colaboracion: las


responsabilidades de una clase son la recopilacin de todos los roles que
cumple en todas las realizaciones de casos de uso.

Creacin del modelo de diseo a partir del modelo de analisis


El modelo de diseo se crea tomando el modelo de analisis como entrada
principal, y se lo adapta a un entorno de implementacion particular.

Este modelo incluye clasificadores, relaciones y realizaciones de casos de uso


y existe una relacion de traza entre cada artefacto de diseo que debe
adecuarse al entorno de implementacin especfico.

Loas clases del diseo refinan las clases del analisis.

En el modelo de diseo debemos identificar la interaccin detallada entre los


objetos de diseo que tiene lugar en la realizacin del caso de uso.
Utilizaremos diagramas de secuencia para representar esta inteaccin.

Diagram de secuencia que representa el caso de uso Sacar dinero en el modelo de diseo.
Agrupacin de clases en subsistemas
Un subsistema es un agrupamiento semnticamente til de clases o de otros
subsistemas.

Los subsistemas de bajo nivel se denominan subsistemas de servicio. Estos


subsistemas constituyen una unidad manejable de funcionalidad opcional.

Los subsistemas pueden disearse en forma descendente o ascendente.

El ascendente se realiza a partir de la agrupacin de clases ya identificadas.


El descendente implica la definicin previa de los sistemas de ms alto nivel y
las interfaces entre ellos, antes de que se hayan identificado las clases.

Ejemplo:

<<subsystem>> Interfaz del CA: agrupa todas las clases que proporciona la
interfaz grfica del CA:

Lector de tarjetas
Dispositivo de visualizacin
Teclado
Alimentador de la salida
Sensor de salida
Contador de efectivo
Gestor de cliente

<<subsystem>> Gestin de transacciones

o Gestion de transacciones
o <<service subsystem>> Gestin de retirada de efectivo
Retirada de efectivo

<<subsystem>> Gestin de cuentas

o Clase persistente
o Gestor de Cuentas
o Cuenta

Colocar todas la clases de interfaz en un subsistema permitira reemplazar el


subsistema completo para adecuerlo a otra interfaz sin mayores cambios en
el resto del sistema.
Los subsistemas implementan interfaces. Las interfaces se representan por un
circulo vinculado con una lnea de trazo continuo a la clase dentro del
subsistema que proporciona la interfaz.

Creacin del modelo de implementacin a partir del modelo de diseo.

Este modelo esta conformado por componentes, que incluyen los


ejecutables (activex, javabeans,.exe, etc ) y otro tipo de componentes como
los componentes de fichero (cdigo fuente, shell scripts, etc.), componentes
de tabla (bases de datos), etc.

Un componente se define como una parte fsica y reemplazable del sistema


que cumple y proporciona la relalizacin de un conjunto de interfaces.

Ejemplo de componentes en una clase de diseo


Prueba de casos de uso
Verificar que el sistema implementa correctamente su especificacin.

El modelo de prueba esta compuesto por casos de prueba y procedimientos


de prueba.

Un caso de prueba es un conjunto de entradas de prueba, condiciones de


ejecucin y resultados esperados, desarrollados por un objetivo concreto, tal
como probar un camino concreto a travs de un caso de uso o verificar que
cumple un requisito especfico.

Un procedimiento de prueba es la especificacin de cmo llevar a cabo la


preparacin, ejecucin, y evaluacin de los resultados de un caso de prueba
particular.

Ejemplo:

Un caso de prueba especifica la entrada, los resultados esperados y otras


condiciones relevantes para verificar el flujo bsico del caso de uso Sacar
Dinero.

Entradas:

- La cuenta 12-121-1211 del cliente de banco tiene un saldo de $ 350


- El cliente del banco se identifica correctamente
- El cliente del banco solicita la retirada de $ 200 de la cuenta 12-121-
1211
- Hay suficiente dinero en el cajero automtico

Resultados:

- El saldo de la cuenta 12-121-1211 disminuye a $ 150


- El cliente del banco recibe $ 200 del cajero automatico

Condiciones:

- No se permite que ningun otro caso de uso (instancias de) acceda a la


cuenta 12-121-1211 durante la ejecucin del caso de prueba.

Un proceso centrado en la arquitectura

Importancia y necesidad de una arquitectura

Se necesita uan arquitectura para:


- Comprender el sistema
- Organizar el desarrollo
- Fomentar la reutilizacin
- Hacer evolucionar el sistema

Desarrollo de la arquitectura
Se desarrolla mediante iteraciones, principalmente en la etapa de
elaboracin.

El resultado de la fase de elaboracin es la lnea de la arquitectura.

Los casos de uso son relevantes para la arquitectura.

Al final de la fase de elaboracin hemos desarrollado modelos del sistema


que representan los casos de uso ms importantes y sus realizaciones desde
el punto de vista de la arquitectura.

Esta agregacin de modelos es la lnea base de la arquitectura. Es un sistema


pequeo y delgado. Tiene las versiones de todos los modelos que un sistema
terminado contiene al final de la fase de cnstruccin. Incluye el mismo
esqueleto de subsistemas, componentes y nodos de un sistsme definitivo,
pero no existe toda la musculatura. Es un sistema ejecutable.

Descripicin de la arquitectura.
La lnea base de la arquitectura es la versin interna del sistema al final de la
fase de elaboracin. El conjunto de modelos que describen esta lnea base
se denomina Descripcin de la Arquitectura y su objetivo es guar al equipo
de desarrollo a travs del ciclo de vida del sistema.

La descripcin puede ser un extracto de modelos o una reescritura de los


extractos de forma que se ms fcil leerlos.

La descripcin de la arquitectura tiene cinco secciones: una vista del modelo


de casos de uso, una del modelo de analisis (opcional/descartable), una
vista del modelo diseo, una vista del modelos despliegue y una vista del
modelo de implementacin.

Vista de la arquitectura del modelo de casos de uso

Presenta los actores y casos de uso ms importantes.

Ejemplo:
El el CA el caso de uso ms importante es Sacar Dindero, sin l no tendra
sentido el CA. Para definir la arquitectura por tanto, se sugiere que el caso de
uso sacar dinero se implemente en su totalidad durante la fase de
elaboracin.

Vista de la arquitectura del modelo de diseo


Presenta los clasificadores ms importantes para la arquitectura
pertenecientes al modelo de diseo: los subsistemas e interfaces ms
importantes, as como algunas clases muy importantes, fundamentalmente
clases activas.

Tambien presentan como se realizar los casos de uso en trminos de esos


clasificadores.

Vista de la arquitectura del modelo de despliegue


Presenta los nodos interconectados y las clases activas que se ejecutan en
ellos identificados durante el diseo. Esto puedo mostrarse por diagramas de
despliegue.

Ejemplo:

Vista de la arquitectura de despliegue CA.

Se incluyen los siguientes nodos y objetos activos:

- Nodo: cliente CA Objeto activo: Gestor de clientes


- Nodo: Servidor de aplicaciones CA Objeto activo: Gestor de
transacciones
- Nodo: Servidor de datos CA Objeto activo: Gestor de Cuentas
Vista de la arquitectura del modelo de implementacin

Es una correspondencia directa de los modelos diseo y despliegue.

Cada subsistema de servicio del diseo normalmente termina siendo un


componente por cada tipo de nodo en el que deba instalarse.

Un proceso iterativo e incremental


Desarrollo de pequeos pasos

Una clave importante del RUP (Proceso Unificado Rational) consiste en


desarrollar un producto software en pequeos manejables:

- Planificar un poco
- Especificar, disear, e implementar un poco
- Integrar, probar y ejecutar un poco en cada iteracin

Por qu un desarrollo iterativo e incremental?

Para prevenir riesgos crticos


Para poner en marcha una arquitectura que gue el desarrollo del
software
Para gestionar de buena forma los cambios del software
Para construir el sistema a lo largo del tiempo en lugar de una sola vez
cerca del final
Para proporcionar un proceso de desarrollo ms eficaz

La iteracin generica
Una iteracin es un miniproyecto, un recorrido ms o menos completo a lo
largo de todos los flujos de trabajo y que obtiene como resultado una vision
interna del sistema y su desarrollo.

Bibliografa

El proceso unificado de desarrollo software, AUS Gustavo Torossi, pp. 1-20

También podría gustarte