el proceso unificado

42

Upload: sofylutqm

Post on 07-Jun-2015

21.434 views

Category:

Education


3 download

DESCRIPTION

dirigido por casos de uso,centrado en la arquitectura, iterativo e incremental

TRANSCRIPT

Page 1: El Proceso Unificado
Page 2: El Proceso Unificado

PROCESO UNIFICADO

Es un proceso de desarrollo de software

Page 3: El Proceso Unificado

PROCESO UNIFICADO

Page 4: El 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 definidasUtiliza Lenguaje Unificado de Modelado (UML) para preparar todos los esquemas de un sistema software.

Page 5: El Proceso Unificado

PROCESO UNIFICADO

Los verdaderos aspectos definitorios del Proceso Unificado se resumen en 3

frases claves

Iterativo e incrementa

l

Dirigido por casos

de uso

Centrado en la

arquitectura

Page 6: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

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

PROCESO UNIFICADO

Page 7: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Dirigido por casos de uso

PROCESO UNIFICADO

Page 8: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Dirigido por casos de uso

PROCESO UNIFICADO

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!

Page 9: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Dirigido por casos de uso

PROCESO UNIFICADO

Page 10: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

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

PROCESO UNIFICADO

Page 11: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Dirigido por casos de uso

CASOS DE USOLos casos de uso no son solo una herramienta para especificar los requisitos de un sistema.

TAMBIÉN GUÍAN

SU DISEÑOIMPLEMENTAC

IÓNPRUEBA

GUÍAN EL PROCESO DE DESARROLLO

PROCESO UNIFICADO

Page 12: El Proceso Unificado

PROCESO UNIFICADO Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Dirigido por casos de uso

CASOS DE USO

Desarrolladores

Basándose en casos de uso crean una serie de modelos de diseño e implementación que lleva a cabo los casos de uso y revisan cada uno de los sucesivos modelos para que sean conformes al modelo de casos de uso.

Page 13: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Dirigido por casos de uso

CASOS DE USO

Inician el proceso de desarrolloGuían el proceso de desarrolloSe desarrollan a la vez que la

arquitectura del sistema y esta influye en la selección de los casos de uso

PROCESO UNIFICADO

Page 14: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Centrado en la arquitectura

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

ARQUITECTURA SOFTWARE

PROCESO UNIFICADO

Page 15: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Centrado en la arquitectura

ARQUITECTURA SOFTWARE

PROCESO UNIFICADO

Page 16: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

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

PROCESO UNIFICADO

Page 17: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Centrado en la arquitectura

ARQUITECTURA SOFTWARESe 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

PROCESO UNIFICADO

Page 18: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

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: ComprensibilidadLa capacidad de adaptación al cambioLa reutilización

PROCESO UNIFICADO

Page 19: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Centrado en la arquitectura

ARQUITECTURA SOFTWARE

ARQUITECTURA CASOS DE USO

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

PROCESO UNIFICADO

y

Page 20: El Proceso Unificado

Iterativo e increment

al

Dirigido

por casos de

uso

Centrado en la

arquitectura

Centrado en la arquitectura

ARQUITECTURA SOFTWAREDe 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 subsistemasESTE PROCESO CONTINÚA HASTA QUE SE CONSIDERE QUE LA

ARQUITECTURA ES ESTABLE

PROCESO UNIFICADO

Page 21: El Proceso Unificado

Iterativo e

incrementa

l

Dirigido

por casos de

uso

Centrado en la

arquitectura

ITERACIONES

Iterativo e increment

al

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.

PROCESO UNIFICADO

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.

Page 22: El Proceso Unificado

Iterativo e

incrementa

l

Dirigido

por casos de

uso

Centrado en la

arquitectura

ITERACIONES

Iterativo e increment

al

Los desarrolladores basan la selección de lo que implementarán en cada iteración en dos cosas:

1• La iteración trata en

grupo de casos de uso que juntos amplían la utilidad del producto desarrollado hasta ahora

