Você está na página 1de 37

Modelos de Fluxo de Dados

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 1

Objetivos
q q q

Explicar as funes dos DFDs; Mostrar os componentes dos DFDs; Fazer exerccios.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 2

Diagrama de Fluxo de Dados (DFD)


q

q q

Tambm chamado de: Diagrama de Bolhas; Grfico de Bolhas; Modelo de Processo; Diagrama de Fluxo de Trabalho; Modelo Funcional; Grfico de Fluxo de Dados. Trabalho de alto nvel viso global. uma representao, em rede, de um sistema. O sistema pode ser automatizado, manual ou misto.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 3

Diagrama de Fluxo de Dados (DFD)


q

Representao grfica da lgica de funcionamento de um sistema. Mostra operaes e procedimentos do sistema sem detalhes. Ajuda a resumir as informaes obtidas nas entrevistas/coletas de dados (fase de estudo). Usado tambm como meio de modelar organizaes inteiras.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 4

Diagrama de Fluxo de Dados (DFD)


q q

q q

Ferramenta de Planejamento Comercial/Estratgico. um modelo lgico de sistemas: no depende do hardware, da programao, etc. No obriga o analista a pensar questes fsicas. Retrata os componentes do sistema e suas interligaes.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 5

Diagrama de Fluxo de Dados (DFD)


q q q q q q

Oferece viso orientada para funes. Ferramenta top-down. Facilita a comunicao com usurios. intuitivo. Enfatiza o fluxo e no o controle de dados. O DFD ajuda o analista a entender e organizar o sistema.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 6

Diagrama de Fluxo de Dados (DFD)


q

q q

Fora resumir informaes, descobrir pontos chaves, enxergar detalhes. Ferramenta de comunicao com o usurio. Pode ser usado nas fases de projeto e testes do sistema.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 7

Componentes de um DFD
q q q q

Processos; Entidades; Fluxo de dados; Depsito ou repositrio de dados.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 8

Componentes do DFD
q

Processo:
So funes de transformaes de dados dentro do sistema. Podem indicar um programa, uma operao manual ou uma rotina dentro de um programa. Na descrio do processo (nome) usa-se verbos no infinitivo (nome do verbo, ex: atualizar, gerar, processar). Usar verbos que evitem ambigidades.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 9

Processo:
q

q q

Tambm chamado de bolha, funo ou transformao. Mostra como as entradas sero convertidas em sadas. Descrio: sentena simples. A referncia P1 no tem relao com seqncia de execuo no DFD.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 10

Processo:
q

Representao:

P1 Nome do processo ou ou

Processo que transformam dados


2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 11

Componentes do DFD

Entidade:

Tambm conhecida como terminador ou agente externo. Elementos externos ao sistema com os quais ele se comunica. Pode ser: Uma pessoa ou um grupo de pessoas; Uma empresa; Um setor da empresa; Outro sistema.
2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 12

Entidade:

q q q q

Pode ser o usurio do sistema; Pode enviar e receber mltiplos dados do sistema; Necessidade de delimitar o sistema; Relacionamentos entre entidades no ser mostrado no DFD.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 13

Entidade:

Representao:

Nome

ou

Origem ou destino dos dados


2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 14

Componentes do DFD

Fluxo de dados:

Tubo por onde passam os dados. Indicam a movimentao dos dados no sistema. Representado por uma seta que entra ou sai de um processo. Representam deslocamento de informaes entre: Funes e entidades externas. Funes e funes. Funes e depsitos.
2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 15

Fluxo de dados:

Representao:

Nome do fluxo

Fluxo dos dados


2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 16

Componentes do DFD

Depsito de dados: So interligados aos processos pelo fluxo de dados. So geradores de assincronissidade entre duas funes. Indicam os dados que sero armazenados no sistema (arquivos automatizados ou no). So repositrios de dados produzidos por um processo, preservados por um perodo de tempo e utilizados por outro processo em outro momento. um componente lgico, sem comprometimento com aspectos fsicos.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 17

Depsito de dados:

Representao:

D1

Nome do depsito Nome do depsito

Depsito dos dados


2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 18

Como elaborar um DFD


q

q q

Dar nome significativo aos componentes. Refazer at que a esttica esteja clara. Usar nomes familiares aos usurios. Evitar termos tcnicos de informtica.
2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 19

Como elaborar um DFD


q

Para processos: Usar: calcular salrio famlia, produzir relatrio de inventrio, montar turmas; Evitar: fazer servio, manipular entradas, processar dados; Procurar no usar verbos como: imprimir, deletar, analisar, digitar, processar, gravar, avaliar.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 20

Como elaborar um DFD


q

Para processos:
Preferir verbos como: ler, recuperar, verificar, extrair, calcular, selecionar, obter, gerar.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 21

Como elaborar um DFD


q

q q

Pode-se numerar os processos para melhorar a identificao destes, mas esta numerao no implica em seqncia de execuo. Um DFD deve ser de fcil leitura, absoro e compreenso para usurios. Evitar DFDs com muitos componentes. Um DFD deve caber em uma folha de papel A4 (tamanho).
2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 22

Como elaborar um DFD


q q

q q

DFDs complexos devem ser subdivididos. Identificar as origens e destinos dos dados. Determinar fronteiras: entidades externas. Comear construindo um DFD de alto nvel com poucos processos e ir refinando com DFDs mais detalhados. Evitar cruzamento de linhas (fluxos). Duplicar entidades e depsitos se necessrio, para facilitar o entendimento.
2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 23

