You are on page 1of 38

Tcnicas de Anlise de Sistema

Tubaro / Santa Catarina / BRAZIL E-Mail : osmarjr@unisul.rct-sc.br http://tec1.unisul.rct-sc.br/osmarjr/

Sumrio
1. Conceitos Bsicos............................................................................................................................................... 4 1.1 Anlise........................................................................................................................................................... 4 1.2 Processo ........................................................................................................................................................ 4 1.3 Programa ...................................................................................................................................................... 4 1.4 Anlise de Sistemas ....................................................................................................................................... 4 1.5 Sistemas ......................................................................................................................................................... 4 1.5.1 Tipos de Sistemas ................................................................................................................................... 6 2. Anlise Estruturada .......................................................................................................................................... 6 2.1 Anlise Tradicional ....................................................................................................................................... 6 2.1.1 Segunda Gerao .................................................................................................................................... 6 2.1.2 Terceira Gerao .................................................................................................................................... 7 2.2 Relacionamento Usurio e Analista .............................................................................................................. 7 2.3 Problemas com Anlise Clssica(Tradicional) ............................................................................................. 7 2.3.1 Comunicao .......................................................................................................................................... 7 2.3.2 Mudanas naturais exigidas pelo sistema ............................................................................................... 7 2.3.3 Falta de Ferramentas............................................................................................................................... 7 2.3.4 Documentao ........................................................................................................................................ 7 2.3.5 Formao do Profissional ....................................................................................................................... 8 2.3.6 Dificuldade de Fixao do Problema...................................................................................................... 8 2.4 Anlise Tradicional X Anlise Estruturada................................................................................................... 8 2.4.1 Comparao............................................................................................................................................ 8 2.4.2 Objetivos da Anlise Estruturada ........................................................................................................... 8 2.4.3 Conduo do Trabalho de Anlise.......................................................................................................... 9 2.5 Dilogo Usurio X Analista .......................................................................................................................... 9 2.6 As Ferramentas da Anlise Estruturada ....................................................................................................... 9 2.6.1 Diagrama de Fluxo de Dados ................................................................................................................. 9 2.6.2 Dicionrios de Dados ........................................................................................................................... 15 2.6.3 Descrio de Procedimentos................................................................................................................. 17 3. Anlise de Dados.............................................................................................................................................. 19 3.1 Conceitos Bsicos........................................................................................................................................ 19 3.2 Modelo de Dados......................................................................................................................................... 19 3.2.1 O que Modelo de Dados? .................................................................................................................. 19 3.2.2 Componentes do Modelo de Dados...................................................................................................... 21 3.2.3 Tipos de Entidade................................................................................................................................. 23 3.2.4 Tipos de Relacionamento ..................................................................................................................... 24 3.2.5 Tipos de Chave..................................................................................................................................... 25 3.3 Consolidao de Modelos de Dados ........................................................................................................... 25 3.3.1 O que Consolidao? ......................................................................................................................... 26 3.3.2 Trabalhos Executados na Consolidao ............................................................................................... 26 3.4 Normalizao .............................................................................................................................................. 26 3.4.1 O que Normalizao .......................................................................................................................... 26 3.4.2 Anomalias de Atualizao .................................................................................................................... 26 3.4.3 Dependncia Funcional ........................................................................................................................ 26 GEEK BRASIL - http:/www.geekbrasil.com.br 2

3.4.4 Dependncia Funcional Composta ou Completa .................................................................................. 27 3.4.5 Dependncia Funcional Transitiva ....................................................................................................... 28 3.4.6 Primeira Forma Normal (1FN) ............................................................................................................. 28 3.4.7 Segunda Forma Normal (2FN) ............................................................................................................. 29 3.4.8 Terceira Forma Normal (3FN) ............................................................................................................. 30 3.4.9 Simplificao do Processo de Normalizao........................................................................................ 32 3.4.10 Regras Prticas ................................................................................................................................... 32 3.4.11 Exerccios: .......................................................................................................................................... 34 4. Bibliografia ...................................................................................................................................................... 38

GEEK BRASIL - http:/www.geekbrasil.com.br

1. Conceitos Bsicos
1.1 Anlise
Derivado do grego analein - desatar, soltar, significa dissoluo de um conjunto em suas partes. Em sentido amplo, empregam-se os termos anlise e analisar como sinnimos de exame e examinar, pesquisa e pesquisar, verificao e verificar.

1.2 Processo
Srie de fenmenos sucessivos com relao de causa e efeito; por exemplo, uma empresa uma srie de causas (matrias primas, recursos humanos, tecnologia, etc.) que geram um efeito (produtos).

1.3 Programa
Escrito em que se do os pormenores de um espetculo, de uma cerimnia, das condies de um concurso, dos procedimentos para execuo de uma tarefa.

1.4 Anlise de Sistemas

Representa o estudo detalhado de uma rea de trabalho (processo), que antecede uma ao que, quase sempre, implica no desenvolvimento de um conjunto de programas integrados(sistema) destinado execuo controle e acompanhamento do processo.

1.5 Sistemas

Como veremos, existe uma definio oficial do termo sistema no dicionrio, que parecer bastante abstrata. Existem, porm, muitos usos comuns do termo que lhe parecero perfeitamente familiares, e existem muitos tipos comuns de sistemas com que temos contato todos os dias. importante estar familiarizado com diferentes espcies de sistemas por pelo menos dois motivos. Primeiro, mesmo que seu trabalho como analista se concentre em um tipo de sistema - um sistema automatizado de informaes, computadorizado - ele normalmente far parte de um sistema maior. Desse modo, voc pode estar trabalhando em um sistema de pagamentos, que parte de um sistema maior de Recursos Humanos, que, por sua vez, parte da organizao comercial geral ( que constitui um sistema), que , por sua vez, componente de um sistema econmico geral, e assim por diante. Ou voc pode estar trabalhando em um sistema de controle de processos que parte de uma refinaria qumica, ou em um sistema operacional que seja parte de um pacote de software de sistemas distribudos por vendedores. Assim, para que o seus sistema tenha sucesso, preciso conhecer os outros sistemas com os quais ele vai interagir. Muitos dos sistemas de computadores que elaboramos so substituies ou novas implementaes de sistemas no-computadorizados que j existem; alm disso, a maioria dos sistemas computadorizados interage ou tem uma interface com vrios sistemas existentes (alguns podem ser computadorizados ou no). Para que nosso sistema computadorizado seja bem-sucedido, precisamos conhecer, detalhadamente, como o sistema atual se comporta. Em segundo lugar, embora muitos tipos de sistemas paream ser totalmente diferentes, eles tm muitas semelhanas; existem princpios comuns, filosficas e teorias que se aplicam notavelmente bem a virtualmente todos os tipos de sistemas. Assim, podemos muitas vezes aplicar o que aprendemos sobre outros sistemas - com base em
GEEK BRASIL - http:/www.geekbrasil.com.br 4

