Tarefa: Definir o Contexto do Sistema de Negócio
Esta tarefa define como criar um diagrama de contexto de sistema que mostra a colaboração de nível superior entre o sistema de negócio e seus agentes comerciais.
Disciplinas: Modelagem de Negócios
Objetivo
Baseia-se no Modelo de Caso de Uso de Negócios  para criar uma colaboração de nível superior mostrando o sistema (modelado como um subsistema de nível superior), suas interfaces e seus relacionamentos com seus agentes, incluindo as entidades de negócio de E/S externas que fluem entre o agente comercial e o sistema de negócio.
Relacionamentos
Etapas
Introdução

Enquanto o Modelo de Caso de Uso mostra o contexto comportamental do sistema, nesta tarefa você cria um modelo lógico do sistema em seu ambiente, utilizando o seguinte: Produto de Trabalho: Modelo de Caso de Uso de Negócios, Produto de Trabalho: Especificação Suplementar de Negócios. O modelo é utilizado para delinear um Diagrama de Contexto.

  • As interfaces a serem realizadas pelo sistema (em termos das operações que os sistemas fornecem e os protocolos suportados associados, as variáveis de estado e os armazenamentos que o sistema realiza e os atributos).
  • As Entidades de E/S que fluem entre o sistema e seus agentes.
  • As interfaces requeridas pelo sistema (a serem realizadas pelos agentes que interagem com o sistema) para o desempenho correto. Freqüentemente, se o agente representar um sistema existente com o qual o sistema deve se comunicar, essas interfaces requeridas simplesmente refletirão as restrições impostas pelo outro sistema.

Um diagrama de contexto mostra a colaboração de alto nível entre o sistema e seus agentes. É o analógico estrutural para o Modelo de Caso de Uso do sistema. Essa colaboração é criada no Modelo de Análise.

As entidades de E/S (representadas para modelagem como classes estereotipadas de "E/S" com atributos, mas sem operações) descrevem coisas que fluem para dentro ou fora do sistema e podem, no caso do sistema geral, incluir dados, massa, energia ou partes físicas. As entidades de E/S estão associadas (durante a modelagem) a pares de agente-sistema, indicando que essas entidades de E/S específicas fluem entre o agente e o sistema. Elas podem opcionalmente ser mostradas nos diagramas, associadas ao agente e a direção do fluxo é indicada por um estereótipo "enviar" ou "receber" na associação, indicando a direção em relação ao agente.

Uma Operação do Sistema é um serviço que pode ser solicitado a partir de um objeto para gerar um comportamento. Uma operação especifica o nome, o tipo, os parâmetros e as restrições para chamar um comportamento associado.As Operações são agrupadas em interfaces juntamente com as principais responsabilidades do (sub)sistema sendo considerado. Uma chamada de operação do sistema representa uma interação mais granulada com o sistema do que uma instância de caso uso e uma instância de caso de uso é uma composição de chamadas e respostas de operação.

As variáveis de estado e os armazenamentos são atributos definidos nas interfaces realizadas pelo sistema. Elas são abstratas e requerem que o sistema mantenha as informações correspondentes ao tipo e à multiplicidade do atributo e permita armazenamento, recuperação e modificação dessas informações. Não há nenhuma implicação que um atributo no sistema corresponda diretamente ao atributo definido na interface. A diferença entre as variáveis de estado e os armazenamentos não é intrínseca, ela apenas reflete a forma como as variáveis são utilizadas para controlar a operação da máquina de estado (abstrata) do sistema. Um "estado" persiste durante um período de tempo, ao contrário de um evento (como a chegada de um sinal) que ocorre em um ponto no tempo. As máquinas de estado mencionadas aqui são máquinas de estado finitas e a delineação do "estado" é normalmente decidida por relativamente poucas variáveis; por exemplo, o estado atual poderá ser especificado pelo valor de um único atributo de um tipo de enumeração. A reação do sistema, no entanto, para um evento poderá depender não apenas da natureza do evento (e das informações que ele carrega, por exemplo, nos parâmetros de operação) e do estado atual, mas também do valor de (talvez muitos) outros atributos.

Criar Diagrama de Contexto Inicial