Como elaborar um DFD

No usar:

Nome

Atualizao

Usar:

Nome

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 24

Como elaborar um DFD


No tem sentido: Entidade A Entidade B

Entidade A

D1

Depsito A

D1

Depsito A

D2
2007 by Pearson Education

Depsito B

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 25

Critrios para reviso de um DFD


q q q q

Todos os processos possuem descrio verbo + objeto? Todos os depsitos representam informaes de interesse? O analista pode explicar os seus contedos? Todos os processos possuem pelo menos um fluxo de entrada e um de sada?

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 26

Critrios para reviso de um DFD


q

Todos os depsitos possuem pelo menos um fluxo de entrada ou um de sada? O analista pode explicar cada fluxo de dados sem nome? Todos os fluxos de dados comeam ou terminam num processo? Todos os fluxos apresentam seta em uma, e somente uma, das pontas? O DFD deve estar sintaticamente e semanticamente correto.
2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 27

Possveis inconsistncias nos DFDs

Processos com entradas e sem sadas: Poos sem fundo ou buraco negro.

Processo com sadas e sem entradas :

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 28

Nveis de DFDs
q

DFD muito grande: particionar em subsistemas que podem ser subdivididos sucessivamente top/down; Exposio lgica de um sistema em nveis de detalhamento; Trs tipos de nveis:
1) Diagrama de Contexto: DFD de nvel zero; 2) Diagrama Macroscpico: DFD de nvel um; 3) DFDs de Detalhamento de Funo: DFD de nvel dois a n.
2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 29

Diagrama de Contexto (nvel zero):


q q q

q q

q q

Nvel zero significa conhecimento zero das funes do sistema. D a idia do assunto a ser tratado. Determinar abrangncias do sistema: contexto e escopo. D a idia da complexidade do sistema. No tem preocupao de representar as funes lgicas. Mostra: o que, de que, para que, mas no mostra o como. Normalmente tem o nome do sistema. Muitas entradas e sadas: agrup-las (respeitando o significado lgico do conjunto) com um nome genrico.
2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 30

DFD Macroscpico do Sistema (nvel um):


q

o diagrama de contexto mais detalhado. Permite observar as macrofunes do sistema. Deve exibir todas as macrofunes (por limite do papel e restries grficas). Deve exibir todas as entidades externas compatveis com as que aparecem no diagrama de contexto. No deve exibir tratamento de exceo.
2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 31

DFD de uma Funo (nveis dois a n)


q

Necessidade de detalhar algumas funes (DFD nvel um). O detalhamento (ou exploso) de uma funo feito em um DFD a parte. Referncia de subfunes:
4.1, 4.2: so subfunes da funo 4 (nvel dois); 4.1.1, 4.1.2: so subfunes da funo 4.1 (nvel trs).

(Ver prximo slide)


2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 32

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 33

Exerccio Modelo
Faa o Diagrama de Contexto, o DFD nvel 0 e o DFD de nvel 1, para os requisitos abaixo:
Uma fbrica de calados tem o funcionamento de seu sistema de vendas conforme a descrio a seguir. O Setor de Produo informa a previso de fabricao (quantidade de calados que estar disponvel para a venda em um determinado perodo) para que seja feita a distribuio de vendas. A distribuio de vendas leva em considerao todos os vendedores cadastrados, com seus respectivos histricos de vendas. Como resultado deste processo gerado um mapa de distribuio de produtos para venda que encaminhado ao Gerente de Vendas e arquivado para acompanhamento das vendas. O Gerente de Vendas, por sua vez, informa ao sistema os preos de cada produto, que so arquivados no cadastro de produtos. Para cada venda efetuada por um vendedor, este informa ao sistema a quantidade vendida e o produto. Com base nestas informaes e no cadastro do produto, calculado o valor da comisso do vendedor, que informado Tesouraria, e a venda atualizada no histrico do vendedor. Mensalmente, a Tesouraria informa o valor total das comisses de cada vendedor, para que o sistema emita um relatrio para cada vendedor.

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

34

Slide 34

Informaes Importantes
q

Identificar qual o sistema


Sistema de vendas

Identificar as entidades externas Setor de produo


Gerente de vendas Vendedor Tesouraria

Identificar os fluxos

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

Slide 35

Resoluo do exerccio 3.7


Diagrama de Contexto

Setor de Produo

previso de fabricao

mapa de distribuio de produtos para venda Sistema de Vendas preo

Gerente de Vendas

valor da comisso Tesouraria valor total das comisses do vendedor

quantidade vendida + produto Vendedor relatrio de comisses do vendedor

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

36

Slide 36

Resoluo do exerccio 3.7


DFD nvel 0 Vendedores vendedor Setor de Produo previso de fabricao 1 Fazer distribuio de vendas mapa de distribuio de produtos para venda histrico de vendas Histricos de Vendas venda Produtos 3 Calcular valor da comisso preo quantidade vendida + produto Vendedor Gerente de Vendas preo 2 Cadastrar preo do produto

mapa de distribuio de produtos para venda

Mapas de Distribuio de Produtos para Venda valor da comisso Tesouraria 4 Emitir relatrio de comisses

preo

valor total das comisses do vendedor

relatrio de comisses do vendedor

2007 by Pearson Education

Ian Sommerville 2006

Engenharia de Software, 8. edio. Captulo 8

37

Slide 37