nossa experincia diria, bem como na experincia de cientistas e engenheiros em diversas reas - aos sistemas que elaboramos na rea da computao. Por exemplo, um dos importantes princpios de sistemas que primeiro foi observado no campo da biologia conhecido como a lei da especializao; quanto mais adaptado for um organismo a um determinado ambiente, mais difcil ser para esse organismo a adaptao a outro. Isso ajuda a explicar o desaparecimento dos dinossauros quando o clima da Terra modificou-se radicalmente; ajuda, tambm, aos analistas de sistemas a compreenderem que se otimizarem um sistema computadorizado de forma a tirar a mxima vantagem de uma determinada UCP, de uma linguagem de programao e de um sistema de gerenciamento de banco de dados, podero vir a ter srios problemas em adaptar o sistema a ser processado em outra UCP ou com um diferente sistema de gerenciamento de banco de dados. Dessa maneira, se conhecermos alguma coisa da teoria geral dos sistemas, ela pode nos ajudar a compreender melhor os sistemas computadorizados (automatizados) de informaes. Isso cada dia mais importante, pois queremos construir sistemas estveis e confiveis, que funcionaro bem em nossa complexa sociedade - e h, naturalmente, muitos sistemas no-computadorizados que vm sobrevivendo por milhes de anos: a humilde barata provavelmente sobreviver a todos os sistemas computadorizados j construdos ou a construir, e a toda a humanidade, tambm. Assim vamos comear com uma definio do termo bsico sistema. 1. um grupo de itens que interagem entre si ou que sejam interdependentes, formando um todo unificado <~numrico> : como a. (1) um grupo de corpos que interagem entre si sob a influncia de foras relacionadas <~gravitacional> (2) uma mistura de substncias em equilbrio ou que tende para o equilbrio <~termodinmico> b. (1) um grupo de rgos do corpo que desempenham, em conjunto, uma ou mais funes vitais < o ~digestivo > (2) o corpo, considerando como uma unidade funcional. c. um grupo de objetos ou foras naturais relacionadas entre si < um ~fluvial > d. um grupo de dispositivos ou uma organizao em rede, principalmente para a distribuio de algum produto ou servindo a um propsito comum < um ~ telefnico > < um ~ de aquecimento> < um ~ rodovirio > < um ~ de processamento de dados > 2. um conjunto organizado de doutrinas, idias ou princpios, habitualmente previsto para explicar a organizao ou funcionamento de um conjunto sistemtico < o ~ da mecnica newtoniana > 3. a. um procedimento organizado ou estabelecido < o ~ de toques da digitao > b. uma maneira de classificar, simbolizar ou esquematizar < um ~ taxonmico > < o ~ decimal > 4. organizao ou modelo: ORDEM 5. sociedade organizada ESTABLISHMENT. ou situao social vista como indesejvel:

GEEK BRASIL - http:/www.geekbrasil.com.br

1.5.1 Tipos de Sistemas 1.5.1.1 Sistemas Naturais


- Sistemas Estelares (galxias, sistemas solares, etc.) - Sistemas Geolgicos (rios, cadeias de montanhas etc.) - Sistemas Moleculares (organizaes complexas de tomos)

1.5.1.2 Sistemas feitos pelo Homem


- Sistemas Sociais(organizaes de leis, doutrinas, costumes, etc.) - Sistemas de Transporte (redes rodovirias, canais, linhas areas, petroleiros, e semelhantes). - Sistemas de Comunicao (Telefone, telex, sinais de fumaa, sinais manuais, etc.) - Sistemas de Manufatura (Fbricas, linhas de montagem, etc.) - Sistemas Financeiros (contabilidade, inventrios, livros-razo, controle de estoque, entre outros)

1.5.1.3 Sistemas Automatizados


- Hardware de computadores - UCP, terminais, impressoras, unidades de fita magnticas, etc. - Software de computadores - programas de sistemas, como sistemas operacionais, sistemas de bancos de dados e programas de controle de telecomunicaes, alm dos programas aplicativos que executam as funes desejadas pelo usurio. - Pessoas - aquelas que operam o sistema, que fornecem as entradas e utilizam as sadas, e as que desempenham atividades de processamento manual em um sistema. - Dados - as informaes que o sistema conserva por um perodo de tempo. - Procedimentos - determinaes e instrues formais para a operao do sistema.

2. Anlise Estruturada
2.1 Anlise Tradicional 2.1.1 Segunda Gerao
At 1965 os computadores de grande porte instalados em nosso pas eram classificados como de segunda gerao, como por exemplo o 1401-IBM. Mximo no desenvolvimento de sistemas, era um sistema de folha de pagamento, e um sistema de controle de estoque. - Folha de pagamento (20 a 24 horas) para classificao de 10 mil funcionrios. - No existia formao profissional. - Sem documentao.

GEEK BRASIL - http:/www.geekbrasil.com.br

2.1.2 Terceira Gerao


- 1965, chegada do COBOL (considerada auto documentvel). - Aumento considervel no nmero de usurios em informtica. - Documentao era compreendida somente pelo profissional que desenvolveu. - A documentao representava somente a parte fsica da aplicao. - As lgicas no existiam em lugar nenhum. O Software e o Hardware tem se desenvolvido de forma acentuada mas a documentao continua em muitos CPDs sem metodologia alguma, visando apenas como feito a aplicao(software), ou seja, uma documentao fsica, dedutiva, difcil manuteno e difcil entendimento.

2.2 Relacionamento Usurio e Analista


- Analista unio entre os usurios e os projetistas. - Concluso da etapa de requisitos funcionais do sistema. - O Analista reponde pelo usurio a qualquer dvida que o projetista vem a ter. - Esta ferramenta, diminui possveis duvidas a serem levantadas durante a fase de projeto. - preciso definir bem as responsabilidades de cada um, O analista responsvel por: estudos de viabilidade e alternativas, custo/benefcios, especificaes, prazos e teste de aceitao, enquanto o usurio o recebedor final do sistema. Este o responsvel pela deciso de integrao do sistema dentro das operaes da empresa, ou no. Somente ele, o usurio pode aceitar o sistema.

2.3 Problemas com Anlise Clssica(Tradicional) 2.3.1 Comunicao


Formas de interpretao diferentes, gerando interpretaes erradas, e que levada adiante continuaro a serem distorcidas cada vez mais. - Uso excessivo de termos tcnicos(AnalistaXUsurio).

2.3.2 Mudanas naturais exigidas pelo sistema


- Maior nas aplicaes comerciais. - Nmero discreto e portarias aplicados pelos governos federal e estadual durante os ltimos anos.

2.3.3 Falta de Ferramentas


- Ferramenta antiquadas de 20 anos atrs. - Utilizando a narrativa proporcionando - Perda de tempo. - +50% das informaes deduzidas pelo profissional de informtica.

2.3.4 Documentao
GEEK BRASIL - http:/www.geekbrasil.com.br 7

- As empresas no adotam um padro. - Existe a figura do Pai do Sistema. - Dificuldade de manter a documentao (o trabalho manuscrito)

2.3.5 Formao do Profissional

- Precria formao profissional na rea de anlise de sistemas. - Adeptos da forma estruturada so submetidos a velha forma tradicional.

2.3.6 Dificuldade de Fixao do Problema


- Com textos narrativos na fase de levantamento das necessidades do usurio +70% das informaes da documentao. - Localizao dos pontos a sofrerem alterao levam muito tempo, sem a certeza de todos os pontos foram alterados.

2.4 Anlise Tradicional X Anlise Estruturada 2.4.1 Comparao


