You are on page 1of 17

Anlise Estruturada

4
Diagrama de entidades relacionamentos (abordado anteriormente)
Stock
N 1
Prod_Enc
1 N
Fornecedor Movimento
Prod_Forn
Encomenda
N
1
1 1
N N


Diagrama de Fluxo de Dados (DFD)
Ferramenta de modelao grfica, da anlise estruturada, que permite
representar um sistema como uma rede de actividades ligadas por canais e
armazns de dados.

uma das ferramentas mais usadas quando as actividades do sistema a modelar
so mais complexas do que os dados que o sistema manipula.
d-nos uma s viso do sistema, a viso orientada por funes ou actividades

A modelao funcional de um sistema permite responder a questes que podem
ser formuladas de diferentes formas:
Que funes tm de ser desempenhadas pelo sistema? Que interaces
existem entre essas funes?
Que transformaes tem de ser efectuadas pelo sistema? Que entradas so
transformadas em sadas?
Que tipo de trabalho executa o sistema? Onde obtm informao para
executar este trabalho? Onde que a entrega de resultados se processa?
Anlise Estruturada
5
Componentes de um DFD
Produo
1
Verificar e
actualizar
sadas
Guia de sada
Requisio
Movimento Stock



Terminadores ou
Entidades Externas



Categorias lgicas de coisas ou pessoas fora dos limites do sistema
considerado, mas que interagem com ele. Representam uma origem ou
destino de dados.
Tipicamente so indivduos, grupos de pessoas, departamentos ou divises da
organizao, sistemas externos ou organizaes externas.

Exemplos:
Produo (Departamento da organizao, mas que no pertence ao sistema,
supondo que o sistema a modelar engloba somente, por exemplo,
a gesto de stocks)
Fornecedor (Um fornecedor interage com o sistema atravs do envio de guias
de remessa e facturas, mas est fora do controlo do sistema)
Anlise Estruturada
6

Depsito
de dados



Coleces ou elementos de dados que o sistema necessita de armazenar.
Cada depsito de dados tem um nome que deve sugerir o respectivo
contedo.

Exemplos:
Stock (Dados de stock de produtos a armazenar)
Fornecedor (Dados de fornecedores a armazenar)


Fluxo
de dados


Canal por onde circula informao. Representa movimentao de itens de
dados de uma parte do sistema para outra, ao contrrio dos depsitos de
dados que representam dados estticos.
O nome de um fluxo deve permitir associar imediatamente o respectivo
contedo.

Exemplos:
Requisio (Conjunto de dados que descrevem um pedido de um ou vrios
produtos ao armazm)
Encomenda (Conjunto de dados que descrevem uma encomenda)

Anlise Estruturada
7

Processos

1.
1.



Os processos so centros transformadores de fluxos de entrada em fluxos de
sada. Representam actividades ou componentes funcionais do sistema a
modelar.
Os processos devem ser numerados e devem ter um nome. Os nomes a
atribuir aos processos devem sugerir a tarefa que esse processo desempenha.

Exemplo:
Verificar e actualizar sadas
(Processo que transforma o fluxo de entrada Requisio no fluxo de sada
Guia_de_sada, atravs da verificao e actualizao das existncias em
Stock e do registo da sada em Movimento, para cada produto contido no
fluxo Requisio.)

Note-se que a actualizao das existncias em Stock e o registo da sada em
Movimento s ocorrem se o produto existir no stock. Contudo, este aspecto
um detalhe a descrever na especificao interna do processo.
Anlise Estruturada
8
Exemplo de DFD
Sistema de Gesto de stock (simplificado)
Produo
1
Verificar e
actualizar
sadas
Movimento
Stock
2
Registar
produto
3
Registar
entradas
4
Encomendar
produtos
Prod_Forn
Encomenda
Prod_Enc
Fornecedor
Fornecedor
Fornecedor
Fornecedor
Guia de sada
Requisio
Novo produto
Dilogo
fornecimento
Encomenda
Guia de remessa
Anlise Estruturada
9
Aspectos importantes relativamente a terminadores
A identificao e delimitao do sistema a modelar pressupe a separao entre
os elementos que so parte integrante do sistema e os elementos exteriores ao
sistema. Contudo, elementos considerados exteriores comunicam com o sistema,
sendo ento necessrio representar estes elementos, o que feito atravs de
terminadores. Assim sendo, podemos referir os seguintes aspectos:
Os terminadores no pertencem ao sistema a modelar. Fluxos que ligam
terminadores a processos representam interface entre o sistema e o ambiente;
O analista no pode alterar o contedo, a organizao ou procedimentos
internos associados a terminadores, pois estes esto fora do seu controlo;
Relacionamentos existentes entre terminadores no so representados pois
no fazem parte do sistema. Se estes relacionamentos so essenciais para
sistema a modelar, ento os terminadores no so terminadores, mas sim
partes integrantes do sistema a modelar;
As ligaes mais usuais entre os terminadores e o sistema a modelar so
fluxos de dados. Contudo, um terminador pode ser outro sistema, com o qual
necessrio comunicar, atravs de um depsito de dados externo. Neste caso,
pode utilizar-se uma representao como a exemplificada seguidamente.

