Diagrama de Fluxo de Dados & Dicionário de Dados Professor: Jucelito Wainer de Souza Alunos: Pedro Arruda Isis Couto Filipe Luiz e Souza Curso: Ciência da Computação – UGF – 4° período – Candelária Outubro de 2008 Ciência da Computação – UGF – Candelária 1 Tempo de Apresentação Esta apresentação é composta por 13 slides. Tempo estimado de apresentação: 40 minutos. Outubro de 2008 Ciência da Computação – UGF – Candelária 2 Sumário Dicionário de Dados - Definição Dicionário de Dados - Utilização Dicionário de Dados - Notação Principais Componentes Diagrama de Fluxo de Dados – Definição e Utilização Diagrama de Fluxo de Dados - Notação Tipos de Diagramas de Fluxo de Dados Bibliografia Dúvidas Contatos Outubro de 2008 Ciência da Computação – UGF – Candelária 3 Dicionário de Dados - Definição Segundo Chris Gane, podemos definir Dicionários de Dados como “Depósito de dados que descreve a natureza de cada dado usado no sistema.”, ou seja, Dicionário de Dados é uma coleção de vários elementos de dados de um sistema, contendo definições e representações. Outubro de 2008 Ciência da Computação – UGF – Candelária 4 Dicionário de Dados - Utilização Segundo Chris Gane, a utilização do dicionário de dados é solicitada para termos um local estruturado para representações detalhadas de processos, fluxos de dados, depósitos de dados, etc. Outubro de 2008 Ciência da Computação – UGF – Candelária 5 Dicionário de Dados - Notação Existem várias notações diferentes para a construção de um dicionário de dados. Yourdon em seu livro utiliza a seguinte notação: Exemplos: = é composto de + e () opcional (pode estar presente ou ausente) {} iteração [] escolha uma das opções alternativas ** comentário @ identificador (campo chave) de um depósito | separa opções alternativas na construção [ ] Outubro de 2008 titulo = [Sr. | Srta. | Sra. | Srs.] nome_cliente = título + prim_nome + (interm_nome) + ult_nome + (suf_nome) Ciência da Computação – UGF – Candelária 6 Principais Componentes Tanto o dicionário de dados como o Diagrama de Fluxo de Dados podem ser dividido em seis partes básicas, são elas: 1. 2. 3. Elemento de Dados Segundo Cris Gane Elemento de Dados é a menor unidade de dados para o propósito a que se destina. Estrutura de Dados Segundo Chris Gane estrutura de dados são compostas de elementos de dados ou de outras estruturas ou ambas. Fluxo de Dados São descritos como os caminhos por onde transitam as estruturas de dados. De acordo com Chris Gane “Fluxos de dados são estruturas em movimento”. Outubro de 2008 Ciência da Computação – UGF – Candelária 7 Principais Componentes Tanto o dicionário de dados como o Diagrama de Fluxo de Dados podem ser dividido em seis partes básicas, são elas: 4. 5. 6. Depósito de dados Depósitos de dados são descritos como o local onde as estruturas permanecem armazenadas até que sejam requisitadas. Chris Gane os define como estruturas de dados estáticas. Processo São as várias atividades realizadas no sistema. Pode ser definido como um centro de transformação do estado dos dados, onde a estrutura do dado permanece a mesma, porém seu estado muda, atendendo a condição lógica proposta pelo centro de processamento. Entidade Externa ou Agentes Externos Segundo Chris Gane, podemos descrever Entidade Externa como “fonte ou destino de dados em um diagrama de fluxo de dados”, ou seja, são os autores, os componentes externos que alimentam ou recebem alimentação de um sistema. Outubro de 2008 Ciência da Computação – UGF – Candelária 8 Diagrama de Fluxo de Dados – Definição e Utilização Segundo Pressman o objetivo de um Diagrama de Fluxo de Dados (DFD) é descrever, graficamente, o fluxo de informação e as transformações que são aplicados nos dados. Ele pode ser utilizado para representar, em diferentes níveis de abstração, sistemas de informação. Não necessariamente automatizados. Dessa forma, DFDs são utilizados para descrever um sistema em níveis cada vez mais detalhados de informação. Exemplo de uma representação de DFD: Outubro de 2008 Ciência da Computação – UGF – Candelária 9 Diagrama de Fluxo de Dados – Notação No passado existiram duas correntes de símbolos para desenhar DFDs. Os que desenhavam processos como caixas com as bordas arredondadas, baseados na propostade Gane e Sarson [3], e os que desenhavam processos com círculos, baseados na proposta de Coad e Yourdon [4]. Atualmente a forma de Yourdon é a mais difundida no mercado. [3] Outubro de 2008 [4] Ciência da Computação – UGF – Candelária 10 Diagrama de Fluxo de Dados – Notação Figura Outubro de 2008 Descrição Ciência da Computação – UGF – Candelária 11 Diagrama de Fluxo de Dados – Notação Figura Outubro de 2008 Descrição Ciência da Computação – UGF – Candelária 12 Diagrama de Fluxo de Dados – Tipos DFD de Contexto: Em um DFD de Contexto todo o sistema é representado por apenas um processo. Geralmente o DFD de Contexto é o primeiro diagrama de um DFD Nivelado. DFD Nivelado ou Hierárquico: É na verdade um conjunto de vários DFD interligados de forma hierárquica de modo que exista um DFD inicial e que cada DFD além desse possa ser alcançado a partir da expansão sucessiva dos processos em DFDs. DFDs Nivelados são a forma mais tradicional de descrever um sistema de forma topdown em Engenharia de Software. DFD Particionado: Nele são representadas cada atividade essencial como um diagrama isolado, cujo significado será explicado mais tarde. DFDs particionados têm apenas um processo por diagrama, a atividade essencial, que recebe dados de no máximo um agente externo e de uma ou mais memórias. DFD global: é a unificação em um só diagrama de todos os DFDs particionados de um sistema, eliminando as repetições de agentes externos e memórias. pode ser usado como passo intermediário para transformar um DFD particionado em um DFD nivelado. Outubro de 2008 Ciência da Computação – UGF – Candelária 13 Diagrama de Fluxo de Dados – Exemplos DFD de Contexto muito simples: Outubro de 2008 Ciência da Computação – UGF – Candelária 14 Diagrama de Fluxo de Dados – Exemplos DFD Simples: Outubro de 2008 Ciência da Computação – UGF – Candelária 15 Diagrama de Fluxo de Dados – Exemplos Explosão do DFD de Contexto: Outubro de 2008 Ciência da Computação – UGF – Candelária 16 Bibliografia [1] Robertson, S. and Robertson, J., Complete System Analysis New York: Dorser House, 1998. [2]Pressman, R. S., Software Engineering - A Practitioner's Approach New York: McGraw-Hill, Inc., 1992, pp. -792. [3] Gane, C. e Sarson, T., Análise Estruturada de Sistemas Rio de Janeiro: LTC – Livros Técnicos e Científicos Editora S.A,1983. [4] Yourdon, E., Análise Estruturada Moderna Rio de Janeiro: Editora Campus, 1990, pp. -836. Outubro de 2008 Ciência da Computação – UGF – Candelária 17 Dúvidas? Outubro de 2008 Ciência da Computação – UGF – Candelária 18 Contatos Pedro Arruda [email protected] Isis Couto [email protected] Filipe Luiz e Souza [email protected] Outubro de 2008 Ciência da Computação – UGF – Candelária 19 Fim Outubro de 2008 Ciência da Computação – UGF – Candelária 20