Post on 01-Mar-2018
7/26/2019 Curso UP 2010.pdf
1/50
UP
Proceso Unificado de Desarrollo
de Software
7/26/2019 Curso UP 2010.pdf
2/50
Que es UP
Un proceso define quin est haciendo qu, cundo y cmo paralograr un cierto objetivo
UP es un proceso de desarrollo de software:
Propuesto por OMG para diseo de software orientado a objetos Proceso que permita asegurar la produccin de software de calidaddentro de plazos y presupuestos predecibles
Permite utilizar UML de manera natural
Proceso de desarrollode software
Requisitos del usuario Sistema de software
7/26/2019 Curso UP 2010.pdf
3/50
Orgenes
Modelo originalObjectory
definido porIvan Jacobson
(1987)
RationalSoftwarecompra la
empresa deObjectory
(1995)
Surge laprimera versinde UML (1997)
Se publica laprimera versindel ProcesoUnificado de
Rational - RUP(junio 1998)
7/26/2019 Curso UP 2010.pdf
4/50
Pruebas funcionales
Pruebas de desempeo
Gestin de requisitos
Gestin de cambios y
configuracin
Ingeniera de Negocio
Ingeniera de datos
Diseo de interfaces
Rational Unified Process (RUP)
UML
Rational Unified Process1998
Rational Objectory Process1996-1997
Objectory Process1987-1995
Enfoque Ericsson
7/26/2019 Curso UP 2010.pdf
5/50
Caractersticas Esenciales de UP
Proceso
Dirigido porlos Casosde Uso
ProcesoIterativo e
Incremental
UP
ProcesoCentrado
en laArquitectura
7/26/2019 Curso UP 2010.pdf
6/50
Dirigido por los casos de uso
Se centra en la funcionalidad que el sistema debeposeer para satisfacer las necesidades de un usuario(persona, sistema externo, dispositivo) que interactacon l
Casos de uso como el hilo conductor que orienta lasactividades de desarrollo
7/26/2019 Curso UP 2010.pdf
7/50
Dirigido por Casos de Uso
Modelo deCasos de
Uso
Modelo deAnlisis
Modelo deDiseo
Modelo deDespliegue Modelo deImplementacin
Modelo dePrueba
especificado porrealizado por
distribuido por
implementado por
verificado por
7/26/2019 Curso UP 2010.pdf
8/50
Proceso Iterativo e Incremental
El software moderno escomplejo y novedoso.
No es realista usar unmodelo lineal de
desarrollo como el decascada.
UP sigue un modeloiterativo en incrementalque aborda las tareas
ms riesgosas primero.
Un requerimientos a lavez que se va haciendo
crecer el sistema.
Con esto se lograreducir los riesgos del
proyecto y tener unsubsistema ejecutable
tempranamente.
Se divide todo el trabajoen mini-proyectos.
Cada mini-proyecto esuna iteracin (flujo detrabajo) que resulta enun incremento (crece el
producto).
Cada iteracin tieneuna serie de flujos de
trabajo: requisitos,anlisis, diseo,
implementacin yprueba
7/26/2019 Curso UP 2010.pdf
9/50
... Proceso Iterativo e Incremental
Las actividades se encadenan en unamini-cascada con un alcance limitado porlos objetivos de la iteracin
n veces
Anlisis
Diseo
Construccin
Pruebas eIntegracin
7/26/2019 Curso UP 2010.pdf
10/50
Iteracin e Incremento
Iteracin
: Esfuerzo de trabajoen un proyecto que
recorre variasetapas de desarrollo(no necesariamentetodas), y al final del
cual se haincrementado elmaterial disponiblesobre el sistema In
cre
mento
: Un avancesignificativo en el
grado deespecificacin,diseo,implementacin, o
prueba del sistemaque tenga lugardurante unaiteracin
7/26/2019 Curso UP 2010.pdf
11/50
Centrado en la arquitectura
Arquitectura ensoftware
Diferentes vistas del sistema:
estructural, funcional,dinmico, etc. plataforma en la que va a
operar Determina la forma del sistema
Concepto similar a laarquitectura de unedificio
Varios planos con diferentesaspectos del edificio
Tener una imagen completa deledificio antes que comience laconstruccin
La arquitectura esuna vista del diseo
completo .
Con las
caractersticas msimportantesresaltadas.
Dejando los detallesde lado.
7/26/2019 Curso UP 2010.pdf
12/50
Arquitectura y Casos de uso
Casos de uso: determinanla funcin del sistema QUE
Arquitectura: determina laforma del sistema COMO
Evolucin tpica
Se crea esquema de la arquitectura
Se trabaja con un conjunto de casos de uso, se reparte en subsistemas,clases, y componentes
Al madurar los casos de uso se desarrolla ms la arquitectura
Por consiguiente se logra madurar ms casos de uso
Este proceso continua hasta que la arquitectura es estable
7/26/2019 Curso UP 2010.pdf
13/50
Buenas Prcticas
UP implementa las mejores prcticasactuales en ingeniera de software:
Desarrollo iterativo del softwareAdministracin de requerimientos
Uso de arquitecturas basadas en componentes
Modelamiento visual del software Verificacin de la calidad del software
Control de cambios
7/26/2019 Curso UP 2010.pdf
14/50
Desarrollar en Iteraciones
Un proceso iterativo permite una comprensincreciente de los requerimientos a la vez que se vahaciendo crecer el sistema.
UP sigue un modelo iterativo que aborda lastareas ms riesgosas primero.
Con esto se logra reducir los riesgos del proyectoy tener un subsistema ejecutable tempranamente.
7/26/2019 Curso UP 2010.pdf
15/50
La administracin derequerimientos definidapor UP considera:
Los casos de uso y losescenarios indicados porel proceso han probadoser una buena forma decaptar requerimientos y
guiar el diseo, laimplementacin y laspruebas.
Obtener losrequerimientos Organizarlos
Documentarrequerimientos
de funcionalidady restricciones
Rastrear ydocumentardecisiones
Captar ycomunicar
requerimientosdel negocio
Administracin de requerimientos
7/26/2019 Curso UP 2010.pdf
16/50
El proceso se basa endisear tempranamenteuna arquitectura baseejecutable.
UP apoya el desarrollobasado en componentes,
tanto nuevos comopreexistentes.
La arquitectura debe ser:
Flexible Fcil demodificar
Intuitivamentecomprensible
Promueve lareutilizacinde
componentes
Arquitecturas basadas encomponentes
7/26/2019 Curso UP 2010.pdf
17/50
Modelamiento visual
UP promueve el modelamiento visual de laestructura y el comportamiento de la arquitecturay los componentes.
Bloques de construccin: Ocultan detalles Permiten la comunicacin en el equipo de desarrollo Permiten analizar la consistencia:
entre las componentes entre diseo e implementacin
UML es la base del modelamiento visual de UP.
7/26/2019 Curso UP 2010.pdf
18/50
Verificacin de calidad
No slo la funcionalidad es esencial, tambinel rendimiento y la confiabilidad.
UP ayuda a planificar, disear, implementar,ejecutar y evaluar pruebas que verifiquenestas cualidades.
El aseguramiento de la calidad es parte delproceso de desarrollo y no la responsabilidadde un grupo independiente.
7/26/2019 Curso UP 2010.pdf
19/50
Control de cambios
Los cambios son inevitables, pero esnecesario evaluar si stos son necesariosy rastrear su impacto.
UP indica como controlar, rastrear ymonitorear los cambios dentro del proceso
iterativo de desarrollo.
7/26/2019 Curso UP 2010.pdf
20/50
Definiciones
Un trabajador define el comportamiento y lasresponsabilidades de un individuo.
Es como un sombrero que la persona usadurante el proyecto: Una persona puede tener varios sombreros Es el rol que desempea en un momento dado
Responsabilidades: Hacer una serie de actividades Ser el responsable de una serie de artefactos
Trabajador
f
7/26/2019 Curso UP 2010.pdf
21/50
Definiciones
Una actividad es una unidad de trabajo que se asigna a untrabajador. Ej.: Crear o modificar un artefacto
Una actividad lleva entre un par de horas y un par de das, involucraun solo trabajador y un nmero pequeo de artefactos.
Las actividades se consideran en la planificacin y evaluacin delprogreso del proyecto.
Ejemplos: Planificar una iteracin - Administrador de proyecto Encontrar actores y casos de uso - Analista Revisar el diseo - Revisor de diseo Ejecutar pruebas de performance - Ing. de pruebas de performance
Actividades
A i i d i id d
7/26/2019 Curso UP 2010.pdf
22/50
Asignacin de actividades
Recurso Trabajador Actividad
Pablo Diseador Diseo de Objetos
Mara Autor de Casos de Uso Detallar un Caso de Uso
Jos Diseador de Casos de Uso Disear un Caso de Uso
Silvia Revisor de Diseo Revisar el Diseo
Eduardo Arquitecto Anlisis de ArquitecturaDiseo de Arquitectura
A t f t
7/26/2019 Curso UP 2010.pdf
23/50
Artefactos
Elementos de informacin producidos,modificados o usados por el proceso. Son los productos tangibles del proyecto. Son usados por los trabajadores para realizar nuevas
actividades y son el resultado de esas actividades. Ejemplos:
Un modelo, como el modelo de casos de uso o el modelo dediseo.
Un elemento del modelo, como una clase o un caso de uso. Un documento tal como el Caso del Negocio o la
Arquitectura del Software. Cdigo fuente. Cdigo ejecutable.
Ej l
7/26/2019 Curso UP 2010.pdf
24/50
Ejemplo:Disciplina Anlisis & Diseo
Roles Y Actividades
Fl j d t b j
7/26/2019 Curso UP 2010.pdf
25/50
Flujos de trabajo
Una lista de actividades, trabajadores yartefactos constituye un proceso.
Un flujo de trabajo es una secuencia deactividades que produce un resultadovalioso.
No siempre es posible representar flujosde trabajo.
Fl j d t b j
7/26/2019 Curso UP 2010.pdf
26/50
Flujos de trabajo
Existen habitualmente problemas decomunicacin entre ingenieros de software eingenieros de negocios.
UP proporciona un lenguaje y proceso comnpara estos dos mbitos.
Para el modelamiento del negocio se usanbusiness use cases (casos de uso del negocio):
La forma en que el software dar apoyo al negocio.
Fl j d t b j i l
7/26/2019 Curso UP 2010.pdf
27/50
Flujos de trabajo esenciales
Flujos de Trabajode Ingeniera
Flujos de Trabajo
de Apoyo
Pro
fundidad
Tiempo
Di i li d l P
7/26/2019 Curso UP 2010.pdf
28/50
Disciplinas del Proceso
Los flujos detrabajo dedesarrollo.
Modelado de Negocio. Requerimientos.Anlisis y Diseo. Implementacin. Prueba. Despliegue.
Los flujos de
trabajo desoporte.
Administracin del proyecto.Administracin de Configuracin y Administracin de Cambios.Ambiente.
Operaciones y Soporte.
Di i li M d l
7/26/2019 Curso UP 2010.pdf
29/50
Disciplinas y Modelos
Ci l f
7/26/2019 Curso UP 2010.pdf
30/50
Ciclos y fases
UP divide el proceso de desarrollo en ciclos,teniendo un producto al final de cada ciclo.
Cada ciclo se divide en cuatro Fases:
Cada fase concluye con un hito bien definidodonde deben tomarse ciertas decisiones.
Inicio Elaboracin Construccin Transicin
F
7/26/2019 Curso UP 2010.pdf
31/50
Fases
Las fases de UP
7/26/2019 Curso UP 2010.pdf
32/50
Tiempo
Las fases de UP
Inicio
Se establece laplanificacin delproyecto y sedelimita sualcance
Elaboracin
Se analiza eldominio delproblema, seestablece unabase
arquitectnicaslida, sedesarrolla el plandel proyecto y seeliminan loselementos de msalto riesgo delproyecto
Construccin
Se desarrolla deforma iterativa eincremental unproductocompleto que est
preparado para latransicin hacia lacomunidad deusuarios
Transicin
El software sedespliega en lacomunidad deusuarios Instalarun Producto en su
Ambiente deProduccin
Fase de UP: Inicio
7/26/2019 Curso UP 2010.pdf
33/50
Fase de UP: Inicio
El propsito de esta fase es analizar la factibilidaddel proyecto. Para esto se debe:
Cerrar el alcance del software a construir
Estimar costos, riesgos y cronograma Identificar los requerimientos del mismo Tener preparado el ambiente del proyecto.
Los artefactos principales son: Documento de Visin, Plan de Proyecto, Matriz de Requerimientos, Repositorio.
Fase de UP: Elaboracin
7/26/2019 Curso UP 2010.pdf
34/50
Fase de UP: Elaboracin
El propsito de esta fase es llevar a cabo larealizacin de los artefactos construidos en laIncepcin, minimizando riesgos y armandoun plan consistente para la Construccin.
Los artefactos principales son: Documento de Arquitectura
Modelo y Especificaciones de CUS Casos de Prueba Diagramas de Diseo
Fase de UP: Construccin
7/26/2019 Curso UP 2010.pdf
35/50
Fase de UP: Construccin
El propsito de esta fase es realizar laimplementacin y el testing de loscomponentes definidos durante laElaboracin.
Los artefactos principales son: Componentes construidos,
Plan de Deployment, Pruebas de Aceptacin, Plan de Migracin Integracin Implantacin.
Fase de UP: Transicin
7/26/2019 Curso UP 2010.pdf
36/50
Fase de UP: Transicin
El propsito de esta fase es llevar a cabo la entrega deversiones para ser instaladas en un ambiente productivo.
En particular el nfasis est en la disciplina de despliegue enla que se lleva a cabo la preparacin del empaquetado de
deploy, la migracin de datos, la capacitacin al usuario, y laentrega formal del producto.
Los artefactos principales son: Versin en Produccin Manuales de Capacitacin Material de Soporte
Disciplinas del UP
7/26/2019 Curso UP 2010.pdf
37/50
Disciplinas del UP
Disciplinas del Proceso
7/26/2019 Curso UP 2010.pdf
38/50
Disciplinas del Proceso
Objetivos.
Identificar, comprender, y documentar laestructura y la dinmica de la organizacin enla que el sistema ser desplegado.
Asegurar que todos los stakeholders tienen
un entendimiento comn de la organizacin. Custodiar el modelo de negocio durante eldesarrollo del proyecto.
MODELAMIENTO DE NEGOCIO
Disciplinas del Proceso
7/26/2019 Curso UP 2010.pdf
39/50
Disciplinas del Proceso
Objetivos Establecer la propuesta inicial de los requerimientos del sistema
que sern necesarios para dar soporte a la organizacin. Establecer y mantener un acuerdo con los stakeholders sobre la
funcionalidad del sistema a construir. Establecer y mantener un acuerdo con los stakeholders sobre
las condiciones de operacin (requerimientos no funcionales)del sistema a construir.
Profundizar la comprensin de los requerimientos por parte delas disciplinas involucradas en la validacin de los mismos.
Ayudar a la disciplina de Administracin de Proyectos en elarmado de los planes, costos y estimaciones del proyecto.
REQUERIMIENTOS
Disciplinas del Proceso
7/26/2019 Curso UP 2010.pdf
40/50
Disciplinas del Proceso
Objetivos. Realizar la propuesta inicial de la interfaz de usuario
del sistema, focalizndose en las metas ynecesidades de la solucin. Especificar los requerimientos en Casos de Uso de
Sistema. Realizar los casos de uso en diseo mediante los
distintos diagramas. Identificar las restricciones impuestas por losrequerimientos tanto funcionales como no funcionalesy definir las soluciones tcnicas.
ANLISIS Y DISEO
Disciplinas del Proceso
7/26/2019 Curso UP 2010.pdf
41/50
Disciplinas del Proceso
Objetivos. Implementar las clases y los objetos en trminos
de componentes. Probar los componentes individualmente. Integrar los componentes en ejecutables
Distribuir el sistema asignando componentesejecutables a nodos en el diagrama dedespliegue.
IMPLEMENTACIN
Disciplinas del Proceso
7/26/2019 Curso UP 2010.pdf
42/50
Disciplinas del Proceso
Objetivos.
Especificar los escenarios de los casos de uso necesariospara validar los flujos. Verificar la interaccin de los componentes. Verificar la correcta implementacin de los requerimientos. Identificar defectos de las piezas de software construidas.
Realizar observaciones en pos de mejorar la calidad sobretodos los artefactos crticos del proceso. Realizar las Pruebas de Aceptacin en conjunto con el
cliente.
TESTING
Disciplinas del Proceso
7/26/2019 Curso UP 2010.pdf
43/50
Disciplinas del Proceso
Objetivos. Entregar el software a sus usuarios finales.
Involucra las siguientes actividades: Probar el SW en su ambiente operativo. Empaquetarlo para su entrega. Distribuirlo. Instalarlo. Entrenar a los usuarios y a los vendedores. Migrar el SW existente o convertir las bases de datos.
DESPLIEGUE
Disciplinas del Proceso
7/26/2019 Curso UP 2010.pdf
44/50
Disciplinas del Proceso
Objetivos. La disciplina involucra:
Proveer un framework para administrar los proyectos de software. Proveer guas prcticas para planificar, alocar recursos, ejecutar, y
monitorear proyectos. Proveer un framework para administrar el riesgo.
Su foco es: Administracin de Riesgos. Planeamiento de un proyecto iterativo. Monitoreo del progreso y Mtricas.
ADMINISTRACIN DE PROYECTO
Disciplinas del Proceso
7/26/2019 Curso UP 2010.pdf
45/50
Disciplinas del Proceso
Objetivos. La disciplina involucra: Identificar tems de configuracin.Administrar los cambios a esos tems.
Auditar los cambios hechos a esos tems. Definir y administrar la configuracin de esos
tems.
ADMINISTRACIN DE LACONFIGURACIN Y DEL CAMBIO
Disciplinas del Proceso
7/26/2019 Curso UP 2010.pdf
46/50
Disciplinas del Proceso
Objetivos. Se enfoca en las actividades necesarias paraconfigurar el proceso para un proyecto.
Desarrolla guas prcticas que den soporte a unproyecto.
Provee a la organizacin con el ambiente delsistema tanto herramientas como proceso paradar soporte al equipo de desarrollo.
AMBIENTE
Fases Release Base Line
7/26/2019 Curso UP 2010.pdf
47/50
Fases, Release, Base Line,Generacin
ciclo de desarrollo ciclo de evolucin
generacin(release final de
un ciclo de desarrollo)
release(producto al final de
una iteracin)
base line(release asociada
a un hito)
Esfuerzo y dedicacin por
7/26/2019 Curso UP 2010.pdf
48/50
Esfuerzo y dedicacin porFases en UP
Inicio Elaboracin Construccin Transicin
Esfuerzo
5 20 65 10
Tiempo
Dedicado
10
30
50 10
Distribucin de Recursos por
7/26/2019 Curso UP 2010.pdf
49/50
Distribucin de Recursos porFases en RUP
F I N
7/26/2019 Curso UP 2010.pdf
50/50
F I N