SlideShare a Scribd company logo
1 of 26
Download to read offline
DFD
Diagrama de Fluxo de Dados
Prof. Rafael Rodrigues de Souza
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
DIAGRAMA DE FLUXO DE DADOS
(por Edward Yourdon)
O diagrama de fluxo de dados é uma ferramenta de modelagem que nos permite imaginar um
sistema como uma rede de processos funcionais, interligados por "dutos" e "tanques de
armazenamento" de dados. Na literatura do processamento de dados, e em suas conversas com outros
analistas de sistemas e usuários, você pode usar qualquer um dos termos abaixo como sinônimo de
diagrama de fluxo de dados:
• Diagrama de bolhas
• DFD (abreviatura)
• Modelo de processo
• Diagrama de fluxo de trabalho
• Modelo funcional
• "uma representação do que está acontecendo por aqui"
O diagrama de fluxo de dados é uma das mais utilizadas ferramentas de modelagem de
sistemas, principalmente para sistemas operativos nos quais as funções do sistema sejam de
fundamental importância.
1. OS COMPONENTES DE UM DFD
A figura 1 mostra um DFD típico de um pequeno sistema. Antes de analisarmos seus
componentes em detalhe, observe que:
Figura 1 – Um DFD típico
• Ele não precisa de explicações; basta olharmos para ele para compreendê-lo. Isso é especialmente
importante quando lembramos quem supostamente examinará a figura - não o analista de sistemas,
mas o usuário.
• O diagrama acomoda-se facilmente em uma página.
2
CLIENTES
1.
RECEBER
PEDIDOS
PEDIDOS
FATURAS
CLIENTES
informações
de
cobranças
nome do cliente,
endereço do cliente
pedidos
pedidos
inválidos
detalhes de
pedidos
DEPÓSITO
2.
REMETER
LIVROS
livros
detalhes de
remessas
CLIENTES
livros
3.
COLETAR
PAGAMEN-
TOS
pagamentos,
consultas
faturas,
declarações
detalhes de
faturas
nome do cliente,
endereço do cliente
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
1.1. O Processo
O primeiro componente de um DFD é conhecido como processo. Os sinônimos mais
conhecidos são bolha, função e transformação. O processo mostra uma parte do sistema, a que
transforma entradas em saídas - isto é, mostra como uma ou mais entradas são convertidas em saídas.
O processo é representado graficamente por um círculo, como se vê na figura 2(a). Alguns analistas de
sistemas preferem usar um oval, ou um retângulo de vértices curvos, como mostrado na figura 2(b);
outros preferem ainda um retângulo, como na figura 2(c). As diferenças entre esses três formatos são
puramente cosméticas, embora seja obviamente importante utilizar o mesmo formato de maneira
consistente para representar todas as funções do sistema.
O processo é denominado ou descrito em uma sentença simples. O nome do processo
descreverá o que o processo faz e é composto por uma frase constituída de um verbo e de um objeto,
como VALIDAR ENTRADA ou CALCULAR VALOR DO IMPOSTO.
1.2. O Fluxo
Um fluxo é graficamente representado por uma seta que entra ou sai de um processo; a figura 3
representa um exemplo de fluxo. O fluxo é utilizado para mostrar o movimento de fragmentos ou de
pacotes de informações de um ponto a outro do sistema. Desse modo, o fluxo representa dados em
movimento, enquanto os depósitos representam dados em repouso.
Figura 3 – Um exemplo de fluxo
O nome do fluxo representa o significado do pacote que se move pelo fluxo.
O fluxo também mostra direção: uma seta em uma das extremidades do fluxo (ou em ambas)
indica se os dados entram ou saem do processo (ou as duas coisas).
1.3. O Depósito
O depósito é utilizado para se modelar uma coleção de pacotes de dados em repouso. A
representação para um depósito são duas linhas paralelas, como na figura 4(a); uma notação alternativa
é mostrada na figura 4(b); outra representação é mostrada na figura 4(c). Normalmente o nome
escolhido para identificar o depósito é o plural do nome dos pacotes transportados pelos fluxos para
dentro e para fora do depósito.
Os depósitos são interligados aos processos por fluxos. Dessa maneira, o contexto em que um
depósito se apresenta em um DFD é um (ou ambos) dos seguintes:
• Um fluxo de um depósito
3
CALCULAR
IMPOSTO
SOBRE
VENDAS
CALCULAR
IMPOSTO
SOBRE
VENDAS
CALCULAR
IMPOSTO
SOBRE
VENDAS
Figura 2(a) – Exemplo de processo Figura 2(b) – Representação
alternativa de um processo
Figura 2(c) - Outra representação
de um processo
consulta de cliente
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
• Um fluxo para um 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. Um fluxo para um depósito é muitas vezes descrito como uma
escrita, uma atualização ou possivelmente uma eliminação. Por isso, esses fluxos, não
necessariamente, precisam ser rotulados.
1.4. O Terminador
O componente seguinte do DFD é o terminador; ele é graficamente representado por um
retângulo, como mostrado na figura 5. Os terminadores representam entidades externas com as quais o
sistema se comunica. Tipicamente, o terminador é uma pessoa ou um grupo de pessoas, por exemplo,
uma organização externa ou uma empresa do governo ou um grupo ou setor que esteja dentro da
mesma companhia ou organização, mas fora do controle do sistema que está sendo modelado. Em
alguns casos, o terminador pode ser outro sistema, por exemplo, algum outro sistema de
processamento com o qual nosso sistema se comunicará.
Figura 5 – Representação gráfica de um terminador
Existem três importantes aspectos a serem lembrados sobre terminadores:
1. Eles são externos ao sistema que estamos modelando; os fluxos que interligam os terminadores
aos diversos processos (ou depósitos) de nosso sistema representam a interface entre o sistema e o
mundo externo.
2. O analista de sistemas não pode modificar o conteúdo, ou a organização ou os procedimentos
relativos aos terminadores.
3. Qualquer relacionamento existente entre terminadores não será mostrado no DFD. Alguns
relacionamentos desse tipo podem existir de fato, mas, por definição, eles não fazem parte do
sistema que estamos estudando. Inversamente, se existirem relacionamentos entre terminadores e
for essencial que o analista de sistemas os modele para documentar de forma correta os requisitos
do sistema, então, por definição, os terminadores são realmente parte do sistema e devem ser
modelados como processos.
2. DIRETRIZES PARA A ELABORAÇÃO DE DFD
Existem algumas diretrizes adicionais necessárias para utilizar DFD com sucesso. Algumas
dessas diretrizes o auxiliarão a não construir DFD incorretos (isto é, incompletos ou logicamente
inconsistentes) e algumas outras destinam-se a ajudá-lo a desenhar DFD agradáveis à vista e portanto
com mais possibilidade de serem examinados com atenção pelo usuário.
As diretrizes são as seguintes:
1. Escolher nomes significativos para os processos, fluxos, depósitos e terminadores.
4
PEDIDOS D1 PEDIDOS PEDIDOS
Figura 4(a) – Representação
gráfica de um depósito
Figura 4(b) – Uma representação
alternativa para um depósito
Figura 4(c) – Outra representação
gráfica de um depósito
DEPARTAMENTO
DE
CONTABILIDADE
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
2. Numerar os processos.
3. Refazer o DFD tantas vezes quantas forem necessárias até obter uma boa estética.
4. Evitar DFD complexos demais.
5. Certificar-se de que o DFD seja internamente consistente além de manter a consistência com
os outros DFD.
2.1. Escolher Nomes Significativos para os Processos, Fluxos, Depósitos e
Terminadores
Um bom método para nomes de processos é utilizar um verbo e um objeto. Isto é, empregar um
verbo que represente ação (um verbo transitivo, que exige um objeto) e um objeto adequado formando
uma sentença descritiva do processo. Eis alguns exemplos de nomes de processos:
• CALCULAR TRAJETÓRIA DO MÍSSIL
• PRODUZIR RELATÓRIO DE INVENTÁRIO
• VALIDAR NÚMERO DE TELEFONE
• DESIGNAR ALUNOS PARA SALAS
Quando são utilizados verbos do tipo "elástico" (verbos cujo sentido pode ser estendido para
significar quase tudo), muitas vezes significa que o analista de sistemas não está bem certo de qual
função está sendo executada ou que várias funções foram reunidas mas que não o deveriam ser. Eis
alguns exemplos de maus nomes de processos:
• FAZER SERVIÇO
• FUNÇÕES DIVERSAS
• MANIPULAR ENTRADA
• CUIDAR DOS CLIENTES
• PROCESSAR DADOS
• EDIÇÃO GERAL
Os nomes escolhidos para os processos (e também para os fluxos e os terminadores) devem
provir de um vocabulário conhecido pelo usuário. Isto acontecerá naturalmente se o DFD for
desenhado como resultado de uma série de entrevistas com o usuário e se o analista de sistemas tiver
um mínimo conhecimento do objeto subjacente da aplicação.
2.2. Numerar os Processos
Como um método prático de referências os processos de um DFD, a maioria dos analistas de
sistemas costuma numerar cada bolha. Não importa a maneira de fazer isso - da esquerda para a
direita, de baixo para cima, ou de outra maneira qualquer - desde que você seja consistente no modo
como atribui os números.
A única coisa que você deve ter em mente é que o esquema de numeração implicará, para os
eventuais leitores do seu DFD, uma determinada seqüência de execução.
2.3. Evitar DFD Complexos Demais
O propósito de um DFD é modelar corretamente as funções que um sistema deve executar e as
interações entre elas. Porém um outro objetivo do DFD é ser lido e compreendido, não somente pelo
analista de sistemas que elaborou o modelo, mas também pelos usuários que são os conhecedores do
5
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
assunto correlacionado. Isso significa que o DFD deve ser prontamente compreendido, facilmente
absorvido e agradável aos olhos.
Não crie um DFD com demasiados processos, fluxos, depósitos e terminadores. A maioria dos
casos isso quer dizer que não se deve incluir mais de meia dúzia de processos e depósitos, fluxos e
terminadores a eles relacionados em um único diagrama.
2.4. Refazer o DFD Tantas Vezes Quantas Forem Necessárias
Em um projeto de análise de sistemas do mundo real, o DFD terá de ser feito, refeito e
novamente refeito, por dez ou mais vezes, até que esteja (1) tecnicamente correto, (2) aceitável pelo
usuário e (3) tão bem desenhado que você não fique constrangido em mostrá-lo à junta de diretores de
sua empresa.
2.5. Certificar-se de que o DFD Seja Logicamente Consistente
Existem algumas diretrizes que são utilizadas para fazer com que o próprio DFD seja
consistente. As principais diretrizes para a consistência são estas:
• Evite os poços sem fundo, bolhas que têm entradas mas não têm saídas.
• Evite bolhas com geração espontânea; bolhas que têm saídas mas não entradas são suspeitas e
geralmente incorretas.
• Cuidado com os fluxos e processos sem rótulos. Isso geralmente é sinal de desatenção, mas
pode revelar erros mais sérios: às vezes o analista de sistemas omite o rótulo de um fluxo ou de um
processo porque simplesmente não conseguiu encontrar um nome satisfatório.
• Cuidado com depósitos de leitura-apenas ou escrita-apenas. Esta diretriz é análoga à diretriz
sobre processos de entrada-apenas ou de saída-apenas; um depósito típico deve ter entradas e
saídas. A única exceção a esta diretriz é o depósito externo que serve como interface entre o
sistema e o terminador externo.
3. DFD COM NÍVEIS
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.
A organização dos níveis de um DFD é mostrada conceitualmente na figura 6.
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 os terminadores externos. Esse DFD especial é
conhecido como diagrama de contexto.
O DFD imediatamente abaixo do diagrama de contexto é conhecido como figura 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. Por exemplo:
• A bolha 2 da figura 0 está associada ao DFD de nível inferior conhecido como figura 2. As
bolhas da figura 2 são numeradas como 2.1, 2.2, 2.3 etc.
• A bolha 3 da figura 0 está associada ao DFD de nível inferior conhecido como figura 3. As
bolhas da figura 3 são numeradas como 3.1, 3.2, 3.3 etc.
6
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
• A bolha 2.2 da figura 2 está associada ao DFD de nível inferior conhecido como figura 2.2. As
bolhas da figura 2.2 são numeradas como 2.2.1, 2.2.2, 2.2.3 etc.
Se uma bolha possuir um nome (e de fato deve possui-lo!), então esse nome é transportado para
a figura de nível imediatamente abaixo. Assim, se a bolha 2.2 tem o nome CALCULAR TAXA
DE VENDAS, então a figura 2.2, que subdivide a bolha 2.2 mais detalhadamente, deve ser
rotulada como "figura 2.2: CALCULAR TAXA DE VENDAS".
Figura 6 – Diagramas de fluxo de dados em níveis
Como se pode ver, esse é um modo bastante direto de se organizar um potencialmente enorme
diagrama de fluxo de dados em um grupo de partes manipuláveis. Mas existem algumas coisas que
devem ser acrescentadas a essa descrição da subdivisão em níveis:
1. Como saber quantos níveis deve ter um DFD ? Cada figura de DFD deve ter não mais de meia
dúzia de bolhas e de depósitos a elas relacionados. Assim, se você tiver subdividido um sistema
grande em três níveis, mas o DFD de nível mais baixo ainda contêm 50 bolhas cada um, você deve
estabelecer pelo menos mais um nível abaixo desse.
2. Existem diretrizes sobre o número de níveis que devem ser esperados em um sistema típico?
Em um sistema simples, encontram-se provavelmente dois ou três níveis; um sistema de médio
porte apresenta costumeiramente de três a seis níveis; e um sistema grande terá de cinco a oito
níveis. Deve-se ter cautela com pessoas que afirmam que qualquer sistema pode ser modelado em
exatamente três níveis - alguém assim também vai tentar vender-lhe a ponte Rio-Niterói. Por outro
lado, lembre-se de que o número total de bolhas cresce exponencialmente quando se passa de um
nível para o imediatamente inferior. Se, por exemplo, cada figura tiver sete bolhas, então haverá
343 bolhas no terceiro nível, 16.807 bolhas no quinto nível e 40.353.607 de bolhas no nono nível.
7
O
SISTEMA
DIAGRAMA DE
CONTEXTO
1 2
3 4
FIGURA 0
3.1 3.2
3.3 3.4
FIGURA 3
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
3. Todas as partes do sistema devem ser subdivididas até o mesmo nível de detalhamento? A
resposta é "Não". Algumas partes de um sistema podem ser mais complexas que outras e podem
exigir a subdivisão em mais um ou dois níveis.
4. Como se mostram esses níveis para o usuário? Muitos usuários só desejarão ver um diagrama.
Um usuário executivo de alto nível pode querer ver apenas o diagrama de contexto ou talvez a
figura 0; um usuário de nível operativo pode querer ver apenas a figura que descreve a área do
sistema em que ele esteja interessado. Mas se alguém quiser ver uma grande parte do sistema ou
talvez o sistema inteiro, então faz sentido apresentar-lhe os diagramas na metodologia top-down:
começando pelo diagrama de contexto e descendo aos níveis inferiores de maior detalhamento.
5.Como garantir que os níveis dos DFD sejam consistentes entre si? Os fluxos de dados que
entram e saem de uma bolha em um nível devem corresponder aos fluxos que entram e saem de
uma figura inteira do nível imediatamente inferior que descreve aquela bolha. A figura 7(a) mostra
um exemplo de diagrama de fluxo de dados equilibrado; a figura 7(b) mostra dois níveis de um
DFD não-equilibrado.
Figura 7(a) – Um fragmento de DFD equilibrado
8
3.1 3.2
3.3 3.4
X
YZ
1 2
3 4
A
X
Y
Z
C
B
FIGURA 0
O
SISTEMA
C
A
B
DIAGRAMA DE
CONTEXTO
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Figura 7(b) – Um fragmento de DFD desequilibrado
6.Como mostrar depósitos nos diversos níveis? Esta é uma área em que a redundância é
deliberadamente introduzida no modelo. A diretriz é a seguinte: mostre um depósito no nível mais
alto onde ele serve primeiramente como interface entre duas ou mais bolhas; em seguida, mostre-o
novamente em CADA diagrama de nível inferior que descreva (ou subdivida) as bolhas
interfaceadas. A figura 8 mostra um depósito compartilhado por dois processos de alto nível, A e B;
o depósito seria novamente mostrado nas figuras de nível mais baixo, que ampliam a descrição de
A e B.
Figura 8 – A exibição de depósitos nos níveis inferiores
7. Como realmente se faz a subdivisão dos DFD em níveis? A abordagem top-down é
intuitivamente muito atraente. Pode-se imaginar começar pelo diagrama de contexto e depois
desenvolver a figura 0 e, em seguida, descer metodicamente aos níveis inferiores de detalhamento.
Entretanto, existem problemas nessa abordagem; uma abordagem mais bem-sucedida é identificar
primeiramente os eventos externos aos quais o sistema deve reagir e usar esses eventos para criar
um esboço do DFD.
9
3.1 3.2
3.3 3.4
YZ
P
FIGURA 3
1 2
3 4
A
X
Y
Z
C
B
D FIGURA 0
O
SISTEMA
C
A
B
DIAGRAMA DE
CONTEXTO
A
B
X
A.1
A.2
X B.1
B.2
X
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Responda as questões abaixo relacionadas (Diagrama de Fluxo de Dados):
1. Dê uma breve descrição de um diagrama de fluxo de dados.
2. Quais são os principais componentes de um DFD?
3. O que faz um processo? Como ele pode ser representado graficamente?
4. Quais são os sinônimos comuns para o processo em um DFD?
5. O que está errado no processo abaixo?
6. O que está errado com o processo abaixo?
7. Para que é utilizado o fluxo em um DFD?
8. O que um depósito mostra em um DFD?
9. Quais as formas para representar graficamente um depósito?
10. Qual é a convenção para a atribuição de nomes de depósitos em um DFD?
11. Qual é o significado de um fluxo sem rótulo entrando ou saindo de um depósito?
12. Quais são as possíveis interpretações da chegada de um fluxo a um depósito?
13. Qual é o propósito de se mostrar um terminador em um DFD?
14. Como faz o analista de sistemas para identificar os terminadores?
15. Por que um terminador não deve ter o nome da pessoa que presentemente desempenha aquela função?
16. Cite 3 diretrizes que devem ser seguidas na elaboração de um DFD.
17. Qual é uma boa diretriz para atribuir nomes a processos em um DFD?
18. Por que é freqüentemente necessário redesenhar um DFD muitas vezes?
19. O que é um poço sem fundo?
20. Que são bolhas de geração espontânea em um DFD? Por que devem ser evitadas?
21. Por que os depósitos de leitura-apenas e de escrita-apenas configuram-se habitualmente como um erro em um DFD?
22. Represente graficamente a leitura de um depósito.
23. Represente graficamente a gravação de um depósito.
10
MAÇÃS
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
EXERCÍCIO – EQUILÍBRIO DOS MODELOS - 01
A seguir, estão definidos alguns modelos (DER, DFD, Dicionário de Dados, ...) referentes a um
sistema de Controle de Academia de Ginástica. Corrija os erros que acontecem entre estes
modelos, e também, os erros que acontecem dentro do próprio modelo.
Considere que as entidades e as cardinalidades dos relacionamentos, bem como os
relacionamentos entre as entidades do DER estão corretos. Faça as correções nos próprios
modelos. Corrija o que estiver incorreto, e, quando for o caso, complemente o modelo.
Diagrama de Entidade Relacionamento (DER)
Dicionário de Dados
1. Professor
Atributos Tipo Tamanho Descrição
COD_PROFESSOR Numérico 4 Código do Professor
NOME_PROFESSOR Caracter 50 Nome do Professor
END_PROFESSOR Caracter 50 Endereço do Professor
COD_TURMA Numérico 4 Turma em que o professor ministra aulas
Índice:
1 COD_PROFESSOR
2. Profissão
Atributos Tipo Tamanho Descrição
COD_PROFISSÃO Numérico 4 Código da profissão
DESC_PROFISSÃO Caracter 30 Descrição da profissão
Índice:
1 COD_PROFISSÃO
11
Professor
Turma
Modalidade
N
1
N
1
Turma/Aluno Aluno
Profissões
Mensalidades
N1 N 1
1
N
N
1
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
3. Modalidade
Atributos Tipo Tamanho Descrição
COD_MODALIDADE Numérico 4 Código da modalidade esportiva
DESC_MODALIDADE Caracter 30 Descrição da modalidade esportiva. Por
exemplo: ginástica, natação, musculação.
NOME_PROFESSOR Caracter 50 Nome do Professor desta modalidade
COD_TURMA Numérico 4 Turma referente à modalidade
Índice:
1 COD_MODALIDADE
4. Aluno
Atributos Tipo Tamanho Descrição
COD_ALUNO Numérico 6 Código do aluno
NOME_ALUNO Caracter 50 Nome do aluno
END_ALUNO Caracter 50 Endereço do aluno
COD_TURMA Numérico 4 Turmas em que o aluno está matriculado
NOME_PROFESSOR Caracter 40 Professor do aluno na turma
DESC_MODALIDADE Caracter 30 Modalidades que o aluno pratica
VLR_MENS Numérico 5 int. 2 dec. Valor da mensalidade do aluno
Índice:
1 COD_ALUNO
5. Mensalidade
Atributos Tipo Tamanho Descrição
COD_ALUNO Numérico 6 Código do aluno
NOME_ALUNO Caracter 50 Nome do aluno
DATA_VENC Data 8 Data de vencimento da mensalidade
VLR_MENS Numérico 5 int. 2 dec. Valor da mensalidade do aluno
DATA_PAGTO Data 8 Data em que foi efetuado o pagamento da
mensalidade
VLR_PAGO Numérico 5 int. 2 dec. Valor pago pela mensalidade
Índice:
1 COD_ALUNO
12
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Diagrama de Fluxo de Dados
Figura 0
13
Auxiliar
Administrativa
1
Efetuar
Cadastros
2
Controlar
Mensalidades
3
Emitir
Relatórios
Aluno
Profissão
Professor
Modalidade
Turma
Mensalidade
Aluno
Profissão
Professor
Modalidade
Turma
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Figura 1: Cadastros
14
Secretária
1.1
Efetua
Cadastro
Alunos
1.2
Efetua
Cadastro
Profissões
1.3
Efetua
Cadastro
Professores
Aluno
Profissão
Professor
1.4
Efetua
Cadastro
Modalidades
Modalidade
1.5
Efetua
Cadastro
Turma
Turma
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Figura 2: Controlar Mensalidades
15
Auxiliar
Administrativa
2.1
Cadastrar
Mensalidades
2.2
Emitir
Carnês
Mensalid.
2.3
Cadastrar
Pagamentos
Mensalid.
Mensalidade
Aluno
Auxiliar
Administrativa
Mensalidade
Aluno
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Figura 3: Emitir Relatórios (observe o Layout seguinte)
16
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Layout dos Relatórios
Com base nestes lay-out’s, desenhe a figura 3 do DFD
1) Relatório de Alunos por Turma
Turma: 9999 – XXXXXXXXXXXXXXXXXXXXXXX Horário: XXXXXXXXXXXXXXX
Modalidade: 9999 – XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Código Aluno Nome Aluno Situação Matrícula
999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX
999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX
__________________________________________________________________________________
2) Relatório de Turmas por Professor
Professor: 9999 – XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Código Turma Descrição Turma Horário Modalidade
9999 XXXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXXX
9999 XXXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXXX
__________________________________________________________________________________
3) Relatório de Mensalidades Pagas por Turma
Turma: 9999 – XXXXXXXXXXXXXXXXXXXXXXX Horário: XXXXXXXXXXXXXXX
Modalidade: 9999 – XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Data Vencimento: 99/99/9999
Código Aluno Nome Aluno Valor Mensalidade Data Pagto Valor Pago
999999 XXXXXXXXXXXXXXXXXXXXXXXXXXX 99999,99
99/99/9999 99999,99
999999 XXXXXXXXXXXXXXXXXXXXXXXXXXX 99999,99
99/99/9999 99999,99
__________________________________________________________________________________
4) Relatório de Carnê de Mensalidade
ACADEMIA DE GINÁSTICA MALHAÇÃOACADEMIA DE GINÁSTICA MALHAÇÃO
CARNÊ DE MENSALIDADE Data de Vencimento: 99/99/9999
Aluno: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Modalidade: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Valor Mensalidade: 9.999,99
17
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Descrição de Programas
 Preencha as descrições abaixo e desenhe o lay-out das telas de Cadastro de Alunos e de