Enquanto na verso clssica qualquer produto final s pode ser analisado numa nica dimenso, na verso estruturada um sistema pode ser analisado na dimenso exata das necessidades, tanto do analista quanto do usurio. Tudo vai depender da viso que o interessado deseja ter do sistema, se mais abrangente ou mais detalhada. A verso clssica totalmente prolixa(muito longa ou difusa), enquanto que a estruturada apresenta e expe o que feito e o que vai ser feito atravs do uso de grficos, o que torna a visualizao e entendimento muito mais claros e objetivos. A verso clssica entra diretamente em detalhes, pelo simples fato que o usurio pensa no computador como a frmula mgica para a soluo de todos os seus problemas. O trabalho de anlise dirigido s vezes at inconscientemente dessa forma. O levantamento feito principalmente a partir dos problemas apresentados pelo usurio, um a um, sem a preocupao do todo. Por ltimo levantando aquilo que na concepo do usurio est bem, sendo que s vezes, o que ia bem, ao ser informatizado passa a ir mal, simplesmente por falta de preocupao dos envolvidos com o todo. Na verso estruturada isso no acontece, pois o trabalho de anlise deve ser dirigido para a ferramenta e esta exige que a anlise deve ser feita de cima para baixo atravs de refinamentos sucessivos at atingir-se os detalhes. Durante a parte de levantamento, no deve existir por parte dos envolvidos analistas/usurios qualquer preocupao com problemas ou erros existentes. Primeiro deve-se construir o modelo lgico existente para em seguida, aps uma anlise conjunta bastante criteriosa, identificarmos os problemas e propormos as devidas solues. Por ltimo, a verso clssica gera um produto monoltico enquanto que a verso estruturada um totalmente particionado, do maior ao menor nvel de detalhe, possibilitando a identificao clara e simples de qualquer parte do sistema, bem como a agregao em pequenos blocos de funes afins.

2.4.2 Objetivos da Anlise Estruturada


O documento a ser padronizado deve ser: - Passvel de manuteno
GEEK BRASIL - http:/www.geekbrasil.com.br 8

- Grfico - Lgico - Rigoroso - Conciso - Legvel Tudo isso deve ser um sub-produto natural do trabalho. Ou seja, terminada a fase de anlise, ningum deve necessitar de mais tempo para preparar a documentao - ela j deve estar concluda.

2.4.3 Conduo do Trabalho de Anlise


A conduo da anlise deve ser: - Dirigida para a Ferramenta - Mensurvel/Pr-Determinada - Divisvel de vital importncia o cuidado de dirigir a anlise para a ferramenta, pois caso contrrio estaremos praticando a verso clssica para, numa segunda etapa, dispor as informaes de forma grfica. Ou seja a anlise deve ser feita de cima para baixo. A preocupao de levantar o que feito pelo usurio deve ser constante e no, medida em que o usurio fala, pensar em como o analista vai mecanizar aquilo, quais vo ser as estruturas dos arquivos fsicos, quais sero os mtodos de acesso e outras preocupaes mais. Estas devero ser objeto de preocupao de quem vai desenvolver o projeto fsico e no dele, mesmo que ele venha a acumular essas funes.

2.5 Dilogo Usurio X Analista


O dilogo usurio/analista dever ser: - Iterativo - Lgico - Limitado

2.6 As Ferramentas da Anlise Estruturada 2.6.1 Diagrama de Fluxo de Dados


DFD uma representao em rede dos processos (funes) do sistema e dos dados que ligam esses processos. Ele mostra o que o sistema faz e no como feito. a ferramenta de demostrao central da anlise estruturada. Um DFD apresenta as partes componentes de um sistema e as interfaces entre elas. um conjunto integrado de procedimentos, sendo que as partes do computados podero estar inseridos ou no. Na elaborao de um DFD, utilizaremos quatro smbolos que nos permitiro, debater e apresentar ao usurio todo o processo, sem assumir nenhum compromisso com implementaes e demostrar a sua fluncia, sem a preocupao com a hierarquizao e tomadas de deciso. So os seguintes smbolos utilizados na elaborao de um DFD:
GEEK BRASIL - http:/www.geekbrasil.com.br 9

Quadrado duplo = Entidade Externa/Origem ou destino de Dados.

Retnculo com cantos arredondados = Processo que transforma o Fluxo dos Dados.

Retnculo aberto = Depsito de Dados

Seta ou vetor = Fluxo de Dados

2.6.1.1 Elaborando um DFD


Suponhamos que uma distribuidora de produtos farmacuticos nos contratou para analisar seu processo atual e verificar como expandir suas operaes e melhorar seu nvel de servio. A empresa em questo, RPC (Remdios Pelo Correio), fundada h cinco anos atua na distribuio de medicamentos, recebendo das farmcias os pedidos de medicamentos, fazendo encomenda aos laboratrios, com desconto, e atendendo ao pedido no ato do recebimento do dos remdios dos laboratrios. O processo todo controlado manualmente atravs do preenchimento de formulrios pr-impressos. Atualmente o volume de negcios atinge 150 pedidos por dia, cada um com um mdia de 5 medicamentos, e um valor de R$ 500,00 em mdia. A administrao pretende expandir as operaes atravs da estocagem dos 100 medicamentos mais solicitados e atendendo solicitaes de clnicas e mdicos diretamente. As encomendas podero ser feitas de qualquer ponto do Estado via telefone ou pelo correio. O volume de negcios depender, logicamente, de fatores como divulgao do servio, rapidez na entrega, confiabilidade, etc., mas a empresa espera aument-lo para 1000 negcios/dia, ou mais. No plano geral, podemos afirmar que, da mesma forma que o atual, o novo processo de trabalho da empresa acatar pedidos de remdios, far a verificao no arquivo de disponveis, consultar, em outro arquivo, se o crdito do cliente bom e far com que o remdio solicitado seja encaminhado ao cliente com a respectiva fatura. Demostraremos isso de forma grfica usando um diagrama de Fluxo de dados lgico.

GEEK BRASIL - http:/www.geekbrasil.com.br

10

Analisando a figura, verificamos que, na verdade, ela nos diz muito pouco sobre o sistema. Os smbolos constantes da figura e os conceitos que representam encontram-se no nvel lgico; um fluxo de dados pode estar fisicamente numa carta, numa fatura, numa ligao telefnica, etc., ou seja, em qualquer lugar em que o dado passe de uma entidade ou processo para outro. Um processo pode ser fisicamente um escritrio repleto de pessoas verificando e recebendo pedidos, calculando descontos, ou um programa, ou ainda uma combinao de atividades manuais e automatizadas. Um depsito de dados pode ser um armrio de ao com gavetas, um fichrio de cartes, uma fita magntica, um disquete. Utilizando os quatro smbolos, podemos desenhar um quadro do sistema sem nos comprometermos com sua implementao. Vamos expandir processar pedidos para mostrar as funes lgicas que compe o processo. Observe o diagrama a seguir, onde representamos uma expanso do anterior, demostrando os processos Verificar validade dos pedidos e Preparar requisio par o laboratrio, alm de depsitos de dados para armazenar dados de clientes, dados de laboratrios e dados dos pedidos pendentes, ou seja, aqueles que ficam aguardando a quantidade tima para enderearmos o pedido ao laboratrio obtendo o maior desconto.

