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 Comércio Eletrônico, o conjunto de entidades Pedido representa todos os Pedidos solicitados pelos compradores independente do meio usado para acessá-lo.
- Já no software de segurança. o conjunto de entidades Sensor representa todos os sensores conectados 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
- Quando queremos nos referir aos dados que entram e saem do sistema consideramos como Externa e serão representadas 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 ao sistema que é o aplicação do Facebook.
- 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, Arduíno ou Raspberry.

Exercícios
- Avalie as seguintes integrações com outros sistemas:
- Facebook - Tem três tipos de APIs :
- Principal Graph API:
- A principal forma de obter dados de dentro da plataforma do Facebook. É uma API baseada em HTTP de baixo nível que você pode usar para consultar dados, gerenciar anúncios, envio de fotos e uma variedade de outras tarefas que um aplicativo pode precisar fazer.
- Atualmente na versão 2.5 que esta totalmente interligada com as outras API do Facebook por sua facilidade de consulta e agilidade nos processos de manipulação dos dados. A API Graph foi nomeado após a ideia de um “gráfico social” – que tem como propósito mostrar todos os dados da rede social através de sua API com isto ela é representada por alguns componentes como:
- nós – basicamente “coisas” como um Usuário, uma foto, uma página, um comentário.
- bordas – as conexões entre essas “coisas”, como fotos de uma página ou de um Fotografia de um Comentários
- campos – Informações sobre aquelas “coisas”, como o aniversário de uma pessoa, ou o nome de uma página
- Exemplo:
- /search?type=user&q=theodoro&fields=id,name,link&limit=100
- Marketing de API:
- Voltada para integração com marketing na rede social, hoje em dia muitas empresas precisam de agilidade para gerenciar anúncios e campanhas e esta API veio para facilitar o trabalhos dos desenvolvedores junto com a API Graph que trabalham juntas para dar o melhor resultado. Facebook Marketing de APIs estão disponíveis para desenvolvedores para a gestão e programação a compra de Facebook & Instagram. O Facebook fornece três níveis de acesso às APIs de marketing, os desenvolvedores podem solicitar a atualização seu nível de acesso depois de conhecer os critérios.
- Atlas API:
- Ela foi desenvolvida para atender uma um público que está mais focado no ramo empresarial, esta API tem como função fazer integração com os seguintes dados da plataforma como campanhas de ads, dados de relatórios, negócios da conta business dentro do facebook e gerenciamento de anúncios.
- Principal Graph API:
- Correios
- Serasa
- Operações financeiras com bancos
- BOT
- Facebook - Tem três tipos de APIs :
- Avalie as seguintes integrações com hardwares:
- Arduíno
- Raspberry
- Leitor de Código de Barras
- Placa de vídeo
- Apple Watch