ufu universidade federal de uberlândia20dfd/modelagem%20funcional%20-%20dfd.pdf · modelagem...

36
MODELAGEM FUNCIONAL USANDO DIAGRAMA DE FLUXO DE DADOS Professora: Fabíola Gonçalves. UFU Universidade Federal de Uberlândia

Upload: phamcong

Post on 23-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

MODELAGEM FUNCIONAL USANDO

DIAGRAMA DE FLUXO DE DADOS

Professora: Fabíola Gonçalves.

UFU Universidade Federal de Uberlândia

AGENDA

Modelos de Sistema

Modelo Essencial de um Sistema

Diagrama de Fluxo de Dados

Exemplos

ANALISE ESTRUTURADA

Tem por premissa a representação ordenada por fluxo..

Mostra uma divisão hierárquica, criando níveis de DFD..

Níveis 0, 1 ..

Ser humano trabalho bem com 7+- 2 atividades ..

Mostrado por enumerações, em níveis cada vez menos abstratos

Caiu em desuso com paradigma OO, mas..

Trabalho com sistemas legadas

USO DO DIAGRAMA DE FLUXO DE DADOS

Diagrama de Fluxo de Dados

Modelo Essencial

Dicionário de Dados

Especificação dos Processos

origem - Tom DeMarco

várias notações

DeMarco/Yourdon

Gane/Sarson

extensões para tempo real

Ward&Mellor

Hatley-Pirbhai

DIAGRAMA DE FLUXO DE DADOS

COMPONENTES BÁSICOS:

Processo: 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

Bolha, função e transformação.

Verbo +

Substantivos Exemplos:

COMPONENTES BÁSICOS:

Fluxo de dados: Um Fluxo é utilizado para mostrar o movimento de

fragmentos ou de pacotes de informação de um ponto a outro

do sistema.

Desse modo o fluxo representa os dados em movimento,

enquanto os depósitos, mostrados mais adiante representam

os dados em repouso.

informação

Nome do Funcionário

Exemplos:

COMPONENTES BÁSICOS:

Tipos de Fluxos:

COMPONENTES BÁSICOS:

Depósitos de dados Utilizado para modelar um pacote de dados em repouso

Como pudemos observar os depósitos são interligados aos

processos por fluxos. Dessa maneira, o contexto em que um

depósito se apresenta num DFD é um dos seguintes ou ambos:

Um fluxo de um depósito ou Um fluxo para um depósito

COMPONENTES BÁSICOS:

Entidade Externas: Participam como origem/destino de informações

Entidades externas com as quais o sistema se comunica,

podem representar uma pessoa ou grupo de pessoas ou,

ainda, uma organização externa.

DIRETRIZES PARA ELABORAÇÃO DE UM

DFD

Escolher nomes significativos para os processos, fluxos,

depósitos e terminadores

Numerar os processos

Refazer os DFD´s tantas vezes quantas forem

necessárias até obter um bom entendimento e uma boa

estética

Evitar DFD´s complexos demais

Evitar que o DFD seja internamente inconsistente,

além de manter a consistência com outros DFD´s.

Exemplos de bons nomes de Processos: Calcular Trajetória do

Míssil, Produzir Relatório de inventário..

Exemplos de maus nomes: Fazer Serviço , Funções Diversas ..

ANÁLISE ESSENCIAL:: MODELO ESSENCIAL

Foi proposta em 1984 por McMenamim e Palmer para

“refletir a introdução dos novos conceitos que estavam

sendo incorporados à Análise Estruturada Clássica”.

Especifica o quê o sistema deve fazer, sem determinar

como deve ser feito.

Apresenta o sistema num nível de abstração completamente

independente de restrições tecnológicas. Antes que um sistema

seja implementado, é necessário conhecer-se a sua verdadeira

essência, não importando saber se sua implementação vai ser

manual ou automatizada, e nem mesmo que tipo de hardware ou

software vai ser usado.

Composta por:

modelo ambiental e modelo de comportamento

MODELO ESSENCIAL

Modelo ambiental:

Define a fronteira entre o sistema e o resto do mundo.

Define o que é parte do sistema e o que não é ou seja mapeia

as interfaces do sistema com o ambiente onde ele se insere.

Componentes do Modelo Ambiental:

1. declaração de propósito

2. lista de eventos

3. diagrama de contexto

MODELO ESSENCIAL::MODELO AMBIENTAL

1. Declaração de Propósito

declaração textual, concisa e clara do propósito do sistema não

deve detalhar o sistema nem pretender ser abrangente

Exemplo:

“O sistema destina-se a realizar o controle do estoque,

registrando todas as compras efetuadas e saídas de

materiais. Quando o estoque de um material cair abaixo

de um valor mínimo, o sistema deverá sinalizar a

necessidade de compra. Ao final do dia, deverá emitir um

relatório dos movimentos.”

MODELO ESSENCIAL::MODELO AMBIENTAL

2. Lista de eventos

Narrativa dos estímulos que acontecem no mundo externo, aos

quais o sistema deve responder

Não confundir as causas com as consequências

Um evento causa:

a mudança de estado do sistema

a produção de uma informação na interface do sistema

MODELO ESSENCIAL::MODELO AMBIENTAL

Classificação dos eventos:

Eventos (puros)

Eventos de dados

Eventos temporais

Exemplo: controle de estoque

a visita aperta a campainha

o almoxarife solicita um item (evento de dados)

o comprador informa um lote comprado (evento de dados)

chega o final do dia (evento temporal)

MODELO ESSENCIAL::MODELO AMBIENTAL

3. Diagrama de Contexto

O DFD de mais alto nível que representa todo o sistema

como um único processo é conhecido como diagrama de

contexto, e é composto por fluxos de dados que mostram as

