O modelo Entity Control Boundary

O conceito de Entity Control Boundary introduz um padrão que define um ponto de início para a distribuição de responsabilidades à um conjunto de elementos de um sistema baseado em três perspectivas de colaboração entre eles.

O ECB relaciona alguns elementos do projeto:

  • representação das interfaces para sistemas externos;
  • realização de casos de uso;
  • projeto da solução;
  • análise e projeto;

Quando são identificados os elementos de algum cenário, ou comportamento, do sistema, é possível alinhar cada um em uma das perspectivas: Entity, Control, ou Boundary.

Este padrão é similar ao Model View Controller, porém o Entity Control Boundary não é tão adequado para lidar com interfaces de usuário, e provê ao controller (controlador) um papel significativamente diferente.

Exemplo do padrão ECB

Elementos Entity

Uma entity (leia-se "entiti" - entidade) é um elemento passivo que é responsável por alguma quantidade de informação importante.

Um exemplo de entidade para uma aplicação seria uma entidade Cliente (Customer) que gerencia toda a informação sobre o cliente. Um elemento do projeto para esta entidade seria incluir dados do cliente, gerenciar dados, validar informações do cliente e realizar outros funções de negócio, por exemplo: "este cliente pode comprar o produto X?".

A identificação das entidades como parte deste padrão pode ser feita várias vezes em diferentes níveis de abstração, e por diferentes perspectivas de contexto.

Elementos Control

Um elemento Control (leia-se "côntrol" - controle) gerencia a ordem de interações no cenário. Um elemento de controle pode gerenciar os comportamentos finais do centário, ou pode gerenciar as comunicações entre um conjunto de elementos. Comportamentos e regras de negócio relacionadas às informações relevantes ao cenário podem ser atribuídas a entidades; os elementos de controle são responsáveis, apenas, pelo andamento do cenário.

Um exemplo de elemento de controle poderia ser CriarCampanha (CreateMarketingCampaign). Este elemento seria responsável por alguns elementos de fronteira e iria colaborar com outras entidades, elementos de controle, e fronteiras de bastidores para permitir a criação da campanha de marketing.

Elementos Boundary

Um elemento boundary (leia-se "baundari" - fronteira) situa-se nas periferias do sistema, ou sub-sistema, porém junto com este. Para qualquer cenário considerado do sistema, ou de algum sub-sistema, alguns elementos boundary serão elementos "front-end" (linha de frente) que aceitarão entradas de fora da área do sistema, e outros elementos farão o "back-end" (bastidores) que gerencia comunicação com os elementos de fora do sistema, ou sub-sistema.

Exemplos de elementos boundary poderiam ser um ele de front-end (MarketingCampaignForm) e um elemento de back-end (BugdetSystem). O boundary MarketingCampaignForm iria gerenciar a troca de informações entre um usuário e o sistema, e o boundary BugdetSystem gerenciaria a troca de informações entre o sistema e o sistema externo que realiza o controle das finanças.
 

Comunicação

A tabela abaixo mostra os links de comunicação entre os elementos do ECB:

  Entity Control
Boundary
 Entity
X  X  
 Control  X  X  X
 Boundary    X  X

Ao aplicar este padrão, um projeto robusto pode ser criado, o qual identifica os elementos, comportamentos, e relacionamentos necessários para realizar um cenário.

Referência: OpenUp Framework

Comentários

Auxilio

Esse material tem grande valor para quem tem interesse em estuda a egenharia de software e é essencial para quem esta iniciando neste ramo. Os elementos apresentados neste artigo compôe o diagrama de classe da UML e me deu grande apoio na faculdade. Obrigado.

Leonardo Lemos