Alessandro Almeida | www.alessandroalmeida.com
Exemplos de semestres anteriores...
   Bike4Bikers
   Stag&System
   Sispred

   Nas próximas duas semanas vou
    disponibilizar o template da documentação
    (Engenharia de Software) do Projeto
    Integrado
Retomando o raciocínio...
   Ferramenta de modelagem gráfica da
    solução
     Análise Estruturada
   Permite imaginar um sistema como uma rede
    de processos funcionais, interligados por
    dutos e tanques de armazenamentos de
    dados
   Pode ser apresentado para o cliente!
     Se for construído da forma correta, é claro
   Analisando um pouco já é possível entender
   Representação simples
   Intuitivo

   Importante...
     Na construção, lembre-se que o cliente (usuário) é
      quem vai validar
     Ou seja, o cara precisa entender seu desenho
   O DFD pode ser desenhado em uma página
     Seu cliente vai conseguir examinar o diagrama
     sem se confundir!
Entendendo a estrutura – Parte 1
   Primeiro componente de um DFD
   Mostra como uma ou mais entradas são
    convertidas em saídas
   Normalmente, é representado por um círculo
     Mas também pode ser uma elipse ou um
     retângulo
   Exemplo:

                     Validar CPF
   Graficamente representado por uma seta que
    entra ou sai de um processo
   Utilizado para mostrar o movimento de
    fragmentos ou de pacotes de informações de
    um ponto a outro do sistema
     Ou seja, representa os dados em movimento
   Exemplo:
                        situação do
                           pedido
   Modela uma coleção de pacotes de dados em
    repouso
     Ou seja, o banco de dados
   Normalmente, o nome escolhido para
    identificar o depósito é o plural do nome dos
    pacotes transportados pelos fluxos para
    dentro e para fora dos depósitos
   Exemplo:
                       Pedidos
   Representa as entidades externas com as
    quais o sistema se comunica
   Tipicamente, é uma pessoa ou um grupo de
    pessoas
     Mas também pode ser outro sistema com o qual o
     seu sistema vai se comunicar (por exemplo: B2B)
   Exemplo:

                      Clientes
   Diagrama de Fluxo de Dados da preparação
    de um bolo...
   Diagrama de Fluxo de Dados de um processo
    de validação de número de telefone...
Entendendo a estrutura – Parte 2
1.   Escolher nomes significativos para os
     processos, fluxos, depósitos e terminadores
2.   Numerar os processos
3.   Evitar DFDs complexos demais
4.   Refazer o DFD tantas vezes forem
     necessárias, até obter uma boa estética
5.   Certificar-se de que o DFD seja
     internamente consistente, além de manter a
     consistência com outros DFDs
   Rotular os processos de modo a identificar as
    funções que o sistema executa
     Iniciando com um verbo no infinitivo...




                         Validar CPF
   Nomes não recomendados para processos:
       Fazer serviço
       Funções diversas
       Manipular entrada
       Cuidar dos clientes
       Processar dados
       Edição geral
   Os nomes acima podem significar muita coisa...
     Além disso, demonstram que o Analista de Sistemas
        não está certo de qual função está sendo executada
   Facilitam a referência ao processo
     É mais fácil dizer bolha 1 em vez de Editar erros
     de transações e de relatórios
   Facilitam a leitura no detalhamento dos DFDs
     A bolha 2 será detalhada através das bolhas 2.1,
     2.2 e 2.3
   Processo no primeiro nível...
   Processo no segundo nível...
     Qual processo estamos detalhando?
   Um DFD deve ser prontamente
    compreendido, facilmente absorvido e
    agradável aos olhos
     Ou seja, não crie um DFD com diversos processos,
     fluxos, depósitos e terminadores...
   O ideal é que o DFD se ajuste em uma folha
    A4
     Aprenderemos a “quebrar” o DFD em níveis (nível
      0, 1 e 2)
     Lembrem do exemplo anterior
   Refaça o DFD 5, 10 ou 15 vezes até que
    esteja...
     Tecnicamente correto
     Aceitável pelo seu cliente
     Tão bem desenhado que você não fique
     constrangido em mostrá-lo aos diretores da sua
     empresa
   Tome cuidado com...
     Poços sem fundo: Bolhas com fluxo de entrada,
     mas sem fluxo de saída
   Tome cuidado com...
     Bolhas com geração espontânea: Bolhas com
     fluxo de saída, mas sem o fluxo de entrada
   Tome cuidado com...
     Fluxos e processos sem rótulo: Se não conseguiu
     definir um nome satisfatório para o processo ou
     fluxo, pode ser que há algum item implícito no
     sistema que ainda não foi identificado
   Tome cuidado com...
     Depósitos somente leitura ou somente escrita:
     Seu banco de dados somente recebe dados ou
     somente é consultado? Reveja se é assim mesmo
     que funciona...
Revisando e detalhando o DFD...
   Baseados nas dicas da aula de hoje, revisem
    os DFDs iniciados na aula passada
   Quem não iniciou o DFD na aula passada:
    Aproveite para começar!
1.       Comecem a pensar nos processos / módulos
         que irão compor o seu sistema
        Cadastrar funcionários
        Criar prontuário do paciente
        Atualizar estoque
        Gerar relatórios analíticos
        Emitir fatura
        Emitir pedido de fabricação
        Etc...
2.       Quais depósitos de dados serão criados?
         Funcionários
         Mercadorias
         Clientes
         Alunos
         Pacientes
3.   Como os dados irão “fluir” entre os
     processos / funções e depósitos de dados?