Pagamentos de Mensalidades:
Identificação do Sistema: Identificação Módulo:
Identificação do Programa: Cadastro de Alunos
Objetivo do Programa:
Arquivo(s) de Entrada: Arquivo(s) de Saída:
Identificação do Sistema: Identificação Módulo:
Identificação do Programa: Cadastro de Turmas
Objetivo do Programa:
Arquivo(s) de Entrada: Arquivo(s) de Saída:
Identificação do Sistema: Identificação Módulo:
Identificação do Programa: Cadastro de Pagamento de Mensalidades
Objetivo do Programa:
Arquivo(s) de Entrada: Arquivo(s) de Saída:
Identificação do Sistema: Identificação Módulo:
Identificação do Programa: Emissão do Carnê de Mensalidades
Objetivo do Programa:
Arquivo(s) de Entrada: Arquivo(s) de Saída:
18
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
EXERCÍCIOS – EQUILÍBRIO DOS MODELOS – 02
• Mostre os erros de equilíbrio nos modelos de sistemas abaixo:
1. Considere que o DER abaixo está correto:
DER DFD
2. Considere que o DER está correto:
19
1
Cadastrar
Fornecedores
3
Cadastrar
Linhas de
Produtos
2
Cadastrar
Produtos
Fornecedores
Produtos
Linhas
Usuário
Fornecedor
Produto prod/linha
Linha de
Produto
N
N 1
prod/forn
M
Cliente
Consulta
cli/cons
Convênio
conv/cons
cli/conv
M N
1
NN
1
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Dicionário de Dados
Cliente
Convênio
Atributo Tipo Tamanho Atributo Tipo Tamanho
cod_cli N 5 cod_conv N 3
nome_cli C 50 nome_conv C 50
end_cli C 50
cod_conv N 3
Consulta
Atributo Tipo Tamanho
cod_cons N 6
cod_cli N 4
data D 8
hora N 2
minuto N 2
3. Considere que pode haver vários cursos, várias disciplinas e que um determinado curso pode ter várias
disciplinas e uma disciplina pode estar em vários cursos.
Curso
Disciplina
Disciplina/Curso
Atributo Tipo Tamanho Atributo Tipo Tamanho Atributo Tipo Tamanho
cod_curso N 4 cod_disc N 4 cod_disc N 5
nome_curso C 50 nome_disc C 30 nome_disc C 30
cod_curso N 5
série N 2
20
1
Cadastrar
Cursos
3
Cadastrar
Disciplinas/
Curso
2
Cadastrar
Disciplinas
Cursos
Disciplinas
Disc/Curso
Usuário
Disciplina
Curso
disc/curso
1
N
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
4. Considere que o DER está correto:
•
• Descrição de Programas
 Cadastro Pacientes
