Buscar

Diagrama de Fluxo de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 17 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Análise Estruturada 4
Diagrama de entidades relacionamentos (abordado anteriormente) 
Stock
N 1
Prod_Enc
1 N
Fornecedor Movimento
Prod_Forn
Encomenda
N
1
11
N N
 
 
Diagrama de Fluxo de Dados (DFD) 
Ferramenta de modelação gráfica, da análise estruturada, que permite 
representar um sistema como uma rede de actividades ligadas por canais e 
armazéns de dados. 
 
É uma das ferramentas mais usadas quando as actividades do sistema a modelar 
são mais complexas do que os dados que o sistema manipula. 
⇒ dá-nos uma só visão do sistema, a visão orientada por funções ou actividades 
 
A modelação funcional de um sistema permite responder a questões que podem 
ser formuladas de diferentes formas: 
• Que funções têm de ser desempenhadas pelo sistema? Que interacções 
existem entre essas funções? 
• Que transformações tem de ser efectuadas pelo sistema? Que entradas são 
transformadas em saídas? 
• Que tipo de trabalho executa o sistema? Onde obtém informação para 
executar este trabalho? Onde é que a entrega de resultados se processa? 
Análise Estruturada 5
Componentes de um DFD 
Produção
1
Verificar e
actualizar
saídas
Guia de saída
Requisição
MovimentoStock 
 
 
• Terminadores ou 
Entidades Externas 
 
 
Categorias lógicas de coisas ou pessoas fora dos limites do sistema 
considerado, mas que interagem com ele. Representam uma origem ou 
destino de dados. 
Tipicamente são indivíduos, grupos de pessoas, departamentos ou divisões da 
organização, sistemas externos ou organizações externas. 
 
Exemplos: 
Produção (Departamento da organização, mas que não pertence ao sistema, 
supondo que o sistema a modelar engloba somente, por exemplo, 
a gestão de stocks) 
Fornecedor (Um fornecedor interage com o sistema através do envio de guias 
de remessa e facturas, mas está fora do controlo do sistema) 
Análise Estruturada 6
 
• Depósito 
de dados 
 
 
 
Colecções ou elementos de dados que o sistema necessita de armazenar. 
Cada depósito de dados tem um nome que deve sugerir o respectivo 
conteúdo. 
 
Exemplos: 
Stock (Dados de stock de produtos a armazenar) 
Fornecedor (Dados de fornecedores a armazenar) 
 
 
• Fluxo 
de dados 
 
Canal por onde circula informação. Representa movimentação de itens de 
dados de uma parte do sistema para outra, ao contrário dos depósitos de 
dados que representam dados estáticos. 
O nome de um fluxo deve permitir associar imediatamente o respectivo 
conteúdo. 
 
Exemplos: 
Requisição (Conjunto de dados que descrevem um pedido de um ou vários 
produtos ao armazém) 
Encomenda (Conjunto de dados que descrevem uma encomenda) 
 
Análise Estruturada 7
 
• Processos 
 
1.1.
 
 
 
Os processos são centros transformadores de fluxos de entrada em fluxos de 
saída. Representam actividades ou componentes funcionais do sistema a 
modelar. 
Os processos devem ser numerados e devem ter um nome. Os nomes a 
atribuir aos processos devem sugerir a tarefa que esse processo desempenha. 
 
Exemplo: 
Verificar e actualizar saídas 
(Processo que transforma o fluxo de entrada “Requisição” no fluxo de saída 
“Guia_de_saída”, através da verificação e actualização das existências em 
“Stock” e do registo da saída em “Movimento”, para cada produto contido no 
fluxo “Requisição”.) 
 
Note-se que a actualização das existências em “Stock” e o registo da saída em 
“Movimento” só ocorrem se o produto existir no stock. Contudo, este aspecto 
é um detalhe a descrever na especificação interna do processo. 
Análise Estruturada 8
Exemplo de DFD 
Sistema de Gestão de stock (simplificado) 
Produção
1
Verificar e
actualizar
saídas
Movimento
Stock
2
Registar
produto
3
Registar
entradas
4
Encomendar
produtos
Prod_Forn
 Encomenda
 Prod_Enc
