Prof. Carlos Alberto Seixas E-mail: seixas.alberto@gmail.com Sistemas de Informação Análise e...

Preview:

Citation preview

Prof. Carlos Alberto SeixasE-mail: seixas.alberto@gmail.com

Sistemas de InformaçãoAnálise e Projeto Estruturado de Sistemas- 2010/01

UNIESP - 2010UNIESP - 2010

D.F.D.D.F.D.

DIAGRAMA DE FLUXO DE DADOS (D.F.D) A técnica utilizada pela análise estruturada baseia-se nos

diagramas de fluxos de dados. A grande vantagem da utilização dessa técnica é a de permitir a avaliação do modelo junto com os usuários, de forma a se identificar as falhas o mais cedo possível. Além do mais , esta técnica permite um comprometimento maior do usuário com o processo de desenvolvimento de sistemas.

Duas técnicas principais são utilizadas, uma por GANE e SARSON, outra por De Marco e YOURDON e que nos conduzem pequenas diferenças na terminologia e simbologia das várias escolas de Análise Estruturada; ambas as técnicas são similares.

Segundo GANE/830 propósito de um D.F.D é mostrar para um área de negócios ou um sistema ou parte dele, de onde os dados surgem, para onde vão, quando são armazenados, que processa os transformam e as interações entre armazenamento de dados e processos.

O D.F.DO D.F.D utiliza-se de quatro símbolos

gráficos, visando representar os seguintes componentes:

Fluxo de DadosProcessosAgentes ExternosArmazenamento ou Depósito de DadosApós a elaboração do DFD, elabora-se:Após a elaboração do DFD, elabora-se:Dicionário de Dados

O D.F.D

Fluxo de Dados

Fluxo de Dados

 Representa os dados que fluem entre os componentes de DFD e podem ser utilizados para transporte de dados entre agentes externos e processos, entre processos, armazenamento de dados e processos. Não existe a passagem de dados de armazenamento para agentes externos e vice-versa.

Forma de RepresentaçãoÉ simbolizado por meio de uma seta, com a

ponta indicando a direção do fluxo. [ CHRIS GANE / SARSON].

Já DeMarco, diz que os fluxos de dados é um tubo, através do qual fluem pacotes de informações. A maior parte dos fluxos de dados movimentaram-se entre processos, mas eles podem também fluir para dentro ou para fora de arquivos, indo para caixas-destino e vindo de caixas-fonte. É simbolizado por meio de vetores.

Convenções de fluxos de dadosNomes em maiúscula e ligadas por hífen;Dois fluxos de dados diferentes não podem

Ter o mesmo nome;Os nomes são escolhidos para representarem

não apenas o dado que flui sobre o tubo, mas também o que sabemos sobre o dado;

Evite nomes vagos como dados e informação;Dificuldade para achar um nome para fluxo de

dados: pode ser indício de alguma coisa errada.

Exemplo

29

Analisar

Vendas

Relatório de Vendas

Referência do Fluxo de dados 29 - c

Descrição do fluxo de dados: Relatório de Vendas

Gerência

c

Um fluxo que parte de um depósito é normalmente interpretado como uma leitura ou um acesso feito às informações desse depósito. Pode significar que: Um pacote isolado de dados foi recuperado do depósito: por

exemplo, um depósito chamado CLIENTES, de onde cada pacote contém informações de nome, endereço e telefone de clientes. Um fluxo típico que saísse desse depósito envolveria a recuperação de um pacote completo de informações sobre um cliente.

Mais de um pacote foi recuperado do depósito: Por exemplo o fluxo poderia recuperar pacotes de informações sobre todos os clientes da cidade de São Paulo a partir do depósito CLIENTES.

Apenas uma parte do pacote foi recuperada do depósito: apenas a parte do nº do telefone de um cliente foi recuperada do depósito CLIENTES.

Parte de mais de um pacote foram recuperados do depósito: um fluxo pode recuperar do depósito CLIENTES o código postal de todos os clientes do estado de São Paulo.

ImportanteNa maioria dos casos os fluxos são

