IES-200 Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Me. Álvaro d Arce alvaro@darce.com.br
Diagrama de Fluxo de Dados 2 Conceitos e regras de um DFD. Diagrama de Fluxo de Dados Análise Essencial: Modelo Comportamental
Diagrama de Fluxo de Dados 3 Ferramenta de análise de sistemas para desenhar os componentes e os dados que passam por eles Primeiro passo na análise estruturada para descrever o fluxo de informação e as transformações que são aplicadas à medida que os dados se movimentam da entrada para a saída Apresenta os processos (funções) e o fluxo de dados entre eles. Ferramenta gráfica: Facilita diálogo entre analistas e usuários. Facilita validação
Diagrama de Fluxo de Dados 4 Permite descrever o sistema com o detalhe que se pretender Permite criar um modelo lógico sem imposições físicas Em alto nível é utilizado para mostrar eventos de negócios e as transações resultantes desses eventos No nível mais baixo é utilizado para representar programas ou módulos destes e o fluxo de dados entre as rotinas
Analista de Sistemas Diagrama de Fluxo de Dados 5 DFD Nível 0 (ou Diagrama de Contexto) Sistema DFD Nível 1 1 2 3 DFD Nível 2 (e assim por diante) 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 Esta é a estrutura de um DFD na Análise Estruturada. Posteriormente, veremos sua estrutura na Análise Essencial.
Diagrama de Fluxo de Dados 6 O Diagrama de Contexto deve descrever o software como um único processo Entidade Externa 1 Fluxos de entrada Sistema Fluxos de saída Entidade Externa 1 Entidade Externa 2 Entidade Externa 2 Entidade Externa 3
Diagrama de Fluxo de Dados 7 boleto bancário Cliente Cliente informações pedido Sistema de Controle de Pedidos dados entrega Depto. Expedição Empresa pedido de inscrição CNPJ Empresa Ministério da Fazenda restrições Sistema de Cadastramento de Empresas relação de empresas Ministério da Fazenda
Diagrama de Fluxo de Dados 8 Processos (funções) Fluxos de dados Depósitos de dados Processo ou Processo Entidades externas Fluxo de dados Depósito de Dados Entidade Externa
Diagrama de Fluxo de Dados 9 Nome da Entidade Elemento externo que envia e recebe informações do sistema pessoas, departamentos, órgãos, sistemas etc. São as fontes ou destinos dos fluxos de dados que chegam e saem do sistema Exemplos: Cliente Empregado Fornecedor Departamento de Contas Receita Federal
Diagrama de Fluxo de Dados 10 Representa as funções que o sistema executa Nome do Processo ou Pode ser comparado a uma caixa preta : Há ligações de entrada e saída da caixa Conhecem-se os elementos de entrada e de saída Sabe-se o que a caixa realiza Não é preciso conhecer como ela realiza as funções Nome do Processo Exemplos: Manter livro Emitir fatura Gerenciar pedido Calcular imposto Gerenciar cliente Calcular média
Diagrama de Fluxo de Dados 11 São condutos que levam informação de um ponto do sistema para outro Mostram como os dados fluem pelo sistema Apresentam os dados em movimento Nome do fluxo Nome do fluxo Nome do fluxo
Diagrama de Fluxo de Dados 12 Exemplo 1 Digitação do resultado das avaliações: Exemplo 2 Acrescentando-se a função Calcular Médias, tem-se o seguinte:
Diagrama de Fluxo de Dados 13 Utilizado para representar/modelar o conjunto de dados armazenados pode representar um banco de dados, um arquivo texto ou um buffer Apresenta os dados em termos estáticos (em repouso) Obs: Normalmente, o nome escolhido para identificar o depósito é o plural do nome dos pacotes transportados pelos fluxos
Diagrama de Fluxo de Dados 14 É necessário que a função Digitar Notas seja executada antes da função Calcular Médias? É necessário que a função Digitar Notas seja executada imediatamente antes da função Calcular Médias? Como resolver essa questão?
Diagrama de Fluxo de Dados 15 Digitando a nota, armazenando-a e utilizando-a posteriormente para calcular a média:
Diagrama de Fluxo de Dados 16 Representações de acesso do fluxo de dados ao depósito de dados Ler/Consultar Incluir Alterar Excluir
Diagrama de Fluxo de Dados 17
Diagrama de Fluxo de Dados 18 Entidade Externa: Substantivo no singular Processo: Número do processo + Verbo no infinitivo + Substantivo (qualificador) Obs: Número não mostra sequência de execução
Diagrama de Fluxo de Dados 19 Depósito de Dados: Substantivo no plural Fluxo de Dados: Substantivo simples ou composto
Diagrama de Fluxo de Dados 20 O nome do processo deve dar ideia de o que faz o processo
Diagrama de Fluxo de Dados 21 Os fluxos de dados representam o deslocamento de informações entre: a) um processo e uma entidade externa b) dois processos c) um processo e um depósito de dados
Diagrama de Fluxo de Dados 22 Não pode existir fluxo de dados entre: a) duas entidades externas b) dois depósitos de dados c) uma entidade externa e um depósito de dados
Diagrama de Fluxo de Dados 23 A continuidade do fluxo de informação deve ser mantida de nível em nível Explosão do processo 1
Diagrama de Fluxo de Dados 24
Diagrama de Fluxo de Dados 25 1. Escolher nomes significativos para os processos, fluxos de dados, depósitos de dados e entidades externas rotular o processo identificando o papel e não a pessoa; utilizar um verbo que represente a ação e um objeto os nomes escolhidos devem provir de um vocabulário conhecido pelo usuário o analista deve ter conhecimento mínimo sobre o domínio
Diagrama de Fluxo de Dados 26 2. Numerar processos uma maneira prática de referenciar os processos de um DFD é numerálos isso não corresponde a uma sequência de execução a numeração dos processos auxilia na identificação de processos de níveis inferiores
Diagrama de Fluxo de Dados 27 3. Evitar DFDs complexos demais o propósito do DFD é modelar corretamente as funções que o sistema deve executar e as interações entre elas, porém deve ser lido e compreendido modelar o DFD em uma série de níveis DFDs de nível inferior oferecem detalhes dos processos de nível imediatamente superior para alguns autores, cada nível deve ter até 6 funções para outros autores, de 5 a 9 funções o refinamento de DFDs ocorre até que sejam alcançadas as funções primitivas
Diagrama de Fluxo de Dados 28 4. Refazer os DFDs tantas vezes quantas forem necessárias até se obter uma boa estética um DFD tecnicamente correto e aceitável pelo cliente
Diagrama de Fluxo de Dados 29 5. Certificar-se de que o DFD seja logicamente consistente [1/2] Evitar poços sem fundos (buracos negros) Processos que têm entradas, mas não têm saídas Evitar processos com geração espontânea Processos que têm saídas, mas não têm entradas
Diagrama de Fluxo de Dados 30 5. Certificar-se de que o DFD seja logicamente consistente [1/2] Cuidado com fluxos e processos sem nome Cuidado com depósitos de apenas leitura ou apenas escrita um depósito típico deve ter entradas e saídas A continuidade do fluxo de informação deve ser mantida a entrada e a saída em cada refinamento devem permanecer a mesma É conveniente que, em cada nível de abstração, as funções estejam em um grau de detalhamento próximo
Modelo Comportamental 31 Análise Estruturada: Diagrama de Fluxo de Dados Análise Essencial: Modelo Comportamental
Modelo Comportamental 32 Definido do ponto de vista interno descreve de que maneira o sistema reage, internamente, aos estímulos vindos do exterior mostra quais as ações que o sistema deve executar para responder, adequadamente, aos eventos previstos no modelo ambiental Componentes do modelo comportamental: Um conjunto completo de Diagramas de Fluxo de Dados (DFDs) em níveis Dicionário de Dados, incluindo um conjunto de especificações de processos primitivos Diagrama Entidade-Relacionamento (DER) Diagramas de Transição de Estados (DTEs)
Modelo Comportamental 33 1. Desenhar o DFD Preliminar A partir do Diagrama de Contexto e da Lista de eventos obtêm-se o particionamento do sistema em funções Para cada evento do sistema desenha-se uma bolha (função/processo) Nome da bolha: de acordo com a resposta que o sistema deve dar ao evento associado normalmente, o nome da ação da lista de evento Desenham-se as entradas e saídas apropriadas de modo que a bolha seja capaz de emitir a resposta necessária Desenham-se os depósitos de dados, como for mais adequado, para comunicação entre as bolhas
Modelo Comportamental 34 2. Desenhar os DFDs de níveis inferiores Partindo do DFD Preliminar, pode-se, usando a abordagem top-down, decompor as funções encontradas para obter os DFDs de níveis mais baixos Via de regra, o nível de abstração mais baixo do DFD é composto apenas por funções primitivas 3. Elaborar o Diagrama Entidade-Relacionamento 4. Elaborar a lógica dos processos em seu último nível de detalhamento
Modelo Comportamental 35 5. Elaborar o Dicionário de Dados 6. Elaborar os Diagramas de Transição de Estados extremamente necessários quando se trata de sistemas em tempo-real Obs: Tais passos não necessariamente precisam ocorrer nessa sequência Ex: Há aqueles que preferem criar o DER antes do DFD para utilizar como depósitos de dados do DFD as entidades do DER
Analista de Sistemas Modelo Comportamental 36 Evento 1 DFD 1 Evento 2 DFD 2 Evento n DFD n Na Análise Essencial, os DFD s são particionados por eventos. Cada DFD de cada evento é explodido até se obter as primitivas funcionais, como veremos a seguir.
Modelo Comportamental 37 Diagrama de Contexto Sistema DFD s Particionados por eventos (Os DFD s são divididos em partições para revelar mais detalhes) 1 2 3 Explosões de processos (DFD s Refinados) 1.1 1.2 1.3 2.1 2.2 2.3 3.1 3.2 Descrição Processo 1.1 Descrição Processo 1.2 Descrição Processo 1.3 Descrição Processo 2.1 Descrição Processo 2.2 Descrição Processo 2.3 Descrição Processo 3.1 Primitivas Funcionais (Ex.: Ler cliente; Gravar cliente; Obter Descrição código do produto Processo etc) 3.2
Modelo Comportamental 38 Nº Evento Descrição Estímulo Ações Respostas Externas 1 Cliente reserva quarto O cliente fornece seu telefone e tipo de quarto. Se houver disponibilidade de quarto para o período desejado é efetuada a reserva, caso contrário, informa-se a indisponibilidade. pedido_reserva Reservar quarto msg_quarto_reservado ou msg_quarto_indisponivel
Modelo Comportamental 39
Modelo Comportamental 40 Nº Evento Descrição Estímulo Ações Respostas Externas 2 Cliente cancela reserva Quando o cliente pede o cancelamento de sua reserva, automaticamente o quarto é liberado para uma próxima reserva. pedido_ cancelamento_ reserva Cancelar reserva
Modelo Comportamental 41 Nº Evento Descrição Estímulo Ações Respostas Externas 3 Hora de cancelar reserva Todos os dias às 12hs, o quarto é liberado para um nova reserva caso o cliente não tenha comparecido para a hospedagem Cancelar não comparecimento
Modelo Comportamental 42 Nº Evento Descrição Estímulo Ações Respostas Externas 4 Cliente registrase no hotel O cliente chega ao hotel e caso tenha reserva em seu nome, preenche o check in e se hospeda, caso contrário, a hospedagem não é efetuada. dados_ cliente Registrar hospedagem do cliente msg_cliente_rejeitado ou msg_cliente_registrado
Modelo Comportamental 43
Modelo Comportamental 44 Nº Evento Descrição Estímulo Ações Respostas Externas 5 Cliente solicita saída do hotel É registrada a saída do cliente, a conta é emitida e o quarto é liberado para a limpeza. pedido_ saida Providenciar saída do cliente conta_cliente
Modelo Comportamental 45
Modelo Comportamental 46 Nº Evento Descrição Estímulo Ações Respostas Externas 6 Cliente paga a conta Ao efetuar o pagamento, ele fica registrado e é emitido um recibo de pagamento. pagto_ conta Efetuar pagto conta recibo
Modelo Comportamental 47 Nº Evento Descrição Estímulo Ações Respostas Externas 7 Gerente disponibiliza o quarto O gerente disponibiliza o quarto para uma nova hospedagem/reserva. ger_ disp_ quarto Dispponibilizar quarto
Modelo Comportamental 48 Elaborar os DFD s particionado e refinado para uma Locadora de Filmes