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
- Antes, devemos entender o que é Normalização:
- Desenhar cada um dos depósitos de dados dos exemplos abaixo, normalizando-os, se necessário e criando os relaciionamentos :
- Buscar o software em http://www.sourceinnovation.com.br/index.php/Ferramentas_CASE
- CadastroClientes
- Cadastro-Alunos - Control Machine
- Cadastro-Livros - WikiShow
- Cadastro-Emprestimo - Cryptum
- Cadastro-Filmes - Speak Plus
- Cadastro-Locação - Brasil Universalis
- Cadastro-Produtos - Bus Time - EnergySystem
- Cadastro-EStoque - 2048 - Bola na Rede
- Cadastro-Disciplinas - Prontuario Digital
- Cadastro-Pedidos - Mobile Security
- Cadastro-Turma - Easy Park - ContEst
- Cadastro-Professores - SAC
- Cadastro-Consulta - No Doubt, Save Life e PCH Express
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.
- Nível 0: Diagrama de Contexto, normalmente contempla:
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.
- Resolvendo os exercícios acima:
- CadastroAlunos
- CadastroLivros
- CadastroEmprestimo
- CadastroFilmes
- CadastroLocação
- CadastroProdutos
- CadastroEStoque
- CadastroDisciplinas
- CadastroPedidos
- CadastroTurma
- CadastroProfessor