
Objetivo da aula
- Entender o papel das Entidades Externas num DFD
- Especificar o tipo de Entidade Externa que interage com o sistema
- Avaliar as formas pelas quais as Entidades Externas se comunicam com sistemas
Entidades Externas
- Uma entidade é uma representação abstrata de alguma coisa do mundo real que temos interesse em monitorar o comportamento.
- Representam sistemas, pessoas, equipamentos, setores, dispositivos ou outras coisas definidas como fontes ou destinos de um fluxo de dados de um sistema.
- No modelo ER, conjuntos de Entidades são representados graficamente por retângulos.
- Um conjunto de entidades representa todos os elementos do mundo real referidos pelo conjunto.
- Por exemplo:
- Em um sistema de uma biblioteca, o conjunto de entidades Atendente ou Atendimento representa todas as pessoas que liberam livros numa biblioteca.
- Num sistema de Vendas, seja Web ou não, o conjunto de entidades Cliente e Vendedor representam os responsáveis por incluir os pedidos de compras.
- Já no software de segurança. o conjunto de entidades Sensor representa todos os sensores conectados que tem a função de coletar dados do ambiente e enviá-los ao sistema.
- Importante é definir o que são Entidades Externas e Entidades Internas
- Quando queremos nos referir aos dados armazenados sobre as Entidades a consideramos como Interna e serão representadas no DER, próximo diagrama.
- Quando queremos nos referir aos dados que entram e saem do sistema, de ou para o meio externo, consideramos como Entidade Externa e serão representadas no DC ou no DFD.

- Para estabelecermos uma padronização, neste texto, usaremos nomes de conjuntos de entidades sempre no singular e escritos com a primeira letra maiúscula.
- No entanto, isto não representa efetivamente uma regra.
- Quando definimos uma entidade como externa no DFD, significa que está fora dos limites do sistema mas se relaciona com ele.
- Um exemplo disto é um sistema que faz a validação de um usuário no Facebook, neste caso, o usuário do Face é uma informação que estará no sistema, porém, a sua validação se dará em um agente externo que é o Facebook, um outro sistema.
- Uma entidade externa pode ser:
Pessoa
- Usuários precisam de Interfaces Gŕaficas com funções específicas para interagir com o sistema. Neste caso, são consideradores Entidades Externas.
- Faz parte do trabalho do projetista desenhar a melhor proposta para essa interação. Ex:
- Sistemas Web: Normalmente tem as telas que o Usuário comum manipula e outra que o Administrador opera, com funções diferenciadas
- Sistema Bancário: Tem usuários com diferentes opções -> Caixa, Gerente, Cliente, Caixa Eletrônico
- Sistema Biblioteca: Usuários -> Atendente, Comprador, Aluno, Professor, Diretor, Bibliotecária,
- Controle Home Automation: Usuários -> Morador, Porteiro, Técnico, Administrador

Sistema
- Um software pode se comunicar com outros softwares tanto para enviar dados quanto para recebë-los. Dessa forma, o software que irá interagir com o sistema em desenvolvimento também é denominado Entidade Externa.
- Nesse caso, é importante identificar as Interfaces do usuário que fazem as conexões de comunicação
- Existem várias formas de comunicação entre os sistemas, entre várias, temos conectores, APIs e WebServices.
- Exemplos:
- Autenticação pelo Google: O sistema se comunica com uma 'Rede Social enviando o email do usuário e recebe dados complementares
- Validação Financeira: O sistema se comunica com o Serasa enviando o CPF do usuário e recebe informações sobre ele
- Validação de endereço: O sistema se comunica com o Correios enviando o CEP do usuário e recebe informações completas sobre o endereço
- Avaliação do tempo: O sistema se comunica com o ClimaTempo enviando a cidade do usuário e recebe informações completas sobre o clima.

Equipamento
- Todo equipamento ou dispositivo que interage com o sistema deverá ser encarado como uma Entidade Externa.
- Nesse caso, é importante identificar as Interfaces físicas do sistema que fazem as conexões de comunicação
- Exemplos:
- Um Sensor que envia dados para o sistema e este que processa os dados e aciona um Alarme.
- Um Leitor Biométrico que recebe as digitais de um usuário, envia para o sistema que destrava uma Dispositivo Eletromagnético abrindo a porta
- Na estrutura de um robö ( Braço, Junta, Antebraço, Pulso) temos partes independentes que se comunicam com um sistema
- Um motor que é comandado por um sistema se comunica por meio de um CLP ou Arduíno.

Exercícios
- Avalie as seguintes integrações com outros sistemas:
- Facebook - Tem três tipos de APIs :
- Correios
- Serasa
- Operações financeiras com bancos
- BOT
- Avalie as seguintes integrações com hardwares:
- Arduíno
- Raspberry
- Leitor de Código de Barras
- Sensores
- Roteador
- Modem