Análise e Projetos de Sistemas
Modelagem de Dados - I
Prof. Jorge Manuel Lage Fernandes
Análise Estruturada de Sistemas
• Conjunto de técnicas e ferramentas cujo objetivo é
auxiliar na análise e definição de sistemas
• Conceito fundamental  construção de um modelo do
sistema utilizando técnicas gráficas
• A metodologia envolve a construção “top-down” do
sistema por refinamentos sucessivos
• Não é um método único aplicado constantemente por
todos que a usam 
• Foi e ainda é um método de modelagem de requisitos
amplamente usado 
Análise Estruturada
• Diferença entre Análise e Desenho
• Ferramentas de Análise
– Modelos
• Diagramas, textos
• Análise orientada a objetos
– Centrada em casos de uso
• Análise Estruturada
Análise Estruturada
• Modelos desempenham são fundamentais
– Exemplos
• Partituras musicais
– Representação abstrata de uma música
• Mapas
– Representação abstrata de uma área geográfica
• Fluxogramas
– Representação abstrata de um conjunto de tarefas
– Porque modelos são importantes?
Análise Estruturada
Análise Estruturada
• Modelos para análise estruturada
– Refletem diretamente linguagens estruturadas
• Separação entre dados e funcionalidades
– Registros (dados)
– Funcionalidades (procedimentos e funções)
– Modelos
• Diagrama de fluxo de dados – DFD
• Diagramas entidade relacionamento - DER
• Dicionário de dados - DD
Modelo Comportamental
• Representa o comportamento do sistema.
• O modelo comportamental é constituído
basicamente de DFD e D.D.:
Modelo Comportamental
DFD
DD
Abstração da Realidade
Níveis de
Abstração
Dimensões do Mundo Real Fases do Ciclo
de Vida
Função
Dado
Conceitual
Diagrama de
fluxo de
dados(DFD)
Tecnológico
Interno
Modelo de
Entidade e
Relacionamento
(MER)
Diagrama de
Relacional,Rede,
estrutura modular Hierárquico
(DEM)
Cobol,CSP,
National,C,
Pascal,Clipper,
E.T.C
ANÁLISE
PROJETO
Linguagem de
IMPLEMENTAÇÃO
descrição de dados
SGBD (DDL)
Dicionário de Dados
• Descrevendo o significado dos fluxos e depósitos mostrados nos
diagramas de fluxo de dados.
• Descrevendo a composição de pacotes agregados de dados que
se movimentam pelos fluxos.
• Descrevendo a composição dos pacotes de dados nos depósitos.
• Especificando os relevantes valores e unidades de partes
elementares de informações dos fluxos de dados e depósitos de
dados.
• Descrevendo os detalhes dos relacionamentos entre os depósitos
realçados em um diagrama de entidades-relacionamentos.
Necessidade da notação de DD
• Os elementos de dados complexos são
definidos em termos de elementos de dados
mais simples.
• Elementos de dados simples são definidos em
termos das unidades válidas e dos valores que eles
podem assumir.
• Necessidade de uma notação concisa e
compacta.
Notação do Dicionário de Dados
=
+
()
{}
[]
**
@
|
é composto de
e
opcional (pode estar presente ou ausente)
iteração
escolha uma das opções alternativas
comentário
identificador (campo chaves) de um depósito
separa opções alternativas na construção [ ]
Exemplo
nome = título-cortesia +
primeiro-nome +
(nome-intermediário) +
último-nome
Título-cortesia = [Sr.|Srta.|Sra.|Dr.|Prof.]
Primeiro-nome = {caractere-válido}
Nome-intermediário = {caractere-válido}
Último-nome = {caractere-válido}
Caracter-válido = [A-Z|a-z|0-9|’|-| |]
Definições
• Uma definição de elemento de dados é
apresentada com o símbolo “=” (“definido como”
ou “é composto de” ou “significa”)
• Então, a notação A = B + C pode ser lida como:
– Sempre que dissermos A, queremos dizer B e C.
– A compõe-se de B e C.
– A é definido como B e C.
Diagramas de Fluxo de Dados (DFD)
• Técnica gráfica que descreve o fluxo de informação
e as transformações que são aplicadas à medida
que os dados se movimentam da entrada para a
saída
• Um sistema baseado em computador é representado
como uma transformação de informação
• Um DFD pode ser entendido como uma rede que
ilustra como circulam os dados no interior de um
sistema.
Análise Estruturada - DFD
• DFD’s são compostos por...
– Processos
• Representado por um círculo, oval...
– Possui um nome associado
» Nome: verbo mais objeto associado
• Representa uma tarefa a ser realizada
• Exemplos de processos
Receber
Pedidos
Atualizar
Saldo
Calcular
Salário
Análise Estruturada - DFD
• Fluxo
– Representado por uma seta que...
• Entra ou sai de um determinado processo.
– Representa como dados fluem entre processos
– Rotulados com o tipo da informação que levam
– Exemplos
Ler Valor
Saque
Valor do Saque
Atualizar
Saldo
Análise Estruturada - DFD
• Fluxos
– Tipos de fluxo
•
•
•
•
Entrada
Saída
Diálogo
Divergente
– Exemplos
• Entrada
Valor do Saque
Atualizar
Saldo
• Fluxos
– Tipos de fluxos
• Saída
Ler Valor
Saque
Valor do Saque
• Diálogo
Verificar
Pedido
Consulta-Situação
Resposta-sobre-situação
Verificar
Situação
• Fluxos
Verificar
Rua
– Tipos de fluxos
• Divergentes
Rua
Verificar
Cidade
Cidade
Endereço do
cliente
CEP
Verificar
CEP
Análise Estruturada - DFD
• Depósito
– Representa um conjunto de dados armazenado
– Nome: Plural do valor armazenado
– Tipos
• Necessário
• Implementação
– Exemplo
Pedidos
Clientes
Análise Estruturada - DFD
• Terminador
– Representam entidades externas ao sistema
– Exemplos
• Usuários
• Outros sistemas
Sistema
Contábil
Balconista
D.F.D. – Diagrama de Fluxo de dados
Quadrado duplo = Entidade Externa/Origem ou
destino de Dados.
Retângulo com cantos arredondados =
Processo que transforma o Fluxo dos Dados.
Elipse = Processo que transforma o Fluxo dos
Dados.
Retângulo aberto = Depósito de Dados
Seta ou vetor = Fluxo de Dados
Análise Estruturada - DFD
Diretrizes Básicas
1) O DFD de nível 0 deve descrever o software como uma única
bolha
2) O input e o output iniciais devem ser cuidadosamente
anotados
3) O refinamento deve iniciar-se isolando-se possíveis
processos, itens de dados e depósitos de dados a serem
representados no próximo nível
4) Todas as setas e bolhas devem ser rotuladas com nomes
significativos
5) A continuidade do fluxo de informação deve ser mantida de
nível em nível.
6) Deve ser refinada uma bolha de cada vez.
ESTRUTURA HIERÁRQUICA
DIAGRAMA DE CONTEXTO
VISÃO GERAL DO PROJETO
DIAGRAMA
DETALHADO
1. 1
1. 2
1. 3
DESCR.
PROCESSO
1. 1
DESCR.
PROCESSO
1. 2
DESCR.
PROCESSO
1. 3
2. 2
2. 1
DESCR.
PROCESSO
2. 1
3. 2
3. 1
DESCR.
PROCESSO
2. 2
DESCR.
PROCESSO
3. 1
DESCR.
PROCESSO
3. 2
9
Exemplo – Cadastro de Empresas
DFD nível 0 – Diagrama de
Contexto
Pedido de Inscrição
Empresa
CNPJ (CGC)
Sistema de
Cadastramento
de Empresas
Relação de
Empresas
Restrições
Ministério da
Fazenda
DFD Nível 1
Empresas Selecionadas
Dados para
CNPJ
CNPJ (CGC)
P4
Emitir CNPJ
Dados da Nova
Empresa
Dados de
Empresas
Pedido de Inscrição
Empresa
P5
Atualizar
Tabela de
Restrições
Cadastro de
Empresas
P1
Verificar pedido
de inscrição
Pedido Aceito
Ministério da
Fazenda
Relação de
Empresas
Restrições em
Vigor
P3
Selecionar
Empresas
Novas
Restrições
Tabela de
Restrições
P2
Cadastrar
Empresas
Restrições
DFD Nível 2 – Explosão do
Processo P1
Cadastro de
Empresas
Dados de Empresa
Pedido completo
P1.2
Verificar
Existência de
Razão social
Pedido Inválido
Pedido de Inscrição
Empresa
P1.1
Verificar
preenchimento
Pedido
Recusado
P1.4
Gerar Ordem
de Devolução
Pedido Válido
Pedido Aceito
Pedido
Indevido
Pedido
incompleto
Pedidos
Rejeitados
P2
Cadastrar
Empresas
Pedidos
Recusados
P1.3
Verificar
Restrições
em vigor
Restrições em
vigor
Tabela de
Restrições
Exemplo: Sistema para hotel
• Exemplo: Software para um hotel
– Requisitos
•
•
•
•
•
Clientes podem reservar e cancelar reservas
Cancelar reserva caso cliente não venha
Registrar um cliente que fez uma reserva
Totalizar a conta de um cliente
Liberar o quarto para novas reservas após a saída
Exemplo – Sistema para hotel
• Eventos
– Cliente reserva/ou cancela um quarto
– Cliente registra-se no hotel
– Cliente dá saída no hotel
– Cliente paga a conta
– Sistema libera o quarto
Exemplo – Diagrama de contexto
Refinamento do Fluxo de Informação
O DFD de nível 0 é dividido em partições para
revelar mais detalhes. A continuidade do fluxo
de informação deve ser mantida
A
A
V
f6
f2
X
f1
W
B
F
f3
X
Y
Z
f4
Y
f5
f41 X1
f42
Z1
Y1
f43
X2
Y2
f44
Z3
f45 Z
Z2
f7
B
DFD de Nível 0
Refinamento do processo P1
Refinamento do processo P1.1
Razões clássicas para usar DFD, cf. (Aktas, 1987):
1. Ajudam o analista a:
• Resumir a informação acerca de como funciona o sistema;
• Compreender os componentes principais do sistema e a
definir funções reutilizáveis;
• Compreender as interdependências entre subsistemas;
• Desenvolver eficientemente uma aplicação
2. Um DFD é uma boa ferramenta de comunicação entre
utilizadores e analistas. Esta comunicação é reconhecida como
vital.
3. Permite obter uma melhor estimativa dos recursos envolvidos
no projeto global, em função dos recursos envolvidos em cada
um dos processos.
Exercício
• Modelar um sistema utilizando:
– Diagrama de Contexto
– DFD Nível 0
– DFD Nível 1
– Sugestões de ferramentas:
•
•
•
•
Smartdraw
EDraw
MS Visio
Flowchart.com (aps_ace / aps_ace)
Download

Aula_04_-_Modelagem_de_Dados