rotulados, entretanto não necessitamos rotular um fluxo se todo um grupo de um pacote entra ou sai do 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.

AgendaTema para discussão:

Ferramentas de monitoramento remotoConceitos sobre DFD: processosFluxos: Resolução do exercício 1Processos: Exercício 2

D.F.D.D.F.D.ProcessosProcessos

O D.F.DO D.F.D utiliza-se de quatro símbolos

gráficos, visando representar os seguintes componentes:

Fluxo de DadosProcessosAgentes ExternosArmazenamento

O D.F.D

ProcessosOs processos, invariavelmente, mostram

algum trabalho executado sobre os dados;Um processo é uma transformação do(s)

Fluxo(s) de Dados de entrada em Fluxo(s) de Dados de saída;

O Processo pode ser representado em Círculo ou Retângulo Arredondado dividido em duas áreas:

ProcessoO nome do processo deve dar idéia do que

faz o processo, para que se tenha êxito em transmitir a imagem total com o DFD;

Ao escolher nome de um processo deve-se evitar a utilização de nomes de pessoas, nomeie o processo de modo a identificar as funções que o sistema executa;

Nomeie os processos em termos de suas entradas e saídas;

Processos – Recomendações:Numere os processos;Um bom nome de processo geralmente é

composto por uma frase constituída de um verbo e de um objeto.

Por exemplo: Calcular Valor do Imposto, Validar Entrada, Receber Pedidos;

Evite a utilização de nomes vagos como FAZER SERVIÇO, MANIPULAR ENTRADA e PROCESSAR DADOS. Muitas vezes isso significa que o Analista de Sistemas não está bem certo de qual função está sendo executada;

ProcessosExiste uma tendência natural por parte dos usuários

emutilizar as abreviações e siglas que lhes sejam

familiares. Deve-se utilizar terminologias que sejam compreensíveis por um número maior de pessoas;

Os termos ROTINA, SUBSISTEMA e FUNÇÃO geralmente não têm significados no mundo do usuário.

Deve-se evitar “poços sem fundo”, ou seja, processos que têm entradas mas não tem saídas;

Deve-se evitar “geração espontânea”, ou seja, processos que têm saídas mas não tem entradas.

AgendaConceitos sobre DFD:

Entidades ou Agentes ExternosConceitosExemplosExercício

D.F.D.D.F.D.Entidades ExternasEntidades Externas

O D.F.DO D.F.D utiliza-se de quatro símbolos

gráficos, visando representar os seguintes componentes:

Fluxo de DadosProcessosEntidades Externas ou Agentes

ExternosArmazenamento

O D.F.D

Agentes Externos ou Entidades São todas as organizações, sistemas ou

pessoas que interagem com o sistema através do envio ou recebimento ou fluxo de dados.

Normalmente as entidades externas têm intencionalmente seu nome escrito em maiúsculo, para diferenciá-las de possíveis depósitos de dados com o mesmo nome.

Agentes Externos ou EntidadesUma entidade pode ser:Um objeto real, como um livro, uma

máquina, um lugar, um avião, um quarto.Uma pessoa, como um empregado, um

contribuinte, um aluno, um cidadão.Um conceito abstrato, como um curso, uma

cor, uma empresa.

Agentes Externos ou EntidadesQuando o sistema enfocado recebe dados

de um outro sistema ou fornecidos a ele, aquele sistema é considerado entidade externa.

O termo sistema empregado aqui, refere-se a um conjunto de procedimentos, automatizados e manuais utilizados para efetuar um fim desejado.

Agentes Externos ou EntidadesConvenções:Referência: Letra maiúscula, “E”, seguida

de um número sequenciador (opcional).Nome da entidade: substantivo singular.

Pode ser um orgão, uma pessoa ou um sistema.

Indicador de repetição: indica que a entidade está representada mais de uma vez no mesmo diagrama.

Entidade Externa ou TerminadorA Entidade Externa ou Terminador é uma

pessoa, um objeto ou uma empresa, que fica fora do contexto do sistema, que é o originador ou o receptor de dados do sistema;

Representação:

Considerações importantesEntidades são externas ao sistema que

