SlideShare una empresa de Scribd logo
1 de 43
Descargar para leer sin conexión
Diagramas de Fluxo de Dados
  •Diagrama de Contexto
  •Digrama nível 1
Dicionários de Dados
Diagramas Entidade-Relação
Diagrama de Fluxo de Dados

Objectivo:
 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
Diagrama de Fluxo de Dados

Papel do Analista

                                           Envolvendo




        Compreender o Sistema
                                                        Utilizador
        Descrever o Sistema




               Rui Inácio / António Lima                             3
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
Componentes
 Nome da          Entidade
 Entidade         Externa


                                          Verbo imperativo
                                          +                     Processo
                                          substantivo




Nome do Arquivo   Arquivo ou Repositório de Dados


                                      Nome do Dado           Fluxo de Dados


                  Rui Inácio / António Lima                                   5
Exemplo – “Viagem”

               bilhete                             LINHA
CLIENTE
                                                   AÉREA


                                ATRIBUIR
                                REVERVA
pedido de viagem                           reserva de voo




       HOTEL
                       reserva de quarto


          Rui Inácio / António Lima                         6
Exemplo – “Viagem”
Decomposição em processos
de 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
Exemplo – “Viagem”
                   bilhete                                     LINHA
  CLIENTE                                                      AÉREA

                              obter              atribuir
                              pedido             bilhete
pedido de viagem

                                                  reservar
                                   reservar
                                                  voo
                                   hotel                     reserva de voo

          HOTEL                  reserva de quarto



                     Rui Inácio / António Lima                                8
Exemplo – “Viagem”
               bilhete
CLIENTE                                                       LINHA
                                                              AÉREA

                            obter              atribuir
                            pedido             bilhete

pedido de viagem
                                                reservar
                                 reservar       voo
                                 hotel
                                                           reserva de voo

       HOTEL
                       reserva de quarto



                   Rui Inácio / António Lima                                9
Exemplo – “Viagem”
                                                             bilhete de
                                             atribuir        quarto
                          bilhete
 CLIENTE                                     bilhete

                                    pedido         bilhete
               obter
                                    de voo         de voo
pedido de      pedido
                                                reservar     reserva
viagem                                                       de voo
                        pedido de               voo
                        alojamento

                              reserva                           LINHA
              reservar                                          AÉREA
                              de quarto
              hotel                          HOTEL


            Rui Inácio / António Lima                                     10
Exemplo – “Viagem”

pedido              Lista de voos                           voo seleccionado
de voo                                     seleccionar
                                               voo

    Encontrar
      voos                                                              reserva
                                                           efectuar     de voo
                              RESERVA                      reserva


         VOO                                     Bilhete
                                                 de voo
                                                                      reservar voo



               Rui Inácio / António Lima                                          11
Exemplo – “Viagem”

pedido de
alojamento       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
Exemplo – “Viagem”


bilhete de quarto                           bilhete




                               bilhete de voo
                                                      junção

                                                      atribuir
                                                      bilhete




                Rui Inácio / António Lima                        13
Exemplo – “Viagem”
                                                          bilhete
                                                          de
                        bilhete                           quarto
 CLIENTE

                                  pedido       bilhete
              obter
                                  de voo       de voo
pedido de     pedido
                                            reservar     reserva
viagem                                                   de voo
                      pedido de             voo
                      alojamento

                            reserva                        LINHA
             reservar                                      AÉREA
                            de quarto
             hotel                         HOTEL



            Rui Inácio / António Lima                               14
Exemplo – “Viagem”

                 bilhete                  atribuir      bilhete de voo+quarto
 CLIENTE                                  bilhete

                        pedido                       bilhete de voo
          obter                                                          RESERVA
          pedido        de voo
pedido de                                                   reserva
viagem                                       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
DFD – Regras para um bom desenho
Associar um processo a fluxos importados ou exportados do
sistema.
Desenhar um processo sempre que exista transformação.

Identificar conjuntos de informação que o sistema usa em
instantes temporais distintos.

Eliminar eventuais fluxos de controlo que existam no modelo.

Fluxos que entram ou saem de um processo têm que aparecer
representados no nível inferior do diagrama (se existir).

Os arquivos aparecem apenas no nível do diagrama que os
utiliza

                Rui Inácio / António Lima                      16
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
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
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
DEA
 Os relacionamentos podem ser unários, binários, ternários...




                       Curso        Tem Prec.



         Professor    Envolve       Aluno
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
DEA
Tipo objecto (ou entidade):

                                Aluno
  •    Atributo identificador:
      número_de_matrícula
  •    Atributos descritores:
      nome, morada, telefone, data_nascimento, curso, sexo

