You are on page 1of 28

FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I

1
Apostila2-AESI-FAP.doc

ANÁLISE ESTRUTURADA DE SISTEMAS I – 2o período – Sistemas de
Informação (2008/2)

ETAPA DE PROJETO E IMPLEMENTAÇÃO DO SISTEMA

Depois que o levantamento de dados relativo ao sistema foi efetuado e verificou-se
que o sistema é viável, o analista passa para a fase de análise do sistema. Nesta fase
deverá ser definido o que terá que ser feito, ou seja, é o momento de determinar o
modelo lógico do sistema.

Durante a fase de análise o analista deverá elaborar os seguintes documentos:
diagrama de fluxo de dados, diagrama de contexto, diagrama de entidade-
relacionamento, diagrama geral do sistema e dicionário de dados. Estes documentos
servirão de base para a fase seguinte do ciclo de desenvolvimento de sistemas, ou
seja, a fase projeto.

1. DIAGRAMA DE FLUXO DE DADOS (por Edward Yourdon)

O diagrama de fluxo de dados é uma ferramenta de modelagem que nos permite
imaginar um sistema como uma rede de processos funcionais, interligados por "dutos"
e "tanques de armazenamento" de dados. Na literatura do processamento de dados, e
em suas conversas com outros analistas de sistemas e usuários, você pode usar
qualquer um dos termos abaixo como sinônimo de diagrama de fluxo de dados:

• Diagrama de bolhas
• DFD (abreviatura)
• Modelo de processo
• Diagrama de fluxo de trabalho
• Modelo funcional

O diagrama de fluxo de dados é uma das mais utilizadas ferramentas de modelagem
de sistemas, principalmente para sistemas operativos nos quais as funções do sistema
sejam de fundamental importância.

1.1 OS COMPONENTES DE UM DFD

A figura 1 mostra um DFD típico de um pequeno sistema. Antes de analisarmos seus
componentes em detalhe, observe que:

• Ele não precisa de explicações; basta olharmos para ele para compreendê-lo.
Isso é especialmente importante quando lembramos quem supostamente
examinará a figura - não o analista de sistemas, mas o usuário.

• O diagrama acomoda-se facilmente em uma página.

Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.com.br 2º
BIMESTRE

FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I
2

pedidos
inválidos
DEPÓSITO
CLIENTES PEDIDOS

detalhes de detalhes de
livros
pedidos remessas
pedidos

nome do cliente,
1. endereço do cliente 2.
RECEBER REMETER
informações
PEDIDOS LIVROS
de
cobranças
CLIENT ES

nome do cliente,
FATURAS endereço do cliente
livros
f aturas,
declarações
detalhes de 3.
faturas COLETAR
PAGAMEN- pagamentos,
consultas
CLIENT ES
TOS

Figura 1 – Um DFD típico

Os componentes de um DFD são: processo, fluxo, depósito e fluxo. A seguir
explicaremos cada um deles.

• Processo: o primeiro componente de um DFD é conhecido como processo. Os
sinônimos mais conhecidos são bolha, função e transformação. 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. O processo é representado
graficamente por um círculo, como se vê na figura 2(a). Alguns analistas de
sistemas preferem usar um oval, ou um retângulo de vértices curvos, como
mostrado na figura 2(b); outros preferem ainda um retângulo, como na figura 2(c).
As diferenças entre esses três formatos são puramente cosméticas, embora seja
obviamente importante utilizar o mesmo formato de maneira consistente para
representar todas as funções do sistema. Em nossos exercícios utilizaremos a
representação da figura 2(a).

O processo é denominado ou descrito em uma sentença simples. O nome do
processo descreverá o que o processo faz e é composto por uma frase constituída
de um verbo e de um objeto, como VALIDAR ENTRADA ou CALCULAR VALOR
DO IMPOSTO.

CALCULAR CALCULAR CALCULAR
IMPOSTO IMPOSTO IMPOSTO
SOBRE SOBRE SOBRE
VENDAS VENDAS VENDAS

Figura 2(a) – Exemplo de processo Figura 2(b) – Representação Figura 2(c) - Outra
alternativa de um processo representação de um
processo

• Fluxo: um fluxo é graficamente representado por uma seta que entra ou sai de
um processo; a figura 3 representa um exemplo de fluxo. O fluxo é utilizado para
mostrar o movimento de fragmentos ou de pacotes de informações de um ponto a

Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.com.br 2º
BIMESTRE

