UNIESP - 2010
Sistemas de Informação
Análise e Projeto Estruturado de Sistemas- 2010/01
Prof. Carlos Alberto Seixas
E-mail: [email protected]
D.F.D.
DIAGRAMA DE FLUXO DE DADOS
(D.F.D)
 A técnica utilizada pela análise estruturada baseia-se nos diagramas de fluxos de
dados. A grande vantagem da utilização dessa técnica é a de permitir a avaliação
do modelo junto com os usuários, de forma a se identificar as falhas o mais cedo
possível. Além do mais , esta técnica permite um comprometimento maior do
usuário com o processo de desenvolvimento de sistemas.
 Duas técnicas principais são utilizadas, uma por GANE e SARSON, outra por
De Marco e YOURDON e que nos conduzem pequenas diferenças na
terminologia e simbologia das várias escolas de Análise Estruturada; ambas as
técnicas são similares.
 Segundo GANE/830 propósito de um D.F.D é mostrar para um área de
negócios ou um sistema ou parte dele, de onde os dados surgem, para onde vão,
quando são armazenados, que processa os transformam e as interações entre
armazenamento de dados e processos.
O D.F.D
 O D.F.D utiliza-se de quatro símbolos gráficos, visando
representar os seguintes componentes:
 Fluxo de Dados
 Processos
 Agentes Externos
 Armazenamento ou Depósito de Dados
Após a elaboração do DFD, elabora-se:
 Dicionário de Dados
O D.F.D
Fluxo de Dados
Fluxo de Dados
 Representa os dados que fluem entre os componentes de
DFD e podem ser utilizados para transporte de dados entre
agentes externos e processos, entre processos,
armazenamento de dados e processos. Não existe a passagem
de dados de armazenamento para agentes externos e viceversa.
Forma de Representação
 É simbolizado por meio de uma seta, com a ponta indicando
a direção do fluxo. [ CHRIS GANE / SARSON].
 Já DeMarco, diz que os fluxos de dados é um tubo, através do
qual fluem pacotes de informações. A maior parte dos fluxos
de dados movimentaram-se entre processos, mas eles podem
também fluir para dentro ou para fora de arquivos, indo para
caixas-destino e vindo de caixas-fonte. É simbolizado por
meio de vetores.
Convenções de fluxos de dados
 Nomes em maiúscula e ligadas por hífen;
 Dois fluxos de dados diferentes não podem Ter o mesmo
nome;
 Os nomes são escolhidos para representarem não apenas o
dado que flui sobre o tubo, mas também o que sabemos sobre
o dado;
 Evite nomes vagos como dados e informação;
 Dificuldade para achar um nome para fluxo de dados: pode
ser indício de alguma coisa errada.
Exemplo
29
Analisar
Relatório de Vendas
Vendas
Referência do Fluxo de dados 29 - c
Descrição do fluxo de dados: Relatório de Vendas
c
Gerência
Um fluxo que parte de um depósito é normalmente
interpretado como uma leitura ou um acesso feito às
informações desse depósito.
 Pode significar que:
 Um pacote isolado de dados foi recuperado do depósito: por exemplo, um depósito
chamado CLIENTES, de onde cada pacote contém informações de nome,
endereço e telefone de clientes. Um fluxo típico que saísse desse depósito
envolveria a recuperação de um pacote completo de informações sobre um
cliente.
 Mais de um pacote foi recuperado do depósito: Por exemplo o fluxo poderia
recuperar pacotes de informações sobre todos os clientes da cidade de São Paulo
a partir do depósito CLIENTES.
 Apenas uma parte do pacote foi recuperada do depósito: apenas a parte do nº do
telefone de um cliente foi recuperada do depósito CLIENTES.
 Parte de mais de um pacote foram recuperados do depósito: um fluxo pode recuperar
do depósito CLIENTES o código postal de todos os clientes do estado de São
Paulo.
Importante
 Na maioria dos casos os fluxos são rotulados, entretanto não
necessitamos rotular um fluxo se todo um grupo de um
pacote entra ou sai do depósito.
 Um fluxo que parte de um depósito é normalmente
interpretado como uma leitura ou um acesso feito às
informações desse depósito.
Agenda
 Tema para discussão:
 Ferramentas de monitoramento remoto
 Conceitos sobre DFD: processos
 Fluxos: Resolução do exercício 1
 Processos: Exercício 2