estamos modelando. Os fluxos de dados, que interligam as entidades dos diversos processos, representam a interface entre o sistema e o mundo externo;

O analista e/ou projetista não pode modificar o conteúdo de uma Entidade;

Considerações importantesQualquer relacionamento existente entre

Entidades não será mostrado no DFD;Se existirem relacionamentos entre

Entidades Externas, e for essencial que o Analista de Sistemas os modele para documentar de forma correta os requisitos do sistema, então, por definição, as Entidades Externas são realmente parte do sistema e devem ser modeladas como processos;

Exemplos:

Exemplos:

Recomendações O sentido do desenho é sempre de cima para

baixo, da esquerda para a direita. As entidades externas, tanto quanto possível,

devem aparecer nas bordas do desenho. Jamais um fluxo de dados parte de um

depósito e vai para outro depósito sem a intermediação de um processo.

Um fluxo de dados nunca parte de uma entidade externa diretamente para o depósito; sempre há um processo intermediando.

Recomendações Também não é possível um fluxo partir

de uma entidade externa diretamente para outra entidade externa.

Igualmente, um fluxo jamais parte de um depósito diretamente para uma entidade, sempre há a intermediação de um processo.

AgendaConceitos sobre DFD:

Propriedades do DFD Depósito de Dados

ConceitosExemplosExercícios

Propriedades do Diagrama de Fluxo de Dados

1.  Uma Entidade Externa não pode estar ligada diretamente a outra Entidade Externa.

Propriedades do Diagrama de Fluxo de Dados

2. Um Depósito de Dados não pode estar ligado diretamente a uma Entidade Externa.

3. Um Depósito de Dados não pode estar ligado diretamente a outro Depósito de Dados.

Propriedades do Diagrama de Fluxo de Dados

4. Um processo deve possuir sempre um verbo no infinitivo, representando uma ação.

Ex.: Emitir Consultar Atualizar...

Propriedades do Diagrama de Fluxo de Dados

5. Quando houver necessidade de cruzar setas, deve haver uma “salto” no cruzamento.

Propriedades do Diagrama de Fluxo de Dados

6. Um DFD não deve possuir mais que 7 processos para não dificultar seu entendimento. Se forem necessários mais processos, talvez seja melhor dividir o DFD em duas ou mais sub-partes.

Propriedades do Diagrama de Fluxo de Dados

7. É possível repetir uma mesma Entidade Externa no início e no final do DFD, porém ela deve apresentar um corte na sua parte inferior direita, representando a repetição.

Cliente Cliente

Propriedades do Diagrama de Fluxo de Dados

8. Todo DFD vai possuir, no mínimo, uma entidade e um processo.

Propriedades do Diagrama de Fluxo de Dados

Cliente

Normas para Elaboração de um DFD

 Definir as Entidades Externas.Especificar as entradas e saídas do

sistema.Especificar prováveis saídas

(consultas/relatórios) que o sistema venha a ter necessidade.

Elaborar o Diagrama de Contexto (Nível 0).

Normas para Elaboração de um DFDElaborar o diagrama de Nível 1, começando do

canto superior esquerdo, da esquerda para direita, a partir da Entidade Externa que possuir a principal entrada para o sistema, desenhando os fluxos de dados que surgem, os processos logicamente necessários e os Depósitos de Dados que lhe pareçam necessários.

Não ligar Entidade Externa diretamente com Entidade Externa nem Depósito de Dados a Depósito de Dados sem que possuam um processo entre eles.

Normas para Elaboração de um DFDAceitar o fato de que será necessário a

elaboração de mais de um esboço até a elaboração final do DFD.

Verificar se todas as Entidades Externas e fluxos de entradas e saídas previstas encontram-se representadas.

Elaborar as expansões necessárias até chegar ao nível adequado.

D.F.D.D.F.D.Depósito de DadosDepósito de Dados

O D.F.DO D.F.D utiliza-se de quatro símbolos

gráficos, visando representar os seguintes componentes:

Fluxo de DadosProcessosEntidades Externas ou Agentes ExternosArmazenamento ou Depósito de Dados