Arquivo(s) de Entrada: Paciente, Médico
Arquivo(s) de Saída: Paciente
 Cadastro Pedido de Exame
Arquivo(s) de Entrada: Pedido, Paciente, Exame
Arquivo(s) de Saída: Paciente, Pedido
 Cadastro Lista de Exames Pedidos
Arquivo(s) de Entrada: Paciente, Exame, Lista Exames
Arquivo(s) de Saída: Exame
• Elabore o DFD relativo às descrições acima (considerando o DER)
21
Exame
Pedido de
Exame
lista
exames
N
Paciente Médico
pac/ped med/ped
M
1 1
N
N
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
EXERCÍCIOS – EQUILÍBRIO DOS MODELOS – 03
1. Considerando que o DER abaixo está correto, responda:
a) O dicionário de dados para as entidades Profissão, Aluno e Turma está incorreto. Aponte e explique os erros
cometidos.
Profissão {cod_profissão, desc_profissão, nome_aluno}
Aluno {cod_aluno, nome_aluno, endereço_aluno, fone_aluno, desc_profissao}
Turma {cod_turma, desc_turma, cod_aluno}
b) A chave primária da tabela abaixo está definida corretamente? Por quê?
Tur/Alu {cod_turma, cod_aluno, nota, frequência}
2. Baseado no modelo abaixo responda:
a) O dicionário de dados definido abaixo está errado. Explique quais são os erros.
Orçamento {num_orc, data_orc, nome_pac, cod_serviço}
Paciente {cod_pac, nome_pac, fone}
b) A chave primária da tabela abaixo está definida corretamente? Por quê?
Orçamento/Serviço {cod_orc, cod_serviço, num_dente, valor}
22
Curso tur/curso Turma
Aluno
tur/alu
prof/aluProfissão
M
N
N1
N1
Orçamento Paciente
orç/
pac
Serviço
orc/
serv
N 1
N
M
Agenda
pac/
agenda
1
N
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
3. Defina “Integridade Referencial” baseando-se no modelo abaixo:
4. Considere que o DER abaixo está correto:
a) O DFD abaixo está incorreto. Cite e explique cada erro.
b) Quais as entidades que terão chave(s) estrangeira(s) (FK)? Quais são essas chaves estrangeiras?
23
Funcionário Cargo
func/
car
Dependente
func/
dep
N 1
N
1
Filme
Filme/
Locação
Filme/
Gênero
Locação
Gênero
N
M
N 1Filme/
Categoria
Categoria
N1
1
Cadastro
de
Filmes
Atendente
Filme
dados
filmes
2
Cadastro
de
Gêneros
Gênero
dados
gêneros
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
5. Com base nos exemplos de conteúdos das tabelas descritos a seguir, como ficariam os relatórios abaixo
(Substitua os X’s e 9’s pelo conteúdo definido no exemplo). Elabore também o DER.
EXEMPLOS DE CONTEÚDOS DAS TABELAS (DEPÓSITOS DE DADOS)
Autor Assunto
Cod_autor Nome_autor Cod_assunto Desc_assunto
1 Edward Yourdon 1 Análise de Sistemas
2 José David Furlan 2 Banco de Dados
3 Korth 3 Programação
4 Silberchatz 4 Inteligência Artificial
Livro
Cod_livro Título Editora Cod_assunto
1 Análise Estruturada Moderna Campus 1
2 Modelagem de objetos através da UML Makron Books 1
3 Sistema de Banco de Dados Campus 2
4 Engenharia de Software LTC 1
5 Introdução à Inteligência Artificial Campus 4
Autor/Livro Categoria
Cod_autor Cod_livro Cod_categ Desc_categ Qtde_livros Prazo
1 1 1 Alunos 3 7
2 2 2 Funcionários 4 10
3 3 3 Professores 5 15
4 3
1 5
Leitor
Cod_leitor Nome Telefone Cod_categ
1 Márcia C. D. Pascutti 999-9999 3
2 José da Silva 888-8888 1
3 Maria Teixeira 444-4444 1
4 Pedro Henrique de Oliveira 333-3333 2
5 Marcela Souza 222-2222 1
Emprest/Devol Livro/Emprest/Devol
Cod_emp Cod_leitor Data_empréstimo Cod_livro Cod_emp Data_devolução
1 3 25/05/2001 1 1 01/06/2001
2 4 25/05/2001 2 1 01/06/2001
3 1 02/06/2001 3 1 02/06/2001
4 2 02/06/2001 4 2 04/06/2001
5 1 06/06/2001 3 3 05/06/2001
4 3 06/06/2001
1 4
2 4
4 4
3 5
5 5
24
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
Catálogo de Livros por Assunto
Assunto: 999-XXXXXXXXXXXXXXXXXXXXXX
CODIGO LIVRO TÍTULO EDITORA NOME DO(S) AUTORE(S)
999999 XXXXXXXXXXXXXXX XX XXXXXXXXXXXXX XXXXXXXXXXXXXXX
999999 XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXX
XXXXXXXXXXXXXXX
999999 XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXX
Relatório de Usuários da Biblioteca por Categoria
Categoria: 99 - XXXXXXXXXXXXXXXXXX
Código Nome Telefone
999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 999-9999
999999 XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX 999-9999
Categoria: 99 - XXXXXXXXXXXXXXXXXX
Código Nome Telefone
999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 999-9999
999999 XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX 999-9999
Relatório de Livros em Atraso
Código Código Data Data Num.Dias
Leitor Nome Leitor Livro Título Empréstimo Vencto Atraso
999999 XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXXX 99/99/9999 99/99/9999 9999
999999 XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXXX 99/99/9999 99/99/9999 9999
999999 XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXXX 99/99/9999 99/99/9999 9999
999999 XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXXX 99/99/9999 99/99/9999 9999
Comprovante de Empréstimos
Leitor: 999999 – XXXXXXXXXXXXXXXXXXXXXXXXXX Data Empréstimo: 99/99/9999
Código Livro Título Data Vencto
999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 99/99/9999
999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 99/99/9999
999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 99/99/9999
25
Diagrama de Fluxo de Dados Pág.
Prof. Rafael Rodrigues
6. Com base no DER do exercício 1, deverão ser emitidos os relatórios abaixo. Verifique se o DFD relativo
aos relatórios está correto, caso não esteja, corrija-o.
• Relatório de Alunos: deve conter o código do aluno, nome do aluno, telefone do aluno e descrição da
profissão.
• Relatório de Alunos por Turma: deve conter o código da turma, descrição da turma, código do aluno,
nome do aluno e descrição da profissão.
• Relatório de Turmas por Curso: deve conter o código do curso, descrição do curso, código da turma e
descrição da turma.
26
Emitir
relatório
alunos
Secretaria
Alunos
solicita rel. alunos
Emitir
relatório
alunos por
turma
Alunos
solicita rel.
alunos/turma
Turmas
Emitir
relatório
turmas por
curso
Turmas
solicita rel.
turmas/curso

