Está en la página 1de 42

1

PROCESO PROCESO DE
UNIFICADO DESARROLLO DE
SOFTWARE

Es un proceso de Conjunto de
desarrollo de actividades
software necesarias para
transformar los
requisitos de un
usuario en un
sistema software

2
PROCESO UNIFICADO
PROCESO UNIFICADO

3
PROCESO UNIFICADO
PROCESO UNIFICADO
Está basado en componentes, lo cual quiere decir
que el sistema software en construcción está
formado por componentes software interconectados
a través de interfaces bien definidas

Utiliza Lenguaje Unificado de


Modelado (UML) para preparar
todos los esquemas de un sistema
software.

4
PROCESO
PROCESOUNIFICADO
UNIFICADO

Dirigido por Centrado en


casos de uso la
arquitectura

Iterativo e
incremental

Los verdaderos aspectos definitorios del Proceso Unificado


se resumen en 3 frases claves

5
Centrado
en la
arquitect
ura
PROCESO
PROCESOUNIFICADO
UNIFICADO
Iterativo
e
incremental Dirigido por
casos de uso
Dirigido
por casos
de uso

USUARIO

Alguien o algo como otro sistema fuera del


sistema en consideración que interactúa
con el sistema que estamos desarrollando
6
Centrado
en la
arquitect
ura
PROCESO
PROCESOUNIFICADO
UNIFICADO
Iterativo
e
incremental Dirigido por
casos de uso
Dirigido
por casos
de uso

7
Centrado
en la
arquitect
ura
PROCESO
PROCESOUNIFICADO
UNIFICADO
Iterativo
e
incremental Dirigido por
casos de uso
Dirigido
por casos
de uso

CAPTURA DE REQUISITOS:
 cuál es el problema?
ANÁLISIS:
 qué debe hacerse? qué sistema debemos construir?
DISEÑO:
 cómo podemos solucionar el problema?
CODIFICACIÓN:
 trasladar el diseño a programas...
PRUEBAS:
 ... que funcionen...
IMPLANTACIÓN:
 ... en un entorno productivo ...
MANTENIMIENTO:
 ... y que pueden estar sujetos a posibles modificaciones o mejoras posteriores!
8
Centrado
en la
arquitect
ura
PROCESO
PROCESOUNIFICADO
UNIFICADO
Iterativo
e
incremental Dirigido por
casos de uso
Dirigido
por casos
de uso

9
Centrado
en la
arquitect
ura
PROCESO
PROCESOUNIFICADO
UNIFICADO
Iterativo
e
incremental Dirigido por
casos de uso
Dirigido
por casos
de uso

CASOS DE USO
 Es un fragmento de funcionalidad del sistema que
proporciona el usuario un resultado importante
 Representan los requisitos funcionales
 Todos los casos de uso juntos representan un modelo de casos
de uso el cual describe la funcionalidad total del sistema

¿ Que debe hacer el sistema para cada usuario?


Pensar en términos de importancia para el usuario 10
Centrado
en la
arquitect
ura
PROCESO
PROCESOUNIFICADO
UNIFICADO
Iterativo
e
incremental Dirigido por
casos de uso
Dirigido
por casos
de uso

CASOS DE USO
Los casos de uso no son solo una herramienta para especificar
los requisitos de un sistema.
GUÍAN EL PROCESO DE DESARROLLO

IMPLEMENTACIÓN

SU DISEÑO PRUEBA

TAMBIÉN
GUÍAN
11
Centrado
en la
arquitect
ura
PROCESO UNIFICADO
Iterativo
e
incremental Dirigido por
casos de uso
Dirigido
por casos
de uso

CASOS DE USO
Los ingenieros de
Desarrolladores
prueba

Prueban la implementación
Basándose en casos de uso crean para garantizar que los
una serie de modelos de diseño e componentes del modelo de
implementación que lleva a cabo implementación
los casos de uso y revisan cada uno implementan correctamente
de los sucesivos modelos para que los casos de uso, es decir
sean conformes al modelo de casos construyen sus casos de prueba
de uso. a partir de los casos de uso
12
Centrado
en la
arquitect
ura
PROCESO
PROCESOUNIFICADO
UNIFICADO
Iterativo
e
incremental Dirigido por
casos de uso
Dirigido
por casos
de uso

