Publicado el 10 de Julio del 2019
881 visualizaciones desde el 10 de Julio del 2019
525,0 KB
62 paginas
Creado hace 14a (27/03/2011)
Programación Avanzada
Análisis
Especificación del
Comportamiento del Sistema
Contenido
Introducción
Modelo de Casos de Uso
La Clase Sistema
Interacciones con el Sistema
Contratos de Software
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
2
Introducción
Durante esta actividad de análisis se busca
describir en forma precisa cuál debe ser el
comportamiento esperado del sistema
Se trabaja sobre el Modelo de Casos de Uso
Viendo al sistema como una unidad
Se definen protocolos que caractericen el uso
del sistema por parte de los actores en cada
escenario de los casos de uso
El comportamiento completo del sistema es
especificado al especificar cada mensaje de
los protocolos
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
3
Introducción (2)
Cada escenario de los casos de uso a
analizar es entendido en términos de una
interacción entre los actores involucrados
y el sistema
Al describir el significado de cada uno de
los mensajes identificados en cada
interacción se está especificando el
comportamiento del sistema
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
4
Introducción (3)
Nos enfocamos en qué es lo que debe
hacer el sistema ante cada mensaje
La forma en cómo el sistema resuelve
internamente un mensaje será definida
durante la etapa de diseño
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
5
Modelo de Casos de Uso
Contenido:
Introducción
Breve descripción textual que sirve como
introducción al modelo
Relevamiento de funcionalidades
Descripción textual de información no reflejada
en el resto del modelo, por ejemplo:
Secuencias típicas en que los casos de uso son
utilizados por los usuarios
Otras funcionalidades no capturadas en los casos de
uso
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
6
Modelo de Casos de Uso (2)
Contenido (cont.)
Actores
Todos los actores detectados para el sistema
Casos de uso
Todos los casos de uso definidos
Relaciones
Todas las asociaciones entre actores y CU
Comportamiento
Especificación del comportamiento de cada
caso de uso en el modelo, el cual está definido
por: Eventos del Sistema y Contratos de
Software
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
7
La Clase Sistema
Durante esta actividad el sistema será
considerado como un objeto:
Que es instancia de una clase Sistema
Que tiene operaciones (puede recibir
mensajes)
Que tiene un estado
En todo Modelo de Casos de Uso se
asume que existe una clase Sistema
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
8
La Clase Sistema (2)
Existe una única instancia de esta clase
la cual representa al “sistema entero”
Sistema
: Sistema
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
9
La Clase Sistema (3)
Las operaciones de esta clase permiten
que el sistema reciba mensajes de los
actores:
Se identifican al definir los protocolos que
representan los escenarios de los diferentes
casos de uso
Durante el análisis no se busca diseñarlas
Su semántica es definida en términos del
efecto que deben tener sobre el estado del
sistema
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
10
La Clase Sistema (4)
Un actor puede enviar mensajes al
sistema “invocando” sus operaciones
Sistema
iniciarVenta()
agregarProducto()
terminarVenta()
realizarPago()
iniciarVenta
: Sistema
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
11
La Clase Sistema (5)
En esta actividad el estado del sistema se
asume como una configuración de objetos
válida respecto al Modelo de Dominio
: Sistema
: Producto
: Producto
: Producto
: EspProd
: EspProd
: Venta
: Venta
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
12
La Clase Sistema (6)
Dado que no todos los actores participan en
todos los casos de uso la visibilidad sobre las
operaciones del sistema debe ser limitada
Por tanto la clase sistema podría realizar
diferentes interfaces
Cada interfaz contendría las operaciones
utilizadas en un (conjunto de) caso(s) de uso
Las operaciones se encontrarían organizadas
y los actores verían al sistema a través de
la(s) interface(s) que le corresponde(n)
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
13
La Clase Sistema (7)
El actor Cajero usará al
sistema solamente a través
de esta interfaz
El actor Supervisor usará al
sistema solamente a través
de esta interfaz
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
14
SistemacerrarCaja()calcularTotales()«interface»CierreDeCajainiciarVenta()agragarProducto()finalizarVenta()realizarPago()«interface»RealizarVentaInteracciones con el Sistema
Los casos de uso describen la forma en que
actores utilizan al sistema para cumplir con
sus objetivos
Es necesario expresar estas ideas desde un
punto de vista técnico
Para ello se definen protocolos que
determinan la interacción entre los actores y
el sistema, ya sea para uno o varios
escenarios de un caso de uso
Cada protocolo es expresado mediante un
Diagrama de Secuencia del Sistema (DSS)
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
15
Interacciones con el Sistema (2)
Esc. Típico
Esc. Alternativo 1
Caso de Uso 1
.
.
.
Esc. Alternativo n
Esc. Típico
Esc. Alternativo 1
Caso de Uso 2
.
.
.
Esc. Alternativo m
.
.
.
Los DSSs se
incluyen en la secc.
“Comportamiento”
del modelo
Modelo de
Casos de Uso
Un DSS que define
la interacción entre
los actores y el sistema
en el escenario dado
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
16
: Sistema : CajeroiniciarVenta()agregarProducto(id,cant)terminarVenta()realizarPago(monto)descripcion, subtotal* [mas productos]total con impuestoscambio, recibo : Sistema : CajeroiniciarVenta()agregarProducto(id,cant)terminarVenta()realizarPago(monto)descripcion, subtotal* [mas productos]total con impuestoscambio, recibo : Sistema : CajeroiniciarVenta()agregarProducto(id,cant)terminarVenta()realizarPago(monto)descripcion, subtotal* [mas productos]total con impuestoscambio, recibo : Sistema : CajeroiniciarVenta()agregarProducto(id,cant)terminarVenta()realizarPago(monto)descripcion, subtotal* [mas productos]total con impuestoscambio, reciboInteracciones con el Sistema
Eventos del Sistema
Un evento del sistema …
Es un estímulo externo,
Es generado por un actor, y
Ante el cual el sistema debe reaccionar
Las acciones de los actores (sobre el
sistema) descritas en los casos de uso
sugieren los eventos del sistema
Es necesario considerar la definición de
evento del sistema para identificarlos
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
17
Interacciones con el Sistema
Eventos del Sistema (2)
Ejemplo:
“El Cliente llega a la caja con artículos para
comprar”
Es un evento externo pero no afecta al sistema
No es un evento del sistema
“El Cajero ingresa el identificador del producto”
Es un estímulo externo generado por un actor ante
el cual el sistema debe reaccionar
Es un evento del sistema
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
18
Interacciones con el Sistema
Operaciones del Sistema
Los eventos del sistema disparan una
operación del sistema
Estas operaciones son ejecutadas por la
“instancia sistema” en resupuesta a la
ocurrencia de un evento del sistema
Las operaciones del sistema relativas a
uno o varios escenarios de un caso de uso
permiten definir la interacción entre los
actores y el sistema
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
19
Interacciones con el Sistema
Operaciones del Sistema (2)
Las operaciones del sistema pueden tener
asociados parámetros
Ejemplo:
“El Cajero ingresa el identificador del producto”
representa un evento que dispara la operación
void agregarProducto(ident:String)
“El Cajero … hasta terminar los productos”
representa un evento que dispara la operación
void terminarVenta()
Programación Avanzada | Análisis: Especificación del Comportamiento del Sistema
Comentarios de: Análisis - Especificación del Comportamiento del Sistema - Programación Avanzada (0)
No hay comentarios