DFD Diagrama de fluxo de dados 1 DFD

  • Slides: 41
Download presentation
DFD Diagrama de fluxo de dados 1

DFD Diagrama de fluxo de dados 1

DFD - Diagrama de Fluxo de Dados Engenharia de Software n n Permite imaginar

DFD - Diagrama de Fluxo de Dados Engenharia de Software n n Permite imaginar o sistema como uma rede de processos funcionais, interligados por “dutos” e “tanques de armazenamento” de dados. Outros nomes: diagrama de bolhas, modelo de processo, diagrama de fluxo de trabalho, modelo funcional Prof. Claudiney Sanches Júnior 2

DFD Engenharia de Software n Sistemas em que funções do sistema sejam de fundamental

DFD Engenharia de Software n Sistemas em que funções do sistema sejam de fundamental importância e mais complexas do que os dados manipulados Prof. Claudiney Sanches Júnior 3

DFD – Componentes n n Engenharia de Software n n Processo Fluxo Depósito Entidade

DFD – Componentes n n Engenharia de Software n n Processo Fluxo Depósito Entidade Externa (Terminador) Prof. Claudiney Sanches Júnior 4

DFD – Fluxo Engenharia de Software n n Mostra o movimento de fragmentos ou

DFD – Fluxo Engenharia de Software n n Mostra o movimento de fragmentos ou de pacotes de informações de um ponto a outro do sistema (dados em movimento) Fluxos possuem direção – indicam se os dados entram ou sem do processo (ou ambos) Prof. Claudiney Sanches Júnior 5

DFD – Representação n Representação do fluxo Engenharia de Software Consulta de cliente Dados

DFD – Representação n Representação do fluxo Engenharia de Software Consulta de cliente Dados do pedido Prof. Claudiney Sanches Júnior 6

DFD – Processo n Engenharia de Software n n Processo (bolha, função, transformação) O

DFD – Processo n Engenharia de Software n n Processo (bolha, função, transformação) O processo mostra uma parte do sistema, a que transforma entradas em saídas. O nome do processo geralmente é composto por uma frase constituída de 1 verbo e 1 objeto (Ex. : Validar Entrada, Calcular Valor do Imposto) Prof. Claudiney Sanches Júnior 7

DFD – Representação Engenharia de Software n Representação do Processo CALCULAR IMPOSTO SOBRE VENDAS

DFD – Representação Engenharia de Software n Representação do Processo CALCULAR IMPOSTO SOBRE VENDAS Prof. Claudiney Sanches Júnior Validar Entrada 8

DFD – Depósitos n Engenharia de Software n Usados para modelar uma coleção de

DFD – Depósitos n Engenharia de Software n Usados para modelar uma coleção de pacotes de dados em repouso (arquivos, bancos de dados, cartões microfilmes, discos óticos) Prof. Claudiney Sanches Júnior 9

DFD – Representação n Representação do Depósito Engenharia de Software PEDIDOS Prof. Claudiney Sanches

DFD – Representação n Representação do Depósito Engenharia de Software PEDIDOS Prof. Claudiney Sanches Júnior 10

DFD – Entidade Externa n Engenharia de Software n Entidade Externa (Terminador) Entidades externas

DFD – Entidade Externa n Engenharia de Software n Entidade Externa (Terminador) Entidades externas com o qual o sistema se comunica. Pode ser outro sistema, o usuário, um departamento, uma organização Prof. Claudiney Sanches Júnior 11

DFD – Representação Engenharia de Software n Representação da Entidade Externa DEPARTAMENTO DE CONTABILIDADE

DFD – Representação Engenharia de Software n Representação da Entidade Externa DEPARTAMENTO DE CONTABILIDADE Prof. Claudiney Sanches Júnior CLIENTE 12

Diretrizes para elaboração de DFDs Engenharia de Software n Escolher nomes significativos para processos,

Diretrizes para elaboração de DFDs Engenharia de Software n Escolher nomes significativos para processos, fluxos, depósitos e entidades externas n n Evitar nomes de pessoas (ou grupos) e funções políticas rotulando as funções que o sistema executa (verbo + objeto) Evitar nomes vagos: (Fazer, Manipular, Processar) – Fazer Serviço, Manipular Entrada, Processar Dados. . . Prof. Claudiney Sanches Júnior 13

Diretrizes para elaboração de DFDs n Numerar os processos Engenharia de Software n Numerar

Diretrizes para elaboração de DFDs n Numerar os processos Engenharia de Software n Numerar os processos pode facilitar sua identificação Prof. Claudiney Sanches Júnior 14

Diretrizes para elaboração de DFDs n Evitar DFDs complexos demais Engenharia de Software n

Diretrizes para elaboração de DFDs n Evitar DFDs complexos demais Engenharia de Software n n DFDs devem ser lidos e compreendidos não só pelo analista, mas também pelos usuários Não criar DFDs com processos demasiados, fluxos, depósitos e entidades externas Prof. Claudiney Sanches Júnior 15

Diretrizes para elaboração de DFDs n Refazer os diagramas até obter uma boa estética

