02 proceso unificado captura de requisitos

45
PROCESO UNIFICADO CAPTURA DE REQUISITOS El proceso unificado de desarrollo, Ivar Jacobson, Grady Booch, James Rumbaugh, Ed. Addison Wesley, 1999 The unified software development process, Ivar Jacobson, Grady Booch, James Rumbaugh, Ed. Addison Wesley, 1999

Upload: maira-santacruz

Post on 24-Jun-2015

2.185 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: 02 Proceso Unificado Captura de Requisitos

PROCESO UNIFICADOCAPTURA DE REQUISITOS

El proceso unificado de desarrollo, Ivar Jacobson, Grady Booch, James Rumbaugh, Ed. Addison Wesley, 1999

The unified software development process, Ivar Jacobson, Grady Booch, James Rumbaugh, Ed. Addison Wesley, 1999

Page 2: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 2

Captura de requisitos

5HTXLVLWRV

'LVHxR

,PSODQWDFLyQ

3UXHED

$QiOLVLV

Concepción Elabor ación Const r ucciónVer if icación

Tr ansiciónWor kf low

I t er ación-esI nicial-es

I t er . # 1

I t er . # 2

I t er . # 3

I t er . # 4

I t er . # 5

I t er . # 6

I t er . # 7

(Adapt ado de J acobson, 1999)

Page 3: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 3

Diagramas de casos de uso

• Caso de uso:– Descripción de un conjunto de secuancias de acciones que

ejecuta un sistema produciendo un resultado de interés para un actor.

• Describen el comportamiento para cada actor• Instancia de caso de uso• Se lleva a cabo mediante colaboraciones de objetos• Colaboración:

– Define las interacciones que han de producirse entre los objetos con el fin de que estos puedan desempeñar su papel.

Page 4: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 4

• Elementos estructurales:

• Relaciones:– Dependencia

– Asociación

Diagramas de casos de uso

Elemento dependiente Elemento independiente

Actor Caso de uso Colaboración

Actor Caso de uso

Page 5: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 5

Diagramas de casos de uso

• Relaciones

– Realización

Caso de uso Colaboración

Page 6: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 6

Captura de requisitos

TAREAEnumerar requisitos candidatosEntender el contexto del sistemaCapturar requisitos funcionalesCapturar requisitos no funcionales

PRODUCTOS (artifact)

Lista de características

Modelo de negocio o de dominio

Modelo de casos de usoPrototipo IU

Requisitos suplementarios o casos individuales

Page 7: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 7

Captura de requisitos

TAREAEnumerar requisitos candidatosEntender el contexto del sistemaCapturar requisitos funcionalesCapturar requisitos no funcionales

PRODUCTOS (artifact)

Lista de características

Modelo de negocio o de dominio

Modelo de casos de usoPrototipo IU

Requisitos suplementarios o casos individuales

Page 8: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 8

Captura de requisitos Modelo del dominio

• ¿Qué es?– Tipos de objetos (especificación o entrevistas)– “Cosas” y eventos– Diagramas de clases y glosario

• Desarrollar el modelo del dominio– Técnicas de comunicación– Solo contexto

• Usar el modelo del dominio– Al describir los casos de uso– Conceptos sugieren clases de análisis y diseño

Page 9: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 9

Captura de requisitos Modelo de negocio

• ¿Qué es?– Procesos de negocio– Cómo se realiza un proceso por un conjunto de trabajadores

que usan unas entidades y unidades de trabajo

• Desarrollar el modelo de negocio– Identificar casos de negocio y sus actores – Desarrollar modelo de objetos de negocio con: trabajadores,

entidades de negocio y unidades de trabajo

• Usar el modelo de negocio– Un actor por trabajador– Identificar sus papeles en distintos casos

Page 10: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 10

Captura de requisitos

TAREAEnumerar requisitos candidatosEntender el contexto del sistemaCapturar requisitos funcionalesCapturar requisitos no funcionales

PRODUCTOS (artifact)

Lista de características

Modelo de negocio o de dominio

Modelo de casos de usoPrototipo IU

Requisitos suplementarios o casos individuales

Page 11: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 11

Capturar requisitos funcionales

