DFDs e DEA's

423 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
423
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
10
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

DFDs e DEA's

  1. 1. Diagramas de Fluxo de Dados •Diagrama de Contexto •Digrama nível 1Dicionários de DadosDiagramas Entidade-Relação
  2. 2. Diagrama de Fluxo de DadosObjectivo: Criar um modelo que represente a circulação da informação através dos principais processos responsáveis pela sua modificação Rui Inácio / António Lima 2
  3. 3. Diagrama de Fluxo de DadosPapel do Analista Envolvendo Compreender o Sistema Utilizador Descrever o Sistema Rui Inácio / António Lima 3
  4. 4. O nível zero – Diagrama de Contexto Define a fronteira do sistema. Mostra a troca de informação entre o sistema e o exterior do sistema. SISTEMA Rui Inácio / António Lima 4
  5. 5. Componentes Nome da Entidade Entidade Externa Verbo imperativo + Processo substantivoNome do Arquivo Arquivo ou Repositório de Dados Nome do Dado Fluxo de Dados Rui Inácio / António Lima 5
  6. 6. Exemplo – “Viagem” bilhete LINHACLIENTE AÉREA ATRIBUIR REVERVApedido de viagem reserva de voo HOTEL reserva de quarto Rui Inácio / António Lima 6
  7. 7. Exemplo – “Viagem”Decomposição em processosde menor complexidade Obter o pedido do cliente Efectuar a reserva no hotel ATRIBUIR Efectuar a reserva na RESERVA companhia de aviação Atribuir bilhete ao Rui Inácio / António Lima cliente 7
  8. 8. Exemplo – “Viagem” bilhete LINHA CLIENTE AÉREA obter atribuir pedido bilhetepedido de viagem reservar reservar voo hotel reserva de voo HOTEL reserva de quarto Rui Inácio / António Lima 8
  9. 9. Exemplo – “Viagem” bilheteCLIENTE LINHA AÉREA obter atribuir pedido bilhetepedido de viagem reservar reservar voo hotel reserva de voo HOTEL reserva de quarto Rui Inácio / António Lima 9
  10. 10. Exemplo – “Viagem” bilhete de atribuir quarto bilhete CLIENTE bilhete pedido bilhete obter de voo de voopedido de pedido reservar reservaviagem de voo pedido de voo alojamento reserva LINHA reservar AÉREA de quarto hotel HOTEL Rui Inácio / António Lima 10
  11. 11. Exemplo – “Viagem”pedido Lista de voos voo seleccionadode voo seleccionar voo Encontrar voos reserva efectuar de voo RESERVA reserva VOO Bilhete de voo reservar voo Rui Inácio / António Lima 11
  12. 12. Exemplo – “Viagem”pedido dealojamento Lista de hotéis seleccionar hotel Encontrar hotel hotéis seleccionado reserva efectuar reserva de quarto de quarto HOTEL RESERVA bilhete de quarto reservar hotel Rui Inácio / António Lima 12
  13. 13. Exemplo – “Viagem”bilhete de quarto bilhete bilhete de voo junção atribuir bilhete Rui Inácio / António Lima 13
  14. 14. Exemplo – “Viagem” bilhete de bilhete quarto CLIENTE pedido bilhete obter de voo de voopedido de pedido reservar reservaviagem de voo pedido de voo alojamento reserva LINHA reservar AÉREA de quarto hotel HOTEL Rui Inácio / António Lima 14
  15. 15. Exemplo – “Viagem” bilhete atribuir bilhete de voo+quarto CLIENTE bilhete pedido bilhete de voo obter RESERVA pedido de voopedido de reservaviagem reservar pedido de voo de voo alojamento bilhete de LINHA quarto reservar reserva AÉREA hotel de quarto HOTEL Rui Inácio / António Lima 15
  16. 16. DFD – Regras para um bom desenhoAssociar um processo a fluxos importados ou exportados dosistema.Desenhar um processo sempre que exista transformação.Identificar conjuntos de informação que o sistema usa eminstantes temporais distintos.Eliminar eventuais fluxos de controlo que existam no modelo.Fluxos que entram ou saem de um processo têm que aparecerrepresentados no nível inferior do diagrama (se existir).Os arquivos aparecem apenas no nível do diagrama que osutiliza Rui Inácio / António Lima 16
  17. 17. Diagrama de Entidade-Associação(DEA)  Também chamado Diagrama de Entidade- Relacionamento (DER)  Utilizado para:  Interagir com o utilizador  Definir relacionamentos entre depósitos de dados Cliente Compra Livro
  18. 18. DEA  Componentes de um DEA  Tipo Objecto (Entidade)  Relacionamento (Associação)  Indicador de tipo objecto associativo  Indicador de supertipo/subtipo  Tipo objecto  Representado por uma caixa rectangular  Representa uma colecção ou conjunto de objectos do mundo real  Objectos são instâncias do tipo  Cada objecto desempenha um papel no sistema e este pode ser:  identificado unicamente  ser descrito por um ou mais elementos de dados
  19. 19. DEA Relacionamento  Representado por um losango  Um relacionamento representa um conjunto de conexões entre objectos  Pode haver mais de um relacionamento entre dois objectos Trata Médico Paciente Cobra
  20. 20. DEA Os relacionamentos podem ser unários, binários, ternários... Curso Tem Prec. Professor Envolve Aluno
  21. 21. DEA Cardinalidade: é o número de objectos de cada tipo objecto que participa no relacionamento Pode ser.  1:1 ; 1:N ; N:1 ; M:N Cliente 1 N Item Compra Professor M N Aluno Ensina
  22. 22. DEATipo objecto (ou entidade): Aluno • Atributo identificador: número_de_matrícula • Atributos descritores: nome, morada, telefone, data_nascimento, curso, sexoInstância de objecto: número_de_inscrição: 11250 nome: João da Silva morada: Areeiro telefone: 8887777 data_nascimento: 01/09/80 curso: eng. informática sexo: m
  23. 23. DEA Instância de uma associação é uma ocorrência de uma ligação entre objectos Cliente compra FilmeInstâncias instâncias Instânciasde Cliente de compra 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
  24. 24. DEA A cardinalidade define os graus máximo e mínimo. O grau máximo de uma associação pode ser: • 1 :1 • 1 :N • N :M  O grau mínimo de uma associação pode ser: • 0 :0 • 0 :1 • 1 :1
  25. 25. DEA Grau máximo:O grau máximo define o número máximo de vezes que umainstância da entidade pode ocorrer na associação.Exemplo: 1 tem Carta de Cliente 1 condução• Uma instância de Cliente pode ocorrer no máximo uma vez• Uma instância de Carta de Condução pode ocorrer no máximo uma vez
  26. 26. DEAExemplo 1: N Aluguer pertence Cliente 1• Um Aluguer pertence a no máximo um Cliente• Um Cliente pode ter vários AlugueresExemplo 2: N Fornecedor fornece Produto M• Um Fornecedor fornece vários Produtos• Um Produto pode ser fornecido vários Fornecedores
  27. 27. DEA O grau mínimo 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.Exemplo: Cliente tem Carta de condução • Carta de condução é opcional: um dado cliente pode não ter carta • Cliente é obrigatório: uma carta de condução pertence no mínimo a um cliente
  28. 28. DEAExemplo: é médico Paciente Médico família Médico é opcional Um Paciente pode não ter médico de família Paciente é opcional Um médico pode não ser médico de família de nenhum Paciente
  29. 29. DEAExemplo: 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
  30. 30. DEA 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. N Fornecedor fornece Produto M 1 Cliente tem Cartão 1Notação alternativa 0..N 0..M Fornecedor fornece Produto 1..1 0..1 Cliente tem Cartão
  31. 31. DEA  Entidade associativa é uma associação com atributos próprios.  Representa uma associação onde desejamos manter alguma informação específica que não pode ser derivada automaticamente pelo sistema M Projecto Funcionário trabalha NContém informação sobre apercentagem de tempo que oempregado dedica a um dado projecto. 1..M 1..N Funcionário Projecto Trabalho
  32. 32. DEA Exemplos de entidades associativas: (0..M) (0..N) Ficheiro Utilizador Atributo específico : tipo da Acesso permissão de acesso (1..M) (0..N) Atleta Competição Atributos específicos : Participação colocação, performance
  33. 33. DEA Indicadores de subtipo e supertipo  Um subtipo é uma especialização do supertipo  Um supertipo é uma generalização do subtipo  O supertipo descreve os elementos de dados comuns a todos os subtipos.  Os atributos de um supertipo são “herdados” pelos subtipos  Cada subtipo é descrito pelos atributos “herdados” do supertipo + atributos específicos  Os subtipos descrevem elementos de dados específicos a um subconjunto das instâncias.  Na notação o supertipo está conectado aos subtipos através de uma associação sem nome e uma linha cortada
  34. 34. DEA Desporto Empregado Desporto Desporto assalariado temporário Individual em EquipaDesporto = nome + local + regras Empregado = nome + endereçoDesporto Individual = recorde Assalariado = salário_mensalDesporto em Equipa = Temporário = salário_hora número_de_jogadores
  35. 35. DEA Figura  Figura = cor + posição_central  Aberta = orientação  Fechada = área  Arco = raio + ângulo Aberta Fechada  Linha = pontos_extremos  Círculo = diâmetro  Polígono = número_de_lados + vérticesArco Linha Círculo Polígono
  36. 36. Construção do DEA1. Identificação das entidades. » depósitos de dados; » depósitos de dados associados a entidades externas; » documentos, formulários, utilizador.2. Identificação das associações: Verificar a descrição dos depósitos de dados do DFD 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 N Fornecedor fornece Produto M
  37. 37. Construção do DEA2.2 Na especificação dos processos. Exemplo: process fornecer; ... If código_fornecedor in Fornecedores = código_ fornecedor in Produtos then ... endproc
  38. 38. Construção do DEA3. Definir os graus máximos e mínimos das associações.4. Especificar os atributos identificadores e os atributos descritores de cada entidade.  Verificar a descrição dos depósitos de dados no DD.5. Completar o dicionário de dados com as descrições das entidades e associações que ainda não estejam lá. Médico trata Paciente Médico = @código_médico + nome + morada + salário Paciente = @código_paciente + BI + nome + sexo + (telefone)
  39. 39. Construção do DEA Observações importantes: 1. Certificar-se de que todos os atributos se aplicam a todas as instâncias de uma entidade. Modelo = @número_modelo + morada + estado_civil + cor_cabelo + cor_olhos + (nome_cônjuge) + sexo + altura + [barba + medida_tórax | medida_quadril + medida_busto] Observa-se que há a necessidade de criar dois subtipos
  40. 40. Construção do DEA Modelo = @número_modelo + nome Modelo + morada + estado_civil + cor_cabelo + cor_olhos + (nome_cônjuge) + altura + tipo-modelo tipo-modelo = [Modelo_feminino | Modelo_masculino] Modelo Modelofeminino masculino Modelo_feminino = @número_modelo + medida_quadril + medida_busto Modelo_masculino = @número_modelo + barba + medida_tórax
  41. 41. Construção do DEA 2. Certificar-se de que quando há entidades diferentes que possuem atributos em comum é possível criar um supertipo Empregado_temporário = @número_empregado + nome + morada + código_postal + telefone + salário_hora + número_horas_extra Empregado_assalariado = @número_empregado + nome + morada + código_postal + telefone + salário_mensal + abono_família + número_filhos EmpregadoEmpregado Empregadotemporário assalariado Empregad Empregado o temporário assalariado
  42. 42. Construção do DEA3. Quando há grupos repetitivos covém criar uma nova entidade e uma nova associação Um grupo repetitivo é um conjunto de atributos cujos valores se repetem para um dado valor do identificador. Empregado = @número_empregado + nome + morada + salário + {nome_filho + sexo_filho + idade_filho} N Empregado tem Filho Empregado = @número_empregado + nome + morada + salário Filho = @Id_filho + nome_filho + sexo_filho + idade_filho + número_empregado
  43. 43. Construção do DEA 4. Existe outra situação bastante comum. Conta = @número-conta + saldo + [juro + período | limite-credito] Conta Conta = @número-conta + saldo Conta-à-ordem= @número-conta + Conta à Conta a limite-crédito Ordem prazo Conta-a-prazo= @número-conta + juro + período Conta_à_ordem = * mesmos atributos que Conta*

×