Exemplo: Modelao de um sistema de gesto da produo.
Sistema de gesto comercial: sistema j implementado, com o qual se
comunica atravs do depsito de dados Encomenda
Gesto
Comercial
1
Elaborar
plano de
produo
Encomenda
... ...
Anlise Estruturada
10
Aspectos importantes relativamente a fluxos e depsitos de
dados
Os Fluxos de dados:
tm uma direco que indica o sentido em que circulam;
tm como origens e destinos todos os outros elementos de um DFD;
tm um nome, que representa o significado dos dados que circulam, devendo
este ser nico e sugestivo.

Fluxos de dilogo
So fluxos especiais com 2 direces e 2 nomes que permitem representar dois
fluxos de dados do tipo pergunta e resposta. (Exemplo: Dilogo fornecimento)

Algumas questes a que DFD no responde:
Fluxos de entrada num processo representam pedidos de informao a outra
parte do sistema, ou pedidos de leitura ao utilizador, ou envio de informao
por outra parte do sistema por iniciativa da parte emissora?
Fluxos de sada num processo representam pedidos de informao de outra
parte do sistema, ou envio de informao para outra parte do sistema por
iniciativa do processo?
Quantos itens de dados existem em cada fluxo de dados?
Em que sequncia chegam as entradas?
Em que sequncia so produzidas as sadas?
Quantas ocorrncias de cada fluxo de dados de entrada so necessrios para
produzir uma sada?

Estas questes envolvem detalhes a especificar na modelao interna dos
processos.
Anlise Estruturada
11
Fluxos de dados ligados a depsitos de dados so interpretadas como operaes
sobre os dados do depsito. Estas operaes podem ser de dois tipos, consoante
o sentido dos fluxos:

Operao de leitura no destrutiva
(leitura ou consulta)


Operao de alterao do depsito
(alterao, insero ou remoo)


Sendo o significado de um fluxo de dados ligado a um depsitos de dados mais
simples de interpretar, em que casos se pode omitir o nome de um fluxo?
Existem 2 teorias:
Fluxos de dados ligados a depsitos de dados no precisam de nome;
Fluxos de dados cujo contedo coincide com uma instncia completa de
um depsitos de dados no necessitam de nome.


A partir do sentido de um fluxo de dados ligado a um depsito de dados
podemos representar dois tipos de operaes. Contudo, considerando uma
operao de consulta, os casos possveis de existncia de um fluxo de dados
so:
Consulta de uma instncia completa;
Consulta de um conjunto de instncias completas que obedecem a um
critrio;
Consulta de uma parte de uma instncia;
Consulta de uma parte de um conjunto de instncias que obedecem a um
critrio.
Anlise Estruturada
12
Nem todas as questes tm resposta pela simples observao de um fluxo de
dados.
para conhecer todos os detalhes relacionados com um fluxo de dados
necessrio examinar a especificao interna do processo ao qual o fluxo est
ligado. S existe uma certeza, um depsito de dados um elemento passivo,
logo, os dados no circulam de um depsitos atravs de um fluxo, a no ser
que um processo os requisite.

Exemplos de representao de operaes sobre depsitos de dados:
Operao Representao
Insero ou
remoo de um
cliente.
Cliente

Consulta do N de
telefone de um
cliente a partir do
seu cdigo.
Cliente

Ntelefone
Cliente

Alterao do N de
telefone de um
cliente a partir do
seu cdigo.
Cliente

Ntelefone
Cliente
#Cliente
Ntelefone
Cliente


Questo: Um depsitos de dados existe devido a requisito especificado por
utilizador ou devido a aspecto conveniente de implementao ?
Um depsito de dados existe devido a desfasamento temporal na necessidade
dos dados por dois ou mais processos que ocorrem em instantes diferentes.
Anlise Estruturada
13
Hierarquia ou existncia de vrios nveis de detalhe em
DFDs
Os DFDs analisados at ao momento modelam sistemas simples ou foram
apresentados parcialmente. Os sistemas reais a modelar so maiores e mais
complexos.

Questo: Como representar sistemas com muitos processos, sem abdicar da
ausncia de complexidade num DFD?