CASOS DE USO

 Inician el proceso de desarrollo


 Guían el proceso de desarrollo
 Se desarrollan a la vez que la arquitectura
del sistema y esta influye en la selección
de los casos de uso
13
Dirigido

PROCESO
PROCESOUNIFICADO
por casos
de uso

Iterativo
e
UNIFICADO
incremental
Centrado en la
arquitectura
Centrado en
la
arquitectura

ARQUITECTURA SOFTWARE

La arquitectura software es parecido


al papel que juega la arquitectura en
la construcción de edificios, ya que
permite al constructor ver la imagen
completa antes de que comience la
construcción

14
Dirigido

PROCESO
PROCESOUNIFICADO
por casos
de uso

Iterativo
e
UNIFICADO
incremental
Centrado en la
arquitectura
Centrado en
la
arquitectura

ARQUITECTURA SOFTWARE

15
Dirigido

PROCESO
PROCESOUNIFICADO
por casos
de uso

Iterativo
e
UNIFICADO
incremental
Centrado en la
arquitectura
Centrado en
la
arquitectura

ARQUITECTURA SOFTWARE
 Incluye los aspectos estáticos y dinámicos más
significativos
 Siguiere las necesidades de la empresa, como las
perciben los usuarios y los inversores y se refleja
en los casos de uso
 Es una vista del diseño completo con las
características más importantes resaltadas,
dejando los detalles de lado 16
Dirigido

PROCESO
PROCESOUNIFICADO
por casos
de uso

Iterativo
e
UNIFICADO
incremental
Centrado en la
arquitectura
Centrado en
la
arquitectura

ARQUITECTURA SOFTWARE
 Se ve influida por muchos factores como:

 La plataforma en que tiene que funcionar el


software
 Los bloques de construcción de que se dispone
consideraciones de implantación
 Sistemas heredados y requisitos no
funcionales 17
Dirigido

PROCESO
PROCESOUNIFICADO
por casos
de uso

Iterativo
e
UNIFICADO
incremental
Centrado en la
arquitectura
Centrado en
la
arquitectura

ARQUITECTURA SOFTWARE
El valor de una arquitectura depende de las
personas que se hayan responsabilizado de
su creación este proceso ayuda al
arquitecto a centrarse en los objetivos
adecuados, como la:
Comprensibilidad
La capacidad de adaptación al cambio
La reutilización 18
Dirigido

PROCESO
PROCESOUNIFICADO
por casos
de uso

Iterativo
e
UNIFICADO
incremental
Centrado en la
arquitectura
Centrado en
la
arquitectura

ARQUITECTURA SOFTWARE
ARQUITECTURA CASOS DE USO
y
 Cada uno tiene una función y una forma
 Ninguna es suficiente por sí misma
 Las dos deben equilibrarse
 Debe existir interacción entre ellos
 Los casos de uso deben encajar en la arquitectura cuando se
llevan a cabo y por otro lado la arquitectura debe permitir el
desarrollo de todos los casos de uso requeridos ahora y en el
futuro
 Deben evolucionar en paralelo 19
Dirigido

PROCESO
PROCESOUNIFICADO
por casos
de uso

Iterativo
e
UNIFICADO
incremental
Centrado en la
arquitectura
Centrado en
la
arquitectura

ARQUITECTURA SOFTWARE
De manera resumida podemos decir que el arquitecto:
 Crea un esquema de borrador de la arquitectura, comenzando por
la parte de la arquitectura que no es específica de los casos de uso.
Aun que esta parte de la arquitectura es independiente de los casos
de uso, el arquitecto debe poseer una comprensión general de los
casos de uso antes de comenzar la creación del esquina
arquitectónico
 A continuación , el arquitecto trabaja con un subsistema de los
casos de uso especificados, con aquellos que representen las
funciones clave del sistema en desarrollo. Cada caso de uso
seleccionado se especifica en detalle y se realiza en términos de
subsistemas
20
ESTE PROCESO CONTINÚA HASTA QUE SE CONSIDERE QUE LA ARQUITECTURA ES ESTABLE
Centrado
Dirigido en la

PROCESO
PROCESOUNIFICADO
por casos arquitectu
de uso ra

UNIFICADO
Iterativo e
incremental
Iterativo e
incremental

ITERACIONES
Es práctico dividir el esfuerzo de desarrollo de un
proyecto de software en partes mas pequeñas o mini
proyectos.