• Basado en casos de uso• CU para el actor: forma de utilizar el sistema• Objetivos:

– Capturar el comportamiento, sin especificar– Comprensión común– Validar arquitectura y sistema

Page 12: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 12

Capturar requisitos funcionales

1. Identificar actores y casos de uso2. Priorizar casos de uso3. Detallar casos de uso4. Prototipo de IU5. Estructurar el modelo

Page 13: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 13

Capturar requisitos funcionales

1. Identificar actores y casos de uso– Para:

• Delimitar el sistema• Actores y funcionalidad• Glosario

– Pasos:• Descubrir los actores• Descubrir los casos de uso• Describir brevemente cada caso de uso• Describir el modelo de casos de uso

Page 14: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 14

Ejemplo. Cajero automáticoLista de requisitos candidatos

FUNCIONES BÁSICASR1. El usuario podrá consultar el saldo de su cuentaR2. Si el usuario intenta sacar una cantidad que supera el saldo de

su cuenta, el cajero le avisará de que no es posible sacar esa cantidad

R3. Si el usuario intenta sacar una cantidad que supera el límite diario, el cajero le avisará de que no es posible y volverá a solicitar una cantidad

R4. El cliente del banco podrá hacer una transferencia a otra cuenta .....................

REQUISITOS NO FUNCIONALESFácil de usarTiempo de respuesta inferior a 30 seg.................

Page 15: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 15

Ejemplo. Cajero automáticoCasos de uso. Descripción inicial

Caso de uso: 6DFDU�GLQHURActores: Cliente (iniciador)Tipo: ??Descripción: El caso de uso comienza con la identificación del

usuario. El cliente usa el caso de uso para acceder a su cuenta. El caso de uso le devuelve el dinero solicitado, un aviso de que no tiene saldo o de que ha excedido el límite diario.

Caso de uso: &RQVXOWDU�VDOGRActores: Cliente Tipo: ??Descripción: El caso de uso comienza con la identificación del

usuario. El usuario consulta el saldo de su cuenta.

Page 16: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 16

Capturar requisitos funcionales

2. Priorizar los casos de uso– Visión de la arquitectura– Casos de uso a desarrollar en las primeras iteraciones– Casos de uso significativos

Page 17: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 17

Capturar requisitos funcionales

3. Detallar casos de uso– Objetivo: flujo de sucesos (o eventos):

• Cómo comienza y termina el caso de uso• Cómo interactúa con los actores• Objetos que se intercambian

– Veremos:• Cómo estructurar la descripción de un CU• Qué incluir en una descripción de un CU• Cómo formalizar la descripción del CU

– Antes...

Page 18: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 18

Diagramas de estado

• Un diagrama de estados representa un elemento como una máquina de estados finita

• Un diagrama de estado, representa la vida de un único elemento

• Consta de: Estados, Transiciones, Eventos y Actividades

• Permite visualizar el comportamiento (dinámico) de un elemento

Page 19: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 19

Diagramas de estado

