UFU Universidade Federal de Uberlândia MODELAGEM FUNCIONAL USANDO DIAGRAMA DE FLUXO DE DADOS Professora: Fabíola Gonçalves.
AGENDA Modelos de Sistema Modelo Essencial de um Sistema Diagrama de Fluxo de Dados Exemplos
ANALISE ESTRUTURADA Tem por premissa a representação ordenada por fluxo.. Mostra uma divisão hierárquica, criando níveis de DFD.. Níveis 0, 1.. Ser humano trabalho bem com 7+- 2 atividades.. Mostrado por enumerações, em níveis cada vez menos abstratos Caiu em desuso com paradigma OO, mas.. Trabalho com sistemas legadas
USO DO DIAGRAMA DE FLUXO DE DADOS Diagrama de Fluxo de Dados Modelo Essencial Dicionário de Dados Especificação dos Processos
DIAGRAMA DE FLUXO DE DADOS origem - Tom DeMarco várias notações DeMarco/Yourdon Gane/Sarson extensões para tempo real Ward&Mellor Hatley-Pirbhai
COMPONENTES BÁSICOS: Processo: O processo mostra uma parte do sistema, a que transforma entradas em saídas isto é, mostra como uma ou mais entradas são convertidas em saídas Bolha, função e transformação. Verbo + Substantivos Exemplos:
COMPONENTES BÁSICOS: Fluxo de dados: Um Fluxo é utilizado para mostrar o movimento de fragmentos ou de pacotes de informação de um ponto a outro do sistema. Desse modo o fluxo representa os dados em movimento, enquanto os depósitos, mostrados mais adiante representam os dados em repouso. informação Exemplos: Nome do Funcionário
COMPONENTES BÁSICOS: Tipos de Fluxos:
COMPONENTES BÁSICOS: Depósitos de dados Utilizado para modelar um pacote de dados em repouso Como pudemos observar os depósitos são interligados aos processos por fluxos. Dessa maneira, o contexto em que um depósito se apresenta num DFD é um dos seguintes ou ambos: Um fluxo de um depósito ou Um fluxo para um depósito
COMPONENTES BÁSICOS: Entidade Externas: Participam como origem/destino de informações Entidades externas com as quais o sistema se comunica, podem representar uma pessoa ou grupo de pessoas ou, ainda, uma organização externa.
DIRETRIZES PARA ELABORAÇÃO DE UM DFD Escolher nomes significativos para os processos, fluxos, depósitos e terminadores Numerar os processos Refazer os DFD s tantas vezes quantas forem necessárias até obter um bom entendimento e uma boa estética Evitar DFD s complexos demais Evitar que o DFD seja internamente inconsistente, além de manter a consistência com outros DFD s. Exemplos de bons nomes de Processos: Calcular Trajetória do Míssil, Produzir Relatório de inventário.. Exemplos de maus nomes: Fazer Serviço, Funções Diversas..
ANÁLISE ESSENCIAL:: MODELO ESSENCIAL Foi proposta em 1984 por McMenamim e Palmer para refletir a introdução dos novos conceitos que estavam sendo incorporados à Análise Estruturada Clássica. Especifica o quê o sistema deve fazer, sem determinar como deve ser feito. Apresenta o sistema num nível de abstração completamente independente de restrições tecnológicas. Antes que um sistema seja implementado, é necessário conhecer-se a sua verdadeira essência, não importando saber se sua implementação vai ser manual ou automatizada, e nem mesmo que tipo de hardware ou software vai ser usado. Composta por: modelo ambiental e modelo de comportamento
MODELO ESSENCIAL Modelo ambiental: Define a fronteira entre o sistema e o resto do mundo. Define o que é parte do sistema e o que não é ou seja mapeia as interfaces do sistema com o ambiente onde ele se insere. Componentes do Modelo Ambiental: 1. declaração de propósito 2. lista de eventos 3. diagrama de contexto
MODELO ESSENCIAL::MODELO AMBIENTAL 1. Declaração de Propósito declaração textual, concisa e clara do propósito do sistema não deve detalhar o sistema nem pretender ser abrangente Exemplo: O sistema destina-se a realizar o controle do estoque, registrando todas as compras efetuadas e saídas de materiais. Quando o estoque de um material cair abaixo de um valor mínimo, o sistema deverá sinalizar a necessidade de compra. Ao final do dia, deverá emitir um relatório dos movimentos.
MODELO ESSENCIAL::MODELO AMBIENTAL 2. Lista de eventos Narrativa dos estímulos que acontecem no mundo externo, aos quais o sistema deve responder Não confundir as causas com as consequências Um evento causa: a mudança de estado do sistema a produção de uma informação na interface do sistema
MODELO ESSENCIAL::MODELO AMBIENTAL Classificação dos eventos: Eventos (puros) Eventos de dados Eventos temporais Exemplo: controle de estoque a visita aperta a campainha o almoxarife solicita um item (evento de dados) o comprador informa um lote comprado (evento de dados) chega o final do dia (evento temporal)
MODELO ESSENCIAL::MODELO AMBIENTAL 3. Diagrama de Contexto O DFD de mais alto nível que representa todo o sistema como um único processo é conhecido como diagrama de contexto, e é composto por fluxos de dados que mostram as interfaces entre o sistema e as entidades externas. Um diagrama de contexto permite: identificar os limites dos processos as áreas envolvidas com o processo os relacionamentos com outros processos e elementos externos à empresa (ex.: clientes, fornecedores) mostra características do sistema organizações/sistemas/pessoas que se comunicam com o sistema dados que o sistema absorve e deve processar dados que o sistema gera para o ambiente fronteira do sistema com o ambiente
DIAGRAMA DE CONTEXTO Elementos:
MODELO ESSENCIAL::MODELO COMPORTAMENTAL Define o comportamento das partes internas do sistema necessário para interagir com o ambiente Identifica o processamento dos eventos Composto por: Diagrama de Fluxo de Dados Dicionário de Dados Especificações de Processos
MODELO ESSENCIAL::MODELO COMPORTAMENTAL DFD: Detalhamento do Processo
DFD É ATEMPORAL Quando o dado A chega? Quantos conjuntos de A, B e C são necessários para produzir a resposta X? Qual resposta é gerada antes X ou Y?
MODELO ESSENCIAL::MODELO COMPORTAMENTAL No Dicionário de Dados: número de telefone = {dígito}*8 número válido = {dígito}*8 número inválido = {dígito}*8
DICIONÁRIO DE DADOS Serve para: descrever o significado dos fluxos de dados identificar registros dos depósitos de dados descrever a composição dos dados Fornecer um certo formalismo na representação Notação = é composto por + e ( ) opcional { } repetição * número de repetições [ ] seleção entre alternativas separador de alternativas
DICIONÁRIO DE DADOS: EXEMPLO: NÚMERO DE TELEFONE número de telefone = [extensão local número externo] extensão local = [2001 2002... 2999] número externo = 0 + [número interurb. número local] número interurb. = DDD + número local DDD = 0 + código da cidade número local = prefixo + {dígito} * 4
ESPECIFICAÇÃO DE PROCESSOS Descrição do funcionamento das bolhas primitivas do DFD Formas mais frequentes: descrição narrativa linguagem estruturada pré/pós-condições árvores e tabelas de decisão diagrama de transição de estados
ESPECIFICAÇÃO DE PROCESSOS: LINGUAGEM ESTRUTURADA Pseudocódigo: estruturas enquanto repita... até que se-então-senão caso verbos ler imprimir (escrever) buscar eliminar ordenar
EXEMPLO processo 3.2. Comparar quantidades aguarde ativar_contabilidade para cada item no estoque buscar quantidade_mínima se encontrou então se quantidade < = quantidade_mínima então produto_abaixo_do_mínimo senão escreva mensagem_de_erro
EXEMPLO
ESPECIFICAÇÃO DE PROCESSOS: PRÉ/PÓS- CONDIÇÕES processo 3.2. Comparar quantidades Pré-condição 1: existe quantidade_mínima, maior ou igual a quantidade Pós-condição 1: mensagem estoque_abaixo_do_mínimo emitida Pré-condição 2: não existe quantidade_mínima Pós-condição 2: mensagem mensagem_de_erro emitida
ESPECIFICAÇÃO DE PROCESSOS: FERRAMENTAS PARA DECISÃO Servem para descrever lógicas que envolvem encadeamento de decisões. Tipos: árvore de decisão tabela de decisão
EXEMPLO - ÁRVORE DE DECISÃO Clientes que possuam movimentação superior a R$1 milhão por ano e (tenham bom histórico de pagamentos ou estejam na casa há mais de 20 anos) devem receber tratamento preferencial.
EXEMPLO TABELA DE DECISÃO Clientes que possuam movimentação superior a R$1 milhão por ano e (tenham bom histórico de pagamentos ou estejam na casa há mais de 20 anos) devem receber tratamento preferencial.
OBJETIVOS DAS FERRAMENTAS PARA DECISÃO Identificar condições na especificação Calcular o número de combinações Identificar as ações mencionadas no enunciado Criar tabela vazia e preencher os casos conhecidos Identificar omissões, ambiguidades e contradições Discutir com o usuário
ESPECIFICAÇÃO DE PROCESSOS: DIAGRAMA DE TRANSIÇÃO DE ESTADOS (DTE) Serve para descrever os aspectos dinâmicos do sistema ou dos processos. Elementos básicos: estados transições eventos ações
DIAGRAMA DE TRANSIÇÃO DE ESTADOS (DTE) Exemplo: Máquina de venda automática: aguarda moedas aguarda a seleção do produto devolve o troco, se for o caso devolve o pagamento: se solicitado se o pagamento não for suficiente
EXERCÍCIO O Departamento de Obras Públicas de uma grande cidade decidiu desenvolver um sistema informatizado para identificação e reparo dos buracos da cidade (InfoBuraco). À medida que os buracos são comunicados, recebem um número de identificação e são armazenados por endereço, tamanho (escala relativa de 1 a 100), localização (meio-fio, centro), distrito (a partir do endereço) e prioridade de conserto (a partir do tamanho do buraco). Ordens de serviço são associadas a cada buraco e incluem endereço, número da turma escalada, número de pessoas na turma de conserto, equipamentos, tempo de reparo, quantidade de material utilizado, e custo do conserto. Um outro arquivo armazena informações de danos causados pelo buraco: nome do cidadão,endereço, tipo do dano e valor da indenização. O sistema é on-line.