You are on page 1of 61

Elementos de Informtica

Juliana Diniz, Fernando Aires Lins,


Sandra Siebra, Marizete Santos,
Danielle Rousy, Bianca Ribeiro

Volume 2

Recife, 2010
Universidade Federal Rural de Pernambuco

Reitor: Prof. Valmar Corra de Andrade


Vice-Reitor: Prof. Reginaldo Barros
Pr-Reitor de Administrao: Prof. Francisco Fernando Ramos Carvalho
Pr-Reitor de Extenso: Prof. Paulo Donizeti Siepierski
Pr-Reitor de Pesquisa e Ps-Graduao: Prof. Fernando Jos Freire
Pr-Reitor de Planejamento: Prof. Rinaldo Luiz Caraciolo Ferreira
Pr-Reitora de Ensino de Graduao: Prof. Maria Jos de Sena
Coordenao de Ensino a Distncia: Prof Marizete Silva Santos

Produo Grfica e Editorial


Capa e Editorao: Allyson Vila Nova, Rafael Lira, Italo Amorim, Marcella Almeida e Arlinda Torres
Reviso Ortogrfica: Marcelo Melo
Ilustraes: Diego Almeida e Allyson Vila Nova
Coordenao de Produo: Marizete Silva Santos
Sumrio

Apresentao.........................................................................................4

Captulo 1 Jogos Digitais...................................................................6

Captulo 2 Interface Usurio-Computador......................................17

Captulo 3 Banco de Dados: Uma Viso Geral...............................27

Captulo 4 Sistemas Distribudos....................................................42

Captulo 5 Redes de Computadores...............................................49

Consideraes Finais..........................................................................61
Elementos de Informtica

Apresentao

Caro(a) aluno(a),

Seja bem vindo(a) ao segundo mdulo da disciplina de Elementos


de Informtica. Com este volume, estamos iniciando uma viagem
para conhecer as diversas reas da Computao. A ideia que, antes
de abordarmos os aspectos mais tcnicos, a gente possa pensar,
em conjunto, sobre os vrios aspectos da Computao que permite
que tenhamos acesso estvel e eficiente ao mundo de informaes
disponveis na Internet.

Pare um minuto... agora vamos pensar um pouco... J pensou


se a gente no tivesse acesso ao computador? Como seria mais
complicado encontrar informaes, fazer transaes bancrias,
comprar produtos que no esto disponveis nas lojas da nossa
cidade, ler notcias, ter lazer sem sair de casa... Complicado n? Para
que a gente possa fazer tudo isto, de maneira eficiente, preciso
que a gente consiga interagir de maneira simples com o computador;
que as informaes estejam armazenadas em locais que possam
ser de fcil acesso; e por fim, que haja uma excelente infraestrutura
que nos permita acessar as informaes relevantes para as nossas
necessidades, de onde estivermos (independente se estamos no
nosso computador de casa, do polo de apoio, ou mesmo do celular),
e quando quisermos.

Assim, neste mdulo, a gente vai primeiro estudar um tipo de


aplicao que todo mundo gosta... os jogos! Depois, no captulo que
fala de interface, discutiremos os cuidados que temos que ter para
permitir que os usurios utilizem o computador de maneira simples
e eficiente. No entanto, de nada adianta a gente construir sistemas
sofisticados, fceis de utilizar, se eles no nos trouxerem informaes
relevantes. Estas informaes ficam guardadas justamente nos
Bancos de Dados, assunto do prximo captulo. Por fim, em tempos de
internet e acesso rpido independente do dispositivo, a gente precisa
de sistemas que possam funcionar de forma distribuda e conectada.
Estes so justamente os assuntos dos dois ltimos captulos do nosso
livro: Sistemas Distribudos e Redes de Computadores.

Ao final do livro, esperamos que voc tenha uma viso geral destas
importantes reas da Computao, que permitem que utilizemos a

4
Elementos de Informtica

tecnologia como grande apoio no nosso dia-a-dia. Vale lembrar que


o objetivo aqui s dar um gostinho. Todos os assuntos abordados
aqui sero vistos posteriormente em maiores detalhes ao longo do
nosso curso, ok?

Antes de comearmos a nossa viagem, no esquea: apesar


de estudar a distncia voc no est sozinho! Aproveite todos os
recursos da tecnologia a seu dispor para buscar mais informaes
sobre os assuntos, esclarecer suas dvidas com professor e tutor e
tambm interagir com os seus colegas!

Bons Estudos!

Professores Autores

5
Elementos de Informtica

Captulo 1 Jogos Digitais

1.1 Introduo

Voc certamente j escutou falar de jogos como a srie The


Sims1 - um conjunto de joguinhos de simulao de vida muito bacana
Ateno em que possvel criar e controlar vidas de pessoas virtuais (Figura
1.1). Apesar de no ter um objetivo especfico, esse tipo de jogo atrai
1
The Sims.
Disponvel em: milhares de jovens em todo mundo.
http://thesims.
ea.com/

Ateno

2
Fifa Soccer.
Disponvel em:
http://www.
brasil.ea.com/ Figura 1.1 - Imagens da srie The Sims
games/11263,pcd

E jogos de esporte como, por exemplo, Fifa Soccer2 ou Winning


Eleven3 que simula partidas de futebol? Voc conhece no? Esses
dois jogos oferecem atrativos, como a possibilidade de se jogar on-
line e o licenciamento de ligas nacionais de futebol ao redor do mundo
e um verdadeiro sucesso entre crianas, jovens e adultos.

Ateno

3
Winning Eleven.
Disponvel em:
http://www.
w11online.com/

6
Elementos de Informtica

E o que dizer de jogos de velocidade ou corrida como Need for


Speed4 ou Grand Thief Auto5. Esse ltimo foi considerado por muitos
sites especializados em jogos como sendo o melhor jogo de 2008, Ateno
segundo apresentado no site Jogos Enternauta. E jogos como
4
Need for Speed.
Ragnarok6 ou StarCraft,7 Mario Kart,8 Castlevania,9 Prince of Prsia,10 Disponvel em:
dentre tantos outros exemplares. Voc j escutou pelo menos o nome http://www.
needforspeed.
de algum deles, no??? Ento, suspeitamos que voc no deste com/
planeta!

Ateno

5
Grand Thief
Auto. Disponvel
em: http://www.
rockstargames.
com/
grandtheftauto/

Figura 1.2 - Imagens dos jogos Fifa Soccer e Winning Eleven respectivamente

Hoje em dia, os jogos digitais so quase uma constante na vida


Ateno
de crianas, jovens, adultos e at idosos. Dvida disso? Visite
algumas lan houses (aqueles locais comerciais onde se pode jogar) 6
Ragnarok.
e observars um bocado de crianas e jovens jogando de forma Disponvel
em: http://iro.
contnua por horas seguidas. Mesmo em cidades rurais e longes ragnarokonline.
com/
da capital possvel observar esse mesmo cenrio. Ainda dvida?
Chegue perto de um grupo de crianas entre 7-12 anos e pergunte
quem deles joga com frequncia? Voc perceber que ser, seno a
maioria, uma grande parte das crianas do grupo. Voc ento pode
estar pensando: quando essas crianas crescerem, possivelmente Ateno

deixaro de jogar! um imenso prazer informar que, possivelmente,


7
StarCraft.
essas crianas no deixaro de jogar quando adultos! Isto, inclusive, Disponvel em:
http://www.
j comprovado por estudos da rea de jogos como demonstrado blizzard.com/us/
pela Associao de Software de Entretenimento (ESA). Nos estudos starcraft/

apresentados por esta Instituio foi comprovado que 69% do pblico


de jogos so adultos com mdia de idade de 33-37 anos.

J no Brasil, a mdia etria dos jogadores de 29 anos. Os homens


Ateno
so maioria, mas as mulheres j compreendem 32% desse universo.
Pelo menos, 3 milhes de brasileiros frequentam com regularidade as 8
Mario Kart.
Lan houses. Disponvel em:
http://www.
mariokart.com/
mkds/launch/
index.html

7
Elementos de Informtica

Figura 1.3 - Imagens de jovens e adultos jogando

Todo esse sucesso se deve ao grau de diverso e interatividade


que os jogos, como um tipo especfico de software, proporcionam
aos seus usurios, alm de favorecer a criao de comunidades, a
socializao, o aprendizado de lnguas, de habilidades lgicas, dentre
outras vantagens. Alm disso, os avanos em tecnologias digitais
tem proporcionado uma maior convergncia digital dos softwares
favorecendo tanto o aumento de dispositivos fsicos com os quais
podem-se jogar como tambm a disponibilidade desses, por exemplo,
hoje com plataformas mveis como celulares pode-se jogar em
qualquer lugar e a qualquer hora. As novas tecnologias atingem um
potencial imensurvel na capacidade de interligar e comunicar as
pessoas e a educao deve se aliar tecnologia para aumentar a sua
eficcia.

Dessa forma, a rea dos jogos digitais ganha cada vez


mais espao, crescendo de forma exponencial, tanto no campo
mercadolgico, em termos das dezenas de jogos desenvolvidos
e lanados a cada ano, como tambm na academia, em termos de
pesquisas e formao especializada nesta rea. Por exemplo, os jogos
esto sendo incorporados em reas como treinamentos de militares,
no tratamento de fobias e traumas, no ensino de procedimentos
cirrgicos, no treinamento de procedimentos de resgates de alto risco
adicionando um carter mais srio para os jogos. De meros objetos
de entretenimento, so, hoje, meios interativos com os quais o usurio
constri hipteses, resolve problemas, desenvolve estratgias,
aprende regras, simula o real.

importante tambm citar que o desenvolvimento dos jogos


envolve equipes multidisciplinares desde projetista de jogos,
programadores, gerentes de produo, artistas, texturizadores a
roteiristas, psiclogos, fsicos, matemticos, testadores, modeladores

8
Elementos de Informtica

grficos, dentre tantos outros profissionais. H espao para muitos


perfis profissionais!

Acho que o pouco que foi dito j demonstra o potencial que essa
rea tem para as diversas reas do conhecimento, incluindo neste
meio, a Computao. Continue a leitura e conhea mais sobre essa
rea to atrativa e instigante.

Mais o que mesmo um jogo digital? Quais suas principais


caractersticas?

De forma simples, pode-se definir um jogo digital como sendo uma


atividade em que dois ou mais participantes competem para alcanar
um determinado objetivo tendo como base um conjunto de regras
e restries e usando o meio digital para isso. Como meio digital
podemos citar os computadores pessoais e consoles especficos
como o Xbox, o Playstation, o Gamecube, o Wii (Figura 1.4) e mais
recentemente incluem-se tambm o celular e a TV digital, dentre
outros dispositivos fsicos.

Figura 1.4 - Imagens de consoles de jogos

Um jogo digital se diferencia em diversos caminhos. Eles podem


ser diferenciados pelo gnero como velocidade, luta, corrida,
esporte, aventuras, ao, simulao; pela finalidade (educativos,
entretenimento, propaganda); e at pela mecnica tipo jogos de
plataforma como o clssico e famoso Mario Brothers. Contudo,
segundo Crawford (1986), h um conjunto mnimo de caractersticas
comuns que eles apresentam, so elas:

Representao: corresponde estrutura formada pelo conjunto

9
Elementos de Informtica

de regras, restries, ambiente, personagens e histria que


o jogo contem. Por exemplo, tomando como base um jogo
clssico bastante conhecido, o famoso Pacman (Figura 6.5),
popularmente chamado tambm de Come-come - jogo em
que o objetivo do jogador percorrer um labirinto comendo
o maior nmero possvel de bolas de energia. Nesse jogo, a
representao constituda pelo labirinto, pelas bolinhas de
energia, pelos fantasmas (oponentes do jogador) e pelas aes
que o jogador pode executar durante o jogo.

Interao: corresponde a uma das mais importantes


caractersticas de um jogo e que o faz diferenciado de outros
tipos de entretenimento digital. A interao representa a
capacidade do jogador de interagir, de selecionar estratgias
de jogadas e ao a cada instante. Essa uma caracterstica,
segundo muitos especialistas em Educao, que favorece
bastante o processo de ensino-aprendizagem, pois o jogador
tem a possibilidade de testar diferentes estratgias a cada
momento verificando os efeitos que a ao selecionada teve
no resultado do jogo. Retomando o exemplo do jogo Pacman, a
interao consiste na capacidade do jogador selecionar a cada
instante a direo e sentido que ele se mover no labirinto a fim
de comer o nmero mximo de bolas de energias evitando a
coliso com seus oponentes que no caso so os fantasmas.