GEEK BRASIL - http:/www.geekbrasil.com.br

11

At aqui, parece tudo bem. Mas ser que vamos atender os pedidos e esperar pacientemente que o pagamento seja efetuado? E os laboratrios fornecedores no iro cobrar nunca os medicamentos remetidos? E se os medicamentos e quantidades remetidas pelos laboratrios no forem coerentes com as solicitaes? Vamos tentar incluir o aspecto Comparar remessa a pedidos. Observe o prximo diagrama.

GEEK BRASIL - http:/www.geekbrasil.com.br

12

No demostraremos at aqui os movimentos dos remdios em si; para efeitos didticos, os remdios so considerados dados e por isso no so representados no DFD. A relao entre um DFD e um diagrama de fluxo de materiais no ser abordada por enquanto. Atualmente s nos interessam os itens que representam dados sobre remdios. At agora, ningum recebeu nenhum pagamento. Devemos nos preocupar com a remessa de faturas para os clientes, tratamento a ser aplicado aos pagamentos efetuados pelos clientes, bem como cobranas efetuadas pelos laboratrios. Acreditamos que, com o que j foi visto at aqui, voc seria capaz, sozinho, de expandir nosso DFD, contemplando esses processos. No se esquea que cada uma das caixas de processo pode ser expandida num diagrama de fluxo de dados de menor nvel, assim sendo, procure, ao fazer o exerccio proposto, no descer a detalhes muito minuciosos. Sua preocupao deve ser demonstrar em linhas gerais como seriam os processos de contas a receber e contas a pagar. Outro aspecto importante, no abordado nos DFDs apresentados so as condies de erro. No especificamos ainda o que acontece com o pedido de um cliente cuja situao de crdito seja ruim, ou o que acontece quando o laboratrio nos manda uma remessa e no localizamos nenhum pedido correspondente. evidente que tais situaes precisam ser tratadas. Entretanto, se formos, desde logo, nos prender ao tratamento de erros e excees, comprometeremos todo o nosso trabalho. O detalhamento dessas questes deve ser adiado para os diagramas de nvel inferior, para que no interfiram no quadro geral do sistema. A concluso dos DFDs do sistema proposto, com toda a abrangncia, fica a cargo de vocs, basta aplicar os recursos at aqui apresentados, observando entretanto as seguintes convenes simblicas:

2.6.1.2 Entidade
Identificamos como entidade, na maioria das vezes, categorias lgicas de coisas ou pessoas que representam uma origem ou destino de transaes (Clientes, Fornecedores, Empregados, Etc.). Tambm podemos identificar como Entidades fontes ou destinos especficos tais como Departamentos da empresa, Receita Federal, Almoxarifado. comum adotarmos a terminologia Entidade Externa. Quando um sistema recebe dados resultantes de outro, ou gera informaes que serviro como dados de entrada para outro, esse outro sistema tambm identificado como uma Entidade Externa. O smbolo utilizado para representar j foi apresentado a voc. Por conveno, a fim de simplificar as referncias e o processo de dicionarizao dos dados, adicionamos como identificador de uma entidade uma letra minscula no canto superior esquerdo do desenho ou a letra E maiscula e um nmero, conforme abaixo:

E1

GEEK BRASIL - http:/www.geekbrasil.com.br

13

2.6.1.3 Fluxo de Dados


Podemos associar cada fluxo de dados com um tubo por onde passam pacotes de dados. Faremos referncia ao Fluxo de Dados identificando os processos, entidades ou depsitos de dados das suas extremidades, anotando uma descrio do seu contedo ao longo de sua extenso. Lembre-se que a descrio deve ser mais clara possvel, de modo a simplificar o trabalho do usurio que ir realizar a reviso do DFD. Observe um exemplo de referncia e descrio de Fluxo de Dados:

29

c Relatrio de Vendas

Analisar Vendas

Gerncia

Refercia do Fluxo de dados 29 - c Descrio do fluxo de dados: Relatrio de Vendas

2.6.1.4 Processo

Logicamente, necessrio descrever a funo de cada processo, e, para facilitar atribuir uma identificao nica para cada um, buscando, na medida do possvel, associ-lo a um sistema fsico. A identificao pode ser um nmero, inicialmente posicionado na posio mdia superior da figura, no tendo nenhum outro significado alm de identificar o processo. No h porqu vincularmos a identificao com a descrio do processo, pois alguns deles sero subdivididos em dois ou mais nas fases de expanso - o que implicar no surgimento de novos nmeros. Entretanto, a partir do instante que um processo recebe uma identificao, est no deve mais ser modificada, sob a pena de comprometer o trabalho de dicionarizao dos dados, exceto nos casos de desmembramentos e agrupamentos. Para simplificar o entendimento da figura, podemos adicionar linhas divisrias, marcando claramente o espao destinado identificao do processo, sua descrio e o local fsico onde ser desempenhado.

Identificao do processo Descrio da funo Local fsico onde ser desempenhado

GEEK BRASIL - http:/www.geekbrasil.com.br

14

Vale ressaltar que a descrio da funo deve ser sempre imperativa, composta por um verbo ativo (verificar, extrair, recuperar, comparar), seguida de uma clusula, simples e objetiva. A identificao do local fsico onde a funo ser executa, opcional nos diagramas de nvel mais abrangente, extremamente til a partir do instante em que a anlise foi concluda e o projeto fsico do sistema est sendo desenvolvido, pois denota o departamento ou programa que o desempenhar

2.6.1.5 Depsito de Dados


Convencionamos a identificao de um depsito de dados pela colocao de uma letra D maiscula seguida de um nmero, na esquerda do desenho, separada da descrio por uma linha vertical.

D1 Dados de Clientes

2.6.2 Dicionrios de Dados

O dicionrio de dados um repositrio de dados sobre os dados do software. Ele dever conter a definio dos elementos que tornam o Modelo de Dados e o Diagrama de Fluxo de Dados precisos, quais sejam: - Fluxos de dados; - Depsitos de Dados/Entidades; - Atributos.

2.6.2.1 Regras para Formao de Nomes


- O nome deve ser formado por palavras separadas por sublinha at o mximo de 32 caracteres; - Preferencialmente a nomeao deve ser feita de acordo com o usurio; - Devem ser eliminados proposies e conjunes; - Quando houver necessidade de abreviar uma palavra, observar que a abreviatura seja clara, ou inclui-la no dicionrio.

GEEK BRASIL - http:/www.geekbrasil.com.br

15

2.6.2.2 Notao
Smbolo = + [ ] { } ( ) | ** @ Significado E Escolha uma das opes alternativas interaes de Opcional (pode estar presente ou ausente) separa opes alternativas na construo [ ] Comentrio Identificador (campo chave) de um depsito. composto de