More Related Content

What's hot

Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturadaWagner Bonfim
 
Aula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a FalhasAula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a FalhasVictor Hazin da Rocha
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaJuliano Padilha
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosClara Ferreira
 
Sistemas Transacionais, Gerenciais e Estratégicos
Sistemas Transacionais, Gerenciais e EstratégicosSistemas Transacionais, Gerenciais e Estratégicos
Sistemas Transacionais, Gerenciais e EstratégicosClaudio Barbosa
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de SistemasNécio de Lima Veras
 
Exercicio de UML - Documentacao Restaurante
Exercicio de UML  - Documentacao RestauranteExercicio de UML  - Documentacao Restaurante
Exercicio de UML - Documentacao RestauranteJuliana Cindra
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dadosHélio Martins
 
1 - Competência da Informática Básica
1 - Competência da Informática Básica1 - Competência da Informática Básica
1 - Competência da Informática BásicaAlex Martins
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de DadosDaniel Brandão
 
Data warehousing - Técnicas e procedimentos
Data warehousing - Técnicas e procedimentosData warehousing - Técnicas e procedimentos
Data warehousing - Técnicas e procedimentosMarcos Pessoa
 
Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitoselliando dias
 

What's hot (20)

Modelo E-R
Modelo E-RModelo E-R
Modelo E-R
 
Análise essencial e análise estruturada
Análise essencial e análise estruturadaAnálise essencial e análise estruturada
Análise essencial e análise estruturada
 
Aula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a FalhasAula de Sistemas Distribuídos - Tolerância a Falhas
Aula de Sistemas Distribuídos - Tolerância a Falhas
 
ERP - Conceito e Evolução
ERP - Conceito e EvoluçãoERP - Conceito e Evolução
ERP - Conceito e Evolução
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de Concorrência
 
Sistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de DadosSistemas de Gestão de Bases de Dados
Sistemas de Gestão de Bases de Dados
 
Sistemas Transacionais, Gerenciais e Estratégicos
Sistemas Transacionais, Gerenciais e EstratégicosSistemas Transacionais, Gerenciais e Estratégicos
Sistemas Transacionais, Gerenciais e Estratégicos
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
 
Exercicio de UML - Documentacao Restaurante
Exercicio de UML  - Documentacao RestauranteExercicio de UML  - Documentacao Restaurante
Exercicio de UML - Documentacao Restaurante
 
Sistemas de Informação II - Aula01- Apresentação da disciplina
Sistemas de Informação II - Aula01- Apresentação da disciplinaSistemas de Informação II - Aula01- Apresentação da disciplina
Sistemas de Informação II - Aula01- Apresentação da disciplina
 
SGBD
SGBDSGBD
SGBD
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
 
Modelo essencial
Modelo essencialModelo essencial
Modelo essencial
 
Base de dados no Excel 1.pdf
Base de dados no Excel 1.pdfBase de dados no Excel 1.pdf
Base de dados no Excel 1.pdf
 
1 - Competência da Informática Básica
1 - Competência da Informática Básica1 - Competência da Informática Básica
1 - Competência da Informática Básica
 
Aula 00 - Introducao ao Windows Server .pdf
Aula 00 - Introducao ao Windows Server .pdfAula 00 - Introducao ao Windows Server .pdf
Aula 00 - Introducao ao Windows Server .pdf
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de Dados
 
Data warehousing - Técnicas e procedimentos
Data warehousing - Técnicas e procedimentosData warehousing - Técnicas e procedimentos
Data warehousing - Técnicas e procedimentos
 
Engenharia Requisitos
Engenharia RequisitosEngenharia Requisitos
Engenharia Requisitos
 

Viewers also liked

Viewers also liked (20)

Análise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contextoAnálise estruturada de sistemas - Modelo de contexto
Análise estruturada de sistemas - Modelo de contexto
 
Ficha mensalidade
Ficha mensalidadeFicha mensalidade
Ficha mensalidade
 
Dfd estacionamento n+¡vel 0
Dfd estacionamento n+¡vel 0Dfd estacionamento n+¡vel 0
Dfd estacionamento n+¡vel 0
 
Lista de Eventos
Lista de EventosLista de Eventos
Lista de Eventos
 
Exercicios
ExerciciosExercicios
Exercicios
 
DER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e RelacionamentosDER - Diagrama de Entidade e Relacionamentos
DER - Diagrama de Entidade e Relacionamentos
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Tipos de Sistema de Informação
Tipos de Sistema de InformaçãoTipos de Sistema de Informação
Tipos de Sistema de Informação
 
Cartilha sobre plagio_academico
Cartilha sobre plagio_academicoCartilha sobre plagio_academico
Cartilha sobre plagio_academico
 
Ativ 2daunidade3 vensacunha
Ativ 2daunidade3 vensacunhaAtiv 2daunidade3 vensacunha
Ativ 2daunidade3 vensacunha
 
Manual 2 dfd
Manual 2 dfdManual 2 dfd
Manual 2 dfd
 