D.F.D.
Processos
O D.F.D
 O D.F.D utiliza-se de quatro símbolos gráficos, visando




representar os seguintes componentes:
Fluxo de Dados
Processos
Agentes Externos
Armazenamento
O D.F.D
Processos
 Os processos, invariavelmente, mostram algum trabalho
executado sobre os dados;
 Um processo é uma transformação do(s) Fluxo(s) de Dados
de entrada em Fluxo(s) de Dados de saída;
 O Processo pode ser representado em Círculo ou Retângulo
Arredondado dividido em duas áreas:
Processo
 O nome do processo deve dar idéia do que faz o processo,
para que se tenha êxito em transmitir a imagem total com o
DFD;
 Ao escolher nome de um processo deve-se evitar a utilização
de nomes de pessoas, nomeie o processo de modo a
identificar as funções que o sistema executa;
 Nomeie os processos em termos de suas entradas e saídas;
Processos – Recomendações:
 Numere os processos;
 Um bom nome de processo geralmente é composto por uma
frase constituída de um verbo e de um objeto.
 Por exemplo: Calcular Valor do Imposto, Validar Entrada,
Receber Pedidos;
 Evite a utilização de nomes vagos como FAZER SERVIÇO,
MANIPULAR ENTRADA e PROCESSAR DADOS. Muitas
vezes isso significa que o Analista de Sistemas não está bem
certo de qual função está sendo executada;
Processos
 Existe uma tendência natural por parte dos usuários em
 utilizar as abreviações e siglas que lhes sejam familiares.
Deve-se utilizar terminologias que sejam compreensíveis por
um número maior de pessoas;
 Os termos ROTINA, SUBSISTEMA e FUNÇÃO geralmente
não têm significados no mundo do usuário.
 Deve-se evitar “poços sem fundo”, ou seja, processos que
têm entradas mas não tem saídas;
 Deve-se evitar “geração espontânea”, ou seja, processos
que têm saídas mas não tem entradas.
Agenda
 Conceitos sobre DFD:
 Entidades ou Agentes Externos
 Conceitos
 Exemplos
 Exercício
D.F.D.
Entidades Externas
O D.F.D
 O D.F.D utiliza-se de quatro símbolos gráficos, visando




representar os seguintes componentes:
Fluxo de Dados
Processos
Entidades Externas ou Agentes Externos
Armazenamento
O D.F.D
Agentes Externos ou Entidades
 São todas as organizações, sistemas ou pessoas que interagem
com o sistema através do envio ou recebimento ou fluxo de
dados.
 Normalmente as entidades externas têm intencionalmente
seu nome escrito em maiúsculo, para diferenciá-las de
possíveis depósitos de dados com o mesmo nome.
Agentes Externos ou Entidades
Uma entidade pode ser:
 Um objeto real, como um livro, uma máquina, um lugar, um
avião, um quarto.
 Uma pessoa, como um empregado, um contribuinte, um
aluno, um cidadão.
 Um conceito abstrato, como um curso, uma cor, uma
empresa.
Agentes Externos ou Entidades
 Quando o sistema enfocado recebe dados de um outro
sistema ou fornecidos a ele, aquele sistema é considerado
entidade externa.
 O termo sistema empregado aqui, refere-se a um conjunto
de procedimentos, automatizados e manuais utilizados para
efetuar um fim desejado.
Agentes Externos ou Entidades
 Convenções:
 Referência: Letra maiúscula, “E”, seguida de um número
sequenciador (opcional).
 Nome da entidade: substantivo singular. Pode ser um orgão,
uma pessoa ou um sistema.
 Indicador de repetição: indica que a entidade está
representada mais de uma vez no mesmo diagrama.
Entidade Externa ou Terminador
 A Entidade Externa ou Terminador é uma pessoa, um objeto
ou uma empresa, que fica fora do contexto do sistema, que é
o originador ou o receptor de dados do sistema;
 Representação:
Considerações importantes
 Entidades são externas ao sistema que estamos modelando.
Os fluxos de dados, que interligam as entidades dos diversos
processos, representam a interface entre o sistema e o mundo
externo;
 O analista e/ou projetista não pode modificar o conteúdo de
uma Entidade;
Considerações importantes
 Qualquer relacionamento existente entre Entidades não será
mostrado no DFD;
 Se existirem relacionamentos entre Entidades Externas, e for
