ufu universidade federal de uberlândia20dfd/modelagem%20funcional%20-%20dfd.pdf · modelagem...
TRANSCRIPT
MODELAGEM FUNCIONAL USANDO
DIAGRAMA DE FLUXO DE DADOS
Professora: Fabíola Gonçalves.
UFU Universidade Federal de Uberlândia
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:
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
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
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
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”.