Conforme você evolui e inclui mais detalhes no Modelo de Caso de Uso (descobrindo os agentes comerciais; ou se agentes e, talvez, operações já tiverem sido identificados, elaborando sua interação), você pode criar a colaboração inicial e ilustrá-la com um Diagrama de Contexto. O Diagrama de Contexto pode ser criado conforme mostrado, inicialmente com interfaces do sistema separadas. O sistema é descrito como um subsistema de nível superior ("sistema" estereotipado), que eventualmente realiza várias interfaces. Os agentes comerciais e suas associações também são conhecidos, novamente, sem detalhes inicialmente.

Refinar Associações e Interfaces

Em seguida, você refina as associações entre os agentes comerciais e o sistema e a interface de sistema. Você pode começar discutindo sobre as operações do sistema e os atributos do sistema conforme eles emergem de Tarefa: Localizar Agentes Comerciais e Casos de Uso. Posteriormente, você pode utilizar Tarefa: Detalhar um Caso de Uso de Negócios). Observe agora o sistema como ele aparece para os agentes, mostrando a interface. A realização disso poderá ser mostrada se você desejar, mas poderá ser omitida sem muita perda de informações.

Nesse estágio, apenas identifique experimentalmente as entidades de negócio de E/S, com base no conhecimento de domínio e em todo o trabalho feito anteriormente na realização de caso de uso de negócios no nível corporativo. Observe que não é requerido que as entidades de negócio de E/S sejam mostradas no diagrama, mas isso pode ser útil na discussão sobre interações de agente-sistema.

Portanto, você pode iniciar a caracterizar a(s) conexão(ões) entre o agente e o sistema (por exemplo, registrar o protocolo requerido) e registrar as entidades que fluem entre eles.

Detalhar Operações de Negócios e Outras Características

Nesta etapa, você começa a construir cenários de caso de uso de negócios (instâncias de casos de uso) a partir dos quais pode descrever operações de sistema de negócio (fornecido e requerido). Os cenários podem ser ilustrados por diagramas de interação ou atividades. Cada etapa de caixa preta em um caso de uso representa uma interação mais granulada com o sistema e é mapeada para uma chamada de operação (mas não necessariamente uma operação exclusiva; outras etapas de caixa preta podem utilizar a mesma operação). Tão bem quanto definir as operações de sistema no Diagrama de Contexto (e, portanto, no Modelo de Análise de Negócio), os casos de uso também são anotados, para rastreabilidade, nas operações chamadas. As operações também herdam quaisquer requisitos de desempenho ou outros requisitos não-funcionais que foram alocados para as etapas de caixa preta. Conforme você examina cada etapa de caixa preta executada no cenário, descobre o uso de nomes que poderão sugerir variáveis de estado e armazenamentos que o sistema deve manter para executar o cenário de caso de uso. Você também pode refinar as entidades de negócio de E/S que são requeridas e associá-las às chamadas de operação para formar os sinais enviados entre o agente e o sistema. 

Dividir a interface de sistema em interfaces mais específicas poderia ajudar a entender isso; na verdade, pode haver requisitos de interface na Especificação Suplementar de Negócios que conduzam isso. A ilustração a seguir mostra a evolução da interface de sistema para uma "interface de sistema fornecida" para cada tipo de agente, embora, isso não seja uma prescrição fixa. Agentes podem compartilhar uma interface ou pode haver mais de uma interface para um agente.

Essa análise também poderá identificar as interfaces requeridas pelo sistema, ou seja, interfaces que devem ser suportadas pelos agentes comerciais (para processar mensagens do sistema). Elas podem ser incluídas no diagrama em uma forma simétrica. Um agente comercial pode suportar (realizar) mais de uma interface.

As operações, os armazenamentos, etc., precisam ser incluídos em uma forma expandida das interfaces (nos compartimentos de atributo e operação) conforme mostrado. Novamente, a realização das interfaces de sistema fornecidas pode ser omitida sem muita perda de informação.

Essa colaboração de nível superior, capturada no Diagrama de Contexto, permite que as interfaces, as conexões, os fluxos para dentro e fora do sistema e as características de desempenho associadas sejam rigorosamente especificados.