Analise sistemas 07
Analise sistemas 07Analise sistemas 07
Analise sistemas 07
 
Aula2 tipos de analise
Aula2 tipos de analiseAula2 tipos de analise
Aula2 tipos de analise
 
Projeto de Sistemas - Aula004
Projeto de Sistemas - Aula004Projeto de Sistemas - Aula004
Projeto de Sistemas - Aula004
 
Importancia Sistemas
Importancia SistemasImportancia Sistemas
Importancia Sistemas
 
Analise - Aula 1
Analise - Aula 1Analise - Aula 1
Analise - Aula 1
 
Sistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
Sistema de Gerenciamento de Locadora de Vídeo - Banco de DadosSistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
Sistema de Gerenciamento de Locadora de Vídeo - Banco de Dados
 
Dfd dd
Dfd ddDfd dd
Dfd dd
 
Aula3 casos de uso
Aula3 casos de usoAula3 casos de uso
Aula3 casos de uso
 
Analise e Projeto de Sistemas
Analise e Projeto de SistemasAnalise e Projeto de Sistemas
Analise e Projeto de Sistemas
 

Similar to Apostila dfd

Engenharia de Software I - Aula 11
Engenharia de Software I - Aula 11Engenharia de Software I - Aula 11
Engenharia de Software I - Aula 11Alessandro Almeida
 
Engenharia de Software I - Aula 10
Engenharia de Software I - Aula 10Engenharia de Software I - Aula 10
Engenharia de Software I - Aula 10Alessandro Almeida
 
Engenharia de Software I - Aula 12
Engenharia de Software I - Aula 12Engenharia de Software I - Aula 12
Engenharia de Software I - Aula 12Alessandro Almeida
 
ResoluçãO Cgu Ti (Amostra) 2006
ResoluçãO Cgu Ti (Amostra) 2006ResoluçãO Cgu Ti (Amostra) 2006
ResoluçãO Cgu Ti (Amostra) 2006Walter Cunha
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dadosGabriel Moura
 
Tema 5 -_as_-_modelacao_do_fluxo_de_dados_-_dc_dfd_2009
Tema 5 -_as_-_modelacao_do_fluxo_de_dados_-_dc_dfd_2009Tema 5 -_as_-_modelacao_do_fluxo_de_dados_-_dc_dfd_2009
Tema 5 -_as_-_modelacao_do_fluxo_de_dados_-_dc_dfd_2009Pedro A. Uamusse
 
modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4spawally
 
Tema 7 a_dicionario_de_dados_arvore_e_ta
Tema 7 a_dicionario_de_dados_arvore_e_taTema 7 a_dicionario_de_dados_arvore_e_ta
Tema 7 a_dicionario_de_dados_arvore_e_taPedro A. Uamusse
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basicoAmadeo Santos
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasClayton de Almeida Souza
 
Tema 8 diagramadeestrtutura
Tema 8 diagramadeestrtuturaTema 8 diagramadeestrtutura
Tema 8 diagramadeestrtuturaPedro A. Uamusse
 
Aula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semanaAula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semanaGabriel Moura
 

Similar to Apostila dfd (20)

Engenharia de Software I - Aula 11
Engenharia de Software I - Aula 11Engenharia de Software I - Aula 11
Engenharia de Software I - Aula 11
 
Engenharia de Software I - Aula 10
Engenharia de Software I - Aula 10Engenharia de Software I - Aula 10
Engenharia de Software I - Aula 10
 
Engenharia de Software I - Aula 12
Engenharia de Software I - Aula 12Engenharia de Software I - Aula 12
Engenharia de Software I - Aula 12
 
ResoluçãO Cgu Ti (Amostra) 2006
ResoluçãO Cgu Ti (Amostra) 2006ResoluçãO Cgu Ti (Amostra) 2006
ResoluçãO Cgu Ti (Amostra) 2006
 
Aula modelagem de dados
Aula modelagem de dadosAula modelagem de dados
Aula modelagem de dados
 
Tema 5 -_as_-_modelacao_do_fluxo_de_dados_-_dc_dfd_2009
Tema 5 -_as_-_modelacao_do_fluxo_de_dados_-_dc_dfd_2009Tema 5 -_as_-_modelacao_do_fluxo_de_dados_-_dc_dfd_2009
Tema 5 -_as_-_modelacao_do_fluxo_de_dados_-_dc_dfd_2009
 
modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4modelagem sistema da informação Unid 4
modelagem sistema da informação Unid 4
 
Aplicativo aula02
Aplicativo aula02Aplicativo aula02
Aplicativo aula02
 
Tema 7 a_dicionario_de_dados_arvore_e_ta
Tema 7 a_dicionario_de_dados_arvore_e_taTema 7 a_dicionario_de_dados_arvore_e_ta
Tema 7 a_dicionario_de_dados_arvore_e_ta
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
01 banco de dados-basico
01 banco de dados-basico01 banco de dados-basico
01 banco de dados-basico
 
Dfd
DfdDfd
Dfd
 
Oracleplsql
OracleplsqlOracleplsql
Oracleplsql
 
BD I - Aula 07 A - Projetando BD
BD I - Aula 07 A - Projetando BDBD I - Aula 07 A - Projetando BD
BD I - Aula 07 A - Projetando BD
 
Conceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de SistemasConceitos Básicos Sobre Analise de Sistemas
Conceitos Básicos Sobre Analise de Sistemas
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Tema 8 diagramadeestrtutura
Tema 8 diagramadeestrtuturaTema 8 diagramadeestrtutura
Tema 8 diagramadeestrtutura
 
Aula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semanaAula desesenvolvimento segunda semana
Aula desesenvolvimento segunda semana
 