A soluo consiste em organizar um DFD em sucessivos nveis de refinamento,
de forma a que cada nvel proporcione mais detalhes acerca de uma parte do
nvel acima. Esta caracterstica nica nos DFD e proporciona um mecanismo
muito til para representar vrios nveis de detalhe.

Cada processo num DFD pode, ou no, estar expandido num DFD de nvel
inferior, o que permite distinguir dois tipos de processos:
Processos no primitivos
Processos cujo detalhe descrito utilizando um novo DFD de nvel
inferior. O DFD de nvel inferior ter o mesmo nmero e nome do processo
correspondente do nvel superior.
Processos Primitivos
No originam novos DFDs, sendo objecto de uma descrio utilizando
uma linguagem apropriada. Esta descrio especifica a forma de
transformao de fluxos de entrada em fluxos de sada e no deve
ultrapassar um pgina.
Anlise Estruturada
14
Diagrama de fluxo de dados com mltiplos nveis
Diagrama 0
1. 2.
Diagrama de contexto
Sistema
3.
Diagrama 3
3.1.
3.3.
3.2.

Viso muito geral do sistema:
Possui um s processo que representa
todo o sistema como uma caixa preta;
Mostra interaco entre sistema e
terminadores (fluxos e depsitos
externos)

Viso global do sistema:
Mostra os principais processos do
sistema;
Visualiza fluxos e depsitos de dados
partilhados por processos;
Mostra ainda a interaco entre
sistema e terminadores.


Detalhe do processo 3 do Diagrama 0
(Os terminadores podem ser novamente
includos nos diagramas de nvel inferior,
pois, essa redundncia conduz a maior
clareza na leitura do diagrama)

A numerao de cada diagrama sugere assim o respectivo grau de detalhe.
Contudo, a numerao no indica qualquer tipo de sequncia entre a
informao. A numerao efectuada para identificao e estruturao de
nveis.
Anlise Estruturada
15
Principais caractersticas dos DFDs
No modelam aspectos como o sincronismo e sequenciao
Os DFDs so um modo de representao de fluxo de dados e processos
assncronos. Por outro lado, no representam a sequncia de chegada de
fluxos, nem a sequncia em que so produzidas as sadas. Assim, o modelo
das actividades fica livre de complexidade extra, tornando-o mais fcil de
elaborar e manter. A este nvel s interessa identificar processos e dados que
circulam entre estes.

No especificam o funcionamento interno dos processos
As componentes de um DFD dizem-nos como um processo sem definir
como este funciona. A especificao interna do processo, o suporte textual
para as actividades de mais baixo nvel, define o que as actividades devem
fazer.

No so fluxogramas
As decises so tomadas dentro dos processos e nunca so representadas nos
DFDs;

Estruturam-se em vrios nveis de detalhe
Os DFDs do uma viso do sistema do geral para o particular. A sucesso de
vrios diagramas sugere essa estruturao.

So ferramentas de modelao lgica
Os DFDs permitem representar aspectos lgicos, no fsicos. A sua
elaborao deve ser independente da tecnologia de implementao, devendo
ignorar-se aspectos que so dependentes de restries fsicas de
implementao. O modelo lgico tambm se designa por modelo essencial,
ou seja, a essncia do sistema.
Anlise Estruturada
16
Regras para a estruturao dos DFDs
Os DFDs devem respeitar algumas regras, a saber:
Nmero mximo de objectos
Um DFD no deve ter mais do que 7 (+/- 2) processos (nmero de objectos
que a mente humana capaz de abarcar simultaneamente). Este nmero faz
com que cada DFD caiba numa folha com formato A4.

Consistncia entre os vrios nveis de detalhe
Cada DFD deve estar equilibrado em relao ao processo que o originou, ou
seja, o conjunto de fluxos de entrada e sada desse DFD, deve ser equivalente
ao conjunto de fluxos de entrada e sada do processo que lhe deu origem.

Consistncia entre as vrias ferramentas de modelao
As vrias ferramentas de modelao tm de ser consistentes e compatveis
entre si. A consistncia entre DFDs e DERs assegurada garantindo que
cada depsito de dados de um DFD corresponde a uma das entidades do
DER.

Representao de depsitos de dados acedidos por vrios processos
Num DFD no necessrio representar depsitos de dados que apenas so
relevantes no interior de cada um dos seus processos. Como corolrio poder
dizer-se que, se um depsito de dados utilizado por mais do que um
processo do mesmo DFD, ento esse depsito deve ser representado.