O D.F.D

Depósito de DadosO Depósito é utilizado para se modelar uma

coleção de pacotes de dados em repouso. É comum referir-se aos Depósitos somente

como arquivos ou banco de dados mas pode também conter dados armazenados em cartões perfurados, microfilmes, microfichas, discos óticos e várias outras modalidades eletrônicas.

ConvençõesConvencionamos a identificação de um

depósito de dados pela colocação de uma letra “D” maiúscula seguida de um número, na esquerda do desenho, separada da descrição por uma linha vertical.

D1 Dados de Clientes

Função do depósito de dadosO Depósito existe como uma área

necessária de armazenamento de espera entre dois processos que ocorrem em momentos diferentes.

Exemplo:

D1 Pedidos

Introduzir pedidos

Responder consultas

pedido pedido

Detalhes de pedidos

confirmação resposta

consulta

Exemplos:

Exemplos:

c

AgendaConceitos sobre DFD:

Níveis de DFDDicionário de Dados

ConceitosExemplosExercícios

Níveis de DFDO 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.

Níveis de DFDO 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 as entidades externas.

Esse DFD especial é conhecido como Diagrama de Contexto.

Exemplo:

Níveis de DFDO DFD imediatamente abaixo do diagrama de

contexto é conhecido como Nível 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.

Quando se desenha o primeiro DFD:Verificar se todos os processos têm o

mesmo nível de detalhe, isto é, se algum dos processos representados não é mais do que uma sub-atividade de um processo;

Se dois ou mais processos mostram mais detalhe que outros processos também representados, podendo aqueles serem considerados um único processo com um objetivo mais geral.

Levelling Depois, cada processo de DFD de nível 1 pode

ser decomposto sucessivamente em outros DFDs onde já se mostram mais detalhes da lógica de procedimento.

Nestes DFDs já são considerados tratamentos de erros e exceções e aparecem também alguns arquivos e fluxos de dados de uso localizado.

Esta técnica de subdividir DFDs de nível superior em DFDs que representam sucessivamente o sistema com maisdetalhe é conhecida por “levelling”

Como fazer?Não há uma regra geral que diga quando se deve

acabar com esta subdivisão; Alguns autores defendem que é quando os processos

estão sob a forma de primitiva funcional, outros que não se devem ultrapassar sete níveis de detalhe.

No entanto, todos os autores dizem que quando se decompõe um processo num outro DFD de detalhe deve haver conservação de fluxos, isto é, os fluxos que entram e saem do processo do DFD

de nível superior, têm também que entrar e sair no DFD que representa a decomposição desse processo; esta propriedade é denominada por “balancing”.

Exemplo de representação

Dicionário de DadosDicionário de Dados

Dicionário de Dados O dicionário de dados é uma

coleção de dados a respeito de dados.

A idéia básica é fornecer informações sobre a definição, a estrutura e a utilização de cada elemento de dados que o sistema utiliza.

Elemento de dado é a unidade de dados que não pode ser decomposta.

Função - DDPermite descrever:Fluxo de Dados;Depósitos de Dados;Dados Elementares

Dicionário de DadosCada item do DD é composto de:Significado;Conteúdo;Valores permitidos;Chave primária no caso de deposito de

dados;

Dicionário de DadosAo se falar em dicionário de dados, temos que lembrar duas concepções de organização hierárquica de dados hoje existentes:

Organização Hierárquica Tradicional Organização Hierárquica Emergente;

Organização Hierárquica Tradicional

Geralmente é utilizada por linguagens de 3ª geração e possui a estrutura que segue:

Organização Hierárquica Emergente

Estrutura conceitual mais recente, com advento das linguagens de 4ª geração, bancos de dados e orientação a objeto.

Dicionário de DadosPor que utilizar um dicionário de

dados?

A razão mais óbvia é a documentação. Contudo, esta é uma visão simplista de sua necessidade.

Em uma organização, diferentes pessoas ou grupos, poderão definir um elemento de dados específico de modo bastante diferente.

