O documento descreve as ferramentas de análise estruturada utilizadas para construir uma especificação estruturada de um sistema, incluindo dicionário de dados, diagramas entidade-relacionamento, fluxo de dados e português estruturado. O objetivo é modelar os dados do sistema de forma independente de seu processamento para indicar as relações entre os objetos de dados.
1. Ferramentas Estruturadas de Análise
Dicionário de Dados Diagramas
Entidade-Relacionamento
Profa Miriam Sayão
Resumo
Análise Estruturada.
Utilização das Ferramentas: DFD, Dicionário de
Dados, Diagramas E-R, Português Estruturado,
Árvore/Tabela de Decisão.
Objetivo: construir um documento denominado de
Especificação Estruturada.
Identificação de objetos e operações
Análise Gramatical
– Definir “objetos” destacando todos os substantivos na
definição escrita para o escopo do sistema
° Produtores e consumidores de dados
° Locais onde os dados são armazenados
° Itens de dados compostos
– Definir “operações” sublinhando todos os verbos ativos
° Processos relevantes para a aplicação
° Transformações de dados
– Considere outros “serviços” que podem ser requeridos pelos
objetos e não estão apresentados explicitamente na
definição
Diagrama de Fluxo de Dados
- Rede de processos inter-relacionados.
Dicionário de Dados e DER
- Detalham a interface.
Português Estruturado, Árvore de Decisão, Tabela
de Decisão
- Descrição lógica e dos programas de ação.
Elementos da Análise Estruturada
De maneira simplificada, o processo de Análise Estruturada
pode ser descrito como sendo a aplicação dos modelos abaixo:
– Fluxo de Dados
° Fornece a indicação de como os dados são
transformados à medida que se movem pelo sistema.
° Mostra as funções (e sua decomposição).
– Dicionário de Dados
° Mostra a estrutura e composição dos dados.
– Diagramas Entidade-Relacionamento
° Mostra as relações entre os dados.
– Transição de Estados
° Indica como o sistema se comporta em conseqüência de
eventos externos.
Modelagem de Dados
Examina os objetos de dados de maneira
independente do seu processamento.
Atenção especial ao domínio dos dados.
Indica qual a relação entre objetos de dados.
1
2. Dicionário de Dados
Dicionário de Dados
Relação organizada de todos os elementos de dados
pertinentes ao sistema, com definições precisas e
rigorosas.
Gramática “quase-formal” para descrição dos itens
de dados.
Notação útil para descrever dados de controle e
valores permitidos (p.ex: “on” e “off”).
É um repositório que também pode conter
informações sobre “quem-usa” e “como-usa”.
Pode ser representada manualmente, mas é melhor
se apoiada por ferramenta CASE.
Registra todos os fluxos de entrada e saída,
depósitos de dados, fluxos e depósitos de dados
temporários.
Dicionário de Dados
Dicionário de Dados
Descreve o significado dos fluxos de dados e dos
depósitos de dados.
Descreve a composição de dados agregados
Ex.: endereço.
Especifica os valores e unidades relevantes.
Descreve os relacionamentos entre depósitos de
dados (diagramas E/R).
Dicionário de Dados (DD)
Nome: o nome primário do item de dados composto.
Alias: outros nomes pelos quais o item é conhecido.
Usado em: lugares (processos) que utilizam o item
de dado.
Forma de uso: como o item é utilizado (depósito de
dados, entrada ou saída de dados, ...
Descrição: descrição do item de dado composto com
uso da notação apresentada no próximo slide.
Formato: informações específicas sobre tipos de
dados e valores pré-definidos.
simples:
Elementos de dados simples informações que não
necessitam de decomposição.
Elementos de dados compostos: composições de
compostos
elementos de dados simples e/ou outras estruturas
de dados.
Definição do DD: feita de forma TOP-DOWN.
DD: Notação
=
+
()
{}
[]
|
**
@
é composto por
e
opcional
iteração ou repetição
selecionar uma das várias alternativas
separa alternativas quando se usa []
comentário
identificador (chave) de um depósito de dados
2
3. Dicionário de Dados - Exemplos
Nome = título + primeiro-nome + sobrenome
Título = [Sr. |Sra.|Prof. |Profa.|Dr.|Dra.]
Primeiro-nome = 3{caracter-válido}
Sobrenome = 2{caracter-válido}
Caracter-válido = [A-Z | a-z | ‘ | - | ] ط
Endereço = * ainda não definido*
طindica espaço em branco
Dicionário de dados (cont.)
Iteração ou repetição
Pedido = nome-cliente + endereço-de-entrega + {item}
Pedido = nome-cliente + endereço-de-entrega + 1{item}10
a = 1{b}
a = {b}10
a = 1{b}10
a = {b}
Seleção
Sexo = [m | f | o]
Tipo-do-cliente = [governo | indústria | universidade | outro]
Dicionário de dados (cont.)
Sinônimos (alias)
Freguês = * sinônimo de cliente*
Evite o uso excessivo.
Avaliação do DD
Todos os dados do DFD estão definidos?
Todos os elementos do elemento composto foram
definidos?
Há elementos repetidos?
Há elementos que não existem do DFD?
Dicionário de dados (cont.)
Dados elementares → mais nenhuma decomposição
necessária
Ex.: peso, altura.
Dados opcionais
Endereço-cliente = (endereço-de-entrega) +
(endereço-de-cobrança)
Endereço-cliente = [endereço-de-entrega |
endereço-de-cobrança | endereço-de-entrega +
endereço-de-cobrança]
Endereço-cliente = endereço-de-entrega +
(endereço-de-cobrança)
Dicionário de dados (cont.)
Iteração ou repetição
{} indica de 0 a n ocorrências
Coloca-se o caracter @ para o identificador (chave) do
depósito de dados
Exemplo: definição dos depósitos de dados Clientes e
Funcionários
Clientes = { @CPF + Nome + Data-registro + Endereço }
Funcioná
Funcionários = { @Matrícula + Nome + Data-admissão +
endereço + { Telefone + Descrição} + { RG-dependente +
Nome + Data-nascimento }}
Diagramas
Entidade-Relacionamento (DER)
Utilizados para:
Focalizar relacionamentos entre depósitos de
dados;
Definir depósitos de dados;
Interagir com o usuário.
Cliente
Compra
Livro
3
4. DER
DER
Componentes de um DER
Entidades;
Relacionamentos;
Atributos.
Entidade
Representada por uma caixa retangular;
Representa uma coleção ou conjunto de objetos do mundo
real;
Nome deve ser um substantivo no singular, acompanhado ou
não de qualificador;
Cada entidade desempenha um papel no sistema e deve ser
:
Identificada unicamente;
Ser descrita por um ou mais elementos de dados.
DER
Trata
Paciente
Médico
Cobra
DER
Os relacionamentos podem ser unários, binários,
ternários...
Pessoa
Relacionamentos
Representados por losangos;
Nome pode ser verbo ou substantivo;
Um relacionamento representa um conjunto de conexões
entre entidades;
Pode haver mais de um relacionamento entre dois objetos.
casamento
Cardinalidade: é o número de entidades de cada tipo
que participa no relacionamento.
Pode ser:
1:1 ; 1:N ; N:1 ; M:N
Outras possibilidades: 3..4: 0..N ; 3, 5: 0..1
Cliente
Tipo entidade:
Atributo identificador:
número_de_matrícula
N
Item
M
Ministra
N
Disciplina
DER
Aluno
Atributos descritores:
:
nome, endereço, telefone, data_nascimento, curso, sexo
Instância de entidade:
número_de_matricula: 11250
nome: João da Silva
endereço: Av. Ipiranga, 6681
telefone: 8887777
data_nascimento: 01/09/80
curso: Eng. De Computação
sexo: m
•
Compra
Professor
DER
1
Instância de uma associação é uma ocorrência de uma
ligação entre entidades
Cliente
Instâncias
de Cliente
compra
Filme
Instâncias
de compra
Instâncias
de Filme
C1
F1
C2
F2
C3
F3
C4
4 instâncias de Cliente
3 instâncias de Filme
3 instâncias da associação compra
4
5. DER
DER
A cardinalidade define os graus máximo e mínimo.
O grau máximo de uma associação pode ser:
•• 1 :: 1
1 1
•• 1 ::N
1 N
Grau máximo:
O grau máximo define o número máximo de vezes que
O grau máximo define o número máximo de vezes que
uma instância da entidade pode ocorrer na associação.
uma instância da entidade pode ocorrer na associação.
Exemplo:
•• N :: M
N M
• O grau mínimo de uma associação pode ser:
•
•• 0 :: 0
0 0
tem
1
Carteira de
habilitação
Uma instância de Cliente pode ocorrer no máximo uma vez
Um Cliente tem zero ou uma Carteira de habilitação
•• 0 :: 1
0 1
•
•• 1 :: 1
1 1
Uma instância de Carteira de Habilitação pode ocorrer no máximo uma
vez
Uma Carteira de Habilitação pertence a zero ou um Cliente
DER
DER
Exemplo 1:
Aluguel
N
pertence
•
Um Aluguel pertence a no máximo um Cliente
•
1
O grau mínimo define o número mínimo de vezes que
mí
uma instância pode ocorrer na associação.
Cliente
Um Cliente pode ter vários Aluguéis
Se é zero diz-se opcional, se é um diz-se obrigatória.
Exemplo:
Exemplo 2:
Fornecedor
1
Cliente
Cliente
N
fornece
M
Produto
tem
Carteira de Habilitação
•
•
• Um Fornecedor fornece vários Produtos
Carteira de Habilitação é opcional: um dado cliente pode não ter
carteira.
Cliente é obrigatório: uma carteira de Habilitação pertence no
mínimo a um cliente.
• Um Produto pode ser fornecido por vários Fornecedores
DER
DER
Exemplo:
Médico
é médico
família
Doente
Médico é opcional
Um doente pode não ter médico de família
Doente é opcional
Um médico pode não ser médico de família de
nenhum doente
Exemplo:
Fornecedor
fornece
Produto
Fornecedor é obrigatório
Um fornecedor fornece no mínimo um produto
Produto é obrigatório
Todo produto é fornecido no mínimo por um fornecedor
5
6. DER
DER
Os graus máximo e mínimo de uma relação
Os graus máximo e mínimo de uma relação
complementam-se e servem para especificar a política
complementam-se e servem para especificar a política
da organização no que se refere aos dados.
da organização no que se refere aos dados.
Fornecedor
N
Produto
fornece
M
1
Cliente
Cartão
tem
1
Notaç
Notação alternativa: (min, max)
Fornecedor
(1..N)
(1..1)
Cliente
(1..M)
fornece
(0..1)
tem
Produto
(0..M)
Acessível_por
(0..N)
Usuário
tipo da permissão de acesso
(1..M)
inscrição
nome
Participa
(0..N)
N
Contém informação sobre a
porcentagem de tempo que o
empregado dedica a um dado
projeto.
Funcionário
(1..M)
trabalha
(1..N)
Projeto
esporte
colocação
categoria
performance
Construção do DER
Identificaç
associaç
2. Identificação das associações:
2.1 Verificar a descrição dos depósitos de dados no DD
Exemplo:
:
Fornecedores = {Fornecedor + {código_produto}}
Fornecedor = @código_fornecedor + nome + morada +
número_contribuinte
Produtos = {Produto + 1{código_fornecedor}}
Produto = @código_produto + descrição + peso + cor
N
fornece
1. Identificação das entidades
Identificaç
»
depó
depósitos de dados;
»
depó
depósitos de dados associados a entidades externas;
»
formulá
documentos, formulários, utilizador.
Competição
Construção do DER
Fornecedor
Projeto
trabalha
Construção do DER
Exemplos de associações com atributos
Atleta
Funcionário M
Cartão
DER
Arquivo
Uma associação possui atributos próprios, que são
informações específicas que não podem ser derivadas
automaticamente pelo sistema.
M
Produto
2.2 Verificar a especificação dos processos.
Exemplo:
processo fornecer;
...
Se código_fornecedor in Fornecedores =
código_ fornecedor in Produtos então
...
fim_proc
6
7. Construção do DER
3. Definir os graus máximos e mínimos das associações
má
mí
associaç
4. Especificar os atributos identificadores e os atributos
descritores de cada entidade
Verificar a descrição dos depósitos de dados no DD.
Atributos identificadores são registrados como
círculo preenchido.
Demais atributos são registrados como círculo
não-preenchido .
Construção do DER
5. Completar o dicionário de dados com as descrições das
dicioná
descriç
entidades e associações que ainda não estejam
associaç
presentes
Médico
trata
Paciente
Médico = @código_médico + nome + endereço +
salário
Paciente = @código_paciente + BI + nome + sexo +
(telefone)
Trata = @paciente _médico
paciente_médico = código_ paciente + código_médico
Referências
Análise Estruturada Moderna – Álvaro Rocha – notas
de aula.
Análise Estruturada – João Araújo – notas de aula.
Análise e Projeto de Sistemas – William S. Davis –
Editora LTC.
7