Conflito: sem dvida, uma caracterstica que favorece a


motivao do jogador. Alguns especialistas afirmam que jogos
sem conflitos no conseguem sucesso, pois no so capazes
de prender a ateno do jogador por muito tempo. Sem conflitos
os jogos se tornariam muito fceis ou muito enfadonhos. No
Pacman, o conflito gerado pelos oponentes do jogo que
so os fantasmas, eles so capazes de tirar a vida do jogador
quando os mesmos colidem entre si.

Segurana: diz respeito capacidade do jogador poder assumir


papis que na vida real seriam custosos, perigosos e arriscados
sem prejuzos para a sua vida real. Por exemplo, em um jogo
digital de cassino o jogador pode apostar todo o seu dinheiro e
espera-se que nada disso tenha efeito em sua vida real.

10
Elementos de Informtica

Figura 1.5 - Imagens do jogo Pacman

Alm dessas caractersticas o jogo digital tambm apresenta um


conjunto de componentes bsicos essenciais como a interface, o
som, a histria, os personagens, os grficos e a jogabilidade. Sendo
este ltimo o componente fundamental para o sucesso do jogo, pois
mede o grau de diverso que o jogo proporciona ao jogador. pela
jogabilidade, por exemplo, que quase todos os jogos so avaliados.

1.2 Jogos Multiplataformas e Multiusurios

Jogos multiplataformas so aqueles que podem ser jogados se


utilizando de vrias plataformas ao mesmo tempo, isto , o jogo pode
ser jogado pelo PC, por um console como Xbox, Playstation, nitendo
wii, game cube, plataformas mveis como nitendo ds ou o psp e at
mesmo celulares.

J os jogos multiusurios vm se tornando um tpico de pesquisa


em grande evidncia. Estas aplicaes so simulaes interativas em
tempo-real que permitem que uma pessoa chamada jogador utilize um
computador conectado a alguma rede para interagir, em um ambiente
virtual com outros jogadores a fim de atingir um certo objetivo. Hoje,
jogos desse tipo pode conectar milhares de usurios ao mesmo
tempo, o caso do jogo World of Warcraft da Blizzard, popularmente
conhecido como Wow, que possuem cerca de 9 milhes de usurios
em todo o mundo.

O sucesso de jogos multiusurios fundamenta-se em certos

11
Elementos de Informtica

fatores, sendo que dois pontos merecem destaques: (1) a competio


entre humanos mostra-se mais atraente e desafiadora que as mais
avanadas tcnicas de inteligncia artificial utilizadas em jogos
multiusurios. (2) estes promovem aspectos sociais interessantes ao
permitir a interao entre participantes, mesmo sem um conhecimento
prvio entre os membros.

Figura 1.6 - Imagens do jogo Wow

Em jogos multiusurios online, os mundos so persistentes,


isto significa que mesmo o jogador no estando jogando, o mundo
persiste e est sendo constantemente atualizado pelas jogadas de
outros jogadores.

1.3 Mercado de Jogos

Mercadologicamente, a indstria de jogos tem rendido bilhes


de dlares superando inclusive a indstria de cinema. Como j
mencionamos, tem muita gente jogando e jogando muito! Por
exemplo, segundo o Departamento Britnico de estudos de
mercado a estimativa de fluxo para 2007 no mercado de jogos de
rendimentos de cerca US$ 21 bilhes. Estimativas similares tambm
so apontadas para os Estados Unidos e Japo. Nos prximos cinco
anos, o mercado de jogos deve crescer de 50% a 75%, seguindo uma
tendncia que vem consolidando seu desenvolvimento em todo o
mundo. Esse um dos motivos pelo qual essa indstria tem crescido
nos ltimos anos.

O crescimento dessa rea favorece indiretamente muitos setores.


Percebe-se, por exemplo, o estreitamento entre a academia e indstria
no sentido de buscar caminhos mais efetivos para o desenvolvimento
de jogos atravs de trocas de conhecimento como tambm a
formao de cursos especializados na formao de profissionais para

12
Elementos de Informtica

esta rea tanto na rea artstica como tambm em reas exatas como
a Computao e a Engenharia.

Assim, o mercado de jogos eletrnicos um grande setor na


economia mundial, movimenta capital, gera empregos, desenvolve
tecnologia e alcana diferentes janelas - consoles, computadores
e celulares. O fortalecimento deste tipo de negcio tem potencial
para gerar empregos e colaborar com o crescimento da economia
brasileira.

Em plena crise mundial, a indstria brasileira de jogos digitais


est em franca ascenso. Em 2008, houve um crescimento de 31%
na rea de software e 8% na parte de hardware (parte fsica de um
computador e de seus perifricos). A tendncia que continue a
crescer e se fortalea. A expectativa que essa curva esteja subindo,
afirma o presidente da Associao Brasileira de Desenvolvedoras de
Jogos Eletrnicos (Abragames), Winston Petty.

Recentemente, os jogos so produzidos no Brasil para


encomendas do mercado externo. Paran e Pernambuco so
plos importantes nesse mercado. O mercado brasileiro de games
movimenta aproximadamente R$ 120 milhes (jogos de PC, consoles
e revista - somente software). Isso no muito comparado com os
gigantes EUA, Japo e Europa, mas podemos melhorar muito esse
cenrio!

1.4 Desenvolvimento de Jogos Digitais

Desenvolver um jogo digital no um processo trivial, envolve o


esforo de vrias pessoas por um longo perodo de tempo, cerca de
2 a 4 anos de desenvolvimento, o que torna esse tipo de software
um investimento de risco. Alm disso, um jogo normalmente
representado por um software constitudo de vrias mdias como
sons, vdeos, textos, ambientes virtuais e tem como base sempre
tecnologias de ponta em termos de hardware e software. Dessa forma,
os desenvolvedores de jogos precisam conhecer antecipadamente
das tecnologias que esto sendo desenvolvidas e que ainda sero
liberadas no mercado, tudo com o intuito de proporcionar jogos cada
vez mais sofisticados, interativos, imersivos e, sobretudo, divertidos.

Alm disso, como dito, a equipe de desenvolvimento envolve


profissionais de diversos perfis, desde psiclogos, a msicos, fsicos,

13
Elementos de Informtica

programadores, projetista de jogos, artistas, roteirista, diagramadores,


testadores, programadores, dentre outros profissionais. Essa
variedade multidisciplinar acrescenta ainda mais complexidade a
esse desenvolvimento, pois necessrio estabelecer um meio de
comunicao efetivo para que todos integrantes da equipe entendam
o que deve ser desenvolvido, atividade essa, no trivial devido ao
perfil de conhecimento diferenciado de cada profissional, alm do
tamanho da equipe. Pense falar em programao a um msico ou
artista, por exemplo!

importante tambm saber que, quase sempre, o desenvolvimento


de um jogo envolve tambm o desenvolvimento de outros softwares,
Lembrete
como por exemplo, o desenvolvimento de motores especficos para
aplicao de inteligncia artificial, motores grficos, frameworks de
11
Entenda
como motor um desenvolvimentos, ferramentas auxiliares ao desenvolvimento como
"conjunto de
componentes editores de cenrios, de personagens e assim sucessivamente.
de software
integrados e Em termos de processo, tambm se pode acrescentar ao
reutilizveis
projetados desenvolvimento de jogos que este envolve diversas etapas, dentre
para facilitar o
desenvolvimento
essas, destacam-se a etapa de pr-produo e a etapa de produo
de jogos de do jogo.
computadores".
A etapa de pr-produo se destina ao desenvolvimento do
conceito do jogo. A finalidade do conceito definir o que faz o jogo
interessante, isto , que diferenciais ele possui em relao a outros
jogos de caractersticas semelhantes que o faz interessante para ser
produzido. Assim, essa etapa tanto contempla a definio da ideia
principal do jogo com as principais caractersticas como tambm
o estudo tcnico e econmico de sua viabilidade como produto
comercial em termos de custo, prazo, desenvolvimento e retorno
financeiro. No stio da Gamedev.net e Gamasutra.com possuem uma
vasta literatura a respeito desta etapa.

A etapa de produo bem mais extensa e representa toda a fase


de desenvolvimento propriamente do jogo projetado contemplando
desde as atividades de concepo detalhada do projeto de contedo
do jogo, a codificao, os testes e a liberao. No h um processo
de desenvolvimento padro, mas normalmente so encontradas as
fases listadas a seguir.

Projeto de jogo: a criao de qualquer jogo se inicia-se com


a fase de projeto (game design). Esta fase tem como objetivo
descrever detalhadamente todas as caractersticas que o

14
Elementos de Informtica

jogo dever apresentar como, por exemplo, a histria, os


personagens, os controles do usurio, objetivos, regras e assim
sucessivamente. Geralmente, essa etapa realizada por um
nmero pequeno de pessoas, tendo como produto final o que
comumente chamado de Bblia do Jogo. O projetista do jogo
tem trs grandes objetivos: apresentar uma srie de desafios
e situaes ao jogador; fornecer informaes suficientes para o
jogador de forma a permitir que ele decida como reagir a cada
momento; e oferecer um conjunto de aes que possibilite
ao jogador a tomada de decises e execuo de reaes
apropriadas.

Pesquisa: a partir de uma verso inicial do projeto de jogo,


pode-se fazer necessrio realizar uma atividade paralela de
pesquisa. Nessa etapa o objetivo analisar a viabilidade
tcnica do jogo em funo do estudo dos vrios componentes
que o jogo fornecer ter (e.g. tipo de grfico, formato de
arquivo, mecanismos de segurana, sons etc). Durante a
pesquisa poder identificar a necessidade de criao de
ferramentas auxiliares ao projeto do jogo como editores de
mapa, grficos, motores e assim por diante. O resultado dessa
etapa provavelmente acarretar em alteraes na bblia do
jogo.

Anlise e projeto: uma vez estabelecidos os requisitos do


jogo, passa-se a trabalhar na arquitetura do software que
prover tais requisitos. Tambm se estabelecem os padres
a serem seguidos e as tcnicas a serem utilizadas durante a
implementao.

Implementao: com a arquitetura definida, bem como


as ferramentas e engines auxiliares j estabelecidos e
disponibilizados, o jogo passa para etapa de codificao e
implementao de toda arte.

Testes Alfa/Beta: considera-se como verso alfa de


teste, a verso prottipo com, no mnimo, um exemplo
de cada caracterstica do jogo implementado, porm no
necessariamente com os grficos e sons na verso final. J
na verso beta, o jogo dever estar completamente codificado,
com todos os grficos, sons, nveis e qualquer outro dado
necessrio ao jogo. O objetivo dessa etapa encontrar e
corrigir todos os erros possveis. Uma vez corrigidos os erros,

15
Elementos de Informtica

novos testes devero ser executados; repetindo todo o ciclo de


teste.

Verso Gold: uma vez finalizadas as etapas de testes, o jogo


liberado para publicao, fechando a verso gold do produto.

H muito que dizer sobre jogos digitais, podamos falar das


tecnologias envolvidas, dos profissionais envolvidos, dos motores
utilizados, da gerncia e produo, dos testes, da programao e
muitos outros assuntos. Contudo, esse no nosso objetivo aqui,
nosso objetivo que voc conhecesse um pouco mais sobre o
mundo de jogos e percebesse as inmeras possibilidades que essa
rea oferece ao profissional da Computao. Espero que voc tenha
gostado do que leu.

Conhea Mais

Para voc que deseja mais conhecimento sobre o mundo de jogos


digitais, segue alguns sites muito interessantes.

Associao Brasileira das Desenvolvedoras de Jogos


Eletrnicos (Abragames). Disponvel em: http://www.
abragames.org/.

Game Cultura. Disponvel em: http://www.gamecultura.com.br/

Guia de desenvolvimento de jogos. http://www.sobresites.com/


desenvolvimentodejogos/

Gamasutra The Art & Business of Making Game. Disponvel


em: http://www.gamasutra.com

Gamedev.net. Disponvel em: HTTP://www.gamedev.net

Jogos Enternauta: dicas, cheat e cdigo. Os melhores jogos de