essencial que o Analista de Sistemas os modele para
documentar de forma correta os requisitos do sistema, então,
por definição, as Entidades Externas são realmente parte do
sistema e devem ser modeladas como processos;
Exemplos:
Exemplos:
Recomendações




O sentido do desenho é sempre de cima para baixo, da
esquerda para a direita.
As entidades externas, tanto quanto possível, devem
aparecer nas bordas do desenho.
Jamais um fluxo de dados parte de um depósito e vai
para outro depósito sem a intermediação de um
processo.
Um fluxo de dados nunca parte de uma entidade
externa diretamente para o depósito; sempre há um
processo intermediando.
Recomendações


Também não é possível um fluxo partir de uma
entidade externa diretamente para outra entidade
externa.
Igualmente, um fluxo jamais parte de um depósito
diretamente para uma entidade, sempre há a
intermediação de um processo.
Agenda
 Conceitos sobre DFD:
 Propriedades do DFD
 Depósito de Dados
 Conceitos
 Exemplos
 Exercícios
Propriedades do Diagrama de Fluxo de Dados
1. Uma Entidade Externa não pode estar ligada diretamente a
outra Entidade Externa.
Propriedades do Diagrama de Fluxo de Dados
2. Um Depósito de Dados não pode estar ligado diretamente a
uma Entidade Externa.
Propriedades do Diagrama de Fluxo de Dados
3. Um Depósito de Dados não pode estar ligado diretamente a
outro Depósito de Dados.
Propriedades do Diagrama de Fluxo de Dados
4. Um processo deve possuir sempre um verbo no infinitivo,
representando uma ação.
 Ex.: Emitir

Consultar

Atualizar...
Propriedades do Diagrama de Fluxo de Dados
5. Quando houver necessidade de cruzar setas, deve haver uma
“salto” no cruzamento.
Propriedades do Diagrama de Fluxo de Dados
6. Um DFD não deve possuir mais que 7 processos para não
dificultar seu entendimento. Se forem necessários mais
processos, talvez seja melhor dividir o DFD em duas ou mais
sub-partes.
Propriedades do Diagrama de Fluxo de Dados
7. É possível repetir uma mesma Entidade Externa no início e
no final do DFD, porém ela deve apresentar um corte na sua
parte inferior direita, representando a repetição.
Cliente
Cliente
Propriedades do Diagrama de Fluxo de Dados
8. Todo DFD vai possuir, no mínimo, uma
entidade e um processo.
Cliente
Normas para Elaboração de um DFD
 Definir as Entidades Externas.
 Especificar as entradas e saídas do sistema.
 Especificar prováveis saídas (consultas/relatórios) que o
sistema venha a ter necessidade.
 Elaborar o Diagrama de Contexto (Nível 0).
Normas para Elaboração de um
DFD
 Elaborar o diagrama de Nível 1, começando do canto
superior esquerdo, da esquerda para direita, a partir da
Entidade Externa que possuir a principal entrada para o
sistema, desenhando os fluxos de dados que surgem, os
processos logicamente necessários e os Depósitos de Dados
que lhe pareçam necessários.
 Não ligar Entidade Externa diretamente com Entidade
Externa nem Depósito de Dados a Depósito de Dados sem
que possuam um processo entre eles.
Normas para Elaboração de um
DFD
 Aceitar o fato de que será necessário a elaboração de mais de
um esboço até a elaboração final do DFD.
 Verificar se todas as Entidades Externas e fluxos de entradas e
saídas previstas encontram-se representadas.
 Elaborar as expansões necessárias até chegar ao nível
adequado.
D.F.D.
Depósito de Dados
O D.F.D
 O D.F.D utiliza-se de quatro símbolos gráficos, visando




representar os seguintes componentes:
Fluxo de Dados
Processos
Entidades Externas ou Agentes Externos
Armazenamento ou Depósito de Dados
O D.F.D
Depósito de Dados
 O Depósito é utilizado para se modelar uma coleção de
pacotes de dados em repouso.
 É comum referir-se aos Depósitos somente como arquivos ou
banco de dados mas pode também conter dados armazenados
em cartões perfurados, microfilmes, microfichas, discos
óticos e várias outras modalidades eletrônicas.
Convenções
 Convencionamos a identificação de um depósito de dados