2.6.2.2.1 Sendo Dado Elementar (Atributo): - Com seleo de valores: NOME_ITEM = [ valor 1| valor n] ft,d onde: f = formato (A - Alfabtico, N - Numrico, X - Caracter Vlido); t = tamanho (em caracteres ou inteiros); d = decimais. Ex.: SEXO=[M|F] A1 (Alfabtico de tamanho 1, podendo assumir valores M ou F). - Sem seleo de valores NOME_ITEM = ft,d Ex.: VALOR_REPRESENTACAO = N7,2 (Numrico com 7 inteiros e 2 decimais) 2.6.2.2.2 Sendo os limites de interao conhecidos: NOME_ITEM_GRUPO = Y (nome_item_elementar_1 + nome_item_elementa_n) X onde : X = limite superior, Y = limite inferior. Ex.: REFERENCIAS = 2 (NOME + ENDERENCO ) 10 2.6.2.2.3 Exemplos Gerais - Fluxo de Dados DETALHE_CUSTO = DESCRICAO_COMPLETA + MATRIZ_CUSTO A definio demonstra que o fluxo de dados composto de outros fluxos de dados e/ou dados elementares. DESCRICAO_COMPLETA = NOME_ITEM + TIPO_ITEM + [ PESO | VOLUME] A definio demonstra que o fluxo e composto por dados elementares e um dos dados deve ser selecionado entre o peso ou o volume. - Depsito de Dados/Entidades ARQUIVO_DE_CUSTO = 1 (@NUMERO_ITEM + DETALHE_CUSTO) 1000
GEEK BRASIL - http:/www.geekbrasil.com.br 16

Os registros de arquivos vo de 1 a 1000 e o atributo NUMERO_ITEM campo chave. - Dados Elementares/Atributos TIPO_ITEM = [ SOLIDO | LIQUIDO | GASOSO] A7

2.6.3 Descrio de Procedimentos


O DFD declara a existncia dos procedimentos e das interfaces entre elas, mas e o seu contedo? Como alternativas para a descrio de procedimentos podemos ter: - TEXTO NARRATIVO; - PORTUGUS ESTRUTURADO; - TABELAS DE DECISO; - RVORES DE DECISO; - FRMULAS MATEMTICAS; - ALGUMAS COMBINAES DOS ACIMA.

2.6.3.1 Texto Narrativo


Exemplo: O clculo da depreciao dever ser efetuado da seguinte forma: - Quando o VALOR_CAPITAL_ATUAL for inferior a R$ 1.000,00 e a CATEGORIA do bem sobre o qual vai ser calculada a depreciao for igual a X, o valor da DEPRECIACAO dever ser igual ao VALOR_CAPITAL_ATUAL e o VALOR_NOVO_CAPITAL dever ser reduzido a zeros. - Quando o VALOR_CAPITAL_ATUAL for inferior a R$ 1.000,00 e a CATEGORIA do bem sobre o qual vai ser calculada a depreciao for igual a Y, o valor da DEPRECIACAO dever ser 20% do VALOR_CAPITAL_ATUAL e o VALOR_NOVO_CAPITAL dever ser 80% do VALOR_CAPITAL_ATUAL. - Quando o VALOR_CAPITAL_ATUAL for superior a R$ 1.000,00 independentemente do valor da CATEGORIA, se X ou Y, o valor da DEPRECIACAO dever ser igual 35% do VALOR_CAPITAL_ATUAL e o VALOR_NOVO_CAPITAL dever ser 65% do VALOR_CAPITAL_ATUAL. - Quando o VALOR_CAPITAL_ATUAL for igual a R$ 1.000,00 preceder de conformidade com o item anterior.

2.6.3.2 Portugus Estruturado


Exemplo:

GEEK BRASIL - http:/www.geekbrasil.com.br

17

Se VALOR_CAPITAL_ATUAL <= 1.000 Se CATEGORIA = X Faa DEPRECIACAO = VALOR_CAPITAL_ATUAL Faa VALOR_NOVO_CAPITAL = 0 Caso Contrario (Categoria = Y) Faa DEPRECIACAO = VALOR_CAPITAL_ATUAL * 0,20 Faa VALOR_NOVO_CAPITAL = VALOR_CAPITAL_ATUAL * 0,80 Caso Contrrio (VALOR_CAPITAL_ATUAL >= 1.000) Faa DEPRECIACAO = VALOR_CAPITAL_ATUAL * 0,35 Faa VALOR_NOVO_CAPITAL = VALOR_CAPITAL_ATUAL * 0,65

2.6.3.3 Tabelas de Deciso


Exemplo: Condies 1. Categoria (X,Y) 2. VALOR_CAPITAL_ATUAL = R$ 1.000,00 (<, >=) Aes 1. Faa Depreciao igual a (% do VALOR_CAPITAL_ATUAL) 2. Faa VALOR_NOVO_CAPITAL igual a (% do VALOR_CAPITAL_ATUAL) 0 80 65 65 100 20 35 35 1 X 2 Y 3 X 4 Y

2.6.3.4 rvores de Deciso


Exemplo: VALOR_CAPITAL_ATUAL CATEGORIA PROCEDIMENTO X < R$ 1.000,00 Y VALOR_DA_DEPRECIACAO >= R$ 1.000,00 0 X ou Y Depreciao = 100% VALOR_NOVO_CAPITAL = 0% Depreciao = 100% VALOR_NOVO_CAPITAL = 0%

Depreciao = 35% VALOR_NOVO_CAPITAL = 65%

GEEK BRASIL - http:/www.geekbrasil.com.br

18

3. Anlise de Dados

Objetiva a definio e a estruturao de dados para servir s necessidades atuais e futuras de armazenamento e recuperao de informaes.

3.1 Conceitos Bsicos


- Entidades: Objeto existente na organizao sobre o qual precisamos armazenar e/ou recuperar informaes. - Atributos: So as caractersticas que descrevem as entidades (informaes que vo ser armazenadas sobre as entidades). - Relacionamento: Associao entre duas ou mais entidades. - Modelo de Dados: Representao grfica das entidades e relacionamentos de interesse. * Modelo Conceitual: Representa a viso dos dados sob o ponto de vista da organizao. * Modelo Lgico: Representa a viso dos dados sob o ponto de vista particular de um software. * Modelo Fsico: Representa a organizao fsica da base de dados. - Lista de Entidades: Lista das entidades e seus respectivos atributos. - Identificador de Entidade: Atributo ou conjunto de atributos que identifica cada nica ocorrncia da entidade (chave primria). - Normalizao: Tcnica de aplicao das Formas Normais s entidades de um modelo de dados para maior compreenso e simplificao da estrutura de dados. - Dependncia Funcional: Quando em um relacionamento entre atributos de uma entidade, verifica-se que a cada valor de um atributo A corresponde um nico valor de um ou mais atributos B, C, , dizemos que B, C, dependem funcionalmente de A. - Consolidao de Modelos de Dados: Regras prticas para combinar diferentes modelos de dados em um nico modelo.

3.2 Modelo de Dados 3.2.1 O que Modelo de Dados?


Tambm conhecido como Diagrama E-R (Entidade -Relacionamento). uma forma de representao grfica do conhecimento que se tem sobre o ambiente (realidade) qualquer. Mostra uma viso esttica das informaes (entidades) de interesse e dos vnculos (relacionamentos) existentes entre elas.

Define Realidade Descreve Model de Dados

O modelo de dados uma nova forma de comunicao entre o tcnico de processamento de dados e o usurio. Essa nova forma de comunicao assegurar que :
GEEK BRASIL - http:/www.geekbrasil.com.br 19

