curso up 2010.pdf

Upload: praxedes-garcia-valenciano

Post on 01-Mar-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

  • 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