pela colocação de uma letra “D” maiúscula seguida de um
número, na esquerda do desenho, separada da descrição por
uma linha vertical.
D1 Dados de Clientes
Função do depósito de dados
 O Depósito existe como uma área necessária de
armazenamento de espera entre dois processos que ocorrem
em momentos diferentes.
 Exemplo:
Detalhes de
pedidos
consulta
pedido
pedido
Introduzir
pedidos
Responder
consultas
D1
confirmação
Pedidos
resposta
Exemplos:
Exemplos:
c
Agenda
 Conceitos sobre DFD:
 Níveis de DFD
 Dicionário de Dados
 Conceitos
 Exemplos
 Exercícios
Níveis de DFD
 O DFD deve ser modelado em uma série de
níveis de modo que a cada nível ofereça
sucessivamente mais detalhes sobre uma
parte do nível que lhe seja superior.
Níveis de DFD
 O DFD de nível mais alto consiste de uma única bolha,
representando o sistema inteiro.
 Os fluxos de dados mostram as interfaces entre o sistema e
as entidades externas.
 Esse DFD especial é conhecido como Diagrama de
Contexto.
 Exemplo:
Níveis de DFD
 O DFD imediatamente abaixo do diagrama de contexto é
conhecido como Nível 0.
 Ele representa a visão de mais alto nível das principais
funções do sistema bem como as principais interfaces entre
essas funções. Cada uma dessas bolhas deve ser numerada
para mais fácil identificação.
 Os números também servem como um meio prático de se
relacionar uma bolha com o DFD de nível imediatamente
inferior que descreve essa bolha de modo mais completo.
Quando se desenha o primeiro DFD:
 Verificar se todos os processos têm o mesmo nível de detalhe,
isto é, se algum dos processos representados não é mais do
que uma sub-atividade de um processo;
 Se dois ou mais processos mostram mais detalhe que outros
processos também representados, podendo aqueles serem
considerados um único processo com um objetivo mais geral.
Levelling
 Depois, cada processo de DFD de nível 1 pode ser
decomposto sucessivamente em outros DFDs onde já se
mostram mais detalhes da lógica de procedimento.
 Nestes DFDs já são considerados tratamentos de erros e
exceções e aparecem também alguns arquivos e fluxos de
dados de uso localizado.
 Esta técnica de subdividir DFDs de nível superior em DFDs
que representam sucessivamente o sistema com maisdetalhe é
conhecida por “levelling”
Como fazer?
 Não há uma regra geral que diga quando se deve acabar com esta
subdivisão;
 Alguns autores defendem que é quando os processos estão sob a forma
de primitiva funcional, outros que não se devem ultrapassar sete níveis
de detalhe.
 No entanto, todos os autores dizem que quando se decompõe um
processo num outro DFD de detalhe deve haver conservação de fluxos,
isto é, os fluxos que entram e saem do processo do DFD
 de nível superior, têm também que entrar e sair no DFD que representa
a decomposição desse processo; esta propriedade é denominada por
“balancing”.
Exemplo de representação
Dicionário de Dados
Dicionário de Dados



O dicionário de dados é uma coleção de dados
a respeito de dados.
A idéia básica é fornecer informações sobre a
definição, a estrutura e a utilização de cada
elemento de dados que o sistema utiliza.
Elemento de dado é a unidade de dados que
não pode ser decomposta.
Função - DD
 Permite descrever:
 Fluxo de Dados;
 Depósitos de Dados;
 Dados Elementares
Dicionário de Dados
 Cada item do DD é composto de:
 Significado;
 Conteúdo;
 Valores permitidos;
 Chave primária no caso de deposito de dados;
Dicionário de Dados
Ao se falar
dados, temos
concepções
hierárquica
existentes:


em dicionário de
que lembrar duas
de
organização
de dados hoje
Organização Hierárquica Tradicional
Organização Hierárquica Emergente;
Organização Hierárquica Tradicional
Geralmente é utilizada por linguagens de 3ª
geração e possui a estrutura que segue:
Organização Hierárquica Emergente
Estrutura conceitual mais recente, com
advento das linguagens de 4ª geração, bancos
de dados e orientação a objeto.
Dicionário de Dados
Por que utilizar um dicionário de dados?


