analise estruturada
TRANSCRIPT
![Page 1: Analise estruturada](https://reader030.vdocuments.site/reader030/viewer/2022020101/559e7f821a28ab351f8b466c/html5/thumbnails/1.jpg)
1
Dicionário de Dados Diagramas Entidade-Relacionamento
Profa Miriam Sayão
Ferramentas Estruturadas de Análise
� 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.
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.
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ãotransformados à 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.
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
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.
![Page 2: Analise estruturada](https://reader030.vdocuments.site/reader030/viewer/2022020101/559e7f821a28ab351f8b466c/html5/thumbnails/2.jpg)
2
Dicionário de Dados
� Relação organizada de todos os elementos de dados pertinentes ao sistema, com definições precisas e rigorosas.
� 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
� 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.
� 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
� Elementos de dados simplesElementos de dados simplesElementos de dados simplesElementos de dados simples: informações que não necessitam de decomposição.
� Elementos de dados compostosElementos de dados compostosElementos de dados compostosElementos de dados compostos: composições de elementos de dados simples e/ou outras estruturas de dados.
� Definição do DD: feita de forma TOP-DOWN.
Dicionário de Dados
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.
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
![Page 3: Analise estruturada](https://reader030.vdocuments.site/reader030/viewer/2022020101/559e7f821a28ab351f8b466c/html5/thumbnails/3.jpg)
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.)
� 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� 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.)
� 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� ClientesClientesClientesClientes = { @CPF + Nome + Data-registro + Endereço }� FuncionFuncionFuncionFuncionááááriosriosriosrios = { @Matrícula + Nome + Data-admissão +
endereço + { Telefone + Descrição} + { RG-dependente + Nome + Data-nascimento }}
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?
Diagramas Entidade-Relacionamento (DER)
� Utilizados para:� Focalizar relacionamentos entre depósitos de
dados;� Definir depósitos de dados;� Interagir com o usuário.
LivroCliente Compra
![Page 4: Analise estruturada](https://reader030.vdocuments.site/reader030/viewer/2022020101/559e7f821a28ab351f8b466c/html5/thumbnails/4.jpg)
4
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� 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.
Médico Paciente
Cobra
Trata
DER
� Os relacionamentos podem ser unários, binários, ternários...Pessoa casamento
DER
� 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 Compra Item1 N
Professor Ministra DisciplinaM N
Tipo entidade:� Atributo identificador:
número_de_matrícula
• Atributos descritores::::nome, endereço, telefone, data_nascimento, curso, sexo
Instância de entidade:número_de_matricula: 11250nome: João da Silvaendereço: Av. Ipiranga, 6681telefone: 8887777data_nascimento: 01/09/80curso: Eng. De Computaçãosexo: m
Aluno
DER� Instância de uma associação é uma ocorrência de uma
ligação entre entidades
DER
4 instâncias de Cliente
3 instâncias de Filme
3 instâncias da associação compra
Instâncias Instâncias Instâncias de Cliente de compra de Filme
C1 F1
C2 F2
C3 F3
C4
Cliente Filmecompra
![Page 5: Analise estruturada](https://reader030.vdocuments.site/reader030/viewer/2022020101/559e7f821a28ab351f8b466c/html5/thumbnails/5.jpg)
5
� A cardinalidade define os graus máximo e mínimo.
� O grau máximo de uma associação pode ser:
DER
• O grau mínimo de uma associação pode ser:
• 1 : 11 : 11 : 11 : 1
• 1 : N1 : N1 : N1 : N
• N : MN : MN : MN : M
•• 1 : 11 : 11 : 11 : 11 : 11 : 11 : 11 : 1
•• 1 : N1 : N1 : N1 : N1 : N1 : N1 : N1 : N
•• N : MN : MN : MN : MN : MN : MN : MN : M
• 0 : 00 : 00 : 00 : 0
• 0 : 10 : 10 : 10 : 1
• 1 : 11 : 11 : 11 : 1
•• 0 : 00 : 00 : 00 : 00 : 00 : 00 : 00 : 0
•• 0 : 10 : 10 : 10 : 10 : 10 : 10 : 10 : 1
•• 1 : 11 : 11 : 11 : 11 : 11 : 11 : 11 : 1
1
1
� Grau máximo:
DER
O grau máximo define o número máximo de vezes que uma instância da entidade pode ocorrer na associação.O grau máximo define o número máximo de vezes que uma instância da entidade pode ocorrer na associação.
Exemplo:
• Uma instância de Cliente pode ocorrer no máximo uma vez
Um Cliente tem zero ou uma Carteira de habilitação
• Uma instância de Carteira de Habilitação pode ocorrer no máximo uma vez
Cliente tem Carteira de habilitação
Uma Carteira de Habilitação pertence a zero ou um Cliente
Exemplo 1:
DER
• Um Aluguel pertence a no máximo um Cliente
• Um Cliente pode ter vários Aluguéis
1
NAluguel pertence Cliente
• Um Fornecedor fornece vários Produtos
• Um Produto pode ser fornecido por vários Fornecedores
M
NFornecedor fornece Produto
Exemplo 2:
� O grau mgrau mgrau mgrau míííínimonimonimonimo define o número mínimo de vezes que uma instância pode ocorrer na associação.
� Se é zero diz-se opcional, se é um diz-se obrigatória.
DER
• 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.
Exemplo:Exemplo:Exemplo:Exemplo:
Cliente tem Carteira de Habilitação
� 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
DER
Médico é médico família
DoenteExemplo:Exemplo:Exemplo:Exemplo:
� Fornecedor é obrigatório
Um fornecedor fornece no mínimo um produto
� Produto é obrigatório
Todo produto é fornecido no mínimo por um fornecedor
DER
Fornecedor fornece ProdutoExemplo:Exemplo:Exemplo:Exemplo:
![Page 6: Analise estruturada](https://reader030.vdocuments.site/reader030/viewer/2022020101/559e7f821a28ab351f8b466c/html5/thumbnails/6.jpg)
6
Os graus máximo e mínimo de uma relação complementam-se e servem para especificar a política da organização no que se refere aos dados.
Os graus máximo e mínimo de uma relação complementam-se e servem para especificar a política da organização no que se refere aos dados.
DER
1
1
M
NFornecedor Produtofornece
Cliente Cartãotem
NotaNotaNotaNotaçççção alternativa: (ão alternativa: (ão alternativa: (ão alternativa: (minminminmin, , , , maxmaxmaxmax))))(1..N)
Fornecedor Produtofornece
Cliente Cartãotem
(1..M)
(1..1) (0..1)
Uma associação possui atributos próprios, que são informações específicas que não podem ser derivadas automaticamente pelo sistema.
DER
Contém informação sobre a porcentagem de tempo que o empregado dedica a um dado projeto.
M
N
(1..M)
Funcionário Projetotrabalha
Funcionário Projetotrabalha (1..N)
DER� Exemplos de associações com atributos
(0..M)Arquivo UsuárioAcessível_por
(0..N)
tipo da permissão de acesso
Participa(1..M)
Atleta Competição(0..N)
colocação
performancenome
inscrição
categoria
esporte
1.1.1.1. IdentificaIdentificaIdentificaIdentificaçççção das entidadesão das entidadesão das entidadesão das entidades» depdepdepdepóóóósitos de dados;sitos de dados;sitos de dados;sitos de dados;» depdepdepdepóóóósitos de dados associados a entidades externas;sitos de dados associados a entidades externas;sitos de dados associados a entidades externas;sitos de dados associados a entidades externas;» documentos, formuldocumentos, formuldocumentos, formuldocumentos, formuláááários, utilizador.rios, utilizador.rios, utilizador.rios, utilizador.
Construção do DER
2. Identifica2. Identifica2. Identifica2. Identificaçççção das associaão das associaão das associaão das associaçççções:ões:ões:õ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_contribuinteProdutos = {Produto + 1{código_fornecedor}}Produto = @código_produto + descrição + peso + cor
N
Fornecedor ProdutoforneceM
Construção do DER
2.2 Verificar a especificação dos processos.Exemplo:processo processo processo processo fornecer;
............SeSeSeSe código_fornecedor inininin Fornecedores ====código_ fornecedor inininin Produtos entãoentãoentãoentão............
fim_procfim_procfim_procfim_proc
Construção do DER
![Page 7: Analise estruturada](https://reader030.vdocuments.site/reader030/viewer/2022020101/559e7f821a28ab351f8b466c/html5/thumbnails/7.jpg)
7
3. Definir os graus mDefinir os graus mDefinir os graus mDefinir os graus mááááximos e mximos e mximos e mximos e míííínimos das associanimos das associanimos das associanimos das associaççççõesõesõesões4. Especificar os atributos identificadores e os atributos Especificar os atributos identificadores e os atributos Especificar os atributos identificadores e os atributos Especificar os atributos identificadores e os atributos
descritores de cada entidadedescritores de cada entidadedescritores de cada entidadedescritores 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 dicionCompletar o dicionCompletar o dicionCompletar o dicionáááário de dados com as descririo de dados com as descririo de dados com as descririo de dados com as descriçççções das ões das ões das ões das entidades e associaentidades e associaentidades e associaentidades e associaçççções que ainda não estejam ões que ainda não estejam ões que ainda não estejam ões que ainda não estejam presentespresentespresentespresentes
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édicopaciente_médico = código_ paciente + código_médico
Construção do DER
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.