interfaces entre o sistema e as entidades externas.

Um diagrama de contexto permite:

identificar os limites dos processos

as áreas envolvidas com o processo

os relacionamentos com outros processos e elementos externos à

empresa (ex.: clientes, fornecedores)

mostra características do sistema

organizações/sistemas/pessoas que se comunicam com o sistema

dados que o sistema absorve e deve processar

dados que o sistema gera para o ambiente

fronteira do sistema com o ambiente

DIAGRAMA DE CONTEXTO

Elementos:

MODELO ESSENCIAL::MODELO COMPORTAMENTAL

Define o comportamento das partes internas do sistema

necessário para interagir com o ambiente

Identifica o processamento dos eventos

Composto por:

Diagrama de Fluxo de Dados

Dicionário de Dados

Especificações

de Processos

MODELO ESSENCIAL::MODELO

COMPORTAMENTAL

DFD: Detalhamento do Processo

DFD É ATEMPORAL

Quando o dado A chega?

Quantos conjuntos de A, B e C são necessários para

produzir a resposta X?

Qual resposta é gerada antes X ou Y?

MODELO ESSENCIAL::MODELO

COMPORTAMENTAL

No Dicionário de Dados:

número de telefone = {dígito}*8

número válido = {dígito}*8

número inválido = {dígito}*8

DICIONÁRIO DE DADOS

Serve para:

descrever o significado dos fluxos de dados

identificar registros dos depósitos de dados

descrever a composição dos dados

Fornecer um certo formalismo na representação

Notação

= é composto por

+ e

( ) opcional

{ } repetição

* número de repetições

[ ] seleção entre alternativas

| separador de alternativas

DICIONÁRIO DE DADOS:

EXEMPLO: NÚMERO DE TELEFONE

número de telefone = [extensão local | número externo]

extensão local = [2001|2002|...|2999]

número externo = 0 + [número interurb.|número local]

número interurb. = DDD + número local

DDD = 0 + código da cidade

número local = prefixo + {dígito} * 4

ESPECIFICAÇÃO DE PROCESSOS

Descrição do funcionamento das bolhas primitivas do

DFD

Formas mais frequentes:

descrição narrativa

linguagem estruturada

pré/pós-condições

árvores e tabelas de decisão

diagrama de transição de estados

ESPECIFICAÇÃO DE PROCESSOS: LINGUAGEM ESTRUTURADA

Pseudocódigo:

estruturas

enquanto

repita ... até que

se-então-senão

caso

verbos

ler

imprimir (escrever)

buscar

eliminar

ordenar

EXEMPLO

processo 3.2. Comparar quantidades

aguarde ativar_contabilidade

para cada item no estoque

buscar quantidade_mínima

se encontrou

então

se quantidade < = quantidade_mínima

então produto_abaixo_do_mínimo

senão

escreva mensagem_de_erro

EXEMPLO

ESPECIFICAÇÃO DE PROCESSOS: PRÉ/PÓS-

CONDIÇÕES

processo 3.2. Comparar quantidades

Pré-condição 1:

existe quantidade_mínima, maior ou igual a quantidade

Pós-condição 1:

mensagem estoque_abaixo_do_mínimo emitida

Pré-condição 2:

não existe quantidade_mínima

Pós-condição 2:

mensagem mensagem_de_erro emitida

ESPECIFICAÇÃO DE PROCESSOS: FERRAMENTAS PARA DECISÃO

Servem para descrever lógicas que envolvem

encadeamento de decisões.

Tipos:

árvore de decisão

tabela de decisão

EXEMPLO - ÁRVORE DE DECISÃO

“Clientes que possuam movimentação superior a R$1

milhão por ano e (tenham bom histórico de

pagamentos ou estejam na casa há mais de 20 anos)

devem receber tratamento preferencial.”

EXEMPLO – TABELA DE DECISÃO

“Clientes que possuam movimentação superior a R$1

milhão por ano e (tenham bom histórico de

pagamentos ou estejam na casa há mais de 20 anos)

devem receber tratamento preferencial.”

OBJETIVOS DAS FERRAMENTAS PARA

DECISÃO

Identificar condições na especificação

Calcular o número de combinações

Identificar as ações mencionadas no enunciado

Criar tabela “vazia” e preencher os casos conhecidos

Identificar omissões, ambiguidades e contradições

Discutir com o usuário

ESPECIFICAÇÃO DE PROCESSOS: DIAGRAMA DE

TRANSIÇÃO DE ESTADOS (DTE)

Serve para descrever os aspectos dinâmicos do sistema

ou dos processos.

Elementos básicos:

estados

transições

eventos

ações

DIAGRAMA DE TRANSIÇÃO DE ESTADOS (DTE)

Exemplo:

Máquina de venda automática:

aguarda moedas

aguarda a seleção do produto

devolve o troco, se for o caso

devolve o pagamento:

se solicitado

se o pagamento não for suficiente

EXERCÍCIO

O Departamento de Obras Públicas de uma grande cidade decidiu

desenvolver um sistema informatizado para identificação e reparo dos

buracos da cidade (InfoBuraco). À medida que os buracos são

comunicados, recebem um número de identificação e são armazenados por

endereço, tamanho (escala relativa de 1 a 100), localização (meio-fio,

centro), distrito (a partir do endereço) e prioridade de conserto (a partir

do tamanho do buraco). Ordens de serviço são associadas a cada buraco e

incluem endereço, número da turma escalada, número de pessoas na

turma de conserto, equipamentos, tempo de reparo, quantidade de

material utilizado, e custo do conserto. Um outro arquivo armazena

informações de danos causados pelo buraco: nome do cidadão,endereço,

tipo do dano e valor da indenização. O sistema é “on-line”.