Instâ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
DEA
 Instância de uma associação é uma ocorrência de uma
 ligação entre objectos


      Cliente      compra               Filme




Instâncias       instâncias              Instâncias
de 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
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
DEA
 Grau máximo:
O grau máximo define o número máximo de vezes que uma
instâ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
DEA
Exemplo 1:
               N
     Aluguer         pertence            Cliente
                                 1

•   Um Aluguer pertence a no máximo um Cliente
•   Um Cliente pode ter vários Alugueres


Exemplo 2:

               N
     Fornecedor        fornece            Produto
                                     M

• Um Fornecedor fornece vários Produtos
• Um Produto pode ser fornecido vários Fornecedores
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
DEA
Exemplo:
                  é 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
DEA
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
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
                                        1
Notação alternativa
                    0..N             0..M
       Fornecedor          fornece              Produto

                    1..1             0..1
         Cliente            tem                 Cartão
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
                                                          N

Contém informação sobre a
percentagem de tempo que o
empregado dedica a um dado projecto.

                            1..M                   1..N
              Funcionário                                     Projecto



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

            Desporto                         Empregado




   Desporto          Desporto        assalariado       temporário
   Individual        em Equipa


Desporto = nome + local + regras   Empregado = nome + endereço
Desporto Individual = recorde      Assalariado = salário_mensal
Desporto em Equipa =               Temporário = salário_hora
  número_de_jogadores
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értices


Arco     Linha Círculo Polígono
Construção do DEA
1. 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
Construção do DEA

2.2 Na especificação dos processos.
  Exemplo:
  process fornecer;
    ...
    If código_fornecedor in Fornecedores =
    código_ fornecedor in Produtos then
    ...
  endproc
Construção do DEA
3. 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)
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
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      Modelo
feminino    masculino   Modelo_feminino =
                        @número_modelo +
                        medida_quadril + medida_busto

                        Modelo_masculino =
                        @número_modelo + barba +
                        medida_tórax
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
                                           Empregado
Empregado    Empregado
temporário   assalariado

                                                   Empregad
                                    Empregado           o
                                    temporário     assalariado
Construção do DEA
3. 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
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*

Más contenido relacionado

La actualidad más candente

Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoDaniel Brandão
 
SAD - Sistemas de Apoio a Decisoes
SAD - Sistemas de Apoio a DecisoesSAD - Sistemas de Apoio a Decisoes
SAD - Sistemas de Apoio a DecisoesAlexandre Mendes
 
SISTEMAS DE INFORMAÇÃO 1
SISTEMAS DE INFORMAÇÃO 1SISTEMAS DE INFORMAÇÃO 1
SISTEMAS DE INFORMAÇÃO 1R D
 
Informação e Conhecimento nas organizações - Gestão
Informação e Conhecimento nas organizações - GestãoInformação e Conhecimento nas organizações - Gestão
Informação e Conhecimento nas organizações - GestãoLeonardo Moraes
 
Segurança da Informação e Políticas de Segurança
Segurança da Informação e Políticas de SegurançaSegurança da Informação e Políticas de Segurança
Segurança da Informação e Políticas de SegurançaGilberto Sudre
 
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOCOMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOAllan Reis
 
Aula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoAula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoJocelma Rios
 
O que é Business Intelligence (BI)
O que é Business Intelligence (BI)O que é Business Intelligence (BI)
O que é Business Intelligence (BI)Marco Garcia
 
Gestão Da Informação
Gestão Da InformaçãoGestão Da Informação
Gestão Da InformaçãoFelipe Goulart
 
Tipos de organização
Tipos de organizaçãoTipos de organização
Tipos de organizaçãoRobson Costa
 
CRM - Conceitos básicos
CRM - Conceitos básicosCRM - Conceitos básicos
CRM - Conceitos básicosEduardo Greco
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da InformaçãoMarco Mendes
 
Sistemas Transacionais, Gerenciais e Estratégicos
Sistemas Transacionais, Gerenciais e EstratégicosSistemas Transacionais, Gerenciais e Estratégicos
Sistemas Transacionais, Gerenciais e EstratégicosClaudio Barbosa
 
Sistemas de Informações - Aula 07: Sistemas de Processamento de Transações (SPT)
Sistemas de Informações - Aula 07: Sistemas de Processamento de Transações (SPT)Sistemas de Informações - Aula 07: Sistemas de Processamento de Transações (SPT)
Sistemas de Informações - Aula 07: Sistemas de Processamento de Transações (SPT)Marcus Araújo
 

La actualidad más candente (20)

Aula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de InformaçãoAula 01 - Introdução ao Sistema de Informação
Aula 01 - Introdução ao Sistema de Informação
 
SAD - Sistemas de Apoio a Decisoes
SAD - Sistemas de Apoio a DecisoesSAD - Sistemas de Apoio a Decisoes
SAD - Sistemas de Apoio a Decisoes
 
