El modelo Objeto-Comportamiento
Consiste en evaluar el
funcionamiento dinámico del sistema obedeciendo a estímulos externos. El modelo
se crea siguiendo los siguientes pasos:
-
Evaluación de todos los casos de uso
-
Crear una traza de sucesos para cada caso de
uso
-
Identificación de sucesos y comprender como
se relacionan con los objetos
-
Construir un diagrama de transición de
estados
Evaluación de los casos de uso
Se considera que ocurre un
suceso, cada vez que un actor (puede ser humano o no) intercambia información
con el sistema. Es importante recordar que un suceso es booleano (o sucede o no
sucede) no caben más posibilidades, es decir un suceso no es la información que
se intercambia si no solamente la contabilización de dicho suceso.
Por ejemplo una persona se acerca
a un cajero automático y realiza las siguientes operaciones:
1-
Introduce la tarjeta en la ranura y
teclea su número de 4 cifras. La contraseña se compara
con la almacenada en el sistema. Si dicha contraseña es incorrecta un mensaje
por pantalla avisará y restaurará el sistema a las condiciones iniciales, si es
correcta muestra un menú y espera la
siguiente acción.
2-
El usuario elije sacar dinero y
el sistema comprueba si el saldo tecleado es igual a superior al máximo
diario o al saldo disponible en la cuenta.
Si es así entrega el dinero y muestra de nuevo el menú, en caso contrario
muestra un mensaje indicando la situación entrega la diferencia y muestra el
menú con la opción sacar dinero deshabilitada.
3-
El usuario coge el dinero y la tarjeta, si
no se detecta la retirada del dinero o de la tarjeta envía un mensaje en
pantalla y otro sonoro indicando el olvido. Si la retirada es completa vuelve
al estado inicial. Si no persiste la señal unos segundos y vuelve al estado
inicial.
La partes subrayadas indican
sucesos. Debe buscarse un actor para cada suceso y anotar la información que se
intercambia en cada suceso junto con posibles restricciones o condiciones.
Por ejemplo, en el caso en
el que el usuario teclea su contraseña de 4 cifras desde el punto de vista del
Análisis OO el actor transmite un suceso al teclado, dicho suceso se puede
llamar clave_introducida pero la clave concreta en sí, no es una parte esencial
del modelo. En este caso, el hecho de introducir la clave no cambia el flujo de
control del caso de uso pero la tarea comparar_contraseña si lo cambia pues a
partir de aquí el flujo discurrirá por dos caminos diferentes si la contraseña
es correcta o incorrecta.
Cuando se han identificado
todos los sucesos, se asocian a los objetos que pueden generar sucesos,
incluidos los actores
Construcción del diagrama de transición de estados
Para construir este diagrama
hay que tener en cuenta dos caracterizaciones diferentes de estados, una que
muestra el estado de cada objeto y otra que muestra el estado del sistema en su
conjunto.
También hay que distinguir
entre características pasivas (estado actual de todos los atributos de un
objeto) y características activas que indica el estado actual del objeto en el
momento de producirse el cambio de estado.
Un ejemplo de
características pasivas de una cuenta corriente en un cajero sería el titular,
el Nº de cuenta etc. Las características activas sería el saldo, si la cuenta
está anulada o no, etc. Para pasar una transición de estado activo a otro debe
ocurrir un suceso (p.ej. sacar dinero y el saldo de la cuenta cambia). Cada componente de un modelo
objeto-comportamiento es una representación de los estados activos de cada
objeto y de los sucesos que producen dichos cambios en estos estados activos.
El esquema mostrado arriba
se llama de transición de estados,
en él cada flecha es una transición de un estado activo de un objeto a otro. Las
etiquetas al lado de cada flecha son los sucesos que disparan la transición.
Existe el concepto de guarda, que es una condición booleana que posibilita la
ocurrencia de una transición. La guarda
de una transición depende de los valores tomados por uno o varios atributos de
un objeto. La guarda depende de un estado pasivo del objeto.
Una acción ocurre como consecuencia de
una transición, e implica una o más responsabilidades del objeto. Por ejemplo
introduce contraseña en el esquema de arriba es una acción.
Hay otro tipo de esquema
para representar los estados del sistema, se trata de modelo de traza de sucesos.
En este modelo se indica como un suceso causa una transición del sistema de un
estado a otro. Lo sucesos son booleanos. El sistema del cajero automático
representado con este tipo de esquema quedaría del siguiente modo:
En este esquema, el usuario introduce la contraseña a través del teclado, el sistema la compara,
si es incorrecta avisa de que la contraseña se debe introducir de nuevo, si es
correcta muestra el menú de las
operaciones a realizar.
No hay comentarios:
Publicar un comentario