Desse modo. Os terminadores representam entidades externas com as quais o sistema se comunica. Tipicamente. consulta de cliente Figura 3 – Um exemplo de fluxo O nome do fluxo representa o significado do pacote que se move pelo fluxo. uma atualização ou possivelmente uma eliminação. O fluxo também mostra direção: uma seta em uma das extremidades do fluxo (ou em ambas) indica se os dados entram ou saem do processo (ou as duas coisas). como na figura 4(a). Por isso. não necessariamente. D1 PEDIDOS PEDIDOS PEDIDOS Figura 4(a) – Representação Figura 4(b) – Uma representação Figura 4(c) – Outra gráfica de um depósito alternativa para um depósito representação gráfica de um depósito • Terminador: o componente seguinte do DFD é o terminador. esses fluxos. uma organização externa ou uma empresa do governo ou um grupo ou setor que esteja dentro da mesma companhia ou organização. algum outro sistema de processamento com o qual nosso sistema se comunicará. o terminador pode ser outro sistema. o contexto em que um depósito se apresenta em um DFD é um (ou ambos) dos seguintes: • Um fluxo de um depósito • Um fluxo para um depósito Um fluxo que parte de um depósito é interpretado como uma leitura ou um acesso feito às informações desse depósito. ele é graficamente representado por um retângulo. o fluxo representa dados em movimento. por exemplo. FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 3 outro do sistema. Dessa maneira. enquanto os depósitos representam dados em repouso. DEPARTAMENTO DE CONTABILIDADE Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. o terminador é uma pessoa ou um grupo de pessoas. precisam ser rotulados. por exemplo. Normalmente o nome escolhido para identificar o depósito é o plural do nome dos pacotes transportados pelos fluxos para dentro e para fora do depósito. Em alguns casos. outra representação é mostrada na figura 4(c). Um fluxo para um depósito é descrito como uma escrita. mas fora do controle do sistema que está sendo modelado. como mostrado na figura 5.com. Os depósitos são interligados aos processos por fluxos.br 2º BIMESTRE . A representação para um depósito são duas linhas paralelas. • Depósito: o depósito é utilizado para se modelar uma coleção de pacotes de dados em repouso. uma notação alternativa é mostrada na figura 4(b).

com.br 2º BIMESTRE .FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 4 Figura 5 – Representação gráfica de um terminador Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.

