Objetivo da aula


  • Desenhar os Depósitos de Dados utilizando um DER - Diagrama Entidade-Relacionamento
  • Refinar um DER
  • Abstrair a estrutura que suporta os Depósitos de Dados
  • Desenhar um DFD completo a partir de um Diagrama de Contexto


Depósitos de dados


  • O depósito de dados referencia o local onde os dados são persistidos (armazenados)
  • Para representar com mais clareza, na extremidade esquerda do símbolo de depósito de dados, pode-se designar um espaço para escrever a identificação do depósito de dados.



  • Depósitos de dados podem ter operações de:
    • leitura
    • gravação
    • ambos
  • As identificações são interessantes porque os depósitos de dados (tabelas, arquivos) podem chegar à ordem de dezenas ou centenas e exigem portanto ambientes profissionais denominados Banco de Dados.




  • Para visualizar todos os Depósitos de Dados utilizamos outro diagrama denominado DER.

Exercícios



  • Desenhar cada um dos depósitos de dados dos exemplos abaixo, normalizando-os, se necessário e criando os relaciionamentos :
    • Sugestão de softwares: ttp://sourceforge.net/projects/dia-installer/
  1. CadastroClientes
  2. Cadastro-de-Alunos - Caio Tonus
  3. Cadastro-de-Livros - Gustavo Nogueira
  4. Cadastro-de-Emprestimo - Igor H i
  5. Cadastro-de-Filmes - Vitor Soares Fernandes
  6. Cadastro-de-Locação - Luis Felipe
  7. Cadastro-de-Produtos - Manuoliris
  8. Cadastro-de-Estoque - Pedro Henrique
  9. Cadastro-de-Disciplinas - Pedro Montandon
  10. Cadastro-de-Pedidos - MAtheus Neuhauss
  11. Cadastro-de-Turmas - Mara Rosy
  12. Cadastro-vProfessores - Heitor
  13. Cadastro-de-Consultas - Jordan


Função dos DFDs


  • Os dados são transformados em cada passo antes de mover para o próximo estágio
  • Estas transformações são funções de programa
  • Os DFDs ajudam os analistas a entender o que acontece com os dados durante a execução do sistema
  • Podem ser usados para mostrar como diferentes sistemas trocam informações


Refinamento do DFD inicial:


  • O DFD inicial é subdivido em níveis
  • São gradativamente definidos:
    • Os argumentos de pesquisa e os depósitos de dados com suas orientações
    • Os processos com suas interações e detalhes
    • As entidades externas com suas especificidades.


Como utilizar o DFD no projeto lógico


  • O DFD é uma ferramenta aplicada para análise top-down
  • A solução é retratada inicialmente na forma macro numa visão de alto nível ou contextual (DFD zero)
  • A partir da demarcação inicial, se inicia a explosão da visão de alto nível.


Exemplo:


Explodindo o DFD de um Sistema de Venda de DVDs


DFD Nível 0 (zero)





DFD Nível 1





DFD Nível 2

Inserindo nova funcionalidade: Pedidos





DFD Nível 2

Inserindo nova funcionalidade: Devoluções






Resumo

DFD – Diagrama de Fluxos de Dados

  • Especifica o modelo dos processos do sistema, ou seja, como a informação é criada, armazenada e utilizada.
  • A ênfase está nos processos e devem ser simples para que possam ser compreendidos facilmente por todos que o lerem
  • Os componentes do DFD são: processo, fluxo de dados, entidade externa e depósito de dados


  • A sua construção é realizada em níveis:
    • Nível 0: Diagrama de Contexto, normalmente contempla:
      • Apenas uma função, a principal (nome do sistema)
      • Entidades externas
      • Depósitos de dados
    • Nível 1: Explosão do nível 0, contendo Título e Numeração dos Processos: 1; 2; 3;...
    • Nível 2: Explosão do nível 1, contendo Título e Numeração dos Processos: 1.1; 1.2; 1.3;... 2.1; 2.2;...
    • E assim por diante.



Processo

  • Representa o elemento que transforma entradas em saídas
  • O processo sempre tem um nome que deve descrever o melhor possível a funcionalidade que será desempenhada pelo processo
  • O nome do processo, geralmente, é formado por um verbo (Calcular) e um objeto (Média dos Alunos)
  • Se a aplicação tiver uma menu, provavelmente nele estarão todos os processos.



Entidade Externa


  • Representa os elementos que não são do sistema, mas interagem com ele, inserindo ou recebendo dados, e normalmente requerem Interfaces
  • Exemplo:
    • Usuários: Aluno, Professor, Caixa, Gerente, Atendente, Recepcionista, Consultor, ...
    • Empresas: Serasa, Correios, Google, UFU, Cemig, Detran, ...
    • Departamentos de uma empresa: Financeiro, RH, Portaria, Vestibular, Matriz, ...
    • Outros sistemas: Jurídico, Acadêmico, Contas a Pagar, Cotabilidade, Diretoria, Recepção, ...
    • Equipamentos: Sensor, Impressora, Tela Touch-Screen, Catraca, Sirene, GPS,
    • Etc.



Depósitos de Dados


  • Utilizado para modelar um conjunto de dados persistentes, que precisam ser armazenados fisicamente, na maioria dos casos, num Banco de Dados
  • Podem se tornar uma ou mais tabelas (ou arquivos) de bases de dados na versão final do sistema
  • O nome de um depósito de dados geralmente está no plural e deve ser o mais representativo possível quanto aos dados que armazena.
  • Um banco de dados possui tabelas e para cada uma devem ser descritos seus atributos



Fluxo de Dados


  • Representa o movimento dos dados (ou conjunto de dados) dentro do sistema
  • O fluxo de dados deve ter um sentido e pode ser:
    • de um processo para outro processo
    • de uma entidade externa para um processo e vice-versa
    • de um processo para um depósito de dados e vice-versa.