proceso unificado del software
DESCRIPTION
Descripción del proceso unificado de un software, así como los pasos a seguir en la elaboración de una propuesta de softwareTRANSCRIPT
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