2008. Disponvel em: http://jogos.enternauta.com.br/jogos/os-
melhoresjogos-de-2008/. Acesso em: Jun/09.

CRAWFORD, Chris. The Art of Computer Game Design.


Disponvel em: http://www.vancouver.wsu.edu/fac/peabody/
game-book/Coverpage.html. Acesso em: Jun/09.

Associao de Software de Entretenimento. Disponvel em:


http://www.theesa.com/. Acesso em: Jun/09.

16
Elementos de Informtica

Captulo 2 Interface Usurio-


Computador

A interface de um sistema um fator de extrema importncia capaz


de influenciar a eficincia do mesmo. De acordo com Bel (1996), 86%
das pessoas que decidem no mais usar um programa, o fazem por
causa da interface, portanto ela deve ser capaz de repassar uma
recordao rpida ao usurio e ser atrativa. O usurio est inclinado a
fazer bom uso do software se a interface for fcil de aprender, simples
de usar, direta e amigvel.

Um aspecto importante na estruturao da interface o projeto


grfico, considerado uma atividade criativa realizada pelo projetista.
Para o melhor desempenho do projetista, necessrio o conhecimento
de alguns princpios relacionados distribuio dos elementos
grficos no momento da construo da interface, onde a organizao
dos elementos grficos deve ser feita no de uma forma emprica,
mas fundamentada em princpios cientficos necessrios para que a
mesma seja bem aceita pelos usurios.

A psicologia da Gestalt fornece subsdios tericos aplicveis


sua construo, no entanto, faz-se necessrio o estabelecimento de
relaes entre estes fundamentos e a sua aplicao.

O desenvolvimento de um projeto de interface exige tambm o


conhecimento de fatores humanos. Se os fatores humanos forem
levados em conta, o dilogo ser harmonioso e um ritmo ser
estabelecido entre o usurio e o programa. Se os fatores humanos
forem ignorados, o sistema quase sempre ser visto como no
amigvel.

Um dos principais fatores para a construo de uma boa interface


so as cores e a percepo. Agora, iremos ento, comentar um pouco
sobre esses dois fatores.

2.1 Percepo

Gestalt estabelece relaes atravs das quais as partes da


imagem so agrupadas na percepo visual:

Unidade

17
Elementos de Informtica

Segregao

Fechamento

Boa Continuidade

Semelhana

Proximidade

Pregnncia da Forma

Unidade

Uma unidade pode ser consubstanciada num nico elemento,


que se encerra em si mesmo, ou como parte de um todo. Numa
conceituao mais ampla, pode ser entendida como o conjunto de
mais de um elemento, configurando o todo.

As unidades formais, que configuram um todo, so percebidas,


geralmente, atravs de relaes entre os elementos (ou subunidades)
que as constituem. Uma ou mais unidades formais podem ser
segregadas ou percebidas dentro de um todo por meio de diversos
elementos como:

- Pontos, linhas, cores, texturas e outros, isolados ou combinados


entre si.

Figura 2.1 - Exemplos de Unidade

Segregao

Trata-se da capacidade perceptiva de separar, identificar,


evidenciar ou destacar unidades formais em um todo compositivo ou
em partes deste todo.

18
Elementos de Informtica

Figura 2.2 - Exemplo de Segregao

Pode-se segregar uma ou mais unidades, dependendo da


desigualdade dos estmulos produzidos pelo campo visual. Para efeito
de leitura visual, pode-se tambm estabelecer nveis de segregao.

Exemplo: identificando-se apenas as unidades principais de um


todo mais complexo.

Fechamento

O fator de fechamento importante para a formao de unidades,


pois as figuras fechadas so mais facilmente percebidas. No
fechamento visual, completamos visualmente um objeto incompleto.
Obtm-se a sensao de fechamento visual da forma pela continuidade
numa ordem estrutural definida, conforme imagens abaixo.

Figura 2.3 - Exemplo de Fechamento

Boa Continuidade

Trata-se da impresso visual de como as partes se sucedem


atravs da organizao perceptiva da forma de modo coerente, sem
quebras ou interrupes na sua trajetria ou na sua fluidez visual.
tambm a tendncia dos elementos de acompanharem uns aos
outros, de maneira que permitam a boa continuidade de elementos
com: pontos, linhas, cores, texturas, degrads e outros.

19
Elementos de Informtica

A boa continuidade atua, quase sempre, no sentido de se


alcanar a melhor forma possvel do objeto, a forma mais estvel
estruturalmente. Ela est relacionada coincidncia de direes, ou
alinhamento das formas dispostas.

Proximidade e Semelhana

Elementos pticos prximos uns dos outros tendem a ser vistos


juntos

1) Formam um todo

2) Unidades dentro de um todo

A semelhana ou igualdade de forma e de cor desperta a tendncia


de se construir unidade, isto , de estabelecer agrupamentos de
partes semelhantes. Elementos iguais tendem a ser percebidos em
conjunto pertencendo ao mesmo padro.

Figura 2.4 -Exemplo de Boa Continuidade

Pregnncia da Forma

Esta a lei considerada bsica da percepo visual de Gestalt,


visto que a percepo um ato unitrio, pois nenhuma pessoa
percebe aos pedaos. normal organizar as informaes dando ideia
de conjunto, ou seja, de forma unitria. Com isso, a pregnncia a
capacidade de perceber e reconhecer formas.

Figura 2.5 - Baixa Pregnncia e Alta Pregnncia

20
Elementos de Informtica

2.2 Cores

A compreenso e o uso efetivo das cores tm progredido


modestamente. So frequentes dvidas dos projetistas de interfaces
grfica, tais como:

Que cores eu devo usar?

Quantas cores eu devo usar?

Estas cores so apropriadas?

Como eu posso melhor-las?

Recomendaes sobre o uso das cores

recomendvel usarmos o mximo de cinco cores e o mnimo


de duas cores, porm para usurios novatos o uso de quatro
cores distintas mais apropriado.

Use azul para grandes reas ou formas pequenas. Vale


salientar que a cor azul boa para fundo de telas. J as cores
vermelho e verde so ideais para serem utilizadas no centro
do campo visual e no na periferia. Para usar na periferia do
campo visual, as cores mais adequadas so: preto, branco,
amarelo e azul.

Lembre-se de no usar simultaneamente alto croma ou cores


extremas espectralmente.

Para relaes figura-figura, fortes contrastes criam efeitos


indesejveis como vibraes, iluses de sombras e imagens
posteriores utilize:

Vermelho / Verde

Azul / Amarelo

Verde / Azul

Vermelho / Azul

Use cdigo de cores consistente e familiar com referncias


apropriadas, assim como que respeite as denotaes
(significado) comuns no ocidente.

Use a conotao (associao) de cores com muito cuidado,


pois elas variam muito entre diferentes usurios.

21
Elementos de Informtica

As cores devem ser utilizadas de acordo com o que se deseja


repassar para o usurio:

Alta iluminao: calor, ativo;

Baixa iluminao: melodramtico, romntico;

Alto croma: tenso, quente;

Matizes quentes: (vermelho, laranja e amarelo) atividade;

Matizes frios: (verde, azul, violeta, lils e cinzas) eficincia.

Deve-se utilizar a mesma cor para agrupar elementos


relacionados e no use uma cor particular para um elemento
que no esteja relacionado com outro elemento. importante
ser completo e consistente no agrupamento de cores.

Cores de fundo similares de reas relacionadas podem orientar


o usurio a reconhecer a ligao conceitual das duas reas
sem dicas explcitas.

Use o mesmo cdigo de cores para treinamento, teste,


aplicao e publicao. Uma vez estabelecido o cdigo de
cores, as mesmas cores devem ser usadas por todo o ciclo de
vida de disseminao e gerao de conhecimento.

Use cores brilhantes para:

Sinais de perigo;

Chamar a ateno de usurios experientes;

Chamar ateno de usurios que visualizam o monitor por


longos perodos de tempo.

Se possvel, use um cdigo redundante de forma e cor. Essa


abordagem ajuda o usurio com viso de cor deficiente,
assim como torna o monitor mais capaz de se recuperar das
distores de cores causadas pelas mudanas de luz ambiente.
A mudana de luz ambiente pode causar mudanas no matiz,
no brilho (valor) e no croma.

se a cor para aumentar a informao em preto e branco. No


que concerne ao aprendizado e compreenso, a cor superior
ao preto e branco em termos do tempo de processamento e
de reaes emocionais. A cor mais aprecivel, assim como a
memria para informao colorida tambm parece ser superior

22
Elementos de Informtica

quela em preto e branco.

Efeitos emocionais

Existem vrios estudos que comprovam a influncia das cores


sobre o estado emocional, a produtividade e a qualidade do trabalho.
O ser humano apresenta diversas reaes a cores que podem deix-
lo triste, alegre, calmo ou irritado. Vale ressaltar que as cores possuem
tambm diferentes simbologias, associaes e supersties, que
variam de acordo com a regio e a cultura.

Qual o objetivo do uso das cores?

O principal objetivo em apresentar a informao em cores


aumentar a habilidade do usurio em perceber e processar a
informao. Esse objetivo alcanado quando as cores podem
ser facilmente detectadas e discriminadas, assim como quando a
atribuio do significado da cor apropriada tarefa.

A aplicao da cor para mostrar as imagens e fundos deve facilitar


a correta percepo, reconhecimento e interpretao das imagens
e da informao. A atribuio da cor deve ser consistente com as
recomendaes ou padres da ergonomia e com as convenes
aceitas (ISO 9241-8). Os projetistas devem ter cuidado para no
utilizarem a cor como nica forma de expresso.

Quais as Vantagens?

Chamar ateno para informaes e dados especficos;

Mostrar realisticamente objetos naturais;

Representar a estrutura lgica de ideias;

Aumentar a credibilidade, memorizao e compreenso;

Mostrar qualidades e quantidades em um espao limitado.

Quais as Desvantagens?

Requer equipamentos de vdeo mais caros e complicados;

No levar em conta a viso deficiente para cor entre alguns


usurios (8% masculina);

Podem causar fadiga visual e imagens posteriores induzida por


cores fortes;

23
Elementos de Informtica

Pode ter associaes culturais e histricas negativas.

Cores utilizadas com fins estticos no devem impedir o


desempenho visual e o processamento da informao.

Fatores que afetam a percepo da cor

Os principais fatores que afetam a percepo da cor so os Fatores


externos e as Diferenas culturais e fisiolgicas entre os indivduos.
Vejamos como eles podem influenciar:

Fatores externos

Iluminao ambiente: as cores podem parecer diferentes


dependendo da iluminao: florescente, incandescente ou
luz do dia.

Geralmente a iluminao ser uma mistura destes fatores


e a luz do sol ter uma variao durante o dia.

Os monitores de computador variam muito na sua


calibragem, portanto no h garantia de que um esquema
particular de cor v parecer igual em outra tela.

Diferenas culturais e fisiolgicas entre indivduos

Idade: Pessoas idosas perdem sua habilidade em discernir


matizes azuis.

Idosos tm uma sensibilidade reduzida para cores, que por


sua vez pode requerer o uso de cores mais brilhantes.

O nmero de idosos que fazem uso da Web tem aumentado


muito.

Daltonismo:

2 % homens tm cegueira para o vermelho