alessandro.almeida@uol.com.br
www.slideshare.net/alessandroalmeida

Engenharia de Software I - Aula 11

  • 1.
    Alessandro Almeida |www.alessandroalmeida.com
  • 2.
    Exemplos de semestresanteriores...
  • 3.
    Bike4Bikers  Stag&System  Sispred  Nas próximas duas semanas vou disponibilizar o template da documentação (Engenharia de Software) do Projeto Integrado
  • 4.
  • 5.
    Ferramenta de modelagem gráfica da solução  Análise Estruturada  Permite imaginar um sistema como uma rede de processos funcionais, interligados por dutos e tanques de armazenamentos de dados  Pode ser apresentado para o cliente!  Se for construído da forma correta, é claro
  • 8.
    Analisando um pouco já é possível entender  Representação simples  Intuitivo  Importante...  Na construção, lembre-se que o cliente (usuário) é quem vai validar  Ou seja, o cara precisa entender seu desenho
  • 9.
    O DFD pode ser desenhado em uma página  Seu cliente vai conseguir examinar o diagrama sem se confundir!
  • 10.
  • 11.
    Primeiro componente de um DFD  Mostra como uma ou mais entradas são convertidas em saídas  Normalmente, é representado por um círculo  Mas também pode ser uma elipse ou um retângulo  Exemplo: Validar CPF
  • 12.
    Graficamente representado por uma seta que entra ou sai de um processo  Utilizado para mostrar o movimento de fragmentos ou de pacotes de informações de um ponto a outro do sistema  Ou seja, representa os dados em movimento  Exemplo: situação do pedido
  • 13.
    Modela uma coleção de pacotes de dados em repouso  Ou seja, o banco de dados  Normalmente, o nome escolhido para identificar o depósito é o plural do nome dos pacotes transportados pelos fluxos para dentro e para fora dos depósitos  Exemplo: Pedidos
  • 14.
    Representa as entidades externas com as quais o sistema se comunica  Tipicamente, é uma pessoa ou um grupo de pessoas  Mas também pode ser outro sistema com o qual o seu sistema vai se comunicar (por exemplo: B2B)  Exemplo: Clientes
  • 19.
    Diagrama de Fluxo de Dados da preparação de um bolo...
  • 20.
    Diagrama de Fluxo de Dados de um processo de validação de número de telefone...
  • 21.
  • 22.
    1. Escolher nomes significativos para os processos, fluxos, depósitos e terminadores 2. Numerar os processos 3. Evitar DFDs complexos demais 4. Refazer o DFD tantas vezes forem necessárias, até obter uma boa estética 5. Certificar-se de que o DFD seja internamente consistente, além de manter a consistência com outros DFDs
  • 23.
    Rotular os processos de modo a identificar as funções que o sistema executa  Iniciando com um verbo no infinitivo... Validar CPF
  • 24.
    Nomes não recomendados para processos:  Fazer serviço  Funções diversas  Manipular entrada  Cuidar dos clientes  Processar dados  Edição geral  Os nomes acima podem significar muita coisa...  Além disso, demonstram que o Analista de Sistemas não está certo de qual função está sendo executada
  • 25.
    Facilitam a referência ao processo  É mais fácil dizer bolha 1 em vez de Editar erros de transações e de relatórios  Facilitam a leitura no detalhamento dos DFDs  A bolha 2 será detalhada através das bolhas 2.1, 2.2 e 2.3
  • 26.
    Processo no primeiro nível...
  • 27.
    Processo no segundo nível...  Qual processo estamos detalhando?
  • 28.
    Um DFD deve ser prontamente compreendido, facilmente absorvido e agradável aos olhos  Ou seja, não crie um DFD com diversos processos, fluxos, depósitos e terminadores...  O ideal é que o DFD se ajuste em uma folha A4  Aprenderemos a “quebrar” o DFD em níveis (nível 0, 1 e 2)  Lembrem do exemplo anterior
  • 29.
    Refaça o DFD 5, 10 ou 15 vezes até que esteja...  Tecnicamente correto  Aceitável pelo seu cliente  Tão bem desenhado que você não fique constrangido em mostrá-lo aos diretores da sua empresa
  • 30.
    Tome cuidado com...  Poços sem fundo: Bolhas com fluxo de entrada, mas sem fluxo de saída
  • 31.
    Tome cuidado com...  Bolhas com geração espontânea: Bolhas com fluxo de saída, mas sem o fluxo de entrada
  • 32.
    Tome cuidado com...  Fluxos e processos sem rótulo: Se não conseguiu definir um nome satisfatório para o processo ou fluxo, pode ser que há algum item implícito no sistema que ainda não foi identificado
  • 33.
    Tome cuidado com...  Depósitos somente leitura ou somente escrita: Seu banco de dados somente recebe dados ou somente é consultado? Reveja se é assim mesmo que funciona...
  • 34.
  • 35.
    Baseados nas dicas da aula de hoje, revisem os DFDs iniciados na aula passada  Quem não iniciou o DFD na aula passada: Aproveite para começar!
  • 36.
    1. Comecem a pensar nos processos / módulos que irão compor o seu sistema  Cadastrar funcionários  Criar prontuário do paciente  Atualizar estoque  Gerar relatórios analíticos  Emitir fatura  Emitir pedido de fabricação  Etc...
  • 37.
    2. Quais depósitos de dados serão criados?  Funcionários  Mercadorias  Clientes  Alunos  Pacientes
  • 38.
    3. Como os dados irão “fluir” entre os processos / funções e depósitos de dados?
  • 40.