Cada mini proyecto es una iteración que resulta en


un incremento.

Las iteraciones hace referencia a pasos en el flujo de trabajo, y los


incrementos a crecimientos en el producto.

Las iteraciones deben estar controladas. Esto significa que deben


seleccionarse y ejecutarse de una forma planificada.
21
Centrado
Dirigido en la

PROCESO
PROCESOUNIFICADO
por casos arquitectu
de uso ra

UNIFICADO
Iterativo e
incremental
Iterativo e
incremental

ITERACIONES
Los desarrolladores basan la selección de lo que implementarán
en cada iteración en dos cosas:
• La iteración trata en grupo de casos de
1
uso que juntos amplían la utilidad del
producto desarrollado hasta ahora

• La iteración trata los


2 riesgos más importantes

22
Centrado
Dirigido en la

PROCESO
PROCESOUNIFICADO
por casos arquitectu
de uso ra

UNIFICADO
Iterativo e
incremental
Iterativo e
incremental

ITERACIONES
En cada iteración los desarrolladores identifican y
especifican los casos de uso relevantes, crean un
diseño utilizando la arquitectura seleccionada
como guía, para implementar dichos casos de uso.
Si la iteración cumple sus objetivos, se continúa con
la próxima. Sino deben revisarse las decisiones
previas y probar un nuevo enfoque.
23
Centrado
Dirigido en la

PROCESO
PROCESOUNIFICADO
por casos arquitectu
de uso ra

UNIFICADO
Iterativo e
incremental
Iterativo e
incremental

ITERACIONES
Las actividades se encadenan en una mini-cascada con un alcance limitado
por los objetivos de la iteración

24
Centrado
Dirigido en la

PROCESO
PROCESOUNIFICADO
por casos arquitectu
de uso ra

UNIFICADO
Iterativo e
incremental
Iterativo e
incremental

ITERACIONES
 Captura de requisitos:
Modelo de casos de uso, Modelo de Dominio, ...
 Análisis:
Diagrama de secuencia del sistema, Contratos,
Modelo Conceptual...
 Diseño:
Diagramas de interacción, Diagrama de Clases
 Implementación:
Código fuente (Clases y métodos)
 Pruebas:
verificación de la implementación 25
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
ITERACIÓN Y ENTREGAS

 Captura de requisitos:
Modelo de casos de uso, Modelo de Dominio, ...
 Análisis:
Diagrama de secuencia del sistema, Contratos,
Modelo Conceptual...
 Diseño:
Diagramas de interacción, Diagrama de Clases
 Implementación:
Código fuente (Clases y métodos)
 Pruebas:
verificación de la implementación

26
Centrado
Dirigido en la

PROCESO
PROCESOUNIFICADO
por casos arquitectu
de uso ra

UNIFICADO
Iterativo e
incremental
Iterativo e
incremental

ITERACIONES
BENEFICIOS DEL ENFOQUE ITERATIVO
 La iteración controlada reduce el riesgo a los costes de un solo
incremento.
 Reduce el riesgo de retrasos en el calendario atacando los
riesgos mas importantes primero.
 Acelera el desarrollo. Los trabajadores trabajan de manera
más eficiente al obtener resultados a corto plazo.
 Tiene un enfoque más realista al reconocer que los requisitos
no pueden definirse completamente al principio.
27
Centrado
Dirigido en la

PROCESO
PROCESOUNIFICADO
por casos arquitectu
de uso ra

UNIFICADO
Iterativo e
incremental
Iterativo e
incremental

ITERACIONES
RECOMENDACIONES
Utilizar iteraciones cortas de 2 a 4 semanas incrementa la
productividad del proyecto, dado que el equipo trabaja de forma más
eficiente cuando tiene objetivos a corto plazo. Así mismo, con
iteraciones cortas la precisión de las estimaciones aumenta. El
tamaño depende de:
Los condicionantes del proyecto.
La necesidad de tener feedback más o menos rápido.
Que no se degrade la relación trabajo útil / gestión operativa (por
ejemplo reuniones, actividades necesarias que no producen valor
directo, etc.).
Utilizar iteraciones regulares, de manera que todas sean un timebox de
28
la misma duración.
Centrado
Dirigido en la

PROCESO
PROCESOUNIFICADO
por casos arquitectu
de uso ra