6% tm cegueira para o verde, (8% cegueira para vermelho-


verde.

Sexo feminino s 0,5% das mulheres apresentam esta


cegueira (daltonismo)

Efeitos Indesejveis

Sangramento

24
Elementos de Informtica

Esse efeito observado quando uma determinada cor comea a


ter alguma coisa de outra cor que est em torno dela. Podemos citar
como exemplo: uma pequena rea de vermelho envolvida por uma
grande rea de azul pode comear a ter uma aparncia violeta.

Em alguns casos existem problemas em visualizar pequenas


reas em azul. O olho tem menos receptores azuis (os quais so mais
largamente separados) que receptores vermelhos ou verdes. Essa
uma boa razo para no usar azul para texto, pois este pode parecer
confuso. O mesmo efeito far com que uma pequena rea azul parea
mais desbotada do que uma grande rea da mesma cor.

Cor e movimento

Quando o vermelho e azul so usados simultaneamente o olho


pode tentar repetidamente empurrar cada cor da imagem dentro de
um foco preciso em rpidas sucesses. Podemos citar como exemplo:
texto vermelho brilhante no meio de um texto em azul.

No h profundidade inteiramente correta para focar. H evidncia


que o processo de diferentes profundidades de foco torna-se fatigante.

Que cores devo usar em textos?

Deve-se adequar o contraste figura/fundo para obter o melhor


resultado no que diz respeito ao contraste e legibilidade. Cores
quentes, como o vermelho, so adequadas para textos curtos, como
as mensagens de alerta, mas nunca devem ser usadas para um texto
longo. Tambm desaconselhvel o uso da cor azul para o texto (ou
figura) sobre um fundo escuro. Neste caso a melhor opo a cor
verde.

Que cores devo usar no background?

O background trata-se do fundo da tela. Para fundos com cores


quentes prefira tons pastis como o ocre, o creme e o amarelo. Nos
fundos com cores frias, evite os tons de azul que provocam o sono
nos leitores, j os tons de verde descansam. O verde e o vermelho
devem ser evitados para colorir contornos.

Mas afinal, de que composto o fundo de uma pgina na Web?

A escolha do fundo atende a duas propostas importantes:

Influenciar a aparncia, o equilbrio e a localizao de todos os


outros elementos da tela;

25
Elementos de Informtica

Completar os espaos vazios de modo que os outros elementos


no sejam objetos voadores.

Voc deve ter alguns cuidados na utilizao de texturas de


fundo nos textos de modo a garantir boa legibilidade. De uma
maneira geral, podemos dizer que os cuidados so:

Deve-se utilizar texturas com elementos que estejam em


escalas bastante reduzidas;

O contraste entre as cores e os tons de seus elementos deve


ser reduzido;

No utilize relevos com mistura de muitas cores e tons.

A probabilidade de erro utilizando texturas no fundo muito


grande. Por isso, o mais seguro utilizar cores neutras, pois aumenta
a legibilidade do texto informativo e tambm aumenta a velocidade de
transmisso dos dados.

Caso queira direcionar a ateno do usurio em pequenas reas,


utilize cores e texturas escuras. Mas ateno: o uso de cor escura em
toda a extenso da pgina aumenta o cansao visual. E lembre-se, o
fundo de uma pgina na Web no deve chamar mais ateno do que
a informao apresentada.

26
Elementos de Informtica

Captulo 3 Banco de Dados:


Uma Viso Geral

Vamos conversar sobre o assunto?

Neste captulo, vamos falar sobre a rea de Banco de Dados.


Pode at parecer uma rea nova, um termo desconhecido porm,
com certeza, at o final deste captulo, voc vai reconhecer diversos
Banco de Dados que fazem parte da sua rotina diria. Vamos l!

Hoje em dia, o termo banco de dados bastante popular


em diversas reas de atuao. Com o aumento da utilizao de
computadores na manipulao de dados que envolvem diversas
aplicaes, os bancos de dados esto sendo desenvolvidos e
aplicados em diferentes reas que envolvem o comrcio, a indstria,
instituies financeiras, pesquisas acadmicas, entre outras. Por
exemplo (veja Figura 3.1), uma conta bancria faz parte de uma
coleo imensa de contas bancrias que esto no banco de dados do
seu banco. Um produto que voc compra no supermercado faz parte
do cadastro de produtos que esto armazenados no banco de dados
do supermercado. Voc, enquanto estudante de uma UFRPE, deve
ter seus dados cadastrados no Banco de Dados da UFRPE, assim
como suas notas, os dados das disciplinas que cursou ou vai cursar,
entre outros. Tambm, o seu Ttulo Eleitoral ou o seu Cadastro de
Pessoa Fsica (CPF), certamente esto armazenados em Bancos de
Dados de grande porte.

Figura 3.1 - Coisas que podem estar armazenadas em um banco de dados

Mas o que vem a ser um Banco de Dados? Um Banco de


Dados (tambm chamado de Base de Dados) uma coleo de
dados relacionados, organizados e armazenados visando facilitar a
manipulao desses dados, permitindo realizar alteraes, inseres,
remoes e consultas. Os tipos de colees de dados so ilimitados

27
Elementos de Informtica

(dados de um produto, de um estudante, mapas, dados sobre genes


humanos, etc), ou seja, quaisquer aplicaes do mundo real que
possam ser representadas atravs de dados computveis, podero
ser armazenadas em um banco de dados.

Agora que j definimos o que um Banco de Dados, voc consegue pensar em


outros bancos de dados que fazem parte do seu dia-a-dia?

E por que devemos estudar Banco de Dados? Primeiro, se


voc gosta de programar computadores, voc vai precisar usar um
banco de dados para armazenar as informaes manipuladas pelo
programa. Se voc pensa apenas em utilizar programas ou aplicaes
Web, voc vai estar usando, indiretamente, um banco de dados,
pois apenas atravs dele as informaes podem ser persistidas, ou
seja, armazenadas em um local que permita posterior recuperao.
Adicionalmente, interessante pesquisar as inovaes nessa rea,
porque ela est em constante evoluo, medida que no mundo
moderno, no so apenas dados comuns que armazenamos, estamos
cada vez mais necessitando armazenar dados no-convencionais.
Como assim? No convencionais? Sim, pois mapas, fotos, vdeos,
imagens de satlite, entre outros, so dados no-convencionais, cada
vez mais manipulados pelas aplicaes ou programas modernos.

3.1 Alguns Conceitos Bsicos

Bom, antes de continuar, vamos dar algumas definies mais


formais e apresentar alguns conceitos bsicos relacionados rea de
Banco de Dados e que sero muito teis para o que ser apresentando
no restante desse captulo.

Dado um elemento que mantm a sua forma bruta (texto, imagens, sons, vdeos,
etc.), ou seja, ele sozinho no levar a compreender determinada situao.

comum ocorrer confuso entre os termos dados e informao,


pois ambos so tratados corriqueiramente como sinnimos, mesmo
em alguns livros especializados. Porm, o termo Dados envolve
fatos, imagens, sons que podem ou no serem teis para determinado
fim. Informao o dado, cuja forma e contedo so apropriados
para um uso especfico, ou seja, o conjunto de dados coletados de
forma a se tornarem aplicveis a determinada situao. A informao
no existe por si. Ela necessita de uma situao ou objetivo que
justifique a sua existncia. J conhecimento a combinao de

28
Elementos de Informtica

instintos, ideias, regras e procedimentos que dirigem pensamentos e


aes.

Vamos agora dar algumas definies mais formais para um banco


de dados.

"Um Banco de Dados uma coleo de dados operacionais


armazenados, sendo usados pelos sistemas de aplicao de uma
determinada organizao" (DATE, 1985).

"Um Banco de Dados uma coleo de dados relacionados"


(ELMASRI e NAVATHE, 1989).

"Um Banco de dados um conjunto de dados armazenados, cujo


contedo informativo representa a cada instante, o estado atual de
uma determinada aplicao" (LAENDER, 1990).

Na verdade, um banco de dados (daqui para a frente chamado


de BD) um modelo de uma determinada parte da realidade,
geralmente denominada de Universo de Discurso ou mini-mundo.
Um primeiro exemplo apenas para fixar seria considerar o mini-
mundo de uma Livraria. Esta livraria possui diversas caractersticas
que a definem, tais como, o seu nome, a sua localizao, os dados
dos seus proprietrios, os dados dos funcionrios que trabalham l,
os dados dos livros disponveis e de outros produtos que esto sendo
comercializados etc. Algumas destas caractersticas devero ser
descritas em um banco de dados, porm nem todas as informaes da
livraria devem ser de interesse, como por exemplo, a cor da pintura da
livraria, pois este um dado que no possui importncia nos negcios
realizados na livraria. Um primeiro passo, ento, na criao de um
BD da livraria, seria a identificao das caractersticas de interesse
para seus negcios, pois estes, geralmente, so os utilizados em um
programa de aplicao que ser utilizado na mesma. O mini-mundo
justamente a especificao da parte do mundo real que far parte da
implementao da livraria.

A manipulao dos dados armazenados em um BD feita por


um conjunto de programas computadorizados denominado Sistema
Gerenciador de Bancos de Dados (SGBDs ou DBMS Database
Management System). Um SGBD tem uma gama de funes pr-
implementadas que gerenciam as operaes de insero, remoo,
atualizao e consulta dos dados armazenados.

Os SGBDs e os Bancos de Dados juntos formam um ambiente

29
Elementos de Informtica

denominado Sistema de Banco de Dados (SBD). Pode-se definir


esse sistema como um ambiente cujo objetivo global registrar e
manter informao.

A Figura 3.2 representa o ambiente de um sistema de banco


de dados, que interage com os programadores (as pessoas que o
desenvolveram) e com os usurios finais (as pessoas que o utilizaro).
Num primeiro nvel as pessoas interagem com os programas de
aplicao (programas desenvolvidos em uma linguagem de aplicao),
que foram criados para os usurios finais utilizando-se uma linguagem
de consulta (linguagem prpria para acesso ao banco de dados). Esta
aplicao interage com o SGBD, que possui programas responsveis
por processar as consultas e acessar os dados armazenados, dentre
outras funes. Por fim, num nvel mais interno, encontra-se a base de
dados, separada em dois arquivos distintos, um contendo a definio
dos dados e outro contendo os dados propriamente ditos, ou seja, os
dados armazenados.

A separao da base de dados em dois arquivos distintos deve-


se ao fato de que para um conjunto de dados definida apenas uma
estrutura, que por suas caractersticas prprias altera-se pouco.
Por exemplo, define-se que o endereo do estudante deve ser um
campo alfanumrico com capacidade para armazenar 80 caracteres.
J os dados armazenados mudam muito uma vez que a cada nova
insero, alterao ou remoo de dados, os dados so modificados.
Por exemplo, o endereo da estudante Ana Maria Rua das Flores,
320. Mas, a qualquer instante esse dado pode ser modificado. Por
exemplo, ela pode passar a morar na Av. Abdias de Carvalho, 52.
Sendo assim, uma vantagem manter separados estes dois arquivos
com caractersticas distintas. O arquivo contendo a definio dos
dados o que podemos chamar de metadados, ou dados sobre os
dados. Ou seja, so dados cujo significado reflete caractersticas dos
prprios dados, como por exemplo, de que tipo este dado, qual o
seu tamanho etc.

30
Elementos de Informtica

Figura 3.2 - Sistema de Banco de Dados

E quais as vantagens de fazer uso de um banco de dados?

Reduo ou eliminao de redundncias - Possibilita a


eliminao de dados privativos de cada sistema. Os dados,
que eventualmente so comuns a mais de um sistema, so
compartilhados por eles, fazendo-os acessar o mesmo banco
de dados.

Eliminao de Incosistncias - A inconsistncia ocorre


quando um mesmo campo tem valores diferentes em sistemas
diferentes. Por exemplo, o estado civil de uma pessoa solteiro
em um sistema e casado em outro. Isto pode ocorrer quando
esta pessoa atualizou o campo em um sistema e no o atualizou
em outro. Quando o dado armazenado em um nico local (no
caso, o banco de dados) e compartilhado pelos sistemas, este
problema no ocorre.

Compartilhamento dos Dados - Permite a utilizao


simultnea e segura de um dado, por mais de uma aplicao ou
usurio, independente da operao que esteja sendo realizada.

Restries de Segurana - Define para cada usurio o nvel


de acesso a ele concedido (leitura, leitura e gravao ou sem
acesso) a tabela e/ou campo. Este recurso impede que pessoas
no autorizadas utilizem ou atualizem um determinada tabela
ou campo.

Padronizao dos Dados - Permite que os campos


armazenados na base de dados sejam padronizados segundo
um determinado formato de armazenamento (padronizao de
tabela, de contedo de campos, etc) e ao nome de variveis

31
Elementos de Informtica

seguindo critrios padres pr-estabelecido pela empresa. Ex.


Para o campo "Sexo" somente ser permitido armazenamento
dos contedos "M" ou "F".

Manuteno de Integridade - Exige que o contedo dos dados


armazenadas no Banco de Dados possuam valores coerentes
ao objetivo do campo, no permitindo que valores absurdos
sejam cadastrados. Exemplo: No permite por exemplo, um
funcionrio que faa no ms 500 horas extras, ou um aluno
que tenha nascido no ano de 1860 ou que uma data final seja
menor do que uma data inicial.

Independncia dos Dados Representa de maneira diferente


a forma fsica de armazenamento dos dados no Banco de Dados
e a recuperao das informaes pelos programas de aplicao.
Esta recuperao dever ser totalmente independente da
maneira com que os dados esto fisicamente armazenados.
Quando um programa retira ou inclui dados, o SGBD compacta-
os para que haja um menor consumo de espao no disco. Este
conhecimento do formato de armazenamento do campo
totalmente transparente para o usurio.

3.2 Classes de Usurios de um Sistema de


Banco de Dados

Diferentes grupos de pessoas esto envolvidos na criao e


utilizao de um Sistema de BD. Desde as pessoas que fazem a
anlise dos dados que devero constituir o BD, as pessoas que
projetam a construo deste, os programadores que iro implementar
o cdigo de criao e manipulao dos dados, at os usurios finais
do sistema.

Todas estas pessoas tm uma grande importncia no processo


de construo do sistema, cada qual realizando tarefas especficas.
A depender do porte do sistema, se for um sistema pequeno, por
exemplo, o nmero de pessoas envolvidas no processo pode ser
menor, muitas vezes uma pessoa pode acumular funes de analista,
projetista e programador. Em outros casos de sistemas muito grandes
uma equipe pode envolver um grande nmero de pessoas. Os papis
mais comuns das pessoas que trabalham com banco de dados so:

Administrador de Bancos de Dados (DBA Database

32
Elementos de Informtica

Administrator): a pessoa com a maior responsabilidade


sobre o BD. responsvel pelas tarefas mais importantes
relacionadas aos BD, dentre outras, por autorizar o acesso ao
BD das demais pessoas, coordenar e monitorar a sua utilizao,
controlar toda a parte da segurana.

Projetista de Bancos de Dados: a pessoa responsvel pelo


projeto de construo e utilizao do BD, envolvendo as tarefas
de definio de quais dados devero ser construdos e como
eles sero construdos. Pode ser uma pessoa ou um grupo de
pessoas, que ir interagir com outras classes de usurios, tanto
os analistas e programadores, como os chamados usurios
finais do sistema.

Analistas de Sistemas e Programadores de Aplicaes: so os


Engenheiros de Software, aquelas pessoas que determinam
as necessidades dos usurios finais e desenvolvem as
especificaes para as transaes que iro atender a estas
necessidades. Os programadores das aplicaes so as
pessoas que iro realmente implementar estas especificaes,
criando os programas que iro constituir o sistema e os
testando.

Usurios Finais: so as pessoas que utilizaro em seu dia-


a-dia o sistema desenvolvido para o BD. Estas pessoas
aparentemente iro interagir com o processo de criao do
BD apenas em suas ltimas fases, quando o sistema j estiver
pronto, porm isto no verdade. So estas pessoas que desde
o incio do processo iro fornecer aos projetistas e analistas do
sistema as informaes que estes precisam para realizar suas
tarefas. Existem diferentes nveis de usurios finais, que variam
desde os casuais, que pouco utilizam e conhecem o sistema,
at os usurios finais sofisticados, que entendem muito bem de
seu funcionamento.

Podem existir ainda alguns profissionais de apoio ou suporte para


realizar tarefas especficas como tirar backup (cpia de segurana)
dos dados armazenados no Banco de Dados.

3.3 Evoluo dos SGBDs

No comeo, no existiam banco de dados. Cada aplicao ou

33
Elementos de Informtica

programa desenvolvido para uma organizao tinha seu prprio


conjunto de dados e a descrio desses dados ficava dentro das
prprias aplicaes. Dessa forma, no havia compartilhamento
de dados entre as mesmas. Devido a isso, diversos problemas
surgiam, tais como redundncia de dados, inconsistncias, falta de
padronizao, falta de segurana no acesso aos dados, limitaes
no compartilhamento dos dados, entre outros. Os banco de dados
surgiram como forma de tentar resolver esses problemas (o que
voc pode observar pela definio de BD e vantagens anteriormente
apresentadas).

Os primeiros banco de dados surgiram nos anos 60, com o


surgimento dos bancos de dados hierrquicos e em rede, com acesso
sequencial aos dados e processamento em batch (em lote, vrias
instrues de uma vez), essa foi a chamada primeira gerao (vide
Figura 3.3). Nos anos 70 e 80, com os dispositivos de acesso direto
aos dados, surgem os sistemas de indexados e de processamento
transacional (cada operao deve ser completamente realizada, se
no o for, deve ser desfeita, esse o conceito de transao). Nos
anos 80, foram lanadas as bases do modelo relacional (dando
origem a segunda gerao) que impulsionou o uso e abriu caminho
para todos os SGBDs actuais.

Figura 3.3 - Evoluo dos Banco de Dados

Os banco de dados relacionais so compostos por um nico tipo


de construo: a tabela. Uma tabela composta de linhas (tuplas)
e colunas (atributos). O relacionamentos entre as tabelas so feitos
atravs do uso de valores de atributos. Por exemplo, na Figura 3.4,
a Tabela Empregados, precisa usar valores que esto, originalmente,
na tabela de Departamentos (Cod_Depto). Isso causa a necessidade

34
Elementos de Informtica

de um relacionamento entre as tabelas.

Figura 3.4 -Exemplo de Modelo Relacional

Depois, devido s necessidades do mundo moderno de manipular


dados complexos, surgiu a terceira gerao dos banco de dados,
como os banco de dados orientados a objetos e os banco de dados
objeto-relacionais.

Nos ltimos anos, para acompanhar a diversidade de novos dados


que iam surgindo (mapas, imagens, sons, vdeos, etc), comearam a
surgir diversos bancos de dados no-convencionais, tais como:

SGBD OO (Orientados a Objetos) Permitem armazenar objetos


e suas relaes;

SGBD Geogrficos armazenam informaes geogrficas


(mapas dos mais diversos tipos), dados climatolgicos, imagens
de satlite, etc;

SGBD Espacial armazena pontos, retas e polgonos;

SGBD Temporal armazena dados relacionados a perodos de


data e/ou hora

SGBD Espao-temporal armazena dados relacionandos a


dados de espao e tempo

SGBD Multimdia armazenam figuras, vdeos e sons;

Datawarehouses e On-Line Analitical Processing (OLAP)


banco de dados muito grandes que servem para a tomada de
deciso. So montados a partir de informaes coletadas em
sistemas coorporativos e BD departamentais. Tambm pode ser
enriquecido com informaes coletadas externamente como na
Internet.

Que tal pesquisar sobre esses bancos de dados no-convencionais? Indicaremos


algumas referncias no final do captulo para voc comear.

35
Elementos de Informtica

3.4 Modelo Entidade-Relacionamento

Para criar os dados em um banco de dados necessrio model-


los. Modelar o processo de transformar aspectos do mundo real
(fatos) em um modelo formal igualmente representativo no mundo
computacional. Esse processo se chama modelagem conceitual
e independe da forma que o banco ser implementado e de qual
ferramenta ser utilizada. No contexto da modelagem conceitual, o
modelo mais utilizado o modelo Entidade/Relacionamento (ER).
Esse modelo o mais popular para representao grfica do banco de
dados. Cada componente do banco de dados representado atravs
de um smbolo. Por exemplo, na Figura 3.5 representamos um trecho
de um banco de dados de uma Instituio Bancria. Nele duas tabelas
que fazem parte so CLIENTE e CONTA (tabelas so representadas
por retngulos). Essas duas tabelas se relacionam atravs do
relacionamento possui (representado por um losngulo). Cada tabela
tem suas caractersticas prprias ou atributos (representados por
elipses). Por exemplo, a tabela cliente tem os atributos RG, Nome,
Endereo e Cidade.

Modelar um banco facilita (e muito!) a implementao real do


mesmo posteriormente.

Figura 3.5 - Exemplo de Modelo Entidade-Relacionamento

3.5 Linguagem de Consulta SQL

A SQL (Structed Query Language) chamada de linguagem de


consulta, por causa do termo em ingls query, que poderia ser
traduzido para o portugus como consulta, mas que na verdade
significa mais que recuperar ou consultar dados, mas tambm
atualiz-los. A SQL formada pelas linguagens:

36
Elementos de Informtica

DCL (Data Control Language) a linguagem de controle de


dados, usada pelo DBA para controlar o acesso aos dados
pelos usurios. Possui comandos de atribuio e remoo de
privilgios.

DDL (Data Definition Language) a linguagem de definio


de dados que descreve a estrutura do BD, usada pelo DBA
e pelos projetistas. Possui comandos de criao, alterao
e excluso de tabelas e vises. Gera um catlogo a partir da
descrio dos dados.

DML (Data Manipulation Language) a linguagem de


manipulao de dados, que permite especificar operaes de
recuperao e alteraes dos dados do BD.

atravs da linguagem SQL que criamos, modificamos e


consultamos o banco de dados. Entre todos os comandos da SQL os
mais utilizados so os comandos de consulta aos dados, as chamadas
queries. Os comandos de consulta (os SELECT) so bem flexveis
e permitem consultar uma nica tabela ou vrias tabelas ao mesmo
tempo.

Que tal dar uma olhada na Internet sobre o comando SELECT da linguagem SQL?

3.6 Principais SGBDs de Hoje

Para finalizar esse captulo, vamos apresentar alguns dos


principais SGBDs disponveis no mercado nos ltimos anos.

Oracle um sistema comercial, mas possui verses gratuitas


para uso acadmico e/ou domstico (em casa). Ele foi o primeiro
em Banco de Dados Corporativo (cliente/servidor) possuindo
grande variedade de distribuies (para Macintosh, Windows,
Linux, FreeBSD, Unix) e para computadores de grande porte.
Nele a linguagem padro a SQL, mas possui tambm uma
linguagem prpria para desenvolvimento de aplicaes.

MicroSoft SQL Server o banco de dados comercial da


Microsoft. Inicialmente era uma verso especial do Sybase
(outro SGBD). As verses atuais so independentes e operam
exclusivamente sobre Windows.

IBM BD2 (Comercial) - Produzido pela IBM, nasceu nos

37
Elementos de Informtica

ambientes de grande porte, sendo posteriormente portado para


plataformas mais simples (microcomputadores).

Interbase (Comercial) - Foi includo, pela Borland, nas suas


ferramentas de desenvolvimento (Delphi, C++Builder, JBuider).
Teve uma verso liberada como Open Source.

MySQL (Gratuito para uso no-comercial) - Possui verses


para Windows, Solaris, Unix, FreeBSD, Linux e gratuito. Muito
poderoso, usado principalmente para desenvolvimento WEB
como servidor de dados para comrcio eletrnico. Passou a ser
considerado um SGBD de verdade (com conceito de transao)
a partir da veso 5.

PostgreSQL (Gratuito open source) - Gratuito e com boa


aceitao. Originalmente concebido para rodar em Linux.
Possui verses para Windows. Principalmente usado para
comrcio eletrnico juntamente com linguagem PHP.

Firebird (Gratuito open source) - Nascido de uma iniciativa


da Borland em abrir o cdigo do InterBase 6, este sistema
open source e esbanja versatilidade e robustez.

dBASE: Lanado pela Ashton-Tate, possua uma linguagem de


programao prpria para desenvolvimento de aplicaes, teve
verses para DOS e Windows, trabalhava com gerenciamento
de arquivos planos baseados em listas invertidas. A partir da
verso 7, os direitos foram vendidos pela Borland.

Access: padro em banco de dados para microcomputadores


do ambiente Windows. No considerado um SGBD completo,
por no possuir todas as caractersticas de um. Possui ambiente
integrado que permite a criao e gerenciamento do banco de
dados, desenvolvimento de aplicaes e gerao de relatrios.
A linguagem de programao usada neste ambiente deriva do
Visual Basic.

A escolha de qual SGBD usar depende muito do projeto sendo


desenvolvido e do quanto a empresa est disposta a investir para
armazenamento dos seus dados. Um SGBD gratuito e muito popular
nos dias de hoje o POSTGRE e vrios sistemas de instituies
pblicas vm adotando o mesmo. J no mundo corporativo, o Oracle
tem sido um dos mais adotados.

38
Elementos de Informtica

Aprenda Praticando

Qual a diferena bsica entre um Sistema Gerenciador de Banco


de Dados, um Banco de Dados e um Sistema de Banco de Dados?
Parece tudo a mesma coisa, no?

Voc Sabia?

Como em toda rea de informtica temos tambm certificaes


para quem pretende se especializar em BD.

Oracle Certification Program

Este o site oficial onde, voc pode encontrar todas as


informaes relacionadas aos Programas de Cerficaes da Oracle.
Uma certificao Oracle dar a credibilidade que voc merece para
seu conhecimento, a habilidade, e a experincia no trabalho como um
profissional Oracle e reconhecido no mercado que pode conduzi-lo ao
sucesso.

MySQL Certification

A certificao em MySQL uma garantia da qualidade elevada


de um profissional que esta habilitado em manter uma base de
dados MySQL. Sendo um Profissional Certificado, voc pode dar um
impulso em sua carreira, ter maiores chances no mercado de trabalho
e ainda assumir desafios maiores, adquirindo respeito e melhorando
as possibilidades para sua Companhia ou clientes.

Microsoft Certified Database Administrator (MCDBA)

Obtendo a credencial do MCDBA voc demonstra que tem as


capacitaes necessrias para liderar organizaes no projeto,
implementao e administrao de bancos de dados Microsoft SQL
Server.

Fonte: http://www.sobresites.com

39
Elementos de Informtica

Cinema em Ao

Para voc entender como os bancos de dados esto na sua vida,


sem nem mesmo voc perceber e como o contedo deles pode ser
precioso e usado para o bem ou para o mal, que tal dar uma olhada no
filme A REDE (The Net), com Sandra Bullock? um filme um pouco
antigo, porm, mostra bem como os dados armazenados em um BD
podem ser importantes.

A Rede

Aps receber um disquete com dados confidenciais, uma analista


de sistemas passa a viver um verdadeiro pesadelo, com seus dados
sendo alterados nos computadores do governo para que ela seja
considerada uma criminosa. Com Sandra Bullock e Jeremy Northam.

Referncias

KORTH, Henry F., SILBERSCHATZ, Abraham. Sistema de


bancos de dados. 3. ed. So Paulo : Makron, 1999.

DATE, C. J. Introduo a sistemas de bancos de dados. Rio


de Janeiro : Campus,1989.

SETZER, V. W. Banco de dados. 3.ed. So Paulo: Revista


Edgard Blucher, 1989.

ELMASRI R, NAVATHE SB. Fundamentals of database


systems. 2nd edition. The Benjamim/ Cummings, 1994.

DATE, C. J. Bancos de dados: tpicos avanados. Rio de


Janeiro : Campus, 1988.

Date, C.J., ,QWURGXomR_i_VLVWHPDV_GH_%DQFRV_


GH_DGRV__Ed. Campus - 1994.

Elmasri, R., SLVWHPDV_GH_%DQFRV_GH_DGRV__)