Apostila dfd

  • 1. DFD Diagrama de Fluxo de Dados Prof. Rafael Rodrigues de Souza
  • 2. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues DIAGRAMA DE FLUXO DE DADOS (por Edward Yourdon) O diagrama de fluxo de dados é uma ferramenta de modelagem que nos permite imaginar um sistema como uma rede de processos funcionais, interligados por "dutos" e "tanques de armazenamento" de dados. Na literatura do processamento de dados, e em suas conversas com outros analistas de sistemas e usuários, você pode usar qualquer um dos termos abaixo como sinônimo de diagrama de fluxo de dados: • Diagrama de bolhas • DFD (abreviatura) • Modelo de processo • Diagrama de fluxo de trabalho • Modelo funcional • "uma representação do que está acontecendo por aqui" O diagrama de fluxo de dados é uma das mais utilizadas ferramentas de modelagem de sistemas, principalmente para sistemas operativos nos quais as funções do sistema sejam de fundamental importância. 1. OS COMPONENTES DE UM DFD A figura 1 mostra um DFD típico de um pequeno sistema. Antes de analisarmos seus componentes em detalhe, observe que: Figura 1 – Um DFD típico • Ele não precisa de explicações; basta olharmos para ele para compreendê-lo. Isso é especialmente importante quando lembramos quem supostamente examinará a figura - não o analista de sistemas, mas o usuário. • O diagrama acomoda-se facilmente em uma página. 2 CLIENTES 1. RECEBER PEDIDOS PEDIDOS FATURAS CLIENTES informações de cobranças nome do cliente, endereço do cliente pedidos pedidos inválidos detalhes de pedidos DEPÓSITO 2. REMETER LIVROS livros detalhes de remessas CLIENTES livros 3. COLETAR PAGAMEN- TOS pagamentos, consultas faturas, declarações detalhes de faturas nome do cliente, endereço do cliente
  • 3. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues 1.1. O Processo O primeiro componente de um DFD é conhecido como processo. Os sinônimos mais conhecidos são bolha, função e transformação. O processo mostra uma parte do sistema, a que transforma entradas em saídas - isto é, mostra como uma ou mais entradas são convertidas em saídas. O processo é representado graficamente por um círculo, como se vê na figura 2(a). Alguns analistas de sistemas preferem usar um oval, ou um retângulo de vértices curvos, como mostrado na figura 2(b); outros preferem ainda um retângulo, como na figura 2(c). As diferenças entre esses três formatos são puramente cosméticas, embora seja obviamente importante utilizar o mesmo formato de maneira consistente para representar todas as funções do sistema. O processo é denominado ou descrito em uma sentença simples. O nome do processo descreverá o que o processo faz e é composto por uma frase constituída de um verbo e de um objeto, como VALIDAR ENTRADA ou CALCULAR VALOR DO IMPOSTO. 1.2. O Fluxo Um fluxo é graficamente representado por uma seta que entra ou sai de um processo; a figura 3 representa um exemplo de fluxo. O fluxo é utilizado para mostrar o movimento de fragmentos ou de pacotes de informações de um ponto a outro do sistema. Desse modo, o fluxo representa dados em movimento, enquanto os depósitos representam dados em repouso. Figura 3 – Um exemplo de fluxo O nome do fluxo representa o significado do pacote que se move pelo fluxo. O fluxo também mostra direção: uma seta em uma das extremidades do fluxo (ou em ambas) indica se os dados entram ou saem do processo (ou as duas coisas). 1.3. O Depósito O depósito é utilizado para se modelar uma coleção de pacotes de dados em repouso. A representação para um depósito são duas linhas paralelas, como na figura 4(a); uma notação alternativa é mostrada na figura 4(b); outra representação é mostrada na figura 4(c). Normalmente o nome escolhido para identificar o depósito é o plural do nome dos pacotes transportados pelos fluxos para dentro e para fora do depósito. Os depósitos são interligados aos processos por fluxos. Dessa maneira, o contexto em que um depósito se apresenta em um DFD é um (ou ambos) dos seguintes: • Um fluxo de um depósito 3 CALCULAR IMPOSTO SOBRE VENDAS CALCULAR IMPOSTO SOBRE VENDAS CALCULAR IMPOSTO SOBRE VENDAS Figura 2(a) – Exemplo de processo Figura 2(b) – Representação alternativa de um processo Figura 2(c) - Outra representação de um processo consulta de cliente
  • 4. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues • Um fluxo para um 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. Um fluxo para um depósito é muitas vezes descrito como uma escrita, uma atualização ou possivelmente uma eliminação. Por isso, esses fluxos, não necessariamente, precisam ser rotulados. 1.4. O Terminador O componente seguinte do DFD é o terminador; ele é graficamente representado por um retângulo, como mostrado na figura 5. Os terminadores representam entidades externas com as quais o sistema se comunica. Tipicamente, o terminador é uma pessoa ou um grupo de pessoas, por exemplo, uma organização externa ou uma empresa do governo ou um grupo ou setor que esteja dentro da mesma companhia ou organização, mas fora do controle do sistema que está sendo modelado. Em alguns casos, o terminador pode ser outro sistema, por exemplo, algum outro sistema de processamento com o qual nosso sistema se comunicará. Figura 5 – Representação gráfica de um terminador Existem três importantes aspectos a serem lembrados sobre terminadores: 1. Eles são externos ao sistema que estamos modelando; os fluxos que interligam os terminadores aos diversos processos (ou depósitos) de nosso sistema representam a interface entre o sistema e o mundo externo. 2. O analista de sistemas não pode modificar o conteúdo, ou a organização ou os procedimentos relativos aos terminadores. 3. Qualquer relacionamento existente entre terminadores não será mostrado no DFD. Alguns relacionamentos desse tipo podem existir de fato, mas, por definição, eles não fazem parte do sistema que estamos estudando. Inversamente, se existirem relacionamentos entre terminadores e for essencial que o analista de sistemas os modele para documentar de forma correta os requisitos do sistema, então, por definição, os terminadores são realmente parte do sistema e devem ser modelados como processos. 2. DIRETRIZES PARA A ELABORAÇÃO DE DFD Existem algumas diretrizes adicionais necessárias para utilizar DFD com sucesso. Algumas dessas diretrizes o auxiliarão a não construir DFD incorretos (isto é, incompletos ou logicamente inconsistentes) e algumas outras destinam-se a ajudá-lo a desenhar DFD agradáveis à vista e portanto com mais possibilidade de serem examinados com atenção pelo usuário. As diretrizes são as seguintes: 1. Escolher nomes significativos para os processos, fluxos, depósitos e terminadores. 4 PEDIDOS D1 PEDIDOS PEDIDOS Figura 4(a) – Representação gráfica de um depósito Figura 4(b) – Uma representação alternativa para um depósito Figura 4(c) – Outra representação gráfica de um depósito DEPARTAMENTO DE CONTABILIDADE
  • 5. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues 2. Numerar os processos. 3. Refazer o DFD tantas vezes quantas forem necessárias até obter uma boa estética. 4. Evitar DFD complexos demais. 5. Certificar-se de que o DFD seja internamente consistente além de manter a consistência com os outros DFD. 2.1. Escolher Nomes Significativos para os Processos, Fluxos, Depósitos e Terminadores Um bom método para nomes de processos é utilizar um verbo e um objeto. Isto é, empregar um verbo que represente ação (um verbo transitivo, que exige um objeto) e um objeto adequado formando uma sentença descritiva do processo. Eis alguns exemplos de nomes de processos: • CALCULAR TRAJETÓRIA DO MÍSSIL • PRODUZIR RELATÓRIO DE INVENTÁRIO • VALIDAR NÚMERO DE TELEFONE • DESIGNAR ALUNOS PARA SALAS Quando são utilizados verbos do tipo "elástico" (verbos cujo sentido pode ser estendido para significar quase tudo), muitas vezes significa que o analista de sistemas não está bem certo de qual função está sendo executada ou que várias funções foram reunidas mas que não o deveriam ser. Eis alguns exemplos de maus nomes de processos: • FAZER SERVIÇO • FUNÇÕES DIVERSAS • MANIPULAR ENTRADA • CUIDAR DOS CLIENTES • PROCESSAR DADOS • EDIÇÃO GERAL Os nomes escolhidos para os processos (e também para os fluxos e os terminadores) devem provir de um vocabulário conhecido pelo usuário. Isto acontecerá naturalmente se o DFD for desenhado como resultado de uma série de entrevistas com o usuário e se o analista de sistemas tiver um mínimo conhecimento do objeto subjacente da aplicação. 2.2. Numerar os Processos Como um método prático de referências os processos de um DFD, a maioria dos analistas de sistemas costuma numerar cada bolha. Não importa a maneira de fazer isso - da esquerda para a direita, de baixo para cima, ou de outra maneira qualquer - desde que você seja consistente no modo como atribui os números. A única coisa que você deve ter em mente é que o esquema de numeração implicará, para os eventuais leitores do seu DFD, uma determinada seqüência de execução. 2.3. Evitar DFD Complexos Demais O propósito de um DFD é modelar corretamente as funções que um sistema deve executar e as interações entre elas. Porém um outro objetivo do DFD é ser lido e compreendido, não somente pelo analista de sistemas que elaborou o modelo, mas também pelos usuários que são os conhecedores do 5
  • 6. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues assunto correlacionado. Isso significa que o DFD deve ser prontamente compreendido, facilmente absorvido e agradável aos olhos. Não crie um DFD com demasiados processos, fluxos, depósitos e terminadores. A maioria dos casos isso quer dizer que não se deve incluir mais de meia dúzia de processos e depósitos, fluxos e terminadores a eles relacionados em um único diagrama. 2.4. Refazer o DFD Tantas Vezes Quantas Forem Necessárias Em um projeto de análise de sistemas do mundo real, o DFD terá de ser feito, refeito e novamente refeito, por dez ou mais vezes, até que esteja (1) tecnicamente correto, (2) aceitável pelo usuário e (3) tão bem desenhado que você não fique constrangido em mostrá-lo à junta de diretores de sua empresa. 2.5. Certificar-se de que o DFD Seja Logicamente Consistente Existem algumas diretrizes que são utilizadas para fazer com que o próprio DFD seja consistente. As principais diretrizes para a consistência são estas: • Evite os poços sem fundo, bolhas que têm entradas mas não têm saídas. • Evite bolhas com geração espontânea; bolhas que têm saídas mas não entradas são suspeitas e geralmente incorretas. • Cuidado com os fluxos e processos sem rótulos. Isso geralmente é sinal de desatenção, mas pode revelar erros mais sérios: às vezes o analista de sistemas omite o rótulo de um fluxo ou de um processo porque simplesmente não conseguiu encontrar um nome satisfatório. • Cuidado com depósitos de leitura-apenas ou escrita-apenas. Esta diretriz é análoga à diretriz sobre processos de entrada-apenas ou de saída-apenas; um depósito típico deve ter entradas e saídas. A única exceção a esta diretriz é o depósito externo que serve como interface entre o sistema e o terminador externo. 3. DFD COM NÍVEIS 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. A organização dos níveis de um DFD é mostrada conceitualmente na figura 6. 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 os terminadores externos. Esse DFD especial é conhecido como diagrama de contexto. O DFD imediatamente abaixo do diagrama de contexto é conhecido como figura 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. Por exemplo: • A bolha 2 da figura 0 está associada ao DFD de nível inferior conhecido como figura 2. As bolhas da figura 2 são numeradas como 2.1, 2.2, 2.3 etc. • A bolha 3 da figura 0 está associada ao DFD de nível inferior conhecido como figura 3. As bolhas da figura 3 são numeradas como 3.1, 3.2, 3.3 etc. 6
  • 7. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues • A bolha 2.2 da figura 2 está associada ao DFD de nível inferior conhecido como figura 2.2. As bolhas da figura 2.2 são numeradas como 2.2.1, 2.2.2, 2.2.3 etc. Se uma bolha possuir um nome (e de fato deve possui-lo!), então esse nome é transportado para a figura de nível imediatamente abaixo. Assim, se a bolha 2.2 tem o nome CALCULAR TAXA DE VENDAS, então a figura 2.2, que subdivide a bolha 2.2 mais detalhadamente, deve ser rotulada como "figura 2.2: CALCULAR TAXA DE VENDAS". Figura 6 – Diagramas de fluxo de dados em níveis Como se pode ver, esse é um modo bastante direto de se organizar um potencialmente enorme diagrama de fluxo de dados em um grupo de partes manipuláveis. Mas existem algumas coisas que devem ser acrescentadas a essa descrição da subdivisão em níveis: 1. Como saber quantos níveis deve ter um DFD ? Cada figura de DFD deve ter não mais de meia dúzia de bolhas e de depósitos a elas relacionados. Assim, se você tiver subdividido um sistema grande em três níveis, mas o DFD de nível mais baixo ainda contêm 50 bolhas cada um, você deve estabelecer pelo menos mais um nível abaixo desse. 2. Existem diretrizes sobre o número de níveis que devem ser esperados em um sistema típico? Em um sistema simples, encontram-se provavelmente dois ou três níveis; um sistema de médio porte apresenta costumeiramente de três a seis níveis; e um sistema grande terá de cinco a oito níveis. Deve-se ter cautela com pessoas que afirmam que qualquer sistema pode ser modelado em exatamente três níveis - alguém assim também vai tentar vender-lhe a ponte Rio-Niterói. Por outro lado, lembre-se de que o número total de bolhas cresce exponencialmente quando se passa de um nível para o imediatamente inferior. Se, por exemplo, cada figura tiver sete bolhas, então haverá 343 bolhas no terceiro nível, 16.807 bolhas no quinto nível e 40.353.607 de bolhas no nono nível. 7 O SISTEMA DIAGRAMA DE CONTEXTO 1 2 3 4 FIGURA 0 3.1 3.2 3.3 3.4 FIGURA 3
  • 8. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues 3. Todas as partes do sistema devem ser subdivididas até o mesmo nível de detalhamento? A resposta é "Não". Algumas partes de um sistema podem ser mais complexas que outras e podem exigir a subdivisão em mais um ou dois níveis. 4. Como se mostram esses níveis para o usuário? Muitos usuários só desejarão ver um diagrama. Um usuário executivo de alto nível pode querer ver apenas o diagrama de contexto ou talvez a figura 0; um usuário de nível operativo pode querer ver apenas a figura que descreve a área do sistema em que ele esteja interessado. Mas se alguém quiser ver uma grande parte do sistema ou talvez o sistema inteiro, então faz sentido apresentar-lhe os diagramas na metodologia top-down: começando pelo diagrama de contexto e descendo aos níveis inferiores de maior detalhamento. 5.Como garantir que os níveis dos DFD sejam consistentes entre si? Os fluxos de dados que entram e saem de uma bolha em um nível devem corresponder aos fluxos que entram e saem de uma figura inteira do nível imediatamente inferior que descreve aquela bolha. A figura 7(a) mostra um exemplo de diagrama de fluxo de dados equilibrado; a figura 7(b) mostra dois níveis de um DFD não-equilibrado. Figura 7(a) – Um fragmento de DFD equilibrado 8 3.1 3.2 3.3 3.4 X YZ 1 2 3 4 A X Y Z C B FIGURA 0 O SISTEMA C A B DIAGRAMA DE CONTEXTO
  • 9. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Figura 7(b) – Um fragmento de DFD desequilibrado 6.Como mostrar depósitos nos diversos níveis? Esta é uma área em que a redundância é deliberadamente introduzida no modelo. A diretriz é a seguinte: mostre um depósito no nível mais alto onde ele serve primeiramente como interface entre duas ou mais bolhas; em seguida, mostre-o novamente em CADA diagrama de nível inferior que descreva (ou subdivida) as bolhas interfaceadas. A figura 8 mostra um depósito compartilhado por dois processos de alto nível, A e B; o depósito seria novamente mostrado nas figuras de nível mais baixo, que ampliam a descrição de A e B. Figura 8 – A exibição de depósitos nos níveis inferiores 7. Como realmente se faz a subdivisão dos DFD em níveis? A abordagem top-down é intuitivamente muito atraente. Pode-se imaginar começar pelo diagrama de contexto e depois desenvolver a figura 0 e, em seguida, descer metodicamente aos níveis inferiores de detalhamento. Entretanto, existem problemas nessa abordagem; uma abordagem mais bem-sucedida é identificar primeiramente os eventos externos aos quais o sistema deve reagir e usar esses eventos para criar um esboço do DFD. 9 3.1 3.2 3.3 3.4 YZ P FIGURA 3 1 2 3 4 A X Y Z C B D FIGURA 0 O SISTEMA C A B DIAGRAMA DE CONTEXTO A B X A.1 A.2 X B.1 B.2 X
  • 10. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Responda as questões abaixo relacionadas (Diagrama de Fluxo de Dados): 1. Dê uma breve descrição de um diagrama de fluxo de dados. 2. Quais são os principais componentes de um DFD? 3. O que faz um processo? Como ele pode ser representado graficamente? 4. Quais são os sinônimos comuns para o processo em um DFD? 5. O que está errado no processo abaixo? 6. O que está errado com o processo abaixo? 7. Para que é utilizado o fluxo em um DFD? 8. O que um depósito mostra em um DFD? 9. Quais as formas para representar graficamente um depósito? 10. Qual é a convenção para a atribuição de nomes de depósitos em um DFD? 11. Qual é o significado de um fluxo sem rótulo entrando ou saindo de um depósito? 12. Quais são as possíveis interpretações da chegada de um fluxo a um depósito? 13. Qual é o propósito de se mostrar um terminador em um DFD? 14. Como faz o analista de sistemas para identificar os terminadores? 15. Por que um terminador não deve ter o nome da pessoa que presentemente desempenha aquela função? 16. Cite 3 diretrizes que devem ser seguidas na elaboração de um DFD. 17. Qual é uma boa diretriz para atribuir nomes a processos em um DFD? 18. Por que é freqüentemente necessário redesenhar um DFD muitas vezes? 19. O que é um poço sem fundo? 20. Que são bolhas de geração espontânea em um DFD? Por que devem ser evitadas? 21. Por que os depósitos de leitura-apenas e de escrita-apenas configuram-se habitualmente como um erro em um DFD? 22. Represente graficamente a leitura de um depósito. 23. Represente graficamente a gravação de um depósito. 10 MAÇÃS
  • 11. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues EXERCÍCIO – EQUILÍBRIO DOS MODELOS - 01 A seguir, estão definidos alguns modelos (DER, DFD, Dicionário de Dados, ...) referentes a um sistema de Controle de Academia de Ginástica. Corrija os erros que acontecem entre estes modelos, e também, os erros que acontecem dentro do próprio modelo. Considere que as entidades e as cardinalidades dos relacionamentos, bem como os relacionamentos entre as entidades do DER estão corretos. Faça as correções nos próprios modelos. Corrija o que estiver incorreto, e, quando for o caso, complemente o modelo. Diagrama de Entidade Relacionamento (DER) Dicionário de Dados 1. Professor Atributos Tipo Tamanho Descrição COD_PROFESSOR Numérico 4 Código do Professor NOME_PROFESSOR Caracter 50 Nome do Professor END_PROFESSOR Caracter 50 Endereço do Professor COD_TURMA Numérico 4 Turma em que o professor ministra aulas Índice: 1 COD_PROFESSOR 2. Profissão Atributos Tipo Tamanho Descrição COD_PROFISSÃO Numérico 4 Código da profissão DESC_PROFISSÃO Caracter 30 Descrição da profissão Índice: 1 COD_PROFISSÃO 11 Professor Turma Modalidade N 1 N 1 Turma/Aluno Aluno Profissões Mensalidades N1 N 1 1 N N 1
  • 12. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues 3. Modalidade Atributos Tipo Tamanho Descrição COD_MODALIDADE Numérico 4 Código da modalidade esportiva DESC_MODALIDADE Caracter 30 Descrição da modalidade esportiva. Por exemplo: ginástica, natação, musculação. NOME_PROFESSOR Caracter 50 Nome do Professor desta modalidade COD_TURMA Numérico 4 Turma referente à modalidade Índice: 1 COD_MODALIDADE 4. Aluno Atributos Tipo Tamanho Descrição COD_ALUNO Numérico 6 Código do aluno NOME_ALUNO Caracter 50 Nome do aluno END_ALUNO Caracter 50 Endereço do aluno COD_TURMA Numérico 4 Turmas em que o aluno está matriculado NOME_PROFESSOR Caracter 40 Professor do aluno na turma DESC_MODALIDADE Caracter 30 Modalidades que o aluno pratica VLR_MENS Numérico 5 int. 2 dec. Valor da mensalidade do aluno Índice: 1 COD_ALUNO 5. Mensalidade Atributos Tipo Tamanho Descrição COD_ALUNO Numérico 6 Código do aluno NOME_ALUNO Caracter 50 Nome do aluno DATA_VENC Data 8 Data de vencimento da mensalidade VLR_MENS Numérico 5 int. 2 dec. Valor da mensalidade do aluno DATA_PAGTO Data 8 Data em que foi efetuado o pagamento da mensalidade VLR_PAGO Numérico 5 int. 2 dec. Valor pago pela mensalidade Índice: 1 COD_ALUNO 12
  • 13. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Diagrama de Fluxo de Dados Figura 0 13 Auxiliar Administrativa 1 Efetuar Cadastros 2 Controlar Mensalidades 3 Emitir Relatórios Aluno Profissão Professor Modalidade Turma Mensalidade Aluno Profissão Professor Modalidade Turma
  • 14. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Figura 1: Cadastros 14 Secretária 1.1 Efetua Cadastro Alunos 1.2 Efetua Cadastro Profissões 1.3 Efetua Cadastro Professores Aluno Profissão Professor 1.4 Efetua Cadastro Modalidades Modalidade 1.5 Efetua Cadastro Turma Turma
  • 15. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Figura 2: Controlar Mensalidades 15 Auxiliar Administrativa 2.1 Cadastrar Mensalidades 2.2 Emitir Carnês Mensalid. 2.3 Cadastrar Pagamentos Mensalid. Mensalidade Aluno Auxiliar Administrativa Mensalidade Aluno
  • 16. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Figura 3: Emitir Relatórios (observe o Layout seguinte) 16
  • 17. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Layout dos Relatórios Com base nestes lay-out’s, desenhe a figura 3 do DFD 1) Relatório de Alunos por Turma Turma: 9999 – XXXXXXXXXXXXXXXXXXXXXXX Horário: XXXXXXXXXXXXXXX Modalidade: 9999 – XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Código Aluno Nome Aluno Situação Matrícula 999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX __________________________________________________________________________________ 2) Relatório de Turmas por Professor Professor: 9999 – XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Código Turma Descrição Turma Horário Modalidade 9999 XXXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXXX 9999 XXXXXXXXXXXXXXXXXXXX XXXXXXXXX XXXXXXXXXXXXXXXXX __________________________________________________________________________________ 3) Relatório de Mensalidades Pagas por Turma Turma: 9999 – XXXXXXXXXXXXXXXXXXXXXXX Horário: XXXXXXXXXXXXXXX Modalidade: 9999 – XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Data Vencimento: 99/99/9999 Código Aluno Nome Aluno Valor Mensalidade Data Pagto Valor Pago 999999 XXXXXXXXXXXXXXXXXXXXXXXXXXX 99999,99 99/99/9999 99999,99 999999 XXXXXXXXXXXXXXXXXXXXXXXXXXX 99999,99 99/99/9999 99999,99 __________________________________________________________________________________ 4) Relatório de Carnê de Mensalidade ACADEMIA DE GINÁSTICA MALHAÇÃOACADEMIA DE GINÁSTICA MALHAÇÃO CARNÊ DE MENSALIDADE Data de Vencimento: 99/99/9999 Aluno: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Modalidade: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Valor Mensalidade: 9.999,99 17
  • 18. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Descrição de Programas  Preencha as descrições abaixo e desenhe o lay-out das telas de Cadastro de Alunos e de Pagamentos de Mensalidades: Identificação do Sistema: Identificação Módulo: Identificação do Programa: Cadastro de Alunos Objetivo do Programa: Arquivo(s) de Entrada: Arquivo(s) de Saída: Identificação do Sistema: Identificação Módulo: Identificação do Programa: Cadastro de Turmas Objetivo do Programa: Arquivo(s) de Entrada: Arquivo(s) de Saída: Identificação do Sistema: Identificação Módulo: Identificação do Programa: Cadastro de Pagamento de Mensalidades Objetivo do Programa: Arquivo(s) de Entrada: Arquivo(s) de Saída: Identificação do Sistema: Identificação Módulo: Identificação do Programa: Emissão do Carnê de Mensalidades Objetivo do Programa: Arquivo(s) de Entrada: Arquivo(s) de Saída: 18
  • 19. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues EXERCÍCIOS – EQUILÍBRIO DOS MODELOS – 02 • Mostre os erros de equilíbrio nos modelos de sistemas abaixo: 1. Considere que o DER abaixo está correto: DER DFD 2. Considere que o DER está correto: 19 1 Cadastrar Fornecedores 3 Cadastrar Linhas de Produtos 2 Cadastrar Produtos Fornecedores Produtos Linhas Usuário Fornecedor Produto prod/linha Linha de Produto N N 1 prod/forn M Cliente Consulta cli/cons Convênio conv/cons cli/conv M N 1 NN 1
  • 20. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Dicionário de Dados Cliente Convênio Atributo Tipo Tamanho Atributo Tipo Tamanho cod_cli N 5 cod_conv N 3 nome_cli C 50 nome_conv C 50 end_cli C 50 cod_conv N 3 Consulta Atributo Tipo Tamanho cod_cons N 6 cod_cli N 4 data D 8 hora N 2 minuto N 2 3. Considere que pode haver vários cursos, várias disciplinas e que um determinado curso pode ter várias disciplinas e uma disciplina pode estar em vários cursos. Curso Disciplina Disciplina/Curso Atributo Tipo Tamanho Atributo Tipo Tamanho Atributo Tipo Tamanho cod_curso N 4 cod_disc N 4 cod_disc N 5 nome_curso C 50 nome_disc C 30 nome_disc C 30 cod_curso N 5 série N 2 20 1 Cadastrar Cursos 3 Cadastrar Disciplinas/ Curso 2 Cadastrar Disciplinas Cursos Disciplinas Disc/Curso Usuário Disciplina Curso disc/curso 1 N
  • 21. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues 4. Considere que o DER está correto: • • Descrição de Programas  Cadastro Pacientes Arquivo(s) de Entrada: Paciente, Médico Arquivo(s) de Saída: Paciente  Cadastro Pedido de Exame Arquivo(s) de Entrada: Pedido, Paciente, Exame Arquivo(s) de Saída: Paciente, Pedido  Cadastro Lista de Exames Pedidos Arquivo(s) de Entrada: Paciente, Exame, Lista Exames Arquivo(s) de Saída: Exame • Elabore o DFD relativo às descrições acima (considerando o DER) 21 Exame Pedido de Exame lista exames N Paciente Médico pac/ped med/ped M 1 1 N N
  • 22. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues EXERCÍCIOS – EQUILÍBRIO DOS MODELOS – 03 1. Considerando que o DER abaixo está correto, responda: a) O dicionário de dados para as entidades Profissão, Aluno e Turma está incorreto. Aponte e explique os erros cometidos. Profissão {cod_profissão, desc_profissão, nome_aluno} Aluno {cod_aluno, nome_aluno, endereço_aluno, fone_aluno, desc_profissao} Turma {cod_turma, desc_turma, cod_aluno} b) A chave primária da tabela abaixo está definida corretamente? Por quê? Tur/Alu {cod_turma, cod_aluno, nota, frequência} 2. Baseado no modelo abaixo responda: a) O dicionário de dados definido abaixo está errado. Explique quais são os erros. Orçamento {num_orc, data_orc, nome_pac, cod_serviço} Paciente {cod_pac, nome_pac, fone} b) A chave primária da tabela abaixo está definida corretamente? Por quê? Orçamento/Serviço {cod_orc, cod_serviço, num_dente, valor} 22 Curso tur/curso Turma Aluno tur/alu prof/aluProfissão M N N1 N1 Orçamento Paciente orç/ pac Serviço orc/ serv N 1 N M Agenda pac/ agenda 1 N
  • 23. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues 3. Defina “Integridade Referencial” baseando-se no modelo abaixo: 4. Considere que o DER abaixo está correto: a) O DFD abaixo está incorreto. Cite e explique cada erro. b) Quais as entidades que terão chave(s) estrangeira(s) (FK)? Quais são essas chaves estrangeiras? 23 Funcionário Cargo func/ car Dependente func/ dep N 1 N 1 Filme Filme/ Locação Filme/ Gênero Locação Gênero N M N 1Filme/ Categoria Categoria N1 1 Cadastro de Filmes Atendente Filme dados filmes 2 Cadastro de Gêneros Gênero dados gêneros
  • 24. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues 5. Com base nos exemplos de conteúdos das tabelas descritos a seguir, como ficariam os relatórios abaixo (Substitua os X’s e 9’s pelo conteúdo definido no exemplo). Elabore também o DER. EXEMPLOS DE CONTEÚDOS DAS TABELAS (DEPÓSITOS DE DADOS) Autor Assunto Cod_autor Nome_autor Cod_assunto Desc_assunto 1 Edward Yourdon 1 Análise de Sistemas 2 José David Furlan 2 Banco de Dados 3 Korth 3 Programação 4 Silberchatz 4 Inteligência Artificial Livro Cod_livro Título Editora Cod_assunto 1 Análise Estruturada Moderna Campus 1 2 Modelagem de objetos através da UML Makron Books 1 3 Sistema de Banco de Dados Campus 2 4 Engenharia de Software LTC 1 5 Introdução à Inteligência Artificial Campus 4 Autor/Livro Categoria Cod_autor Cod_livro Cod_categ Desc_categ Qtde_livros Prazo 1 1 1 Alunos 3 7 2 2 2 Funcionários 4 10 3 3 3 Professores 5 15 4 3 1 5 Leitor Cod_leitor Nome Telefone Cod_categ 1 Márcia C. D. Pascutti 999-9999 3 2 José da Silva 888-8888 1 3 Maria Teixeira 444-4444 1 4 Pedro Henrique de Oliveira 333-3333 2 5 Marcela Souza 222-2222 1 Emprest/Devol Livro/Emprest/Devol Cod_emp Cod_leitor Data_empréstimo Cod_livro Cod_emp Data_devolução 1 3 25/05/2001 1 1 01/06/2001 2 4 25/05/2001 2 1 01/06/2001 3 1 02/06/2001 3 1 02/06/2001 4 2 02/06/2001 4 2 04/06/2001 5 1 06/06/2001 3 3 05/06/2001 4 3 06/06/2001 1 4 2 4 4 4 3 5 5 5 24
  • 25. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues Catálogo de Livros por Assunto Assunto: 999-XXXXXXXXXXXXXXXXXXXXXX CODIGO LIVRO TÍTULO EDITORA NOME DO(S) AUTORE(S) 999999 XXXXXXXXXXXXXXX XX XXXXXXXXXXXXX XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXX XXXXXXXXXXXXX XXXXXXXXXXXXXXX Relatório de Usuários da Biblioteca por Categoria Categoria: 99 - XXXXXXXXXXXXXXXXXX Código Nome Telefone 999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 999-9999 999999 XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX 999-9999 Categoria: 99 - XXXXXXXXXXXXXXXXXX Código Nome Telefone 999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 999-9999 999999 XXXXXXXXXXXXXXXXXXXXXX XXXXXXXXXXX 999-9999 Relatório de Livros em Atraso Código Código Data Data Num.Dias Leitor Nome Leitor Livro Título Empréstimo Vencto Atraso 999999 XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXXX 99/99/9999 99/99/9999 9999 999999 XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXXX 99/99/9999 99/99/9999 9999 999999 XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXXX 99/99/9999 99/99/9999 9999 999999 XXXXXXXXXXXXXXX 999999 XXXXXXXXXXXXXXXXXXX 99/99/9999 99/99/9999 9999 Comprovante de Empréstimos Leitor: 999999 – XXXXXXXXXXXXXXXXXXXXXXXXXX Data Empréstimo: 99/99/9999 Código Livro Título Data Vencto 999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 99/99/9999 999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 99/99/9999 999999 XXXXXXXXXXXXXXXXXXXXXXXXXXXX 99/99/9999 25
  • 26. Diagrama de Fluxo de Dados Pág. Prof. Rafael Rodrigues 6. Com base no DER do exercício 1, deverão ser emitidos os relatórios abaixo. Verifique se o DFD relativo aos relatórios está correto, caso não esteja, corrija-o. • Relatório de Alunos: deve conter o código do aluno, nome do aluno, telefone do aluno e descrição da profissão. • Relatório de Alunos por Turma: deve conter o código da turma, descrição da turma, código do aluno, nome do aluno e descrição da profissão. • Relatório de Turmas por Curso: deve conter o código do curso, descrição do curso, código da turma e descrição da turma. 26 Emitir relatório alunos Secretaria Alunos solicita rel. alunos Emitir relatório alunos por turma Alunos solicita rel. alunos/turma Turmas Emitir relatório turmas por curso Turmas solicita rel. turmas/curso