UNIFICADO
Iterativo e
incremental
Iterativo e
incremental

ITERACIONES
RECOMENDACIONES

El equipo aprende a calcular la velocidad de desarrollo, la


cantidad de trabajo que puede hacer en una iteración (sin
tener que hacer extrapolaciones si las iteraciones no fuesen
regulares).
El cliente puede proyectar cuantas iteraciones se
necesitan para tener cada entrega, en función de la
velocidad de desarrollo del equipo (el trabajo que pudo
completar en iteraciones anteriores del mismo tamaño), y
tomar decisiones al respecto.
29
Dirigido
por casos
de uso
Centrado
en la
arquitectu
ra
PROCESO
PROCESOUNIFICADO
UNIFICADO
Iterativo e
incremental
Iterativo e
incremental

ITERACIONES
RECOMENDACIONES
Permite gestionar y sincronizar de manera sencilla las
necesidades del proyecto con respecto a las de otros
proyectos (integración con el trabajo realizado por otros
equipos, compartición de personas que son difíciles de asignar
a un único equipo).
Las iteraciones coincidiendo con mese naturales permiten
sincronizar el trabajo del equipo con el de otros departamentos
y con el resto de la organización (por ejemplo, la organización
puede tener medidas de resultados y objetivos a nivel
trimestral o cuatrimestral). 30
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
El Proceso Unificado se repite a lo largo de una serie de ciclos que
constituyen la vida de un sistema. Cada ciclo constituye una versión del
sistema.
FASES
Cada ciclo constas de cuatro fases: inicio, elaboración, construcción, y
transición.

31
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
EL PRODUCTO
 Cada ciclo produce una nueva versión del sistema, y
casa versión es un producto preparado para su entrega.
 Consta de un cuerpo de código fuente incluido en
componentes que puede compilarse y ejecutarse,
además de manuales y otros productos asociados
 Debe ajustarse a las necesidades de los usuarios es
decir de toda la gente que trabajará con el producto.
 El producto terminado incluye los requisitos, casos de
uso, especificaciones no funcionales y casos de prueba
 Incluye un modelo de prueba y el modelo visual 32
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
FASES DENTRO DE UN CICLO
Cada fase se subdivide en iteraciones.
En cada iteración se desarrolla en secuencia un conjunto de disciplinas
o flujos de trabajos.

33
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
FASES DENTRO DE UN CICLO
HITOS
Cada fase finaliza con 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.
Los hitos tienen muchos objetivos. El más crítico es que los
directores deben tomar ciertas decisiones antes de que el
trabajo continúe con la siguiente fase.
Los hitos también permiten controlar la dirección y progreso
del trabajo.
Al final se obtiene un conjunto de datos a partir del
seguimiento del tiempo y esfuerzo consumidos en cada fase.
Estos datos son útiles para la estimaciones en futuros
proyectos. 34
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
FASES DENTRO DE UN CICLO
FASE DE INICIO
Durante la fase de inicio se desarrolla una descripción del producto
final, y se presenta el análisis del negocio. Esta fase responde las
siguientes preguntas:
 ¿Cuáles son las principales funciones del sistema para los usuarios mas
importantes?
 ¿Cómo podría ser la mejor arquitectura del sistema?
 ¿Cuál es el plan del proyecto y cuanto costará desarrollar el producto?
En esta fase se identifican y priorizan los riesgos mas importantes.
El objetivo de esta fase es ayudar al equipo de proyecto a decidir cuales son
los verdaderos objetivos del proyecto. Las iteraciones exploran diferentes
soluciones posibles, y diferentes arquitecturas posibles.
Puede que todo el trabajo físico realizado en esta fase sea descartado. Lo
único que normalmente sobrevive a la fase de inicio es el incremento del
conocimiento en el equipo.
35
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
FASES DENTRO DE UN CICLO
FASE DE INICIO

Los artefactos que típicamente sobreviven a esta fase son:


- Un enunciado de los mayores requerimientos planteados
generalmente como casos de uso.
- Un boceto inicial de la arquitectura.
- Una descripción de los objetivos del proyecto.
- Una versión muy preliminar del plan del proyecto.
- Un modelo del negocio.
La fase de inicio finaliza con el Hito de Objetivos del Ciclo de Vida.
Este hito es alcanzado cuando el equipo de proyectos y los stakeholders
llegan a un acuerdo sobre:
- Cuál es el conjunto de necesidades del negocio, y que conjunto de
funciones satisfacen estas necesidades.
- Una planificación preliminar de iteraciones.
- Una arquitectura preliminar.
36
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
FASES DENTRO DE UN CICLO
FASE DE INICIO

