proceso unificado del software

207
Ingeniería del Software 1 UN EJEMPLO: EL PROCESO UNIFICADO DE DESARROLLO (1ª parte) The unified software development process, Ivar Jacobson, Grade Booch, James Rumbaug, Ed. Addison Wesley, 1999 El proceso unificado de desarrollo, Ivar Jacobson, Grade Booch, James Rumbaug, Ed. Addison Wesley, 1999

Upload: renato-ch-heredia

Post on 04-Sep-2015

244 views

Category:

Documents


6 download

DESCRIPTION

Descripción del proceso unificado de un software, así como los pasos a seguir en la elaboración de una propuesta de software

TRANSCRIPT

Microsoft PowerPoint - proc. unificado I

UN EJEMPLO: EL PROCESO

UNIFICADO DE DESARROLLO

(1 parte)

The unified software development process, Ivar Jacobson, Grade

Booch, James Rumbaug, Ed. Addison Wesley, 1999

El proceso unificado de desarrollo, Ivar Jacobson, Grade Booch, James

Rumbaug, Ed. Addison Wesley, 1999

Caractersticas del Proceso Unificado

Flujos de trabajo fundamentales

Iteracin genrica

Planificar

Gestionar los riesgos

Recursos

Evaluar

Caractersticas del Proceso Unificado

UML

Basado en casos de uso

Centrado en la arquitectura

Iterativo-Incremental

Modelos del proceso

Flujos de trabajo fundamentales

Iteracin genrica

Planificar

Gestionar los riesgos

Recursos

Evaluar

Unificacin de tres metodologas de desarrollo

basadas en el paradigma orientado a objetos.

OOSE: Object Oriented Software Engineering (Casos de Uso) Jacobson, I.

Booch (Diseo) Booch, G.

OMT: Object Modeling Technique (Anlisis) Rumbaugh, J.

Es ms que un proceso de desarrollo software

un marco de trabajo que puede especializarse

Basado en componentes conectados a travs de interfaces

Utiliza UML - Unified Modeling Language

Dirigido por casos de uso

Centrado en la arquitectura

Iterativo e incremental

UML es un lenguaje de modelado Permite la construccin de distintos modelos

Diagramas de Clase, Diagramas de Casos de Uso, etc.

Es autodescriptivo porque puede especificarse por medio de un diagrama de clases de UML.

Bloques de construccin:

Elementos: bloques bsicos

Relaciones: ligan los elementos

Diagramas: agrupan colecciones de elementos ligados, aportando un significado adicional

Elementos:

Estructurales: Clases, Casos de Uso,

Comportamiento: Interaccin, Estados...

Agrupacin: Paquetes

Anotacin: Notas

Relaciones:

Dependencia (Relacin de Uso)

Asociacin (Relacin estructural)

Generalizacin (Representacin de la herencia.)

Realizacin

Ofrecen distintas perspectivas de una abstraccin de

la realidad

Un mismo elemento puede aparecer en distintos diagramas

En el modelo de un sistema no hay motivo para que aparezcan obligatoriamente todos los elementos.

Estticos(estructura)

D. de Clases

Dinmicos(comportamiento)

Casos de Uso

D. de Objetos

D. de Componentes

D. de Despliegue

Secuencia Colaboracin Estados Actividades

Interaccin

Mot or

Piloto Vendedor de billetes

1..4 1..2 1

1

Avin 1 *

*

Vuelo 1 *

*

Reserva

*{ disj unta, completa }Avin militar Avin com ercial

1

Lnea area

{ disjunta, completa }

Avin de carga Avin de pasajeros

Interfaz de TerminalComm

Control y AnlisisCommGestin de CuentasComm

Rutinas de ConeccionComm

Acceso a BD Comm Diagramas de Despliegue

Servidor Central

Control y Anlisis

Acceso a BD

C

Rutinas de Coneccion

Terminal de ConsultaRutinas de Coneccion

Interfaz de Terminal

Punto de Venta

Rutinas de Coneccion

Gestin de Cuentas

Interfaz de Terminal

V enta Norm alC liente

V enta en Re ba ja s

V e nd ed or

V enta en Ofe rtaE s perando t arj etatar jeta int ro duc idaLey endo t arjet aE s p erandoP INRec ogiendo t arjeta

P IN introduc ido( P IN )V alidandoP IN [ > 3 int ent os ]

[ inc orrec to ][ c orrec t o ]Ingre sando

i ngres o ( im por te )

Es perand o opc int rans ferenc ia( c uent a, im port e )reint egro( im port e )Reint egrando

Trans ferenc ia[ O K ][ Not O K ]

E x puls ando dinerodinero retiradoIngeniera del Software

E x puls artarjeta 13

5: c u enta des t in o

3: c antidad

1: t rans ferenc ia

6: t rans fer enc i a (c uenta, c anti dad)

11 : OK: Cliente del banc o : Interfaz de ca jero : Trans ac c in2: te c lee c ant id ad4: t e c lee c uent a des tino

7: r ei nteg ro (c an ti dad)

8: O K

9: ingres o (c antidad)

12: tr ans ferenc ia r ealiz ada

10: O K

c uentaO rigen : Cuent a c uentaDes tino : Cuenta

Ingeniera del Software 14

: S oc io : E nc argado

: Lib ro

: F ic ha s oc io

: F ic ha libro

: P rs t am oCoger libroS olic it ar prs tam oV erific ar s ituac in s oc ioS it uac i n s o cio okV erific ar s ituac in libroS ituac in libro okIntroduc ir prs tam oA ut oriz ar p rs t amoPasajero Vendedor Airline

