Você está na página 1de 7

Nveis de Detalhamento do DFD

Para evitar a complexidade devemos modelar o DFD geral como uma srie de nveis de modo a que cada nvel oferea sucessivamente mais detalhes sobre uma parte do nvel que lhe seja superior.

Diagrama de Contexto (DFD Nvel 0)


O nvel mais alto (mais alto nvel de abstrao) apresenta um nico processo representando o sistema como um todo, onde os fluxos de dado representam as interfaces entre o sistema e as entidades externas (ou qualquer depsito de dados externo). Esse DFD conhecido como DFD de nvel 0 ou Diagrama de Contexto. Abaixo um exemplo de Diagrama de Contexto (DFD de Nvel 0).

Y B

Sistema C Z

Interpretando o DFD exemplo acima, possvel observar os seguintes detalhes: o o O sistema se relaciona com trs entidades externas: X, Y e Z. As interfaces entre o sistema e essas entidades externas so: A entidade externa X envia o pacote de dados A para o sistema; e O sistema envia o pacote de dados B para a entidade externa Y e o pacote de dados C para a entidade externa Z.

DFD de Nvel 1
O primeiro nvel de detalhamento (abaixo do nvel de contexto) conhecido como DFD de nvel 1 e representa as principais funes do sistema. Esse nvel uma decomposio do sistema representado no Diagrama de Contexto, com seus principais processos em um nvel de abstrao menor. Ele indica os processos principais que esto dentro do sistema, portanto um processo de indicao de hierarquia entre os diagramas. Em determinadas metodologias de desenvolvimento de sistema, deve-se comear pelo DFD de nvel 1, para depois criar o Diagrama de Contexto. Isso coerente porque, normalmente, as primeiras informaes que so obtidas sobre o sistema no so somente as suas interfaces externas, mas sim as principais funes que esse sistema deve desempenhar.

Abaixo um exemplo de DFD de Nvel 1 (decomposto a partir do exemplo de Diagrama de Contexto anterior).
Sistema B 3 G D 1 F F X A 2 C Z D2 Y

D1

Interpretando o DFD de Nvel 1 acima, possvel observar os seguintes detalhes: o o O sistema composto por trs processos principais: 1, 2 e 3. O sistema possui dois depsitos de dados principais: D1 e D2.

Prximos Nveis de Detalhamento


O prximo nvel de detalhamento pega os processos principais apresentados no DFD de Nvel 1 e os detalha. Esse detalhamento recebe o nome de DFD de Nvel 2 e um nvel menos abstrato de detalhamento que o anterior (Nvel 1). Abaixo um exemplo de DFD de Nvel 2, representando o detalhamento (decomposio) do processo 3 do DFD de Nvel 1 apresentado anteriormente.

Processo 3 (DFD Nvel 1)

3.1 D 3.2

B 3.3
K L J

3.4
M

D3

Interpretando o DFD de Nvel 2 acima, possvel observar que o processo 3 (DFD Nvel 1) composto por: o o Quatro sub-processos: 3.1, 3.2, 3.3 e 3.4; e Um depsito de dados: D3

Obs: o depsito de dados D3 s utilizado pelos sub-processos do processo 3, portanto, s representado nesse nvel de detalhamento. importante observar tambm que a numerao dos processos deve auxiliar a compreenso da hierarquia dos processos: o A numerao dos processos dos nveis mais baixos deve seguir a numerao do nvel ao qual ele est relacionado. Exemplo: No DFD nvel 1 existe um processo com o nmero 3. No DFD nvel 2, os processos derivados desse processo sero numerados 3.1, 3.2, etc. o O nome da figura na qual representado o detalhamento de um processo do nvel anterior recebe o prprio nome do processo que a gerou. Caso exista a necessidade de um detalhamento maior ainda de algum processo do DFD de Nvel 2 possvel descer a um nvel inferior (Nvel 3) e deste, para detalhamentos maiores (Nvel 4, Nvel 5 e assim por diante). Essa decomposio deve ir at o ponto no qual se consiga o detalhamento desejado para os processos.

Cuidados a serem tomados no momento da decomposio em nveis

Nmero de processos em cada nvel de detalhamento no pode ser muito grande (aproximadamente 7). Caso isso ocorra, criar mais processos globais (agrupando processos do nvel inferior).

No existe limite para a quantidade de nveis de detalhamento. O que existe uma regra geral: Sistemas simples 2 a 3 nveis Sistemas mdios 3 a 6 nveis Sistemas grandes 5 a 8 nveis

Para garantir compatibilidade entre os nveis de detalhamento, os fluxos de dado que entram e saem em um processo em um determinado nvel, devem corresponder aos fluxos de dados que entram e saem de um processo de nvel imediatamente inferior que descreve esse processo.

No necessrio que todos os processos principais do sistema sejam decompostos at o mesmo nvel de detalhamento. Isso depende da cada processo.

Depsitos de dados devem aparecer no nvel mais alto no qual so primeiramente utilizados. No caso dos depsitos de dados, a redundncia aceita, ento eles podem aparecer em diagramas de nvel inferior ao primeiro no qual apareceram.

o o

Entidades externas devem aparecer somente nos diagramas de contexto e de nvel 1. Normalmente os diagramas so mostrados ao usurio iniciando pelo Diagrama de Contexto e ento sendo apresentados os nveis mais detalhados.

Validao do Diagrama de Fluxo de Dados