Fornecedor 
Fornecedor 
 Fornecedor
 Fornecedor
Guia de saída
Requisição Novo produto
Diálogo
fornecimento
EncomendaGuia de remessa
Análise Estruturada 9
Aspectos importantes relativamente a terminadores 
A identificação e delimitação do sistema a modelar pressupõe a separação entre 
os elementos que são parte integrante do sistema e os elementos exteriores ao 
sistema. Contudo, elementos considerados exteriores comunicam com o sistema, 
sendo então necessário representar estes elementos, o que é feito através de 
terminadores. Assim sendo, podemos referir os seguintes aspectos: 
• Os terminadores não pertencem ao sistema a modelar. Fluxos que ligam 
terminadores a processos representam interface entre o sistema e o ambiente; 
• O analista não pode alterar o conteúdo, a organização ou procedimentos 
internos associados a terminadores, pois estes estão fora do seu controlo; 
• Relacionamentos existentes entre terminadores não são representados pois 
não fazem parte do sistema. Se estes relacionamentos são essenciais para 
sistema a modelar, então “os terminadores não são terminadores”, mas sim 
partes integrantes do sistema a modelar; 
• As ligações mais usuais entre os terminadores e o sistema a modelar são 
fluxos de dados. Contudo, um terminador pode ser outro sistema, com o qual 
é necessário comunicar, através de um depósito de dados externo. Neste caso, 
pode utilizar-se uma representação como a exemplificada seguidamente. 
 
Exemplo: Modelação de um sistema de gestão da produção. 
Sistema de gestão comercial: sistema já implementado, com o qual se 
comunica através do depósito de dados Encomenda 
Gestão
Comercial
1
Elaborar 
plano de 
produção
Encomenda
... ...
Análise Estruturada 10
Aspectos importantes relativamente a fluxos e depósitos de 
dados 
Os Fluxos de dados: 
• têm uma direcção que indica o sentido em que circulam; 
• têm como origens e destinos todos os outros elementos de um DFD; 
• têm um nome, que representa o significado dos dados que circulam, devendo 
este ser único e sugestivo. 
 
Fluxos de diálogo 
São fluxos especiais com 2 direcções e 2 nomes que permitem representar dois 
fluxos de dados do tipo pergunta e resposta. (Exemplo: Diálogo fornecimento) 
 
Algumas questões a que DFD não responde: 
• Fluxos de entrada num processo representam pedidos de informação a outra 
parte do sistema, ou pedidos de leitura ao utilizador, ou envio de informação 
por outra parte do sistema por iniciativa da parte emissora? 
• Fluxos de saída num processo representam pedidos de informação de outra 
parte do sistema, ou envio de informação para outra parte do sistema por 
iniciativa do processo? 
• Quantos itens de dados existem em cada fluxo de dados? 
• Em que sequência chegam as entradas? 
• Em que sequência são produzidas as saídas? 
• Quantas ocorrências de cada fluxo de dados de entrada são necessários para 
produzir uma saída? 
 
Estas questões envolvem detalhes a especificar na modelação interna dos 
processos. 
Análise Estruturada 11
Fluxos de dados ligados a depósitos de dados são interpretadas como operações 
sobre os dados do depósito. Estas operações podem ser de dois tipos, consoante 
o sentido dos fluxos: 
 
• Operação de leitura não destrutiva 
(leitura ou consulta) 
 
• Operação de alteração do depósito 
(alteração, inserção ou remoção) 
 
