Objetivo da aula


  • Entender como se pode descrever detalhes do DFD e do DER
  • Avaliar técnicas usadas para o DD


DER - Diagrama Entidade-Relacionamento



  • Em um DER, uma entidade é representada através de uma tabela que contém o nome da Entidade Interna.
  • Como dito acima, cada tabela representa um Depósito de Dados sobre os quais deseja-se guardar informações.


  • No exemplo, cada tabela designa o conjunto de todas as informações sobre determinada Entidade Interna referente a um sistema de Controle Acadêmico.
    • Aluno
    • Professor
    • Turma
    • Disciplina
    • Etc


Podemos começar pensando em algo mais ou menos assim:



Efetivamente, esta modelagem pode ser melhorada


DD - Dicionário de Dados


  • O Dicionário de Dados consiste numa lista organizada de todos os elementos de dados que são pertinentes para o sistema.
  • Sem o dicionário de dados o modelo não pode ser considerado completo, pois este descreve entradas, saídas, composição de depósitos de dados e alguns cálculos intermédios.
  • O DD consiste num ponto de referência de todos os elementos envolvidos na medida em que permite associar um significado a cada termo utilizado.




  • O DD - Dicionário de Dados permite inventariar e descrever os seguintes itens:
    • A. Processos: Detalhamento das funções explicando com mais clareza qual o serviço prestado por cada uma
    • B. Depósitos de dados: Domínio de cada campo do DER
    • C. Entidades Externas: Pessoas, Equipamentos ou Sistemas
    • D. Requisitos não-funcionais;
  • Descrição de ambientes, equipamentos, estruturas, características externas ao sistema.


A. Processos


  • Cada função mostrada no DFD pode ser detalhada neste item:


  • Tomando como exemplo, o DFD abaixo:



  • Poderíamos ter o seguinte detalhamento no DD:
  • 00. Menu Inicial: [Usuário]
    • Mostraria as opções:
    • Selecionar DVD
    • Atualizar Cliente
    • Efetuar Vendas


  • 01. Processo Selecionar DVD:
    • Neste processo, o sistema inicialmente uma tela para que o usuário escolhesse a forma de pesquisa: Por Título, Por Preço, Por Data de Aquisição, Por Gênero, entre outras
    • Selecionado um deste itens, o sistema buscaria no Depósito DVDs, os registros e mostraria na ordem desejada
    • O usuário poderia percorrer a lista por meio de um mouse ou com o cursor e posicionando num determinado DVD, ele poderia ser escolhido
    • Haveria uma opção para procurar um determinado DVD específico
    • Cada DVD selecionado seria adicionado à uma Cesta de Compras que já mostraria a quantidade e o valor total
    • Quando o usuário, tiver escolhido todos os DVDs, clicaria em Finalizar


  • 02. Atualizar Cliente:
    • Inicialmente seria mostrado um campo para digitação do CPF do cliente
    • Após a digitação, o CPF seria procurado no Depósito Clientes e encontrando, mostraria todos os dados do cliente na tela
    • SE o cliente não for encontrado, seriam mostrados todos os campos para digitação
    • No caso dos campo CPF seria executado um algoritmo dos 9 dígitos
    • Os dados do endereço seriam buscado numa EE chamada Correios
    • Haveria uma opção Salvar que efetivamente gravaria os dados no depósito Clientes
    • A opção Retornar, voltaria ao Menu Inicial


C. Entidades Externas


  • Como os dados irão migrar das Entidades Externas para o sistema e vice-versa, precisamos especificar de que maneira isso acontece para as situações descritas no DFD com relação a:


Pessoas

  • Design básico dos menus
  • Front-ends
  • Telas
  • Dispositivos
  • Interfaces gráficas

Equipamentos

  • Formas de conexão com o Hardware
  • Portas
  • Pínos
  • Protocolos
  • Conexões


Sistemas

  • Meios de comunicação com outros softwares
  • Domínios
  • APIs
  • Webservices
  • Conectores


Dicionário de Dados do Sistema Biblioteca


Entidade Externa: Bibliotecária


  • Interface Gráfica composto de um menu com as seguintes opções:
    • Cadastro
      • Livros
      • Assunto
      • Autor
      • Editora
      • Usuário
      • Cep
      • Bairro
      • Cidade
      • Estado
    • Relatórios
      • Livros por ordem de Título
      • Usuários em, ordem alfabética
      • Editoras por endereço
      • Assuntos


Tudo isso pode ser substituído com um desenho mostrando a disposição dos campos numa tela usando um editor gráfico qualquer.


Entidade Externa: Atendente


  • Interface Gráfica composto de um menu com as seguintes opções:
    • Pesquisa
      • Livros
      • Assunto
      • Autor
      • Editora
      • Usuário
    • Empréstimo
    • Devolução
    • Relatórios
      • Livros por ordem de Título
      • Usuários em, ordem alfabética
      • Editoras por endereço
      • Assuntos


Depósito: Usuário


  • CodUsuario: Número Sequencial a partir de 1
  • Sexo: [M,F]
  • Cpf: dois dígitos finais calculados a partir do 9 primeiros
  • EstadoCivil: [S,C,V,A]
  • Email: [Str@Str]


Processo CRUD Livros


  • Este processo poderá chamar outros processos que permitam o cadastramento dos dados relacionados:
      • CRUD Editora
      • CRUD Assunto
      • CRUD Autor


Processo CRUD Usuário


  • Este processo poderá chamar outros processos que permitam o cadastramento dos dados relacionados:
      • CRUD Cep
      • CRUD Cidade
      • CRUD Estado
      • CRUD Bairro


Processo Emprestar Livros


  • Se o Usuario não existir, chama o processo CRUD Usuário