SISTEMAS DE INFORMAÇÃO 1
SISTEMAS DE INFORMAÇÃO 1SISTEMAS DE INFORMAÇÃO 1
SISTEMAS DE INFORMAÇÃO 1
 
Informação e Conhecimento nas organizações - Gestão
Informação e Conhecimento nas organizações - GestãoInformação e Conhecimento nas organizações - Gestão
Informação e Conhecimento nas organizações - Gestão
 
Segurança da Informação e Políticas de Segurança
Segurança da Informação e Políticas de SegurançaSegurança da Informação e Políticas de Segurança
Segurança da Informação e Políticas de Segurança
 
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃOCOMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
COMPUTAÇÃO EM NUVEM: ESTUDO DE CASO EM UMA EMPRESA DE TECNOLOGIA DA INFORMAÇÃO
 
Aula 4 - Sistemas de Informação
Aula 4 - Sistemas de InformaçãoAula 4 - Sistemas de Informação
Aula 4 - Sistemas de Informação
 
O que é Business Intelligence (BI)
O que é Business Intelligence (BI)O que é Business Intelligence (BI)
O que é Business Intelligence (BI)
 
Palestra - Segurança da Informação
Palestra - Segurança da InformaçãoPalestra - Segurança da Informação
Palestra - Segurança da Informação
 
Sistemas de Informação 2 - Aula03 - cap2 parte1
Sistemas de Informação 2 - Aula03 - cap2 parte1Sistemas de Informação 2 - Aula03 - cap2 parte1
Sistemas de Informação 2 - Aula03 - cap2 parte1
 
Gestão Da Informação
Gestão Da InformaçãoGestão Da Informação
Gestão Da Informação
 
SGBD
SGBDSGBD
SGBD
 
Tecnologia da informação aula 1
Tecnologia da informação    aula 1Tecnologia da informação    aula 1
Tecnologia da informação aula 1
 
Sie
SieSie
Sie
 
Tipos de organização
Tipos de organizaçãoTipos de organização
Tipos de organização
 
CRM - Conceitos básicos
CRM - Conceitos básicosCRM - Conceitos básicos
CRM - Conceitos básicos
 
Segurança da Informação
Segurança da InformaçãoSegurança da Informação
Segurança da Informação
 
Sistemas Transacionais, Gerenciais e Estratégicos
Sistemas Transacionais, Gerenciais e EstratégicosSistemas Transacionais, Gerenciais e Estratégicos
Sistemas Transacionais, Gerenciais e Estratégicos
 
SISTEMAS DE INFORMAÇÕES GERENCIAIS
SISTEMAS DE INFORMAÇÕES GERENCIAISSISTEMAS DE INFORMAÇÕES GERENCIAIS
SISTEMAS DE INFORMAÇÕES GERENCIAIS
 
Sistemas de Informações - Aula 07: Sistemas de Processamento de Transações (SPT)
Sistemas de Informações - Aula 07: Sistemas de Processamento de Transações (SPT)Sistemas de Informações - Aula 07: Sistemas de Processamento de Transações (SPT)
Sistemas de Informações - Aula 07: Sistemas de Processamento de Transações (SPT)
 

Destacado

Destacado (7)

Diagramas De Contexto
Diagramas De ContextoDiagramas De Contexto
Diagramas De Contexto
 
7.flujo, comportamiento, patrones y web apps
7.flujo, comportamiento, patrones y web apps7.flujo, comportamiento, patrones y web apps
7.flujo, comportamiento, patrones y web apps
 
Diagrama de Fluxo de Dados
Diagrama de Fluxo de DadosDiagrama de Fluxo de Dados
Diagrama de Fluxo de Dados
 
20 diagrama de contexto
20   diagrama de contexto20   diagrama de contexto
20 diagrama de contexto
 
Diagramas de Fluxo de Dados
Diagramas de Fluxo de DadosDiagramas de Fluxo de Dados
Diagramas de Fluxo de Dados
 
Aula DFD - Revisão
Aula DFD - RevisãoAula DFD - Revisão
Aula DFD - Revisão
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 