- O modelo de dados conter todos os dados necessrios para suportar os processos de responsabilidade do usurio. - O modelo de dados conter os dados para suportar processos que sero modificados ou introduzidos em um futuro prximo.

GEEK BRASIL - http:/www.geekbrasil.com.br

20

3.2.2 Componentes do Modelo de Dados 3.2.2.1 Entidade


algo, real ou abstrato, percebido no ambiente e sobre o qual nos interessa armazenar dados. Exemplos: Um objeto real (concreto) Uma pessoa Um conceito abstrato Um evento Um relacionamento - Um equipamento, Material - Fornecedor Empregado - rgo, Cargo, Curso - Recebimento de Material - Casamento

3.2.2.1.1 Representao Grfica Um entidade representada num modelo de dados atravs de um retngulo.

FORNECEDOR

FATURA

MATERIAL

3.2.2.2 Atributo

um dos itens de dados que armazenamos sobre uma entidade. Caracteriza ou qualifica uma determinada propriedade de uma entidade. Exemplo: So atributos da entidade EMPREGADO: - MATRICULA - NOME - ENDERECO - CPF - DATA NASCIMENTO

3.2.2.3 Chave de Identificao

A chave de identicao de uma entidade definida por um atributo, ou conjunto de atributos, cujos valores individualizam uma nica ocorrncia dessa entidade. Exemplo: A chave de identificao da entidade EMPREGADO o atributo MATRICULA.

GEEK BRASIL - http:/www.geekbrasil.com.br

21

3.2.2.4 Lista de Entidades

uma relao de entidades com seus respectivos atributos, utilizada para documentar os trabalhos de anlise de dados. Formada pelo nome da entidade seguida da relao de atributos que compem entre parnteses, e seguindo a conveno abaixo: - Cada atributo separado do outro pelo sinal de adio ( + ) ; - O(s) atributo(s) que identificam a entidade devem estar no incio da relao e sublinhados; - O(s) atributo(s) que ocorrem mais de uma vez (repetitivos) so identificados por uma incluso entre parnteses. Exemplo: FATURA(NUMERO_FATURA + CODIGO_FATURA + (NUMERO_ITEM_FATURA + CODIGO_MATERIAL + QUANTIDADE_MATERIAL + PRECO_UNITARIO + PRECO_ITEM_FATURA) + PRECO_TOTAL_FATURA). Obs.: Podem haver mltiplos nveis de repetio.

3.2.2.5 Domnio
So os possveis valores que um atributo pode assumir. Exemplo: SEXO = [ M | F ] Sexo pode assumir dos valores M (Masculino) ou F (Feminino)

3.2.2.6 Ocorrncia
Representa o nmero vezes que determinado atributo aparece em outra entidade.

GEEK BRASIL - http:/www.geekbrasil.com.br

22

3.2.2.6.1 Representao Grfica Smbolos especiais colocados nas extremidades da linha que representa um relacionamento.

Uma ocorrncia ou nenhuma

Uma e somente uma ocorrncia

Vrias, Uma ou nenhuma ocorrncia

Pelo menos uma ocorrncia

Exemplo:

DEPENDENTE EMPREGADO

AREA LOTACAO

EMPREGADO

NIVEL SALARIAL

GERENTE

- Uma REA LOTAO tem obrigatoriamente pelo menos 1 empregado; - Um EMPREGADO pode ter vrios, um ou nenhum DEPENDENTE;

Um EMPREGADO est vinculado obrigatoriamente a uma rea de LOTAO;

Um DEPENDENTE (se existir) est obrigatoriamente vinculado a um EMPREGADO. - Um EMPREGADO pode ser GERENTE. Um GERENTE um EMPREGADO - Um EMPREGADO tem obrigatoriamente um NVEL SALARIAL; Em um mesmo NVEL SALARIAL podemos ter vrios, um ou nenhum EMPREGADO.

3.2.3 Tipos de Entidade


GEEK BRASIL - http:/www.geekbrasil.com.br 23

3.2.3.1 Entidade Primria


aquela cuja chave de identificao feita exclusivamente atravs de seus atributos.

3.2.3.2 Entidade Dependente


aquela cuja existncia depende de outra, ou seja, parte da chave de identificao da entidade est condicionada a da entidade da qual ela depende.

3.2.3.3 Entidade Associativa


aquela cuja chave de identificao obtida atravs da concatenao das chaves de identificao das entidades que ela associa.

3.2.4 Tipos de Relacionamento 3.2.4.1 Relacionamento de Dependncia

aquele feito entre uma entidade e outra que dela seja dependente.

3.2.4.2 Relacionamento Associativo

aquele que ocorre entre uma entidade associativa e a cada uma das entidades que participam da associao.

3.2.4.3 Categoria

Uma categoria uma ligao entre uma entidade e suas espcies (tipos), sendo estas mutuamente excludentes.

3.2.4.4 Partio

um caso particular de categoria, na qual as espcies (tipos) de uma entidade, no so mutuamente excludentes.

3.2.4.5 Relacionamento Normal


- Associativo - Dependncia - Categoria - Partio

aquele que no pode ser enquadrado em um dos tipos abaixo:

3.2.4.6 Auto-Relacionamento

aquele que ocorre entre uma mesma entidade.

GEEK BRASIL - http:/www.geekbrasil.com.br

24

3.2.4.7 Mltiplos Relacionamentos


Casos em que ocorre mais de um relacionamento entre duas mesmas entidades.

3.2.4.8 Relacionamento Mutuamente Exclusivo

Ocorre quando temos um relacionamento, por exemplo, entre as entidades A e C e tambm entre as entidades B e C, porm nunca ao mesmo tempo.

3.2.5 Tipos de Chave 3.2.5.1 Chaves Candidatas


Exemplo EMPREGADO (MATRICULA + NOME + CPF + ENDERENCO + SALARIO ) So chaves candidatas os atributos: - MATRICULA - CPF So as possveis chaves de identificao de uma nica ocorrncia de uma entidade.

3.2.5.2 Chave Primria

uma das chaves candidatas, selecionada por melhor convenincia (facilidade de utilizao, menor possibilidade de erros, etc. ...). Exemplo EMPREGADO (MATRICULA + NOME + CPF + ENDERENCO + SALARIO ) Chaves candidatas: - MATRICULA - CPF Chave Primria escolhida - MATRICULA

3.2.5.3 Chave Estrangeira


Conjunto de um ou mais atributos de uma entidade que so chave primria em outra entidade. Exemplo: EMPREGADO DEPARTAMENTO

EMPREGADO ( MATRICULA + NOME + CPF + COD_DEPTO) DEPARTAMENTO (COD_DEPTO + NOME_DEPTO) Na entidade EMPREGADO o atributo COD_DEPTO chave estrangeira.

3.3 Consolidao de Modelos de Dados


GEEK BRASIL - http:/www.geekbrasil.com.br 25

3.3.1 O que Consolidao?


Termo utilizado para representar os trabalhos de integrao de um modelo de dados a outro ou, integrao de modelos parciais a um modelo global de dados (empresa, assunto ou sistema).

3.3.2 Trabalhos Executados na Consolidao


Os Trabalhos da consolidao basicamente so os seguintes: - Adio de entidades ainda inexistentes no modelo global de dados, relacionando-as s demais; - Adio de novos atributos a entidades j existentes, desde que possuam chaves primrias idnticas; - Identificao das entidades j implementadas; - Eliminao de relacionamentos redundantes.