Sendo o significado de um fluxo de dados ligado a um depósitos de dados mais 
simples de interpretar, em que casos se pode omitir o nome de um fluxo? 
Existem 2 “teorias”: 
• Fluxos de dados ligados a depósitos de dados não precisam de nome; 
• Fluxos de dados cujo conteúdo coincide com uma instância completa de 
um depósitos de dados não necessitam de nome. 
 
 
A partirdo sentido de um fluxo de dados ligado a um depósito de dados 
podemos representar dois tipos de operações. Contudo, considerando uma 
operação de consulta, os casos possíveis de existência de um fluxo de dados 
são: 
• Consulta de uma instância completa; 
• Consulta de um conjunto de instâncias completas que obedecem a um 
critério; 
• Consulta de uma parte de uma instância; 
• Consulta de uma parte de um conjunto de instâncias que obedecem a um 
critério. 
Análise Estruturada 12
∴ Nem todas as questões têm resposta pela simples observação de um fluxo de 
dados. 
⇒ para conhecer todos os detalhes relacionados com um fluxo de dados é 
necessário examinar a especificação interna do processo ao qual o fluxo está 
ligado. Só existe uma certeza, um depósito de dados é um elemento passivo, 
logo, os dados não circulam de um depósitos através de um fluxo, a não ser 
que um processo os requisite. 
 
Exemplos de representação de operações sobre depósitos de dados: 
Operação Representação 
Inserção ou 
remoção de um 
cliente. 
Cliente 
Consulta do Nº de 
telefone de um 
cliente a partir do 
seu código. 
Cliente 
Nºtelefone
Cliente 
Alteração do Nº de 
telefone de um 
cliente a partir do 
seu código. 
Cliente 
Nºtelefone
Cliente
#Cliente
Nºtelefone
Cliente
 
 
Questão: Um depósitos de dados existe devido a requisito especificado por 
utilizador ou devido a aspecto conveniente de implementação ? 
⇒ Um depósito de dados existe devido a desfasamento temporal na necessidade 
dos dados por dois ou mais processos que ocorrem em instantes diferentes. 
Análise Estruturada 13
Hierarquia ou existência de vários níveis de detalhe em 
DFD´s 
Os DFD´s analisados até ao momento modelam sistemas simples ou foram 
apresentados parcialmente. Os sistemas reais a modelar são maiores e mais 
complexos. 
 
Questão: Como representar sistemas com muitos processos, sem abdicar da 
ausência de complexidade num DFD? 
 
A solução consiste em organizar um DFD em sucessivos níveis de refinamento, 
de forma a que cada nível proporcione mais detalhes acerca de uma parte do 
nível acima. Esta característica é única nos DFD e proporciona um mecanismo 
muito útil para representar vários níveis de detalhe. 
 
Cada processo num DFD pode, ou não, estar expandido num DFD de nível 
inferior, o que permite distinguir dois tipos de processos: 
• Processos não primitivos 
Processos cujo detalhe é descrito utilizando um novo DFD de nível 
inferior. O DFD de nível inferior terá o mesmo número e nome do processo 
correspondente do nível superior. 
• Processos Primitivos 
Não originam novos DFD´s, sendo objecto de uma descrição utilizando 
uma linguagem apropriada. Esta descrição especifica a forma de 
transformação de fluxos de entrada em fluxos de saída e não deve 
ultrapassar um página. 
Análise Estruturada 14
Diagrama de fluxo de dados com múltiplos níveis 
Diagrama 0
1. 2.
Diagrama de contexto
Sistema
3.
Diagrama 3
3.1.
3.3.
3.2.
 
Visão muito geral do sistema: 
• Possui um só processo que representa 
todo o sistema como uma caixa preta; 
• Mostra interacção entre sistema e 
terminadores (fluxos e depósitos 
externos) 
 
Visão global do sistema: 
• Mostra os principais processos do 
sistema; 
• Visualiza fluxos e depósitos de dados 
partilhados por processos; 
• Mostra ainda a interacção entre 
sistema e terminadores. 
 
 
Detalhe do processo 3 do Diagrama 0 
(Os terminadores podem ser novamente 
incluídos nos diagramas de nível inferior, 
pois, essa redundância conduz a maior 
clareza na leitura do diagrama) 
 