Dimenso mxima da especificao de um processo primitivo
A especificao de um processo primitivo no deve ultrapassar uma pgina.
Se a especificao do processo possui uma dimenso superior a uma pgina,
significa que este complexo e que no primitivo, e que necessrio
detalhar o processo num DFD de nvel inferior.
Anlise Estruturada
17
Sugestes para a construo de DFDs
Escolher nomes sugestivos para processos, fluxos, depsitos e terminadores.
No usar nomes de pessoas, mas sim a designao do papel que
representam;
No usar nomes de mecanismos, dispositivos ou meios fsicos usados para
transportar dados. Exemplo: Em vez de Telefonema usar Pedido e em
vez de Operador de entrada de dados usar Cliente, ou seja a origem;
A poltica utilizada para dar nomes a processos consiste em utilizar um
verbo e um objecto, ou seja, a actividade e o objecto associado. No se
deve usar, contudo, nomes ambguos do tipo: processar dados, tratar
entradas e funes variadas.

No desenhar DFDs complexos
Desenhar DFD com poucos objectos, para facilitar a sua leitura;
Minimizar cruzamentos entre fluxos de dados, da seguinte forma:
1 redesenhar o diagrama distribuindo objectos da forma mais favorvel;
2 se necessrio, duplicar terminadores (assinalar com trao na diagonal);
3 se necessrio, duplicar os depsitos de dados ( );
4 permitir o cruzamento de fluxos de dados, desde que no exista
nenhuma estrutura que reduza as interseces.
Para simplificar diagramas de contexto, cuja elaborao pressupe a
representao de todas as interaces com o exterior, quando estes
apresentam uma leitura difcil:
consolidar fluxos de dados com terminadores comuns;
desenhar diagramas de contexto diferentes para grupos com interesses
diferentes, omitindo aspectos no relevantes para cada grupo.
Anlise Estruturada
18
Assegurar alguma consistncia entre profundidade dos nveis de detalhe
das vrias partes do sistema.
Se o processo 2 requer 3 nveis de detalhe (por exemplo 2., 2.1. e 2.1.1.) os
restantes processos 1, 3, etc. tambm devem ter 3 nveis de detalhe?
No, mas se, por exemplo, o processo 2 primitivo e o processo 3 possui 7
nveis de detalhe, podemos concluir que o sistema no foi bem organizado.

Redesenhar o DFD as vezes que forem necessrias.
A construo de um DFD um processo iterativo. Assim sendo, um DFD
deve ser redesenhado vrias vezes, de forma a garantir:
a modelao adequada do sistema em estudo;
correco tcnica;
esttica agradvel;
consistncia interna e em relao a outros modelos utilizados, como DER,
DTE, DD e especificao de processos.

Concentrar a elaborao do DFD na poltica subjacente que tem de ser
levada a cabo e no nos procedimentos usados para sustentar essa poltica,
ou seja, na essncia do sistema.
Anlise Estruturada
19
Extenso de DFDs para modelar sistemas em tempo real
Sistemas em tempo real
Sistemas que controlam o ambiente atravs da recepo de dados, seu
processamento e devoluo de resultados em tempo suficientemente curto, de
forma a afectar o ambiente no momento.


Sistemas em tempo real VS Sistemas on-line
Os sistemas em tempo real distinguem-se dos sistemas on-line pela necessidade
de um tempo de resposta menor. Por outro lado, ao contrrio dos sistemas on-
line que normalmente interagem com pessoas, os sistemas em tempo real
tambm interagem com o ambiente, reagindo e captando dados, e/ou
controlando o ambiente.
Exemplos: Sistemas de aquisio de dados de alta velocidade, sistemas de
controlo de processos, etc.

Devido a necessidade de tratar sinais e interrupes do ambiente, bem como, de
controlar e sincronizar actividades, para estes sistemas necessitamos de
modelar:
Fluxos de controlo
Processos de controlo

Fluxo de controlo
Representa um canal que transporta um sinal binrio, que enviado de um
processo para outro, ou de um terminador para um processo, com o intuito de
activar um processo que se encontra suspenso.
Anlise Estruturada
20
Processo de controlo (supervisor ou executivo)
um processo supervisor cuja nica funo coordenar e sincronizar as
actividades de outros processos de um DFD.
As suas sadas e entradas consistem somente em fluxos de controlo. As sadas
so usadas para acordar outros processos. As entradas significam que outro
processo terminou a sua tarefa, ou que surgiu uma situao extraordinria que
deve ser notificada ao processo.


Representao de fluxos e processos de controlo
Os fluxos e processos de controlo so representados num DFD a tracejado.


Processo normal VS processo de controlo
Um processo normal, que possui um fluxo de controlo de entrada, depois de
acordado comporta-se como um processo normal. O comportamento de um
processo de controlo diferente, sendo modelado por um diagrama de transio
de estados, que mostra os vrios estados que o sistema pode ter e as
circunstncias que levam alterao de estado.


Exemplo:

Sinal X activar processo 2

Sinal Y activar processo 3
1
2 3
P.C.
X
Y

You might also like