Criou página com '= DFD - Diagrama de Fluxo de Dados = * Convenção simbólica de 4 representações gráficas: Arquivo:DFD.png <br> <br> == Processos == * O símbolo de processo re...' |
|||
| (8 revisões intermediárias por um outro usuário não estão sendo mostradas) | |||
| Linha 1: | Linha 1: | ||
= DFD - Diagrama de Fluxo de Dados = | = DFD - Diagrama de Fluxo de Dados = | ||
| Linha 5: | Linha 6: | ||
[[Arquivo:DFD.png]] | |||
[[Arquivo:DFD.png|center]] | |||
<br> | <br> | ||
<br> | <br> | ||
== Processos == | == Processos == | ||
* O símbolo de processo representa uma atividade de transformação. | * O símbolo de processo representa uma atividade de transformação. | ||
* Ele é alimentado | * Ele é alimentado | ||
** com dados, provenientes de um meio externo (via entidade externa) | ** com dados, provenientes de um meio externo (via entidade externa) | ||
** pela leitura de dados armazenados em algum depósito de dados (tabelas/arquivos) | ** pela leitura de dados armazenados em algum depósito de dados (tabelas/arquivos) | ||
<br> | |||
* Todo processo tem um objeto claramente especificado. Alguns exemplos: | * Todo processo tem um objeto claramente especificado. Alguns exemplos: | ||
** Cadastrar cliente / aluno / professor / conta | ** Cadastrar cliente / aluno / professor / conta | ||
** Gerar diário de classe / relatório de despesa | ** Gerar diário de classe / relatório de despesa | ||
** Emitir nota fiscal / duplicata / recibo / atestado | ** Emitir nota fiscal / duplicata / recibo / atestado | ||
** Baixar pagamentos / débitos / arquivos | ** Baixar pagamentos / débitos / arquivos | ||
** Excluir fatura / nota / pendência | ** Excluir fatura / nota / pendência | ||
** Calcular multa / média / fórmula | |||
<br> | |||
[[Arquivo:DFD1.png|center]] | |||
<br> | <br> | ||
<br> | <br> | ||
* Exemplo gráfico do processo Cadastrar Cliente | * Exemplo gráfico do processo Cadastrar Cliente | ||
** Uma entidade externa (retângulo) com nome de CLIENTE envia dados do cliente ao processo | ** Uma entidade externa (retângulo) com nome de CLIENTE envia dados do cliente ao processo | ||
** O envio de dados está representado pelo fluxo de dados (seta) chamado de DadosCli que parte do cliente em direção ao processo => input de dados | ** O envio de dados está representado pelo fluxo de dados (seta) chamado de DadosCli que parte do cliente em direção ao processo => input de dados | ||
** Existe um fluxo de dados (seta) bidirecional entre o processo e um depósito de dados (traços paralelos) chamado de CadCli onde haverá armazenamento de dados do cliente. | ** Existe um fluxo de dados (seta) bidirecional entre o processo e um depósito de dados (traços paralelos) chamado de CadCli onde haverá armazenamento de dados do cliente. | ||
<br> | |||
'''Processo Realizar Empréstimo''' | '''Processo Realizar Empréstimo''' | ||
<br> | <br> | ||
<br> | <br> | ||
[[Arquivo:DFD2.png]] | [[Arquivo:DFD2.png]] | ||
<br> | <br> | ||
<br> | <br> | ||
* Biblioteca: Interface responsável pelo atendimento do aluno | * Biblioteca: Interface responsável pelo atendimento do aluno | ||
* CadEmp: Base de dados que mantém informações sobre os empréstimos | * CadEmp: Base de dados que mantém informações sobre os empréstimos | ||
<br> | <br> | ||
'''Processo Alugar Filmes''' | '''Processo Alugar Filmes''' | ||
<br> | <br> | ||
[[Arquivo:DFD3.png]] | |||
[[Arquivo:DFD3.png|center]] | |||
<br> | <br> | ||
* '''Como ficam os fluxos de dados neste exemplo?''' | |||
* '''Porque tantos depósitos de dados?''' | |||
<br> | <br> | ||
* Ao símbolo que registra o processo pode ser adicionado o elemento responsável pela ação (no caso, o setor de atendimento) | * Ao símbolo que registra o processo pode ser adicionado o elemento responsável pela ação (no caso, o setor de atendimento) | ||
* O item utilizado para buscar a informação no depósito de dados é denonimado Argumento de Pesquisa e é representado por uma ponta de seta. | * O item utilizado para buscar a informação no depósito de dados é denonimado Argumento de Pesquisa e é representado por uma ponta de seta. | ||
<br> | <br> | ||
'''Processo Cadastrar Pedido''' | '''Processo Cadastrar Pedido''' | ||
<br> | <br> | ||
| Linha 108: | Linha 130: | ||
* | * '''Desenhar também os fluxos de dados.''' | ||
<br><br> | |||
* Embora seja interessante, um DFD nem sempre traduz as maneiras pelas quais, uma informação chega até o sistema | |||
* No caso acima, para o Pedido, podemos ter várias situações possíveis de trâmite entre a origem até o armazenamento dos dados no sistema de informação. | |||
<br> | |||
'''Processo Cadastrar Pedido – Modos de entrada''' | |||
# Sistema de Televendas: Atendente recebe a solicitação do comprador e por meio de uma tela, insere os dados enviando resposta por fax ou e-mail para o cliente | |||
# Consultor de Vendas: Na frente do cliente, consultor utiliza seu dispositivo portátil para inserir os dados do pedido numa tela adequada ao seu aparelho; o pedido é impresso numa impressora portátil | |||
# Atendimento na Loja: Vendedor recebe o cliente no balcão, insere dados na tela do desktop e imprime o pedido numa impressora local e entrega uma via nas mãos do cliente | |||
# Web: Cliente acessa endereço da loja, preenche dados do pedido e visualiza resultados por meio de uma opção na própria tela permitindo a impressão. | |||
<br> | <br> | ||
== Depósitos de dados == | |||
<br> | <br> | ||
* O depósito de dados referencia o local onde os dados são persistidos (armazenados) | * 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. | * 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. | ||
<br> | <br> | ||
[[Arquivo:DepDados.png]] | |||
[[Arquivo:DepDados.png|center]] | |||
<br> | <br> | ||
* Depósitos de dados podem ter operações de: | * Depósitos de dados podem ter operações de: | ||
** leitura | ** leitura | ||
** gravação | ** gravação | ||
** ambos | ** ambos | ||
* As identificações são interessantes porque os depósitos de dados (tabelas, arquivos) podem chegar à ordem de dezenas ou centenas. | * As identificações são interessantes porque os depósitos de dados (tabelas, arquivos) podem chegar à ordem de dezenas ou centenas. | ||
<br><br> | |||
'''Exercício:''' | |||
* Descrever cada um dos depósitos de dados dos exemplos acima: | |||
# CadCli | |||
# CadAlunos | |||
# CadLivros | |||
# CadEmp | |||
# CadFilmes | |||
# CadLocação | |||
# CadProd | |||
# CadEStoque | |||
# CadDisciplina | |||
# CadPedido | |||
<br> | <br> | ||
== Função dos DFDs == | == Função dos DFDs == | ||
<br> | <br> | ||
* Os dados são transformados em cada passo antes de mover para o próximo estágio | * 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 | * 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 | * 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 | * Podem ser usados para mostrar como diferentes sistemas trocam informações | ||
<br> | <br> | ||
'''Refinamento do DFD inicial:''' | '''Refinamento do DFD inicial:''' | ||
<br> | <br> | ||
* O DFD inicial é subdivido em níveis | * O DFD inicial é subdivido em níveis | ||
* São gradativamente definidos: | * São gradativamente definidos: | ||
** Os argumentos de pesquisa e os depósitos de dados com suas orientações | ** Os argumentos de pesquisa e os depósitos de dados com suas orientações | ||
** Os processos com suas interações e detalhes | ** Os processos com suas interações e detalhes | ||
** As entidades externas com suas especificidades. | ** As entidades externas com suas especificidades. | ||
<br> | |||
'''Como utilizar o DFD no projeto lógico''' | '''Como utilizar o DFD no projeto lógico''' | ||
<br> | <br> | ||
* O DFD é uma ferramenta aplicada para análise top-down | * 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 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. | * A partir da demarcação inicial, se inicia a explosão da visão de alto nível. | ||
<br> | <br> | ||
Exemplo: | Exemplo: | ||
<br> | <br> | ||
| Linha 216: | Linha 274: | ||
== Explodindo o DFD de um Sistema de Venda de DVDs == | == Explodindo o DFD de um Sistema de Venda de DVDs == | ||
<br> | <br> | ||
'''DFD Nível 0 (zero)''' | '''DFD Nível 0 (zero)''' | ||
<br> | <br> | ||
[[Arquivo:DFD0.png]] | |||
[[Arquivo:DFD0.png|center]] | |||
<br><br><br> | <br><br><br> | ||
'''DFD Nível 1''' | '''DFD Nível 1''' | ||
<br> | <br> | ||
[[Arquivo:DFD- | |||
[[Arquivo:DFD-Nivel1a.png|center]] | |||
<br><br><br> | <br><br><br> | ||
'''DFD Nível 2''' | '''DFD Nível 2''' | ||
'''Inserindo nova funcionalidade: Pedidos''' | '''Inserindo nova funcionalidade: Pedidos''' | ||
<br> | <br> | ||
[[Arquivo:DFD- | |||
[[Arquivo:DFD-Nivel2b.png|center]] | |||
<br><br><br> | <br><br><br> | ||
'''DFD Nível 2''' | '''DFD Nível 2''' | ||
'''Inserindo nova funcionalidade: Devoluções''' | '''Inserindo nova funcionalidade: Devoluções''' | ||
<br><br> | <br><br> | ||
[[Arquivo:DFD- | |||
[[Arquivo:DFD-Nivel3a.png|center]] | |||
<br><br><br> | <br><br><br> | ||
| Linha 265: | Linha 342: | ||
== Resumo == | == Resumo == | ||
'''DFD – Diagrama de Fluxos de Dados''' | '''DFD – Diagrama de Fluxos de Dados''' | ||
* Especifica o modelo dos processos do sistema, ou seja, como a informação é criada, armazenada e utilizada | * 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 | * 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 | * Os componentes do DFD são: processo, fluxo de dados, entidade externa e depósito de dados | ||
<br> | <br> | ||
| Linha 285: | Linha 368: | ||
** E assim por diante. | ** E assim por diante. | ||
<br><br> | <br><br> | ||
'''Processo''' | '''Processo''' | ||
<br> | <br> | ||
* Representa o elemento que transforma entradas em saídas | * 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 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) | * O nome do processo, geralmente, é formado por um verbo (Calcular) e um objeto (Média dos Alunos) | ||
<br><br> | <br><br> | ||
'''Entidade Externa''' | '''Entidade Externa''' | ||
<br> | <br> | ||
* Representa os elementos que não são do sistema, mas interagem com ele, inserindo ou recebendo dados | * Representa os elementos que não são do sistema, mas interagem com ele, inserindo ou recebendo dados | ||
* Exemplo: pessoas, usuários, empresas, departamentos de uma empresa, outros sistemas, etc. | * Exemplo: pessoas, usuários, empresas, departamentos de uma empresa, outros sistemas, etc. | ||
<br><br> | <br><br> | ||
''' | |||
'''Depósitos de Dados''' | |||
<br> | <br> | ||
* Utilizado para modelar um conjunto de dados persistentes, que precisam ser armazenados fisicamente | * Utilizado para modelar um conjunto de dados persistentes, que precisam ser armazenados fisicamente | ||
* Podem se tornar uma ou mais tabelas (ou arquivos) de bases de dados na versão final do sistema | * 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. | * 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. | ||
<br><br> | <br><br> | ||
'''Fluxo de Dados''' | '''Fluxo de Dados''' | ||
<br> | <br> | ||
* Representa o movimento dos dados (ou conjunto de dados) dentro do sistema | * Representa o movimento dos dados (ou conjunto de dados) dentro do sistema | ||
* O fluxo de dados deve ter um sentido e pode ser: | * O fluxo de dados deve ter um sentido e pode ser: | ||
Edição atual tal como às 01h35min de 27 de abril de 2011
DFD - Diagrama de Fluxo de Dados
- Convenção simbólica de 4 representações gráficas:

Processos
- O símbolo de processo representa uma atividade de transformação.
- Ele é alimentado
- com dados, provenientes de um meio externo (via entidade externa)
- pela leitura de dados armazenados em algum depósito de dados (tabelas/arquivos)
- Todo processo tem um objeto claramente especificado. Alguns exemplos:
- Cadastrar cliente / aluno / professor / conta
- Gerar diário de classe / relatório de despesa
- Emitir nota fiscal / duplicata / recibo / atestado
- Baixar pagamentos / débitos / arquivos
- Excluir fatura / nota / pendência
- Calcular multa / média / fórmula

- Exemplo gráfico do processo Cadastrar Cliente
- Uma entidade externa (retângulo) com nome de CLIENTE envia dados do cliente ao processo
- O envio de dados está representado pelo fluxo de dados (seta) chamado de DadosCli que parte do cliente em direção ao processo => input de dados
- Existe um fluxo de dados (seta) bidirecional entre o processo e um depósito de dados (traços paralelos) chamado de CadCli onde haverá armazenamento de dados do cliente.
Processo Realizar Empréstimo
- Biblioteca: Interface responsável pelo atendimento do aluno
- CadEmp: Base de dados que mantém informações sobre os empréstimos
Processo Alugar Filmes

- Como ficam os fluxos de dados neste exemplo?
- Porque tantos depósitos de dados?
- Ao símbolo que registra o processo pode ser adicionado o elemento responsável pela ação (no caso, o setor de atendimento)
- O item utilizado para buscar a informação no depósito de dados é denonimado Argumento de Pesquisa e é representado por uma ponta de seta.
Processo Cadastrar Pedido
- Desenhar também os fluxos de dados.
- Embora seja interessante, um DFD nem sempre traduz as maneiras pelas quais, uma informação chega até o sistema
- No caso acima, para o Pedido, podemos ter várias situações possíveis de trâmite entre a origem até o armazenamento dos dados no sistema de informação.
Processo Cadastrar Pedido – Modos de entrada
- Sistema de Televendas: Atendente recebe a solicitação do comprador e por meio de uma tela, insere os dados enviando resposta por fax ou e-mail para o cliente
- Consultor de Vendas: Na frente do cliente, consultor utiliza seu dispositivo portátil para inserir os dados do pedido numa tela adequada ao seu aparelho; o pedido é impresso numa impressora portátil
- Atendimento na Loja: Vendedor recebe o cliente no balcão, insere dados na tela do desktop e imprime o pedido numa impressora local e entrega uma via nas mãos do cliente
- Web: Cliente acessa endereço da loja, preenche dados do pedido e visualiza resultados por meio de uma opção na própria tela permitindo a impressão.
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.
Exercício:
- Descrever cada um dos depósitos de dados dos exemplos acima:
- CadCli
- CadAlunos
- CadLivros
- CadEmp
- CadFilmes
- CadLocação
- CadProd
- CadEStoque
- CadDisciplina
- CadPedido
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
- 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)
Entidade Externa
- Representa os elementos que não são do sistema, mas interagem com ele, inserindo ou recebendo dados
- Exemplo: pessoas, usuários, empresas, departamentos de uma empresa, outros sistemas, etc.
Depósitos de Dados
- Utilizado para modelar um conjunto de dados persistentes, que precisam ser armazenados fisicamente
- 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.
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.