Debe poder responderse las siguientes cuestiones:


- ¿Se ha determinado con claridad el ámbito del sistema? ¿Se ha
determinado lo que
va a estar dentro del sistema y fuera de el sistema?
- ¿Se ha llegado a un acuerdo con todas las personas involucradas
(stakeholders)
sobre los requisitos funcionales del sistema?
- ¿Se vislumbra una arquitectura que pueda soportar estas características?
- ¿Se identifican los riesgos críticos? ¿Se prevé forma de mitigarlos?
- ¿El uso del producto justifica la relación costo-beneficio?
- ¿Es factible para su organización llevar adelante el proyecto?
- ¿Están los inversores de acuerdo con los objetivos?

37
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
FASES DENTRO DE UN CICLO
FASE DE ELABORACIÓN

Durante la fase de elaboración se especifican en detalle la mayoría de


los casos de uso del producto y se diseña la arquitectura.
Las iteraciones en la fase de elaboración:
- Establecen una firme comprensión del problema a solucionar.
- Establece la fundación arquitectural para el software.
- Establece un plan detallado para las siguientes iteraciones.
- Elimina los mayores riesgos.
El resultado de esta fase es la línea base de la arquitectura.
En esta fase se construyen típicamente los siguientes artefactos:
- El cuerpo básico del sw en la forma de un prototipo arquitectural.
- Casos de prueba
- La mayoría de los casos de uso (80%) que describen la funcionalidad del
sistema.
- Un plan detallado para las siguientes iteraciones.
38
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
FASES DENTRO DE UN CICLO
FASE DE ELABORACIÓN

La fase de elaboración finaliza con el hito de la Arquitectura del Ciclo de Vida.


Este hito se alcanza cuando el equipo de desarrollo y los stakeholders llegan a un
acuerdo sobre:
- Los casos de uso que describen la funcionalidad del sistema.
- La línea base de la arquitectura
- Los mayores riesgos han sido mitigados
- El plan del proyecto
Al alcanzar este hito debe poder responderse a preguntas como:
- ¿Se ha creado una línea base de la arquitectura? ¿Es adaptable y robusta?
¿Puede evolucionar?
- ¿Se han identificado y mitigado los riesgos más graves?
- ¿Se ha desarrollado un plan del proyecto hasta el nivel necesario para respaldar
una agenda, costes, y calidad realistas?
- ¿Proporciona el proyecto, una adecuada recuperación de la inversión?
- ¿Se ha obtenido la aprobación de los inversores?
39
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO
DISCIPLINAS
Cada disciplina es un conjunto de actividades relacionadas (flujos de trabajo)
vinculadas a un área específica dentro del proyecto total. Las más importantes
son:
Requerimientos, Análisis, Diseño, Codificación, y Prueba.
El agrupamiento de actividades en disciplinas es principalmente una ayuda para
comprender el proyecto desde la visión tradicional en cascada.

40
LA
LAVIDA
VIDAPROCESO
PROCESOUNIFICADO
UNIFICADO

41
BIBLIOGRAFÍA
 Libro: El proceso Unificado de Desarrollo de Software de Ivar Jcobson, Grandy
booch, James Rumbaugh
 http://adimen.si.ehu.es/~rigau/teaching/EHU/ISHAS/Curs2008-
2009/Apunts/IS.2.pdf
 http://www.proyectosagiles.org/desarrollo-iterativo-incremental
 http://www.ecomchaco.com.ar/UTN/disenodesistemas/apuntes/oo/ApunteR
UP.pdf
 http://kybele.escet.urjc.es/Documentos/ISI/Proceso%20Unificado%20I
%20%282006%29.pdf
 http://gabrielpizarro.files.wordpress.com/2008/07/uml_logopatterns.jpg
 http://dc.exa.unrc.edu.ar/nuevodc/materias/sistemas/2007/TEORICOS/TEO
RIA_6_PU_CR_2007.pdf
 http://www.unibe.edu.do/carreras/tic/ingenieria.pdf

42

También podría gustarte