Diretrizes para elaboração de DFDs n Refazer os diagramas até obter uma boa estética Engenharia de Software n O DFD deve ser refeito até estar: n Tecnicamente correto, aceitável pelo usuário, bem desenhado Prof. Claudiney Sanches Júnior 16

Diretrizes para elaboração de DFDs n Certificar-se da consistência interna do DFD, além da

Diretrizes para elaboração de DFDs n Certificar-se da consistência interna do DFD, além da consistência com outros DFDs Engenharia de Software n n Evitar “poços sem fundo” – processos que têm entradas mas não têm saídas Evitar processos com geração espontânea – processos que têm saídas mas não têm entradas Cuidado com fluxos e processos sem rótulo Cuidado com depósitos somente-leitura, ou somente-escrita Prof. Claudiney Sanches Júnior 17

DFDs com Níveis Engenharia de Software n n DFDs podem e devem ser nivelados

DFDs com Níveis Engenharia de Software n n DFDs podem e devem ser nivelados de modo que cada nível ofereça sucessivamente mais detalhes. O DFD de nível mais alto consiste de uma única bolha, representando o sistema inteiro, e é conhecido como Diagrama de Contexto Prof. Claudiney Sanches Júnior 18

DFDs com Níveis Engenharia de Software Entidade 1 SISTEMA Entidade 3 Entidade 2 Diagrama

DFDs com Níveis Engenharia de Software Entidade 1 SISTEMA Entidade 3 Entidade 2 Diagrama de Contexto Prof. Claudiney Sanches Júnior 19

DFDs com Níveis Engenharia de Software 1 4 Prof. Claudiney Sanches Júnior 2 3

DFDs com Níveis Engenharia de Software 1 4 Prof. Claudiney Sanches Júnior 2 3 3. 1 3. 2 3. 3 20

DFDs com Níveis n Engenharia de Software n n Quantos níveis deve ter um

DFDs com Níveis n Engenharia de Software n n Quantos níveis deve ter um DFD? Todas as partes do sistema devem ser subdivididas até o mesmo nível de detalhamento? Como garantir a consistência? n Fluxos de dados que entram e saem de um processo em um nível devem corresponder a fluxos que entram e saem de um nível imediatamente inferior Prof. Claudiney Sanches Júnior 21

DFDs com Níveis n Como mostrar depósitos de dados níveis? Engenharia de Software n

DFDs com Níveis n Como mostrar depósitos de dados níveis? Engenharia de Software n n Depósitos locais, utilizados apenas por processos de uma figura de nível inferior não são mostrados níveis superiores Depósitos que se encontram em níveis superiores devem aparecer em todos os níveis inferiores subseqüentes Prof. Claudiney Sanches Júnior 22

DFDs com Níveis Engenharia de Software n Embora os DFDs sejam apresentados ao usuário

DFDs com Níveis Engenharia de Software n Embora os DFDs sejam apresentados ao usuário de maneira top-down, não necessariamente o sistema será desenvolvido segundo essa maneira. Prof. Claudiney Sanches Júnior 23

DFD n Descrição dos Processos Engenharia de Software n n Após a preparação dos

DFD n Descrição dos Processos Engenharia de Software n n Após a preparação dos DFDs, há a necessidade de se definir cada processo criado Uma das Técnicas mais empregadas é através de Linguagem Estruturada, embora existam ainda: tabelas de decisão, pré e pós-condições, fluxogramas Prof. Claudiney Sanches Júnior 24

DFD Engenharia de Software n Linguagem estruturada, é um subconjunto da linguagem normal com

DFD Engenharia de Software n Linguagem estruturada, é um subconjunto da linguagem normal com algumas restrições quanto ao tipo de sentenças que podem ser utilizadas, e quanto à maneira como essas sentenças podem ser reunidas Prof. Claudiney Sanches Júnior 25

DFD n Engenharia de Software n Português Estruturado Permite construções de seqüência, decisão e

DFD n Engenharia de Software n Português Estruturado Permite construções de seqüência, decisão e iteração Prof. Claudiney Sanches Júnior 26

DFD Sequência: construção onde uma tarefa é seguida por outra, incondicionalmente. Exemplo: Subtrair o

DFD Sequência: construção onde uma tarefa é seguida por outra, incondicionalmente. Exemplo: Subtrair o valor (R$) retirado do valor total Gravar detalhes da transação no arquivo de totais Liberar o dinheiro Engenharia de Software n Prof. Claudiney Sanches Júnior 27