A razão mais óbvia é a documentação.
Contudo, esta é uma visão simplista de sua
necessidade.
Em uma organização, diferentes pessoas ou
grupos, poderão definir um elemento de
dados específico de modo bastante
diferente.
Dicionário de Dados
“Em uma escola, um Analista de Sistemas, conversou com
três pessoas: a secretária, a tesoureira e o professor”. Na
conversa individual com cada um, todos citaram um
elemento de dados chamado “tipo de aluno”, contudo,
para cada um deles este dado tinha conteúdo diferente:



Secretária – Boa nota, má nota.
Tesoureira – Bom ou mal pagador.
Professor – Muito esforçado, pouco esforçado.
Dicionário de Dados
O inverso também acontece, nomes diferentes para
referenciar o mesmo conteúdo. Por exemplo:
registro do empregado, código do funcionário ou nº
de identificação funcional podem ser exatamente a
mesma coisa.
Dicionário de Dados
Perceba, portanto, as implicações amplas de um
dicionário de dados no desenvolvimento de
sistemas. Se todos os desenvolvedores envolvidos em
um sistema, tiverem que utilizar descrições de dados
a partir de um dicionário comum, vários problemas
potencialmente graves poderão ser evitados.
Dicionário de Dados
Para qualquer dado procure sempre definir :
- um nome de identificação
- tipo de conteúdo (numérico, alfanumérico, inteiro,
data)
- tamanho máximo
- formatação
Notação
Exemplo 1:
 Elemento de dados composto:
 Num_telefone: ( DDI + DDD ) + ( numero do telefone )
 DDI = {digito}
 DDD = {dígito}
 Numero do telefone = {dígito}
 Dígito = [0|1|2|3|4|5|6|7|9]
Exemplo 2:
 Elemento de dados elementares:
 Sexo= * Valores [M|F]*
 Peso=*Peso do funcionário na admissão*

*Unidades: Kg Intervalo: 1 -150 *
Exercício
 Indicar o fluxos existentes no DFD o processo de compras de
em um supermercado. Considerar apenas as etapas de
passagem do produto pelo caixa, pagamento e
empacotamento das mercadorias.
 Processos: passar produtos no balcão, registrar
produtos, pagamento, empacotamento, colocar
produtos no carrinho
 Entidades: cliente, caixa, empacotador
 Depósitos: carrinho, pacote, caixa registradora.
Resolução do Exercício 1
 Indicar o fluxos existentes no DFD o processo de compras de
em um supermercado. Considerar apenas as etapas de
passagem do produto pelo caixa, pagamento e
empacotamento das mercadorias.
 Processos: passar produtos no balcão, registrar
produtos, pagamento, empacotamento, colocar
produtos no carrinho
 Entidades: cliente, caixa, empacotador
 Depósitos: carrinho, pacote, caixa registradora.
Exercício 2
 Representar os processos e fluxos existentes no DFD do
exercicio 1.
Considerar apenas as etapas de passagem do produto pelo
caixa, pagamento e empacotamento das mercadorias.
 Processos: passar produtos no balcão, registrar
produtos, pagamento, empacotamento, colocar
produtos no carrinho
 Entidades: cliente, caixa, empacotador
 Depósitos: carrinho, pacote, caixa registradora.
Resolução exercício 1 e 2

Processos: passar produtos no balcão, registrar produtos, pagamento, empacotamento, colocar
produtos no carrinho

Entidades: cliente, caixa, empacotador

Depósitos: carrinho, pacote, caixa registradora.
Empacotador
Embalagens
Cliente
Lista
De produtos
Produtos
empacotados
passar
produtos
no balcão
Empacotamento
Produtos
selecionados
registrar
produtos
Produtos
registrados
colocar
produtos
no
carrinho
Produtos
pagos
Registros de pagamento
pagamento
caixa
Exercício
Desenvolver um D.F.D. para o enunciado abaixo:
“O caixa do banco recebe cheque para descontar.
Ele verifica na ficha do cliente se há saldo
disponível, em caso afirmativo, dá o dinheiro; caso
contrário devolve o cheque”.
Exercícios
Desenvolver os D.F.Ds nos cenários
propostos nos exercícios 1 a 3 da lista
do 2º bimestre. Para elaboração dos
diagramas utilize o sistema Dia.
BIBLIOGRAFIA
 DEMARCO, Tom – “Análise Estruturada e Especificação De
Sistema” – Editora Campus;
 GANE, Chris, SARSON, Trish: Análise Estruturada de
Sistemas – Livros Técnicos e Científicos Editora Ltda.
Download

dfd