3.4 Normalizao 3.4.1 O que Normalizao


Normalizao o processo formal que consiste em substituir um conjunto de entidades por outro conjunto capaz de comportar melhor as mudanas futuras. Entidades normalizadas no possuem redundncias (duplicao de dados) acidental. Cada atributo est relacionado com sua prpria entidade e no se mistura com atributos relativos entidades diferentes.

A normalizao corresponde na realidade formalizao de regras baseadas no fato que as entidades possuem anomalias de atualizao.

3.4.2 Anomalias de Atualizao


Dada a entidade abaixo: PEDIDO (NUMERO_PEDIDO + DATA_PEDIDO + NUMERO_CLIENTE + NOME_CLIENTE + ENDERENCO_CLIENTE + ( NUMERO_PRODUTO + NOME_PRODUTO + QTDE_PEDIDA + PRECO_PRODUTO + TOTAL_PRODUTO) + TOTAL_PEDIDO) Quais as anomalias de atualizao que acontecero se: - Um produto for descontinuado por seu fornecedor? - O nome do produto for mudado? - O cliente mudar de endereo? - Os produtos ou as quantidades pedidas pelo cliente forem mudadas e o cliente esqueceu o nmero do pedido?

3.4.3 Dependncia Funcional


GEEK BRASIL - http:/www.geekbrasil.com.br 26

Dados os atributos A e B de uma entidade, diz-se que B funcionalmente dependente de A se e somente se, a cada valor de A est associado um nico valor de B. Em outras palavras, se conhecermos o valor de A ento podemos encontrar o valor de B associado a ele. DIAGRAMA DE DEPENDNCIA FUNCIONAL A B Nota - a seta parte de quem identifica. Exemplo: DEPARTAMENTO CODIGO_DEPARTAMENTO NOME_DEPARTAMENTO SIGLA_DEPARTAMENTO Nota - O exame das relaes existentes entre os atributos de uma entidade deve ser feito a partir do conhecimento (conceitual) que se tem sobre o mundo real (ambiente modelado).

3.4.4 Dependncia Funcional Composta ou Completa

Dado um atributo ou um conjunto de atributos B de uma entidade, sendo a chave primria composta por um conjunto de atributos A, diz-se que B completamente dependente funcional da chave primria, se e somente se, a cada valor da chave (e no a parte dele), est associado um valor para cada atributo do conjunto B. DIAGRAMA DE DEPENDNCIA FUNCIONAL A1 A2 B1 B2 B3

GEEK BRASIL - http:/www.geekbrasil.com.br

27

Exemplo: PRODUTO_FATURA NUMERO_PEDIDO CODIGO_PRODUTO QTDE_PEDIDA PRECO_TOTAL_PRODUTO

3.4.5 Dependncia Funcional Transitiva

Dados os atributos A, B e C de uma entidade, sendo A a chave primria, dizse que B e C so dependentes transitivos se e somente se, forem funcionalmente dependente de A alm de existir uma dependncia funcional entre eles. DIAGRAMA DE DEPENDNCIA FUNCIONAL A B C Exemplo: DEPARTAMENTO CODIGO_DEPARTAMENTO NOME_DEPARTAMENTO SIGLA_DEPARTAMENTO MATRICULA_GERENTE NOME_GERENTE

3.4.6 Primeira Forma Normal (1FN)


Uma entidade est na 1FN se ela no contm grupos de atributos repetitivos (multivalorados). Exemplo: - Entidade no normalizada: PEDIDO (NUMERO_PEDIDO + DATA_PEDIDO + NUMERO_CLIENTE + NOME_CLIENTE + ENDERENCO_CLIENTE + ( NUMERO_PRODUTO + NOME_PRODUTO + QTDE_PEDIDA + PRECO_PRODUTO + TOTAL_PRODUTO) + TOTAL_PEDIDO) - Remoo dos grupos de atributos repetitivos (1FN):
GEEK BRASIL - http:/www.geekbrasil.com.br 28

NUMERO_PEDIDO DATA_PEDIDO NUMERO_CLIENTE NOME_CLIENTE ENDERENCO_CLIENTE NUMERO_PRODUTO NOME_PRODUTO QTDE_PEDIDA PRECO_PRODUTO TOTAL_PRODUTO TOTAL_PEDIDO - Entidades da 1FN PEDIDO (NUMERO_PEDIDO + DATA_PEDIDO + NUMERO_CLIENTE + NOME_CLIENTE + ENDERENCO_CLIENTE + TOTAL_PEDIDO) PRODUTO_PEDIDO (NUMERO_PEDIDO + NUMERO_PRODUTO + NOME_PRODUTO + QTDE_PEDIDA + PRECO_PRODUTO + TOTAL_PRODUTO) - Modelo de Dados PEDIDO PRODUTO_PEDIDO

3.4.7 Segunda Forma Normal (2FN)


Uma entidade est na 2FN se ela est na 1FN e seus atributos so funcionalmente dependentes de sua chave (primria) completa. Exemplo: - Entidades da 1FN PEDIDO (NUMERO_PEDIDO + DATA_PEDIDO + NUMERO_CLIENTE + NOME_CLIENTE + ENDERENCO_CLIENTE + TOTAL_PEDIDO) PRODUTO_PEDIDO (NUMERO_PEDIDO + NUMERO_PRODUTO + NOME_PRODUTO + QTDE_PEDIDA + PRECO_PRODUTO + TOTAL_PRODUTO)
GEEK BRASIL - http:/www.geekbrasil.com.br 29

- Remoo dos atributos no funcionalmente dependentes de toda uma chave primria (2FN): PEDIDO NUMERO_PEDIDO DATA_PEDIDO NUMERO_CLIENTE NOME_CLIENTE ENDERENCO_CLIENTE TOTAL_PEDIDO PRODUTO_PEDIDO NUMERO_PEDIDO NUMERO_PRODUTO NOME_PRODUTO QTDE_PEDIDA PRECO_PRODUTO TOTAL_PRODUTO

- Entidade na 2FN: PEDIDO (NUMERO_PEDIDO + DATA_PEDIDO + NUMERO_CLIENTE + NOME_CLIENTE + ENDERENCO_CLIENTE + TOTAL_PEDIDO) PRODUTO_PEDIDO (NUMERO_PEDIDO + NUMERO_PRODUTO+ QTDE_PEDIDA + TOTAL_PRODUTO) PRODUTO (NUMERO_PRODUTO + NOME_PRODUTO + PRECO_PRODUTO) - Modelo de Dados:

PEDIDO

PRODUTO_PEDIDO

PRODUTO

3.4.8 Terceira Forma Normal (3FN)


Uma entidade est na 3FN se ela est na 2FN e no possui dependncias transitivas. Uma entidade que est na 2FN pode ter um atributo que no uma chave mas que por si identifica outros atributos. Refere-se a isto como uma dependncia transitiva.

