Escolar Documentos
Profissional Documentos
Cultura Documentos
LF
LF
• várias notações
– DeMarco/Yourdon
– Gane/Sarson
LF
Componentes básicos:
processo
verbo
+
objetos
EX.:
1.5
1.5
calcular
calcular
contrib.
contrib.
INSS
INSS
DeMarco/Yourdon
Gane/Sarson
LF
Componentes básicos:
fluxo de dados
informação
Ex.:
nome
do
funcionário
diálogo
LF
Componentes básicos:
depósitos de dados
funcionários D1 funcionários
De Marco/Yourdon Gane/Sarson
dados_funcionário
calcular
folha de
cadastrar pagamento
funcionários funcionários
dados_funcionário
LF
Componentes básicos:
entidades externas
• participam como origem/destino de
informações
Ex.:
cliente cliente
De Marco/Yourdon Gane/Sarson
LF
2. Modelo Essencial
• especifica o quê o sistema deve fazer, sem
determinar como deve ser feito
• composto por:
– modelo ambiental
– modelo de comportamento
LF
Ambiente
Sistema
LF
Componentes do Modelo
Ambiental
• declaração de propósito
• lista de eventos
• diagrama de contexto
LF
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.”
LF
Lista de eventos
• Narrativa dos estímulos que acontecem no
mundo externo, aos quais o sistema deve
responder
• Um evento causa:
– a mudança de estado do sistema
– a produção de uma informação na interface do
sistema
LF
Classificação dos eventos
• Eventos (puros)
• Eventos de dados
• Eventos temporais
LF
Eventos
• caso normal: é a rotina de funcionamento do
programa. Deve incluir:
– eventos de fornecimento de informação
– eventos de solicitação de informação
– eventos de alteração de informações
– eventos de eliminação das informações
• casos de exceção: permitem recuperação de
erros nos eventos de rotina
LF
Diagrama de Contexto
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
LF
Componentes básicos
• entidades externas
• sistema
• fluxos de dados
informação
LF
SISTEMA DE ALMOXARIFE
CONTROLE requisição
DE
ESTOQUE
fim do dia
relatório GERÊNCIA
RELÓGIO
LF
• composto por:
– Diagrama de Fluxo de Dados
– Dicionário de Dados
– Especificações de Processos
LF
Exemplo: controle de estoque
1.
dados da compra
COMPRADOR incluir
material
dados do
material
ordem de compra 3. dados do
calcular material
mínimo
ESTOQUE
hora
RELÓGIO dados da dados do
compra material
4.
produzir
relatório 2. resposta
receber
movimento ALMOXARIFE
requisição
GERENTE
relatório requisição
LF
Regras gerais:
• usar nomes mnemônicos
• manter o desenho em uma página - não
complicar
• numerar os processos
• redesenhar visando a estética (de preferência,
usar computador)
• garantir consistência
LF
número inválido
No Dicionário de Dados:
LF
DFD é atemporal
A X
B Y
P
LF
Erros comuns
• buracos negros
• geração espontânea
• fluxos e processos sem nome
• depósitos “write-only” ou “read-only”
LF
Detalhamento do Processo
ordem de compra
3.3.
emitir
ordem de produto dados do
compra abaixo material
do mínimo
3.2.
comparar
quantidades
dados do
hora 3.1. limite
monitorar mínima
relógio ativação da
contabilidade
QUANTIDADES MÍNIMAS
LF
3. Dicionário de dados
• Serve para:
– descrever o significado dos fluxos de dados
– identificar registros dos depósitos de dadoa
– descrever a composição dos dados
• Notação
= é composto por
+ e
() opcional
{ } repetição
* número de repetições
[ ] seleção entre alternativas
| separador de alternativas
LF
LF
Dicionário de Dados
controle de estoque
dados da compra = {código do item + quantidade comprada}
código do item = número /** faixa de 0 a 1000 **/
quantidade = número + unidade
unidade = [ un | kg | l | m | m2 | m3 ]
ordem de compra = {código do item + quantidade}
requisição = código do item + quantidade
resposta = [ liberado | indisponível]
estoque = {dados do material }
dados do material =código do item + descrição + quantidade
hora = HH:MM:SS
movimento = código do item + quantidade
relatório = { tipo movimento + código do item + quantidade }
tipo movimento = [ENTRADA | SAÍDA]
LF
4. Especificação de processos
• descrição do funcionamento das bolhas
primitivas do DFD
• formas mais freqüentes:
– descrição narrativa
– linguagem estruturada
– pré/pós-condições
– árvores e tabelas de decisão
– diagrama de transição de estados
LF
Linguagem estruturada
• pseudocódigo
• estruturas
– enquanto
– repita ... até que
– se-então-senão
– caso
• verbos
– ler
– imprimir (escrever)
– buscar
– eliminar
– ordenar
LF
Exemplo
• processo 3.2. Comparar quantidades
aguarde ativa_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
LF
Diagramas de Nassi-
Schneidermann
aguarde ativa_contabilidade
LF
Pré/Pós-condições
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
LF
LF
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.”
S T. P.
bom histórico S
S T. P.
na casa
movimentação há mais
N T. N.
superior a
de 20a.
R$ 1 mi. N
N T. N.
LF
condições
ações
LF
Tabelas de 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, ambigüidades e contradições
• discutir com o usuário
LF
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
LF
Exemplo - DTE
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
LF
AGUARDANDO MOEDA
AGUARDANDO SELEÇÃO
ENTREGANDO PRODUTO
LF
Exercício (Pressman, 7.13)
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”.
LF