Solicitar pasaje

Verificar existencia vuelo

Dar detalles vuelo

Seleccionar vuelo

Informar alternativas y precios

Solicitar pago Reservar plazasPagar pasaje

Confirmar plaza reservada

Emitir billete

Usuario: alguien o algo.

Una interaccin con el usuario es un caso de uso.

Un caso de uso:

Es una funcin del sistema que da al usuario un resultado til.

Captura los requisitos funcionales.

Qu debe hacer el sistema para cada usuario?

Modelo de casos de uso.

Conducen el proceso de desarrollo:

Modelos de diseo e implementacin.

Pruebas.

Se desarrollan y evolucionan junto a la arquitectura del sistema.

Edificio: estructura, servicios, electricidad, fontanera,...

Agrupa aspectos estructurales y dinmicos significativos

Influencias: plataforma (BBDD, SO, protocolo de comunicacin,...), aspectos legales, componentes reusables disponibles, requisitos no funcionales,...

Es una vista del diseo completo que hace visibles las caractersticas principales.

Cmo se relacionan casos de uso y arquitectura?

Funcin y forma

Ingeniera del Software 18

Tareas:

Crear una arquitectura inicial no especfica de los casos de uso.

Trabajar con un conjunto seleccionado de casos de uso que representan las tareas clave del sistema.

Caso de uso - subsistemas, clases y componentes.

Evolucin.

Divisin del proyecto.

Una iteracin produce un incremento.

Iteraciones controladas.

Factores para la seleccin en una iteracin:

La iteracin trata un grupo de casos que extienden la funcionalidad.

La iteracin trata los riesgos ms importantes.

Incremento no siempre es aditivo.

Cada iteracin:

casos relevantes-diseo quiado por arquitectura- implementar-verificar

Beneficios.

Varios ciclos que concluyen con un producto.

Cdigo fuente, manuales y documentos.

Hitos por fases (Milestones)

Ingeniera del Software 22

# # $ % !

# ! # % # ! & # & ' ( & "

# ! ) , - .

$+ +'$ 5 6 777( Una Fase es un intervalo de tiempo entre dos hitos importantes delproceso donde:

Se cumple un conjunto definido de objetivos

Se completan artefactos

Se toman decisiones de continuar o no

Iniciacin, Elaboracin, Construccin, Transicin

Dentro de cada fase hay varias iteraciones

Una iteracin representa un ciclo de desarrollo completo.

El nfasis en cada flujo de trabajo es diferente dependiendo de la fase

Caractersticas del Proceso Unificado

Flujos de trabajo fundamentales

Requisitos

Anlisis

Diseo

Implementacin

Pruebas

Iteracin genrica

Planificar

Gestionar los riesgos

Recursos

Evaluar

La captura de requisitos es complicada

Creamos cdigo para otros

Los usuarios no los conocen y les cuesta especificarlos de forma precisa

Suelen ser varios usuarios sin una visin global

Los requisitos cambian

Las condiciones en las que se especifico un requisito varian

Objetivo: guiar el desarrollo hacia el sistema correcto

El cliente debe ser capaz de leer y comprender el resultado de la captura

El resultado ayuda al jefe de proyecto a planificar las iteraciones y los recursos

Usuarios muy diferentes

Puntos de partida Diferentes

Se deben reducir los riesgos

Pasos a seguir

Enumerar los requisitos candidatos

Comprender el contexto del sistema

Capturar requisitos funcionales

Capturar requisitos no funcionales

Se realizan de forma conjunta

s

Modelo de casos de uso

Actores

Casos de uso

Varios diagramas para diferentes perspectivas

Descripcin de la arquitectura

Glosario

Prototipo de la interfaz de usuario

1

Modelo de casos de uso

Sistema de casos de uso

* *Ingeniera del Software

$

Caso de uso 32

Encontrar actores y casos de uso

Priorizar casos de uso

Detallar un caso de uso

ACCIN DEL ACTOR

1. Este caso de uso empieza cuando un Cliente introduce una tarjeta en el cajero

3. Introduce la clave

RESPUESTA DEL SISTEMA2. Pide la clave de identificacin

4. Comprueba la clave

5. Si es vlida presenta las opciones disponibles y se termina el caso de uso

CAMINOS ALTERNATIVOSLnea 3. El cliente cancela la transaccinLnea 4. La clave no es vlida y se reinicia el caso de uso. Si ocurre tres veces se cancela la transaccin y no se devuelve la tarjeta

HAY QUE DEFINIR ESTOS DOS FLUJOS DE EVENTOS!!ACCIN DEL ACTOR2. Selecciona la operacin de

Reintegro

4. Introduce la cantidad requerida

RESPUESTA DEL SISTEMA

1. Este caso de uso empieza cuando un Cliente ha sido identificado Presenta las opciones de operaciones disponible

3. Pide la cantidad a retirar.

5. Procesa la peticin y da el dinero solicitado.

Devuelve la tarjeta y genera un

recibo

6. Recoge la tarjeta.

7. Recoge el recibo

8. Recoge el dinero y termina el CU

CAMINOS ALTERNATIVOS Lnea 5: La cantidad solicitada supera el saldo. Se indica el error y secancela la operacin.

Lnea 5: La cantidad solicitada supera el lmite diario. Se indica el error y se vuelve a pedir otra cantidad.

Lnea 5: En el cajero no hay dinero.

HAY QUE DEFINIR ESTOS TRES FLUJOS DE EVENTOS!!Podramos definir diagramas de estados

Requisito no funcional asociado al caso de uso Sacar dinero:

El tiempo de respuesta para un cliente debe ser