Exemplo: - Entidade na 2FN: PEDIDO (NUMERO_PEDIDO + DATA_PEDIDO + NUMERO_CLIENTE +


GEEK BRASIL - http:/www.geekbrasil.com.br 30

NOME_CLIENTE + ENDERENCO_CLIENTE + TOTAL_PEDIDO) PRODUTO_PEDIDO (NUMERO_PEDIDO + NUMERO_PRODUTO+ QTDE_PEDIDA + TOTAL_PRODUTO) PRODUTO (NUMERO_PRODUTO + NOME_PRODUTO + PRECO_PRODUTO) - Remoo das dependncias transitivas PEDIDO NUMERO_PEDIDO DATA_PEDIDO NUMERO_CLIENTE NOME_CLIENTE ENDERENCO_CLIENTE TOTAL_PEDIDO PRODUTO NUMERO_PRODUTO NOME_PRODUTO PRECO_PRODUTO - Entidades na 3FN PEDIDO (NUMERO_PEDIDO + DATA_PEDIDO + TOTAL_PEDIDO) CLIENTE (NUMERO_CLIENTE + NOME_CLIENTE + ENDERENCO_CLIENTE) PRODUTO_PEDIDO (NUMERO_PEDIDO + NUMERO_PRODUTO+ QTDE_PEDIDA + TOTAL_PRODUTO) PRODUTO (NUMERO_PRODUTO + NOME_PRODUTO + PRECO_PRODUTO) - Modelo de Dados. PRODUTO_PEDIDO NUMERO_PEDIDO NUMERO_PRODUTO QTDE_PEDIDA TOTAL_PRODUTO

GEEK BRASIL - http:/www.geekbrasil.com.br

31

PEDIDO

PRODUTO_PEDIDO

CLIENTE

PRODUTO

3.4.9 Simplificao do Processo de Normalizao


A partir do diagrama de dependncias funcionais podemos obter diretamente as entidades na terceira forma normal. Para isso, devemos especificar uma entidade para cada conjunto de setas que o diagrama mostrar. A chave primria ser formada pelos atributos dos quais partem as setas. Exemplo: NUMERO_PEDIDO DATA_PEDIDO NUMERO_CLIENTE NOME_CLIENTE ENDERENCO_CLIENTE NUMERO_PRODUTO NOME_PRODUTO QTDE_PEDIDA PRECO_PRODUTO TOTAL_PRODUTO TOTAL_PEDIDO

3.4.10 Regras Prticas


- Se duas entidades possurem a mesma chave de identificao: - Elas so a mesma entidade; - Seus atributos se complementam; - As suas ocorrncias se complementam; - Quando um atributo ou um conjunto de atributos identificadores de uma determinada entidade, for(em) tambm atributo(s) de uma outra entidade, deve haver um relacionamento do tipo 1:N entre elas.
GEEK BRASIL - http:/www.geekbrasil.com.br 32

- Atributos comuns a mais de uma entidade, devem ser, obrigatoriamente, chaves de identificao em uma das entidades; caso contrrio ser uma simples redundncia. - Nenhum atributo componente de uma chave primria deve poder assumir um valor nulo. Decorre do fato de que todos os objetos que se quer representar devam ser distinguveis entre si. - Um atributo que seja chave estrangeira s pode assumir: - Valor nulo; - Valor para o qual exista uma ocorrncia da entidade da qual ela chave primria.

GEEK BRASIL - http:/www.geekbrasil.com.br

33

3.4.11 Exerccios: 3.4.11.1 Estudo do Caso 1


Projetar uma base de dados - modelo relacional - nvel conceitual - para atender a rea de compras de uma empresa. Em levantamentos efetuados com o pessoal responsvel pelo setor de compras, foram identificados os seguintes informaes: E identificar as chaves de cada entidade. ORDEM DE COMPRA Cdigo-Ordem-Compra Data-Emisso Cdigo-Fornecedor Nome-Fornecedor Endereo-Fornecedor %Materiais da ordem de Compra codigo-item (n) descrio-item(n) valor-unitario-item (n) quantidade-comprada-item (n) valor-total-item (n) valor-total-compra

Procure obter um modelo de dados sem redundncias, desenhando o diagrama ER.

GEEK BRASIL - http:/www.geekbrasil.com.br

34

3.4.11.2 Estudo do Caso 2

Projetar uma base de dados - modelo relacional - nvel conceitual - para atender a rea de recursos humanos de uma empresa. Em levantamentos efetuados foram identificados os seguintes dados: DADOS FUNCIONRIOS Matricula - Funcionrio Nome - Funcionrio Endereo - Funcionrio Data - Funcionrio Cdigo - Cargo Valor - Salrio Numero - total - dependentes Cdigo - departamento %Habilidades (grupo multivalorado) Cdigo - Habilidade (n) Descrio - Habilidade (n) Data - Formao - Habilidade (n) % dependentes (grupo multivalorado) Cdigo - Dependente Nome - Dependente Data - nascimento - Dependente (n) DADOS DEPARTAMENTO Cdigo - Departamento Nome - Departamento Localizao - Departamento

Procure definir um modelo de dados sem redundncias.

GEEK BRASIL - http:/www.geekbrasil.com.br

35

3.4.11.3 Estudo do Caso 3


Projetar uma base de dados - modelo relacional - nvel conceitual - para atender necessidades de um candidato ao governo do estado. Foram identificados os seguintes informaes: CIDADES Cdigo-Cidade(CEP) Nome-Cidade Populao-Cidade Prefeito-Atual-Cidade Partido-Prefeito-Atual %Zonas (n) Numero-Zona (n) Local-Zona (n) Nmero-Eleitores-Zona (n) Cabo-Eleitoral-Principal(n)

DEPUTADOS Cdigo-Deputado Nome- Deputado Cdigo-Cidade Nome-Cidade Voto-Ultima-Eleio Partido-Deputado Mandato-Deputado(periodo) Categoria-Deputado(Estadual-Federal) PRINCIPAIS SOLICITAES CIDADES Cdigo-Cidade Nome-Cidade %Solicitaes Nmero-Solicitao (n) Descrio-Solicitao(n) Data-Solicitao (n) Viabilidade-Atendimento(n) Orgos-Envolvidos(n)

VEREADORES Cdigo-Vereador Nome-Vereador Cdigo-Cidade Nome-Cidade Partido-Vereador Voto-Ultima-Eleio Mandato-Vereador(periodo)

- Obter E-R normalizado at a 3 forma normal. - Demonstrar as normalizaes efetuadas via esquema de dependncias funcionais - Listar suposies que julgar necessrias sobre a semntica das dependncias envolvidas - Explicar campos de relacionamentos - Se julgar necessrio inclua novos campos e justifique a incluso.

GEEK BRASIL - http:/www.geekbrasil.com.br

36

GEEK BRASIL - http:/www.geekbrasil.com.br

37

4. Bibliografia
Gane, Chris/Sarson, Trish - Anlise Estruturada de Sistemas. King, David - Criao de Software. Guimares, ngelo de M. / Lages, Newton A.C. - Algoritmos e Estruturas de Dados.

Coad, Peter/ Yourdon, Edward - Anlise Baseada em Objetos. Yourdon, Edward - Anlise Estruturada Moderna.

DeMarco, Tom - Anlise Estruturada e Especificao de Sistemas. Martins, James - Princpios de Anlise e Projeto Baseado em Objetos.

GEEK BRASIL - http:/www.geekbrasil.com.br

38

You might also like