2• La iteración trata los

riesgos más importantes

PROCESO UNIFICADO

Page 23: El Proceso Unificado

Iterativo e

incrementa

l

Dirigido

por casos de

uso

Centrado en la

arquitectura

ITERACIONES

Iterativo e increment

al

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.

PROCESO UNIFICADO

Page 24: El Proceso Unificado

Iterativo e

incrementa

l

Dirigido

por casos de

uso

Centrado en la

arquitectura

ITERACIONES

Iterativo e increment

al

PROCESO UNIFICADO

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

Page 25: El Proceso Unificado

Iterativo e

incrementa

l

Dirigido

por casos de

uso

Centrado en la

arquitectura

ITERACIONES

Iterativo e increment

al

PROCESO UNIFICADO

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

Page 26: El Proceso Unificado

LA VIDA PROCESO UNIFICADO

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

ITERACIÓN Y ENTREGAS

Page 27: El Proceso Unificado

Iterativo e

incrementa

l

Dirigido

por casos de

uso

Centrado en la

arquitectura

ITERACIONES

Iterativo e increment

al

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.

BENEFICIOS DEL ENFOQUE ITERATIVO

PROCESO UNIFICADO

Page 28: El Proceso Unificado

Iterativo e

incrementa

l

Dirigido

por casos de

uso

Centrado en la

arquitectura

ITERACIONES

Iterativo e increment

al

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 la misma duración.

RECOMENDACIONES

PROCESO UNIFICADO

Page 29: El Proceso Unificado

Iterativo e

incrementa

l

Dirigido

por casos de

uso

Centrado en la

arquitectura

ITERACIONES

Iterativo e increment

al

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.

RECOMENDACIONES

PROCESO UNIFICADO

Page 30: El Proceso Unificado

PROCESO UNIFICADO Iterativo e

incrementa

l

Dirigido

por casos de

uso

Centrado en la

arquitectura

ITERACIONES

Iterativo e increment

al

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).

RECOMENDACIONES

Page 31: El Proceso Unificado

LA VIDA PROCESO 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.

FASESCada ciclo constas de cuatro fases: inicio, elaboración, construcción, y transición.

Page 32: El Proceso Unificado

LA VIDA PROCESO 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

Page 33: El Proceso Unificado

LA VIDA PROCESO 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.

Page 34: El Proceso Unificado

LA VIDA PROCESO UNIFICADO FASES DENTRO DE UN CICLO

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.

HITOS

Page 35: El Proceso Unificado

LA VIDA PROCESO UNIFICADO FASES DENTRO DE UN CICLO

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.

FASE DE INICIO

Page 36: El Proceso Unificado

LA VIDA PROCESO UNIFICADO FASES DENTRO DE UN CICLO

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.

FASE DE INICIO

Page 37: El Proceso Unificado

LA VIDA PROCESO UNIFICADO FASES DENTRO DE UN CICLO

Debe poder responderse las siguientes cuestiones:- ¿Se ha determinado con claridad el ámbito del sistema? ¿Se ha determinado lo queva 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?

FASE DE INICIO

Page 38: El Proceso Unificado

LA VIDA PROCESO UNIFICADO FASES DENTRO DE UN CICLO

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.

FASE DE ELABORACIÓN

Page 39: El Proceso Unificado

LA VIDA PROCESO UNIFICADO FASES DENTRO DE UN CICLO

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 unacuerdo 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 proyectoAl 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 respaldaruna 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?

FASE DE ELABORACIÓN

Page 40: El Proceso Unificado

LA VIDA PROCESO 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 paracomprender el proyecto desde la visión tradicional en cascada.

Page 41: El Proceso Unificado

LA VIDA PROCESO UNIFICADO

Page 42: El Proceso Unificado

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/ApunteRUP.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/TEORIA_6_PU_CR_2007.pdf http://www.unibe.edu.do/carreras/tic/ingenieria.pdf

BIBLIOGRAFÍA