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

Analise estruturada

  • 1.
    Ferramentas Estruturadas deAná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áriode 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 umDER 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 defineos 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áximoe 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