XQGDPHQWRV_H_$SOLFDo}HV__Ed.LTC - 2005.

Heuser, C.A. %DQFR_GH_DGRV___6*%_5HODFLRQDO__


Instituto de Informtica -UFRGS.

40
Elementos de Informtica

Korth, E.F., Silberschatz, A., 6LVWHPDV_GH_%DQFRV_


GH_DGRV__Makron Books -1995.

Revista SQL Magazine

http://www.devmedia.com.br/canais/default.asp?site=37

http://www.sqlmagazine.com.br

Livro(s) texto:

KORTH, H. F.; SILBERSCHATZ, A.; SUDARSHAN, S. Sistema


de Banco de Dados. Elsevier Editora, 2006.

HEUSER, Carlos Alberto. Projeto de Banco de Dados. 3. Ed.,


Porto Alegre : Sagra-Luzzatto, 2004.

Livros de referncia:

ELMASRI, R. & NAVATHE, S. B. Sistemas de Banco de


Dados. 4. ed., Pearson-Addison-Wesley, 2005.

COUGO, Paulo Srgio. Modelagem Conceitual e Projeto de


Banco de Dados. Elsevier Editora, 1997.

DATE, C. J. Introduo a Sistemas de Banco de Dados.


Elsevier Editora, 2004.