A numeração de cada diagrama sugere assim o respectivo grau de detalhe. 
Contudo, a numeração não indica qualquer tipo de sequência entre a 
informação. A numeração é efectuada para identificação e estruturação de 
níveis. 
Análise Estruturada 15
Principais características dos DFD´s 
• Não modelam aspectos como o sincronismo e sequenciação 
Os DFD´s são um modo de representação de fluxo de dados e processos 
assíncronos. Por outro lado, não representam a sequência de chegada de 
fluxos, nem a sequência em que são produzidas as saídas. Assim, o modelo 
das actividades fica “livre” de complexidade extra, tornando-o mais fácil de 
elaborar e manter. A este nível só interessa identificar processos e dados que 
circulam entre estes. 
 
• Não especificam o funcionamento interno dos processos 
As componentes de um DFD dizem-nos como é um processo sem definir 
como este funciona. A especificação interna do processo, o suporte textual 
para as actividades de mais baixo nível, define o que as actividades devem 
fazer. 
 
• Não são fluxogramas 
As decisões são tomadas dentro dos processos e nunca são representadas nos 
DFD´s; 
 
• Estruturam-se em vários níveis de detalhe 
Os DFD´s dão uma visão do sistema do geral para o particular. A sucessão de 
vários diagramas sugere essa estruturação. 
 
• São ferramentas de modelação lógica 
Os DFD´s permitem representar aspectos lógicos, não físicos. A sua 
elaboração deve ser independente da tecnologia de implementação, devendo 
ignorar-se aspectos que são dependentes de restrições físicas de 
implementação. O modelo lógico também se designa por modelo essencial, 
ou seja, a essência do sistema. 
Análise Estruturada 16
Regras para a estruturação dos DFD´s 
Os DFD´s devem respeitar algumas regras, a saber: 
• Número máximo de objectos 
Um DFD não deve ter mais do que 7 (+/- 2) processos (número de objectos 
que a mente humana é capaz de abarcar simultaneamente). Este número faz 
com que cada DFD caiba numa folha com formato A4. 
 
• Consistência entre os vários níveis de detalhe 
Cada DFD deve estar equilibrado em relação ao processo que o originou, ou 
seja, o conjunto de fluxos de entrada e saída desse DFD, deve ser equivalente 
ao conjunto de fluxos de entrada e saída do processo que lhe deu origem. 
 
• Consistência entre as várias ferramentas de modelação 
As várias ferramentas de modelação têm de ser consistentes e compatíveis 
entre si. A consistência entre DFD´s e DER´s é assegurada garantindo que 
cada depósito de dados de um DFD corresponde a uma das entidades do 
DER. 
 
• Representação de depósitos de dados acedidos por vários processos 
Num DFD não é necessário representar depósitos de dados que apenas são 
relevantes no interior de cada um dos seus processos. Como corolário poderá 
dizer-se que, se um depósito de dados é utilizado por mais do que um 
processo do mesmo DFD, então esse depósito deve ser representado. 
 
• Dimensão máxima da especificação de um processo primitivo 
A especificação de um processo primitivo não deve ultrapassar uma página. 
Se a especificação do processo possui uma dimensão superior a uma página, 
significa que este é complexo e que não é primitivo, e que é necessário 
detalhar o processo num DFD de nível inferior. 
Análise Estruturada 17
Sugestões para a construção de DFD´s 
Escolher nomes sugestivos para processos, fluxos, depósitos e terminadores. 
• Não usar nomes de pessoas, mas sim a designação do papel que 
representam; 
• Não usar nomes de mecanismos, dispositivos ou meios físicos usados para 
transportar dados. Exemplo: Em vez de “Telefonema” usar “Pedido” e em 
vez de “Operador de entrada de dados” usar “Cliente”, ou seja a origem; 
• A política utilizada para dar nomes a processos consiste em utilizar um 
verbo e um objecto, ou seja, a actividade e o objecto associado. Não se 
deve usar, contudo, nomes ambíguos do tipo: processar dados, tratar 
entradas e funções variadas. 
 