• Elementos– (VWDGR: situación en la vida de un elemento durante la cual se

satisface alguna condición, se realiza alguna actividad o se espera algún suceso

• Inicial, Intermedio, Final

– 7UDQVLFLyQ: relación entre dos estados que indica que un elemento que esté en un primer estado realizará ciertas acciones y entrará en el segundo estado cuando se produzca un suceso especificado y se satisfacen las condiciones indicadas

– 6XFHVR�R�HYHQWR: especificación de algún acontecimiento que ocupa espacio y tiempo. Es la aparición de un estímulo que puede disparar la transición de un estado a otro

Page 20: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 20

Diagramas de estado

EstadoE.Inicial

E.Final Transición

Estado

Suceso

Estado

T. autom.

en el paro en activo

jubilado

contratar

perder empleo

jubilarsejubilarse

Page 21: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 21

Diagramas de estado

• Actividad: ejecución no atómica en curso, dentro de una máquina de estados. Lo que se hace en el estado– do: operación que toma un tiempo en el estado. Puede

interrumpirse por un suceso, externo o interno, o terminar en transición automática

• Acción: computación atómica ejecutable que produce un cambio de estado del modelo o devuelve algún valor (deben ser operaciones de la clase)– entry: instantáneamente a la entrada del estado– exit: instantáneamente a la salida del estado– eventos

Page 22: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 22

a bEvento/acción

estado A

entry: acción por entrar

exit: acción por salir

do: actividad mientras en estado

Diagramas de estado

• La acción se considera instantánea• Ejemplos:

Page 23: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 23

Capturar requisitos funcionales

3. Detallar casos de uso (cont.)– Cómo estructurar un CU

• Camino básico: “normal”• Alternativas:

– El actor puede elegir diferentes caminos– Si está implicado más de un actor, las acciones de uno

pueden influir el camino de otro– El sistema detecta entradas erróneas– Algunos recursos funcionan mal

• Gráficamente: diagrama de transición de estados

Page 24: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 24

Capturar requisitos funcionales

3. Detallar casos de uso (cont.)– Qué incluir (descripción textual)

• Estado inicial como precondición (condiciones previas)• Cómo y cuándo comienza el caso de uso• Orden de acciones (flujo de sucesos)• Cómo y cuándo termina el caso de uso• Estados finales como postcondiciones (cond. posteriores)• Caminos no permitidos• Descripción caminos alternativos (incluida o no con el c. básico)• Interacción del sistema con los actores y cambios que producen• Uso de objetos, valores y recursos del sistema• Qué hace el sistema. Separar responsabilidades. “el sistema...”• Requisitos especiales

– Validar los casos de uso

Page 25: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 25

Capturar requisitos funcionales

3. Detallar casos de uso (cont.)– Para casos de uso sencillos es suficiente texto– Casos de uso complejos: necesitan estructuración y técnicas

visuales– Formalismos: diagramas de

• transición de estados• actividad• interacción

Page 26: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 26

Datospersonales

Datoscorregidos

Comprobardatos

Datosmodificados

modificar

Cancelar

aceptar

[datosNoVálidos]

[datosVálidos]

Diagramas de estado

• Diagrama de estados para un caso de uso: modificar datos alumno

Page 27: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 27

Caso de uso “Sacar dinero”Flujo de eventos

RESPUESTA DEL SISTEMA

2. Pide la clave de identificación

4. Comprueba la clave.

5. Presenta las opciones de operaciones disponibles

7. Pide la cantidad a retirar.

9. Procesa la petición y da el dinero solicitado. Devuelve la tarjeta y genera un recibo

ACCIÓN DEL ACTOR

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

3. Introduce la clave

6. Selecciona la operación de Reintegro

8. Introduce la cantidad requerida

10. Recoge la tarjeta.11. Recoge el recibo12. Recoge el dinero y termina el

caso de uso

Page 28: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 28

Caso de uso “Sacar dinero”Flujo de eventos

RESPUESTA DEL SISTEMA

���3LGH�OD�FODYH�GH�LGHQWLILFDFLyQ

���&RPSUXHED�OD�FODYH����3UHVHQWD�ODV�RSFLRQHV�GH�

RSHUDFLRQHV�GLVSRQLEOHV7. Pide la cantidad a retirar.

9. Procesa la petición y da el dinero solicitado. Devuelve la tarjeta y genera un recibo

ACCIÓN DEL ACTOR

���(VWH�FDVR�GH�XVR�HPSLH]D�FXDQGR�XQ�&OLHQWH�LQWURGXFH�XQD�WDUMHWD�HQ�HO�FDMHUR

���,QWURGXFH�OD�FODYH

6. Selecciona la operación de Reintegro

8. Introduce la cantidad requerida

10. Recoge la tarjeta.11. Recoge el recibo12. Recoge el dinero y termina el

caso de uso

Page 29: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 29

Caso de uso “Validar usuario”Flujo de eventos

RESPUESTA DEL SISTEMA

2. Pide la clave de identificación

4. Comprueba la clave

5. Si es válida presenta las opciones disponibles y se termina el caso de uso

ACCIÓN DEL ACTOR

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

3. Introduce la clave

CAMINOS ALTERNATIVOS

Evento 3. El cliente cancela la transacción

Evento 4. La clave no es válida y se reinicia el caso de uso. Siocurre tres veces se cancela la transacción y no se devuelve la tarjeta

££+$<�48(�'(),1,5�(6726�'26�)/8-26�'(�(9(1726��

Page 30: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 30

Caso de uso “Sacar dinero”Flujo de eventos

RESPUESTA DEL SISTEMA

2. Pide la cantidad a retirar.

4. Procesa la petición y da el dinero solicitado.

Devuelve la tarjeta y genera un recibo

ACCIÓN DEL ACTOR

1. Este caso de uso empieza cuando se han presentado las opciones de operaciones disponibles. Selecciona la operación de Reintegro

3. Introduce la cantidad requerida

5. Recoge la tarjeta.

6. Recoge el recibo

7. Recoge el dinero y termina el CU

Page 31: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 31

Caso de uso “Sacar dinero”Flujo de eventos

CAMINOS ALTERNATIVOS

· Evento 4: La cantidad solicitada supera el saldo. Se indica el error y se cancela la operación.· Evento 4: La cantidad solicitada supera el límite diario. Se indica el error y se vuelve a pedir otra cantidad.· Evento 4: En el cajero no hay dinero.

££+$<�48(�'(),1,5�(6726�75(6�)/8-26�'(�(9(1726��Podríamos definir diagramas de estados

5HTXLVLWR�QR�IXQFLRQDO asociado al caso de uso Sacar dinero:El tiempo de respuesta para un cliente debe ser <30 sg en el 90% de los casos

Page 32: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 32

Caso de uso “Validar usuario”Flujo de eventos

Leyendo datos

do: visualizar (login)

Validando clave

do: validar (nºtarjeta, clave)exit: n=n+1

enviar( nº tarjeta, clave )/n=0

cancelar

[ datos_correctos ]

tarjeta_introducida

[ NO datos_correctos AND n<3 ]

[ NO datos_correctos AND n=3 ]/tragar_tarjeta

Page 33: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 33

Capturar requisitos funcionales

4. Prototipo de IU– A partir de las descripciones de los casos de uso. – Pasos:

• Diseño lógico: qué necesita cada actor de la interfaz para que se pueda ejecutar el caso de uso

• Descripción y construcción del prototipo ejecutable pero acciones nulas (validación y depuración)

Page 34: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 34

Capturar requisitos funcionales

5. Estructurar el modelo de casos de uso– Identificar funcionalidad compartida

• Generalizaciones

– Identificar funcionalidad adicional y opcional • extend

– Identificar otras relaciones• include

Page 35: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 35

Diagramas de Casos de Uso

• Relaciones

– Generalización

Caso deuso

Caso deuso

Usuario

IdentificarAdm

AltaUsuario

IdentificarUsuario

Administrador

BajaUsuario

Page 36: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 36

Diagramas de Casos de Uso

• Relaciones– Inclusión

– ExtensiónCliente

Hacertransfer.

Sacardinero

Consultarsaldo

<<include>>

<<include>>

Cliente

Correcciónautomática.

Presentarresultados

Indicarprogreso

<<extend>>

<<extend>>

Page 37: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 37

Ejemplo. Cajero automático

Sacar dinero

Ingresardinero

Transf.

Consultarsaldo

Reparar

Validarusuario

Reponerdinero

Recogerdinero

<<include>>

<<include>><<include>>

<<include>>

<<include>>

<<include>>

<<include>>

Cliente del banco

Empleadosucursal

Encargadomantenimiento

Sacar con visa

<<extends>>

Page 38: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 38

Ejemplo. Cajero automático

Sacar dinero

Ingresardinero

Transf.

Consultarsaldo

Validarusuario

Reponerdinero

Recogerdinero

Cliente del banco

Empleadosucursal

Sacar con visa

Usuario <<extends>>

R1

R4,...

R2, R3,...

Page 39: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 39

Captura de requisitos

TAREAEnumerar requisitos candidatosEntender el contexto del sistemaCapturar requisitos funcionalesCapturar requisitos no funcionales

PRODUCTOS (artifact)

Lista de características

Modelo de negocio o de dominio

Modelo de casos de usoPrototipo IU

Requisitos suplementarios o casos individuales

Page 40: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 40

Ejemplo. Curso Virtual

Matricularse

Modificar datosalumno

Mostrar lecciones

Realizar test

Consultaralumnos

Comprobarcopias

Alumno

Profesor

Descargar apuntes

Consultar bibliografía

Recomendar

Asistiral foro

Usar chat

<<extend>>

<<extend>>

<<extend>><<extend>>

Identificarusuario

Usuario

Page 41: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 41

Ejemplo. Punto de ventaLista de requisitos candidatos

FUNCIONES BÁSICASR1.1. Grabar la venta actual (productos comprados por el cliente)R1.2. Calcular el total de la venta actual incluidos los impuestosR1.3. Capturar información del producto usando el código de barras o

tecleando el código del producto.R1.4. Reducir la cantidad en inventario cuando se realice la ventaR1.5. Registrar ventas realizadasR1.6. El dependiente debe iniciar una sesión con identificador y clave para

usar el sistemaR1.7. Dar un mecanismo de almacenamientoR1.8. Dar mecanismos de comunicación con otros procesos y sistemasR1.9. Mostrar descripción y precio del producto almacenado NO

FUNCIONAL 5 seg, color

Page 42: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 42

Ejemplo. Punto de ventaLista de requisitos candidatos

FUNCIONES DE PAGOR2.1. Manejar pagos en metálico, tomar cantidad ofrecida y calcular el

cambioR2.2. Manejar pagos con tarjeta, capturar información de la tarjeta con un

lector o manualmente y autorizar el pago vía modem.

OTRAS FUNCIONESR3.1. Es necesario dar de alta dependientes nuevos en el puesto de venta

y dar de baja aquellos que dejan el puesto de venta.R3.2. El puesto de venta es encendido y apagado cada día por el

encargado de la sección, que comprueba que el puesto funciona correctamente y comprueba la fecha y la hora

REQUISITOS NO FUNCIONALESFácil de usar, Tiempo de respuesta corto, Plataforma, Precio al públicoInterfaz (gráfica, con colores, ventanas, facilitar navegación por teclado,…)

Page 43: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 43

Ejemplo. Punto de venta

Comprarproductos

Iniciar sesión

Devolverproductos

Comenzar

Gestionar usuarios

Cerrar

Dependiente

Encargado

Admin.

Cliente

Punto de venta

R1.1, R1.2, R1.3, R1.7, R1.9, R2.1, R2.2, R2.3, R2.4

Page 44: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 44

Caso de uso “Acceder al sistema”

RESPUESTA DEL SISTEMA

2. El sistema comprueba que el formato de ambos campos es el adecuado; es decir, que el DNI es un string de 8 dígitos y que la clave es una secuencia de 4 dígitos

3. El sistema verifica que la clave tecleada se corresponde con el DNI tecleado; es decir, que la clave es la correcta para ese DNI.

4. El sistema verifica que la fecha actual es la que le corresponde al actor para matricularse.

5. El sistema comprueba que el actor no adeuda ningún importe a la Universidad

ACCIÓN DEL ACTOR

1. El actor rellena los campos de DNI y clave (la clave se la dió la Universidad) en una pantalla que le ha presentado el sistema y pulsa sobre el botón HQYLDU

&DPLQRV�DOWHUQDWLYRV:Evento 1: el actor cancela la operaciónEvento 2: existe error en el formato del DNI y/o de la claveEvento 3: existe error en la claveEvento 4: la fecha actual no es la asignada al actor para matricularseEvento 5: el actor es moroso

Page 45: 02 Proceso Unificado Captura de Requisitos

Ingeniería del software 45

Caso de uso “Acceder al sistema”

Leer datos

do/ visualizar (login)

Validar datos

do/ validaDatos (NIF, clave)

Datos incorrectos

do/ visualizar (login.error.datosIncorrectos)

clave incorrecta

do/ visualizar (login.error.clave)Moroso

do/ visualizar (login.error.deudor)

aqui

enviar( NIF, clave )

[ datos incorrectos ]

[ dia incorrecto ] [ moroso ]

salir salirsalir

[ datos correctos ]

clave incorrecta

do/ visualizar (login.error.clave)

[ clave incorrecta ]

aqui

{ejecuta.startTime > 5 and ejecuta.stopTime < 2}{ejecuta.numero_de_usuarios < 50}

ejecutarAplicación / ejecuta