DATE, C. J. Banco de dados: tpicos avanados. Rio de


Janeiro : Campus, 1988.

BATINI, C.; CERI, S.; NAVATHE, S. B. Conceptual database


design: an entity-relationship approach. San Francisco :
Benjamim Cummings, 1992.

Sistemas de Banco de Dados. (Cap. 1) Abraham

Silberchatz, Henry F. Korth e S. Sudarshan. 3 Edio. Makron


Books, 1999.

Introduo a Banco de Dados (Apostila). (Cap. 1-3) Osvaldo


Kotaro Takai, Isabel Cristina Italiano, Joo Eduardo Ferreira.
DCC-IME-USP, 2005.

41
Elementos de Informtica

Captulo 4 Sistemas
Distribudos

4.1 Introduo

Aps introduzirmos o que uma rede de computadores e


conhecermos um pouco dessa rea da Computao, iremos
apresentar uma outra rea de pesquisa que est associada aos
softwares aplicativos que utilizam rede como infraestrutura.
Falaremos ento, no presente captulo, dos Sistemas Distribudos.

Voc sabe o que um Sistema Distribudo? Um sistema


distribudo caracterizado por um conjunto de computadores
autnomos, interligados atravs de uma rede, executando um
software distribudo, de modo que cada componente executa em um
computador diferente, contudo, d ao usurio, a ideia de um sistema
centralizado. Essa caracterstica que abstrai do usurio a separao
de componentes, dando a viso de um sistema centralizado,
conhecida com transparncia. A transparncia, sob o ponto de vista
da computao, apresenta um significado diferente do original. No
contexto de sistemas distribudos, a ideia principal abstrair o usurio
dos detalhes da separao dos componentes da aplicao. A figura
4.1 representa em linha gerais um sistema distribudo:

Figura 4.1 Viso Geral de um Sistema Distribudo

Os componentes das aplicaes distribudas comunicam-se


atravs de troca de mensagens na rede. Quando nos referimos a
softwares aplicativos se comunicando atravs de uma rede, devemos
ter em mente que no so os softwares que se comunicam, mas sim
seus processos. Podemos entender um processo como sendo um

42
Elementos de Informtica

programa que est em execuo tanto em um computador local, como


em um computador remoto, e a comunicao entre estes processos
dada atravs da troca de mensagens.

Um sistema distribudo composto por diversos recursos de


hardware e software que podem ser acessados por diversos processos
de usurio. Como um sistema ou aplicao distribuda executa sobre
uma rede de computadores, as redes so compostas por recursos
de hardware compartilhados, como por exemplo, impressora,
scaners, discos, etc. Esses recursos podem ser acessados por vrios
processos provenientes da prpria mquina ou de mquinas remotas.
Em um sistema distribudo, alm desses recursos de hardware,
podem ser encontrados recursos de software, tais como janelas,
objetos e programas. Sendo assim, em uma aplicao distribuda
existem recursos compartilhados de hardware e software.

Os sistemas distribudos tm papel de destaque atualmente


entre os sistemas de informao, pois apresentam evolues em
relao arquitetura centralizada. Todos os benefcios obtidos com
uma rede so observados em sistemas distribudos: comunicao,
e-mail, compartilhamento de recursos (impressoras, fax, HDs),
proporcionando a diminuio dos gastos. Alm disso, observa-se um
crescimento incremental no sistema, ou seja, cada nova mquina
inserida no sistema distribudo entra como consumidor de recursos,
mas tambm, como produtor em potencial, j que dispe de CPU,
memria e recursos em geral, que tambm podero ser acessados
por outros. A possibilidade de tolerar falhas tambm um ponto
positivo em relao aos sistemas centralizados, pois a falha em
um dos componentes no implica no comprometimento do sistema
completo. Nos ambientes centralizados, como por exemplo, os
avs dos computadores pessoais - os mainframes - existem vrios
terminais burros e recursos que esto vinculados a um nico ambiente
ou servidor. Ou seja, so vrios recursos consumidores vinculados a
um produtor de recursos.

Sistemas distribudos muitas vezes so confundidos com


sistemas operacionais distribudos, porm eles diferem em um ponto
fundamental: os sistemas distribudos apresentam a separao dos
componentes em um aplicativo. Os sistemas operacionais distribudos,
por sua vez, apresentam a separao de componentes no prprio
sistema operacional. Ou seja, para que o sistema operacional seja
carregado, todos os seus componentes distribudos precisam ser

43
Elementos de Informtica

ativados ou carregados. Dessa forma, percebe-se um acoplamento


muito forte entre os componentes de um sistema operacional
distribudo. Isso faz com que os custos para o seu desenvolvimento
sejam muito altos e que o hardware das mquinas/equipamentos
envolvidos sejam de arquitetura homognea.

4.2 Evoluo dos Sistemas Distribudos

Os sistemas distribudos evoluram a partir da dcada de 80 com


a evoluo das redes de computadores. As aplicaes passaram a
executar em microcomputadores interligados por redes e os seus
usurios passaram a esperar mais interao com o software, exigindo
menor tempo de resposta e uso de outras mdias (vdeo e udio).
Isso levou as aplicaes a terem requisitos mais rgidos, fazendo
com que novas alternativas de desenvolvimento de software fossem
utilizadas. A partir do momento em que se pensou em interconectar
computadores para executar aplicativos comuns, surgiram as
dificuldades de integrao e interconexo de componentes. O desafio
estava em como desenvolver software para o ambiente de rede,
lidando com as dificuldades de interconexo de componentes.

Os programadores das aplicaes distribudas lidavam com as


regras do negcio da aplicao que estavam desenvolvendo e com
os detalhes de baixo nvel que estavam associados ao modo como
as informaes eram colocadas no meio fsico de comunicao.
Isso tornava a tarefa de desenvolver aplicativos distribudos muito
complicada, pois eles perdiam muito tempo resolvendo erros de
comunicao e deixavam a desejar nas regras de negcio. Deste
ento, surgiu a necessidade de se criar mecanismos para facilitar o
trabalho daqueles que desenvolviam Sistemas Distribudos.

Nesse sentido surgiram as plataformas de distribuio, ou seja, para


suprir essa necessidade de facilitar o trabalho dos desenvolvedores
de software distribudo. As plataformas de distribuio oferecem
mecanismos de comunicao entre os componentes distribudos, em
tempo de execuo, deixando o desenvolvedor responsvel apenas
pelas regras de negocio de seu aplicativo.

Um exemplo bastante conhecido de plataforma de distribuio


o middleware. Esse software intermedirio, como prprio nome
sugere, est localizado entre o hardware e o software aplicativo. O
middleware esconde do programador os detalhes do baixo nvel,

44
Elementos de Informtica

fornecendo artifcios para facilitar o seu trabalho de desenvolver


aplicaes distribudas. O middleware tambm responsvel por,
em tempo de execuo, controlar as requisies e as respostas do
ambiente distribudo, gerenciando a comunicao. O middleware
pode ser observado no esquema em camadas da Figura 4.2.

Podemos entender o middleware como o responsvel pela


interface da aplicao com o sistema operacional provendo servios
e promovendo a troca de mensagens entre os componentes da
aplicao distribuda.

Existem vrios exemplos de middleware para sistemas distribudos.


Podemos citar o ORBS (baseados em objetos), os MOMs (baseados
em mensagens), os baseados em tuplas, os reflexivos, os sensveis
ao contexto, os baseados em servios, os orientados a procedimentos
dentre outros.

Figura 4.2 Esquema em Camadas

4.3 Modelo Cliente/Servidor

Voc j ouviu falar na arquitetura cliente/servidor? Voc sabia que


essa uma das possveis arquiteturas de sistemas distribudos? Se
no sabia, vai ficar conhecendo um pouco dos componentes e das
funcionalidades de tal arquitetura.

A arquitetura cliente-servidor composta por duas partes: de um


lado temos o cliente, que faz requisies, por exemplo, um pedido
de informaes ou uma pgina de um site; de outro lado temos o
servidor, que tem a funo de receber as requisies, process-las
e respond-las. Esta arquitetura ilustrada na Figura 4.3, utilizando
como exemplo a utilizao de um browser para o acesso a um
determinado site. Veja que neste caso o browser o aplicativo cliente
que faz um pedido ao um servidor, no caso o Google. Este servidor
processa o pedido e responde ao cliente. Veremos maiores detalhes
ainda esta seo.

45
Elementos de Informtica

Figura 4.3: Um exemplo da Arquitetura cliente-servidor do http

importante observar que o fato de ser cliente ou servidor,