DFD Engenharia de Software n Seleção: Aplica-se quando a realização de uma tarefa (parte

DFD Engenharia de Software n Seleção: Aplica-se quando a realização de uma tarefa (parte da função) está condicionada a uma outra tarefa/situação. Exemplo: Se a conta tem saldo suficiente processar a retirada do R$ Senão informar que o saldo é insuficiente Prof. Claudiney Sanches Júnior 28

DFD Engenharia de Software n Iteração: Aplica-se quando uma tarefa (parte da função é

DFD Engenharia de Software n Iteração: Aplica-se quando uma tarefa (parte da função é realizada repetidamente. Exemplo: Para cada cliente Para cada moeda Se a moeda é válida Somar valor da moeda a valor total inserido Atualizar display Se total inserido é suficiente p/ a bebida selecionada Liberar o copo Dispensar a bebida Senão rejeitar a moeda Fim Prof. Claudiney Sanches Júnior 29

DFD n O nível de formalismo do Português Estruturado pode variar, de acordo com:

DFD n O nível de formalismo do Português Estruturado pode variar, de acordo com: n Engenharia de Software n A fase de desenvolvimento do software Interesse da empresa / equipe Pouco formalismo é a principal deficiência da técnica Prof. Claudiney Sanches Júnior 30

DFD - ATIVIDADE Engenharia de Software n Elaborar um DFD para um sistema de

DFD - ATIVIDADE Engenharia de Software n Elaborar um DFD para um sistema de controle de acesso que verifica duas variáveis: Algo que o usuário possui e algo que ele conhece. Prof. Claudiney Sanches Júnior 31

Atividade n Engenharia de Software n n Qual é o erro de interpretação que

Atividade n Engenharia de Software n n Qual é o erro de interpretação que o usuário pode cometer em relação aos números dos processos em um DFD? Porque fluxos e processos sem rótulo são perigosos? É possível e aceitável a existência de fluxos não-rotulados entrando ou saindo de depósitos de dados. Por quê? Prof. Claudiney Sanches Júnior 32

Dicionário de Dados Engenharia de Software n Listagem organizada de todos os elementos de

Dicionário de Dados Engenharia de Software n Listagem organizada de todos os elementos de dados pertinentes ao sistema, com definições precisas e rigorosas para que o usuário e o desenvolvedor (analista) de sistemas possam conhecer todas as entradas, saídas, componentes de depósitos e cálculos intermediários. Prof. Claudiney Sanches Júnior 33

Dicionário de Dados n A definição de elementos pelo dicionário é através da: Engenharia

Dicionário de Dados n A definição de elementos pelo dicionário é através da: Engenharia de Software n n Descrição do significado dos fluxos e depósitos mostrados nos DFDs Descrição da composição de pacotes agregados de dados que se movimentam pelos fluxos Prof. Claudiney Sanches Júnior 34

Dicionário de Dados n Engenharia de Software n n Descrição da composição dos pacotes

Dicionário de Dados n Engenharia de Software n n Descrição da composição dos pacotes de dados nos depósitos Especificação de valores e unidades de informações nos fluxos de dados e depósitos Descrevendo detalhes nos relacionamentos em diagramas de Entidades. Relacionamento Prof. Claudiney Sanches Júnior 35

Dicionário de Dados Engenharia de Software n Pacotes ou elementos de dados complexos são

Dicionário de Dados Engenharia de Software n Pacotes ou elementos de dados complexos são definidos em termos de elementos de dados mais simples, elementos de dados simples são definidos em unidades válidas e valores que podem assumir. Prof. Claudiney Sanches Júnior 36

Dicionário de Dados Engenharia de Software Símbolo Significado = É composto de + e

Dicionário de Dados Engenharia de Software Símbolo Significado = É composto de + e () Opcional (pode estar presente ou ausente {} iteração [] Escolha uma das opções alternativas ** Comentário @ Identificador (campo chave) de um depósito @| Separador de opções alternativas na construção [] Prof. Claudiney Sanches Júnior 37

Engenharia de Software Dicionário de Dados - Exemplo nome = título_cortesia + primeiro_nome +

Engenharia de Software Dicionário de Dados - Exemplo nome = título_cortesia + primeiro_nome + (nome_intermediário) + último_nome título_cortesia = [ Sr. | Srta. | Sra. | Dr. | Professor ] primeiro_nome = {caracter_válido} Prof. Claudiney Sanches Júnior 38

Engenharia de Software Dicionário de Dados - Exemplo primeiro_nome = {caracter_válido} nome_intermediário = {caracter_válido}

Engenharia de Software Dicionário de Dados - Exemplo primeiro_nome = {caracter_válido} nome_intermediário = {caracter_válido} último_nome = {caracter_válido} caracter_válido = [A-Z |a-z |0 -9 |’ |-| ] Prof. Claudiney Sanches Júnior 39

Atividade n Verificar a validade dos nomes: n Engenharia de Software n n n

Atividade n Verificar a validade dos nomes: n Engenharia de Software n n n Dr. Pimpolho Joaquim Manoel Siqueira Fernando 3 da Silva 4 Sr. Wtxzyace 344 R 2 D 2 Personal Computer 300 GL Prof. Claudiney Sanches Júnior 40

Dicionário de Dados Engenharia de Software n n n Em sistemas maiores, o dicionário

Dicionário de Dados Engenharia de Software n n n Em sistemas maiores, o dicionário de dados pode representar um volume muito grande de trabalho Muitas ferramentas se ocupam desse trabalho Embora seja um aspecto tedioso da análise, a definição do dicionário é uma tarefa importante, pois garante precisão nos dados utilizados. Prof. Claudiney Sanches Júnior 41