Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 1
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta Análisis de Casos de Uso
Grupo de Ingeniería del Software y Bases de Datos
Departamento de Lenguajes y Sistemas Informáticos
Universidad de Sevilla
diciembre 2014
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
• Objetivos de este tema
– Conocer el proceso básico de análisis de casos de
uso y otros requisitos funcionales o de conducta.
– Conocer los conceptos básicos del prototipado de
interfaz de usuario.
– Conocer los conceptos básicos de los diagramas
de secuencia UML.
– Conocer los conceptos básicos de la especificación
de operaciones de sistema.
– Ser capaz de analizar casos de uso y otros
requisitos funcionales o de conducta.
diciembre 2014 Ingeniería de Requisitos 1
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 2
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Modelo de un sistema software
– Modelo estático (modelo conceptual)
• Describe la estructura y las restricciones de la
información que representa el estado del sistema.
– Modelo de conducta
• Describe las interacciones del sistema con los
actores y cómo evoluciona su estado al interactuar.
Modelo = +
Modelo de conducta = Interacciones externas
+
Evolución interna
Modelo estático = Estructura
+
Restricciones
2
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Modelo de conducta de un sistema software
Modelo de conducta
Evolución
interna
3
Interacciones
externas
Interfaz
de usuario
Interfaz
de servicios
Diagramas
de estado
Operaciones
del sistema
deben ser coherentes con
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 3
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Para cada caso de uso…
4
Desarrollar diagramas de secuencia
Elaborar prototipos de interfaz de usuario
Identificar y especificar operaciones de sistema
¿Cómo va a ser la
interfaz entre los
usuarios y el sistema?
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Para cada caso de uso…
5
Desarrollar diagramas de secuencia
Elaborar prototipos de interfaz de usuario
Identificar y especificar operaciones de sistema
¿Qué servicios debe
proporcionar el sistema
a la interfaz de usuario?
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 4
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Para cada caso de uso…
6
Desarrollar diagramas de secuencia
Elaborar prototipos de interfaz de usuario
Identificar y especificar operaciones de sistema
¿Puede el sistema
proporcionar esos
servicios con su modelo
estático?
context op( p1:T1, …, pN:TN ) pre: p1 > 0 pre: clientes->excludes( p2 ) post: clientes->forAll( …) post: factura->exists( … ) post: factura->includesAll( … )
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol
– Un club de fútbol desea que los aficionados
puedan adquirir entradas para los partidos a
través de internet.
• ¿Por qué? (objetivos de negocio)
– Mejorar la imagen del club y la satisfacción de los
aficionados evitando colas en las taquillas.
– Incrementar los ingresos facilitando la adquisición
de entradas sin que los aficionados tengan que
desplazarse.
– Ahorrar costes de personal
de taquillas y de personal
de seguridad para vigilar
las colas.
7
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 5
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol
1. El usuario solicita al sistema comprar entradas.
2. El sistema muestra una lista de partidos y pide al usuario
que seleccione del que desea comprar entradas.
3. El usuario selecciona el partido para el que desea comprar
entradas.
4. El sistema muestra, para cada zona del estadio, las
disponibilidad de entradas.
5. El usuario selecciona las entradas que desea comprar.
6. El sistema muestra el importe de las entradas
seleccionadas.
7. El usuario confirma la compra de las entradas.*
8. El sistema muestra las imágenes de las entradas para que
el usuario las imprima o las use directamente para acceder
al estadio.
8
* Para simplificar, no se detalla cómo se realiza la transacción económica.
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol
– Modelo estático desarrollado
9
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 6
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• ¿Qué es el prototipado de interfaz de usuario?
– Es una técnica de validación de requisitos cuyo
objetivo es asegurarse (en la medida de lo
posible) que el sistema a desarrollar (los
requisitos) coincide con las expectativas de los
usuarios.
– En general, los prototipos de interfaz de usuario
deben evitar entrar en aspectos estéticos,
centrándose en la interacción.
– Algunos autores recomiendan el uso de prototipos
en papel y/o en blanco y negro (wireframe).
10
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Herramientas de prototipado
– Herramienta de escritorio (AIR)
– Periodo de prueba de 7 días
– Versión web de demostración gratuita
11
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 7
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Herramientas de prototipado
– Acuerdo con la Universidad de Sevilla
– https://unisevilla.mybalsamiq.com
– Acceso por invitación de un profesor
12
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Herramientas de prototipado
– Herramienta web
– Opción gratuita con 10 pantallas y dos usuarios
13
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 8
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Herramientas de prototipado
– Herramienta web
– Periodo de prueba de 14 días
– Opción gratuita no permite prototipado wireframe
14
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• ¿Cómo prototipar un caso de uso?
– Ponerse en el lugar del usuario
• Si nosotros fuéramos los usuarios, cómo nos
gustaría que el sistema nos facilitara nuestras
tareas.
– Mostrar la información necesaria, ni más ni menos
• La información esencial debe estar disponible sin
necesidad de buscarla, mientras que…
• La información no esencial debe mostrarse sólo si el
usuario lo requiere.
15
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 9
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• ¿Cómo prototipar un caso de uso?
– Facilitar las opciones más habituales
• Las opciones más habituales deben ser los valores
por defecto, ahorrando trabajo al usuario.
– Utilizar metáforas del dominio del problema
cuando sea posible
• Si la tecnología lo permite, simular el entorno del
usuario en la interfaz del sistema.
16
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol (móvil)
17
Lista desplegable de partidos con el siguiente partido seleccionado por defecto
Fecha y hora del partido seleccionado
Lista de todas las zonas del estadio con el precio de la entrada, aunque no queden entradas disponibles
Botón para empezar el proceso de selección y compra de entradas (si quedan entradas disponibles)
Permite al usuario ver para qué partidos quedan entradas
disponibles y a qué precio
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 10
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol (móvil)
18
Partido para el que se va a comprar la entrada, con fecha y hora
Zona del campo de la entrada, indicando el precio
Vista de las zonas del estadio por la que el usuario puede navegar y seleccionar la zona con el dedo
Botón para confirmar compra
Permite al usuario hacerse una idea de
la ubicación del asiento
La zona seleccionada debe marcarse visualmente
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Diagramas de secuencia en UML
– Modelan secuencias de interacciones entre
objetos.
– En análisis de casos de uso, los objetos suelen ser:
• Actores humanos
• Interfaz de usuario
del sistema
• Interfaz de servicios
del sistema
• Otros sistemas de
los que se requieran
servicios (requisitos
de integración)
19
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 11
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Diagramas de secuencia en UML
– Se pueden especificar iteraciones y alternativas
20
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Diagramas de secuencia en UML
– Se pueden especificar iteraciones y alternativas
21
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 12
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Diagramas de secuencia en UML
– Se pueden especificar iteraciones y alternativas
22
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol*
23
* Versión para escritorio o tablet, la de móvil es ligeramente distinta.
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 13
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol*
24
* Versión para escritorio o tablet, la de móvil es ligeramente distinta.
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Especificación de operaciones de sistema
– Se asume una clase Sistema, que es una
composición de todas las clases del modelo
estático.
– Las operaciones de la clase Sistema constituyen la
interfaz de servicios del sistema.
25
Fuente del diagrama: [D’Souza y Wills, 1999].
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 14
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Especificación de operaciones de sistema
– Operaciones que no devuelven valores
context Sistema::Operación( p1:T1,…,pN:TN )
pre nombrePre1: expresión1
…
pre nombrePreM: expresiónM
post nombrePost1: expresiónM+1
…
post nombrePostp: expresiónM+p
26
Condiciones sobre parámetros y/o el estado del sistema
Condiciones sobre el estado del sistema
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Especificación de operaciones de sistema
– Operaciones que devuelven valores
context Sistema::Operación(…) : TR
pre nombrePre1: expresión1
…
pre nombrePreM: expresiónM
post nombrePost1: expresiónM+1
…
post nombrePostp: expresiónM+p
27
Condiciones sobre parámetros y/o el estado del sistema
Condiciones sobre el resultado y/o el estado del sistema
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 15
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Especificación de operaciones de sistema
– Operaciones exclusivamente de consulta
context Sistema::Operación(…) : TR
pre nombrePre1: expresión1
…
pre nombrePreM: expresiónM
body: expresiónM+1
28
Condiciones sobre parámetros y/o el estado del sistema
Expresión del resultado
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol
29
Sistema::PartidosNoDisputados() : Set( Partido ) -- Devuelve el conjunto de partidos -- no disputados de la temporada actual
Sistema::PrecioDisponibilidad( p : Partido, z: Zona ) : TupleType( p : Integer, d : Boolean ) -- Devuelve una tupla ( precio, disponibilidad ) -- para un partido dado y una zona dada
Sistema::Zonas() : Set( Zona ) -- Devuelve el conjunto -- de zonas del estadio
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 16
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol
30
context Sistema::Zonas() : Set( Zonas ) -- Devuelve el conjunto -- de zonas del estadio body: zona -- extensión de Zona -- equivale a Zona.allInstances()
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol
31
context Sistema::PartidosNoDisputados() : Set( Partido ) -- Sea T la temporada actual -- Devolver todos los partidos de T cuya -- fecha sea posterior a la fecha actual body: let t = ¿temporada actual? in t.partido->select( p | ¿p.fecha >= ? )
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 17
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
Ingeniería de Requisitos diciembre 2014
• Ejemplo: venta de entradas de fútbol
32
context Sistema::PrecioDisponibilidad( p : Partido, z : Zona ) : TupleType( prc : Integer, dis : Boolean ) -- Devuelve una tupla ( precio, disponibilidad ) -- para un partido dado y una zona dada body: Tuple { -- prc = precio de entrada de la zona para -- la temporada del partido prc = precio->any( zona = z and temporada = p.temporada ).precioEntrada, -- dis = existe al menos un asiento no abonado -- en la temporada del partido y para el que no -- se ha vendido entrada para el partido dis = z.asiento->exists( as | as.abono->select( temporada = p.temporada )->isEmpty() and as.entrada->select( partido = p )->isEmpty() ) }
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
• Bibliografía
– C. Larman, UML y Patrones.
Ed. Prentice-Hall, 1999.
• Capítulos 13 y 14
– C. Larman, UML y Patrones (2ª
edición). Ed. Prentice-Hall, 2003.
• Capítulos 9 y 13
– D. D’Souza y A. Wills, Objects,
Components, and Frameworks with
UML: The Catalysis Approach. Ed.
Addison-Wesley, 1999.
• Capítulo 4
diciembre 2014 Ingeniería de Requisitos 33
Modelado de Conducta: Análisis de Casos de Uso 09/12/2014
IR 18
1. Modelo de conducta de un sistema
2. Análisis de casos de uso
3. Prototipado de interfaz de usuario
4. Diagramas de secuencia
5. Operaciones de sistema
© D
iseño d
e A
mador
Durá
n T
oro
, 2011
Modelado de Conducta: Análisis de Casos de Uso
• Comentarios, sugerencias, …
diciembre 2014 Ingeniería de Requisitos 34