depende do contexto da comunicao. Um processo pode ser cliente
de um outro, pois faz solicitaes. Mas tambm recebe pedidos de
um terceiro, sendo no ponto de vista dessa segunda comunicao, o
servidor. Esse modelo j bastante maduro, estando em uso a cerca
de 20 anos. Essa arquitetura ilustrada na Figura 4.4.

Figura 4.4: Modelo Cliente Servidor

Para garantir mais escalabilidade ao modelo, algumas variaes na


sua arquitetura foram propostas com o passar dos anos.Inicialmente,
precisa se ter em mente que a escalabilidade a capacidade do
sistema de atender s mudanas de demanda. Trazendo para o
modelo ciente/servidor, imaginaremos que o nmero de requisies
para um servidor aumente consideravelmente, tornando-se difcil o
seu atendimento. O sistema seria prejudicado e no conseguiria dar
retorno a todos os pedidos. Dessa forma, foi criada uma arquitetura
contendo um banco de servidores de um mesmo tipo e todos os
pedidos poderiam ser atendidos pelo banco. Assim, seria possvel
um balanceamento nos pedidos entre os servidores do pool,
aumentando, pois, a escalabilidade da arquitetura. Essa situao est
ilustrada na Figura 4.5.

46
Elementos de Informtica

Figura 4.5 - Poll de Servidores

4.4 Futuro das Aplicaes Distribudas

Com relao ao futuro das aplicaes distribudas, pode-se


dizer que a tendncia de ampliao do seu uso, uma vez que as
atuais aplicaes convergem para o ambientes mveis e ubquos,
como diversos tipos de redes e dispositivos se comunicando entre
si. O hardware e as redes para viabilizar essa arquitetura tm se
modernizado, sobretudo com a tecnologias 3G, porem isso no
suficiente. necessrio desenvolver software que integre esse
ambiente heterogneo, possibilitado a troca de informaes entre
dispositivos diferentes em servios de diversas naturezas. Para tal,
existe uma tendncia de desenvolvimento de padres e protocolos
de arquitetura abertas proporcionando a integrao de forma
transparente, com o mnimo de interferncia dos usurios das
aplicaes.

Como reflexo desta evoluo observa-se que o modelo n usurios


para 1 computador dos tempos dos mainframes evolui para 1
usurio para 1 computador da era dos computadores pessoais, e
atualmente evolui para o modelo 1 usurio para n computadores
da computao mvel ou ubqua. Nesta ultima etapa de evoluo,
o usurio pode dispor de 1 desktop, 1 notebook, 1 celular, 1 PDA,
dentre outros dispositivos e todos integrados e falando a mesma
lngua em um sistema de informao. Cada dispositivo roda porte de
uma aplicao que no se encontra por completo no dispositivo. Isso
caracteriza uma aplicao ou sistema distribudo conforme definido
no incio deste texto e ilustrado na Figura 4.6.

47
Elementos de Informtica

Figura 4.6 Evoluo das aplicaes distribudas

Aprenda Praticando

1) Defina middleware.

2) Explique o modelo Cliente/servidor.

3) Conceitue Sistemas Distribudos. Descreva as vantagens e


desvantagens de sistemas distribudos em relao a sistemas
centralizados.

Referncias

COULOURIS, George; DOLLIMORE, Jean; KINDBERG, Tim.


Sistemas distribudos: Conceitos e Projetos. Quarta Edio
Ed: Bookman, 2007

TANEMBAUM, Andrew; VAN STEVEN, Maarten. Sistemas


Distribuidos: Principios e Paradigmas. Ed: Prentice Hall Brasil,
2007

48
Elementos de Informtica

Captulo 5 Redes de
Computadores

5.1 Introduo

A grande quantidade de computadores pessoais sendo utilizada


no mundo inteiro j est chegando marca de 1 bilho. Um outro
dado importante neste contexto a rapidez da evoluo dos seus
principais componentes, como: processador, memria principal e
dispositivos de interconexo. Cada vez mais, usurios tm a sua
disposio equipamentos mais velozes e com maior capacidade de
armazenamento. Esse fator influencia decisivamente na necessidade
de comunicao entre as aplicaes. Vamos imaginar, por exemplo,
uma rea como jogos computacionais. Se voc, caro(a) aluno(a), gosta
dessa rea, sabe que a resoluo grfica e os efeitos visuais/sonoros
vm melhorando muito nos ltimos anos. Por exemplo, a realidade
alcanada pelos atuais simuladores de corrida impressionante.
Nos dias atuais, alm de voc contar com imagens de excelente
qualidade e udio muito semelhante realidade, podemos comprar
at equipamentos que podem ser integrados ao computador, como
volante e pedais. Neste ambiente, surge com muita naturalidade a
possibilidade de jogar em rede com um amigo seu.

Figura 5.1 Redes de computadores

Um outro bom exemplo o ambiente virtual de aprendizagem


(AVA) que voc utiliza no seu curso de Educao a Distncia. Desde
as funes mais simples, como envio e recebimento de mensagens,
at as mais complexas, inegvel que este tipo de tecnologia
veio ajudar, e muito, a aprendizagem a distncia. Recursos como
teleconferncia e videoconferncia, to importantes neste cenrio, s
puderam ser viabilizados no apenas pela existncia das redes de

49
Elementos de Informtica

computadores, mas em especial pelo desenvolvimento delas.

Essas novas demandas esto mudando a forma com que as


empresas usam as redes e, em especial, como vender seus produtos.
Imagine que voc fosse o produtor responsvel pelo jogo de simulao
ou pelo desenvolvimento do ambiente virtual de aprendizagem. Como
voc lidaria com a questo da conectividade? Voc seria capaz
de fazer essa produo sem nenhum recurso de comunicao?
Certamente que no.

Finalmente, como podemos caracterizar uma rede de


computadores? Se voc tiver dois ou mais computadores conectados
entre si em casa, voc tem uma rede. Se voc conectar a Internet de
qualquer lugar, voc tambm estar em uma rede de computadores.
Desta forma, como podemos saber o que exatamente uma rede?
De uma forma mais simples, podemos afirmar que uma rede consiste
em dois ou mais computadores conectados entre si. Um componente
fundamental para o computador entrar em uma rede a sua placa de
rede ou interface de rede (NIC network interface card). Atualmente,
a necessidade de se conectar a redes to grande que, via de regra,
esse componente j vem com essa placa/interface rede.

Outro ponto importante a ser destacado so os diversos tipos


de meios fsicos que podem ser utilizados na transmisso. As
redes utilizam diferentes meios de transmisso para o envio e
recebimento de mensagens, onde cada meio apresenta vantagens e
desvantagens. Os meios de transmisso sero alvo de estudo mais
detalhado na disciplina de Redes de Computadores, contudo, iremos
apresentar uma rpida viso dos mesmos. Podemos destacar quatro
tipos principais de meios de transmisso:

Cabo Coaxial

Antigamente, em se tratando de transmisso de dados, este


era o cabo mais utilizado. Ele formado basicamente por um
fio de cobre isolado e de grande espessura, sendo coberto
por um condutor cilndrico externo. Devido a sua construo
blindada, o cabo coaxial menos sensvel interferncia do
que o seu concorrente direto, o par tranado. Ele tambm
considerado um cabo leve, relativamente barato, flexvel e de
fcil manipulao.

Em termos de tamanho mximo de comprimento, estudos


mostram que o cabo coaxial pode chegar, em mdia, a 1

50
Elementos de Informtica

km. Contudo, ele vem perdendo mercado devido reduo


de custos e melhorias tcnicas experimentadas pelos seus
concorrentes, em especial cabo de par tranado e fibras pticas.
Ele tambm apresenta muitos problemas com mau contato.
Como exemplo, caro(a) aluno(a), se voc quiser conhecer um
cabo coaxial, basta olhar o utilizado pela sua televiso a cabo.
A arquitetura geral de um cabo coaxial apresentado na Figura
5.2.

Figura 5.2 Exemplo de cabo coaxial

Par Tranado

Meio de transmisso baseado em fios de cobre tranados aos


pares de em forma espiral. Em sua verso mais usual, so
usados 4 pares, totalizando 8 fios. Esses tranados visam
essencialmente eliminar o rudo eltrico e magntico causado
pelos pares adjacentes e de outras fontes, como motores e
transformadores. A Figura 5.3 apresenta uma ilustrao bsica
deste tipo de cabo.

Atualmente, em redes cabeadas, este o principal meio de


conexo utilizado, especialmente pelo seu baixo curso e por ser
amplamente difundido. Contudo, ele tido como lento e ruidoso
para a transmisso de dados (em comparao com outros
meios cabeados). O par tranado tambm sofre limitaes de
distncia (no consegue alcanar longas distncias). Se voc
quiser um exemplo deste tipo de transmisso, basta olhar para
trs do seu computador e observar um cabo azul que sai da
sua placa de rede.

51
Elementos de Informtica

Figura 5.3 - Viso interna de um cabo de par tranado

Fibra ptica

Uma fibra ptica um meio fino, flexvel, que tem a capacidade


de conduzir um feixe ptico. A transmisso ocorre atravs
de pulsos modulados de luz. Nenhum impulso eltrico
transportado no interior do cabo. Desta forma, logo de incio,
podemos afirmar que este um meio mais seguro para o
transporte de dados, pois no ter influncia de nenhuma
corrente eltrica (e toda corrente eltrica gera campos
magnticos).

A capacidade em transmisso da fibra ptica muito alta; na


prtica, centenas de Gpbs (gigabits por segundo, unidade de
transmisso em redes) podem ser trafegados neste meio. Esse
meio de transmisso apresenta tambm um menor tamanho
e menor peso do que os seus concorrentes (em situaes
muito adversas, essa pode ser uma vantagem crucial, como ao
passar pelas estruturas j pequenas dos nossos prdios).

Uma pergunta natural que pode surgir : com tantas vantagens,


ento por que no os usamos para tudo? A primeira razo
porque seu custo associado ainda muito elevado em relao
a seus concorrentes. Uma segunda razo tambm crucial
a exigncia de um suporte tcnico especializado para a sua
instalao e manuteno.

Redes sem fio

Um outro meio de transmisso existente que difere bastante em


relao aos j apresentados a transmisso sem fio baseada
em sinais de rdio. Esse meio de transmisso est sendo
vastamente usado em diversos contextos, especialmente
naqueles onde criar uma estrutura cabeada pode apresentar
muitas dificuldades.

52
Elementos de Informtica

5.2 Hardware de Rede

Agora que vimos o equipamento que voc deve ter no seu


computador para acessar uma rede de computadores (placa/interface
de rede) e os meios de transmisso que podem ser utilizados, como
fazer efetivamente para enviar/receber dados? Como acessar a
Internet?

Inicialmente, necessrio encaminhar as mensagens para os


seus destinatrios e administrar as comunicaes dentro de uma
rede. Dentro de uma rede, o responsvel por realizar a maioria
dessas funes o servidor. Este servidor, basicamente, tem como
funo autenticar usurios, armazenar pginas Web, armazenar
configuraes pessoais dos seus clientes, dentre outros. Eles podem
fazer funes bem mais avanadas, como permitir ou negar o seu
acesso Internet e bloquear a navegao para endereos indevidos
ou a utilizao de servios proibidos. Esses servidores possuem
softwares especficos para o correto desempenho do seu papel, como,
por exemplo, o Microsoft Windows Server 2008 e diversos softwares
servidores baseados no sistema operacional Linux.

Ainda neste cenrio, diversos outros equipamentos, alm do


servidor, so necessrios. Por exemplo, como voc iria fazer para
conectar um nmero razovel de computadores em uma sala de
aula (por exemplo, 30)? Iria ligar todos os computadores entre si?
Felizmente, existe um equipamento centralizador denominado hub
que faz a conexo entre os computadores. Basicamente, todos se
conectam diretamente no hub e o mesmo retransmite as mensagens
que so recebidas para todos os envolvidos.

Voc pode estar se imaginando que essa pode ser uma soluo
no muito eficiente. Imagine que, em uma reunio, voc precise se
comunicar especificamente com um dos seus chefes para alert-
lo de algum fato despercebido. O que seria mais eficiente, enviar
a mensagem diretamente para ele ou falar em voz alta para todos
da mesa a sua mensagem? Todos iriam para a reunio, olhar para
voc e analisar se aquela mensagem possa interessar de alguma
forma. Situao semelhante ocorre nas redes de computadores.
Ento, um outro equipamento de rede foi desenvolvido, o switch. Ao
invs do switch mandar todos os dados recebidos para os usurios
a ele conectados, ele envia os dados somente para o micro que
deve receber a informao. Voc pode ver um switch como um hub