os fluxos que interligam os terminadores aos diversos processos de nosso sistema representam a interface entre o sistema e o mundo externo. que exige um objeto) e um objeto adequado formando uma sentença descritiva do processo. os terminadores são realmente parte do sistema e devem ser modelados como processos. então. Fluxos. 3.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 5 Existem três importantes aspectos a serem lembrados sobre terminadores: 1. empregar um verbo que represente ação (um verbo transitivo.2 DIRETRIZES PARA ELABORAÇÃO DE UM DFD Existem algumas diretrizes adicionais necessárias para utilizar DFD com sucesso. 2. por definição. Qualquer relacionamento existente entre terminadores não será mostrado no DFD. O analista de sistemas não pode modificar o conteúdo. Eles são externos ao sistema que estamos modelando. eles não fazem parte do sistema que estamos estudando. fluxos. portanto com mais possibilidade de serem examinados com atenção pelo usuário. As diretrizes são as seguintes: • Escolher nomes significativos para os processos. • Refazer o DFD tantas vezes quantas forem necessárias até obter uma boa estética. Eis alguns exemplos de nomes de processos: • CALCULAR TRAJETÓRIA DO MÍSSIL • PRODUZIR RELATÓRIO DE INVENTÁRIO • VALIDAR NÚMERO DE TELEFONE • DESIGNAR ALUNOS PARA SALAS Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. • Evitar DFD complexos demais. por definição. • Escolher Nomes Significativos para os Processos. • Certificar-se de que o DFD seja internamente consistente além de manter a consistência com os outros DFD. se existirem relacionamentos entre terminadores e for essencial que o analista de sistemas os modele para documentar de forma correta os requisitos do sistema. • Numerar os processos. Algumas dessas diretrizes o auxiliarão a não construir DFD incorretos (isto é. Inversamente. depósitos e terminadores.com.br 2º BIMESTRE . ou a organização ou os procedimentos relativos aos terminadores. Isto é. mas. 1. incompletos ou logicamente inconsistentes) e algumas outras se destinam a ajudá-lo a desenhar DFD agradáveis à vista e. Alguns relacionamentos desse tipo podem existir de fato. Depósitos e Terminadores Um bom método para nomes de processos é utilizar um verbo e um objeto.

da esquerda para a direita. Isso significa que o DFD deve ser prontamente compreendido.com. • Refazer o DFD Tantas Vezes Quantas Forem Necessárias Em um projeto de análise de sistemas do mundo real. devemos numerar cada bolha. depósitos e terminadores. Porém um outro objetivo do DFD é ser lido e compreendido. mas também pelos usuários que são os conhecedores do assunto correlacionado. ou de outra maneira qualquer . • Evitar DFD Complexos Demais O propósito de um DFD é modelar corretamente as funções que um sistema deve executar e as interações entre elas. Não importa a maneira de fazer isso . • Numerar os Processos Como um método prático de referências os processos de um DFD. • Certificar-se de que o DFD Seja Logicamente Consistente Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. até que esteja (1) tecnicamente correto. Isto acontecerá naturalmente se o DFD for desenhado como resultado de uma série de entrevistas com o usuário e se o analista de sistemas tiver um mínimo conhecimento do objeto subjacente da aplicação. Eis alguns exemplos de maus nomes de processos: FAZER SERVIÇO • FUNÇÕES DIVERSAS • MANIPULAR ENTRADA • CUIDAR DOS CLIENTES • PROCESSAR DADOS • EDIÇÃO GERAL Os nomes escolhidos para os processos (e também para os fluxos e os terminadores) devem provir de um vocabulário conhecido pelo usuário.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 6 Quando são utilizados verbos do tipo "elástico" (verbos cujo sentido pode ser estendido para significar quase tudo). para os eventuais leitores do seu DFD. refeito e novamente refeito. A única coisa que você deve ter em mente é que o esquema de numeração implicará. por dez ou mais vezes. A maioria dos casos isso quer dizer que não se deve incluir mais de meia dúzia de processos e depósitos. (2) aceitável pelo usuário e (3) tão bem desenhado que você não fique constrangido em mostrá-lo à junta de diretores de sua empresa. facilmente absorvido e agradável aos olhos. o DFD terá de ser feito. Não crie um DFD com demasiados processos. não somente pelo analista de sistemas que elaborou o modelo. uma determinada seqüência de execução. fluxos e terminadores a eles relacionados em um único diagrama.desde que você seja consistente no modo como atribui os números. de baixo para cima. muitas vezes significa que o analista de sistemas não está bem certo de qual função está sendo executada ou que várias funções foram reunidas mas que não o deveriam ser. fluxos.br 2º BIMESTRE .

Isto está descrito no que chamamos de documento de requisitos do sistema. Este relatório será utilizado pelo RH e pelo Gerente Administrativo. EXEMPLO DE UM DFD Para desenharmos um DFD é necessário que tenhamos feito o levantamento de dados do sistema e que saibamos o que o usuário pretende com o sistema que será desenvolvido. nome. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. O sistema deve: • Emitir crachá para os funcionários com os seguintes dados: matrícula. bolhas que têm entradas mas não têm saídas.com. o título do evento e em que cidade foi realizado o evento. um depósito típico deve ter entradas e saídas. . O crachá será emitido pelo RH e será utilizado pelo funcionário.br 2º BIMESTRE . • Emitir relatório de funcionários com nome do departamento. As principais diretrizes para a consistência são estas: • Evite os poços sem fundo. nome do departamento. Isso geralmente é sinal de desatenção. DOCUMENTO DE REQUISITOS A empresa XYZ Ltda deseja um sistema para controlar o Departamento de Recursos Humanos (RH). matrícula. • Cuidado com processos sem rótulos.. Entenda-se por evento: cursos. • Cuidado com depósitos de leitura-apenas ou escrita-apenas.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 7 Existem algumas diretrizes que são utilizadas para fazer com que o próprio DFD seja consistente. O relatório deve ser agrupado por departamento. palestras. bolhas que têm saídas mas não entradas são suspeitas e geralmente incorretas. cargo e valor do salário dos funcionários. • Evite bolhas com geração espontânea. descrição do cargo. para identificação do mesmo dentro da empresa. A única exceção a esta diretriz é o depósito externo que serve como interface entre o sistema e o terminador externo. Este relatório será utilizado pelo RH.. • Controlar os eventos que cada funcionário participou: registrar a data de início e do término do evento. número/série da carteira de trabalho. • Emitir relatório dos eventos que o funcionário participou com todos os dados descritos no item anterior. nome. treinamentos. incluindo matrícula e nome do funcionário. Esta diretriz é análoga à diretriz sobre processos de entrada-apenas ou de saída-apenas. mas pode revelar erros mais sérios: às vezes o analista de sistemas omite o rótulo de um processo porque simplesmente não conseguiu encontrar um nome satisfatório.

com. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.br 2º BIMESTRE . Este relatório será utilizado pelo RH. com a data de início. local do evento (cidade). matrícula e nome do funcionário.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 8 • Emitir relatório dos eventos que estão programados para cada funcionário. título do evento.

Emitir funcionários relatório rel eventos eventos eventos realizados realizados func_eventos RH solicita rel.eventos realiz.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 9 DIAGRAMA DE FLUXO DE DADOS (DFD) dados funcionários 1 Cadastrar funcionários funcionários dados eventos 2 eventos Cadastrar eventos RH dados func p/ 3 func_eventos evento Cadastrar funcionários por evento solicita crachá funcionários 3 crachá Emitir Funcionário crachá solicita rel.eventos relatório programados eventos programados Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.eventos 6 programados Emitir rel.funcionários relatório funcionários rel.funcionários RH 4 Emitir rel.funcionários Gerente ADM 5 solicita rel.com.br 2º BIMESTRE .

1.1 3.br 2º BIMESTRE .2. 1 2 O FIGURA 0 SISTEMA 3 4 DIAGRAMA DE CONTEXTO 3. A organização dos níveis de um DFD é mostrada conceitualmente na figura 6. 3. Os números também servem como um meio prático de se relacionar uma bolha com o DFD de nível imediatamente inferior que descreve essa bolha de modo mais completo.3 3.3 DFD COM NÍVEIS O DFD deve ser modelado em uma série de níveis de modo que a cada nível ofereça sucessivamente mais detalhes sobre uma parte do nível que lhe seja superior.4 Figura 6 – Diagramas de fluxo de dados em níveis O DFD de nível mais alto consiste de uma única bolha. As bolhas da figura 3 são numeradas como 3.3 etc. O DFD imediatamente abaixo do diagrama de contexto é conhecido como figura 0.com. os fluxos de dados mostram as interfaces entre o sistema e os terminadores externos. representando o sistema inteiro. As bolhas da figura 2 são numeradas como 2. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. • A bolha 3 da figura 0 está associada ao DFD de nível inferior conhecido como figura 3. Por exemplo: • A bolha 2 da figura 0 está associada ao DFD de nível inferior conhecido como figura 2. 2.2 FIGURA 3 3. Cada uma dessas bolhas deve ser numerada para mais fácil identificação.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 10 1.2.1.3 etc. Esse DFD especial é conhecido como diagrama de contexto. Ele representa a visão de mais alto nível das principais funções do sistema bem como as principais interfaces entre essas funções. 3. 2.

por exemplo. um sistema de médio porte apresenta costumeiramente de três a seis níveis. As bolhas da figura 2. 2. então haverá 343 bolhas no terceiro nível. se você tiver subdividido um sistema grande em três níveis. cada figura tiver sete bolhas. Se uma bolha possuir um nome (e de fato deve possui-lo!). Deve-se ter cautela com pessoas que afirmam que qualquer sistema pode ser modelado em exatamente três níveis . 2. e um sistema grande terá de cinco a oito níveis. 6. Todas as partes do sistema devem ser subdivididas até o mesmo nível de detalhamento? A resposta é "Não".alguém assim também vai tentar vender-lhe a ponte Rio-Niterói. Por outro lado.1.353. um usuário de nível operativo pode querer ver apenas a figura que descreve a área do sistema em que ele esteja interessado. Se. se a bolha 2.2: CALCULAR TAXA DE VENDAS". então esse nome é transportado para a figura de nível imediatamente abaixo. a figura 7(b) mostra dois níveis de um DFD não-equilibrado.2 da figura 2 está associada ao DFD de nível inferior conhecido como figura 2.2.2 são numeradas como 2. lembre-se de que o número total de bolhas cresce exponencialmente quando se passa de um nível para o imediatamente inferior. Como se pode ver.2.2.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 11 • A bolha 2. 5. então faz sentido apresentar-lhe os diagramas na metodologia top-down: começando pelo diagrama de contexto e descendo aos níveis inferiores de maior detalhamento.4. você deve estabelecer pelo menos mais um nível abaixo desse.2.2. Assim.com. esse é um modo bastante direto de se organizar um potencialmente enorme diagrama de fluxo de dados em um grupo de partes manipuláveis. encontram-se provavelmente dois ou três níveis. Como garantir que os níveis dos DFD sejam consistentes entre si? Os fluxos de dados que entram e saem de uma bolha em um nível devem corresponder aos fluxos que entram e saem de uma figura inteira do nível imediatamente inferior que descreve aquela bolha.2 tem o nome CALCULAR TAXA DE VENDAS. 16. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.br 2º BIMESTRE . deve ser rotulada como "figura 2. Algumas partes de um sistema podem ser mais complexas que outras e podem exigir a subdivisão em mais um ou dois níveis. Como saber quantos níveis deve ter um DFD ? Cada figura de DFD deve ter não mais de meia dúzia de bolhas e de depósitos a elas relacionados.2 mais detalhadamente. Mas se alguém quiser ver uma grande parte do sistema ou talvez o sistema inteiro. . Assim. mas o DFD de nível mais baixo ainda contêm 50 bolhas cada um. Como se mostram esses níveis para o usuário? Muitos usuários só desejarão ver um diagrama.2.3 etc. Mas existem algumas coisas que devem ser acrescentadas a essa descrição da subdivisão em níveis: 1.607 de bolhas no nono nível. que subdivide a bolha 2. 2. Um usuário executivo de alto nível pode querer ver apenas o diagrama de contexto ou talvez a figura 0. então a figura 2. A figura 7(a) mostra um exemplo de diagrama de fluxo de dados equilibrado.807 bolhas no quinto nível e 40. Existem diretrizes sobre o número de níveis que devem ser esperados em um sistema típico? Em um sistema simples.

mostre-o novamente em CADA diagrama de nível inferior que descreva (ou subdivida) as bolhas interfaceadas.com.3 3. Pode-se imaginar começar pelo diagrama de contexto e depois desenvolver a figura 0 e.2 O B Y A X SISTEMA 3 Z 4 3.2 D O B Y A X SISTEMA 3 Z 4 3. A X A. A e B. descer metodicamente aos níveis inferiores de detalhamento.1 X B A. A figura 8 mostra um depósito compartilhado por dois processos de alto nível.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 12 A X 1 2 B 3. Como realmente se faz a subdivisão dos DFD em níveis? A abordagem top-down é intuitivamente muito atraente. Entretanto. em seguida. existem problemas nessa Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.3 3. que ampliam a descrição de A e B. o depósito seria novamente mostrado nas figuras de nível mais baixo.2 Figura 8 – A exibição de depósitos nos níveis inferiores 8.1 3.1 3. Como mostrar depósitos nos diversos níveis? Esta é uma área em que a redundância é deliberadamente introduzida no modelo.4 C Z Y C DIAGRAMA DE FIGURA 3 CONTEXTO FIGURA 0 Figura 7(b) – Um fragmento de DFD desequilibrado 7. A diretriz é a seguinte: mostre um depósito no nível mais alto onde ele serve primeiramente como interface entre duas ou mais bolhas.br 2º BIMESTRE .2 B. em seguida.1 X B.4 C Z Y C DIAGRAMA DE FIGURA 0 FIGURA 3 CONTEXTO Figura 7(a) – Um fragmento de DFD equilibrado A P 1 2 B 3.

O DFD possuirá a figura 0. a figura 1 (onde serão representados os cadastros) e a figura 2 (onde serão representados os relatórios). só que dessa vez o DFD será desenhado com níveis. EXEMPLO DE UM DFD COM NÍVEIS Vamos usar o mesmo exemplo utilizado anteriormente.funcionários Gerente ADM crachá Funcionário Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 13 abordagem. DIAGRAMA DE FLUXO DE DADOS FIGURA 0 dados cadastrais 1 Efetuar cadastros func_eventos RH solicita relatórios funcionários eventos 2 relatórios Emitir relatórios rel.br 2º BIMESTRE .com. uma abordagem mais bem-sucedida é identificar primeiramente os eventos externos aos quais o sistema deve reagir e usar esses eventos para criar um esboço do DFD.

br 2º BIMESTRE .1 funcionários Cadastrar funcionários 1.2 dados eventos RH eventos Cadastrar eventos dados func/evento 1.com.3 Cadastrar funcionários func_eventos por evento funcionários Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 14 FIGURA 1: EFETUAR CADASTROS dados funcionários 1.

eventos realizados funcionários realizados eventos RH solicita rel.1 Emitir crachá solicita crachá funcionários solicita rel.com.3 solicita rel.2 rel.4 programados Emitir relatório eventos rel.funcionários RH 2.funcionários Emitir relatório funcionários rel.funcionários Gerente ADM 2.eventos programados programados Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.eventos realizados Emitir relatório eventos func_eventos rel.br 2º BIMESTRE .eventos 2.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 15 FIGURA 2: EMITIR RELATÓRIOS crachá Funcionário 2.

FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 16 2. no qual uma única bolha representa o sistema inteiro. DIAGRAMA DE CONTEXTO (Edward Yourdon) O diagrama de contexto é um caso especial do diagrama de fluxo de dados. • Os depósitos de dados que são compartilhados por nosso sistema e os terminadores. depósitos de dados (somente externos) e um único processo representando todo o sistema. O nome dentro da bolha é normalmente o nome do sistema ou um “apelido” convencionado para o sistema. organizações ou sistemas com os quais nosso sistema comunica- se. 2.1 A CONSTRUÇÃO DO DIAGRAMA DE CONTEXTO O diagrama de contexto compõe-se de terminadores. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.br 2º BIMESTRE . Esses elementos são conhecidos como terminadores. Estudaremos cada um deles a seguir: O processo consiste em uma única bolha. • Os dados produzidos pelo nosso sistema e enviados para o mundo exterior. • Os dados que nosso sistema recebe do mundo exterior e que devem ser processados de alguma maneira. Exemplo de um diagrama de contexto para um sistema de pedidos de livros: pedidos de GRÁFICAS CLIENT ES reimpressão pedidos livros que chegam ao depósito fatura Sistema de Pedidos de situação de Livros crédito fatura DIREÇÃO relatórios de CONTABILIDADE vendas O diagrama de contexto realça diversas características importantes do sistema: • As pessoas.com. fluxos de dados. Esses depósitos de dados ou são criados na parte externa do sistema e usados por nosso sistema ou são criados por nosso sistema e usados externamente ao sistema.

uma convenção alternativa é representar os terminadores duplicados com uma linha diagonal. como mostrado na figura 2. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. no caso mais extremo. Eles comunicam-se diretamente com o sistema através de fluxos de dados ou através de depósitos de dados externos. pode ser conveniente desenhar o terminador mais de uma vez. o da própria organização. AJAX LTDA. Os terminadores são representados por um retângulo. o nome do processo seria. Para evitar um diagrama desnecessariamente congestionado. o novo sistema pode representar toda uma organização. Alguns terminadores podem ter um grande número de entradas e saídas.com.br 2º BIMESTRE . Observe que os terminadores duplicados são marcados com um asterisco.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 17 Sistema PROJETO de GX-20 Contabilidade E. CLIENTE AJAX LTDA pedido AJAX Dados Pesquisa Mercado LTDA FIRMAS DE PESQUISA Três outras observações devem ser feitas sobre os terminadores: 1. normalmente. nesse casos. como mostrado na figura 1.

com. desse modo. e vice-versa. é mais significativo apresentar os vários papéis que João Souza desempenha. 2. CLIENTE Figura 2 – Convenção alternativa para representar repetição. é preferível indicar o papel que a pessoa desempenha. mesmo que ocorram mudanças no pessoal. a figura 3a é melhor que a figura 3b.br 2º BIMESTRE . Quando o terminador é uma só pessoa. E. segundo. ENCARREGADO JOÃO SOUZA DE REMESSAS Figura 3a Figura 3b 3. Existem dois motivos para isso: primeiro. Todos os terminadores representados no diagrama de contexto devem estar presentes no diagrama de fluxo de dados. * SEGUROS CONTABILIDADE BANCOS Figura 1 – Diagrama de contexto com terminador CLIENTE repetido. cada um como um terminador separado. ao invés de mostrar um terminador rotulado “João Souza” com diversos fluxos não interrelacionados de entrada e de saída. a pessoa que executa o papel pode ser substituída em um determinado momento. uma só pessoa pode desempenhar diversos diferentes papéis no sistema. e é desejável que o diagrama de contexto permaneça estável e correto. Os fluxos mostrados no diagrama de contexto modelam os dados que chegam ao sistema e os que são transportados para fora dele. em vez de indicar a identidade da pessoa. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 18 FORNECEDORES CLIENTE * AGÊNCIA AJAX DE CLIENTE ANÚNCIOS LTDA.

solicita relatórios rel.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 19 EXEMPLO DE UM DIAGRAMA DE CONTEXTO Vamos desenhar o diagrama de contexto do exemplo que utilizamos anteriormente.br 2º BIMESTRE . DIAGRAMA DE CONTEXTO dados cadastrais.com.funcionários RH SISTEMA DE Gerente ADM CONTROLE relatórios DE RH crachá Funcionário Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.

clientes. Produto Venda Cliente 3. um modelo ER é representado graficamente. através de um diagrama de entidade-relacionamento (DER).FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 20 3. ENTIDADE Entidade representa um conjunto de objetos sobre os quais se deseja guardar informações. A técnica de modelagem de dados mais difundida e utilizada é a abordagem entidade- relacionamento (ER). As cardinalidades podem ser: Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. CARDINALIDADE DE RELACIONAMENTO Uma propriedade importante de um relacionamento é a de quantas ocorrências de uma entidade podem estar associadas a uma determinada ocorrência através do relacionamento. sendo que esse nome deve estar no singular. Usualmente. Esses conceitos serão apresentados a seguir. Esta propriedade é chamada de cardinalidade de uma entidade em um relacionamento. 1. CONCEITOS BÁSICOS DE DIAGRAMA DE ENTIDADE- RELACIONAMENTO Neste tópico estudaremos os conceitos básicos de um diagrama de entidade- relacionamento (DER). atributo e entidade associativa. Em um DER. Nesta técnica o modelo de dados é representado através de um modelo entidade-relacionamento (modelo ER).br 2º BIMESTRE . Produto Cliente Venda 2. relacionamento. Alguns conceitos são fundamentais para a construção de um DER: entidade. no próximo semestre.com. será passado somente o que é necessário para que possamos entender o que esse diagrama influencia nos demais diagramas que estudaremos em nossa disciplina de Análise Estruturada de Sistemas. neste momento. cardinalidade de relacionamento. Exemplos de entidades: produtos. Esse assunto será estudado com detalhes na disciplina de Banco de Dados I. Portanto. compras. É representado por um losango. RELACIONAMENTO Relacionamentos são conexões entre duas ou mais entidades. uma entidade é representada através de um retângulo que contém o nome da entidade. ligado por linhas aos retângulos representativos das entidades que participam do relacionamento. vendas.

Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. amanhã. ou seja. três. partimos de determinada entidade e a cardinalidade correspondente a essa entidade é representada no lado oposto. Uma especialidade pode estar relacionada a vários médicos. Para fazermos a leitura do modelo. este relacionamento deve ser nomeado. dois. faz referência a COMPRA. • Uma venda pode estar relacionada a VÁRIOS produtos. • Uma ocorrência de compra está associada a APENAS uma ocorrência de fornecedor (em uma compra é possível ter somente um fornecedor – observe uma nota fiscal.com. a cardinalidade N faz referência a FORNECEDOR. • Um para Muitos – 1:N Exemplo 2: Uma compra pode ter somente 1 N 1 fornecedor relacionado a ela..FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 21 • Um para Um – 1:1 Um cliente pode estar Exemplo1: relacionado a somente 1 1 1 endereço.br 2º BIMESTRE . já a cardinalidade 1. a empresa pode vender para o mesmo cliente hoje. Exemplo 4: N N N 1 Produto prod/venda Venda Cliente Neste exemplo 4 temos que: • Uma venda pode estar relacionada a SOMENTE um cliente. Normalmente o nome do relacionamento é a junção das entidades que o compõe. produtos. no próximo mês e assim por diante. vinte. • Muitos para Muitos – N:N Exemplo 3: Um médico pode estar N N relacionado a várias Médico med_esp Especialidade especialidades. OBSERVAÇÃO: toda vez que tivermos um relacionamento com cardinalidade N:N. no cabeçalho da mesma. Cliente Endereço Um endereço pode ter somente 1 cliente relacionado a ele. como representado no exemplo 3 acima. em uma venda é possível que tenhamos um. No exemplo 2. Isso significa que: • Uma ocorrência de fornecedor pode estar associada a várias ocorrências de compra (o fornecedor poderia estar associado a uma ou mais ocorrências de compra e. há espaço para preencher somente os dados de um fornecedor e não de vários). ou seja. neste caso. Fornecedor Compra Um fornecedor pode estar relacionado a várias compras. ou seja. prevalece o maior valor.. • Um cliente pode estar relacionado a VÁRIAS vendas. . o N)..

5 vendas de 2 unidades desse produto.br 2º BIMESTRE . cód_fornecedor} (FK) estrangeira Chave 5.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 22 • Um produto pode estar relacionado a VÁRIAS vendas. A chave primária (PK) dessa nova entidade normalmente é a concatenação das chaves primárias das entidades Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. sexo} Produto {Código.com. nome. quantidade_estoque} 4. no caso da entidade produto definida acima. iremos sublinhar este(s) atributo(s).2 CHAVE ESTRANGEIRA (FK – FOREIGN KEY) Quando temos um relacionamento com cardinalidade 1:N. marca. CFOP. por exemplo. a empresa tem quantidade 10 em estoque de determinado produto. ENTIDADE ASSOCIATIVA Todo relacionamento N:N dá origem a dois relacionamentos 1:N através de uma nova entidade denominada entidade associativa. Vale ressaltar que toda entidade deve possuir uma chave primária (PK). endereço. Exemplos: Cliente {RG. UF. marca. e-mail} Compra {Numero_NF. razão_social. iremos definir que a chave primária (PK) será o código. Por exemplo: 1 N Fornecedor Compra Fornecedor {Código. Ou seja. Portanto. É possível que ela faça. fone. quantidade_estoque} 4. nesta outra entidade ela é tida como chave estrangeira. a representação fica assim: Produto {Código. 4. a entidade do lado N recebe a chave primária (PK) da entidade do lado 1 como chave estrangeira (FK). ATRIBUTO É uma característica relevante associada a cada ocorrência de entidade ou relacionamento (no caso de relacionamento. quando a chave primária de uma entidade é levada para outra entidade. descrição. Por exemplo. Por exemplo. este somente poderá possuir atributos quando a cardinalidade for N:N). Para indicar qual (is) atributo(s) é a chave primária. descrição. data_compra.1 CHAVE PRIMÁRIA (PK – PRIMARY KEY) É um atributo ou um conjunto de atributos que identificam unicamente uma ocorrência em uma entidade. cidade. CPF.

cód_evento} Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. temos o seguinte DER e Dicionário de Dados Simplificado. DIAGRAMA DE ENTIDADE-RELACIONAMENTO N N Funcionário func_evento Evento Uma outra forma de representar o Der acima é a seguinte: 1 N N 1 func_ evento_ Funcionário Func_Evento Evento func_evento func_evento DICIONÁRIO DE DADOS SIMPLIFICADO • Funcionário {matricula. data_fim. UF. fone_residencial} Especialidade {Código. vlr_salário} • Evento {codigo.com. data_inicio. serie_CT. nome. portanto.br 2º BIMESTRE . No caso do exemplo do sistema para controlar o departamento de Recursos Humanos da empresa XYZ que estamos usando. temos um relacionamento N:N entre médico e especialidade. nome. poderíamos desenhar o DER assim: 1 med_esp/ N N med_esp/ 1 Médico Med_Esp Especialidade medico espec A lista de entidades com as definições dos seus atributos chamaremos de Dicionário de Dados Simplificado. num_CT. CEP. cidade. No exemplo 3. celular. Cód_especialidade} Como foi dito acima. departamento. cargo. titulo. local} FK FK • Func_Evento {matricula.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 23 principais. endereço. o relacionamento N:N dá origem a dois relacionamentos 1:N. Vejamos como ficaria esse exemplo: Exemplo 3: N N Médico med_esp Especialidade O relacionamento méd_esp é uma entidade associativa e deve receber as chaves primárias de Médico e de Especialidade. Médico {CRM. descrição} Méd_esp {CRM.

os seus submódulos e/ou itens.com.br 2º BIMESTRE . apresenta os módulos do sistema.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 24 4. DIAGRAMA GERAL DO SISTEMA Também conhecido por Diagrama de Módulos. as ligações entre eles. Sistema de Controle de Estoque Cadastros Movimentações Relatórios Sair Grupos Compras Gerais Produtos Cadastro Produtos Clientes Pedido Cancelam ento Clientes Fornecedores Pedido Emissão Vendedores Vendedores Pedido Condições de Vendas Produtos Pagamento Cadastro Fornecedores Lista Precos Nota Fiscal Cancelam ento Estoque Atual Nota Fiscal Emissão Produtos mais Nota Fiscal Vendidos Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.

o dicionário fornece ao programador de manutenção uma clara idéia de como um elemento de dados em particular é utilizado. • DOMÍNIOS DISCRETOS  um atributo terá domínio discreto quando ele somente puder assumir valores previamente definidos pelo analista de sistemas. • OBRIGATÓRIO  informar SIM caso seja obrigatório o preenchimento deste campo e colocar NÃO. Caso existam chaves secundárias. Certas informações-chaves terão que ser registradas para cada elemento. caso contrário. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. ou seja. Durante a análise o dicionário de dados ajuda o analista a organizar informações a respeito delas. significa que o campo terá 5 dígitos na parte inteira e dois dígitos na parte decimal. uma descrição textual explicando o atributo. pois alguns bancos de dados não aceitam nomes de atributos acentuados. no quadro de domínio discreto. Para cada elemento. informar o atributo do arquivo em questão que é chave estrangeira e a referência. obrigatoriamente. a chave primária (PK – primary key) do arquivo. caso isto aconteça.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 25 5. data. Quando o campo for do tipo real. colocar o tamanho da parte inteira seguida do sinal de + e o tamanho da parte decimal. Essa informação vai ser utilizada pelo programador quando ele for implementar o programa referente a esta tabela (arquivo). Além disso. arquivo e base de dados durante o projeto do sistema. o dicionário de dados serve de auxílio à memória. hora. informação preciosa quando um programa precisa ser modificado. ou seja. O primeiro índice será. • DESCRIÇÃO  informar. inteiro ou real. de forma clara.. Por exemplo: 5+2. 3. inteiro. • CHAVE(S) ESTRANGEIRA(S)  quando o arquivo possuir chave estrangeira (FK – foreign key). real. Este nome pode ser abreviado. deverá aparecer o atributo. são registradas as seguintes informações: • ATRIBUTO  indica o nome do elemento. os valores que podem ser assumidos pelo atributo e uma descrição explicativa. DICIONÁRIO DE DADOS O dicionário de dados é uma coleção de informações a respeito de dados. Neste caso. • TIPO  indica o tipo do atributo. Evitar usar acentuação. • TAMANHO  Colocar o tamanho do campo quando o mesmo for do tipo caracter.br 2º BIMESTRE . O dicionário de dados pode ser utilizado para gerar formatos de registro. a informação em falta alerta claramente o analista para uma necessidade a conhecer. . em qual arquivo este atributo é chave primária e o nome do atributo. o programa deve emitir uma mensagem de erro.com. Se o campo estiver com SIM. informar como 2. • ÍNDICES  mostrar quais são os índices do arquivo. Durante a implementação o dicionário de dados serve como base comum em relação à qual todos os programadores que estiverem trabalhando em um sistema podem comparar suas descrições de dados. significa que não pode deixar passar com branco ou zero. Após a implementação. O padrão ANSI (American National Standards Institute) determina que os tipos possíveis que um campo pode assumir são: caracter..

e utilizando os nomes e formatos estabelecidos podem economizar ao analista uma boa parcela de trabalho. Em geral. e com níveis ligeiramente diferentes de controle. o dicionário de dados pode ajudar a melhorar as comunicações entre amplos segmentos de uma organização.com. um problema que ocorre quando um elemento de dado determinado estiver armazenado fisicamente em diversos lugares diferentes. sob diversos formatos diferentes. Alguns elementos de dados já existirão. simplesmente pela fixação de um conjunto de definições consistentes para os dados. EXEMPLOS: Entidade Descrição CIDADE Contém as cidades de todos os clientes/fornecedores da empresa. sistemas diferentes terão que ser vinculados ou interfaceados. ATRIBUTOS ATRIBUTO TIPO TAMANHO OBRIGATÓRIO DESCRIÇÃO CÓDIGO Inteiro 4 Sim Código da cidade NM_CID Caracter 50 Sim Nome da cidade DDD_CID Caracter 4 Não DDD da cidade ÍNDICE(S) Nº ATRIBUTO 1 (pk) CÓDIGO Entidade Descrição CLIENTE Contém os clientes da empresa com todos os dados pessoais. Considere.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 26 O dicionário de dados pode ter implicações amplas. Enquanto a nova aplicação estiver sendo desenvolvida. o dicionário de dados pode ajudar o analista a evitar redundância de dados. por exemplo. vários problemas potencialmente graves poderão ser evitados. A um nível mais alto. Ao destacar elementos já existentes. ATRIBUTOS ATRIBUTO TIPO TAMANHO OBRIGATÓRIO DESCRIÇÃO CD_CLI Inteiro 5 Sim Código do cliente NM_CLI Caracter 50 Sim Nome do cliente DT_NASC Data --. um grande programa envolvendo os esforços de diversos programadores.br 2º BIMESTRE . Não Data de nascimento do cliente Sexo do cliente (ver Domínios SEXO_CLI Caracter 1 Sim Discretos) Tipo de cliente (ver Domínios TIPO_CLI Caracter 1 Sim Discretos) END_CLI Caracter 50 Sim Endereço do cliente Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. Se todos os programadores tiverem que desenvolver descrições de dados a partir de um dicionário de dados comum. o analista de sistemas pode conferir os elementos de dados necessários em relação ao dicionário de dados central da organização.

FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 27 COD_CID Inteiro 4 Sim Código da cidade do cliente ÍNDICE(S) Nº ATRIBUTO 1 (pk) CD_CLI DOMÍNIO(S) DISCRETO(S) ATRIBUTO VALORES DESCRIÇÃO M Masculino SEXO_CLI F Feminino F Pessoa Física TIPO_CLI J Pessoa Jurídica CHAVE(S) ESTRANGEIRA(S) ATRIBUTO REFERÊNCIA COD_CID CIDADE. Análise Estruturada Moderna. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap.br 2º BIMESTRE . E.CODIGO BIBLIOGRAFIA YOURDON.com. 1990. Rio de Janeiro: Campus.

com. fazer uma leitura do depósito onde esta chave estrangeira é PK (chave primária). pode-se repetir o terminador ou o depósito de dados. para garantir a integridade da base de dados (integridade referencial). deve-se representar a leitura dos depósitos onde estas informações estão armazenadas. todos os depósitos de dados que aparecem no nível mais inferior devem aparecer também nos níveis superiores. No DFD. sendo que este nome deve ser um verbo (no infinitivo) + um objeto. Caso seja necessário. solicita relatório de leitores). quando estiver sendo efetuado um cadastro de um depósito que possui uma FK (chave estrangeira). 3. • ter um nome.FAP – Faculdade de Apucarana Disciplina: Análise Estruturada de Sistemas I 28 LEMBRETES IMPORTANTES (para desenhar corretamente o DFD) 1. 6. também. No DFD. O mesmo vale para as consultas. No DFD. o nome dos depósitos de dados deve estar no plural. E aí. pode-se desenhar estes depósitos “grudados” e colocar somente um fluxo de leitura saindo. consulta de livros). deve ser evitado o cruzamento de fluxos. em caso de relatórios. Estes são os únicos casos em que é obrigatório colocar nome nos fluxos no DFD. no processo referente ao nível mais baixo. O processo deve: • ter um número que o identifica (este número deve aparecer na parte superior da bolha – dentro da bolha). 2. deve-se. solicita consulta livros. No DFD. obrigatoriamente. O mesmo vale para os terminadores. E todo fluxo que sai do processo para o terminador deve. 7. devem ser verificadas quais informações são pedidas que sejam impressas. para que o desenho não fique complexo demais. Todos os fluxos que saem do terminador para o processo devem ser rotulados (por exemplo: dados de produtos. do primeiro depósito. 4. No DFD em níveis. Se um determinado processo no DFD estiver fazendo leitura ou leitura/gravação de mais de um depósito de dados. obrigatoriamente.br 2º BIMESTRE . 8. Professora: Márcia Cristina Dadalto Pascutti – pascutti@fap. ser rotulado (por exemplo: relatório de leitores. 5.