1. Certifique-se de que o DFD esteja logicamente consistente, verificando e eliminando os seguintes problemas: o o o Processos que tem entrada, mas no tem sada; Processos que tem sada, mas no tem entrada; Fluxos e processos sem nome, exceo dos fluxos de dado que entram e saem de depsitos de dados, indicando que todo o conjunto de dados flui; o Depsito de dados apenas de leitura (somente sadas) ou somente de escrita (somente entradas). 2. Eliminar loops nos processos, pois eles dificultam a fase de projeto do sistema. Exemplos:
x a

1
b

1
b

1.1

1.2
b

antigo processo 2 b a a

1.1
b

1
c d

1
d

1.3 1.2
d c

3. Validar os fluxos de dado decompostos em fluxos divergentes ou reunidos em fluxos convergentes. Obs: poderia ser criado em processo chamado convergir ou divergir, mas isso pode tornar o diagrama mais complexo. Observe o exemplo a seguir.

Nvel 1
1 Verificar Pedido

Pedido

Pedido OK

Nvel 2
Cabealho do Pedido Pedido 1.1 Verificar Cliente Cabealho do pedido e Status de crdito

Pedido OK

Linhas do Pedido

1.2 Verificar Produtos

Linhas do pedido e Status do produto

4. Assegurar que os fluxos de dado no tentem representar aspectos cronolgicos. Exemplos: o o o Representar quando um dado deve entrar no processo; Representar quando um processo deve gerar um resultado; Representar, quando um processo tem mltiplas entradas e mltiplas sadas, quais entradas e sadas dependem umas das outras. Esses aspectos so especificados em um Dicionrio de Dados. 5. Eliminar depsitos de dados que representem restries de tecnologia. 6. Verificar se os acessos aos depsitos de dados esto corretos, considerando que um fluxo de dados entre um processo e um depsito de dados pode ter um dos seguintes significados: o Fluxo de dado de processo para depsito de dados significa que novos dados esto sendo introduzidos, ou que dados esto sendo removidos, ou ento que dados esto sendo modificados; o Fluxo de dado de depsito de dados para processo significa que dados esto sendo lidos do depsito de dados. 7. Validar os seguintes aspectos relacionados entidades externas: o Interfaces entre o mundo real e o sistema devem estar representadas pelos fluxos de dado que interligam as entidades externas com os processos do sistema; e o Qualquer fluxo de dados entre entidades externas NO deve ser representada pelo DFD (est fora do controle que est sendo modelado) 8. Verificar se todos os processos transformam os dados de entrada, ou seja, no tem sentido o mesmo fluxo de dados entrar e sair de um processo. 9. Verificar a numerao dos processos.

Exemplo de construo de um DFD em nveis


Ser utilizada a descrio abaixo para construir os DFDs que modelam o sistema. O departamento Compras necessita que o sistema gere um Relatrio de Exceo de estoque diariamente (no incio do expediente). Esse relatrio deve conter os itens a serem adquiridos para reposio do estoque. Cada item do relatrio deve conter: Cdigo da Pea, Descrio da Pea, Quantidade de Reposio, Preo Atual, Fornecedor Principal e Fornecedor Secundrio. O item deve ser reposto quando o estoque cair abaixo do nvel crtico. Toda Transao de estoque (acrscimo ou retirada de material) informada ao sistema pelo departamento Depsito utilizando um terminal localizado no prprio departamento. Essas transaes so informadas no momento em que ocorrem e so compostas por: Cdigo da Pea, Tipo de Transao e Quantidade da Transao. No caso de uma retirada de estoque, o sistema deve verificar se o estoque do item ficou abaixo do nvel crtico, gerando um item de reposio. Em caso de acrscimo de material, o sistema deve atualizar a quantidade do item em estoque.

1) Diagrama de Contexto (DFD de Nvel 0)

Origem / Destino (Entidades Externas) o o Compras Depsito

Fluxo de Dados o Relatrio de Exceo (cdigo da pea, descrio da pea, quantidade a repor, preo atual, fornecedor principal, fornecedor secundrio) o Transao (cdigo da pea, tipo de transao, quantidade da transao)

Transao DEPSITO Sistema de Reposio

Relatrio de Exceo COMPRAS

2) Decomposio para um nvel maior de detalhamento (DFD de Nvel 1) Detectar os processos (Esses processos vo substituir Sistema de Reposio) o o Gerar relatrio Processar transao

Detectar os depsitos de dados o o Estoque (cdigo da pea, estoque atual, nvel de reposio) Reposio (cdigo da pea, descrio da pea, quantidade a repor, preo atual, fornecedor principal, fornecedor secundrio) deve ser utilizado porque existe uma diferena de tempo, entre o momento no qual a transao acontece (aleatria) e o momento da gerao do relatrio de reposio (todo incio de expediente).

PEAS
Dados de Atualizao Dados do Estoque

Depsito

Transao

1. Processar Transao

2. Gerar Relatrio

Relatrio de Exceo

Compras

Reposio

Reposio

REPOSIES

3) Decomposio das funes principais (DFD Nvel 2) Depois das funes principais terem sido identificadas e incorporadas ao DFD, torna-se necessrio decompor essas funes para um nvel inferior (maior detalhamento).

PEAS
Dados de Atualizao Dados do Estoque

Depsito

Transao

1. Processar Transao

2. Gerar Relatrio

Relatrio de Exceo

Compras

Reposio

Reposio

REPOSIES

Dados de Atualizao

Transao

1.1 Aceitar Transao

Transao Aceita

1.2 Atualizar Estoque

Dados do Estoque

Transao Aceita

1.3 Processar Reposio

Reposio

Dica: percebe-se que o momento de parar a decomposio para nveis mais detalhados, quando os detalhes comearem a ser tornar detalhes de implementao (definies de como os dados sero processados, como sero armazenados, etc.)