DFDs e DEA's

  • 1. Diagramas de Fluxo de Dados •Diagrama de Contexto •Digrama nível 1 Dicionários de Dados Diagramas Entidade-Relação
  • 2. Diagrama de Fluxo de Dados Objectivo:  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. Diagrama de Fluxo de Dados Papel do Analista Envolvendo Compreender o Sistema Utilizador Descrever o Sistema Rui Inácio / António Lima 3
  • 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. Componentes Nome da Entidade Entidade Externa Verbo imperativo + Processo substantivo Nome do Arquivo Arquivo ou Repositório de Dados Nome do Dado Fluxo de Dados Rui Inácio / António Lima 5
  • 6. Exemplo – “Viagem” bilhete LINHA CLIENTE AÉREA ATRIBUIR REVERVA pedido de viagem reserva de voo HOTEL reserva de quarto Rui Inácio / António Lima 6
  • 7. Exemplo – “Viagem” Decomposição em processos de 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. Exemplo – “Viagem” bilhete LINHA CLIENTE AÉREA obter atribuir pedido bilhete pedido de viagem reservar reservar voo hotel reserva de voo HOTEL reserva de quarto Rui Inácio / António Lima 8
  • 9. Exemplo – “Viagem” bilhete CLIENTE LINHA AÉREA obter atribuir pedido bilhete pedido de viagem reservar reservar voo hotel reserva de voo HOTEL reserva de quarto Rui Inácio / António Lima 9
  • 10. Exemplo – “Viagem” bilhete de atribuir quarto bilhete CLIENTE bilhete pedido bilhete obter de voo de voo pedido de pedido reservar reserva viagem de voo pedido de voo alojamento reserva LINHA reservar AÉREA de quarto hotel HOTEL Rui Inácio / António Lima 10
  • 11. Exemplo – “Viagem” pedido Lista de voos voo seleccionado de 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. Exemplo – “Viagem” pedido de alojamento 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. Exemplo – “Viagem” bilhete de quarto bilhete bilhete de voo junção atribuir bilhete Rui Inácio / António Lima 13
  • 14. Exemplo – “Viagem” bilhete de bilhete quarto CLIENTE pedido bilhete obter de voo de voo pedido de pedido reservar reserva viagem de voo pedido de voo alojamento reserva LINHA reservar AÉREA de quarto hotel HOTEL Rui Inácio / António Lima 14
  • 15. Exemplo – “Viagem” bilhete atribuir bilhete de voo+quarto CLIENTE bilhete pedido bilhete de voo obter RESERVA pedido de voo pedido de reserva viagem 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. DFD – Regras para um bom desenho Associar um processo a fluxos importados ou exportados do sistema. Desenhar um processo sempre que exista transformação. Identificar conjuntos de informação que o sistema usa em instantes temporais distintos. Eliminar eventuais fluxos de controlo que existam no modelo. Fluxos que entram ou saem de um processo têm que aparecer representados no nível inferior do diagrama (se existir). Os arquivos aparecem apenas no nível do diagrama que os utiliza Rui Inácio / António Lima 16
  • 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. 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. 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. DEA  Os relacionamentos podem ser unários, binários, ternários... Curso Tem Prec. Professor Envolve Aluno
  • 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. DEA Tipo objecto (ou entidade): Aluno • Atributo identificador: número_de_matrícula • Atributos descritores: nome, morada, telefone, data_nascimento, curso, sexo Instâ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. DEA  Instância de uma associação é uma ocorrência de uma ligação entre objectos Cliente compra Filme Instâncias instâncias Instâncias de 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. 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. DEA  Grau máximo: O grau máximo define o número máximo de vezes que uma instâ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. DEA Exemplo 1: N Aluguer pertence Cliente 1 • Um Aluguer pertence a no máximo um Cliente • Um Cliente pode ter vários Alugueres Exemplo 2: N Fornecedor fornece Produto M • Um Fornecedor fornece vários Produtos • Um Produto pode ser fornecido vários Fornecedores
  • 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. DEA Exemplo: é 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. DEA 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
  • 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 1 Notação alternativa 0..N 0..M Fornecedor fornece Produto 1..1 0..1 Cliente tem Cartão
  • 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 N Contém informação sobre a percentagem de tempo que o empregado dedica a um dado projecto. 1..M 1..N Funcionário Projecto Trabalho
  • 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. 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. DEA Desporto Empregado Desporto Desporto assalariado temporário Individual em Equipa Desporto = nome + local + regras Empregado = nome + endereço Desporto Individual = recorde Assalariado = salário_mensal Desporto em Equipa = Temporário = salário_hora número_de_jogadores
  • 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értices Arco Linha Círculo Polígono
  • 36. Construção do DEA 1. 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. Construção do DEA 2.2 Na especificação dos processos. Exemplo: process fornecer; ... If código_fornecedor in Fornecedores = código_ fornecedor in Produtos then ... endproc
  • 38. Construção do DEA 3. 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. 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. 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 Modelo feminino masculino Modelo_feminino = @número_modelo + medida_quadril + medida_busto Modelo_masculino = @número_modelo + barba + medida_tórax
  • 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 Empregado Empregado Empregado temporário assalariado Empregad Empregado o temporário assalariado
  • 42. Construção do DEA 3. 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. 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*