53
Elementos de Informtica

inteligente. Resumindo: um hub simplesmente retransmite todos os


dados que chegam para todas as estaes conectadas a ele, fazendo
com que a rede fique muito lenta. Um switch encaminha a mensagem
apenas para o seu destinatrio correto, aliviando o congestionamento
na rede.

Os switches so comumente utilizados dentro de redes locais ou


individuais. Se voc quiser conectar duas ou mais redes distintas,
necessrio utilizar um dispositivo chamado roteador. Este
equipamento tem como funo principal escolher um caminho para a
sua mensagem chegar ao seu destino (inclusive, se tiver apenas um).
Em redes grandes, podem existir diversos caminhos, sendo o roteador
responsvel por escolher que caminho deve ser percorrido. Os
roteadores tm tambm a misso de interligar redes com arquiteturas
diferentes.

Por fim, importante lembrar que ns, usurios, precisamos


nos conectar a um provedor de servio Internet para ter acesso aos
diversos recursos que a grande rede nos fornece. Em geral, este no
um servio gratuito, e voc tem que pagar para ter esse acesso. O
usurio residencial em geral tem uma boa noo deste ponto, pois ele
em geral paga uma taxa a seu provedor de Internet para obter acesso.
A Figura 5.4 apresenta uma viso geral de como um usurio comum
(ns) fazemos para conectar Internet em nossas residncias, de
modo geral.

Figura 5.4 Modo pelo qual o usurio residencial conecta a Internet

5.3 Tipos de Redes

Existem diversos tipos de redes, cada qual com suas


especificidades. Desta forma, importante tentar classific-las
levando-se em considerao algum aspecto. Na verdade, existem
diversos aspectos que podem ser levados em conta para fazer esta
classificao.

54
Elementos de Informtica

O primeiro aspecto que pode ser levado em considerao o


tamanho da rede, em especial sua distncia geogrfica. Neste caso,
podemos classificar as redes em quatro tipos:

Rede Local. Tambm conhecida como LAN (Local Area


Network). Esse tipo de rede est associada a pequenos
espaos fsicos, geralmente restritos a um edifcio, andar ou at
mesmo uma sala deste edifcio. Normalmente, ela formada
por computadores pessoais e com um custo relativamente
baixo. Ela importante porque permite o compartilhamento
de recursos dentro da unidade de negcio (por exemplo, voc
no precisa comprar uma impressora para cada computador da
empresa; basta comprar um e compartilh-lo atravs da rede
local). Um exemplo prtico o laboratrio de informtica que
voc utiliza; ele formado por diversas mquinas conectadas
por um equipamento (geralmente, hub ou switch) limitadas por
um espao fsico pequeno (no caso, uma sala).

Rede de campus. Conhecida tambm como CAN (Campus


Area Network), essas redes so caracterizadas por serem
instaladas em rea bem especficas, como um centro/campus
de uma faculdade ou de um grande centro de pesquisa. Ela
comparativamente maior do que a rede local, contudo bem
menor do que a que veremos em seguida, a rede metropolitana.

Rede metropolitana. Conhecida tambm como MAN


(Metropolitan Area Network), esse tipo de rede ocupa um
tamanho intermedirio entre as LANs e as WANs. Existe uma
tendncia na no-utilizao de tcnicas tradicionais de rede,
como as redes cabeadas tradicionais. No atual contexto de
incluso digital que vivemos, disponibilizar Internet sem fio
para toda uma cidade vista como uma soluo mais social.
Uma MAN tem como objetivo bsico oferecer o servio com um
custo muito reduzido (e, s vezes, inexistente) e com qualidade
comparvel a do provedor tradicionalmente utilizado. Projetos
inovadores, como o Garanhuns Digital, so exemplos claros
deste tipo de rede.

Rede remota. Conhecida tambm como WAN (Wide Area


Network), as WANs normalmente cobrem uma considervel
rea geogrfica (estados, pases, continentes). Normalmente,
para se viabilizar a construo de uma rede deste porte,
uma srie de equipamentos (ex.: roteadores e servidores)

55
Elementos de Informtica

so necessrios. Qualquer mensagem enviada por um


cliente conectado a esta rede ir ser direcionada por esses
equipamentos at o seu destino. O grande exemplo que temos
de WAN a Internet, que a maior rede de computadores
existente neste planeta. A Internet uma rede global de
computadores geograficamente dispersos e ligados entre si
que compartilham informaes que so acessveis em qualquer
lugar. Pela sua grande popularidade, a Internet ganhou diversas
terminologias que vem sendo utilizadas em diversas obras,
como: Rede das Redes, A Grande Rede ou Rede Mundial
de Computadores. A Internet composta por centenas de
redes (LANs, CANs e MANs) espalhadas pelo mundo.

5.4 Software de Rede

Sabemos que no suficiente apenas que os computadores sejam


conectados atravs de meios fsicos para que tenhamos uma rede
em funcionamento. Para se ter uma rede, precisamos de hardwares
e softwares que trabalhem conjuntamente, cada um fazendo o seu
papel.

Para que dois computadores conversem necessrio que eles


falem a mesma lngua. necessrio um conjunto de regras para
coordenar esse dilogo entre computadores numa rede. A esse
conjunto de regras d-se o nome de Protocolo.

Um software de redes composto por um ou vrios protocolos.


Poderemos usar uma analogia entre regras e convenes existentes
em nossa sociedade. Por exemplo, no Brasil, dificilmente dois
homens se beijam ao se cumprimentarem. O gesto mais comum
neste cumprimento o aperto de mos. J as mulheres se
cumprimentam normalmente atravs de beijos no rosto. Porm,
nossos vizinhos argentinos se cumprimentam usando um beijo
no rosto, independentemente de ser um homem ou uma mulher
que o cumprimente. Isso se d devido a uma conveno local. Se
pensarmos em um outro exemplo, no prprio Brasil, a depender do
estado ou regio, as pessoas se cumprimentam com um, dois ou trs
beijos no rosto. Ou seja, essas regras e convenes estabelecidas
pela sociedade normalmente so cumpridas para que a comunicao
possa fluir sem atropelos. Similarmente, em um ambiente de rede, a
violao do protocolo dificultar a comunicao.

56
Elementos de Informtica

Figura 5.5

O HTTP, por exemplo, um protocolo para a World Wide Web.


Quando um navegador deseja uma pgina da Web, ele envia o nome
da pgina desejada ao servidor utilizando o HTTP. Este protocolo
especifica as regras para a comunicao entre navegadores e
servidores Web. As solicitaes HTTP so enviadas como texto
ASCII, com vrias palavras-chave que permitem diferentes aes.

Quem j escutou falar no IP? Se voc j escutou algo foi no


contexto de endereamento, ou seja, escutou algo do tipo Qual
o endereo IP da sua mquina?. isso mesmo. O IP um outro
exemplo de protocolo e responsvel pelo endereamento internet.
Cada mquina apresenta um endereo IP, atravs do qual, outras
mquinas podero enviar mensagens para ela usando a rede.

Estes e outros protocolos tambm utilizados na Internet sero


abordados com detalhes na disciplina de Redes de Computadores no
decorrer do curso.

Aprenda Praticando

Agora chegada a hora de voc praticar os conceitos aprendidos.


Para isso, alguns exerccios foram selecionados para voc avaliar
seu entendimento do nosso primeiro captulo. Voc dever procurar
entender os exerccios resolvidos e suas respectivas respostas com o
intuito de consolidar os conceitos aprendidos neste captulo.

Algumas questes dos exerccios propostos fazem parte das


atividades somativas que voc dever responder em relao ao
captulo 1, do Volume 1, de acordo com as orientaes e prazos
sugeridos pelo seu professor e tutor.

57
Elementos de Informtica

Lista de Exerccios Propostos

1. Explique, com suas palavras, o que uma rede de


computadores. Qual a motivao e quais vantagens para a sua
utilizao?

2. Faa uma breve descrio da rede do seu laboratrio de


informtica. Descreva, com os respectivos nomes, os principais
elementos fsicos que compem essa rede.

3. Quais os principais meios fsicos para transmisso de dados


atualmente? Faa um comparativo entre eles tomando como
base distncia mxima, velocidade e custo.

4. Defina e exemplifique as seguintes siglas: MAN, WAN e LAN.

5. Descreva os principais equipamentos de rede que uma LAN


geralmente deve possuir. Lembre-se que o cabeamento
tambm essencial para o funcionamento.

6. Imagine a situao hipottica que voc queira fazer uma


pequena rede em casa, com dois computadores. Baseando-
se no custo-benefcio, voc compraria um hub ou um switch?
Justifique a sua resposta.

7. Explique para que serve um protocolo considerando um


ambiente de comunicao de dados.

Conhea Mais

Caro(a) aluno(a), existe um vdeo muito interessante sobre os


conceitos fundamentais de redes de computadores e que mostra, de
uma forma divertida, todos os conceitos apresentados neste captulo.
O nome deste vdeo Warriors of The Net (Os Guerreiros da Rede).
O vdeo em ingls, mas tem verso legendada.

Ele pode ser encontrado facilmente em sites de vdeos como www.


youtube.com. Segue um link vlido para esse acesso direto: http://
www.youtube.com/watch?v=QTdR6SnE0zQ. No perca tempo,
assista ao vdeo quanto antes! So menos de 10 minutos.

58
Elementos de Informtica

Atividades e Orientaes de Estudo


Dedique, pelo menos, 2 horas de estudo para o Captulo 1. Voc
deve organizar uma metodologia de estudo que envolva a leitura dos
conceitos sero ditos apresentados neste volume e pesquisas sobre
o tema, usando a Internet e livros de referncia.

Vamos trocar ideias nos fruns temticos desta disciplina no


ambiente virtual, pois a interao com colegas, tutores e o professor da
disciplina ir ajud-lo a refletir sobre aspectos fundamentais tratados
aqui. Os chats tambm sero muito importantes para a interao em
tempo real com o seu tutor virtual, seu professor e seus colegas.

Tambm importante que voc leia atentamente o guia de estudo


da disciplina, pois nele voc encontrar a diviso de contedo
semanal, ajudando-o a dividir e administrar o seu tempo de estudo
semanal. Procure responder as atividades propostas como atividades
somativas para este captulo, dentro dos prazos estabelecidos pelo
seu professor, pois voc no ser avaliado apenas pelas atividades
presenciais, mas tambm pelas virtuais. Muitos alunos no acessam
o ambiente e isso poder comprometer a nota final. No deixe que
isso acontea com voc!

Vamos Revisar?

Neste captulo, voc aprendeu a definio e conceitos essenciais


associados a redes de computadores. Vimos a importncia das redes
nos dias atuais e quanto somos dependentes dela.

Comentamos sobre os principais meios fsicos que conduzem as


informaes numa rede de computadores (cabo coaxial, par tranado,
fibra ptica e redes sem fio) e sobre os equipamentos necessrios
a interconexo de redes, em especial hub, switch e roteador.
Aprendemos as principais e importantes funes associadas a cada
equipamento destacado.

Voc agora j sabe quais as principais diferenas conceituais entre


rede local (LAN), rede de campus (CAN), rede metropolitana (MAN) e
rede remota (WAN). No captulo 4, iremos conhecer um pouco sobre
as aplicaes distribudas, que so executadas sobre ambientes de

59
Elementos de Informtica

redes.

Referncias

ROSS, Keith W. ; KUROSE, James F. Redes de Computadores


e a Internet. Pearson Brasil, 2005.

TANEMBAUM, Andrew. Redes de Computadores. Campus,


2003.

TORRES, G. Redes de Computadores: Curso Completo.


Editora Axcel Books, 2002.

60
Elementos de Informtica

Consideraes Finais

Ol, cursista!

Esperamos que voc tenha aproveitado este livro da disciplina de


Elementos de Informtica.

Todos os assuntos aqui introduzidos sero alvos de estudo em


outras disciplinas do decorrer do curso de computao.

Nesse sentido, este livro j uma motivao para que voc fique
curioso(a) para as prximas reflexes sobre o que estuda cada rea
da cincia da computao.

At l e bons estudos!

61