Dicionário de Dados“Em uma escola, um Analista de Sistemas, conversou com três pessoas: a secretária, a tesoureira e o professor”. Na conversa individual com cada um, todos citaram um elemento de dados chamado “tipo de aluno”, contudo, para cada um deles este dado tinha conteúdo diferente:

Secretária – Boa nota, má nota. Tesoureira – Bom ou mal pagador. Professor – Muito esforçado, pouco

esforçado.

Dicionário de DadosO inverso também acontece, nomes diferentes para referenciar o mesmo conteúdo. Por exemplo: registro do empregado, código do funcionário ou nº de identificação funcional podem ser exatamente a mesma coisa.

Dicionário de DadosPerceba, portanto, as implicações amplas de um dicionário de dados no desenvolvimento de sistemas. Se todos os desenvolvedores envolvidos em um sistema, tiverem que utilizar descrições de dados a partir de um dicionário comum, vários problemas potencialmente graves poderão ser evitados.

Dicionário de Dados

Para qualquer dado procure sempre definir :

- um nome de identificação- tipo de conteúdo (numérico,

alfanumérico, inteiro, data)- tamanho máximo- formatação

Notação

Exemplo 1:Elemento de dados composto:Num_telefone: ( DDI + DDD ) + ( numero

do telefone )DDI = {digito}DDD = {dígito}Numero do telefone = {dígito}Dígito = [0|1|2|3|4|5|6|7|9]

Exemplo 2:Elemento de dados elementares:Sexo= * Valores [M|F]*Peso=*Peso do funcionário na admissão*

*Unidades: Kg Intervalo: 1 -150 *

ExercícioIndicar o fluxos existentes no DFD o processo de

compras de em um supermercado. Considerar apenas as etapas de passagem do produto pelo caixa, pagamento e empacotamento das mercadorias.

Processos: passar produtos no balcão, registrar produtos, pagamento, empacotamento, colocar produtos no carrinho

Entidades: cliente, caixa, empacotadorDepósitos: carrinho, pacote, caixa

registradora.

Resolução do Exercício 1Indicar o fluxos existentes no DFD o processo de

compras de em um supermercado. Considerar apenas as etapas de passagem do produto pelo caixa, pagamento e empacotamento das mercadorias.

Processos: passar produtos no balcão, registrar produtos, pagamento, empacotamento, colocar produtos no carrinho

Entidades: cliente, caixa, empacotadorDepósitos: carrinho, pacote, caixa

registradora.

Exercício 2Representar os processos e fluxos existentes no

DFD do exercicio 1. Considerar apenas as etapas de passagem do

produto pelo caixa, pagamento e empacotamento das mercadorias.

Processos: passar produtos no balcão, registrar produtos, pagamento, empacotamento, colocar produtos no carrinho

Entidades: cliente, caixa, empacotadorDepósitos: carrinho, pacote, caixa

registradora.

Resolução exercício 1 e 2 Processos: passar produtos no balcão, registrar produtos, pagamento,

empacotamento, colocar produtos no carrinho Entidades: cliente, caixa, empacotador Depósitos: carrinho, pacote, caixa registradora.

passar produto

s no balcão

registrar

produtos

Empacota-mento

pagamento

colocar produto

s no carrinho

Cliente

caixa

Empacotador

ListaDe produtos

Produtosselecionados

Produtosregistrados

Produtospagos

Produtosempacotados

Embalagens

Registros de pagamento

ExercícioDesenvolver um D.F.D. para o

enunciado abaixo:“O caixa do banco recebe cheque para descontar. Ele verifica na ficha do cliente se há saldo disponível, em caso afirmativo, dá o dinheiro; caso contrário devolve o cheque”.

ExercíciosDesenvolver os D.F.Ds nos cenários propostos nos exercícios 1 a 3 da lista do 2º bimestre. Para elaboração dos diagramas utilize o sistema Dia.

BIBLIOGRAFIA DEMARCO, Tom – “Análise Estruturada e

Especificação De Sistema” – Editora Campus;

GANE, Chris, SARSON, Trish: Análise Estruturada de Sistemas – Livros Técnicos e Científicos Editora Ltda.

Recommended