Proceso Unificado

24
INTRODUCCIÓN A LA INGENIERIA DE SOFTWARE Proceso Unificado de Desarrollo de Software 1

description

Proceso Unificado de Desarrollo de Software

Transcript of Proceso Unificado

  • INTRODUCCIN A LA INGENIERIA DE SOFTWAREINGENIERIA DE SOFTWARE

    Proceso Unificado de Desarrollo de Software

    1

  • El Proceso Unificado

    Es un proceso ORIENTADO A OBJETOS

    Est basado en componentes e interfacesbien definidas

    Utiliza el Lenguaje Unificado de Modelado Utiliza el Lenguaje Unificado de Modelado (UML)

    Aspectos caractersticos del proceso: Dirigido por casos de uso

    Centrado en la arquitectura

    Iterativo e incremental

    2

  • El Proceso Unificado de Desarrollo apliaca UML

    UML Notacin

    El Proceso Unificado

    3

    Proceso Unificado de Desarrollo de Rational

    Herramientas Proceso

    Rational Rose

    Visio

  • El Proceso UnificadoDirigido por Casos de Uso

    Los sistemas se crean para dar servicio a los usuarios. Qu REQUISITOS se necesitan

    CASO de USO: es una pieza de funcionalidad de un sistema que le proporciona a algn usuario un sistema que le proporciona a algn usuario un resultado o valor.

    Modelo de casos de uso: Funcionalidad total del sistema

    Qu debe hacer el sistema para cada usuario?

    Guan el proceso de desarrollo

    4

  • El Proceso UnificadoDirigido por Casos de Uso

    Los casos de uso:

    Capturan requisitos

    Se especifican (analizan)

    Se disean Se disean

    Se implementan

    Se prueban

    5

  • PersonaEncargadoBiblio

    Consultar Catlogo

    Tomar Prstamo Copia

    Reservar Libro

    Actualizar Catlogo

    EJEMPLO DE MODELO DE CASOS DE USO

    6

    SocioTrabajadorBiblio

    Tomar PrstamoRevista

    Devolver Revista

    Tomar Prstamo Copia Libro

    Extender Prstamo

    Devolver Copia Libro

    - No disponible

    - No reservado

  • Persona

    Tomar Prstamo

    2. Anlisis del Caso de Uso

    1. Caso de Uso

    El Proceso UnificadoDirigido por Casos de Uso

    7

    : IU-1 : GestorLibro : Libro elLibro:Libro

    1: Introducir Signatura y NumeroDeSocio

    2: Aceptar

    3: obtenerLibro(signaturaLibro:String)4: getSignatura()

    Se repite hasta que seencuentre un libro

    con la signatura queestamos buscando

    elLibro

    5: getCopias()6: isCopiaPrestada()

    3. Diseo del Caso de Uso

    4. Implementacin del Caso de Uso

    5. Prueba del Caso de Uso

  • El Proceso UnificadoCentrado en la Arquitectura

    Describe diferentes vistas del sistema

    Incluye los aspectos estticos y dinmicos ms significativos

    Es la forma del software

    La arquitectura y los casos de uso evolucionan en paralelo

    Responsable: el arquitecto: Empieza por la parte que no es especfica de los casos de uso

    Trabaja con casos de uso claves

    Progresa con la especificacin de ms casos de uso

    La arquitectura de un sistema software es un extracto de los modelos del sistema

    Extracto: vista de cada modelo que da una idea de qu forma tiene el sistema completo

    8

  • 1Vista del modelo de casos de uso Vista del modelo del dominio /

    Vista del diagrama de clases

    El Proceso UnificadoCentrado en la Arquitectura

    9

    : IU-1 : Gro

    :1:2: 3: 4()

    : : Gro

    :1:2: 3: 4()

    Vista del modelo del anlisisVista del modelo del diseo

    + Vistas del modelo de implementacin y pruebas

    Son vistas de los modelos (no modelos completos)

    Slo aparecen los que corresponden

    A casos de usos crticos

  • El Proceso UnificadoIterativo e Incremental

    Se divide el trabajo en mini-proyectos

    Cada mini-proyecto es una iteracin que resulta en un incremento del producto.

    La iteracin La iteracin

    Trata un conjunto de casos de uso

    Trata los riesgos ms importantes

    En cada iteracin se persiguen unos objetivos concretos

    10

  • El Proceso UnificadoIterativo e Incremental

    Beneficios de un proceso iterativo controlado:

    Coste del riesgo a un solo incremento

    Reduce el riesgo de no sacar el producto en el calendario previstocalendario previsto

    Acelera el ritmo de desarrollo

    Se adapta mejor a las necesidades del cliente

    11

  • El Ciclo de Vida del Proceso Unificado

    Un ciclo de vida se repite a lo largo del tiempo

    Luego de cada ciclo de vida versin nueva del producto

    Un ciclo de vida se divide en fases Un ciclo de vida se divide en fases

    Cada fase se divide en iteraciones

    En cada iteracin se realizan flujos de trabajo

    12

  • El Ciclo de Vida del Proceso Unificado

    Requisitos

    Anlisis

    FasesFlujos de trabajo: Actividades

    Inicio Elaboracin Construccin Transicin

    13

    Diseo

    Implementacin

    Prueba

    Anlisis

    ite r.# 1

    ite r.# 2

    ite r.# n

    ite r.#n+ 1

    ite r.# n+2

    ite r.# m

    ite r.#m +1Iteraciones:

  • El Ciclo de Vida del proceso unificado

    Versiones del productoEN CONSTRUCCIN

    Productofinal

    Iniciaciniteracin #1

    Iniciaciniteracin #2

    Elaboraciniteracin #3

    construcciniteracin #n-1

    transiciniteracin #n-1

    Prdctfnll

    Iniciacin Elaboracin Construccin Transicin

    Nueva Versin Del Producto (en este CV)14

  • El Producto(del proceso unificado)

    No es slo cdigo ejecutable

    Son los modelos o representacin del software

    Debe ajustarse a todas las personas implicadas

    15

    Debe ajustarse a todas las personas implicadas

  • Fases dentro del Ciclo de Vidadel Proceso Unificado

    Fase: Parte de un ciclo de vida Cada fase termina en un hito

    Hay artefactos disponibles (segn lo planificado) Los resultados en los hitos permiten gestionar

    16

    Los resultados en los hitos permiten gestionar

  • Fase: IniciacinEstablecer la planificacin del proyecto

    Describir producto final / anlisis del negocio Identificar riesgos ms importantes Establecer planificacin inicial del proyecto Decidir si se contina

    Qu va a hacer el sistema para cada uno de sus usuarios principales?

    17

    Qu va a hacer el sistema para cada uno de sus usuarios principales? Un MCU simplificado con los CU ms crticos

    Cmo sera la arquitectura para un sistema como ese? Borrador con los subsistemas principales

    Cul es el plan y cunto va a costar desarrollar el producto? Identificar los riesgos principales y priorizarlos, planificar elaboracin y

    presupuesto aproximado

  • Fase: ElaboracinEstablecer un plan para el proyecto y una arquitectura correcta

    Especificar en detalle los CU + crticos

    Disear la arquitectura Mediante vistas de todos los modelos del SI

    Vista arquitectnica de MCU, M. Anlisis, M. Diseo, M.

    18

    Vista arquitectnica de MCU, M. Anlisis, M. Diseo, M. Implementacin (con los componentes que demuestran que la arquitectura es ejecutable) y M. Distribucin.

    Al final de esta fase se debe poder planificar las actividades

    y estimar los recursos para poder completar el proyecto.

    Son los CU, arquitectura y planes lo suficientemente

    estables y los riesgos bajo control suficiente para firmar un

    contrato para terminar el trabajo de desarrollo?

  • Fase: ConstruccinDesarrollar el producto/sistema

    Se construye el producto. En esta fase: La arquitectura se completa para construir un sistema bien

    cimentado La visin evoluciona hasta convertirse en un producto

    preparado para los usuarios

    19

    preparado para los usuarios Es donde se gastan la mayora de los recursos La arquitectura del sistema es estable. Sin embargo, se

    pueden realizar cambios mnimos a la misma. El producto se ajusta suficientemente a las necesidades

    de los usuarios de algunos usuarios como para enviarseloya?

  • Fase: TransicinProporcionar el sistema a los usuarios finales

    El producto se encuentra en fase beta Un grupo reducido de usuarios experimentados prueba el

    producto e informa de los defectos y deficiencias y sugieren mejoras.

    Los desarrolladores corrigen las deficiencias e incorporan algunas de las mejoras propuestas en una versin para un

    20

    algunas de las mejoras propuestas en una versin para un grupo de usuarios mayor.

    En esta fase se encuentran actividades como la venta, formacin de los usuarios, ofrecimiento de ayuda en lnea y correccin de defectos descubiertos tras la implantacin. Los defectos: (1) los que justifican la aparicin de una nueva versin del sistema, (2) los que se pueden dejar para la siguiente versin que se cree.

  • Iteraciones

    Cada fase se divide en iteraciones Cada iteracin

    Miniproyecto (en cascada) que ejecuta flujos de trabajo

    Produce un incremento en producto

    21

    Produce un incremento en producto Tal y como estaba

    Se reduce el riesgo Se puede perder slo lo realizado en esa iteracin

  • Iteraciones

    ITERACIN

    Como se puede ver, el Proceso Unificado de Desarrollo incluye actividades correspondientes a un Proceso de Gestin de Proyectos

    REQUISITOS ANLISIS DISEO IMPLEMENTACIN PRUEBAS

    PLANIFICACIN DE LA ITERACIN

    EVALUACIN DE LA ITERACIN

    ACTIVIDADES DE LOS FLUJOS DE TRABAJO FUNDAMENTALES 22

  • Flujos de Trabajo

    Captura de requisitos:

    Identificar requisitos del sistema

    Construir un modelo del mismo

    Modelo de casos de uso

    23

    Modelo del dominio (o Negocio)

    Anlisis:

    Especificar requisitos

    Construir modelo del anlisis

  • Flujos de trabajo

    Diseo:

    Encontrar La Forma Del Sistema (Solucin)

    Construir Modelo Del Diseo

    Implementacin:

    Codificar El Diseo (Solucin)

    24

    Codificar El Diseo (Solucin)

    Construir Modelo De Implementacin

    Pruebas:

    Verificar La Implementacin

    Construir Modelo De Pruebas