Não desenharDFD’s complexos 
• Desenhar DFD com poucos objectos, para facilitar a sua leitura; 
• Minimizar cruzamentos entre fluxos de dados, da seguinte forma: 
1º redesenhar o diagrama distribuindo objectos da forma mais favorável; 
2º se necessário, duplicar terminadores (assinalar com traço na diagonal); 
3º se necessário, duplicar os depósitos de dados ( “ ); 
4º permitir o cruzamento de fluxos de dados, desde que não exista 
nenhuma estrutura que reduza as intersecções. 
• Para simplificar diagramas de contexto, cuja elaboração pressupõe a 
representação de todas as interacções com o exterior, quando estes 
apresentam uma leitura difícil: 
∗ consolidar fluxos de dados com terminadores comuns; 
∗ desenhar diagramas de contexto diferentes para grupos com interesses 
diferentes, omitindo aspectos não relevantes para cada grupo. 
Análise Estruturada 18
Assegurar alguma consistência entre profundidade dos níveis de detalhe 
das várias partes do sistema. 
Se o processo 2 requer 3 níveis de detalhe (por exemplo 2., 2.1. e 2.1.1.) os 
restantes processos 1, 3, etc. também devem ter 3 níveis de detalhe? 
Não, mas se, por exemplo, o processo 2 é primitivo e o processo 3 possui 7 
níveis de detalhe, podemos concluir que o sistema não foi bem organizado. 
 
Redesenhar o DFD as vezes que forem necessárias. 
A construção de um DFD é um processo iterativo. Assim sendo, um DFD 
deve ser redesenhado várias vezes, de forma a garantir: 
∗ a modelação adequada do sistema em estudo; 
∗ correcção técnica; 
∗ estética agradável; 
∗ consistência interna e em relação a outros modelos utilizados, como DER, 
DTE, DD e especificação de processos. 
 
Concentrar a elaboração do DFD na política subjacente que tem de ser 
levada a cabo e não nos procedimentos usados para sustentar essa política, 
ou seja, na essência do sistema. 
Análise Estruturada 19
Extensão de DFD´s para modelar sistemas em tempo real 
Sistemas em tempo real 
Sistemas que controlam o ambiente através da recepção de dados, seu 
processamento e devolução de resultados em tempo suficientemente curto, de 
forma a afectar o ambiente no momento. 
 
 
Sistemas em tempo real VS Sistemas on-line 
Os sistemas em tempo real distinguem-se dos sistemas on-line pela necessidade 
de um tempo de resposta menor. Por outro lado, ao contrário dos sistemas on-
line que normalmente interagem com pessoas, os sistemas em tempo real 
também interagem com o ambiente, reagindo e captando dados, e/ou 
controlando o ambiente. 
Exemplos: Sistemas de aquisição de dados de alta velocidade, sistemas de 
controlo de processos, etc. 
 
Devido a necessidade de tratar sinais e interrupções do ambiente, bem como, de 
controlar e sincronizar actividades, para estes sistemas necessitamos de 
modelar: 
• Fluxos de controlo 
• Processos de controlo 
 
Fluxo de controlo 
Representa um canal que transporta um sinal binário, que é enviado de um 
processo para outro, ou de um terminador para um processo, com o intuito de 
activar um processo que se encontra suspenso. 
Análise Estruturada 20
Processo de controlo (supervisor ou executivo) 
É um processo supervisor cuja única função é coordenar e sincronizar as 
actividades de outros processos de um DFD. 
As suas saídas e entradas consistem somente em fluxos de controlo. As saídas 
são usadas para “acordar” outros processos. As entradas significam que outro 
processo terminou a sua tarefa, ou que surgiu uma situação extraordinária que 
deve ser notificada ao processo. 
 
 
Representação de fluxos e processos de controlo 
Os fluxos e processos de controlo são representados num DFD a tracejado. 
 
 
Processo normal VS processo de controlo 
Um processo normal, que possui um fluxo de controlo de entrada, depois de 
acordado comporta-se como um processo normal. O comportamento de um 
processo de controlo é diferente, sendo modelado por um diagrama de transição 
de estados, que mostra os vários estados que o sistema pode ter e as 
circunstâncias que levam à alteração de estado. 
 
 
Exemplo: 
 
Sinal X ⇒ activar processo 2
 
Sinal Y ⇒ activar processo 3 
1
2 3
P.C.
X
Y

Outros materiais