Patrón de diseño ECB (Entity, Control, Boundary) El término patrón sugiere la forma de “algo hecho”, “algo pre -concebido”, “algo ya definido”.
Patrón se define como: “Modelo que sirve de muestra para sacar otra cosa igual.” (Española, 2012). Por definición, un patrón de diseño sirve como base para la resolución de problemas. Para que sea considerado como tal debe poseer ciertas características, una de ellas es que debe probar su efectividad en situaciones que hayan sido resueltas previamente. Además, debe ser reutilizable, esto quiere decir que puede aplicarse a más de un problema en distintos escenarios. En este aspecto, el patrón ECB posee características que permiten su reutilización, puede ser usado en distintos escenarios y, además, permite dar un enfoque fundamental para la modularización de los sistemas de software. Aunque su uso está asociado generalmente con la interfaz gráfica del sistema, involucra conceptos que abordan las técnicas orientadas a objetos. Las principales ventajas que se pueden apreciar al usar este patrón son:
Centra su atención en los requisitos funcionales del sistema.
Se puede notar su incidencia en el contexto del dominio del problema.
Ocasionalmente definen una interfaz en términos de operaciones.
Se pueden definir atributos pero en un nivel alto.
Siempre se define con base en los estereotipos entidad, interfaz y control.
INACAP Virtual |Material de apoyo - Análisis y diseño orientado a objetos
2
Elementos que componen el patrón ECB El patrón ECB utiliza estereotipos gráficos que representan esencialmente los objetos y las acciones que realiza el sistema. Éstos son:
Entidad o entity: entrega y/o recibe datos en el sistema.
Control: realizan las acciones definidas en el sistema o acciones provenientes de la
frontera.
Boundary o frontera: corresponden a las interfaces (acciones) con las cuales
interactúan los objetos de control y las entidades. La simbología asociada es la siguiente:
Figura 1:
Los objetos entidad permiten modelar la información que el nuevo sistema deberá gestionar, información que permanece incluso cuando el caso de uso finaliza.
Es importante mencionar que los objetos entidad son solo portadores de información, dado que el comportamiento, y toda la dinámica del sistema, debe recaer y ser responsabilidad de los objetos de control.
INACAP Virtual |Material de apoyo - Análisis y diseño orientado a objetos
3
Observa algunos ejemplos de objetos de este tipo:
Figura 2: En referencia al objeto interfaz es necesario indicar que toda la funcionalidad que depende directamente del entorno recae en este objeto, pues en ella se modelan todas las interacciones entre el sistema y sus actores. Los objetos interfaz tienen por funcionalidad trasladar las acciones de los actores a eventos en el sistema y éstos últimos a información que pueda ser mostrada al actor. Normalmente, el objeto interfaz representa la abstracción de elementos comunes con los que interactúan los usuarios, éstos son, entre otros: ventanas, formularios, paneles, dispositivos de entrada y salida, etc. Observa el ejemplo que hace referencia a dos objetos del tipo interfaz:
Figura 3: Los actores necesitan de interfaces para poder llevar a cabo sus acciones. Acciones que en su conjunto representan la operatividad del sistema. Aprecie la figura en la cual el objeto actor interactúa con una interfaz:
INACAP Virtual |Material de apoyo - Análisis y diseño orientado a objetos
4
Figura 4: Los objetos de control, por su parte, al ser un nexo entre los usuarios y los datos almacenados, permiten capturar reglas del negocio, las que por lo general están sujetas a cambios. Siempre actúan como unión entre los objetos interfaz y entidad, pero no siempre aparecen (eso depende del grado de complejidad del proceso en cuestión). Su generación depende de los casos de uso, dado que, por lo general, cada caso de uso tiene inicialmente un objeto de control asociado. Observa el siguiente ejemplo en el que se aprecia la interacción de un actor, un objeto entidad, una interfaz y un objeto de control
Figura 5: INACAP Virtual |Material de apoyo - Análisis y diseño orientado a objetos
5
El cliente interactúa con la interfaz cajero, que a su vez se relaciona con el objeto de control que en definitiva es quien tiene las operaciones necesarias para gestionar los datos de la entidad cuenta corriente.
El siguiente caso ejemplifica, en forma más acabada, las interacciones de los objetos que componen el patrón ECB.
Figura 6: La imagen muestra la interacción del cliente con la interfaz cajero para requerir las operaciones específicas, a su vez, las operaciones solicitadas (procesos) son llevadas a efecto por los controladores adecuados, que en definitiva son los que reflejan los cambios realizados sobre la entidad cuenta corriente. INACAP Virtual |Material de apoyo - Análisis y diseño orientado a objetos
6
La importancia de los objetos (entidad, interfaz y control) radica en que aparecen en forma natural asociados a los casos de uso. Además, es posible obtener objetos más pequeños y especializados, que ayudan a la construcción de los diagramas de secuencia usados en UML cuando es necesario definir la dinámica de comportamiento del sistema que se está construyendo. El uso del patrón ECB permite la definición de atributos en un nivel alto, por lo tanto, la abstracción se torna fundamental para poder comenzar el análisis de la solución a una problemática. Desde el punto de vista de los datos y su comportamiento, en términos simples, se deben identificar los objetos y las acciones correspondientes a cada uno de ellos, omitiendo, en primera instancia, los detalles de su composición y/o comportamiento. Para bosquejar el esquema, tomando como base el diagrama del cajero automático y del banco usado como ejemplo del patrón ECB, se puede indicar que:
Quien usa el cajero automático es una persona denominada “cliente”
El cajero automático es un ente automatizado
Por parte del banco, la forma personalizada de atender es por medio de cajeros, que también son personas
Las acciones presenciales en el banco se llevan a efecto por la interacción directa entre un cliente y el cajero.
El cajero del banco es quien realiza las operaciones solicitadas por el cliente. Por lo tanto, en primera instancia se podrían deducir actores, entidades, relaciones y
acciones pertinentes asociadas a cada objeto y el ámbito en el que las desarrollan. Un primer acercamiento a la descomposición básica de los objetos que conforman este estudio sería: INACAP Virtual |Material de apoyo - Análisis y diseño orientado a objetos
7
Cliente y cajero. o
RUT.
o
Nombre.
o
Domicilio.
o
Fono (puede haber más pero por ahora se omitirán).
Cajero Automático o
Número de cajero.
o
Banco.
o
Modelo.
o
Ubicación.
Banco o
Código.
o
Nombre.
o
Sucursal.
o
Dirección.
Transacción o
Cliente.
o
Banco.
o
Tipo de transacción.
o
Fecha.
o
Monto.
En este punto se han indicado, básicamente, los objetos que conforman el sistema y los atributos que a ellos definen.
INACAP Virtual |Material de apoyo - Análisis y diseño orientado a objetos
8
A continuación se denotan algunas acciones que son relevantes durante la vida útil de los objetos.
Cliente o
Solicita transferencia bancaria.
o
Solicita dinero.
Cajero Automático o
Realiza entrega dinero.
o
Despliega opciones para cliente.
Banco o
Almacena datos clientes.
o
Mantiene cuentas a clientes.
o
Realiza operaciones sobre cuentas.
A modo de ejemplo, las acciones de solicitar, desplegar y mantener, como han sido expuestas en el ejemplo, indican, en forma narrativa, cuáles son los procesos necesarios de llevar a efecto y quiénes son las entidades encargadas de invocarlos. Toda acción recaerá en un objeto de control que encapsula esta acción, contemplándola como un todo posible de realizar. Tomando como referencia el mismo ejemplo, es posible que el cliente actúe en forma presencial o no, pero las condiciones serán necesariamente distintas dado el entorno en el que se desarrollan. Respecto al tema de la abstracción, es válido realizar las siguientes interrogantes: ¿Qué sucede si el cajero automático no entrega el dinero y de igual forma realiza el descuento desde la cuenta del cliente?, o bien ¿qué pasaría si mientras se realiza la transacción se produce un corte de luz?, etc. Todas esas interrogantes forman parte del INACAP Virtual |Material de apoyo - Análisis y diseño orientado a objetos
9
detalle de la solución, en primera instancia, es necesario abstraerse de situaciones particulares que pudiesen confundir a quien está realizando el estudio preliminar. El uso de este patrón está orientado a bosquejar en un alto nivel las características operativas y de interactividad que el sistema ofrece. El uso de este patrón, en conjunto con otras herramientas de diseño, permitirá dar mayor grado de detalle a los componentes del sistema a desarrollar.
INACAP Virtual |Material de apoyo - Análisis y diseño orientado a objetos
10