Você está na página 1de 368

Curso Técnico em

INFORMÁTICA
Etapa 2
Autoridades Expediente
Utramig
CGP Solutions Ltda – EPP
Editoração, Impressão e Acabamento
Lindomar Gomes
Presidente Dilex Editoração Ltda.
Projeto Gráfico/Diagramação
Giovana de Souza Sampaio
Rocha Adriana Karine de Souza
Diretora de Planejamento, Gestão Revisão de Textos
e Finanças Gabriel Camillo
Pesquisa de Imagens e Links
Silvana Melo do Nascimento
Diretora de Ensino Pesquisa

Vera Victer
Diretora de Qualificação e
Extensão

Tatiane Soares de Paula


Utramig – Curso Técnico em Informática –
Diretora de Ensino a Distância Etapa 2
Responsabilidade Social / Inglês
Instrumental / WEB 2 – CSS / WEB 2 –
JavaScript / Banco de Dados II – SQL / Ambiente
Operacional II / Projeto de Qualidade de
Sistemas de Informação / Linguagem Técnica
de Programação I / Fundamentos de Análise.
Belo Horizonte: 2017.
368 páginas.
Curso Técnico em

INFORMÁTICA
Etapa 2

Professores Organizadores de Conteúdo

Cássio A. Brito
Tereza Sanguinete de Souza
Rômulo Leonardo Vieira Silva
Curso Técnico em

INFORMÁTICA
Etapa 2


Conteúdos Específicos Página

Responsabilidade Social............................................................................ 7
Inglês Instrumental.................................................................................. 63
Web 2 - CSS........................................................................................... 121
Web 2 – JavaScript................................................................................. 141
Banco de Dados II – SQL........................................................................ 159
Ambiente Operacional II........................................................................ 189
Projeto de Qualidade de Sistemas de Informação................................ 241
Linguagem Técnica de Programação I................................................... 287
Fundamentos de Análise....................................................................... 341
Curso Técnico em

INFORMÁTICA
Etapa 2

RESPONSABILIDADE SOCIAL
Responsabilidade Social

MENSAGEM DA COORDENAÇÃO
Prezado aluno,
Ao iniciar um novo semestre, um mundo novo de novos conhecimentos está se abrindo para
você.
É uma nova etapa, onde cada escolha que fizer fará a diferença, não só na sua vida, mas daqueles
que estão próximos a você.
Faça a escolha certa.
Faça a opção por mais conhecimento, por novos e incrementados desafios que, ao serem venci-
dos, trarão não somente a sensação de vitória, mas a sensação de que você é o responsável pelo seu
destino.
E, para iniciar esse novo semestre, essa nova etapa de sua vida deixa você com a tradução do
poema Invictus, do britânico William Ernest Henley, que inspirou ninguém menos do que o grande
Nelson Mandela (ele, por si só, uma inspiração constante).
Professora Juliceli Márcia de Oliveira

Invictus 

Dentro da noite que me rodeia


Negra como um poço de lado a lado
Agradeço aos deuses que existem
por minha alma indomável

Sob as garras cruéis das circunstâncias


eu não tremo e nem me desespero
Sob os duros golpes do acaso
Minha cabeça sangra, mas continua erguida

Mais além deste lugar de lágrimas e ira,


Jazem os horrores da sombra.
Mas a ameaça dos anos,
Me encontra e me encontrará, sem medo.

Não importa quão estreito o portão


Quão repleta de castigo a sentença,
Eu sou o senhor de meu destino
Eu sou o capitão de minha alma. 

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

9
Responsabilidade Social

SOBRE A DISCIPLINA
A disciplina Responsabilidade Social está presente no quadro curricular de todos os cursos téc-
nicos da Fundação de Educação para o Trabalho de Minas Gerais, UTRAMIG.
Em alguns dos cursos ela é ministrada na 1ª etapa, em outros, na 2ª etapa.
Como um dos seus objetivos, a disciplina Responsabilidade Social busca desenvolver nos estu-
dantes um olhar diferenciado, aquele que faz com que ele olhe outro ser humano e, verdadeiramente,
o enxergue. Um olhar que faça com que ele perceba aquilo que está a sua volta e, dessa forma, seja
capaz de atuar sobre realidades diferentes de forma positiva.
De acordo com OLIVEIRA (2011), “a disciplina Responsabilidade Social busca ultrapassar as fron-
teiras não somente da sala de aula, como da escola como um todo, ampliando e diversificando o espa-
ço de trabalho, além de, entre outras coisas, contextualizar o conhecimento, levando em consideração
todo o conhecimento prévio do estudante.”

SOBRE A APOSTILA
Esta apostila não pretende ser um manual, rígido, que engesse o professor e o impeça de de-
senvolver suas aulas de acordo com a turma, o curso e as circunstâncias que possam se apresentar.
Pelo contrário, pretende ser uma inspiração, para que o professor, a partir dela, possa construir
o melhor caminho para desenvolver o tão sonhado olhar diferenciado.
A apostila da disciplina Responsabilidade Social está estruturada em módulos, dessa forma, o
professor poderá definir a sequência em que os mesmos serão trabalhados, sem prejuízo algum para
a apreensão de conhecimentos por parte dos alunos.
Ao final de cada módulo há pelo menos um texto complementar sobre o assunto ou tema, de
alguma forma, a ele relacionado, para que os alunos possam se aprofundar ou para que o professor
possa utilizá-lo como base para uma atividade.
O conteúdo que aqui se apresenta é apenas uma parte de tudo que pode ser abordado na disci-
plina Responsabilidade Social. Cabe ao professor, junto com seus alunos, escolher entre tantos outros
caminhos que deseja percorrer. As possibilidades são infinitas.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

10
Responsabilidade Social

Sumário

Módulo I – Sensibilização................................................................................................................. 13
Para Refletir........................................................................................................................ 13
Fome e Miséria.................................................................................................................. 13
Trabalho Escravo................................................................................................................ 14
Trabalho Infantil................................................................................................................. 15
Violência............................................................................................................................ 16
Homicídios por Faixa Etária – 2008.................................................................................... 17
Violência contra a Mulher.................................................................................................. 18
Meio Ambiente.................................................................................................................. 19
Texto Complementar......................................................................................................... 20

Módulo II – Responsabilidade Social e Conceitos Relacionados..................................................... 26


Responsabilidade Social..................................................................................................... 26
Responsabilidade Social Empresarial ................................................................................ 26
Stakeholders...................................................................................................................... 27
Responsabilidade Social prevê: ......................................................................................... 27
Texto Complementar 01..................................................................................................... 28
Generosidade: o quarto elemento do “triple bottom line”............................................... 28
Texto Complementar 02..................................................................................................... 31
Relacionamento com partes interessadas......................................................................... 31

Módulo III – Reflexões sobre Responsabilidade Social.................................................................... 34


Social X Econômico............................................................................................................ 34
Instituto Ethos.................................................................................................................... 35
Federação das Indústrias de Minas Gerais – Fiemg........................................................... 35
Dia V................................................................................................................................... 36
Instituto de Pesquisa Econômica Aplicada – IPEA.............................................................. 36
Texto Complementar......................................................................................................... 37

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

11
Responsabilidade Social

Responsabilidade social empresarial e sustentabilidade para a gestão empresarial........ 37


Notas.................................................................................................................................. 39

Módulo IV – Assistencialismo X Sustentabilidade........................................................................... 40


Assistencialismo................................................................................................................. 40
Sustentabilidade................................................................................................................ 40
Texto Complementar......................................................................................................... 41
Artigo - O Assistencialismo e o Bolsa Família..................................................................... 41

Módulo V – 8 Objetivos de Desenvolvimento do Milênio............................................................... 43


Símbolos............................................................................................................................ 43
ODM1 – Acabar com a Fome e a Miséria........................................................................... 44
ODM 2 – Educação Básica de Qualidade para Todos......................................................... 44
ODM 3 – Igualdade entre Sexos e Valorização da Mulher................................................. 44
ODM 4 – Reduzir a Mortalidade Infantil............................................................................ 45
ODM 5 – Melhorar a Saúde das Gestantes........................................................................ 45
ODM 6 – Combater a AIDS, a Malária e Outras Doenças................................................... 45
ODM 7 – Qualidade de Vida e Respeito ao Meio Ambiente.............................................. 46
ODM 8 – Todo Mundo Trabalhando pelo Desenvolvimento.............................................. 46
Texto Complementar......................................................................................................... 47
Declaração Universal dos Direitos Humanos..................................................................... 47

Módulo VI – Programa 5 S................................................................................................................ 52


Texto Complementar......................................................................................................... 53
Brasil: sociedade do desperdício....................................................................................... 53

Módulo VII – Responsabilidade Social no Contexto Profissional.................................................... 55


Texto Complementar......................................................................................................... 57
Trecho retirado do artigo Responsabilidade social e voluntariado no Brasil, de
Renato Arcúrio................................................................................................................... 57
Fontes de Pesquisa........................................................................................................................... 61

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

12
Responsabilidade Social

MÓDULO I – SENSIBILIZAÇÃO
Este módulo tem como propósito apresentar a Responsabilidade Social para os estudantes, atra-
vés de estatísticas sobre temas extremamente importantes que fazem parte do nosso dia a dia.
Se estes temas não são vivenciados pelos estudantes, eles podem ser percebidos nas ruas das
cidades, nos noticiários. Ou seja, de uma forma ou de outra, “esbarramos” com as situações apresen-
tadas e, como cidadãos, temos que, no mínimo, refletir sobre as mesmas para, quem sabe, passarmos
de expectadores a protagonistas na busca por soluções.
Mas as situações que aqui são apresentadas são somente o início das discussões.
A cada estatística, os estudantes podem tanto aprofundar a discussão sobre o tema quanto mu-
dar totalmente o rumo pensado pelo professor – isto depende, sempre, da turma, do nível de conhe-
cimento prévio sobre o assunto e, principalmente, da bagagem que os estudantes da turma trazem
consigo, de suas vivências.
Não é raro que este momento se transforme em uma série de depoimentos acerca de experiên-
cias vivenciadas por eles, diretamente, muitas vezes.
Felizmente, também não é raro que estas experiências levem a “finais felizes”, recheados de de-
talhes que nos dizem o quanto cada um pode ser protagonista de sua história, mas também o quanto
é importante que pessoas, aparentemente distantes da situação, tomem partido e deem início ao
processo de mudança de vida de um indivíduo ou de um grupo.

PARA REFLETIR...

Fome e Miséria

Fonte: R7 Internacional, Disponível em http://noticias.r7.com/internacional/fotos/fome-seca-e-miseria-conheca-


-os-dez-piores-paises-para-ser-mae-08052013. Acessado em 02 Fev 2016.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

13
Responsabilidade Social

De acordo com o Relatório dos Objetivos de Desenvolvimento do Milênio, 2011, elaborado pela
ONU, pelo mundo, 1 em cada 5 trabalhadores e suas famílias estão vivendo em situação de extrema
pobreza.
Vive em situação de extrema pobreza, de acordo com o Banco Mundial, aquela pessoa que
tem renda mensal de até $1,25 por dia.

Fonte: R7 Internacional, Disponível em http://noticias.r7.com/internacional/fotos/fome-seca-e-miseria-conheca-


-os-dez-piores-paises-para-ser-mae-08052013. Acessado em 02 Fev 2016.

De acordo com o Censo 2010, o Brasil tem mais de 16 milhões de pessoas vivendo em situação
de extrema pobreza.

Trabalho Escravo

Fonte: Agência PT de notícias, Disponível em http://www.pt.org.br/governo-resgatou-50-mil-trabalhadores-em-si-


tuacao-de-escravidao/. Acessado em 02 Fev 2016.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

14
Responsabilidade Social

De acordo com a legislação brasileira, quatro são os itens que definem o trabalho em condições
análogas à escravidão:
• Trabalho forçado.
• Jornada exaustiva.
• Condição degradante.
• Restrição de locomoção.

De acordo com a Comissão Pastoral da Terra (CPT), de 1995 a 2011, foram resgatados 41,6 mil
trabalhadores, em situação análoga à escravidão. Destes, a ONG Repórter Brasil estima que 28,31%
eram maranhenses, o que faz desse Estado um dos principais quando se trata da origem da maioria
dos trabalhadores que vivem em situação análoga à escravidão no país.

Trabalho Infantil

Fonte: Lara Veras, Tribuna do Ceará. Disponível em http://tribunadoceara.uol.com.br/audios/tribuna-band-news-


-fm/apesar-de-reducao-ce-registra-140-mil-casos-de-trabalho-infantil-por-ano/. Acessado em 02 Fev 2016.

De acordo com a Pesquisa Nacional por Amostra de Domicílios 2012, PNAD, 3,5 milhões de
crianças e adolescentes entre 5 e 17 anos estão sujeitas ao trabalho infantil.
Apesar dos números altos, os mesmos representam uma diminuição de 5,41% em relação aos
números de 2011; ou seja, 156 mil crianças e adolescentes a menos.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

15
Responsabilidade Social

Composição da População Pesquisada


Número de pessoas
Faixa etária
(aproximado)
5 a 9 anos 81.000
10 a 13 anos 473.000
14 a 17 anos 3.000.000

Violência

Fonte: Mickhael Marcolino, Portal Mídia Urbana. Disponível em http://portalmidiaurbana.com/violencia-no-nor-


deste-se-equipara-a-paises-em-guerra-civil-aponta-ministerio-da-justica/. Acessado em 02 Fev 2016.

De acordo com a pesquisa Mapa da Violência 2010: Anatomia dos Homicídios no Brasil, reali-
zada pelo Instituto Sangari, em 2007 foram mais de 47,7 mil homicídios, ou seja, uma média de 131
vítimas diariamente.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

16
a. É na faixa “jovem”, dos 15 aos 24 anos, que os homicídios atingem sua máxima expressão,
principalmente na faixa dos 20 aos 24 anos de idade, com taxas em torno de 63 homicídios
por 100 mil jovens. Responsabilidade Social

Homicídios por Faixa Etária – 2008


Tabela 3.6.1. Número e Taxas de Homicídio por Idades Simples e Faixas Etárias. Brasil, 2008.

IdAdE/ HOMICídIOS
FAIxA EtÁrIA NúMErO tAxA
0 A 4 Anos 164 1,0
5 A 9 Anos 111 0,7
10 A 14 Anos 615 3,7
10 Anos 35 1,1
11 Anos 44 1,3
12 Anos 70 2,1
13 Anos 136 4,1
14 Anos 330 10,0
15 A 19 Anos 7.543 44,5
15 Anos 705 21,2
16 Anos 1.202 35,9
17 Anos 1.586 46,9
18 Anos 1.891 55,2
19 Anos 2.159 62,5
20 A 24 Anos 11.053 62,5
20 Anos 2.304 66,1
21 Anos 2.207 62,8
22 Anos 2.212 62,5
23 Anos 2.200 61,7
24 Anos 2.130 59,2
25 A 29 Anos 9.146 52,6
30 A 34 Anos 6.241 41,1
35 A 39 Anos 4.382 32,9
40 A 44 Anos 3.266 26,0
45 A 49 Anos 2.299 20,3
50 A 59 Anos 2.684 15,8
60 A 69 Anos 1.102 10,7
70 e mAis Anos 662 7,8
Fonte: SIM/SVS/MS
Tabela. “Mapa da Violência 2011: Os Jovens do Brasil”, Pag. 53 – Instituto Sangari. Disponível em http://www.san-
gari.com/mapadaviolencia/pdf2011/MapaViolencia2011.pdf. Acessado em 02 Fev 2016.
53

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

17
Responsabilidade Social

Violência contra a Mulher

Fonte: Discovery Mulher. Disponível em http://discoverymulher.uol.com.br/familia/violencia-contra-a-mulher/.


Acessado em 02 Fev 2016.

De acordo com a pesquisa Mapa da Violência 2012 – Caderno Complementar 1: Homicídios de


Mulheres no Brasil, realizada pelo Instituto Sangari, em um período de 30 anos, de 1980 a 2010, 91
mil mulheres foram assassinadas. 43,5 mil somente na última década.
Nesse período de 30 anos, o número de mortes aumentou cerca de 217,6%, passando de 1.353
para 4.297 mortes.

Idosos

Fonte: Lusa, SAPO. Disponível em http://www.sapo.pt/noticias/portugal-deve-ter-quase-16-de-idosos-com-


-80_560a6aa675a2ae1177e29975. Acessado em 02 Fev 2016.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

18
Responsabilidade Social

De acordo com o Instituto Brasileiro de Geografia e Estatística, IBGE, no Brasil existiam 21 mi-
lhões de pessoas com 60 anos ou mais, em 2012.
A Organização Mundial de Saúde, OMS, estima que o Brasil será o 6º país em número de idosos,
em 2025, quando deverá chegar a 32 milhões de pessoas com 60 anos ou mais.

Meio Ambiente

Fonte: Agência Brasil. Disponível em http://www.ebc.com.br/noticias/meio-ambiente/2013/09/ibama-intensifica-


-fiscalizacao-para-combater-desmatamento-ilegal-na-0. Acessado em 02 Fev 2016.

De acordo com o Instituto do Homem e Meio Ambiente da Amazônia, IMAZON, em novembro


de 2013, foram detectados 37 km2 de desmatamento na Amazônia Legal, representando 33% de que-
da em relação ao mesmo período em 2012, quando foram desmatados 55 km2.
Apesar da diminuição no desmatamento, em novembro de 2013 foi possível monitorar somente
42% do território da Amazônia, enquanto que, em novembro de 2012, foi possível monitorar 50%.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

19
Responsabilidade Social

TEXTO COMPLEMENTAR
Perguntas e respostas sobre trabalho escravo e a PEC 57A/199 (ex PEC 438/2001)

Produzido pela Repórter Brasil a pedido da Comissão Nacional para a Erradicação do Trabalho Escra-
vo (Conatrae).

1) Em poucas palavras, o que é trabalho escravo?


É quando o trabalhador não consegue se desligar do patrão por fraude ou violência, quando é
forçado a trabalhar contra sua vontade, quando é sujeito a condições desumanas de trabalho ou é
obrigado a trabalhar tanto e por tantas horas que seu corpo não aguenta.

2) O conceito de trabalho escravo é frágil?


Não, não é. O artigo 149 do Código Penal, que prevê de dois a oito anos de cadeia para quem se
utilizar dessa prática, é de 1940 e foi reformado em 2003 para ficar mais claro. Ele prevê o crime em
quatro situações: cerceamento de liberdade de se desligar do serviço, servidão por dívida, condições
degradantes de trabalho e jornada exaustiva.

3) Quem concorda que o conceito atual é bom?


Tribunais já utilizam, sem problemas, o conceito de trabalho escravo. A maioria dos ministros
do Supremo Tribunal Federal tem aceitado processos por esse crime com base no artigo 149. A Orga-
nização Internacional do Trabalho reconhece o conceito brasileiro. A relatora para formas contempo-
râneas de escravidão das Nações Unidas, Gulnara Shahinian, elogia o conceito brasileiro (ao contrário
do que querem fazer crer algumas declarações de parlamentares que distorceram suas palavras). O
governo federal, as empresas do Pacto Nacional pela Erradicação do Trabalho Escravo (que reúne as
maiores empresas do país) e organizações sociais brasileiras defendem a manutenção do atual con-
ceito de trabalho escravo.

Fonte: Repórter Brasil, Especial: PEC do trabalho escravo. Disponível em <http://www.trabalhoescravo.org.br/con-


teudo/trabalhoescravoemimagens>. Acessado em 02 Fev 2016.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

20
Responsabilidade Social

4) Vale a pena ceder um pouco no conceito para aprovar a PEC?


Não. Todo o sistema de combate ao trabalho escravo no país está fundamentado no atual con-
ceito de trabalho escravo. Se ele for alterado, o sistema desmorona e milhares de trabalhadores fi-
carão sem receber seus direitos. Além disso, pela Constituição, o Brasil não pode retirar proteção do
trabalhador – o que aconteceria com mudanças no conceito como querem alguns parlamentares.

5) “Condições degradantes de trabalho” e “jornada exaustiva” são termos imprecisos, não?


De forma alguma. O que está tutelado no artigo 149 não é apenas a liberdade, mas sim a dig-
nidade da pessoa humana. Ou seja, é importantíssimo que se mantenha a punição para quem des-
respeita a dignidade do trabalhador, sujeitando-o a condições de alojamento, alimentação, trabalho,
saúde, segurança desumanas. Ou que o obrigue a trabalhar tanto e por tantas horas que o seu corpo
não suporte e ele acabe morrendo. Os auditores fiscais do trabalho utilizam instruções normativas e
normas regulamentadoras para cumprir seu papel. Mas a Justiça utiliza a CLT e a Constituição para
julgar se o trabalho é degradante ou não e se a jornada é exaustiva ou não. Ou seja, leis mais do que
consolidadas no país.

6) O atual conceito causa insegurança jurídica no campo porque ninguém sabe o que é traba-
lho escravo.
Isso é uma falácia. A tentativa de mudar um conceito conhecido e aplicado é que vai levar à
insegurança jurídica, com milhares de processos tendo que tomar um novo rumo, trabalhadores des-
conhecendo seus direitos, produtores rurais na dúvida de que decisões tomar. Até porque qualquer
mudança, seja no artigo 149, seja em lei específica, será questionado não apenas junto ao STF, por
reduzir a proteção do trabalhador, mas também nas Nações Unidas e na OIT. O que é melhor? Um
produtor reconhecer esse conceito como válido e se adequar ou uma guerra jurídica de anos, sendo
que certamente o Supremo concederia liminar para que a definição do 149 seguisse valendo até uma
decisão final? Os parlamentares consideram o conceito inseguro porque, na verdade, não concordam
com ele.

Fonte: Repórter Brasil, Especial: PEC do trabalho escravo. Disponível em <http://www.trabalhoescravo.org.br/con-


teudo/trabalhoescravoemimagens>. Acessado em 02 Fev 2016.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

21
Responsabilidade Social

7) Há produtores rurais que foram autuados por trabalho escravo devido à distância entre
beliches, espessura do colchão, falta de copos para beber água, de carteira assinada e de um local
adequado para refeições.
Esse é um argumento facilmente desconstruído. Quando um auditor fiscaliza um produtor, ele
emite autos de infração sobre todos os problemas encontrados. Mas não é auto de infração de col-
chão fino que configura o trabalho escravo. Quando ouvir um produtor ou parlamentar dizer isso,
pergunte sobre os outros autos de infração recebidos, sobre os quais nunca alguém quer falar. Além
do mais, não é apenas um auto que caracteriza trabalho escravo, mas um pacote deles, mostrando as
péssimas condições dos trabalhadores.

8) Gostaria de alguns números sobre trabalho escravo.


- De 1995, quando o governo federal criou o sistema público de combate a esse crime, até 2012,
43.545 pessoas foram libertadas do trabalho escravo no Brasil.

- No mundo, a estimativa da OIT é que sejam, pelo menos, 21 milhões de escravos*.

- Não há estimativa confiável do número de escravos no país. Por isso, o governo não usa ne-
nhum número.

- Na zona rural, as principais vítimas são homens, entre 18 e 44 anos. Na zona urbana, há tam-
bém uma grande quantidade de sul-americanos, principalmente bolivianos. Nos bordéis, há mais mu-
lheres e crianças nessas condições.

- Dos libertados entre 2003 e 2009, mais de 60% eram analfabetos ou tinham apenas o quarto
ano incompleto. Ou seja, eram adultos que não estudaram quando crianças. Trabalho escravo tam-
bém é filho do trabalho infantil.

- O Maranhão é o principal fornecedor de escravos e o Pará é o principal utilizador.

- As atividades econômicas em que trabalho escravo mais tem sido encontrado na zona rural
são: pecuária bovina, desmatamento, produção de carvão para siderurgia, produção de cana-de-açú-
car, de grãos, de algodão, de erva-mate, de pinus. Também há importante incidência em oficinas de
costura e em canteiros de obras nas cidades.

9) Por que se usa a expressão “trabalho análogo ao de escravo”?


Porque o trabalho escravo foi formalmente abolido em 13 de maio de 1888 e o Estado passou a
considerar ilegal um ser humano ser dono de outro. O que permaneceram foram situações semelhan-
tes ao trabalho escravo, tanto do ponto de vista de cercear a liberdade quanto de suprimir a dignidade
do trabalhador.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

22
Responsabilidade Social

Fonte: Repórter Brasil, Especial: PEC do trabalho escravo. Disponível em <http://www.trabalhoescravo.org.br/conteudo/


trabalhoescravoemimagens>. Acessado em 02 Fev 2016.

10) Em caso de aprovação da PEC 57A/1999 (que na Câmara estava sob o número 438/2001),
a decisão de confisco da terra ficará na mão dos auditores fiscais do trabalho?
Não. O processo que levará ao confisco terá início após decisão judicial transitada em julgado
na esfera criminal ou trabalhista. Ou seja, a operação de fiscalização será avaliada pela Justiça em
primeira instância e, provavelmente, em segunda instância e por tribunais superiores. O que pode
levar anos para acontecer.

11) Por que a PEC 57A/1999 (ex- 438/2001) não diz nada sobre como ocorrerá o confisco de
terras?
Por isso ficar a cargo de lei que regulamentará todo o processo. Uma proposta de rascunho des-
sa lei foi organizada pelos parlamentares favoráveis à PEC.

12) Confiscar propriedades está previsto na Constituição?


Sim, está. A PEC inclui o trabalho escravo no artigo 243 da Constituição, que já prevê o confisco
de terras com plantações de psicotrópicos. Além disso, a Constituição prevê que toda a propriedade
deve ter função social. Trabalho escravo é uma das maiores negações aos direitos humanos, repudia-
do em todo o mundo. Portanto, quem usa trabalho escravo não está cumprindo a função social de sua
propriedade.

13) A verdadeira intenção dessa lei é a reforma agrária, pois muitas terras serão confiscadas.
Não. Considerando o confisco de terras com psicotrópicos, já em vigor, de 2003 a 2007, 18
propriedades nessas condições – todas elas no Nordeste e com uma área total aproximada de 5.200
hectares – foram destinadas a assentamentos. De acordo com a Coordenação Geral de Polícia de
Repressão aos Entorpecentes da Polícia Federal, apenas em 2004, 36 plantações de maconha foram
destruídas em todo o país. Repare que o número de confiscos é pequeno se considerada a quantidade

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

23
Responsabilidade Social
de plantações encontradas e destruídas devido ao rigor das decisões judiciais. Ou seja, apenas um
número reduzido daqueles que forem flagrados é que devem perder efetivamente suas terras.

14) Não é justo apenas produtores rurais perderem suas propriedades. Por que a PEC não pas-
sa a valer também para o meio urbano?
E ela vale. Devido a um pedido de parlamentares ligados aos produtores rurais, o texto da PEC
incorporou os imóveis urbanos em 2004.

15) O condenado por trabalho escravo irá perder todas as terras que possui por conta da lei?
Não. Apenas aquela em que trabalho escravo foi encontrado.

16) Para que criar mais uma lei para combater trabalho escravo?
As leis existentes não têm sido suficientes para resolver o problema. Mesmo com a aplicação de
multas, o corte do crédito, a perda de clientes, os processos trabalhistas e criminais, usar trabalho es-
cravo ainda é um bom negócio para muitos empresários porque barateia os custos com mão de obra.
A prática tem demonstrado que uma medida drástica, que coloque em risco a perda da propriedade
em que foi utilizado trabalho escravo, ajudará a coibir com eficiência esse crime.

Fonte: Repórter Brasil, Especial: PEC do trabalho escravo. Disponível em <http://www.trabalhoescravo.org.br/con-


teudo/trabalhoescravoemimagens>. Acessado em 02 Fev 2016.

17) O que vocês chamam de trabalho escravo é apenas a cultura da região. 


A justificativa é falsa, embora seja comumente usada por alguns produtores rurais. Mesmo que
a prática fosse comum em determinada região – o que não é verdade, pois é utilizada por uma mino-
ria dos produtores rurais – jamais poderia ser tolerada. Todo e qualquer crime deve ser combatido,
com maior força exatamente onde for mais usual a sua prática. O desrespeito à dignidade ou o cer-
ceamento da liberdade não podem ser encarados como manifestação cultural de um povo, mas sim
como a imposição histórica da vontade dos mais poderosos. Além do mais, essa suposta “cultura da
região” é compartilhada apenas por aqueles que concordam com o trabalho escravo, uma vez que a

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

24
Responsabilidade Social

população mais pobre, vítima da escravidão, tem lutado desde a década de 70 para que seus direitos
sejam efetivados.

18) A fiscalização abusa do poder e é guiada por um viés ideológico. A Polícia Federal entra
armada nas fazendas.
As equipes móveis de fiscalização (compostas por auditores do Ministério do Trabalho e Empre-
go, procuradores do Ministério Público do Trabalho, policiais federais ou policiais rodoviário federais)
devem ir prevenidas às ações de fiscalização uma vez que muitos seguranças, gatos, prepostos, ge-
rentes e vaqueiros das fazendas andam armados para intimidar trabalhadores. De revólveres a rifles,
o arsenal de algumas fazendas não é pequeno. Muitas vezes as equipes de fiscalização têm suas vidas
ameaçadas, tendo sido recebidas a bala. Além disso, cabe também à Polícia Federal abrir inquéritos e,
se necessário, prender os culpados quando confirmado o flagrante do crime.
19) A culpa não é do fazendeiro e sim de gatos, gerentes e prepostos. O empresário não sabe
dos fatos que ocorrem dentro de sua fazenda e por isso não pode ser responsabilizado.

O empresário é o responsável legal por todas as relações trabalhistas de seu negócio. A Constituição
Federal de 1988 condiciona a propriedade ao cumprimento de sua função social, sendo de obrigação
de seu proprietário tudo o que ocorrer nos domínios da fazenda. Por isso, o fazendeiro tem o dever de
acompanhar com frequência a ação dos funcionários que a administram para verificar se eles estão
descumprindo alguma norma da legislação trabalhista, além de orientá-los no sentido de contratar
trabalhadores de acordo com as normas estabelecidas pela CLT.

Para mais informações sobre a PEC do Trabalho Escravo, acesse trabalhoescravo.org.br. Fotos:


Leonardo Sakamoto, no banco de imagens do Especial PEC do Trabalho Escravo. Reprodução autori-
zada desde que citada a fonte.

* Dados atualizados em maio de 2013.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

25
Responsabilidade Social

MÓDULO II
RESPONSABILIDADE SOCIAL E CONCEITOS RELACIONADOS

Responsabilidade Social
De acordo com o Instituto de Tecnologia Social, ITS Brasil, Responsabilidade Social é “o reconhe-
cimento presente nos cidadãos, individualmente e em conjunto, dos seus deveres para com a comu-
nidade em que vivem e a sociedade em geral.”
A Responsabilidade Social, na realidade, não é dissociada das nossas ações do dia a dia, já que
a mesma está relacionada com as atitudes que tomamos diante das necessidades e desafios que se
apresentam.
Quando pensamos em Responsabilidade Social, pensamos em como nossas atitudes irão impac-
tar não somente nossas vidas, mas a vida de outras pessoas.

Responsabilidade Social Empresarial


O Instituto Ethos diz que a Responsabilidade Social Empresarial é uma “forma de gestão que
se define pela relação ética e transparente da empresa com todos os públicos com os quais ela
se relaciona e pelo estabelecimento de metas empresariais compatíveis com o desenvolvimento
sustentável da sociedade, preservando recursos ambientais e culturais para gerações futuras, respei-
tando a diversidade e promovendo a redução das desigualdades sociais”.

Vejamos esse conceito por partes:


a) “Relação ética e transparente da empresa com todos os públicos com os quais ela se rela-
ciona” – não é possível que uma empresa se estabeleça em uma comunidade e não se importe com
o que aconteça com a mesma. É preciso que a empresa seja ética e transparente, com relação a suas
atividades e aos impactos que as mesmas causarão, sejam estes sociais e/ou ambientais.
E, não menos importante: a Responsabilidade Social é um movimento de dentro para fora,
portanto, a empresa deve se pautar pela ética, transparência e respeito também no relacionamento
com seus colaboradores.
b) “Estabelecimento de metas empresariais compatíveis com o desenvolvimento sustentável
da sociedade” – não é mais possível que uma empresa não se preocupe com a sustentabilidade am-
biental e social. A empresa deve elaborar seu planejamento de maneira que, se não for possível im-
plantar uma atividade não poluidora, ou que mude a rotina cultural de uma determinada localidade,
pelo menos que ela amenize ao máximo os impactos negativos que a sua atividade impõe.
Reforçando: Responsabilidade Social está relacionada ao desenvolvimento sustentável. A ati-
tude de uma empresa deve ser de responsabilidade com o meio ambiente e com a sociedade – isso,
com certeza, garantirá recursos para o futuro e também fortalecerá a imagem da empresa, junto à
comunidade.
c) “Respeitando a diversidade e promovendo a redução das desigualdades sociais” – promo-
ver ações inclusivas, que diminuam preconceitos e deem voz para aqueles que se sentem, de alguma
maneira, desrespeitados em seus direitos também faz parte da Responsabilidade Social.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

26
Responsabilidade Social

A Responsabilidade Social deve ser associada a uma visão de negócios que contemple aspectos
que extrapolam a mera relação comercial/financeira das empresas.
Responsabilidade Social não se restringe ao relacionamento com públicos determinados (consu-
midores, por exemplo), mas engloba a comunicação e a interação com todos os públicos de interesse
e a própria sociedade, de modo que ela deve ser vista num sentido global.

Stakeholders
Stakeholder ou, em português, parte interessada refere-se a todos os envolvidos em um pro-
cesso. Por exemplo: clientes, colaboradores, investidores, fornecedores, comunidade, governo etc.
O processo em questão pode ser de caráter temporário (como um projeto) ou duradouro (como o
próprio negócio da empresa ou a missão de uma organização sem fins lucrativos).
O envolvimento de todos os interessados não maximiza obrigatoriamente o resultado do pro-
cesso, mas permite achar um equilíbrio de forças para minimizar riscos e impactos negativos na exe-
cução deste.

Processo. Diagrama produzida pelo autor.

Responsabilidade Social prevê:


A construção de um caminho pautado no tripé social, econômico e ambiental, o
chamado Triple Bottom Line;

Conduzido por um relacionamento coerente e sustentado com os diversos stake-


holders.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

27
Responsabilidade Social

TEXTO COMPLEMENTAR 01
Generosidade: o quarto elemento do “triple bottom line”

Isso é o que diferencia uma empresa que adota critérios de sustentabilidade no modelo de gestão das que dizem
que o fazem, mas deslizam na superficialidade.

Por Rogério Ruschel*

Já não restam dúvidas científicas de que o desenvolvimento sustentável é o único modelo capaz
de evitar a degradação em velocidade geométrica das condições de vida e, finalmente, a inevitável
extinção de várias espécies de flora e fauna do planeta, entre as quais provavelmente a do  Homo
Sapiens – isto é, eu, você e nossos descendentes. Desconfie daqueles que se ocultam atrás de frases
como “a ciência mesmo tem dúvidas sobre…”. Eles procuram apenas um escudo para esconder sua
inércia, preguiça ou covardia.

Sabemos que, para buscar a sustentabilidade, uma pessoa ou organização deve adotar como pa-
drão de comportamento ou gestão ser ambientalmente correta, socialmente justa e economicamente
viável – o chamado triple bottom line, conceito formulado pelo britânico John Elkington. Sabemos
também que a busca pela sustentabilidade é uma caminhada que deve ser trilhada com início urgen-
te, imediato, mas final inexistente.

Então, o que faz uma pessoa, um cidadão, mobilizar-se pelo assunto ou uma empresa adotar a
sustentabilidade no universo corporativo? Não sou um pensador estrangeiro, desses que todos ficam
achando mais inteligentes do que os brasileiros, mas entendo que fundamentalmente a diferença
está numa qualidade humana chamada generosidade – e que a generosidade é o quarto elemento
do triple bottom line.

Generosidade é a qualidade do que é generoso, pródigo, do que perdoa facilmente, nobre, leal;
a virtude de quem acrescenta algo ao próximo. Generosas são tanto as pessoas que sentem prazer em
dividir algo com mais indivíduos, porque isso lhes fará bem (em um contexto egocêntrico), quantas
aquelas pessoas que dividirão bens tangíveis ou intangíveis com outros, sem a necessidade de receber
algo em troca. É o contrário da ganância. E isto se aplica quase que literalmente para organizações,
porque empresas não pensam: por trás delas sempre estão gestores humanos.

No livro Princípios de Filosofia, René Descartes apresenta a generosidade como “uma desperta-


dora do real valor do Eu” e, ao mesmo tempo, uma mediadora para que “a vontade se disponha a acei-
tar o concurso do entendimento”. É filosófico, sim, mas é simples: a generosidade é uma qualidade de
quem coloca os interesses de terceiros no mesmo plano dos seus interesses pessoais, para resolver
um problema ou dilema que atinge a todos, que busca o entendimento. Não é exatamente disso que
uma sociedade sustentável necessita?
No campo do direito, isso se chama “interesses difusos” e, como sabemos, os interesses difu-

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

28
Responsabilidade Social

sos – aqueles próprios do conjunto da sociedade – são constitucionalmente inalienáveis. Resumindo,


a generosidade deveria ser um dos fundamentos da sociedade brasileira, até mesmo pelo que está
escrito em nossa Constituição: é um bem inalienável. E a ganância, o oposto da generosidade, deveria
ser execrada, porque ofende direitos constitucionais coletivos.
No mundo corporativo, a generosidade pode ser traduzida como uma forma de altruísmo – e
aqui está a razão por que muitas empresas falam, mas poucas realmente adotam a sustentabilidade
no processo de gestão: altruísmo não combina com capitalismo selvagem, com a famosa “lei de Gér-
son”, aquela de que se deve levar vantagem em tudo.
No mundo corporativo, generosidade significa uma empresa ser menos gananciosa, tomar a
decisão de reduzir um pouquinho à margem de lucro ou aumentar em alguns meses o prazo de re-
torno de um investimento para ser ambientalmente correta e socialmente justa – sem deixar de ser
economicamente viável. Significa ter a coragem de contrariar práticas de gestão, regras de mercado,
de design de produtos e de formas de concorrência estabelecidas por força de um modelo de cresci-
mento a qualquer custo, que já se demonstrou completamente inviável do ponto de vista de recursos
naturais e de felicidade humana.

A generosidade é o que diferencia uma empresa que adota critérios de sustentabilidade no


modelo de gestão daquelas que dizem que o fazem, mas deslizam na superficialidade ou praticam
o greenwashing.
Generosidade corporativa significa também compartilhar gratuitamente seu aprendizado, seu
conhecimento, suas patentes, sua força e seus recursos em nome de interesses que ultrapassam os
limites da empresa. O jornalista Dal Marcondes, da Envolverde, costuma dizer que filantropia é dar
um peixe a quem tem fome, enquanto responsabilidade social é ensinar a pescar e sustentabilidade
é preservar o rio. Pois, no contexto da generosidade corporativa, este compartilhamento é liberar a
nascente do rio, caso ela esteja no seu terreno, e compreender a importância do fluxo e entorno até a
foz. E, além disso, é perceber o que de fato importa, em termos coletivos, para que possam continuar
existindo peixes.
Generosidade corporativa é perceber o problema de emissões de gases do efeito estufa não
apenas como um volume de particulados em suas chaminés, mas como um assunto de interesse co-
letivo – e ir além de metas de redução. Generosidade corporativa é compreender que não basta fazer
o seu papel; é preciso mobilizar seus parceiros de negócios e fornecedores e, para isso, poderá ser
necessário ceder em aspectos antes inegociáveis.
Mas a generosidade corporativa também oferece vantagens e oportunidades de negócios. Al-
guns exemplos, já clássicos:
Em Bangladesh, a Danone francesa se associou a cooperativas de trabalhadores e ao Grameen
Bank para implantar 50 fábricas de iogurte de baixo custo. Com isso, os funcionários passaram a ser
sócios e consumidores ao mesmo tempo e se consegue atender crianças subnutridas com redução
de custos fixos de produção. Marketing? Sim, e inteligente, porque o modelo só funciona se houver
redução da margem de lucro – uma opção generosa para conquistar mercado;
No começo dos anos 2000, a Sadia investiu na construção de dezenas de biodigestores nas
propriedades de pequenos produtores de suínos. E por que ela fez isso, se não está no ramo de pro-
dução de energia? Porque, com esta iniciativa, passou a evitar dezenas (talvez centenas) de multas
ambientais pela contaminação do solo com os resíduos da criação, reduziu os custos dos produtores,
que passaram a gerar sua própria energia elétrica, agregou valor à atividade para fixar os filhos dos

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

29
Responsabilidade Social

produtores no campo, perpetuando o fornecimento de matéria-prima, e ainda gerou créditos de car-


bono! Puro negócio? Sim, mas a generosidade está em investir “dinheiro bom” numa ideia coletiva,
com prazo longo de recuperação;
Evoluindo aos poucos durante os anos 1990, a Interfaceflor, empresa norte-americana fabri-
cante de tapetes, já está desenvolvendo produtos com 100% de fibras recicladas a partir dos tapetes
velhos de seus clientes. Ao fazer isso, percebeu uma ótima oportunidade. Como tapete é artigo de
decoração e sai de moda, a empresa mudou o modelo de negócio: está propondo que seus clientes
não comprem seus tapetes. Como num processo de “leasing” de automóveis, as famílias podem ficar
com o produto ou trocar por outro, ao fim do pagamento. Em 12 anos, o lucro da empresa cresceu
82%, num mercado que diminuiu 30% no mesmo período. Coragem para mudar exige generosidade
Na linha do tempo da história, a generosidade é um dos traços da personalidade de pessoas
que trouxeram benefícios universais para a humanidade, como Mahatma Gandhi, Buda, Jesus Cristo,
Nelson Mandela, Martin Luther King, Wangari Maathai, Muhammad Yunus, Madre Teresa de Calcutá
e outros, mas também aparece em pequenos gestos de pessoas comuns em nosso dia a dia, os quais
merecem ser elogiados e replicados.
Se lhe parece complicado entender a importância da generosidade como parte da essência da
sustentabilidade, basta pensar no seu oposto, a ganância – que é a base de quase tudo de errado em
nossa sociedade. Aí com certeza você vai concordar comigo que a generosidade realmente vai ser re-
conhecida um dia como o necessário quarto elemento do triple (quadruple) bottom line.

* O jornalista Rogério R. Ruschel é consultor em sustentabilidade e diretor da Ruschel & Asso-


ciados.

Artigo publicado originalmente no Portal Envolverde, em março de 2010.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

30
Responsabilidade Social

TEXTO COMPLEMENTAR 02
Relacionamento com partes interessadas

Pesquisa realizada pelo Uniethos em 2012 mostra que o relacionamento com stakeholders é um processo
intrínseco ao planejamento e à inovação.

Por Regi Magalhães*

O debate sobre a finalidade das empresas oscilou desde a década de 1950 entre o chamado
“capitalismo de stakeholders” e o “shareholder capitalism” (“capitalismo do acionista”). Um dos mar-
cos do início desse debate foi em 1951, quando Frank W. Abrams, então presidente do conselho da
Standard Oil of New Jersey, declarou: “O papel da administração é manter o equilíbrio equânime e
funcional entre reivindicações de distintos grupos de interesse diretamente afetados [...], acionistas,
funcionários, clientes e o público em geral”.

O paradigma do “capitalismo do acionista” foi dominante na gestão empresarial durante toda


a segunda metade do século XX, pelo menos no contexto das companhias americanas e britânicas.
Mesmo assim, grandes empresas em muitos países são orientadas por interesses de stakeholders. Na
Alemanha, por exemplo, a Lei de Cogestão (Mitbestimmung) determina que os conselhos de super-
visão de grandes empresas sejam formados em igual número por representantes de acionistas e de
trabalhadores. A legislação da França também exige que representantes de trabalhadores ocupem
posição nos conselhos das empresas. Empresas japonesas também se orientam por interesses de
outros  stakeholders, além dos acionistas. Hiroshi Okuda, presidente do conselho da Toyota Motor
Corporation, afirmou que seria irresponsável administrar as empresas japonesas prioritariamente sob
o interesse dos acionistas.

Ainda que a gestão orientada para stakeholders esteja presente em importantes economias,


o planejamento das empresas tem predominantemente como foco os resultados para os acionistas.
Nos últimos anos, porém, dois movimentos distintos vêm provocando mudanças de maneira mais
desafiadora.

O primeiro movimento é o conjunto de pressões de organizações sociais sobre empresas nas


cadeias de produção de madeira, agricultura, confecções, mineração, petróleo, eletrônicos e pescados
com relação aos impactos sobre florestas, biodiversidade, condições de trabalho, comunidades ou
populações indígenas. Em vários casos essas campanhas provocaram significativos danos à reputação
das empresas, dificultando, por exemplo, acesso a financiamentos, investimentos e mercados. Esse
novo contexto faz com que as empresas entrem num círculo vicioso, no qual, como disseram Michael
Porter e Mark Kramer no artigo Criação de Valor Compartilhado, a perda de legitimidade provoca a
redução da competitividade das empresas, a qual, por sua vez, limita ainda mais a capacidade de gerar
valor para a sociedade.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

31
Responsabilidade Social

A mais importante reação de um número expressivo de empresas tem sido a criação de padrões
socioambientais de produção e de gestão de cadeias de valor que são construídos em processos de
diálogo com organizações da sociedade civil e governos, as chamadas “iniciativas multistakeholders”.

O segundo movimento que coloca em cheque o “shareholder capitalism” é a percepção de um


número crescente de líderes empresariais e investidores de que o foco no resultado para o acionista
tem levado a uma acentuada visão de curto prazo. Na medida em que as estratégias empresariais se
orientam quase que exclusivamente pelos balanços trimestrais, uma pesquisa realizada pelo J.P. Mor-
gan, em 2012, mostra que o horizonte temporal de 55% dos executivos é de um trimestre ou menos.
Por outro lado, segundo a McKinsey, o tempo necessário para investir em novos negócios é, em mé-
dia, de cinco a sete anos. O short-termismo ameaça investimentos de longo prazo, como em pesquisa
e inovação, por exemplo, ou coloca em risco empresas cujos negócios são afetados por mudanças de
longo prazo, como o aquecimento global. A maior ironia da ênfase nos resultados para os acionistas
é que o resultado no longo prazo é o enriquecimento dos executivos, mais do que os ganhos para os
próprios acionistas.

Críticas desse tipo fizeram com que líderes empresariais começassem a defender o movimen-
to iniciado pelo CEO da Unilever, Paul Polman, de não mais publicar relatórios trimestrais e desen-
volver incentivos para estratégias e ações de longo prazo. Empresas bem-sucedidas a longo prazo
são aquelas, como mostrou Rosabeth Moss Kanter, que agem como instituições sociais, constroem
relacionamentos duradouros e criam valor para a sociedade, ou seja, são empresas cujas estratégias
de negócios dependem do envolvimento estratégico de stakeholders.

As empresas brasileiras estão preparadas para essas mudanças? Uma pesquisa realizada
pelo Uniethos em 2012, com 250 empresas que possuem estratégias de sustentabilidade integra-
das aos seus negócios, mostra que o relacionamento com stakeholders é um processo intrínseco ao
planejamento e à inovação. Mais de 60% dessas empresas mantêm parcerias com organizações da
sociedade civil e 50% afirmam ter relações contínuas com stakeholders, mas apenas 25% organizam
processos de consultas sobre as estratégias de negócios e uma pequena parcela de 10% das empresas
que possuem estratégias de sustentabilidade conta com stakeholders externos em seus sistemas de
governança.

A principal conclusão da pesquisa é que ampliar a capacidade de construir relacionamentos efeti-


vos, contínuos, duradouros e estratégicos com stakeholders é o primeiro dos grandes desafios. Ampliar
os relacionamentos com os poderes públicos, com organizações da sociedade, com comunidades ou
mesmo com fornecedores depende de clareza de objetivos e, especialmente, de habilidades sociais
que parecem ainda não estar consolidadas na maioria das empresas.

O desenvolvimento de negócios orientados por perspectivas de longo prazo e pela sustentabi-


lidade depende de um alinhamento das empresas com as expectativas e interesses dos stakeholders.
Estratégias bem-sucedidas de relacionamento com stakeholders são aquelas que integram alguns ele-
mentos-chaves, tais como:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

32
Responsabilidade Social

• Os processos de relacionamento com stakeholders devem fazer parte dos sistemas de gover-


nança das empresas;
• Os relacionamentos com stakeholders devem fazer parte dos processos de planejamento
estratégico das empresas;
• Os planos de comunicação e de marketing das empresas devem ser integrados e coerentes
com as estratégias de relacionamento com stakeholders;
• Os líderes das empresas devem ser os principais responsáveis pelo relacionamento
com stakeholders;
• O planejamento das estratégias de relacionamento deve estar integrado com as estratégias
de negócios das empresas e coerentes com a abrangência geográfica (local e internacional),
com os diferentes setores e unidades de negócios;
• Os processos de relacionamento devem ser contínuos e de longo prazo, antecipando dile-
mas e desafios para os negócios e para a sociedade.

* Regi Magalhães é gerente executivo do Uniethos.

Este texto faz parte de uma série de artigos de especialistas promovida pela área de Gestão
Sustentável, do Instituto Ethos, cujo objetivo é subsidiar e estimular as boas práticas de gestão.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

33
Responsabilidade Social

MÓDULO III – REFLEXÕES SOBRE RESPONSABILIDADE SOCIAL

Este módulo procura ampliar as reflexões sobre Responsabilidade Social, demonstrando que o
tema já deve ser percebido de maneira mais ampla, relacionando-o inclusive a questões econômicas.
A relação Social X Econômico é percebida até mesmo quando refletimos sobre a postura das
empresas no que diz respeito a questões sociais, a seu protagonismo na busca por soluções para pro-
blemas diversos que vão além do seu dia a dia.

Social X Econômico
O momento atual nos leva à reflexões sobre o quanto as questões sociais podem, e interferem,
no dia a dia de cada um de nós e das empresas inclusive.
Perceber que não mais podemos ignorar que o modo como as pessoas vivem, a qualidade da
vida que têm fazem parte do conjunto de circunstâncias que atuam diretamente no modo, por exem-
plo, como o país está se desenvolvendo é imperativo, para que se possa promover ações para, pelo
menos, amenizar situações de risco social.
Uma empresa que está bem do ponto de vista econômico, porém que não sabe transformar seu
lucro financeiro em benefícios sociais não pode se vangloriar de seus resultados.
Estar bem quando tudo ao redor desmorona não é, definitivamente, estar bem.
No texto Gestão Social e Transformação da Realidade (publicado em 1999 e revisado em 2013),
Dowbor faz algumas afirmações que nos levam a refletir sobre a relação entre social e econômico.

Entre elas, podemos destacar:


• “Está se tornando evidente, já não numa visão de crítica sistemática anticapitalista, mas de
bom senso econômico e social, que um sistema que sabe produzir, mas não sabe distribuir,
simplesmente não é suficiente. Sobretudo se, ainda por cima, joga milhões no desemprego,
dilapida o meio ambiente e remunera mais os especuladores do que os produtores.”

• “Relatórios sobre o Desenvolvimento Humano, das Nações Unidas, qualificam de obscenas


as fortunas de pouco mais de quatrocentas pessoas no mundo, que dispõem de mais ri-
queza pessoal do que a metade mais pobre da humanidade. Esta concentração de renda é
considerada tão vergonhosa como a escravidão e o colonialismo, sem lugar numa sociedade
civilizada.”

• “A transformação é profunda. No decorrer de meio século, passamos de uma visão filantró-


pica, de generosidade assistencial, de caridade, de um tipo de bálsamo tranquilizador para
as consciências capitalistas, para a compreensão de que a área social se tornou essencial
para as próprias atividades econômicas.”

• “Esta mudança profunda de enfoque foi positiva. As áreas empresariais, com suporte de nume-
rosos estudos do Banco Mundial, passaram a entender que não se trata de simples cosmética
social, mas das condições indispensáveis para a própria produtividade empresarial. É a visão que
leva, em numerosos países, a que as próprias empresas deem forte sustento político ao ensino

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

34
Responsabilidade Social

público universal, a sistemas de saúde abrangentes e eficientes e assim por diante.”

No Brasil, temos o Instituto Ethos, como suporte para aquelas empresas que desejam mudar de
postura e desenvolver uma forma de gestão mais ética, que esteja mais de acordo com o momento
atual. Um momento que demanda ética, enfoque no coletivo, pensamento não somente no lucro, mas
no que de bom pode advir do mesmo.

Instituto Ethos
O Instituto Ethos de Empresas e Responsabilidade Social é uma Organização da Sociedade Civil
de Interesse Público, OSCIP, criada com a missão de mobilizar, sensibilizar e ajudar as empresas a gerir
seus negócios de forma socialmente responsável, tornando-as parceiras na construção de uma socie-
dade sustentável e justa.

Seus 1508 (dados de 10/03/2013) associados – empresas de diferentes setores e portes – têm
faturamento anual correspondente a cerca de 35% do PIB brasileiro e empregam cerca de 2 milhões
de pessoas, tendo como característica principal o interesse em estabelecer padrões éticos de relacio-
namento com funcionários, clientes, fornecedores, comunidade, acionistas, poder público e com o
meio ambiente.

Porte Total %

Micro Empresa 287 19,03

Pequena Empresa 424 28,12

Média Empresa 270 17,90

Grande Empresa 468 31,03

Fonte: www.ethos.org.br

Federação das Indústrias de Minas Gerais – Fiemg


“Empresas e Responsabilidade Social: um estudo sobre as ações sociais realizadas pelo setor
privado em Minas Gerais” (novembro de 2000).

3.590 empresas filiadas:


• 2.800 realizavam ações em parceria.
• Investimento Social: R$165.500.000,00.
• 467 não atuavam, mas gostariam.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

35
Responsabilidade Social

Dia V
Promovido pela FIEMG, desde 2001:
Primeira edição: mais de 11 mil voluntários, em 44 cidades.
Em 2011: 60 mil voluntários, desenvolveram 3.740 ações, em 152 cidades.

Instituto de Pesquisa Econômica Aplicada – IPEA


Pesquisa “Ação Social das Empresas” – 2006
• Participação empresarial na área social: 69%.
• Aproximadamente 600 mil empresas atuando voluntariamente.
• Em 2004, foram cerca de R$ 4,7 bilhões aplicados.
• A solidariedade mineira:
- 81% das empresas mineiras declararam ter realizado algum tipo de ação social para a
comunidade.
- Dados comparativos:
RJ: 59%
SP: 67%

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

36
Responsabilidade Social

TEXTO COMPLEMENTAR
Responsabilidade social empresarial e sustentabilidade para a gestão empresarial

O artigo mostra como as retóricas e controvérsias em torno desses conceitos são uma cortina de fumaça para a
gestão das organizações.

Por Fernanda Gabriela Borger*

Nos últimos anos, as questões ambientais invadiram os negócios e mostraram a capacidade de


se criar valor para clientes, acionistas e outras partes interessadas. As forças da globalização levaram
empresas a incorporar a dimensão socioambiental na gestão.
Hoje, as empresas querem associar suas marcas a projetos, iniciativas e parcerias com ONGs,
divulgam as Metas do Milênio, os Princípios Pacto Global, ostentam as ISOs, apresentam relatórios.
Por outro lado, os gestores recebem uma avalanche de informações, banalizando as práticas e as po-
líticas de responsabilidade social e os processos de gestão. Parece que as preocupações estão mais
direcionadas a mostrar que somos “socialmente responsáveis” e “sustentáveis” do que integrar a
dimensão socioambiental nos negócios. E ainda se supõe que “sustentável” se refere aos aspectos am-
bientais e “responsabilidade social” aos aspectos sociais, e que sustentabilidade é um novo modelo de
negócios, mais “moderno” do que responsabilidade social. Existe uma confusão sobre a definição de
sustentabilidade. Peter Senge1 afirma que evita usar a palavra “sustentabilidade”, ou a utiliza o menos
possível, porque é um termo tão genérico que as pessoas percebem como um “ideal a ser atingido”, é
interpretado como “ser menos mau” e envolve retóricas e controvérsias que não criam um ambiente
propício para a inovação e a busca de soluções.
Quais as razões para a confusão? O propósito deste artigo é mostrar a origem dos conceitos de
sustentabilidade e responsabilidade social empresarial (RSE) e como as retóricas e controvérsias são
uma cortina de fumaça para a gestão das organizações.
A ideia de sustentabilidade, ou desenvolvimento sustentável, começou em grande parte com
a preocupação ambiental, que acabou por envolver as dimensões econômica e social e, a partir dos
anos 1990, passou a incluir a responsabilidade social empresarial.
A evolução do conceito de responsabilidade social é diferente. Sua origem está nas questões
éticas que envolvem a relação entre empresas e sociedade e na filantropia empresarial.
O conceito teórico de responsabilidade social originou-se na década de 1950, quando a litera-
tura formal sobre responsabilidade social corporativa aparece nos Estados Unidos e na Europa. A pre-
ocupação dos pesquisadores daquela década era com a excessiva autonomia dos negócios e o poder
destes na sociedade, sem a devida responsabilidade pelas consequências negativas de suas ativida-
des, como a degradação ambiental, a exploração do trabalho, o abuso econômico e a concorrência
desleal. Para compensar os impactos negativos da atuação das empresas, empresários se envolveram
em atividades sociais para beneficiar a comunidade, fora do âmbito dos negócios das empresas, como
uma obrigação moral.
A filantropia empresarial surgiu como um novo campo de atuação que vem conquistando cres-
cente visibilidade no Brasil, vindo compartilhar e disputar espaços com outras formas de ações pri-
vadas em benefício público2. No entanto, a expressão “filantropia empresarial” está associada a refe-

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

37
Responsabilidade Social

rências históricas como caridade, paternalismo e assistencialismo, que têm uma conotação negativa,
porque não trouxeram transformações sociais e econômicas efetivas para o desenvolvimento das co-
munidades. Hoje, quando se pensa em filantropia empresarial nota-se consenso sobre a exigência de
que esse investimento ocorra como uma política da empresa, e não somente como um compromisso
pessoal do empresário. Assim, buscaram termos alternativos para designar as ações próprias a esse
campo, como investimento social, ação social empresarial, participação social ou comunitária da em-
presa ou desenvolvimento social2.

Uma das grandes questões que são levantadas em relação aos temas sociais e ambientais é se
estes afetam a competitividade das empresas. Segundo a visão clássica da empresa, incorporar as
questões sociais e ambientais além da obrigação legal eleva os custos e reduz o lucro das empresas. O
debate sobre o conteúdo e extensão da responsabilidade social nos negócios foi intenso, no sentido
de contrapor o desempenho econômico ao social e ambiental. O papel das empresas incluiria lucros,
mas, em vez da maximização do lucro de curto prazo, os negócios deveriam buscar lucros de longo
prazo, obedecer às leis e regulamentações, considerar o impacto não mercadológico de suas decisões
e procurar maneiras de melhorar a sociedade por uma atuação orientada para a responsabilidade e
sustentabilidade dos negócios2.
O conceito de desenvolvimento sustentável está hoje totalmente integrado ao conceito de res-
ponsabilidade social: não haverá crescimento econômico em longo prazo sem progresso social e tam-
bém sem cuidado ambiental. Todos os lados devem ser vistos e tratados com pesos iguais. Mesmo
porque estes são aspectos inter-relacionados. Da mesma forma que o crescimento econômico não se
sustenta sem uma equivalência social e ambiental, programas sociais ou ambientais corporativos não
se sustentarão se não houver o equilíbrio econômico da empresa.
A figura a seguir apresenta a evolução de conceitos de RSE e sustentabilidade.

Evolução de conceitos de RSE e sustentabilidade. Elaborado pelo autor.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

38
Responsabilidade Social

O modelo da sustentabilidade é uma nova forma de fazer negócios, que tem como pressupos-
to o novo papel da empresa na sociedade. Sustentabilidade e responsabilidade social trazem para o
modelo de negócios a perspectiva de longo prazo, a inclusão sistemática da visão e das demandas
das partes interessadas, e a transição para um modelo em que os princípios, a ética e a transparência
precedem a implementação de processos, produtos e serviços.
* Pesquisadora e consultora da FIPE, Fernanda Gabriela Borger é professora da FIA e do Progra-
ma de Educação Continuada GVPEC.

Notas
1
 SENGE, Peter. “The Sustainable Supply Chain an Interview with Peter Senge”, por Steven
Prokesch. Harvard Business Review, outubro de 2010.

 BORGER, Fernanda Gabriela. Responsabilidade Social: Efeitos da Atuação Social na Dinâmica


2

Empresarial (tese de doutorado), Departamento de Administração. São Paulo: USP, 2001.

Este texto faz parte de uma série de artigos de especialistas promovida pela área de Gestão Sus-
tentável do Instituto Ethos, cujo objetivo é subsidiar e estimular as boas práticas de gestão.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

39
Responsabilidade Social

MÓDULO IV – ASSISTENCIALISMO X SUSTENTABILIDADE


Assistencialismo
O assistencialismo tem, ao longo do tempo, para alguns, se tornado uma espécie de “monstro”,
quando se fala em resolver problemas relacionados a questões sociais. É como se, a grosso modo, não
fazer nada fosse melhor do que fazer algo pontualmente.
Infelizmente, em um país com tantas desigualdades (essa afirmação serve também para o mun-
do), ainda são necessárias ações pontuais, como a distribuição de cestas básicas, de sopões para mo-
radores de rua, campanhas de agasalhos no inverno e tantas outras.

Sustentabilidade
Quando se fala em sustentabilidade, automaticamente a relacionamos a questões ambientais.
O fato é que sustentabilidade está também relacionada a questões sociais.
De acordo com o Relatório de Desenvolvimento Humano 2011, do Programa das Nações Unidas
para o Desenvolvimento, PNUD, a sustentabilidade está relacionada aos princípios básicos de igualda-
de, entre eles justiça social e maior acesso a uma melhor qualidade de vida.
Para que se possa atender a esses princípios são necessárias ações que não sejam somente
pontuais. Pelo contrário, tais ações demandam empenho por parte dos envolvidos, sejam empresas,
organizações sociais, pessoas físicas.
Para mudarmos a realidade é necessária, muitas vezes, a união do assistencialismo com a sus-
tentabilidade.
Não é raro que se consiga a participação de crianças moradoras de área de risco social em um
projeto que envolve educação, cultura, ou mesmo esporte, somente porque as refeições diárias fazem
parte do dia a dia do projeto; ou mesmo porque cestas básicas são distribuídas mensalmente.
Isso não tira o mérito do projeto, simplesmente explica como, muitas vezes, o chamado assis-
tencialismo é necessário.
Com certeza, um projeto interessante, criado a partir de necessidades reais vai atrair a atenção
dessas crianças, para que lá permaneçam e possam se desenvolver como cidadãos, mas, em um pri-
meiro momento, é preciso se pensar: quem tem fome aprende? Quem tem fome consegue praticar
esporte?
Essa é uma reflexão que pode, e deve ser feita.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

40
Responsabilidade Social

TEXTO COMPLEMENTAR
Artigo - O Assistencialismo e o Bolsa Família
* Fabio Veras Soares

O programa Bolsa Família tem recebido críticas à esquerda e à direita. A principal acusação
é que ele seria um programa assistencialista. Na verdade o programa Bolsa Família como qual-
quer programa focalizado nos mais pobres é um programa de assistência social. No dicionário Au-
rélio o termo “assistência social” é definido como “serviço gratuito, de natureza diversa, prestado
aos membros da comunidade social, atendendo as necessidades daqueles que não dispõem de
recursos suficientes”. Assistencialismo, que por sinal não consta no dicionário, é na verdade uma
deformação na prestação da “assistência social”, envolvendo troca de favores e critérios pouco
claros na forma de seleção dos beneficiários. Portanto, um programa assistencialista é um progra-
ma de “assistência social” utilizado como mecanismo de troca de favores. Como a crítica ao Bolsa
Família não se baseia apenas em numa crítica à forma de gestão, mas sim à própria natureza do
programa, pode-se concluir que o que se questiona é a “oportunidade” de se ter um esse tipo de
programa no Brasil. Nessa(s) visão(ões) crítica(s) o programa seria ruim por: 1) acomodar o pobre
que não buscaria mais trabalho e ascender socialmente e 2) desperdiçar dinheiro público com
assistência quando o que importa é gerar emprego e renda, única maneira de tirar a população
da pobreza. Dar dinheiro aos mais pobres é uma ideia tão ruim assim? 
O que se esquece é que o Estado - desde sua origem - tributa e redistribui renda entre os
diversos segmentos da sociedade. Ou seja, além de prover bens públicos, a função do Estado é
tirar de e dar renda a diferentes segmentos da sociedade. Se essa redistribuição vai ajudar os
mais pobres, ou os mais ricos, ou vai ser neutra é uma questão que depende de fatores políticos,
sociais e econômicos de um determinado período histórico. Na Colônia e no Império medidas
redistributivas se davam tanto mediante programas assistenciais (ou o amparo social como se
dizia à época) como, por exemplo, a concessão de pensões a órfãos e à viúvas honestas, ajuda
à manutenção das casas de misericórdia, assim como por meio de concessões de mercês e mo-
nopólios para a exploração de certas atividades econômicas. O amparo social era assistencialista
porque baseado na troca de favores e não como uma política pública - ou um direito - cujo obje-
tivo seria o de proteger os que mais necessitam. A concessão de mercês e monopólios, por sua
vez, visava a manutenção do status quo e de privilégios em mãos de poucos, não visando nem o
bem comum nem o progresso econômico. Formas contemporâneas desse tipo de transferência
ainda persistem quando, por exemplo, os fundos públicos são chamados a cobrir “buracos” de
fundos privados que, em geral, se destinam aos grupos menos necessitados da sociedade - uma
fração diminuta da população, mas que abocanha a maior parte da renda nacional e, em alguns
casos, tem maior facilidade de acesso aos recursos públicos. Fenômeno que muitas vezes não é
explicado somente pelo retorno dos atributos produtivos desses segmentos da sociedade. 
Seria o Bolsa Família uma versão moderna das arcaicas esmolas reais/imperiais? Poderia o
Bolsa Família ter um efeito-preguiça generalizado entre os mais pobres de modo a prevenir não
só a ascensão social das famílias beneficiárias como também atrapalhar o desenvolvimento eco-
nômico do país, ao desviar recursos de investimentos prioritários? 
O chamado “efeito-preguiça” carece totalmente de base real. Em primeiro lugar, o benefício

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

41
Responsabilidade Social

é muito baixo para ter impactos significativos sobre a oferta de trabalho. É difícil imaginar que
com um benefício mensal de no máximo R$ 95,00 (o que equivale na melhor das hipóteses a uma
renda per capita de R$ 23,70, isto é, a renda de um domicílio com um adulto e 3 crianças) o(s)
membro(s) adulto(s) daquele domicílio se retiraria(m) do mercado de trabalho ou abandonariam
suas atividades de subsistência. Além disso, as evidências empíricas baseadas em avaliações ex-
perimentais de programas similares, como o Progresa/Oportunidades no México, mostram que
o impacto é nulo sobre a oferta de trabalho dos beneficiários (ver recente estudo de Emmanuel
Skoufias e Vicenzo di Maro: http://ideas.repec.org/p/wbk/wbrwps/3973.html). 
Os dados da PNAD 2004, por sua vez, indicam que os indivíduos que moram em domicílios
onde existe um beneficiário do Bolsa Família não têm uma taxa de participação no mercado de
trabalho menor do que seus contrapartes em domicílios sem beneficiários, mas com renda simi-
lar. Ao contrário, a taxa de participação dos “beneficiários” tende a ser maior do que a taxa de
participação dos “não-beneficiários”. Esse resultado vale tanto para chefes e chefas de domicílio
como para seus respectivos cônjuges. Por exemplo, entre os 10% mais pobres, a taxa de partici-
pação no mercado de trabalho dos moradores adultos (18 a 64 anos) é de 73% para domicílios
com beneficiários e 67% para domicílios sem beneficiários. Essa maior participação se mantém
para homens chefes (93% e 87%), homens cônjuges (84% e 81%), mulheres cônjuges (60% e 47%)
e é, praticamente, igual para mulheres chefes (64,5% e 64,4%). Esse resultado é observado tam-
bém para extratos um pouco menos pobres como o segundo, o terceiro e o quarto décimos da
distribuição. 
O temor de um impacto negativo sobre o crescimento também nos parece equivocado. Se
for verdade que é necessário crescer para melhorar o bem-estar de todos, também é verdade
que o impacto do crescimento sobre a pobreza é mediado pela distribuição inicial dos recursos de
uma sociedade. Em sociedades extremamente desiguais como a brasileira, as taxas de crescimen-
to necessárias para reduzir a pobreza são bem mais elevadas do que em sociedades com menos
desigualdade. Além disso, também é verdade que pobreza e desigualdade de renda diminuem o
potencial de crescimento de uma economia. Deste modo, políticas que reduzam a desigualdade
não só afetam diretamente a pobreza como aumentam o potencial do crescimento e magnificam
o impacto do mesmo sobre a redução da pobreza. Por esse motivo, políticas redistributivas são
sempre muito bem vindas para aqueles que acreditam que a pobreza deve ser reduzida o mais
rapidamente possível. Nesse sentido, vale a pena ver como a Bolsa Família tem se saído como um
programa redistributivo. Os resultados de diversos estudos com períodos e metodologias diferen-
tes apontam para um grande impacto da Bolsa Família.
No texto “Cash Transfer Programmes in Brazil: Impacts on Poverty and Inequality” (http://
www.undp-povertycentre.org/newsletters/WorkingPaper21.pdf) se mostra que entre os compo-
nentes que contribuíram para a redução da desigualdade - observada entre 1995 e 2004, o Bolsa
Família está em terceiro lugar - perdendo para a renda do trabalho e para pensões e aposentado-
rias vinculadas ao salário mínimo -, sendo responsável por 13% da redução do índice de Gini no
período, mas corresponde a apenas 0,5% da renda total das famílias brasileiras. Estes resultados
mostram que mesmo uma pequena transferência pode ter um grande impacto sobre a desigual-
dade quando bem focalizada. 
Dados os resultados acima o que surpreende é que se tenha levado tanto tempo para des-
cobrir uma maneira efetiva de reduzir a desigualdade e diminuir a pobreza: transferir renda (di-
nheiro) aos mais pobres! E esse dinheiro não é simples assistencialismo, como rotineiramente se

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

42
Responsabilidade Social

lê de maneira pejorativa nos jornais. Trata-se, na verdade, de um programa de assistência social,


cuja origem pode ser rastreada de maneira embriônica às experiências em nível local com a renda
mínima de Campinas e o Bolsa Escola no Distrito Federal e que incorporou milhões de cidadãos
brasileiros que estavam completamente desamparados da rede de proteção social existente no
país até então, particularmente, as crianças em domicílios pobres. Uma política de proteção so-
cial é um elemento fundamental em qualquer democracia que pretenda estender a todos os be-
nefícios do desenvolvimento econômico. Ainda há muito que fazer para aperfeiçoar o programa,
mas transferir renda é uma função do Estado e o fato de estar distribuindo a favor dos pobres é
uma ótima notícia, também, para o crescimento econômico. 

* Pesquisador do Ipea

Publicado: Correio Braziliense 14/08/2006 - O Globo 12/08/2006

MÓDULO V – 8 OBJETIVOS DE DESENVOLVIMENTO DO MILÊNIO


Os 8 Objetivos de Desenvolvimento do Milênio, 8 ODM, são um conjunto de metas a ser atingi-
do até o ano de 2015.
Estes objetivos surgiram junto com a Declaração do Milênio, que foi aprovada pela ONU em 8
de setembro de 2000.
O Brasil, junto com 191 países-membros, assinou o pacto, se comprometendo com a sustenta-
bilidade do Planeta, como um todo.
No Brasil, também conhecemos os 8 ODM como 8 Jeitos de Mudar o Mundo.

Símbolos
Adotados no mundo todo, os ícones que representam os 8 ODM foram criados voluntariamente,
em 2005, no Brasil, como parte da campanha Nós Podemos, pela agência McCann-Erickson. O mentor
e coordenador da campanha foi o publicitário Percival Caropreso.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

43
Responsabilidade Social

ODM1 – Acabar com a Fome e a Miséria

Propondo a erradicação da extrema pobreza e miséria, este objetivo também se relaciona à


diminuição da desnutrição, oferecendo condições para que todos tenham acesso a uma dieta mínima
diária, de acordo com o que preconiza a Organização das Nações Unidas para a Agricultura e Alimen-
tação – FAO.
Este objetivo também está relacionado à diminuição do número de pessoas em pobreza extre-
ma ou indigência.

ODM 2 – Educação Básica de Qualidade para Todos

Propondo que todas as crianças, em todas as regiões – independente de gênero, etnia e condi-
ções sociais – terminem o ensino fundamental, este objetivo está também relacionado à diminuição
da evasão escolar, à melhoria da qualidade do ensino, à elevação do número de anos na escola e à
diminuição da defasagem idade-série.

ODM 3 – Igualdade entre Sexos e Valorização da Mulher

Este objetivo, além da igualdade entre os sexos em todos os níveis de ensino, propõe a busca
pela autonomia das mulheres, combate ao preconceito, ampliação das vagas e ascensão das mulheres
no mercado de trabalho, igualdade nos salários para mulheres e homens que desempenham a mesma
função; além do desempenho de papéis cada vez mais ativos no mundo, pelas mulheres.
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

44
Responsabilidade Social

ODM 4 – Reduzir a Mortalidade Infantil

Este objetivo está relacionado, entre outras coisas, à melhoria das condições de saneamento
e higiene, promoção de campanhas de vacinação, melhoria dos serviços de saúde e ampliação do
acesso aos mesmos. Enfim, depende de políticas, programas, recursos direcionados não somente às
crianças mas também às famílias e comunidades em geral.

ODM 5 – Melhorar a Saúde das Gestantes

Este objetivo está diretamente relacionado à promoção da saúde integral das mulheres em ida-
de reprodutiva. Inclui elementos como planejamento familiar, acompanhamento pré-natal, melhoria
dos serviços de saúde e ampliação do acesso aos mesmos. Um elemento importante é a presença de
profissionais qualificados na hora do parto.

ODM 6 – Combater a AIDS, a Malária e Outras Doenças

Este objetivo propõe deter a proliferação de doenças, o que necessita de ampliação do acesso às
informações por parte da população, também a meios de prevenção e de tratamento, além do com-
bate à discriminação. Também está relacionado à melhoria das condições de saneamento e de higiene
da população, da preocupação com questões ambientais e nutritivas.
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

45
Responsabilidade Social

ODM 7 – Qualidade de Vida e Respeito ao Meio Ambiente

Este objetivo é bastante amplo e se refere às questões ambientais, como preservação dos re-
cursos naturais, recuperação de áreas degradadas e a transformação de remanescentes em áreas de
preservação; também às questões relacionadas a emissões de CO2 e de outros agentes de poluição,
adoção de princípios de sustentabilidade nas políticas públicas e de forma geral, na cultura do povo.
Outras questões que fazem parte deste objetivo são o acesso à água potável, ao esgotamento sanitá-
rio e à melhoria dos assentamentos precários.

ODM 8 – Todo Mundo Trabalhando pelo Desenvolvimento

Este objetivo está relacionado ao estabelecimento de parcerias para que todos os objetivos an-
teriores sejam alcançados e a melhoria da qualidade de vida de toda a população seja estabelecida.
Busca também a participação de toda a sociedade em busca de um mundo melhor, mais justo e sus-
tentável, tanto no que se refere às questões ambientais quanto às sociais.

Os Objetivos de Desenvolvimento do Milênio estão intimamente relacionados entre si. Por


exemplo, para que possamos, verdadeiramente, erradicar a fome e a miséria, é preciso garantir o
acesso a uma educação de qualidade, o que garantirá, no futuro, o acesso ao mercado de trabalho,
não em subempregos, mas em empregos que oferecerão condições daquela pessoa garantir sua qua-
lidade de vida e de sua família.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

46
Responsabilidade Social

TEXTO COMPLEMENTAR
Declaração Universal dos Direitos Humanos

Adotada e proclamada pela Assembleia Geral das Nações Unidas (resolução 217 A III) em 10 de
dezembro 1948.

Preâmbulo
Considerando que o reconhecimento da dignidade inerente a todos os membros da família hu-
mana e de seus direitos iguais e inalienáveis é o fundamento da liberdade, da justiça e da paz no
mundo.
Considerando que o desprezo e o desrespeito pelos direitos humanos resultaram em atos bár-
baros que ultrajaram a consciência da humanidade e que o advento de um mundo em que mulheres
e homens gozem de liberdade de palavra, de crença e da liberdade de viverem a salvo do temor e da
necessidade foi proclamado como a mais alta aspiração do ser humano comum.
Considerando ser essencial que os direitos humanos sejam protegidos pelo império da lei, para
que o ser humano não seja compelido, como último recurso, à rebelião contra a tirania e a opressão.
Considerando ser essencial promover o desenvolvimento de relações amistosas entre as nações.
Considerando que os povos das Nações Unidas reafirmaram, na Carta, sua fé nos direitos fun-
damentais do ser humano, na dignidade e no valor da pessoa humana e na igualdade de direitos do
homem e da mulher e que decidiram promover o progresso social e melhores condições de vida em
uma liberdade mais ampla.
Considerando que os Países-Membros se comprometeram a promover, em cooperação com as
Nações Unidas, o respeito universal aos direitos e liberdades fundamentais do ser humano e a obser-
vância desses direitos e liberdades.
Considerando que uma compreensão comum desses direitos e liberdades é da mais alta impor-
tância para o pleno cumprimento desse compromisso.
Agora portanto a Assembleia Geral proclama a presente Declaração Universal dos Direitos Hu-
manos como o ideal comum a ser atingido por todos os povos e todas as nações, com o objetivo de
que cada indivíduo e cada órgão da sociedade tendo sempre em mente esta Declaração, esforce-se,
por meio do ensino e da educação, por promover o respeito a esses direitos e liberdades, e, pela ado-
ção de medidas progressivas de caráter nacional e internacional, por assegurar o seu reconhecimento
e a sua observância universais e efetivos, tanto entre os povos dos próprios Países-Membros quanto
entre os povos dos territórios sob sua jurisdição.

Artigo 1
Todos os seres humanos nascem livres e iguais em dignidade e direitos. São dotados de razão e
consciência e devem agir em relação uns aos outros com espírito de fraternidade.

Artigo 2
1. Todo ser humano tem capacidade para gozar os direitos e as liberdades estabelecidos nesta
Declaração, sem distinção de qualquer espécie, seja de raça, cor, sexo, língua, religião, opinião política

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

47
Responsabilidade Social

ou de outra natureza, origem nacional ou social, riqueza, nascimento, ou qualquer outra condição. 
2. Não será também feita nenhuma distinção fundada na condição política, jurídica ou interna-
cional do país ou território a que pertença uma pessoa, quer se trate de um território independente,
sob tutela, sem governo próprio, quer sujeito a qualquer outra limitação de soberania.

Artigo 3
Todo ser humano tem direito à vida, à liberdade e à segurança pessoal.

Artigo 4
Ninguém será mantido em escravidão ou servidão; a escravidão e o tráfico de escravos serão
proibidos em todas as suas formas.

Artigo 5
Ninguém será submetido à tortura, nem a tratamento ou castigo cruel, desumano ou degradante.

Artigo 6
Todo ser humano tem o direito de ser, em todos os lugares, reconhecido como pessoa perante a lei.

Artigo 7
Todos são iguais perante a lei e têm direito, sem qualquer distinção, a igual proteção da lei.
Todos têm direito a igual proteção contra qualquer discriminação que viole a presente Declaração e
contra qualquer incitamento a tal discriminação.

Artigo 8
Todo ser humano tem direito a receber dos tribunais nacionais competentes remédio efetivo
para os atos que violem os direitos fundamentais que lhe sejam reconhecidos pela constituição ou
pela lei.

Artigo 9
Ninguém será arbitrariamente preso, detido ou exilado.

Artigo 10
Todo ser humano tem direito, em plena igualdade, a uma justa e pública audiência por parte de
um tribunal independente e imparcial, para decidir seus direitos e deveres ou fundamento de qual-
quer acusação criminal contra ele.

Artigo 11
1.Todo ser humano acusado de um ato delituoso tem o direito de ser presumido inocente até
que a sua culpabilidade tenha sido provada de acordo com a lei, em julgamento público no qual lhe
tenham sido asseguradas todas as garantias necessárias à sua defesa. 
2. Ninguém poderá ser culpado por qualquer ação ou omissão que, no momento, não constitu-
íam delito perante o direito nacional ou internacional. Também não será imposta pena mais forte de
que aquela que, no momento da prática, era aplicável ao ato delituoso.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

48
Responsabilidade Social

Artigo 12
Ninguém será sujeito à interferência na sua vida privada, na sua família, no seu lar ou na sua
correspondência, nem a ataque à sua honra e reputação. Todo ser humano tem direito à proteção da
lei contra tais interferências ou ataques.

Artigo 13
1. Todo ser humano tem direito à liberdade de locomoção e residência dentro das fronteiras de
cada Estado. 
2. Todo ser humano tem o direito de deixar qualquer país, inclusive o próprio e a esse regressar.

Artigo 14
1. Todo ser humano, vítima de perseguição, tem o direito de procurar e de gozar asilo em outros
países. 
2. Esse direito não pode ser invocado em caso de perseguição legitimamente motivada por cri-
mes de direito comum ou por atos contrários aos objetivos e princípios das Nações Unidas.

Artigo 15
1. Todo ser humano tem direito a uma nacionalidade. 
2. Ninguém será arbitrariamente privado de sua nacionalidade, nem do direito de mudar de
nacionalidade.

Artigo 16
1. Os homens e mulheres de maior idade, sem qualquer restrição de raça, nacionalidade ou reli-
gião, têm o direito de contrair matrimônio e fundar uma família. Gozam de iguais direitos em relação
ao casamento, sua duração e sua dissolução. 
2. O casamento não será válido senão com o livre e pleno consentimento dos nubentes. 
3. A família é o núcleo natural e fundamental da sociedade e tem direito à proteção da socieda-
de e do Estado.

Artigo 17
1. Todo ser humano tem direito à propriedade, só ou em sociedade com outros. 
2. Ninguém será arbitrariamente privado de sua propriedade.

Artigo 18
Todo ser humano tem direito à liberdade de pensamento, consciência e religião; esse direito
inclui a liberdade de mudar de religião ou crença e a liberdade de manifestar essa religião ou crença
pelo ensino, pela prática, pelo culto em público ou em particular.

Artigo 19
Todo ser humano tem direito à liberdade de opinião e expressão; esse direito inclui a liberdade
de, sem interferência, ter opiniões e de procurar, receber e transmitir informações e ideias por quais-
quer meios e independentemente de fronteiras.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

49
Responsabilidade Social

Artigo 20
1. Todo ser humano tem direito à liberdade de reunião e associação pacífica. 
2. Ninguém pode ser obrigado a fazer parte de uma associação.

Artigo 21
1. Todo ser humano tem o direito de tomar parte no governo de seu país diretamente ou por
intermédio de representantes livremente escolhidos. 
2. Todo ser humano tem igual direito de acesso ao serviço público do seu país. 
3. A vontade do povo será a base da autoridade do governo; essa vontade será expressa em
eleições periódicas e legítimas, por sufrágio universal, por voto secreto ou processo equivalente que
assegure a liberdade de voto.

Artigo 22
Todo ser humano, como membro da sociedade, tem direito à segurança social, à realização pelo
esforço nacional, pela cooperação internacional e de acordo com a organização e recursos de cada
Estado, dos direitos econômicos, sociais e culturais indispensáveis à sua dignidade e ao livre desenvol-
vimento da sua personalidade.

Artigo 23
1. Todo ser humano tem direito ao trabalho, à livre escolha de emprego, a condições justas e
favoráveis de trabalho e à proteção contra o desemprego. 
2. Todo ser humano, sem qualquer distinção, tem direito a igual remuneração por igual trabalho. 
3. Todo ser humano que trabalha tem direito a uma remuneração justa e satisfatória que lhe
assegure, assim como à sua família, uma existência compatível com a dignidade humana e a que se
acrescentarão, se necessário, outros meios de proteção social. 
4. Todo ser humano tem direito a organizar sindicatos e a neles ingressar para proteção de seus
interesses.

Artigo 24
Todo ser humano tem direito a repouso e lazer, inclusive a limitação razoável das horas de tra-
balho e a férias remuneradas periódicas.

Artigo 25
1. Todo ser humano tem direito a um padrão de vida capaz de assegurar a si e à sua família
saúde, bem-estar, inclusive alimentação, vestuário, habitação, cuidados médicos e os serviços sociais
indispensáveis e direito à segurança em caso de desemprego, doença invalidez, viuvez, velhice ou ou-
tros casos de perda dos meios de subsistência em circunstâncias fora de seu controle. 
2. A maternidade e a infância têm direito a cuidados e assistência especiais. Todas as crianças,
nascidas dentro ou fora do matrimônio, gozarão da mesma proteção social.

Artigo 26
1. Todo ser humano tem direito à instrução. A instrução será gratuita, pelo menos nos graus
elementares e fundamentais. A instrução elementar será obrigatória. A instrução técnico-profissional
será acessível a todos, bem como a instrução superior, esta baseada no mérito. 

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

50
Responsabilidade Social

2. A instrução será orientada no sentido do pleno desenvolvimento da personalidade humana


e do fortalecimento do respeito pelos direitos do ser humano e pelas liberdades fundamentais. A ins-
trução promoverá a compreensão, a tolerância e a amizade entre todas as nações e grupos raciais ou
religiosos e coadjuvará as atividades das Nações Unidas em prol da manutenção da paz. 

3. Os pais têm prioridade de direito na escolha do gênero de instrução que será ministrada a
seus filhos.

Artigo 27
1. Todo ser humano tem o direito de participar livremente da vida cultural da comunidade, de
fruir as artes e de participar do progresso científico e de seus benefícios. 
2. Todo ser humano tem direito à proteção dos interesses morais e materiais decorrentes de
qualquer produção científica literária ou artística da qual seja autor.

Artigo 28
Todo ser humano tem direito a uma ordem social e internacional em que os direitos e liberdades
estabelecidos na presente Declaração possam ser plenamente realizados.

Artigo 29
1. Todo ser humano tem deveres para com a comunidade, na qual o livre e pleno desenvolvi-
mento de sua personalidade é possível. 
2. No exercício de seus direitos e liberdades, todo ser humano estará sujeito apenas às limi-
tações determinadas pela lei, exclusivamente com o fim de assegurar o devido reconhecimento e
respeito dos direitos e liberdades de outrem e de satisfazer as justas exigências da moral, da ordem
pública e do bem-estar de uma sociedade democrática. 
3. Esses direitos e liberdades não podem, em hipótese alguma, ser exercidos contrariamente
aos objetivos e princípios das Nações Unidas.

Artigo 30
Nenhuma disposição da presente Declaração poder ser interpretada como o reconhecimento a
qualquer Estado, grupo ou pessoa, do direito de exercer qualquer atividade ou praticar qualquer ato
destinado à destruição de quaisquer dos direitos e liberdades aqui estabelecidos.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

51
Responsabilidade Social

MÓDULO VI – PROGRAMA 5 S
Método que visa tornar os ambientes de trabalho organizados, ordenados, limpos e saudáveis,
o Programa 5S pode ser considerado a porta de entrada para a Qualidade Total.
O Programa 5S foi concebido por Kaoru Ishikawa em 1950, no Japão do pós-guerra (2ª Guerra
Mundial). Leva esse nome devido às iniciais das cinco palavras japonesas que sintetizam as cinco eta-
pas do programa: SEIRI, SEITON, SEISO, SEIKETSU, SHITSUKE.

* Tenha sempre em mente: o que é inútil para você pode ser útil para outra pessoa.
O programa 5S não se resume a mudar a aparência do local de trabalho ou outro local qualquer.
Na verdade, sua essência é outra: MUDAR ATITUDES E COMPORTAMENTO.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

52
Responsabilidade Social

TEXTO COMPLEMENTAR
Brasil: sociedade do desperdício

Em 2010, o País produziu 60,8 milhões de toneladas de lixo, quantidade 6,8% mais alta que a
de 2009 e seis vezes maior que o crescimento populacional.

Por  Reinaldo Canto — publicado 03/05/2011

Em 2010, o Brasil produziu 60,8 milhões de toneladas dos chamados resíduos sólidos urbanos.
Essa quantidade foi 6,8% mais alta que a registrada em 2009 e seis vezes maior que o crescimento
populacional que, no mesmo período, ficou em pouco mais de 1%. De todo esse resíduo, cerca de 6,5
milhões de toneladas foram a parar em rios, córregos e terrenos baldios. Ainda 42,4%, ou seja, 22,9
milhões de toneladas foram depositados em lixões e aterros controlados e que não fazem o tratamen-
to adequado dos resíduos. Estas conclusões fazem parte do estudo Panorama dos Resíduos Sólidos
divulgado na semana passada pela Abrelpe (Associação Brasileira de Empresas de Limpeza Pública e
Resíduos Especiais).
Detalhes do mesmo relatório demonstram que estamos muito, mas muito distantes de tornar
o consumo consciente uma prática cotidiana na vida das pessoas em nosso país. Um bom exemplo é
que no ano passado, a média de lixo gerado por brasileiro ficou em 378 quilos, o que é 5,3% superior
aos 359 quilos de lixo per capita computados em 2009.

O que esperar do futuro 


Em uma sociedade de consumo que vem se caracterizando pelo culto ao descartável, a quanti-
dade de lixo é proporcional a falta de consciência e ações que passam por todos os setores, sejam eles
públicos ou privados, até chegar ao próprio cidadão.
Se por um lado podemos registrar com orgulho que no Brasil temos o mais alto nível de recicla-
gem de latinhas de alumínio do mundo, por outro, também é fácil afirmar que existem materiais tão
diversos como papel, papelão, vidro, isopor, garrafas PET, sacolas plásticas e tantos outros que são
perfeitamente recicláveis e que simplesmente não o são, por falta de apoio a coleta e comercialização.
Pelo menos 30% dos lixos domiciliares são compostos de materiais recicláveis, mas apenas 1% acaba
sendo, efetivamente, recuperado pela coleta seletiva.
É muito triste imaginar que toneladas de material reciclável entopem os lixões e aterros quando
poderiam voltar a ser utilizados por empresas em produção de novos produtos. Um caso exemplar
é o do vidro. Um quilo de vidro é totalmente aproveitado na reciclagem num círculo virtuoso que
contribui para que não sejam necessárias as extrações de matérias-primas existentes na natureza.
Isso vale para todos os outros materiais que são descartados. Papéis reutilizados e reciclados evitam
o corte de árvores; sacolas plásticas reutilizadas e recicladas deixam de entupir bueiros, poluir rios e
mares etc.
As razões para esse estado de coisas são inúmeras: ausência de políticas públicas efetivas de
incentivo a coleta e reciclagem e de educação ambiental para a população; uma parte da iniciativa

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

53
Responsabilidade Social

privada que não se empenha em tratar resíduos e criar ações para reaproveitamento de materiais
na sua linha de produção e o cidadão que desperdiça, não reutiliza, não recicla e ainda joga lixo nas
praças, ruas, rios e lagos.

Política Nacional de Resíduos Sólidos para mudar a realidade 


Boa parte das esperanças para reverter esse quadro reside na Política Nacional de Resíduos Só-
lidos (PNRS), regulamentada em dezembro de 2010 e que estabelece o princípio da responsabilidade
compartilhada em relação à destinação dos resíduos. Todos os integrantes da cadeia produtiva sejam
eles fabricantes, distribuidores, importadores, comerciantes e até mesmo os consumidores serão res-
ponsáveis por todo o processo de ciclo de vida do produto até a disposição final, também conhecido
como logística reversa. Nessa conta de responsabilidades também estarão inseridos os serviços de
limpeza públicos e de manejo dos resíduos sólidos. A lei prevê ainda o fim dos lixões em todos os
municípios brasileiros até 2014.
Diante do aumento da geração de lixo, os desafios propostos pela nova política são enormes e
vão requerer esforços dobrados nos próximos anos. Portanto, é preciso também trazer outras ques-
tões para a discussão que contribuam para avançar nesse processo.

Cobrar o que é de graça, aumentar o preço do que for muito barato 


Um caminho é dar o devido valor ao que hoje é tratado como lixo. Se o poder público garantisse
preços convidativos para os materiais hoje menos atrativos, tenho certeza que teríamos mais plás-
ticos, papéis, vidros, isopores, entre outros, sendo recolhidos com eficiência e, consequentemente,
voltariam para a cadeia produtiva ao invés de descartados.
Vivemos situações críticas em várias áreas vitais para a sobrevivência humana, a questão da
geração do lixo, da contaminação das águas, o desmatamento e o aquecimento global estão entre as
principais. Infelizmente, medidas isoladas sejam do poder público, sejam da iniciativa privada e até de
cidadãos mais conscientes são louváveis, mas de resultado limitado.
Cobrar por todos esses materiais e embalagens dando valor ao que as pessoas hoje descartam
seria uma maneira rápida de mudar a realidade tenebrosa do desperdício, do descarte inconsequente
e da falta de educação.
O melhor, é claro, seria conquistar consciências, mas é óbvio também que os resultados tem
sido modestos até mesmo nos países ditos desenvolvidos e educados.

Boa notícia chega do varejo! 


Falando em outros países, algo que já foi adotado fora do Brasil vai chegar por aqui nos próximos
dias: a cobrança pelas sacolas plásticas!
No próximo dia 9 de maio, um acordo será assinado pela APAS (Associação Paulista de Super-
mercados) e o Governo do Estado de São Paulo prevendo, inicialmente, uma campanha de 6 meses
para a conscientização do consumidor para a importância de usar sacolas retornáveis, caixas ou carri-
nhos de feira no transporte das compras. Após esse período, ou seja, meados de novembro, as sacolas
plásticas tradicionais, que demoram cerca de 100 anos para se decompor, serão substituídas por saco-
linhas feitas à base de amido. Essa nova sacola se decompõe no máximo em 180 dias e será vendida

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

54
Responsabilidade Social

pelo preço de custo (R$ 0,20 a unidade).


Essa experiência já foi adotada com sucesso em Jundiaí, cidade de 370 mil habitantes, próxima
a Campinas. Hoje apenas 5% dos consumidores acabam por adquirir as sacolinhas biodegradáveis. A
maioria esmagadora já se acostumou a nova realidade e, como em outros países, abandonou o uso
das sacolas descartáveis.
Quem sabe se com mais ações como essa e um pouquinho mais de consciência, os números do
Panorama de Resíduos Sólidos em 2012 não poderão apresentar surpresas mais agradáveis que os
deste ano?

MÓDULO VII
RESPONSABILIDADE SOCIAL NO CONTEXTO PROFISSIONAL
De acordo com OLIVEIRA (2011), “a globalização que requer novas tecnologias e mudanças na
produção demanda também um novo tipo de profissional, flexível, criativo, capaz de compreender
todo o processo por trás da atividade que exerce. Esse profissional deve também entender o papel
fundamental que pode ter em sua comunidade, buscando seu desenvolvimento pessoal, porém sem
prejuízo para o coletivo.”
Em um mundo que apresenta tantos desafios, não é possível que um profissional, de qualquer
área, não se preocupe com o peso das suas decisões e ações.
Utilizar suas habilidades técnicas para buscar soluções para problemas vivenciados por um de-
terminado grupo de pessoas é somente uma das vertentes da Responsabilidade Social no contexto
profissional.
Dependendo da área onde atua, o profissional já desenvolve ações que têm um contexto social,
ou ambiental, bastante explícito. É o caso, por exemplo, de profissionais da educação, saúde, assis-
tência social, de funcionários de ONGs. A atividade que estes profissionais desempenham exigem que
eles estejam em sintonia com questões sociais.
O mesmo acontece, por exemplo, com um Técnico em Meio Ambiente, cuja atuação já é desen-
volvida tendo sempre como foco a sustentabilidade ambiental.
Mas, o que acontece com profissionais de áreas que, aparentemente, não estão relacionadas a
contextos sociais ou ambientais?
Em algumas áreas, a falta de sintonia com questões sociais ou ambientais é somente aparente.
Aparente porque a Responsabilidade Social está em todas as áreas.
Um Técnico em Eletrônica, por exemplo, pode desenvolver um novo modelo de cadeira de rodas
motorizada. Além do produto em si, ser totalmente relacionado à Responsabilidade Social, a mesma
estará mais em evidência se o profissional pensar em uma solução para diminuir o custo de tal cadeira;
possibilitando assim que mais pessoas com necessidades especiais possam ter acesso a esse recurso.
Para quem pensa que a área de exatas está fora do contexto social, isso não é verdade.
Esta área está recheada de recursos que são desenvolvidos para melhorar a qualidade de vida
das pessoas.
Mas, o profissional pode, e deve ir além das suas atividades profissionais. Isto nos leva a outra
vertente da Responsabilidade Social no contexto profissional: o voluntariado.
De acordo com a Organização das Nações Unidas, “voluntário é o jovem, adulto ou idoso que,
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

55
Responsabilidade Social

devido a seu interesse pessoal e seu espírito cívico, dedica parte do seu tempo, sem remuneração, a
diversas formas de atividades de bem estar social ou outros campos.”
No Brasil, o artigo 1º da Lei 9.608, de 18 de fevereiro de 1998, define como serviço voluntário
“a atividade não remunerada, prestada por pessoa física a entidade pública de qualquer natureza,
ou a instituição privada de fins não lucrativos, que tenha objetivos cívicos, culturais, educacionais,
científicos, recreativos ou de assistência social, inclusive mutualidade.”
Independente da forma como é definido o voluntariado, o que fica claro, quando o assunto é
abordado é que o voluntário é aquele que pensa no outro, que se dispõe a doar seu tempo em prol do
coletivo, seja desenvolvendo ações que são relacionadas ao seu dia a dia profissional, seja desenvol-
vendo ações que o levem a sair de sua zona de conforto.
Seja qual for a definição, o voluntário é alguém que “respira” Responsabilidade Social, no seu
mais profundo sentido.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

56
Responsabilidade Social

TEXTO COMPLEMENTAR
Trecho retirado do artigo Responsabilidade social e voluntariado no Brasil, de Renato
Arcúrio

Um objetivo comum e a cada dia mais presente na vida das organizações é a responsabilidade
social e entre as pessoas o voluntariado, que juntos estão ganhando força e crescendo em busca de
um desenvolvimento sustentável.

Renato Arcúrio

[...] Trabalho Voluntário


Ser voluntário é doar o tempo para causas de interesses sociais. A ação voluntária requer pre-
paração e responsabilidades. O voluntariado é uma forma de participação cidadã, da qual todos os
indivíduos, sem restrição física, social, de escolaridade ou financeira, podem participar.
O papel dos voluntários, antes tido como filantrópico e assistencialista, hoje representa um mar-
co de transformação social que amplia o alcance desse serviço em diferentes atividades e agrega
valores.
Segundo a Organização das Nações Unidas (ONU), no Manual do Voluntário: “o voluntário é o
jovem ou adulto que, devido ao seu interesse pessoal e ao seu espírito cívico, dedica parte de seu
tempo, sem remuneração alguma, a diversas formas de atividades, organizadas ou não, de bem-estar
social ou outros campos”.
No Brasil, a Lei 9.608 de 18 de fevereiro de 1998, que dispõe sobre os serviços voluntários,
define o voluntariado como o trabalho não remunerado realizado por pessoas físicas, que não gera
nenhum tipo de vínculo empregatício, obrigações trabalhistas ou previdenciárias.
O voluntário é aquele que está disposto a olhar o outro, importando-se com ele e fazendo algo
de bom pela pessoa que pretende ajudar, doando para isso seu tempo, trabalho e talento. Em situ-
ações de desastres, os voluntários, devidamente capacitados e em sintonia com os órgãos oficiais
responsáveis, podem contribuir trazendo novas ideias, executando tarefas, exercendo funções especí-
ficas e, principalmente, multiplicando esforços.
Por canalizar esforços de pessoas de diferentes áreas e diferentes níveis hierárquicos num pro-
pósito comum, muitos voluntários concordam que as ações de voluntariado derrubam quaisquer bar-
reiras impostas pela rotina do trabalho. Além disso, estimulam o sentimento de equipe, o que propicia
uma integração ainda maior.

Voluntariado no Brasil
Desde nossa colonização temos trabalho voluntário no Brasil, só que com características e obje-
tivos diferentes, e o que é interessante é que ele sempre foi importante para a sociedade. A caridade,
o assistencialismo, e a militância política deram lugar à solidariedade, ao desejo de fazer o bem, ao
exercício de cidadania.
O trabalho voluntário nos últimos 10 anos assumiu um significado muito especial e significativo,

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

57
Responsabilidade Social

pois de um caráter muito mais voltado para a caridade e o altruísmo, o trabalho voluntário passa a
ter uma característica de vontade de mudança e transformação. Esta característica está muito ligada,
talvez, a um sentimento de responsabilidade e de culpa que, entre outros, contribuíram para o nasci-
mento da visão de responsabilidade social. Um breve histórico do trabalho voluntário na Brasil, para
termos uma ideia de sua evolução e de sua compreensão atual.
Séc. XVI – primeiras manifestações de assistência social, baseadas em princípios da caridade
cristã. Segunda metade do séc. XIX – “cruzada filantrópica” em vista da disseminação de doenças
contagiosas (órfãos, alienados, inválidos, delinquentes), trabalho essencialmente feminino com enfo-
que na caridade. A partir de 1930 – conceito de filantropia – a partir da transferência do Estado para
a sociedade civil da atenção social à grande massa de trabalhadores sem carteira assinada. Final da
década de 50 – movimentos sociais reivindicatórios estruturam organizações, sofrendo retração de
1965 a 1980 por influência do Estado. Anos 80 – corresponsabilidades das questões sociais entre Es-
tado, sociedade civil (ONGs, Fundações e empresas). Anos 90 – voluntário é o cidadão motivado pela
solidariedade e participação em prol de causas de interesse social e comunitário.
Segundo Lima(2010),
O caráter de mudança e ajuste social, que o trabalho voluntário propõe atualmente, não há dú-
vida de sua importância, pois que esse movimento de pessoas que se dispõem a ajudar, pressupõe um
movimento de mudança de atitude e, portanto, mudança de ética, já que ela – orientadora da conduta
individual e social - é o determinante de fato do quadro de exclusão.
Além da importância natural que têm os esforços voltados ao trabalho e aos estudos em busca
de desenvolvimento acadêmico e profissional, ganha cada vez mais relevância no currículo o campo
dedicado aos trabalhos voluntários. Um dos motivos para que isso ocorra é a preocupação das pró-
prias empresas com o conceito de sustentabilidade. Pela lógica das empresas, se elas querem ser bem
vistas do ponto de vista socioambiental, é essencial que seus funcionários deem o exemplo primeiro.

Ética no Voluntariado
O trabalho solidário, por meio do voluntariado, respeita valores, regras e princípios éticos, como
em qualquer profissão. Todo voluntário possui uma motivação e, independente desta, é essencial in-
tegrar responsabilidades e ética na função a ser executada.
Sobre isso, Srour (2000, p.51) afirma:
Os dispositivos que compõem os códigos morais traduzem valores, princípios, normas ou ideias
e vão sendo aplicados pelos agentes a situações concretas. Funcionam, portanto, como receituários,
compêndios de prescrições ou manuais a seguir nas mais diversas ocorrências.
Ao optar por assumir esse papel de voluntário, o cidadão deve ter em mente que em conjunto
a isto deve adotar uma postura ética que esteja de acordo com o papel que ele está se propondo a
exercer.
De acordo com Srour apud Souza (2000, p. 57), “a ética não é uma etiqueta que a gente põe
e tira, é uma luz que a gente projeta para segui-la com os nossos pés, do modo que pudermos, com
acertos e erros, sempre e sem hipocrisia”.
Esse conceito confirma a importância da ética em todos os momentos, seja ele profissional ou
pessoal, e no trabalho voluntário a ética deve estar sempre alinhada de acordo com o objetivo do bem
social para que o trabalho tenha sentido e resultados satisfatórios para a sociedade.
Sobre isso, Neto e Froes (2001, p. 15) afirmam, “A ética da responsabilidade social veio para

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

58
Responsabilidade Social

superar os efeitos perversos da ética da irresponsabilidade social, dos globalismos ideologizantes, do


domínio do dinheiro em estado puro e consumismos desenfreados.”
Com isso percebemos que não basta apenas ter a ideia de adotar uma causa social, para ser um
voluntário devemos adotar a ética como fonte de princípios e como um caminho que devemos seguir
diariamente em busca dos objetivos sócias.

Benefícios do Trabalho Voluntário


O voluntariado tem um impacto significativo e positivo na comunidade. Mas também traz van-
tagens para o próprio voluntário. Pode trazer: maior estabilidade emocional, possibilidade de fazer o
que realmente gosta, oportunidade de fazer novas amizades e ampliar o seu círculo de relacionamen-
tos, descoberta de novas potencialidades, que não havia percebido antes, mudanças de pontos de vis-
tas sobre o seu próprio valor, melhorando inclusive a autoestima, opções de impulsionar sua carreira,
entre outros. O voluntariado é uma excelente ferramenta para ajudar a desenvolver sua comunidade
e causar um impacto positivo na qualidade de vida das pessoas.
Peter Drucker, certamente o maior consultor do século, há décadas já dizia que o funcionário
que presta serviços voluntários, por ser solidário à dor do próximo, é mais produtivo.
Cada vez mais comum nas entrevistas de emprego e estágio, o questionamento sobre a realiza-
ção de trabalhos temporários ou mesmo voluntários são muito importantes para descrever o perfil de
um candidato.
Isso porque a impressão passada é de que o profissional investe parte do seu tempo em outras
pessoas e possui qualidades como facilidade de relacionamento interpessoal e capacidade de ouvir.
Mas o principal aspecto positivo dessa ação é que o candidato não é acomodado. Ele realiza ações
importantes - mesmo não ganhando para isso – e deixa claro que seu objetivo não é apenas o salário,
mas também o projeto que realiza.
Mas não é apenas pela melhoria da forma como a empresa é vista perante a sociedade que faz
do voluntariado algo valorizado. Esse tipo de iniciativa leva o profissional a desenvolver valores como
iniciativos e trabalho em grupo, o que é útil especialmente para pessoas em início de carreira cuja
pouca experiência pode limitar a disputa por vagas. Outra habilidade desenvolvida por profissionais
engajados em causas voluntárias é a de alcançar objetivos por meio da gestão de recursos escassos,
característica inerente a grande parte dos projetos sociais.
Para as empresas, é ótimo ter colaboradores com esse perfil, pois eles são capazes de fazer a
diferença em situações em que a maioria não reage. Já os candidatos, precisam estar atentos ao fato
de que o voluntariado exige tempo de dedicação, frequência e disponibilidade.
Existem inúmeras vantagens para as pessoas que desenvolvem um trabalho voluntário que po-
demos citar, porém a maior vantagem que pode ser percebida é a de que o voluntário está caminhan-
do de mãos dadas com a sociedade em busca de um mundo melhor.

Considerações Finais
Muita gente não dá tanta credibilidade ao trabalho voluntário. Entretanto, quem já participou
de uma atividade como essa sabe o quanto é gratificante. Além de gerar benefícios pessoais, este é o
tipo de ação que pode contribuir para o seu crescimento profissional.
No caso da empresa, a marca fica fortalecida, a produtividade aumenta e os funcionários passam

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

59
Responsabilidade Social

a se comprometer ainda mais, resultando na conquista de um número maior de clientes. Além disso, o
voluntariado favorece o trabalho em equipe e deixa o ambiente na organização mais agradável.
Para o empregado, ele promove a possibilidade de trabalho em grupo, desenvolvendo várias ha-
bilidades, como capacidade de resolver problemas e de propor soluções. Outra vantagem do trabalho
voluntário é que ele pode enriquecer o seu currículo e abrir portas para um novo emprego.
Apesar de tudo, os verdadeiros beneficiados são aqueles que recebem este tipo de ação. Por
isso, não deixe de ajudar, pois não há forma melhor de fazer bem a si mesmo, do que fazendo o bem
a outras pessoas.
Assim, finalizo este projeto mostrando que a responsabilidade social e o trabalho voluntário es-
tão caminhando juntos nesse processo de sustentabilidade e que com o empenho de todos na busca
do bem comum, podemos viver em uma sociedade cada vez melhor.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

60
Responsabilidade Social

FONTES DE PESQUISA
CENTRO DE INFORMAÇÕES DAS NAÇÕES UNIDAS: www.unicrio.org.br. Disponível em:
<http://www.ofuturoquenosqueremos.org.br/sustainability.php>.

CENTRO REGIONAL DE INFORMAÇÃO DAS NAÇÕES UNIDAS: www.unric.org. Disponível em:<ht-


tp://www.unric.org/html/portuguese/uninfo/DecdoMil.pdf>.

INSTITUTO BRASILEIRO DE GEOGRAFIA E ESTATÍSTICA, IBGE: www.ibge.gov.br. Disponível em:


<http://www.ibge.gov.br/home/estatistica/populacao/censo2010/trabalho_infantil/default_xls.
shtm>.

INSTITUTO DE TECNOLOGIA SOCIAL, ITS Brasil: www.itsbrasil.org.br. Disponível em:


<http://www.itsbrasil.org.br/conceito-de-responsabilidade-social>

INSTITUTO DO HOMEM E MEIO AMBIENTE DA AMAZÔNIA, Imazon: www.imazon.org.br. Dispo-


nível em: <http://www.imazon.org.br/publicacoes/transparencia-florestal/transparencia-florestal-
-amazonia-legal/boletim-do-desmatamento-sad-novembro-de-2013>.

INSTITUTO ETHOS DE EMPRESAS E RESPONSABILIDADE SOCIAL: www.ethos.org.br. Disponível em:


<http://www3.ethos.org.br/cedoc/responsabilidade-social-empresarial-e-sustentabilidade-para-a-
-gestao-empresarial/#.Uqyiy_RDuQ5>.
<http://www3.ethos.org.br/cedoc/relacionamento-com-partes-interessadas/#.Uqyi5PRDuQ5>.
<http://www3.ethos.org.br/cedoc/relacionamento-com-partes-interessadas/#.UqzM0PRDuQ5>.
<http://www3.ethos.org.br/cedoc/generosidade-o-quarto-elemento-do-triple-bottom-line/#.UqzL-
BPRDuQ4>.

LADISLAU DOWBOR: www.dowbor.org.br. Disponível em: <http://dowbor.org/2013/05/gestao-so-


cial-e-transformacao-da-sociedade.html/>

MAPA DA VIOLÊNCIA: < http://mapadaviolencia.org.br/>Mestrado em Gestão Social, Educação e


Desenvolvimento Local – UNA: http://www.mestradoemgsedl.com.br/. Disponível em: <http://www.
mestradoemgsedl.com.br/wp-content/uploads/2010/06/Disserta%C3%A7%C3%A3o_Juliceli-M%-
C3%A1rcia-de-Oliveira.pdf>.

MINISTÉRIO DO DESENVOLVIMENTO SOCIAL E COMBATE À FOME: www.mds.gov.br. Disponível


em: < http://www.mds.gov.br/saladeimprensa/migracao/noticias/artigo-o-assistencialismo-e-o-bol-
sa-familia>.

ORGANIZAÇÃO DAS NAÇÕES UNIDAS, ONU: www.onu.org.br. Disponível em:


<http://www.onu.org.br/faca-parte-da-onu/voluntariado/>.

ONG REPÓRTER BRASIL: www.reporterbrasil.org.br. Disponível em: <http://reporterbrasil.org.


br/2013/12/trabalho-escravo-e-tema-de-serie-de-reportagens-especiais-da-globo-news/>.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

61
Responsabilidade Social

PORTAL BRASIL: www.brasil.gov.br. Disponível em: <http://www.brasil.gov.br/cidadania-e-justi-


ca/2013/09/pnad-2012-trabalho-infantil-registra-156-mil-casos-a-menos>

PORTAL DA ADMINISTRAÇÃO: www.administradores.com.br. Disponível em: <http://www.adminis-


tradores.com.br/artigos/carreira/responsabilidade-social-e-voluntariado-no-brasil/58643/>

PORTAL DO PLANALTO: www.planalto.gov.br. Disponível em: <http://www.planalto.gov.br/ccivil_03/


leis/L9608.htm>.

PROGRAMA DAS NAÇÕES UNIDAS PARA O DESENVOLVIMENTO (PNUD): www.pnud.org.br. Dispo-


nível em:<http://www.pnud.org.br/ODM.aspx>.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

62
Curso Técnico em

INFORMÁTICA
Etapa 2

INGLÊS INSTRUMENTAL
Inglês Instrumental

INGLÊS INSTRUMENTAL

Conteúdo:
Inglês Instrumental com estratégias de leitura: skimming, scanning, reconhecer cognatos e fal-
sos cognatos, palavras de duplo sentido.
Como usar corretamente o dicionário

GRAMÁTICA BÁSICA:
• Pronomes Pessoais;
• Pronomes Possessivos;
• Numerais cardinais e ordinais;
• Dias da semana e meses do ano;
• Verbo To Be ( presente, passado e futuro);
• Verbo There to be (presente, Passado e futuro);
• Simple Present;
• Simple Past;
• Simple Future;
• Plural dos substantivos;
• Lista de verbos irregulares.

OBJETIVOS DA DISCIPLINA:
• Compreender os Textos Técnicos específicos da área.
• Reconhecer o tempo verbal e o seu significado.
• Aplicar técnicas de tradução reconhecendo as regras básicas gramaticais.
• Conhecer e reconhecer o texto técnico na língua estrangeira.
• Conscientizar-se da importância da língua Inglesa na sua área específica.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

65
Inglês Instrumental
Carga horária total: 40h

DISTRIBUIÇÃO DE PONTOS
1º Bimestre

Critérios de distribuição de pontos


Data Atividades Valor
Julho Atividades em sala de aula 8
Agosto Trabalho em grupo 12
Setembro Avaliação bimestral 20
Total de Pontos 40

2º Bimestre

Critérios de distribuição de pontos


Data Atividades Valor
Outubro Atividades em sala de aula 8
Novembro Trabalho em grupo 12
Novembro Feira / mostra 10
Dezembro Avaliação bimestral 30
Total de Pontos 60

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

66
Inglês Instrumental
Bibliografia

Inglês Instrumental para vestibulares e concursos/ Velloso, Mônica Soares. Vestcon, 2009
Inglês. com. textos para informática/ Décio Torres, Alba Valéria Silva, Marta Rosas. Disal Editora, 2001
Reading on info tech: Inglês para Informática/ Demóstenes Marinotto, 2ª edição- São Paulo. Novatec
Editora, 2007.

Esta apostila de Inglês Instrumental está dividida em duas partes: Estratégias de Leitura e Gra-
mática Básica da Língua Inglesa.

APRESENTAÇÃO DO CURSO

“English for Specific Purposes” (E. S. P.), que em português quer dizer: Inglês com Objetivos
Específicos, também chamado de INGLÊS INSTRUMENTAL ou TÉCNICO, ou seja, é a habilidade de en-
tender textos em língua inglesa usando estratégias específicas de leitura.
Surgiu com a necessidade de comunicação rápida e eficaz em vários contextos mundiais. Como
por exemplo: durante a guerra, os soldados precisavam aprender o idioma do inimigo para sobrevive-
rem, este vocabulário básico era visto no avião, navio, nos campos de batalha.
Com o passar do tempo, outros contextos sociais foram surgindo, como: a necessidade de leitu-
ra de livros, revistas, catálogos, instruções operacionais, manuais escritos em inglês que precisavam
ser compreendidos pelos usuários, etc. Sendo assim, torna-se necessário uma abordagem específica
da língua inglesa, que atenda as necessidades profissionais dos estudantes, que são leitura e compre-
ensão de livros.
E assim, o Inglês Instrumental possui o objetivo de desenvolver a habilidade de leitura, isto é,
de compreensão de textos de diversas áreas do conhecimento escritos em língua inglesa, utilizando
para isso estratégias de leitura, a fim de tornar o aluno capaz de compreender um texto da sua área
de estudo.
Nesse enfoque, a leitura conta com o conhecimento prévio dos leitores. O inglês instrumental
consiste no “treinamento instrumental” dessa língua, em que a leitura tem por objetivo extrair conhe-
cimentos para áreas específicas de estudo.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

67
Inglês Instrumental
Vale lembrar que o inglês instrumental ou técnico não visa à comunicação oral em inglês, pois
sua principal habilidade é a leitura e o estudo de gramática restringe-se a um mínimo necessário, sen-
do normalmente associada ao texto.

MÉTODO
Desenvolve a leitura (“reading”) de forma limitada a um objetivo específico, através da habilida-
de de manipular textos em língua inglesa, tentando assimilar a compreensão geral e inferir informa-
ções específicas. A gramática é ensinada de forma contextualizada a um objetivo específico.

TRADUÇÕES DOS TEXTOS


Não há tradução, porém outros métodos são utilizados como, por exemplo: dedução, contexto
semântico, reconhecimento de cognatos e vocabulário da área.

COMO SERÃO AS AULAS?


As aulas serão ministradas em português, pois no curso não serão trabalhadas as habilidades da
fala, de compreensão oral e de escrita.
Não haverá tradução literal, outras estratégias serão utilizadas como por exemplo, dedução,
cognatos, familiares, dicas tipográficas e outros.
Muitos exercícios de leitura e compreensão de textos, os quais vocês poderão aplicar as estraté-
gias de leitura que serão ensinadas.
O inglês instrumental poderá abrir seus horizontes de leitura e assim você se manterá mais in-
formado e próximo ao mundo globalizado.

TÉCNICAS DE LEITURA
As técnicas de leitura, como o próprio nome diz, vão nos ajudar a ler um texto. Existem técnicas
variadas, mas veremos as mais utilizadas. Ao ler um texto em Inglês, lembre-se de usar as técnicas
aprendidas, elas vão ajudá-lo. O uso da gramática vai ajudar também.
As principais técnicas são: a identificação de cognatos, de palavras repetidas e de pistas tipo-
gráficas. Ao lermos um texto vamos, ainda, apurar a ideia geral do texto (general comprehension) e
utilizar duas outras técnicas bastante úteis: skimming e scanning.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

68
Inglês Instrumental

1ª PARTE – ESTRATÉGIAS DE LEITURA

HABILIDADES E OUTROS FACILITADORES


COGNATOS
Os cognatos são palavras de origem grega ou latina muito parecidas com as palavras do Português.
São as chamadas palavras transparentes. Existem também os falsos cognatos, que são palavras que acha-
mos que é tal coisa, mas não é; os falsos cognatos são em menor número, estes nós veremos adiante.
Como cognatos podemos citar: telephone (telefone) , car (carro), question (questão, pergunta) ,
activity (atividade) , secretary (secretária) , different (diferente) , infection (infecção).
Os cognatos podem ser:
IDÊNTICOS:
Exemplos: radio, piano, hospital, hotel, sofa, nuclear, social, total, chance, etc.
BASTANTE PARECIDOS:
Exemplos: gasoline, banks, inflation, intelligent, population, revolution, commercial, attention,
different, products, secretary, billion, dramatic, deposits, distribution, automatic, etc.
VAGAMENTE PARECIDOS:
Exemplos: electricity, responsible, explain, activity, etc.

FAMILIARES
Familiares são palavras conhecidas pela maioria das pessoas que vive em um país altamente in-
fluenciado pela cultura dos países de Língua Inglesa. Não têm a mesma origem das palavras da Língua
Portuguesa.
Alguns exemplos de Familiares
software, hardware, CPU, delivery, shows, fast food, windows, videogame, dollar, office boy,
play, hot dog, marketing, site, mouse, etc.

PALAVRAS REPETIDAS
As palavras repetidas em um texto possuem um valor muito importante. Um autor não repete as
palavras em vão. Se elas são repetidas, é porque são importantes dentro de texto. Muitas vezes para

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

69
Inglês Instrumental
não repetir o mesmo termo, o autor utiliza sinônimos das mesmas palavras para não tornar o texto
cansativo.

DICAS TIPOGRÁFICAS
As dicas tipográficas são elementos visuais que nos auxiliam na compreensão do texto. Atenção
com datas, números, tabelas, gráficas, figuras. . . São informações também contidas no texto. Os re-
cursos de escrita também são dicas tipográficas.
Por exemplo:
. . . (três pontos) indicam a continuação de uma ideia que não está ali exposta;
negrito dá destaque a algum termo ou palavra;
itálico também destaca um termo, menos importante que o negrito;
„ „ (aspas) salientam a importância de alguma palavra;
( ) (parênteses) introduzem uma ideia complementar ao texto.

GENERAL COMPREHENSION
A ideia geral de um texto é obtida com o emprego das técnicas anteriores. Selecionando-se
criteriosamente algumas palavras, termos e expressões no texto, poderemos chegar à ideia geral do
texto.

DICIONÁRIO
O dicionário deve ser utilizado como ÚLTIMO recurso para se descobrir o significado de uma
palavra ou expressão desconhecida. Isso para que a leitura não seja lenta demais, e para que o leitor
não desanime tendo que parar toda vez que encontrar algo desconhecido.

ESTRATÉGIAS
SKIMMING: leitura rápida para ter-se uma ideia central do texto. “skim” em inglês é deslizar à
superfície, desnatar, passar os olhos por. A técnica de “skimming” nos leva a ler um texto superficial-
mente. Utilizar esta técnica significa que precisamos ler cada sentença, mas sem passarmos os olhos
sobre o texto, lendo algumas frases aqui e ali, procurando reconhecer certas palavras e expressões
que sirvam como “dicas” na obtenção de informações sobre o texto. Às vezes não é necessário ler o
texto em detalhes.
SKIMMING nada mais é do que fazer uma leitura rápida do texto para captar os conceitos e as
ideias principais, ou seja, você faz uma exploração geral do texto sem se deter em um ponto específi-
co. Está, neste momento, buscando a ideia geral do texto. Quando lemos desta maneira, rapidamente
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

70
Inglês Instrumental
passamos os olhos pelo título, lemos os parágrafos, o nome do autor, a fonte, etc. Quando termina-
mos a leitura, saberemos do que o texto trata como um todo.

SCANNING (habilidade de leitura em alta velocidade)


É uma habilidade que ajuda o leitor a obter informação de um texto sem ler cada palavra. É
uma rápida visualização do texto como um scanner faz quando, rapidamente, lê a informação contida
naquele espaço. Scanning envolve mover os olhos de cima para baixo na página, procurando palavras
chaves, frases especificas ou ideias. Ao realizar o scanning procure verificar se o autor fez uso de or-
ganizadores no texto, como: números, letras, passos ou as palavras primeiro, segundo, próximas. Pro-
cure por palavras em negrito, itálico, tamanhos de fontes ou cores diferentes. O processo de scanning
é muito útil para encontrar informações específicas de, por exemplo, um número de telefone numa
lista, uma palavra num dicionário, uma data de nascimento, ou de falecimento numa biografia, um en-
dereço ou a fonte para a resposta de uma determinada pergunta sua. Após “escanear” o documento,
você deve usar a técnica de skimming.
SCANNING também envolve dar uma lida rápida, mas usamos esta estratégia quando queremos
encontrar algo específico no texto, isto é, nós sabemos o que estamos procurando. É exatamente o
que fazemos com um SCANNER quando queremos copiar um texto: selecionamos uma informação
específica e nos fixamos nela.

DOUBLE SENSE WORDS – Palavras de duplo sentido


É comum a todas as línguas a ocorrência de palavras com significado ou função gramatical múl-
tiplos. Frequentemente este múltiplo sentido em um idioma não tem correspondente em outro. Quer
dizer: os termos nem sempre cobrem as mesmas áreas de significado entre diferentes idiomas. Este
fenômeno, também chamado de polissemia, ocorre com qualquer idioma; assim como o português,
o inglês também tem inúmeras palavras de múltiplo significado. É, entretanto a ocorrência do fenô-
meno na língua mãe do aluno que causa maior dificuldade. Partir do geral para o particular é sempre
mais difícil do que o inverso.
Portanto, sempre que diferentes ideias representadas pela mesma palavra na língua mãe do
aluno corresponderem a diferentes palavras na segunda língua, o mesmo terá dificuldades em expres-
sar-se corretamente. As diferentes palavras do inglês que correspondem aos diferentes significados
da palavra do português podem eventualmente funcionar como sinônimos, portanto neutralizando o
contraste entre os dois idiomas. O objetivo, entretanto, é mostrar os contrastes nas ocorrências mais
usuais do vocabulário inglês moderno.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

71
Inglês Instrumental

Primeiro Segundo Inglês Primeiro Segundo signifi-


significado significado significado cado
Abstract Abstrato Resumo Individual Individual Indivíduo
Affiliate Filiar-se Determinar Interest Interesse Juros
Paternidade
Affluent Afluente Rico Just Justo Apenas
Ambulant Paciente de Capaz de Ca- Legend Legenda Lenda
Ambulatório minhar
Apology Apologia Desculpas Letter Letra Carta
Application Aplicação Requerimen- Match Ligar (Rela- Partida (Jogo)
to cionar)
Apply Aplicar Inscrever-se Major Major Principal
Argument Argumento Discussão Manifest Manifesto Óbvio
Arma Braço Mark Marca Nota
Bachelor Bacharel Solteiro Mass Massa Missa
Balance Balança Equilíbrio Matter Matéria Assunto
Ball Bola Baile, Bala Medicine Medicina Remédio
(projétil)
Bar Bar Barra Move Mover Mudar
Bat Bastão de Morcego Observe Observar Celebrar
beisebol
Cancel Cancelar Carimbar Official Oficial Autoridade
Capital Capital Maiúscula Oil Óleo Petróleo
Case Caso Estojo Operator Operador Telefonista
Cell Célula Cela Order Ordem Pedido
Character Caráter Personagem, Park Parque Estacionar
caractere
China China Porcelana Period Período Menstruação
Class Classe Aula Plant Planta Fábrica
Classified Classificado Confidencial Principal Principal Diretor da escola
Club Clube Taco de golfe Pupil Pupila Aluno
Coll Fresco Legal Race Raça Corrida

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

72
Inglês Instrumental

Collect Colecionar Cobrar, cole- Rare Raro Mal passado (car-


tar ne)
Compass Compasso Bússola Record Recorde Gravar
Confirmed Confirmado Inveterado Rest Resto Descansar
Consistent Consistente Compatível Retire Retirar Aposentar
Content Contente Conteúdo Roll Rolo Lista
Date Date Tâmara, En- Save Salvar Economizar
contro
Directory Diretoria Lista telefô- Scale Escala Balança
nica
Easy Fácil Em Paz / Con- Sequel Sequela Sequencia
fortável
Effective Efetivo Verdadeiro Spectacles Espetáculos Óculos
Entertain Entreter Receber visi- Spirits Espíritos Bebida alcóolica
tas
Faculty F a c u l d a d e Corpo Docen- Story Estória Pavimento, andar
(mental) te
Figure Figura Número Subject Sujeito Assunto
Fix Fixar Consertar To Play Jogar/ Brin- Tocar / Imitar
car
General General Geral Turkey Turquia Peru

FALSOS COGNATOS
Cognatos são palavras que possuem a mesma origem, tendo portanto, ortografias semelhantes.
Com a evolução de cada idioma, algumas palavras podem apresentar significados diferentes para cada
país. Essas palavras são denominadas de “falsos cognatos” ou False Friends.
Na tabela abaixo, a lista da esquerda relaciona algumas palavras do inglês e seus significados no
português, e a da direita, palavras em português e seu correspondente(s) no inglês:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

73
Inglês Instrumental

Actually (adv) - na verdade . . . , o fato é que . . . Atualmente - nowadays, today


Adept (n) - especialista, profundo conhecedor Adepto - supporter
Agenda (n) - pauta do dia, pauta para discussões Agenda - appointment book; agenda
Amass (v) - acumular, juntar Amassar - crush
Anticipate (v) - prever; aguardar, ficar na expec- Antecipar - to bring forward, to move forward
tativa Aplicação (financeira) - investment
Application (n) - inscrição, registro, uso Apontamento - note
Appointment (n) - hora marcada, compromisso Apreciação - judgement
profissional Argumento - reasoning, point
Appreciation (n) - gratidão, reconhecimento Assistir - to attend, to watch
Argument (n) - discussão, bate boca Assumir - to take over
Assist (v) - ajudar, dar suporte Atender - to help; to answer; to see, to examine
Assume (v) - presumir, aceitar como verdadeiro Audiência - court appearance; interview
Attend (v) - assistir, participar de Balcão - counter
Audience (n) - platéia, público Batom - lipstick
Balcony (n) - sacada Bife - steak
Baton (n) - batuta (música) , cacetete Cafeteria - coffee shop, snack bar
Beef (n) - carne de gado Câmara - tube (de pneu) chamber (grupo de
Cafeteria (n) - refeitório tipo universitário ou pessoas)
industrial Cartão - card
Camera (n) - máquina fotográfica Casualidade - chance, fortuity
Carton (n) - caixa de papelão, pacote de cigarros Cigarro - cigarette
(200) Colar - necklace
Casualty (n) - baixa (morte fruto de acidente ou Colégio (2º grau) - high school
guerra) , fatalidade Comodidade - comfort
Cigar (n) - charuto Competição - contest
Collar (n) - gola, colarinho, coleira Compreensivo - understanding
College (n) - faculdade, ensino de 3º grau Compromisso - appointment; date
Commodity (n) - artigo, mercadoria Contexto - context
Competition (n) - concorrência Conveniente - appropriate
Comprehensive (adj) - abrangente, amplo, exten- Costume - custom, habit
so Data - date
Compromise (v) - entrar em acordo, fazer conces- Decepção - disappointment
são Advogado de defesa - defense attorney
Contest (n) - competição, concurso Designar - to appoint
Convenient (adj) - prático Editor - publisher
Costume (n) - fantasia (roupa) Educado - with a good upbringing, well-man-
Data (n) - dados (números, informações) nered, polite
Deception (n) - logro, fraude, o ato de enganar Emissão - issuing (of a document, etc.)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

74
Inglês Instrumental

Defendant (n) - réu, acusado Enrolar - to roll; to wind; to curl


Design (v, n) - projetar, criar; projeto, estilo Eventualmente - occasionally
Editor (n) - redator Excitante - thrilling
Educated (adj) - instruído, com alto grau de esco- Êxito - success
laridade Esperto - smart, clever
Emission (n) - descarga (de gases, etc.) Esquisito - strange, odd
Enroll (v) - inscrever-se, alistar-se, registrar-se Fábrica - plant, factory
Eventually (adv) - finalmente, consequentemente Genial - brilliant
Exciting (adj) - empolgante Curso de graduação - undergraduate program
Exit (n, v) - saída, sair Gratuidade - the quality of being free of charge
Expert (n) - especialista, perito Gripe - cold, flu, influenza
Exquisite (adj.) - belo, refinado Azar - bad luck
Fabric (n) - tecido Idioma - language
Genial (adj) - afável, aprazível Devolução de imposto de renda - income tax
Graduate program (n) - Curso de pós-graduação refund
Gratuity (n) - gratificação, gorjeta Ingenuidade - naiveté / naivety
Grip (v) - agarrar firme Injúria - insult
Hazard (n, v) - risco, arriscar Inscrição - registration, application
Idiom (n) - expressão idiomática, linguajar Entender - understand
Income tax return (n) - declaração de imposto de Intoxicação - poisoning
renda Jarra - pitcher
Ingenuity (n) - engenhosidade Jornal - newspaper
Injury (n) - ferimento Lâmpada - light bulb
Inscription (n) - gravação em relevo (sobre pedra, Largo - wide
metal, etc.) Leitura - reading
Intend (v) - pretender, ter intenção Legenda - subtitle
Intoxication (n) - embriaguez, efeito de drogas Livraria - book shop
Jar (n) - pote Locação - rental
Journal (n) - periódico, revista especializada Lanche - snack
Lamp (n) - luminária Magazine - department store
Large (adj) - grande, espaçoso Maior - bigger
Lecture (n) - palestra, aula Medicina - medicine
Legend (n) - lenda Mistura - mix, mixture, blend
Library (n) - biblioteca Motel - love motel, hot-pillow joint
Location (n) - localização Notícia - news
Lunch (n) - almoço Novela - soap opera
Magazine (n) - revista Oficial - official
Mayor (n) - prefeito Parentes - relatives
Medicine (n) - remédio, medicina Particular - personal, private

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

75
Inglês Instrumental

Moisture (n) - umidade Pasta - paste; folder; briefcase


Motel (n) - hotel de beira de estrada Polícia - police
Notice (v) - notar, aperceber-se; aviso, comunicação Porta - door
Novel (n) - romance Prejuízo - damage, loss
Office (n) - escritório Prescrever - expire
Parents (n) - pais Preservativo - condom
Particular (adj) - específico, exato Pretender - to intend, to plan
Pasta (n) - massa (alimento) Privado - private
Policy (n) - política (diretrizes) Procurar - to look for
Port (n) - porto Propaganda - advertisement, commercial
Prejudice (n) - preconceito Pular - to jump
Prescribe (v) - receitar Puxar - to pull
Preservative (n) - conservante Ranger - to creak, to grind
Pretend (v) - fingir
Realizar - to carry out, make come true, to ac-
Private (adj) - particular
complish
Procure (v) - conseguir, adquirir
Recipiente - container
Propaganda (n) - divulgação de ideias/fatos com
Recordar - to remember, to recall
intuito de manipular
Refrigerante - soft drink, soda, pop, coke
Pull (v) - puxar
Push (v) - empurrar Requerimento - request, petition
Range (v) - variar, cobrir Resumir - summarize
Realize (v) - notar, perceber, dar-se conta, conce- Resumo - summary
ber uma ideia Retirado - removed, secluded
Recipient (n) - recebedor, agraciado Senhor - gentleman, sir
Record (v, n) - gravar, disco, gravação, registro Serviço - job
Refrigerant (n) - substância refrigerante usada Estrangeiro - foreigner
em aparelhos Estúpido - impolite, rude
Requirement (n) - requisito Suportar (tolerar) - can stand
Resume (v) - retomar, reiniciar Taxa - rate; fee
Résumé (n) - curriculum vitae, currículo Treinador - coach
Retired (adj) - aposentado Turno - shift; round
Senior (n) - idoso Vegetais - plants
Service (n) - atendimento
Stranger (n) - desconhecido
Stupid (adj) - burro
Support (v) - apoiar
Tax (n) - imposto
Trainer (n) - preparador físico
Turn (n, v) - vez, volta, curva; virar, girar
Vegetables (n) - verduras, legumes

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

76
Inglês Instrumental
FALSE COGNATES EXERCISE
A DAY AT WORK
In the morning I attended a meeting between management and union representatives. The
discussion was very comprehensive, covering topics like working hours, days off, retirement age, etc.
Both sides were interested in an agreement and ready to compromise. The secretary recorded every-
thing in the notes. Eventually, they decided to set a new meeting to sign the final draft of the agree-
ment.
Back at the office, a colleague of mine asked me if I had realized that the proposed agreement
would be partially against the company policy not to accept workers that have already retired. I pre-
tended to be really busy and late for an appointment, and left for the cafeteria. Actually, I didn’t want
to discuss the matter at that particular moment because there were some strangers in the office.
After lunch I attended a lecture given by the mayor, who is an expert in tax legislation and has
a graduate degree in political science. He said his government intends to assist welfare programs
and senior citizens, raise funds to improve college education and build a public library, and establish
tougher limits on vehicle emissions because he assumes this is what the people expect from the gov-
ernment.
Texto e lista extraídos do site www. sk. com. br , autor Ricardo Schütz, 1999

Escreva o verdadeiro significado das palavras em destaque no texto acima em uma folha separada.
False Friend - Exercises
Choose the correct alternative:

1. Denim is a ________________ used for making jeans.


( ) factory
( ) fabric
2. There was an enormous demonstration against the government’s economic ___________ .
( ) police
( ) policy
3. We borrowed that old magazine from the public ____________.
( ) library
( ) bookstore
4. The main exit was only three feet ____________.
( ) large
( ) wide

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

77
Inglês Instrumental
5. The _____________ said: “Private farm”. Keep out!
( ) news
( ) notice
6. Aunt Jennie left me all her property when she died because I was the only____________ she had.
( ) parent
( ) relative
7. After a short rest, he felt ready to ____________ his work.
( ) resume
( ) summarize
8. I’m going to buy an ____________in the North.
( ) state
( ) estate
9. We are very proud of our daughters’ ____________in their studies.
( ) exit
( ) success
10. Martin Luther King fought against racial ___________.
( ) loss
( ) prejudice
11. Nothing can be worse than the ____________ of health.
( ) loss
( ) prejudice
12. The robber was ____________ when he was running away from the bank.
( ) arrested
( ) dragged
13. The boyfriend didn’t ____________ to hurt his girlfriend’s feelings.
( ) pretend
( ) intend
14. There is nothing special about that car. It is quite ____________.
( ) ordinary
( ) disgusting

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

78
Inglês Instrumental
15. Professor Spillane will give a ____________ on Maya architecture.
( ) lecture
( ) reading
16. He’s a former ____________. He spent ten years in jail.
( ) sure
( ) convict
17. May 13, 1888 is the ____________ of the signing of the abolition of slavery in Brazil.
( ) data
( ) date
18. ____________ believe inflation will fall.
( ) smart
( ) experts
19. The teachers asked the students to read a _________ by Machado de Assis.
( ) novel
( ) soap opera
20. As we are not very hungry, let’s have just a _________.
( ) lunch
( ) snack
21. Sidney was a colony for British ____________ till 1482, when it became a city.
( ) convict
( ) sure
22. ____________ are popular TV serials watched by thousands of people.
( ) novels
( ) soap operas
23. I don’t like the ______________ of your dress.
( ) necklace
( ) collar
24. People think he is very wealthy, but ____________ he is too poor.
( ) actually
( ) nowadays

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

79
Inglês Instrumental
25. I’m sorry, sir, those shoes are not ____________ in your size.
( ) available
( ) appraised

EXERCÍCIO DE PALAVRA DE DUPLO SENTIDO

Assinale o significado correto das palavras em destaque nas sentenças:


1. I need to cancel your documents.
( ) cancelar ( ) carimbar
2. She is the principal of the school.
( ) diretora ( ) principal
3. His mark was terrible.
( ) marca ( ) nota
4. The operator (a) gave me the wrong number of the plant (b) .
a- ( ) operador ( ) telefonista
b- ( ) planta ( ) fábrica
5. We are lost. We need a compass now.
( ) bússola ( ) compasso
6. He is the most famous bachelor of the party.
( ) bacharel ( ) solteirão
7. Do you know the capital (a) of China (b) ?
a- ( ) capital ( ) principal
b- ( ) porcelana ( ) China
8. Brasilia is the capital of Brazil.
( ) capital ( ) maiúscula
9. I use capital letter to write my name.
( ) capital ( )maiúscula
10. I appreciate Chinese china.
( ) porcelana ( ) China

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

80
Inglês Instrumental
11. John collects caps.
( ) coleciona ( ) cobro

B) Dê os respectivos significados das palavras repetidas em cada segmento:


1. a) Mike is not married. He is a bachelor.
b) He finished the college last year. Now, he is a bachelor in Biology.
2. We have a directory in order to look for the telephone numbers of the students. This directory is
in the directory of the school.
3. The character of this film has a bad character.
4. You have to write the names of the capitals with capital letters.

USO DO DICIONÁRIO

O dicionário é uma fonte de muitos tipos de informações sobre palavras.


COMPUTER (KAM’PJULTER): An electronic machine that can be supplied with a program.

1º EXERCÍCIO
Você pode notar que podemos encontrar: A representação fonética das palavras; Abreviaturas;
Significado das palavras; Classe gramatical das palavras.
Veja o exemplo seguinte e responda:
1. Qual é a representação fonética da palavra “look”?
2. Quantos significados ela pode ter como substantivo? E como verbo?
3. Qual é o significado de “to look for”?
Look (luk) s. 1. Olhar m. , olhadela f. 2. Expressão f. aspecto m// v. 1 Olhar 2. Contemplar, obser-
var. 3. /considerar.
4. Prestar atenção. 5. Ter vista para. 6. Parecer. 7. Inspecionar, examinar
Have a ~ at It dê uma olhada nisto. It ~s like rain está com aspecto de chuva, ameaça chover. ~
out seja cuidadoso.
To ~ after 1. Procurar 2. Cuidar de. To ~ for 1. Procurar 2. Esperar, antecipar.
Adaptado do dicionário Inglês/Português Michaellis

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

81
Inglês Instrumental
Verbos
Quando você procura um verbo no dicionário geralmente encontra a base do verbo, por exem-
plo: look, work, teach. Mas, quando lemos textos encontramos os verbos sob diferentes formas:
looking, worked, teaches. Quando o verbo é irregular encontramos a seguinte explicação no dicioná-
rio: Fell/fel/ v. passado de fall. Assim, terá que procurar o verbo na sua forma base (fall), para encon-
trar a definição da palavra.
Observe os seguintes exemplos em Português e Inglês. PROCURE NO DICIONÁRIO A PALAVRA
EM NEGRITO ABAIXO:

2º EXERCÍCIO
1. Ele apagou as velas.
2. Tenho que limpar as velas do carro.
3. O marinheiro levantou as velas do barco.
4. Eu não vou ao cinema com eles porque detesto segurar vela.

3º EXERCÍCIO
É claro que o contexto é sempre importante para a compreensão das palavras que têm vários
significados diferentes. Em Inglês também o contexto é muito importante para a interpretação ade-
quada dos vocábulos. PROCURE NO DICIONÁRIO AS PALAVRAS EM NEGRITO ABAIXO:
→The waiter fills their glasses with champagne.
→He went to the optician for a new pair of glasses.
→The window is made of glass.
→ I like computers.
→ OS2 operating system is like Ms DOS.

4º EXERCÍCIO
Você precisa ter em mente que na leitura de textos técnicos você encontrará várias palavras
em inglês que talvez já façam parte de seu vocabulário, mas que nesse contexto irão adquirir novos
significados.
Qual é a tradução mais adequada para os vocábulos em negrito?
1. I will substitute my computer by a notebook.
2. I need a new notebook for my English classes
3. I need the key to open the door.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

82
Inglês Instrumental
4. To enter the program, press any key.
5. I have to save money to by a new car.
6. Don’t forget to save the file before turning off the computer.
(Atividade adaptada da apostila elaborada pelas professoras Márcia C. Bonamim e Magali N. de Paula)

2ª PARTE – GRAMÁTICA

GRAMÁTICA BÁSICA DA LÍNGUA INGLESA

Os números ordinais são usados para indicar sequência, posição. São eles:

1st first – primeiro 17th seventeenth – décimo sétimo


2nd second – segundo 18th eighteenth – décimo oitavo
3rd third – terceiro 19th nineteenth – décimo nono
4th fourth – quarto 20th twentieth - vigésimo
5th fifth – quinto 21st twenty-first – vigésimo primeiro
6th sixth – sexto 22nd twenty-second – vigésimo segundo
7th seventh – sétimo 30th thirtieth – trigésimo
8th eighth – oitavo 40th fortieth - quadragésimo
9th ninth – nono 50th fiftieth – quinquagésimo
10th tenth – décimo 60th sixtieth – sexagésimo
11th eleventh – décimo primeiro 70th seventieth – septagésimo
12th twelfth – décimo segundo 80th eightieth – octagésimo
13th thirteenth – décimo terceiro 90th ninetieth – nonagésimo
14th fourteenth – décimo quarto 100th one hundredth - centésimo
15th fifteenth – décimo quinto 1000th one thousandth – milésimo
16th sixteenth – décimo sexto 1000000th one millionth - milionésimo

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

83
Inglês Instrumental
Ex. :
January is the first month of the year. (Janeiro é o primeiro mês do ano).

Bob is the third winner. (Bob é o terceiro ganhador).

John is the ninth student of this line. (John é o nono aluno desta fila) .
Os números ordinais também são usados em inglês para datas.
January 28th (Vigésimo oitavo dia do mês de janeiro).
Obs. : Note que o “th” acompanha o numeral vinte e oito, pois a terminação de vigésimo oitavo
é “th”. O numeral ordinal primeiro, por exemplo, termina em “st” (first), logo deve vir “st” acompa-
nhando o numeral 1. O numeral ordinal segundo termina em “nd” (second) , por isso deve vir o “nd”
acompanhando o numeral 2. O mesmo acontece com terceiro (third) , logo “rd” deve acompanhar o
numeral 3.

NUMERAIS CARDINAIS
Os numerais cardinais são usados no nosso dia a dia para expressar diversas funções, dentre
elas: dizer o número de telefone, expressar endereços e falar sobre preço. Segue abaixo uma lista dos
principais numerais cardinais:

0- zero
1- one
2- two
3- three
4- four
5- five
6- six
7- seven
8- eight
9- nine
10- ten
11- eleven
12-  twelve
13- Thirteen

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

84
Inglês Instrumental

14- Fourteen
15- Fifteen
16- Sixteen
17- Seventeen
18- Eigtheen
19- Nineteen
20- Twenty
21- Twenty-one
25- twenty-five
30- thirty
36 - thirty-six
40- forty
48- forty-eight
50- fifty
57 – fifty-seven
60- sixty
63- sixty-three
70- seventy
77- seventy-seven
80- eighty
84- eight-four
90- ninety
99- ninety-nine
100 - one hundred /a hundred
157 - one hundred and fifty-seven
200 - two hundred
300 - three hundred
400- four hundred
500 - fifty hundred
600 - six hundred
700 - seven hundred

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

85
Inglês Instrumental

800 - eight hundred


900 - nine hundred
1000 - one thousand /a thousand
2000- two thousand
3000- three thousand
4000- four thousand
5000- five thousand
6000- six thousand
7000- seven thousand
8000- eight thousand
9000- nine thousand
10000- ten thousand
100000- one hundred thousand
1000000000- one million

ARTIGO DEFINIDO E INDEFINIDO


Assim como no português, os artigos em inglês também são classificados em definidos e inde-
finidos.
O artigo definido é o THE (o, a, os, as), e os indefinidos são A, AN (um, uma) .
THE:
O artigo definido é usado:
• antes de substantivos que podem ser precedidos ou não por adjetivos.
Ex: the girl (a menina) the pretty girl (a menina bonita)
• antes de nomes de instrumentos musicais ou nomes de famílias.
Ex: the piano (o piano) the Kennedys (os Kennedys)
• antes de nomes de oceanos, mares, ilhas, rios, montanhas, países, hotéis, cinemas, teatros,
trens e navios.
Ex: the Pacific (o Pacífico)
the United States (os Estados Unidos), etc.
• antes de um representante de uma classe ou espécie.
Ex: the poor (os pobres) the rich (os ricos)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

86
Inglês Instrumental
• antes de um substantivo único na espécie.
Ex: the earth (a terra) the sun (o sol)
Quando o artigo the é omitido:
• antes de nomes próprios, nomes de línguas e ciências.
Ex: Beth English (Inglês) geography (geografia)
• antes de substantivos de uso comum e de substantivos incontáveis.
Ex: gold (ouro) money (dinheiro) coffee (café)
• antes de pronomes possessivos.
Ex: our dress (nosso vestido) their house (casa deles(as))
• antes de alguns substantivos como home, church, school, hospital, bed, prison, quando usa-
dos para o seu propósito original.
Ex: I go to church. (to pray)
Eu vou para a igreja. (para rezar)
I go to school. (to study)
Eu vou para a escola. (para estudar)

A, AN
Existem dois artigos indefinidos com usos diferentes no inglês: a, an
• A: é usado antes de sons de consoantes.
Ex: a car (um carro) a chair (uma cadeira)
• AN: é usado antes de sons de vogais.
Ex: an egg (um ovo) an umbrella (um guarda-chuva)
Exemplos:
a boy (um menino) – a horse (um cavalo) – a book (um livro)
an apple (uma maçã) - an egg (um ovo) – an office (um escritório)
Algumas vezes a palavra é escrita com som de vogal mas sua pronúncia é de ditongo (encontro
de duas vogais com uma sendo mais forte) . Nesse caso preferimos usar o artigo indefinido a.
a year (um ano) – a university (uma universidade) – a one-legged man (um homem de uma
perna só) – a used napkin (um guardanapo usado) – a U. S. ship (um navio americano) – a European
country (um país europeu)
Quando a letra h não tem o som aspirado, parecido com a palavra house, usamos o artigo inde-
finido an.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

87
Inglês Instrumental
an hour (uma hora) – half an hour (meia hora) – an honor (uma honra) – an honest man (um
homem honesto)

DIAS DA SEMANA
Os dias da semana em inglês são chamados de “weekdays”; o final de semana é “weekend”, e
o dia útil é um “business day” (dia de negócio, na tradução literal). Seus nomes são escritos com letra
maiúscula no início, ao contrário do que acontece em português, onde não há tal obrigatoriedade.
Ao se referir a um dia da semana, usamos a preposição “on”, sem o “the”:
• I go to church on Sundays. / Eu vou à igreja aos domingos.
• I don’t work on Saturdays. / Eu não trabalho aos sábados.
• I have English classes on Monday. / Eu tenho aulas de inglês na segunda-feira.
SUNDAY – domingo
MONDAY – segunda-feira
TUESDAY- terça -feira
WEDNESDAY- quarta -feira
THURSDAY- quinta -feira
FRIDAY - sexta-feira
SATURDAY – sábado

MESES DO ANO
• January (Janeiro)
• February (Fevereiro)
• March (Março)
• April (Abril)
• May (Maio)
• June (Junho)
• July (Julho)
• August (Agosto)
• September (Setembro)
• October (Outubro)
• November (Novembro)
• December (Dezembro)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

88
Inglês Instrumental
PRONOMES ADJETIVOS POSSESSIVOS
Os adjetivos possessivos em Inglês são: my, your, his, her, its, our, your, their. Eles se referem a
alguém que tem algo, não o que é possuído. Geralmente precedem substantivos. Aqui estão alguns
exemplos traduzidos ao Português.
my - meu, minha, meus, minhas
your - teu, tua, teus, tuas, seu, sua, seus, suas
his - dele, seu, sua, seus, suas
her - dela, seu, sua, seus, suas
its - dele, dela, seu, sua, seus, suas (coisas ou animais)
our - nosso, nossa, nossos, nossas
your - vosso, vossa, seu, sua, de vocês
their - deles, delas, seu, sua, seus, suas

1. Pronomes Possessivos Adjetivos (Possessive Adjectives):


Os adjetivos possessivos modificam substantivos, portanto aparecem sempre acompanhados
de substantivos.
a) Os Pronomes Possessivos Adjetivos (Possessive Adjectives) precedem substantivos.
My jacket is new. (Minha jaqueta é nova.)
b) Os Adjetivos Possessivos (Possessive Adjectives), em Inglês, não se flexionam, ou seja, va-
lem tanto para o singular como para o plural. Isso não ocorre na Língua Portuguesa, onde
os Pronomes Possessivos Adjetivos se flexionam e mudam sua forma do singular para o
plural.
This is our book. [Este é (o) nosso livro. ]
These are our books. [Estes são (os) nossos livros. ]
This is your book. [Este é (o) seu livro. ]
These are your books. [Estes são (os) seus livros. ]
c) Em inglês, nunca se usa artigo (the, a, an) na frente dos pronomes possessivos.
(NUNCA FALE) : the my book (o meu livro); the her car is black (o carro dela é preto).

PRONOMES PESSOAIS
Subject pronouns têm a função de sujeito na oração:
I – eu
You – tu, você

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

89
Inglês Instrumental
He – ele
She – ela
It – ele, ela (usado para coisas e animais)
We – nós
You – vós, vocês
They – eles, elas
Ex. : You and I will finish the lesson together. (Eu e você terminaremos a lição juntos.)
Ex. : He is very small. (Ele é muito pequeno.)
Ex. : It was cold. (Estava frio.)

VERBO TO BE – PRESENTE
O verbo “to be” pode expressar dois significados: ser ou estar.
Logo, tanto para dizer que eu sou uma professora (I am a teacher), quanto para dizer que eu
estou na escola (I am at school), deve-se utilizar o verbo “to be”.
O verbo “to be” no presente se conjuga em “am”, “is” e “are”.
Segue uma tabela para indicar o uso correto do verbo “to be” no presente:

Personal Pronouns (Pronomes pessoais) Verbo “to be” no presente


I am (sou/estou)
You are (é /está)
He is (é/está)
She is (é/está)
It is (é/está)
We are (somos/estamos)
You are (são/estão)
They are (são/estão)

Ex. :You are a student. (Você é um aluno).


He is my neighbor. (Ele é meu vizinho).
She is at the supermarket. (Ela está no supermercado).
The dog is outside. (O cão está lá fora) .
We are friends. (Nós somos amigas).

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

90
Inglês Instrumental
You are my enemies. (Vocês são meus inimigos).
They are upstairs. (Eles estão lá em cima) .

Para a forma negativa, basta acrescentar “not” após o verbo “to be” (am, is, are) :
They are not in their bedroom. (Eles não estão no quarto deles).
We are not nurses. (Nós não somos enfermeiras).
I am not your teacher. (Eu não sou sua professora) .
É possível abreviar a verbo “to be” com o “not”. Essa forma é bastante utilizada na conversação.
Segue abaixo uma lista com as possíveis abreviações para a forma negativa:

Verbo to be na negativa  
I am not I’m not
You are not You aren’t
He is not He isn’t
She is not She isn’t
It is not It isn’t
We are not We aren’t
You are not You aren’t
They are not They aren’t
 
Para a forma interrogativa, basta inverter o verbo “to be” (am, is, are) , colocando-o no início da
frase:
Is she your sister? (Ela é sua irmã?)
Are we on the right road? (Nós estamos na estrada certa?)
Are you my classmate? (Você é meu colega de classe?)

VERBO TO BE – PASSADO
O verbo to be, no passado, utiliza 2 conjugações, was e were.
O was é usado para a primeira e terceira pessoas do singular (I, he/she/it), e o were é usado
para as restantes:
Affirmative form (forma afirmativa)
Use a forma was para I, he, she, it e were para as demais pessoas:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

91
Inglês Instrumental
I was (eu era , eu estava)
you were ( você era , você estava)
he was (ele era , ele estava)
she was (ela era, ela estava)
it was (ele(a) era, ele(a) estava)
we were (nós éramos, nós estávamos)
you were (vocês eram, vocês estavam )
they were (eles(as) eram , eles(as) estavam)

Negative form
Usam-se as formas negativas wasn’t (was not) para I, he, she, it e weren’t
(were not) para as demais pessoas.
I wasn’t
you weren’t
he wasn’t
she wasn’t
it wasn’t
we weren’t
you weren’t
they weren’t

Interrogative form
As perguntas se formam com a anteposição do verbo to be ao sujeito:
was I …?
were you…?
was he…?
was she…?
was it…?
were we…?
were you…?
were they…?

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

92
Inglês Instrumental
Exemplos:
Where were you? (Onde você estava?)
Was she home?(Ela estava em casa?)
He wasn’t there. (Ele não estava lá.)
When I was a child, I was very naughty. (Quando eu era criança, eu era muito levado.)

There to be – Presente
A forma verbal em inglês there to be expressa sentido de haver, existir ou ter, em português.
Em inglês, o verbo varia de acordo com o número, de singular para plural, e de acordo com a variação
temporal de presente para passado e futuro.
O there to be é constituído pelo there + o verbo to be correspondente ao pronome.
Logo, temos duas formas, o there is e o there are. A primeira significa existe, há, ou tem; a se-
gunda, existem, há. Observe:

Presente singular afirmativo Presente plural afirmativo


There is a car in the street. There are 2 books in my bag.
(Existe um carro na rua.) (Há 2 livros na minha bolsa.)
There is someone waiting for you. There are some dogs in the garden.
(Há alguém esperando por você.) (Há alguns cachorros no jardim.)

Para a forma negativa, apenas acrescentamos a palavra NOT. Observe:

Presente singular negativo Presente plural negativo


There is not a car in the street. There are not 2 books in my bag.
(Não existe um carro na rua) (Não há 2 livros na minha bolsa.)
There is not someone waiting for you. (Não There are not some dogs in the garden.
há alguém esperando por você.) (Não há alguns cachorros no jardim.)
Para a forma interrogativa, apenas trocamos o verbo to be com o there, observe:

Presente singular interrogativo Presente plural interrogativo


Is there a car in the street? (Há um carro na Are there 2 books in my bag? (Há 2 livros na
rua?) minha bolsa?)
Is there someone waiting for you? (Há al- Are there some dogs in the garden? (Há
guém esperando por você?) alguns cachorros no jardim?)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

93
Inglês Instrumental
Formas abreviadas:
• There is: there’s
• There is not: There isn’t
• There are not: There aren’t

FUTURO SIMPLES COM WILL


Afirmativas
Usamos o auxiliar WILL depois do sujeito para formar frases no simple future:
• I will (I’ll) draw (eu vou desenhar / eu desenharei)
• We will (We’ll) go to the party (Nós iremos para a festa)
Interrogativas
Apenas trocar o auxiliar WILL e o sujeito de lugar:
• Will you go? (você vai? / você irá?)
• Will she win? (ela vai vencer? / ela vencerá?)
Negativas
Apenas adicionar o NOT após o WILL tornará as frases negativas:
• I will not (won’t) study (eu não vou estudar / eu não estudarei)
• He will not (won’t) write (ele não vai escrever / ele não escreverá)
Dias da Semana e Meses do Ano em inglês
dias da semana:
Português Inglês
Segunda-feira Monday
Terça-feira Tuesday
Quarta-feira Wednesday
Quinta-feira Thursday
Sexta-feira Friday
Sábado Saturday
Domingo Sunday

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

94
Inglês Instrumental
meses do ano:
Português Inglês
Janeiro January
Fevereiro February
Março March
Abril April
Maio May
Junho June
Julho July
Agosto August
Setembro September
Outubro October
Novembro November
Dezembro December

The Simple Present Tense


O tempo verbal Simple Present corresponde ao Presente do Indicativo em português.
Nós o utilizamos para expressar verdades universais, fatos científicos ou da natureza.
Utilizamos também para falar sobre ações habituais que fazem parte da rotina, repetidas no
presente.
Neste caso costumamos acompanhar o verbo com advérbios ou expressões de frequência que
dão maior especificidade à ideia da frase, como always (sempre) , often (frequentemente) , never
(nunca) , every day (todos os dias), sometimes (às vezes) e etc.
Exemplo:
• The sun rises everyday. (O sol nasce todos os dias.)
• She works 6 times per week. (Ela trabalha 6 vezes por semana.)

ESTRUTURA DAS SENTENÇAS AFIRMATIVAS


A forma básica da sentença no Simple Present é o verbo no infinitivo, mas sem a partícula to.
Essa é a forma para todas as pessoas, exceto para a 3ª pessoa do singular (he/she/it), nessa forma
costuma-se acrescentar –s no verbo.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

95
Inglês Instrumental
Observe:

SIMPLE PRESENT – AFIRMATIVA


TO THINK TO MAKE TO LOVE
I think I make I love
You
You You
He thinks. He makes. He loves.
She She She
It It It
We think. We make. We love.
You You You
They They They

Casos especiais
• O 1º caso especial é o verbo TO BE (ser, estar)
Ele já tem a 3ª pessoa especificado.
• O 2º caso especial é o verbo TO HAVE (ter)

Na 3ª pessoa ele perde as duas últimas letras e acrescenta-se S.

TO BE TO HAVE
I am. I have.
You are. You
He is. He has.
She She
It It
We are. We have.  
You You
They They

* O 3º caso especial são os verbos terminados em o, ss, ch, sh, x, em que se acrescenta ES:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

96
Inglês Instrumental

O go (ir) → he/she/it goes


SS kiss (beijar) → he/she/it kisses
CH teach (ensinar) → he/she/it teaches
SH wash (lavar) → he/she/it washes
X fix (consertar) → he/she/it fixes

* O 4º caso especial são os verbos terminados em Y, eles têm 2 possibilidades:

Y precedido de VOGAL acrescenta-se –S


Pay (pagar), buy (comprar)  He/she/it pays, buys
 
Y precedido de CONSOANTE acrescenta-se –IES
Cry (chorar), try (tentar) He/she/it cries, tries
 

ESTRUTURA DAS SENTENÇAS NEGATIVAS


Para escrever uma sentença negativa no Simple Present utiliza-se o verbo auxiliar do + not –
mais utilizado na escrita, pois é formal – ou sua forma contracta don’t – mais utilizada na fala, pois é
informal – antes da forma básica do verbo sem o to, exemplo:
1- I do not play the piano. (Eu não toco piano.)
2- My parents don’t like TV. (Meus pais não gostam de TV.)
Na 3ª pessoa do singular (he/she/it), usa-se o verbo auxiliar does + not ou doesn’t em vez de
do+ not ou don’t. Note que o verbo seguinte fica na forma básica sem o to e sem o S, exemplo:
1- She does not speak Portuguese, just Chinese. (Ela não fala português, somente chinês.)
2- Paulo doesn’t eat chocolate. (Paulo não come chocolate.)
Observação: Os verbos auxiliares do e does não tem tradução. Mas quando acompanhado do
not, pode-se traduzir por não simplesmente.

ESTRUTURA DAS SENTENÇAS INTERROGATIVAS


Na forma interrogativa do Simple Present utilizam-se os verbos auxiliares do e does antes do
sujeito na frase. Note que o verbo fica na sua forma básica sem o to e sem o S, observe o exemplo:
1- Do you like orange juice? (Você gosta de suco de laranja?)
2- Does Mariah like movies? (A Maria gosta de filmes?)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

97
Inglês Instrumental
RESUMO DO SIMPLE PRESENT
AFIRMATIVO NEGATIVO INTERROGATIVO
I work I don’t work Do I work . . . ?
You work You don’t work Do you work . . . ?
He works He doesn’t work Does he work . . . ?
She works She doesn’t work Does she work . . . ?
It works It doesn’t work Does it work . . . ?
We work We don’t work Do we work. . . ?
You work You don’twork Do you work . . . ?
They work They don’t work Do they work . . . ?

The Simple Past Tense


O tempo verbal Simple Past corresponde ao Passado Simples em português. Nós o utilizamos
para expressar hábitos passados ou para expressar ações que se iniciaram no passado e também fo-
ram finalizadas no passado, podendo ter o tempo determinado. Neste caso costumamos acompanhar
o verbo com advérbios ou expressões de frequência que dão maior especificidade à ideia da frase,
como yesterday (ontem), last . . . (na última. . .), ago (atrás), in . . . . (em. . .), e etc.

ESTRUTURA DAS SENTENÇAS AFIRMATIVAS PARA VERBOS REGULARES


O verbo é regular quando para conjugá-lo não há alteração em seu radical. Logo, para colocar
esse verbo no Simple Past basta deixar o verbo no infinitivo, sem a partícula to, e acrescentar a termi-
nação -ed. Essa é a forma para todas as pessoas. Observe:
TO WORK (trabalhar)
I
You
He
She
worket
It
We
You
They

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

98
Inglês Instrumental
Casos especiais
*1º caso especial: verbos terminados em Y. Eles têm 2 possibilidades:

Y precedido de VOGAL: acrescenta-se –ED


play (jogar) play ED
Y precedido de CONSOANTE: retira-se o –Y acrescenta-se –IED
try (tentar) tried

• O 2º caso é o dos verbos terminados em -E, neles nós simplesmente acrescentamos o -D:
love – loved
• O 3º caso especial é o dos verbos terminados em consoante+vogal+consoante, cuja sílaba
tônica é a última, dobra a consoante antes de acrescentar o -ed:
Occur: occurred
• Nos demais casos, acrescenta-se simplesmente -ed:
Work: worked

ESTRUTURA DAS SENTENÇAS AFIRMATIVAS PARA VERBOS IRREGULARES


O verbo é irregular quando, ao ser conjugado, por exemplo, ele muda toda a sua estrutura. Nes-
se caso, para ele ficar no passado, temos que consultar uma lista de verbos para, depois, através do
uso, ir memorizando. Alguns verbos irregulares com os respectivos passados:

INFINITIVO PASSADO
TO AWAKE AWOKE
TO BUY BOUGHT
TO FORGET FORGOT
TO LAY LAID
TO SEE SAW
TO RING RANG
TO UNDERSTAND UNDERSTOOD

Exemplos:
I forgot my keys. (Eu esqueci as chaves.)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

99
Inglês Instrumental
I saw you yesterday at the bus station. (Eu te vi ontem no ponto de ônibus.)

ESTRUTURA DAS SENTENÇAS NEGATIVAS DOS VERBOS REGULARES E IRREGULARES


Para escrever uma sentença negativa no Simple Past utiliza-se o verbo auxiliar did + not – mais
utilizado na escrita, pois é formal – ou sua forma contracta didn’t – mais utilizada na fala, pois é infor-
mal – antes da forma básica do verbo sem o to, exemplo:
1- I did not buy the piano yesterday. (Eu não toquei piano ontem.)
2- My parents didn’t travel to Porto Seguro last year. (Meus pais não viajaram para Porto Se-
guro no ano passado.)
Ao colocar a sentença na negativa, é interessante observar que como o verbo auxiliar na negati-
va, o didn’t, já está no passado (pois é o passado de do), o verbo principal não tem a terminação –ed.

ESTRUTURA REGULARES DAS SENTENÇAS INTERROGATIVAS DOS VERBOS E IRREGU-


LARES
Na forma interrogativa do Simple Past utiliza-se o verbo auxiliar did antes do sujeito na frase.
Note que o verbo principal fica na sua forma básica sem o to e sem -ed, pois o verbo auxiliar já se
encontra no passado. Observe o exemplo:
1- Did you run yesterday? (Você correu ontem?)
2- Did Mariah watch Harry Potter last week? (A Mariah assistiu Harry Potter semana passada?)

RESUMO DO SIMPLE PAST


AFIRMATIVO NEGATIVO INTERROGATIVO
I worked I didn’t work Did I work . . . ?
You worked You didn’t work Did you work . . . ?
He worked He didn’t work Did he work . . . ?
She worked She didn’t work Did she work . . . ?
It worked It didn’t work Did it work . . . ?
We worked We didn’t work Did we work. . . ?
You worked You didn’t work Did you work . . . ?
They worked They didn’t work Did they work . . . ?

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

100
Inglês Instrumental
LISTA DE VERBOS IRREGULARES
• awake – awoke – awoken [despertar]
• be – was; were – been [ser; estar]
• bear – bore – borne [suportar; dar a luz]
• beat – beat – beaten [bater]
• become – became – become [tornar-se]
• begin – began – begun [começar]
• behold – beheld – beheld [contemplar]
• bend – bent – bent [curvar, entortar]
• bet – bet – bet [apostar]
• bid – bid – bid [oferecer, fazer uma oferta]
• bind – bound – bound [unir; encadernar]
• bite – bit – bitten [morder]
• bleed – bled – bled [sangrar]
• blow – blew – blown [soprar; explodir]
• break – broke – broken [quebrar]
• breed – bred – bred [procriar, reproduzir]
• bring – brought – brought [trazer]
• broadcast – broadcast – broadcast [irradiar, transmitir (via TV ou rádio)]
• build – built – built [construir]
• buy – bought – bought [comprar]
• cast – cast – cast [arremessar, atirar]
• catch – caught – caught [pegar, apanhar]
• choose – chose – chosen [escolher]
• come – came – come [vir]
• cost – cost – cost [custar]
• creep – crept – crept [rastejar]
• cut – cut- cut [cortar]
• deal – dealt – dealt [negociar, tratar]
• dig – dug – dug [cavar]
• do – did – done [fazer]
• draw – drew – drawn [desenhar]

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

101
Inglês Instrumental
• drink – drank – drunk [beber]
• drive – drove – driven [dirigir (veículo)]
• eat – ate – eaten [comer]
• fall – fell – fallen [cair]
• feed – fed – fed [alimentar]
• feel – felt – felt [sentir]
• fight – fought – fought [lutar]
• find – found – found [encontrar (Compare “FOUND x FOUNDED x FUNDED”)]
• flee – fled – fled [fugir, escapar]
• fly – flew – flown [voar; pilotar]
• forbid – forbade – forbidden [proibir]
• forget – forgot – forgotten [esquecer]
• forgive – forgave – forgiven [perdoar]
• freeze – froze – frozen [congelar]
• get – got – got (BrE) / gotten (AmE) [obter]
• give – gave – given [dar]
• go – went – gone [ir]
• grind – ground – ground [moer]
• grow – grew – grown [crescer; cultivar]
• have – had – had [ter]
• hear – heard – heard [ouvir]
• hide – hid – hidden [esconder]
• hit – hit – hit [bater, atingir]
• hold – held – held [segurar; abraçar]
• hurt – hurt – hurt [ferir, machucar; magoar]
• keep – kept – kept [manter]
• know – knew – known [saber; conhecer]
• lay – laid – laid [pôr; botar ovos (Compare “LIE” com “LAY”)]
• lead – led – led [liderar]
• leave – left – left [deixar, partir]
• lend – lent – lent [emprestar (Compare “LEND” com “BORROW”)]
• let – let – let [deixar]

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

102
Inglês Instrumental
• lie – lay – lain [deitar (Compare “LIE” com “LAY”)]
• lose – lost – lost [perder]
• make – made – made [fazer, fabricar]
• mean – meant – meant [significar]
• meet – met – met [encontrar; conhecer]
• overcome – overcame – overcome [superar]
• overtake – overtook – overtaken [alcançar; conseguir]
• pay – paid – paid [pagar]
• put – put – put [pôr, colocar]
• quit – quit – quit [desistir, abandonar]
• read /riid/ – read /réd/ – read /réd/ [ler]
• ride – rode – ridden [cavalgar; andar (de bicicleta) ; passear]
• ring – rang – rung [tocar (campainha) ]
• rise – rose – risen [erguer-se (Compare “RISE” com “RAISE”)]
• run – ran – run [correr; concorrer (em eleição)]
• saw – sawed – sawn [serrar]
• say – said – said [dizer]
• see – saw – seen [ver]
• seek – sought – sought [buscar; procurar]
• sell – sold – sold [vender]
• send – sent – sent [enviar]
• set – set – set [pôr, colocar; ajustar]
• shake – shook – shaken [tremer]
• shed – shed – shed [derramar]
• shine – shone – shone [brilhar, reluzir]
• shoot – shot – shot [atirar; filmar]
• show – showed – shown [mostar, exibir]
• shrink – shrank – shrunk [encolher]
• shut – shut – shut [fechar]
• sing – sang – sung [cantar]
• sink – sank – sunk [afundar]
• sit – sat – sat [sentar]

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

103
Inglês Instrumental
• slay – slew – slain [matar, assassinar]
• sleep – slept – slept [dormir]
• slide – slid – slid [deslizar, escorregar]
• speak – spoke – spoken [falar]
• spend – spent – spent [gastar]
• spin – spun – spun [fazer girar]
• spit – spit / spat – spit / spat [cuspir]
• spread – spread – spread [espalhar; disseminar, difundir]
• spring – sprang – sprung [saltar]
• stand – stood – stood [ficar em pé; suportar]
• steal – stole – stolen [furtar]
• stick – stuck – stuck [fincar, enfiar]
• sting – stung – stung [picar, ferroar]
• stink – stank – stunk [feder]
• strike – struck – struck [golpear; atacar]
• strive – strove – striven [esforçar-se]
• swear – swore – sworn [jurar]
• sweep – swept – swept [varrer]
• swim – swam – swum [nadar]
• swing – swung – swung [balançar]
• take – took – taken [tomar]
• teach – taught – taught [ensinar; lecionar]
• tear – tore – torn [rasgar]
• tell – told – told [contar]
• think – thought – thought [pensar]
• throw – threw – thrown [jogar, atirar]
• undergo – underwent – undergone [submeter-se a]
• understand – understood – understood [entender]
• uphold – upheld – upheld [sustentar; apoiar]
• wear – wore – worn [vestir; usar (roupa) ]
• win – won – won [vencer]
• wind /uaind/ – wound /uaund/ – wound /uaund/ [enrolar; dar corda] Cf.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

104
Inglês Instrumental
• write – wrote – written [escrever]
• Simple Past tense (verb to be) - Exercises

Supply the verb to be in the Past tense:


1. They…………late for school.
2. She…………very happy at her birthday party.
3. The dog……in the kitchen.
4. Robert………. nervous after the accident.
5. The girls……. at the club last Sunday.
6. I…. . tired last night.
7. You…. . late for the English Lesson.
8. Karen ………very beautiful yesterday.
9. I ……. . hungry and he ………thirsty.
10. The children………very tired after the party.
.
Choose the correct alternative:
1. Julie and I (was/were) school friends in Mexico.
2. Your book (were/was) on the table a minute ago.
3. (Was/Were) it very cold last night?
4. The old school building (was/were) near my house.
5. (Were/Was) the children hungry at lunch time?
6. I (was/were) very angry at you.

Simple Past tense (verb to be) - Exercises


Coloque as frases abaixo na forma NEGATIVA:
1- We were in Belo Horizonte yesterday.
____________________________________________________________

2- My cat was here a moment ago.


____________________________________________________________

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

105
Inglês Instrumental
3- It was hot last Sunday.
___________________________________________________________

4- They were at school last week.


__________________________________________________________
5- You were in bed at midnight.
_________________________________________________________

6- I was in the city yesterday.


_________________________________________________________

7- It was really hot.


__________________________________________________________

8- My sister was ill.


__________________________________________________________

9- He was late for class.


__________________________________________________________
10- They were in the library last week.
__________________________________________________________

Coloque as frases abaixo na forma INTERROGATIVA:


1- We were in Belo Horizonte yesterday.
____________________________________________________________

2- My cat was here a moment ago.


____________________________________________________________

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

106
Inglês Instrumental
3- It was hot last Sunday.
___________________________________________________________

4- They were at school last week.


__________________________________________________________

5- You were in bed at midnight.


_________________________________________________________

6- I was in the city yesterday.


_________________________________________________________

7- It was really hot.


__________________________________________________________

8- My sister was ill.


__________________________________________________________

9- He was late for class.


__________________________________________________________
10- They were in the library last week.
__________________________________________________________

EXERCÍCIOS / EXERCISES

• Complete the sentences with the correct forms of the verbs in parentheses in the SIMPLE PRE-
SENT.
Use the affirmative, negative or interrogative form appropriately.
• I usually ________________ cereals for breakfast. (have)
• You ______________ loud music. (not like)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

107
Inglês Instrumental
• _____________________ tea to coffee? (you - prefer)
• What _________________? (she-do)
• Where ___________________? (you l ive)
• He ___________________ in a small apartment downtown. (live)
• She __________________ very well. (sing)
• ______________________ in a factory? (you - work)
• ______________________ Italian? (he - speak)
• We ___________________ to school in the morning. (go)
• We ___________________ the homework together. (not do)
• I always _______________ a taxi when I am late for work. (take)
• He never ______________ to the radio. (listen)
• She often ______________ her grandmother in Ohio. (visit)
• They ___________________________ here. (not – usually - come)

Complete the sentences with the correct forms of the verbs in parentheses in the SIMPLE PAST.
Use the affirmative, negative or interrogative form appropriately.

They ______________ us last month. (visit)


• I _____________ to buy a new computer last weekend. (want)
• The shop _______________ earlier last Saturday. (close)
• The _____________ its first underground railway this year. (open)
• I ______________ her yesterday evening. (phone)
• I ______________ him at school today, . (not see)
• He _____________ his homework yesterday. (not do)
• We _______________ for the test. (not study)
• The dog ___________________ the food. (not eat)
• They ___________________ to the party last Friday. (not come)
• Laura and Jennifer ___________________ here this morning. (not come)
• ___________________ for the test? (you -study)
• ___________________ a new backpack? (she - buy)
• ___________________ on those jeans? (she - try)
• Why _________________ him again? (you – call)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

108
Inglês Instrumental
Exercício: Artigos indefinidos

Preencham os espaços em branco usando “the”, “a” ou “an” adequadamente.


1. There is______ excellent doctor in______hospital I know.
2. He is_______university student.
3. We are_________champions.
4. It is_____honor for me to be here.
5. I’ll be back in_________hour.
6. I think this is_____end of_____story.
7. Are you______manager of this company?
8. He is________good father.
9. She is________great friend.
10. We are from ______USA

EXERCÍCIO

1- Complete as palavras com os artigos A ou AN.


____ dog
____ elephant
____ girl
____ artist

2- Complete as frases com os artigos A ou AN :


I am _______ teacher.
You are ______ artist.
I am _______ student.
You are _____ office- boy.
Are you ______secretary?
I am _______ english boy.
I am American ______ girl.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

109
Inglês Instrumental
Exercício: Artigos definido e indefinido 

01.   ________ lion is _______ biggest animal in ________ circus.


a) The – the – …
b) That – a – …
c) This – the – the
d) A – a – the
e) A – an – a

02.   ________ jealous husband is ________ unpredictable man.


a) A – a
b) The – a
c) A – an
d )A – …
e) … – the

03.   ________ Pacific and ________ Atlantic are ________ oceans. ________ Alps are ________
mountains, and ________ Amazon is a river.
a) The / … / the/ … /the/ …
b) … / the / … / … / … / the
c) The / the / … / the / … / the
d) The / the / … / … / … / the
e) The / the / the / the / the / the

04.    It’s ________ honor to meet ________ young lady from ________ Sweden.
a) a / an / an
b) an / a / a
c) a / an / a
d) an / a / …
e) a / a / a

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

110
Inglês Instrumental
05.   ____ one-dollar bill is ______ useful thing for changes when buying goods.
a)    A – a
b) The – a
c) A – an
d) A – …
e) … – the

06.   _____Rhine is _____ longest river in ______ Germany.


a) … – a – …
b) … – the – …
c) The – the – …
d) … – the – the
e) The – the – the

EXERCÍCIOS DE FIXAÇÃO

Complete as frases abaixo com THERE IS / THERE ARE :

1- ___________________ a bus on the street.


2- ____________________ four boats on the lake.
3- ____________________ a boy at my room.
4- ____________________ a statue in the park.
5- ____________________ students going to school.
6- ____________________ two bicycles at the gate of the park.
7- ____________________ a book on the table.
8- ____________________ a girl sitting on the chair.
9- ____________________ four dolls on the bed.
10- ___________________ two cats under the bed.
11- ___________________ a man in the church.
12- ___________________ a beautiful girl here.
13- ___________________ a dog in the garden.
14- ___________________ six oranges in my bag.
15- __________________ a sofa in the room.
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

111
Inglês Instrumental
The Simple Past - (O passado simples) EXERCISES
1- PASSE OS VERBOS REGULARES ABAIXO PARA O PASSADO:
a) Fit _______________
b) Arrive ____________
c) Cry _______________
d) Need _______________
e) Plan _______________
f) stop_______________
g) date_______________
h) play_______________
i) stay_______________
j) Miss_______________
k) Die_______________
l) Finish_______________

2- PASSE AS FRASES ABAIXO PARA NEGATIVA E INTERROGATIVA:


a) My mother called me at 7 o’clock.
b) I washed my face three times.
c) They walked to school.
d) The bus stopped over there.
e) The baby cried a lot.
f) Paul lived in Africa last year.
g) The girls studied all day long.

3- PASSE AS FRASES PARA AFIRMATIVA:


I didn’t watch TV last night. ______________________________
Did the game finish at 8?__________________________________
You didn’t studied yesterday. _______________________________
Did my cousin wash her hair?________________________________
Did they start a fight? _____________________________________

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

112
Inglês Instrumental
ATIVIDADE DE SIMPLE PAST – VERBOS IRREGULARES

A. Escolham a opção que melhor completa as sentenças a seguir, fazendo uso da forma mais ade-
quada de verbos regulares ou irregulares.

1. We. . . . . . . . . . the information on the magazine’s website. (Find)


a. Finded
b. Found
c. Founded

2. She didn’t. . . . . . . . . . . . . . . the man from going into the store. (Stop)
a. Stopped
b. Stop
c. Stoped

3. Did you. . . . . . . . . . . . . . calling him this week? (Feel like)


a. Felt like
b. Feel like
c. Feel liked

4. She. . . . . . . . . . . . . . . . . a few mistakes but, even so, she won the game. (Make)
a. Makes
b. Maked
c. Made

5. Serra was. . . . . . . . . . . . . . . . . by Fernando Henrique and Dilma was. . . . . . . . . . . . . . . . . . . . by Lula.


(Appoint)
a. Appointed
b. Appoint
c. Appointied

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

113
Inglês Instrumental
B. Reescrevam as frases a seguir usando a forma correta do ‘passado simples’.

1. I didn’t talked to her because she avoid me at the last meeting


R:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.....

2. Where did you got this money


R:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.....

3. She call me yesterday and said she’s doing all right


R:. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.....

Write the past forms of the irregular verbs.

1. go → __________
2. come → ___________
3. buy → __________
4. have → ___________
5. do → __________

Exercícios Inglês – Presente Simples

1) Turn the sentences into negative form:


a) She says he’s handsome.
b) They love each other.
c) I want to buy a new bag for me.
d) We need some pieces here.
e) It plays all day long with that bone.
 

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

114
Inglês Instrumental
2) Turn the sentences into interrogative form:
a) It rains for hours.
b) They swim every day.
c) You study because you like to.
d) We study in the same class.
e) He gets up at 7 AM.

3) Complete with “do” or “does”:


a) _____ they play soccer every weekend?
b) _____ it need to be fed?
c) _____ we really have to go?

4) Find the mistakes:


a) I like don’t to be a child.
b) She never say she’s intelligent.
c) It does bites.

5) Put the words in the correct order:


a) music listen don’t to tonight.
b) gray want don’t I the color.
c) it have does a view?

6) Complete the chart with verbs in the correct form for “he”, “she” or “it”:
Example: want -> wants
a) Open
b) Cry
c) Have
d) Do
e) Make
f) Cut

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

115
Inglês Instrumental
7) Choose the correct answer in the parenthesis:
a) She ___ (hass/has) to buy a new house.
b) He ___ (needs/needes) a key.
c) She ____ (dos/does) favors for everyone.
d) It ____ (cryes/cries) every day.
8) Choose the correct answer for the following question:
What does she want from me?
a) She’s a very good-looking person.
b) She wants to be alone, I guess.
c) Perhaps she needs your help.
d) No one knows where she has gone.

ATIVIDADES

1. Read the text below - leiam o texto abaixo

My plans for the future


I will work in a big city and I will be rich. I will have a happy life I will have a beautiful wife – my
wife will have six children. My children will love me and I will love my children. I won’t have serious
problems and I won’t feel down every day. I will work from Monday to Saturday - on Sundays, I
won’t work. My wife will help me and I will help her. We will be more than husband and wife: we
will be best friends. I will have a great job and I will love my job. My family will be a very special
family and we will love each other. In our family, there will be peace, love, faith, dedication, re-
spect and sincerity. This is my dream. - Allan Jone

Vocabulary:
Rich: rico
Wife: esposa
Serious: sério
Feel down: sentir-se triste
Too: também
More than: mais do que
Best: melhores

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

116
Inglês Instrumental
Job: trabalho, emprego
Each other: um ao outro
There will be: vai haver
Faith: fé
This: este
Dream: sonho
Her: ela, a ela

2. Answer the questions – Responda as perguntas


a. Where will Allan Jones work?_____________________________________________________
b. Will Allan Jones be rich?______________________________________________________

3. Mark True or False – Verdadeiro ou Falso


a. Allan Jones will not have a happy life. (………
b. Allan Jones won’t have children. (……. .
c. Allan Jones will feel down every day. (………
d. Allan Jones will have a very good wife. (………
e. Allan Jones will have faith. (……. .
f. Allan Jones will love his job, his wife and his children. (………)

4. Passe para o futuro os verbos nas frases abaixo:


I ________________ in Japan tomorrow. ( work )
They ________________ to London next week. ( travel )
She __________________ a lot next month. ( study )
We ______________ her family next Christmas. ( meet )

Plural of nouns – Exercises


Change to plural form:
1. calculator - calculators
2. machine - ____________________________
3. programme - __________________________

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

117
Inglês Instrumental
4. typist - ___________________________
5. message - __________________________

ATENÇÃO! Substantivos terminados em s, ss, sh, ch, x ou z, recebem es no plural: Class - classes
1. bus - ____________________
2. dress - ___________________
3. dish - ____________________
4. watch -____________________.
5. box - _____________________
6. buzz - ____________________

ATENÇÃO! Substantivos terminados em ch com som de k recebem apenas s: Matriarch – matriarchs


(ch com som de k)
1. stomach - __________________________
2. monarch - __________________________
3. epoch - ____________________________
4. patriarch - __________________________

ATENÇÃO! Substantivos terminados em y precedido de consoante perdem o y e recebem ies: cherry


– cherries
1. Variety - _______________________
2. Company - ______________________
3. Secretary - ________________________
4. Body - ____________________________
5. City - _____________________________

Atenção! Substantivos terminados em O precedido de consoante recebem ES:


Tornado – tornadoes
1. Potato - __________________________
2. Tomato - __________________________
3. Echo - ________________________
4. Radio - ______________________

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

118
Inglês Instrumental
Atenção! Substantivos terminados em f ou fe mudam este final para ves
1. Wife - __________________ 7. Half - ________________
2. Life - ___________________8. Shelf - ________________
3. Knife - __________________9. Leaf - __________________
4. Wolf - __________________ 10 . Loaf - ________________
5. Self - __________________ 11. Thief - __________________
6. Calf - ___________________ 12. Sheaf- _________________

REFERÊNCIAS BIBLIOGRÁFICAS:

Disponível em http://www. mundoeducacao. com/ingles/. Acesso em 24/11/2013 às 9:03.


Disponível em http://www. solinguainglesa. com. br/conteudo/numeros1_2. php/ Acesso em
15/12/2013 às 10h.
Disponível em http://lillizen. wordpress. com/2007/10/04/tempos-verbais-para-iniciantes/ Acesso
em 17/12/2013 às 11h.
VELLOSO, Mônica Soares. Inglês Instrumental para vestibulares e concursos. ed. Vestcon. 2009.
TORRES, Décio. SILVA, Alba Valéria. ROSAS, Marta. Inglês. com. textos para informática. Ed. Disal.
2001.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

119
Curso Técnico em

INFORMÁTICA
Etapa 2

WEB 2
CSS
WEB 2 – CSS

OBJETIVO:

Introduzir ao Aluno os principais recursos da linguagem CSS (Cascading Style Sheets), utilizada
na formatação de conteúdo;

CURSO TÉCNICO EM INFORMÁTICA


DISCIPLINA: WEB II
ETAPA: 2ª
CH: 60 h

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

123
WEB 2 – CSS

SUMÁRIO

1. CSS – Folhas de Estilos em Cascatas............................................................................................ 127


2. Estilos em Documentos............................................................................................................... 128
3. Como criar estilos........................................................................................................................ 129
4. Seletores CLASSE E ID.................................................................................................................. 129
5. Links............................................................................................................................................. 130
6. Unidades de Medidas.................................................................................................................. 131
7. PROPRIDADES E VALORES............................................................................................................ 132
7.1. Estilos para Texto: .................................................................................................................... 132
7.2. Estilos para Fontes ................................................................................................................... 133
7.3. Estilos de Background .............................................................................................................. 134
7.4. Estilos para Listas ..................................................................................................................... 135
7.5. Estilos para caixas..................................................................................................................... 136
7.6. Estilos para bordas: ................................................................................................................. 137
8. Exercícos...................................................................................................................................... 139
9 . Bibliografia.................................................................................................................................. 139
10. Critérios de distribuição de pontos........................................................................................... 140

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

125
WEB 2 – CSS

1. CSS – FOLHAS DE ESTILOS EM CASCATAS

A necessidade de apresentar a simples linguagem de marcação (HTML) com maior flexibilidade


de manipulação visual dos conteúdos, fez surgir em 1996 o CSS(Cascading Style Sheets ou Folhas de
Estilo em Cascata) um novo conjunto de tags para a formatação de paginas Web.
O CSS permite um maior controle sobre o layout das páginas, através do arquivo
style sheet você poderá definir o estilo das suas páginas. Uma grande vantagem do uso de style
sheets é que com uma mudança em um único arquivo, você pode alterar várias páginas de uma vez,
que estiverem usando as definições de estilo daquele style sheet.
Imagine um site com 200 páginas e você terá que trocar a cor e a fonte de todas elas, criando
um arquivo estilo.css, com a formatação para todas as propriedades html, você terá que alterar so-
mente o arquivo estilo.css, uma vez que os demais 200 arquivos estarão linkados ao arquivo estilo.
css. economizando assim o seu tempo, principalmente se o seu chefe te pede a alteração para ontem,
tendo assim facilidade de manter e fazer alterações nas páginas.
Fará também com que diminua o tamanho do código de sua pagina, ela irá carrega mais rapi-
damente, você terá maior controle sobre o layout da página.
No CSS, o procedimento para criação de uma página é mais ou menos o mesmo do HTML, só
que, para funcionar, é preciso colocar entre as tags </HEAD> e <BODY> a seguinte tag: <STYLE TYPE=”-
TEXT/CSS”>.

Exemplo:
<html>
<head>
<title>...</title>
</head>
<style type=”text/css”>
<body>...</body>
</html>

Os comandos que vão vir depois de <STYLE TYPE=”TEXT/CSS”> são, na verdade, especificações
daquilo que você quer fazer com aquilo que está entre <BODY> e </BODY>. São as chamadas “decla-
rações”.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

127
WEB 2 – CSS
Exemplo:
<html>
<head>
<title>...</title>
</head>
<style type=”text/css”>
h1 { color:”red”; text-align:”center”; background:”black”;}
<body>
<h1> texto </h1>
</body>
</html>

2. ESTILOS EM DOCUMENTOS

Externo - Externo significa que você coloca as regras de CSS em um arquivo separado, e então
sua página HTML pode fazer um link para esse arquivo. Essa abordagem lhe permite definir regras em
um ou mais arquivos que podem ser aplicadas em alguma página do seu web site.
Exemplo:
<LINK REL=”STYLESHEET” HREF=”estilo.css” TYPE=”text/css”>
Incorporado (exportado)- Incorporado significa que você especifica as regras de CSS no cabeça-
lho do documento. As regras incorporadas afetam somente a página atual.
Exemplo:
<HTML>
<HEAD>
<TITLE>Exemplo Estilos Incorporados</TITLE>
<STYLE TYPE=”text/css”><!--
P {background-color: #FFFFFF;
font-family:’Comic Sans MS’;
font-size: 14pt}
--></STYLE>
</HEAD></BODY></HTML>

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

128
WEB 2 – CSS
Inline(internos) - Inline significa que você especifica as regras de CSS dentro da tag de HTML.
Essas regras afetam somente a tag atual.
Exemplo:
<A STYLE=”color: green; text-decoration: none” HREF=”http://www.aaaa.com.br”>

3. COMO CRIAR ESTILOS

Cada estilo que você cria é definido como uma regra CSS. Cada regra deve utilizar a seguinte
sintaxe:
elemento {atributo1: valor; atributo2: valor ...}
Elemento - descreve o elemento de design ao qual o estilo será aplicado.
Atributo - o aspecto específico do elemento que você quer usar como estilo. Deve ser um nome
de atributo CSS válido, como o atributo font-size.
Valor - a configuração aplicada ao atributo. Deve ser uma configuração válida para o atributo em
questão , como 20pt (20 pontos) para font-size.
Atributo:valor - a parte declaração da regra. Você pode atribuir múltiplas declarações se desejar
separá-los com ponto-e-vírgula (;). Não coloque um ponto-e-vírgula depois da última declaração.
Exemplo:
H2 {font-size: 24pt; color: blue}
elemento {atributo1: valor;atributo2: valor}

4. SELETORES CLASSE E ID

Você também pode definir seus próprios seletores na forma de seletores classe e ID.
A vantagem disso é que você pode ter o mesmo elemento, mas apresentá-lo de modos diferen-
tes dependendo de sua classe ou ID.
No CSS, um seletor de classe é um nome precedido por um ponto (.) e um seletor ID é um nome
precedido por um sustenido (#).

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

129
WEB 2 – CSS
O CSS fica mais ou menos assim:

#topo {
background-color: #ccc;
padding: 1em
}
.intro {
color: red;
font-weight: bold;
}

O HTML se liga ao CSS usando os atributos id e class. Pra esse CSS, o HTML pode ser alguma
coisa assim:

<div id=”top”>
<h1>Acarajé de Chocolate</h1>
<p>Essa é minha receita pra fazer acarajé usando só chocolate</p>
<p class=”intro”>Mmm mm mmmmm</p>
</div>

Na hora de criar nomes para suas classes e ID, procurem usar nomes que façam sentido e que
representem a função daquele seletor.

5. LINKS

<STYLE TYPE=”text/css”><!--
A.meuslinks {color: blue; text-decoration: none}
--></STYLE>

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

130
WEB 2 – CSS
Depois apenas adiciono o atributo CLASS=”meuslinks” aos links em que eu desejar que fiquem
azuis e não-sublinhados. Veja como deve ficar:
<A CLASS=”meuslinks” HREF=”http://www.infoexame.com.br”>

6. UNIDADES DE MEDIDAS

em: ...ao tamanho da fonte (‘font-size’) herdada;


ex: ...a altura da letra x (xis) da fonte herdada;
px: ...ao dispositivo (midia) de exibição;
%: ... a uma medida previamente definida.
pt - pontos :1/72 in;
pc - picas :12 points ou 1/6 in;
mm - milímetro :1/10 cm;
cm - centímetro :1/100 m;
in - polegada :2,54 cm;

exemplos: seletor {propriedade: valor;}


div { margin: 1.5em; }
h4 { margin: 2ex; }
p { font-size: 14px; }
.classe { padding: 90%; }
hr { width: 14pt; }
h1 { margin: 1pc; }
h2 { font-size: 4mm; }
p.classe { padding: 0.3cm; }
h5.classe { padding: 0.5in; }

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

131
WEB 2 – CSS

7. PROPRIDADES E VALORES

7.1. Estilos para Texto:


(define as características dos textos inseridos dentro dos elementos html)

color: cor do texto


código hexadecimal: #FFFFFF
código rgb: rgb(255,235,0)
nome da cor: red, blue, green...etc

letter-spacing: espaçamento entre letras


normal: é o espaçamento default
lenght: uma medida reconhecida pelas CSS (px, pt, em, cm, ...) São válidos valores negativos

word-spacing: espaçamento entre palavras


normal: é o espaçamento default
lenght: uma medida reconhecida pelas CSS (px, pt, em, cm, ...) São válidos valores negativos

text-align: alinhamento do texto


left: alinha o texto a esquerda
right: alinha o texto a direita
center: alinha o texto no centro
justify: força o texto a ocupar toda a extensão da linha da esquerda a direita

text-decoration: decoração do texto


none: nenhuma decoração
underline: coloca sublinhado no texto

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

132
WEB 2 – CSS
overline: coloca um sobrelinhado no texto
line-through: coloca uma linha em cima do texto
blink: faz o texto piscar

text-indent: recuo do texto


lenght: uma medida reconhecida pelas CSS (px, pt, em, cm, ...)
% : porcentagem da largura do elemento pai

text-transform: forma das letras


none: texto normal
capitalize: todas as primeiras letras do texto em maiúsculas
uppercase: todas as letras do texto em maiúsculas
lowercase: todas as letras do texto em minúsculas

direction: direção do texto


ltr: texto escrito da esquerda para a direita
rtl: texto escrito da direita para a esquerda

white-space: como o browser trata os espaços em branco;


normal: os espaços em branco serão ignorados pelo browser
pre: os espaços em branco serão preservados pelo browser
nowrap: o texto será apresentado todo ele numa linha única na tela. Não há quebra de linha até
ser encontrada uma tag <br>

7.2. Estilos para Fontes


(define as características dos letras que constituem os textos dentro elementos html)

color: cor da fonte


código hexadecimal: #FFFFFF
código rgb: rgb(255,235,0)
nome da cor: red, blue, green...etc

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

133
WEB 2 – CSS
font-family: tipo de fonte
family-name: define-se pelo nome da fonte,
p. ex:”verdana”, “helvetica”, “arial”, etc.
generic-family: define-se pelo nome genérico,
p. ex:”serif”, “sans-serif”, “cursive”, etc.

font-size: tamanho da fonte


xx-small, x-small , small , médium, large, x-large, xx-large, smaller, larger
length: uma medida reconhecida pelas CSS (px, pt, em, cm, ...)
%

font-style: estilo da fonte


normal: fonte normal na vertical
italic: fonte inclinada
oblique:fonte obliqua

font-variant: fontes maiúsculas de menor altura


normal: fonte normal
small-caps: transforma em maiúsculas de menor altura

font-weight: quanto mais escura a fonte é (negrito)


normal , bold , bolder, lighter, 100, 200, 300, 400, 500, 600 ,700, 800, 900

7.3. Estilos de Background


(define as características do fundo dos elementos html)

background-color: cor do fundo


código hexadecimal: #FFFFFF
código rgb: rgb(255,235,0)
nome da cor: red, blue, green...etc
transparente: transparent

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

134
WEB 2 – CSS
background-image: imagem do fundo
URL: url(caminho/imagem.gif)

background-repeat: maneira como a imagem de fundo é posicionada;


não repete: no-repeat
repete vertical e horizontal: repeat
repete vertical: repeat-y
repete horizontal: repeat-x

background-attachment: se a imagem do fundo “rola” ou não com a tela;


imagem fixa na tela: fixed
imagem “rola” com a tela: scroll

background-position: como e onde a imagem de fundo é posicionada;


x-pos y-pos
x-% y-%
top left , top center, top right
center left , center center , center right
bottom left , bottom center , bottom right

7.4. Estilos para Listas


(define as características (valores) das listas HTML)

list-style-image: imagem como marcador da lista


none
URL: url(caminho/marcador.gif)

list-style-position: onde o marcador da lista é posicionado


outside: marcador fora do alinhamento do texto
inside: marcador alinhado com texto

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

135
WEB 2 – CSS
list-style-type: tipo do marcador da lista
none: sem marcador
disc: círculo (bolinha cheia)
circle: circunferência (bolinha vazia)
square: quadrado cheio
decimal: números 1, 2, 3, 4, ...
decimal-leading-zero
lower-roman: romano minúsculo i, ii, iii, iv, ...
upper-roman: romano maiúsculo I, II, III, IV, ...
lower-alpha: letra minúscula a, b, c, d, ...
upper-alpha: letra maiúscula A, B, C, D, ...
lower-greek
lower-latin
upper-latin
hebrew
armenian
georgian
cjk-ideographic
hiragana
katakana
hiragana-iroha
katakana-iroha

7.5. Estilos para caixas


7.5.1 margin: (define um valor para espessura das margens dos elementos
html).
margin-top..........define a margem superior;
margin-right........define a margem direita;
margin-bottom.......define a margem inferior;
margin-left.........define a margem esquerda;
margin..............maneira abreviada para todas as margens

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

136
WEB 2 – CSS
7.5.2 padding: (define um valor para os espaçamentos entre o conteúdo e as
bordas dos elementos html).
padding-top..........define a espaçamento superior;
padding-right........define a espaçamento direita;
padding-bottom.......define a espaçamento inferior;
padding-left.........define a espaçamento esquerda;

Valores válidos para as propriedades margin e padding


auto: valor default da margem
length: uma medida reconhecida pelas CSS (px, pt, em, cm, ...)
%: porcentagem da largura do elemento pai

7.6. Estilos para bordas:


(As propriedades para as bordas, definem as características (os valores na regra CSS) das quatro
bordas de um elemento HTML.)

• border-width:................espessura da borda
• border-style:................estilo da borda
• border-color:................cor da borda
• -----------------------------------------
• border-top-width:............espessura da borda superior
• border-top-style:............estilo da borda superior
• border-top-color:............cor da borda superior
• -----------------------------------------
• border-right-width:.........espessura da borda direita
• border-right-style:..........estilo da borda direita
• border-right-color:..........cor da borda direita
• -----------------------------------------
• border-bottom-width:.........espessura da borda inferior
• border-bottom-style:.........estilo da borda inferior

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

137
WEB 2 – CSS
• border-bottom-color:.........cor da borda inferior
• -----------------------------------------
• border-left-width:...........espessura da borda esquerda
• border-left-style:...........estilo da borda esquerda
• border-left-color:...........cor da borda esquerda
• -----------------------------------------
• border-top:...maneira abreviada para todas as propriedades da borda superior
• border-right:..maneira abreviada para todas as propriedades da borda direita
• border-bottom:..maneira abreviada para todas as propriedades da borda inferior
• border-left:..maneira abreviada para todas as propriedades da borda esquerda
• border:.........maneira abreviada para todas as quatro bordas

Valores válidos para as propriedades das bordas


color:
1. código hexadecimal: #FFFFFF
2. código rgb: rgb(255,235,0)
3. nome da cor: red, blue, green...etc
style:
1. none: nenhuma borda
2. hidden: equivalente a none
3. dotted: borda pontilhada
4. dashed: borda tracejada
5. solid: borda contínua
6. double: borda dupla
7. groove: borda entalhada
8. ridge: borda em ressalto
9. inset: borda em baixo relevo
10. outset: borda em alto relevo
width:
1. thin: borda fina
2. medium: borda média

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

138
WEB 2 – CSS
3. thick: borda grossa
4. length: uma medida reconhecida pelas CSS (px, pt, em, cm, ...)

8. EXERCÍCOS

1. Formatação de texto
2. Formatando tabelas
3. Formatar menus
4. Dividir páginas
5. Criar backgrounds
6. Posicionar e formatar imagens

9 . BIBLIOGRAFIA

PEREIRA, Marcelo Gino e REHDER, Wellington da Silva, Guia Prático – HTML,


Santa Cruz do Rio Pardo, São Paulo: Ed. Viena, 2003,143p.
www.maujor.com – acessado em: 10/12/2013 às 10 horas.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

139
WEB 2 – CSS

10. CRITÉRIOS DE DISTRIBUIÇÃO DE PONTOS

Atividade Valor
Trabalho Escrito 10
1º Bimestre Avaliação Mensal 10
Avaliação Bimestral 20
Total 40

Atividade Valor
Avaliação Mensal 15
2º Bimestre Trabalho prático 15
Projeto Mostra 30
Total 60

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

140
Curso Técnico em

INFORMÁTICA
Etapa 2

WEB 2
JavaScript
WEB 2 – JavaScript

OBJETIVO:

Compreender os conceitos e as técnicas de utilização da linguagem JavaScript para, assim, em-


pregá-lo no desenvolvimento de sites mais atrativos.

CURSO TÉCNICO EM INFORMÁTICA


DISCIPLINA: WEB II
ETAPA: 2ª
CH: 60 h

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

143
WEB 2 – JavaScript

SUMÁRIO

1. A Linguagem JavaScript............................................................................................................... 147


2. O que podemos fazer?................................................................................................................ 147
3. Usando o Java Script.................................................................................................................... 147
4. Estruturas de interação com o usuário........................................................................................ 148
4.1. Alert .................................................................................................................................. 148
4.2. Confirm ............................................................................................................................. 149
4.3. Prompt . ............................................................................................................................ 149
5. Eventos........................................................................................................................................ 149
5.1. onClick.............................................................................................................................. 149
5.2. Load e Unload................................................................................................................... 149
5.3. onFocus............................................................................................................................. 150
5.4. onBlur................................................................................................................................ 150
5.5. onmouseOver e onmouseOut........................................................................................... 150
6. Comandos.................................................................................................................................... 151
6.1. document.write................................................................................................................ 151
6.2. document.bgColor............................................................................................................. 151
6.3. document.fgColor.............................................................................................................. 151
6.4. document.title.................................................................................................................. 151
6.5. document.write ................................................................................................................ 151
6.6. window.open.................................................................................................................... 151
6.7. window.status................................................................................................................... 152
7. Operadores do JavaScript............................................................................................................ 152
7.1. Operadores Matemáticos.................................................................................................. 152
7.2 Operadores de comparação. ............................................................................................. 152
7.3 Operadores lógicos............................................................................................................. 153
8. Variáveis...................................................................................................................................... 153
9. Estrutura Condicional: if e if ..else.............................................................................................. 154
9.1. Estrutura simples............................................................................................................... 154

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

145
9.2 Estrutura composta............................................................................................................ 154
9.3 Case.................................................................................................................................... 155
10. Estruturas de Repetição............................................................................................................ 155
10.1. While............................................................................................................................... 155
10.2 For.................................................................................................................................... 156
10.3 Do While........................................................................................................................... 156
11. Funções..................................................................................................................................... 156
12. Exercícios................................................................................................................................... 157
13. Bibliografia................................................................................................................................. 158
14. Critérios de distribuição de pontos........................................................................................... 158
WEB 2 – JavaScript

1. A LINGUAGEM JAVASCRIPT

Javascript é linguagem de script para construção de páginas da Web utilizando recursos dinâ-
micos.
Podemos criar efeitos especiais, controlar os dados digitados em um formulário e criar algumas
animações.
A construção de uma página usando Java, deve ser desenvolvida junto com HTML
A linguagem JavaScript ao contrário do que muitos são induzidos a acreditar, não é nenhuma
extensão do JAVA.

2. O QUE PODEMOS FAZER?

• Inserir textos dinamicamente no HTML


• Reagem a eventos
• Códigos serão executados após ações do usuário
• Criar e alterar elementos HTML
• Validação de dados

3. USANDO O JAVA SCRIPT.

O código em Javascript poderá ser inserido em qualquer ponto de sua página, desde que dentro
das tags <html>..</html>
e iniciando-se com a tag
<script language =“Javascript”>
e terminando com a tag
</script>.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

147
WEB 2 – JavaScript
Como colocar Javascript em um HTML
<html>
<body>
<script type=”text/javascript”>
document.write(“Olá Mundo!”);
</script>
</body>
</html>

Execução
• No body é executado enquanto a página carrega.
• No head é executado quando é invocado.

4. ESTRUTURAS DE INTERAÇÃO COM O USUÁRIO

4.1. Alert
- Mostra uma caixa de alerta, seguido de um sinal sonoro e o botão de OK.
exemplo:
html>
<head>
<title>exercício nº 1 </title>
</head>
<script language=”JavaScript”>
alert(“Bom dia! Tudo Bem?”);
</script>
<body>
Primeiro exercício em JAVA SCRIPT
</body>
</html>

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

148
WEB 2 – JavaScript
4.2. Confirm
Mostra uma caixa de diálogo, seguida de um sinal sonoro e os botão de OK e Cancel.
Retorna um valor verdadeiro se o usuário escolher OK.
Ex: retorno=confirm(‘Deseja prossegir?”)

4.3. Prompt
Monta uma caixa de entrada de dados, de forma simplificada comparando-se com o objeto text.
<script language=”Javascript”>
window.prompt(“Digite seu nome.”,”Nome”);
</script>

5. EVENTOS

Eventos são acontecimentos que ocorrem durante a navegação em uma página da web.

5.1. onClick
 
Disparados pelo clique de mouse em cima de um elemento

<form>
<input type=”button” value=”Clicar”onClick=”alert(‘Acabas-te de clicar no botão’)”>
</form>

5.2. Load e Unload


O evento Load aparece quando a página acaba de se carregar. O inverso, Unload aparece quan-
do o utilizador saia da página.

<body  onLoad=’bemvindo()’ onUnload=’adeus()’>


</body>

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

149
WEB 2 – JavaScript
5.3. onFocus
O evento onFocus é quando um objeto se torna ativo, isto é, sempre que ativamos uma janela,
ou uma caixa de texto. Os objetos podem tornar-se ativos com o clique ou com o uso da tecla “Tab”.
Se clicar na zona do texto, irá se efectuar-se um focus.

5.4. onBlur
 
O evento onBlur executa-se quando por exemplo uma text field de um formulário perde o focus.
Isto aconteça quando o utilizador desativa a text field clicando fora dela ou utilizando a tecla “Tab”.Se
depois de clicar e/ou escrever, clica-se fora do documento, produza-se o evento Blur.

O código é:

<form>
<input text=text onBlur=”alert(‘Isto é um Blur!’)”>
</form>

5.5. onmouseOver e onmouseOut


O evento onmouseOver executa-se quando o cursor passa por cima (sem clicar) de um link ou
de uma imagem.
O evento onmouseOut, geralmente associado um onmouseOver, executa-se quando o cursor
saia da zona sensível (link ou imagem).

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

150
WEB 2 – JavaScript

6. COMANDOS

6.1. document.write
Este comando permite escrever qualquer informação na página que pode ser um texto ou o
conteúdo de uma variável de memória.
Ex: document.write(“Programando em Javascript”);
document.write(“Olá “+nome+” Seja Bem Vindo

6.2. document.bgColor
Este comando altera a cor de fundo da página.
Ex: document.bgColor=”pink”;

6.3. document.fgColor
Este comando altera a cor da letra na página.
Ex: document.fgColor=”blue”;

6.4. document.title
Define um título para a página.
Ex: document.title=”Curso de Informática”;

6.5. document.write
Exibe a data da última atualização da página.
Ex: document.write(document.lastModified);

6.6. window.open
Comando para abrir uma página em uma nova janela, além de controlar sua posição, tamanho
e os controles que deverão aparecer na nova janela.
Ex: window.open(“URL”,”nome_da_janela”,”Parâmetros”);

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

151
WEB 2 – JavaScript
6.7. window.status
Com este comando, você pode exibir qualquer mensagem na barra de status
do navegador.
Ex: window.status=”Programação em Javascript”;

7. OPERADORES DO JAVASCRIPT

Os operadores permitem realizar cálculos, comparações e atribuir valores as variáveis


de memória, durante o acesso a página.

7.1. Operadores Matemáticos.


São usados para efetuarem operações sobre as variáveis e constantes.
+ soma
- subtração
* multiplicação
/ divisão
^ exponenciação
% módulo, resto da divisão
++ acrescenta um a uma variável
-- subtrai um de uma variável
+= soma um valor a uma variável e lhe atribui o resultado.

7.2 Operadores de comparação.


Uma comparação sempre gera um dos dois valores possíveis: vazio, que corresponde a falso, e
1, que corresponde a verdadeiro.
= = é igual a
! = não é igual a
> é maior que

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

152
WEB 2 – JavaScript
< é menor que
>= é maior ou igual a
<= é menor ou igual a

7.3 Operadores lógicos.


and ou && - operador lógico “e”, apenas retornando verdadeiro quando as duas
condições envolvidas no teste forem verdadeiras
or ou | | operador lógico “ou”, retornando verdadeiro quando uma ou as duas condições
envolvidas no teste forem verdadeiras
! operador lógico “não”, invertendo o resultado de um teste
xor – operador lógico “ou exclusivo” que determina se uma de duas condições é
verdadeira mas não ambas. Se ambas forem verdadeiras, o teste final será falso

8. VARIÁVEIS

As variáveis permitem guardar dados na memória da máquina durante a execução de progra-


mas, páginas ou scripts. Sempre que forem usadas elas estarão prontas para entrarem em ação e
receber ou enviar dados conforme a solicitação do usuário.
Para declarar uma variável em Javascript, você poderá utilizar ou não a denominação var (sem-
pre em letras minúsculas), não é preciso especificar o tipo de variável. Se criar uma variável e atribuir
um conteúdo texto e na linha seguinte atribuir um conteúdo numérico, o próprio navegador interpre-
ta a instrução e converte normalmente sem nenhum problema.
Exemplo:
<script language=”Javascript”>
var nome=window.prompt(“Usuário”, “Informe o seu nome”);
document.write(“<h4>Seja Bem Vindo(a), “ + nome + “</h4>”);
</script>

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

153
WEB 2 – JavaScript

9. ESTRUTURA CONDICIONAL: IF E IF ..ELSE

A instrução if é uma das mais importantes em JavaScript , é através dela que podemos utilizar o
conjunto dos operadores de comparação

9.1. Estrutura simples


• if (condição){
• Bloco de comandos;
•}
Exemplo: Considere a=10 e b=20
• if ( a<=b){
• alert(“O valor da variável a é menor que b”);
•}

9.2 Estrutura composta


• if (condição){
• Bloco de comandos verndade;
•}
• else{
• Bloco de comandos falso;
•}
Exemplo: Considere a=30 e b=20
• if ( a>=b){
• alert(“O valor da variável a é menor que b”);
•}
• else{
• alert(“O valor da variável b é menor que a”);
•}

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

154
WEB 2 – JavaScript
9.3 Case
É um comando de seleção onde durante a execução do script ele visa encontrar a
igualdade.
Sintaxe:
• switch (variável){
• case ‘valor 1’: { bloco de comandos;
break;}
• case ‘valor2: {bloco de comandos;
break;}
• default:{ comando alternativo;}
•}

10. ESTRUTURAS DE REPETIÇÃO

Temos 3 tipos de estrutura de repetição que servem para executar um script várias vezes.

10.1. While
A estrutura while faz a mesma coisa que o for, porém a variável de controle do laço deve ser
iniciada antes da instrução while.
Supondo que devemos imprimir Informática dez vezes.

<script language=”Javascript”>
var i=1;
while(i<11){
document.write(i+” ETE Silvio de Mattos Carvalho”+”<br>”);
i++;}
</script>
</html>

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

155
WEB 2 – JavaScript
10.2 For
A estrutura for é composta de três partes: (inicialização da variável ; teste condicional e incre-
mento da variável)
Supondo que devemos imprimir Informática dez vezes.
<script language=”Javascript”>
for(i=1;i<11;i++){
document.write(i+” Informática”+”<br>”);}
</script>

10.3 Do While
A estrutura do.. while faz a mesma coisa que as outras duas anteriores, porém além da variável
de controle do laço ser iniciada antes da instrução do..while, a repetição é executada pelo menos uma
vez antes da verificação do teste condicional.Veja a colocação no código abaixo:
<script language=”Javascript”>
var i=1;
do{
document.write(i+” Informática”+”<br>”);
i++;}
while(i<11);
</script>

11. FUNÇÕES

Uma função é uma rotina com vários comandos desenvolvida pelo programador que fica dispos-
tos de uma forma lógica para chegar a um resultado desejado.
O exemplo abaixo mostra uma função para digitar um nome e mostra-lo 10 vezes, a função é
executada no evento onclick.
<script language=”Javascript”>
function entra(){
var i;
var nome=window.prompt(“Digite um Nome”, “”);
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

156
WEB 2 – JavaScript
for (i=1;i<11;i++){
document.write(nome,”<br>”);}
}
</script>

12. EXERCÍCIOS

Criar o formulário e validar cada entrada de dados.

Crie a função abaixo:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

157
WEB 2 – JavaScript

13. BIBLIOGRAFIA

eadcetec.kit.net/javascript
Curso de Capacitação -Programação web - Raphael Canguçu Mirante Ferreira

14. CRITÉRIOS DE DISTRIBUIÇÃO DE PONTOS

Atividade Valor
Trabalho Escrito 10
1º Bimestre Avaliação Mensal 10
Avaliação Bimestral 20
Total 40

Atividade Valor
Avaliação Mensal 15
2º Bimestre Trabalho prático 15
Projeto Mostra 30
Total 60

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

158
Curso Técnico em

INFORMÁTICA
Etapa 2

Banco de Ddados II
SQL
Banco de Dados II - SQL

SUMÁRIO

Objetivos Gerais...............................................................................................................................163
1. A Linguagem SQL.......................................................................................................................165
1.1 - Iniciando Mysql em Modo Texto.......................................................................................166
1.2 - Relembrando os tipos de dados........................................................................................166
1.2.1 - Numéricos .....................................................................................................................167
1.2.2 - Data.........................................................................................................................168
1.2.3 - Cadeia . ...................................................................................................................169
2 - Comandos...................................................................................................................................170
2.1 - Comando SELECT...............................................................................................................170
2.2. - SELECT DISTINCT...............................................................................................................171
2.3. - SELECT ALL........................................................................................................................171
2.4. Cláusula WHERE.................................................................................................................171
2.4.1 Selecionando a partir de parâmetros........................................................................172
2.4.2 Verificando Campo nulo – IS NULL............................................................................172
2.5 – Funções de Grupos ou embutidos....................................................................................172
2.5.1. MAX..........................................................................................................................172
2.5.2. MIN..........................................................................................................................172
2.5.3. AVG...........................................................................................................................173
2.5.4. Count........................................................................................................................173
2.5.5. SUM..........................................................................................................................173
2.6 - Cláusula ORDER BY............................................................................................................174
2.7 - Os operadores LIKE,  IN   e  BETWEEN...............................................................................174
2.7.1 - LIKE..........................................................................................................................174
2.7.2 - IN.............................................................................................................................174
2.7.3. BETWEEN.................................................................................................................175
2.8. Cláusula GROUP BY.............................................................................................................175
2.9. Cláusula HAVING................................................................................................................175

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

161
Banco de Dados II - SQL
2.10. Cláusula UNION................................................................................................................176
2.11. Cláusula INNER JOIN.........................................................................................................176
2.12. Instruções SQL para Inserir, Atualizar e Excluir Registros.................................................176
2.12.1. – INSERT INTO........................................................................................................176
2.12.2. – UPDATE...............................................................................................................177
2.12.3 – DELETE . ...............................................................................................................177
2.13 - Subconsultas SQL............................................................................................................178
3. Criando a base de dados..............................................................................................................178
4. Criando tabelas.............................................................................................................................179
4.1 ESQUECER DE ATRIBUIR VALOR A UMA COLUNA NOT NULL...............................................181
4.2 ESQUECER DE COLOCAR UM VALOR DO TIPO TEXTO ENTRE ASPAS....................................182
4.3 ATRIBUIR UM VALOR REPETIDO A UMA CHAVE PRIMÁRIA OU A UM CAMPO ÚNICO........182
5. Comando DML na pratica.............................................................................................................182
6. Dicas ...........................................................................................................................................187

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

162
Banco de Dados II - SQL

OBJETIVOS GERAIS

Esse material tem por objetivo revisar os conhecimentos adquiridos na etapa passada e apro-
fundar a linguagem SQL, agregando novos desafios ao aluno.

Avaliações
• Apresentação da Disciplina e apresentação da turma
• Definição de dado, informação, banco de dados e modelagem de dados; o profissional de
banco de dados; sistemas gerenciadores de banco de dados
• Componentes do banco de dados – definição e exemplos: entidade, atributos, ocorrências,
chave primária, chave secundária e chave candidata;
• Definição de relacionamento – tipos, definição, resolução e exemplos (1-1, 1-N e M-N)
• Diagrama Entidade Relacionamento – DER: definição e modelos
• Exercício avaliativo – exercícios de fixação – correção de exercícios
• Exercícios diversos de fixação para elaboração de DER com situações do mundo real – cor-
reção destes exercícios em sala de aula
• Apresentação do MYSQL – interface
• Criação de tabelas – definição tipos de campo, chaves primárias, chave estrangeira;
• Relacionamentos.
• Apresentando a Linguagem MYSQL
• Comandos: SELECT, *, FROM, ORDER BY ASC E DESC
• MAX, MIN, AVG, COUNT E SUM.
• Apresentação de projetos
• Avaliação do momento

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

163
Banco de Dados II - SQL
Distribuição de pontos

Critérios de Distribuição de Pontos

Atividades Valor

AVALIAÇÃO I 10,0

AVALIAÇÃO II 10,0

Avaliação bimestral 20,0

Total de Pontos 40,0

Tabela 1 – Distribuição de pontos 1

Critérios de Distribuição de Pontos – 2 Bimestre

Atividades Valor

AVALIAÇÃO I 15 ptos

AVALIAÇÃO I 15 ptos

AMOSTRA 30 ptos

Total de Pontos 60

Tabela 1 – Distribuição de Pontos 2

Bibliografia
Material elaborado pelo professor

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

164
Banco de Dados II - SQL
Manipulação de Banco de Dados Padrão SQL(básico)
(Structure Query Language)

1. A LINGUAGEM SQL

Segundo Ramalho, a linguagem SQL é a linguagem padrão dos bancos de dados, Oracle, SQL ser-
ven, Interbase, Access, entre outras, fazem uso dessa linguagem para criar e manter seus bancos de
dados. Dominar a linguagem SQL é uma tarefa obrigatória para todos os desenvolvedores de sistema
que trabalham com bancos de dados. Programas criados em linguagens como Delphi, Visual Basic,
Java e outras utilizam rotinas escritas em SQL para acessar um banco de dados.
A Linguagem SQL surgiu da IBM e é uma abreviação de Structured Query Language. Ela foi criada
para definir, modificar e consultar dados contidos em uma banco de dados relacional, outra grande
contribuição da IBM, através de E.F. Code que, em 1970 propôs o modelo de banco de dados relacio-
nal.
A simplicidade da linguagem fez com que ela se tornasse um padrão para acesso a banco de
dados, um comitê foi criado para padronizar a linguagem na tentativa de torná-la independente de
plataforma. O padrão SQL é definido pelo ANSI (American National Standards Institute). Aprender SQL
é o primeiro passo para se tornar um programador de qualquer dialeto SQL.
A Linguagem SQL pode ser dividida em três grupos de comandos, de acordo com sua finalidade:

DDL (DATA DEFINITION LANGUAGE)


É a parte da linguagem SQL em que os comandos são responsáveis pela criação de objetos,
como tabelas, índices, visões etc. Entre esses comandos podemos citar:
Create Table, Create View, Create Index

DML (DATA MANIPULATION LANGUAGE)


É a parte da linguagem SQL onde os comandos executam consultas e alterações nos dados.
Entre os comandos estão:
SELECT, UPDATE, DELETE.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

165
Banco de Dados II - SQL
DCL (DATA CONTROL LANGUAGE)
Esta relacionada basicamente com a segurança do banco de dados. Os comandos DCL são:
GRANT, REVOKE.

1.1 - Iniciando Mysql em Modo Texto


a) Abra o Prompt comando e digite mysqluc ou vá em localize em seus programas o Mysql
Utilities Console.
b) A tela abaixo será exibida, conforme a figura 1.

Figura 1 – Mysql Utilities Console

1.2 - Relembrando os tipos de dados


Os tipos de dados que pode ter um campo, podem-se agrupar em três grandes grupos:
• Tipos Numéricos
• Tipos de Data
• Tipos de Cadeia

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

166
Banco de Dados II - SQL
1.2.1 - Numéricos
Existem tipos de dados numéricos, que se podem dividir em dois grandes grupos, os que estão
em vírgula flutuante (com decimais) e os que não.
TinyInt: é um número inteiro com ou sem signo. Com signo a margem de valores válidos são
desde -128 até 127. Sem signo, a margem de valores é de 0 até 255.
Bit ou Bool: um número inteiro que pode ser 0 ou 1.
SmallInt: número inteiro com ou sem signo. Com signo a margem de valores válidos são desde
-32768 até 32767. Sem signo, a margem de valores é de 0 até 65535.
MediumInt: número inteiro com ou sem signo. Com signo a margem de valores válidos são des-
de -8.388.608 até 8.388.607. Sem signo, a margem de valores é de 0 até 16777215.
Integer, Int: número inteiro com ou sem signo. Com signo a margem de valores válidos são des-
de -2147483648 até 2147483647. Sem signo, a margem de valores é de 0 até 429.496.295.
BigInt: número inteiro com ou sem signo. Com signo a margem de valores válidos são desde
-9.223.372.036.854.775.808 até 9.223.372.036.854.775.807 Sem signo, a margem de valores é de 0
até 18.446.744.073.709.551.615.
Float: número pequeno em vírgula flutuante de precisão simples. Os valores válidos vão desde
-3.402823466E+38 até -1.175494351E-38,0 eté desde 175494351E-38 até 3.402823466E+38.
xReal, Double: número em vírgula flutuante de dupla precisão. Os valores permitidos vão desde
-1.7976931348623157E+308 até -2.2250738585072014E-308, 0 e desde 2.2250738585072014E-308
até 1.7976931348623157E+308
Decimal, Dec, Numeric: Número em vírgula flutuante desempacotado. O número armazena-se
como uma cadeia.

Tabela – Tipos de dados

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

167
Banco de Dados II - SQL
1.2.2 - Data
Na hora de armazenar datas, há que ter em conta que MySQL não verifica de uma maneira estri-
ta se uma data é válida ou não. Simplesmente comprova que o mês está compreendido entre 0 e 12 e
que o dia está compreendido entre 0 e 31.
Date: tipo data, armazena uma data. A margem de valores vai desde o 1 de Janeiro de 1001 ao
31 de dezembro de 9999. O formato de armazenamento é de ano-mes-dia.
DateTime: Combinação de data e hora. A margem de valores vai desde o 1 de Janeiro de 1001 às
0 horas, 0 minutos e 0 segundos ao 31 de Dezembro de 9999 às 23 horas, 59 minutos e 59 segundos.
O formato de armazenamento é de ano-mes-dia horas:minutos:segundos
TimeStamp: Combinação de data e hora. A margem vai desde o 1 de Janeiro de 1970 ao ano
2037. O formato de armazenamento depende do tamanho do campo:

Tabela – Tipos de Formato Data

Time: armazena uma hora. A margem de horas vai desde -838 horas, 59 minutos e 59 segundos.
O formato de armazenamento é ‘HH:MM:SS’.
Year: armazena um ano. A margem de valores permitidos vai desde o ano 1901 ao ano 2155. O
campo pode ter tamanho dois ou tamanho 4 dependendo de se queremos armazenar o ano com dois
ou quatro algarismos.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

168
Banco de Dados II - SQL

Tabela – Formato Data 2

1.2.3 - Cadeia
Char(n): armazena uma cadeia de longitude fixa. A cadeia poderá conter desde 0 até 255 carac-
teres.
VarChar(n): armazena uma cadeia de longitude variável. A cadeia poderá conter desde 0 até
255 caracteres. Dentro dos tipos de cadeia pode-se distinguir dois subtipos, os tipo Text e os tipo Blob
(Binary Large Object) A diferença entre um tipo e outro é o tratamento que recebem na hora de orde-
ná-los e compará-los. No tipo text ordena-se sem ter importância as maiúsculas e as minúsculas e no
tipo blob ordena-se tendo em conta as maiúsculas e minúsculas.
Existe uma diferença de armazenamento entre os tipos Char e Varchar:

Tabela – Char e Varchar

Os tipos blob utilizam-se para armazenar dados binários como podem ser arquivos.
TinyText e TinyBlob: Coluna com uma longitude máxima de 255 caracteres.
Blob e Text: um texto com um máximo de 65535 caracteres.
MediumBlob e MediumText: um texto com um máximo de 16.777.215 caracteres.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

169
Banco de Dados II - SQL
LongBlob e LongText: um texto com um máximo de caracteres 4.294.967.295. Há que ter em
conta que devido aos protocolos de comunicação os pacotes podem ter um máximo de 16 Mb.
Enum: campo que pode ter um único valor de uma lista que se especifica. O tipo Enum aceita
até 65535 valores diferentes.
Set: um campo que pode conter nenhum, um ou vários valores de uma lista. A lista pode ter um
máximo de 64 valores.

Tabela – Tipo Dados Cadeia

2 - COMANDOS

Veremos agora o necessário para manipularmos o um banco de dados.

2.1 - Comando SELECT


A instrução ou comando SELECT é uma pergunta ou requisição ao mecanismo de banco de da-
dos para que este retorne registros de uma tabela.
FROM  <TABELA>  permite que o mecanismo de banco de dados saiba qual tabela consultar.
Sintaxe: SELECT <campo1>, <campo2> FROM <TABELA>
Exemplo: SELECT COD_PROD, NOME_PROD, COD_FORNEC FROM PRODUTOS

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

170
Banco de Dados II - SQL
* (asteriscos) - indica que todos os campos devem ser retornados. 
Sintaxe: SELECT * FROM  <TABELA>
Exemplo: SELECT * FROM PRODUTOS
Executando cálculos:
exemplos:
SELECT COD_PROD, NOME_PROD, QUANT_COMPRA * VRL_UNIT AS [VALOR TOTAL] FROM
PRODUTOS
SELECT COD_PROD, NOME_PROD VLR­_UNIT=VLR_UNIT*0.9
WHERE DTA_VAL = #20/10/2007#;
O comando AS altera o nome da barra de titulo da nova coluna.

2.2. - SELECT DISTINCT


Determina que cada conteúdo deverá ser selecionado apenas uma vez, mesmo estando dupli-
cado na tabela.
Sintaxe: SELECT DISTINCT <CAMPO1>, <CAMPO2>

2.3. - SELECT ALL


Determina que todos os registros serão selecionados, mesmo aqueles que estão em duplicidade.
Sintaxe: SELECT DISTINCT <CAMPO1>, <CAMPO2>

2.4. Cláusula WHERE


É usada depois da cláusula FROM.  É semelhante a uma instrução condicional e seu objetivo é
retornar registros que satisfaçam uma condição. O formato da cláusula WHERE é:
WHERE <EXPRESSÃO BOOLEANA>
A <expressão booleana> é constituída de uma ou mais operações lógicas que serão avaliadas
como verdadeiro ou falso para cada registra.
Sintaxe:
SELECT * FROM <TABELA> WHERE <expressão booleana>
Exemplos:
SELECT * FROM PRODUTOS WHERE COD_FORNEC= 405

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

171
Banco de Dados II - SQL
2.4.1 Selecionando a partir de parâmetros
SELECT * FROM PRODUTOS
WHERE COD_FORNEC = [INFORME O CODIGO DO FORNECEDOR]

2.4.2 Verificando Campo nulo – IS NULL


SELECT * FROM PRODUTOS
WHERE COD_FORNEC = IS NULL;
Os operadores lógicos: >, < , = , <>
Operadores para múltiplas condições:
AND – para ter ambas as condições satisfeitas.
OR – para ter qualquer uma das condições satisfeitas.
Sintaxe:
SELECT * FROM <TABELA> WHERE <expressão booleana> AND <expressão booleana>
Exemplo:
SELECT * FROM PRODUTOS
WHERE COD_FORNEC= 405 AND DTA_VALID = #01/10/2007#

2.5 – Funções de Grupos ou embutidos


Funções que retornam resultados baseados em conjunto de registros.

2.5.1. MAX
A função max() retorna o maior valor da coluna selecionada.
Sintaxe
SELECT MAX(nome_coluna) FROM nome_tabela;
Na consulta abaixo retornaremos o maior salário da tabela empregados.
SELECT MAX(salario)
FROM empregados;

2.5.2. MIN
A função min() retorna o menor valor da coluna selecionada.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

172
Banco de Dados II - SQL
Sintaxe
SELECT MIN(nome_coluna) FROM nome_tabela;
Na consulta abaixo, ao contrario da função MAX(), retornaremos o menor salário da tabela em-
pregados.
SELECT MIN(salario)
FROM empregados;

2.5.3. AVG
A função avg() retorna o valor médio de uma coluna numérica.
Sintaxe
SELECT AVG(nome_coluna) FROM nome_tabela;
Na consulta abaixo, a função AVG(), retornará o salário médio da tabela empregados.
SELECT AVG(salario)
FROM empregados;

2.5.4. Count
A função count() retorna o número de linhas que corresponde a um critério especificado.
Sintaxe
SELECT COUNT(nome_coluna) FROM nome_tabela;
A seguinte consulta devolve a quantidade de funcionários na tabela tripulante:
SELECT count(cod_funcionario)
FROM tripulante;
SELECT COUNT(*) FROM nome_tabela;
Retorna o número de registros da tabela.

2.5.5. SUM
A função SUM() retorna a soma total de uma coluna numérica.
Sintaxe
SELECT SUM(nome_coluna) FROM nome_coluna;

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

173
Banco de Dados II - SQL
2.6 - Cláusula ORDER BY
A claúsula ordena a consulta pela(s) colunas(s) especificadas.
Exemplo:
SELECT * FROM PRODUTOS ORDER BY NOME_PROD ASC;
ASC – ordem ascendente.
DESC – ordem descendente.

2.7 - Os operadores LIKE,  IN   e  BETWEEN


2.7.1 - LIKE
O operador LIKE permite procurar strings que atendam determinado padrão de pesquisa.
Exemplos:
Consulta que retorna os registros dos produtos cujos nomes começam com a letra “M”
SELECT * FROM PRODUTOS WHERE NOME_PROD LIKE “M*”
Consulta que retorna os registros dos produtos cujos nomes começam com a letra “M” e termi-
nam com a letra “a”
SELECT * FROM PRODUTOS WHERE NOME_PROD LIKE “M*a”
Consulta que retorna os registros dos produtos cujos nomes começam com a letra “M” ou co-
meçam com a letra “A”, e com a data de validade igual a 30/10/2007.
SELECT * FROM PRODUTOS
WHERE (NOME_PROD LIKE “M*” OR NOME_PROD LIKE “A*”) AND DTA_VALID = #30/10/2007#

2.7.2 - IN
Compara um campo com uma lista de valores.
Exemplos:
Consulta que retorna os registros dos alunos que tenham  a matricula 405 e 410.
SELECT * FROM ALUNO
WHERE MATRICULA IN (405,410)
Consulta que retorna os registros dos alunos que tenham   19 ou 22 anos.
SELECT * FROM ALUNO
WHERE IDADE IN (19, 22)
Consulta que retorna os registros dos alunos que são de MG, SP ou RJ
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

174
Banco de Dados II - SQL
SELECT * FROM ALUNO
WHERE UF IN (“MG” , “SP” , “RJ”)

2.7.3. BETWEEN
O operador BETWEEN é um atalho para ver se um determinado campo está em um intervalo.
Exemplo:
- Consulta que retorna os registros dos alunos com idade entre 19 e 22 anos
SELECT * FROM ALUNO
WHERE IDADE BETWEEN 19 AND 22;
   

2.8. Cláusula GROUP BY


Até agora, todos os dados recebidos foram simplesmente os que estavam armazenados em uma
tabela do banco de dados. As funções (MAX, MIN, AVG, SUM, COUNT) são utilizadas juntamente com
a cláusula GROUP BY para agregar um conjunto de registros:
Mais de umas funções agregadas podem ser usadas em uma consulta.
Exemplos:
- Consulta que retorna a soma das mensalidades pagas por cada aluno (agrupadas por aluno).
SELECT COD_ALUNO, SUM(VALOR) FROM MENSALIDADE
GROUP BY COD_ALUNO
- Consulta que retorna a soma das mensalidades agrupadas por mês.
SELECT MES, SUM(VALOR) FROM MENSALIDADE GROUP BY MES
DISTINCT COD_ALUNO FROM MENSALIDADE

2.9. - Cláusula HAVING


A cláusula WHERE determina quais registros são usados para construir grupos. Entretanto, não
há meios de usar a cláusula WHERE para eliminar grupos inteiros, depois que eles foram calculados. A
cláusula que faz isso é a HAVING. O formato é HAVING <condição>,  onde  <condição> é uma expres-
são booleana que utiliza funções agregadas ao invés de campos.

Exemplos:
- Consulta que calcula a soma das mensalidades de cada aluno. Mostrar na consulta apenas os
alunos cuja soma das mensalidades seja acima de 1000.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

175
Banco de Dados II - SQL
SELECT COD_ALUNO, SUM (VALOR) FROM MENSALIDADE
GROUP BY COD_ALUNO
HAVING SUM (VALOR) > 1000

2.10. Cláusula UNION


As consultas união combinam campos correspondentes de duas ou mais tabelas.
Exemplo:
SELECT NOME, CIDADE FROM FORNEC_BH
UNION
SELECT NOME, CIDADE FROM FORNEC_SP

2.11. Cláusula INNER JOIN


A cláusula inner join permite que os dados de mais de uma tabela relacionada entre si sejam
conectados.
Exemplos:
- Consulta para junção da tabela ALUNO e MENSALIDADE
SELECT * FROM ALUNO INNER JOIN MENSALIDADE
ON ALUNO.COD_ALUNO = MENSALIDADE.COD_ALUNO
ou
SELECT * FROM ALUNO, MENSALIDADE
WHERE ALUNO.COD_ALUNO = MENSALIDADE.COD_ALUNO.

2.12. Instruções SQL para Inserir, Atualizar e Excluir Registros.


Agora vamos modificar os dados fazendo com que o banco de dados execute uma ação. As
principais ações são: inserir, atualizar e excluir registros.

2.12.1. – INSERT INTO


Inserção de registros.
Sintaxe:
INSERT INTO <nome da tabela> (campo1,campo2,...)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

176
Banco de Dados II - SQL
    VALUES (valor do campo1, valor do campo2, ...)
Exemplo:
(como a chave primária é o campo CODIGO, se alguém tentar incluir um registro cujo campo
CODIGO já exista, ocorrerá um erro de inserção e o registro não será incluído).

INSERT INTO ALUNO (CODIGO, NOME, IDADE)


    VALUES (“1010” , “Eduardo Gomes” , 18)

2.12.2. – UPDATE
Atualizar registros.
Sintaxe:

UPDATE  <nome da tabela>


    SET <campo1=expressão> , <campo2=expressão> , ...
    WHERE <condição>

Exemplo:
Atualizar o campo IDADE do aluno cujo CODIGO é “1010” para 20anos..
UPDATE ALUNO
    SET IDADE=20
    WHERE CODIGO=”1010”

2.12.3 – DELETE

Exclusão de registros:
Sintaxe:

DELETE  FROM  <nome da tabela>


    WHERE <condição>

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

177
Banco de Dados II - SQL
Exemplos:
Eliminar o registro do produto cujo CODIGO é “120001”.

DELETE FROM PRODUTOS


   WHERE CODIGO=”1200001”

2.13 - Subconsultas SQL


Uma subconsulta é uma instrução SELECT aninhada dentro de uma instrução SELECT, INSERT,
DELETE ou UPDATE ou dentro de uma outra subconsulta.
Exemplo:
SELECT NOME_PROD, VLR_PROD FROM PRODUTOS
WHERE VLR_PROD = (SELECT MAX(VLR_PROD) FROM PRODUTOS);

3. CRIANDO A BASE DE DADOS

Vamos então criar a nossa base de dados de exemplo. Vamos chama-la de LOCADORA.

Vamos agora dar uma olhada em todas as bases de dados a que temos acesso no MySQL. O co-
mando que nos mostra isto é: SHOW DATABASES;

mysql> show databases;


+-------------------+
| Database |
+-------------------+
| locadora |
| test |
+-------------------+
2 rows in set (0.00 sec)
mysql>

Para podermos
Fundação começar
de Educação paraaotrabalhar
Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

178
Banco de Dados II - SQL
Para podermos começar a trabalhar com nossa base de dados devemos avisar ao MySQL que
vamos usá-la. O comando para isto é: USE nome_db;

mysql> use locadora;


Database changed
mysql>

4. CRIANDO TABELAS

Veremos agora como criar as tabelas, onde os dados serão armazenados.

Os campos são definidos da seguinte forma:


nome_campo tipo [ NULL | NOT NULL ] [ DEFAULT valor_padrão] [ AUTO_INCREMENT ]
No campo id por exemplo o tipo é int(10) com o modificador unsigned, ele não aceita valores
nulos (not null) e é auto_increment, ou seja, seu valor é definido automaticamente, aumentando de
1 (um) em 1 (um) toda vez que um novo registro é adicionado. Para fazer uso desta funcionalidade é
necessário adicionar o valor 0 ou null neste campo.
No campo título escolhemos o tipo varchar(80) o que significa que este campo aceita caracteres
alfanuméricos num máximo determinado por nós de 80. O campo também não pode ser nulo.
Após a execução do comando temos uma nova tabela gerada. Podemos verificar quais tabelas
existem em nosso banco de dados com o comando SHOW TABLES.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

179
Banco de Dados II - SQL

mysql> show tables;


+--------------------+
| Tables_in_locadora |
+--------------------+
| filmes |
+--------------------+
1 row in set (0.00 sec)
mysql>

Podemos, ainda, verificar a estrutura da tabela com o comando DESC.

mysql> desc filmes;


+---------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+---------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | | PRI | NULL | auto_increment |
| titulo | varchar(80) | | | | |
| ano | int(4) unsigned | | |0 | |
| diretor | varchar(80) | | | | |
+---------+------------------+------+-----+---------+----------------+
4 rows in set (0.19 sec)
mysql>
Com o retorno do comando DESC podemos ver quais os campos da tabela, qual o tipo dos
campos, se aceitam ou não valores nulos, se existe uma chave primaria, e se algum campo possui a
propriedade auto_increment.
A síntese básica do comando INSERT é a seguinte:
INSERT INTO nome_tabela [(nome_coluna,...)] VALUES (valores)
Vamos inserir os dados de um filme em nossa tabela.

mysql> insert into filmes (id,titulo,ano,diretor)


-> values (0,'King Kong',2006,'Peter Jackson');
Query OK, 1 row affected (0.08 sec)
mysql>

Com este comando inserimos os dados do filme King Kong, do ano de 2006, do diretor Peter
Jackson. Mas e o valor 0 da coluna id?
Quando criamos a tabela filmes definimos a coluna id como tendo a caracteristica de ser auto_
increment, ou seja, seu valor é incrementado automaticamente, não precisamos nos preocupar com
o valor inserido por último para decidirmos qual o valor a ser inserido agora. Com esta característica
podemos criar sequências de valores como 1,2,3,4,5,6... Para podermos aproveitar esta facilidade não
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

180
Banco de Dados II - SQL
podemos atribuir um valor válido a coluna id, devemos inserir 0 ou NULL para que o banco de dados
saiba que desejamos que ele calcule sozinho o próximo valor válido.
Interessante ressaltar que valores do tipo texto (string) são colocados entre aspas (simples ou
dupla).
Poderíamos, também, inserir dados omitindo os nomes das colunas e colocando apenas os valo-
res no comando, desde que os valores estejam na mesma sequência das colunas na tabela.

mysql> insert into filmes values


-> (null,'Guerra dos Mundos',2005,'Steven Spielberg');
Query OK, 1 row affected (0.01 sec)
mysql>

Note que desta vez não colocamos os nomes das colunas antes da instrução VALUES. Outra mu-
dança que fizemos foi atribuir o valor null a coluna id.
Vamos ver como está nossa tabela no momento com o auxílio do comando SELECT.

mysql> select * from filmes;


+----+-------------------+------+------------------+
| id | titulo | ano | diretor |
+----+-------------------+------+------------------+
| 1 | King Kong | 2006 | Peter Jackson |
| 2 | Guerra dos Mundos | 2005 | Steven Spielberg |
+----+-------------------+------+------------------+
2 rows in set (0.01 sec)
mysql>

Vamos ver agora alguns erros que podem ser cometidos ao inserir dados.

4.1 ESQUECER DE ATRIBUIR VALOR A UMA COLUNA NOT NULL


No nosso caso a tabela filmes possui apenas colunas que não aceitam valores nulos (podemos
verificar isto com o comando DESC nome_tabela), ou seja, geraremos um erro se omitirmos qualquer
valor, exceto o da coluna id, que neste caso atribuira um valor automático.

mysql> insert into filmes (titulo, ano) values


-> ('Harry Potter e o Cálise de Fogo',2006);
ERROR 1364 (HY000): Field 'diretor' doesn't have a default value
mysql>

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

181
Banco de Dados II - SQL
Neste caso tentamos inserir apenas o valor do titulo e ano do filme, o banco de dados não acei-
tou e mostrou o erro 1364, para avisar que o campo diretor não tem nenhum valor padrão (não pode
ser nulo, no caso) para ser atribuído.

4.2 ESQUECER DE COLOCAR UM VALOR DO TIPO TEXTO ENTRE ASPAS

mysql> insert into filmes (titulo,ano,diretor) values


-> ('Harry Potter e o Cálise de Fogo',2006,Mike Newell);
ERROR 1064 (42000): VocÛ tem um erro de sintaxe no seu SQL
pr¾ximo a 'Newell)' na linha 2
mysql>

Aqui esquecemos de colocar aspas no nome do diretor, o banco de dados não aceitou a entrada
e gerou o erro 1064 e avisou que temos um erro de sintaxe na instrução SQL próximo de ‘Newell)’, ou
seja, próximo ao nome do diretor.

4.3 ATRIBUIR UM VALOR REPETIDO A UMA CHAVE PRIMÁRIA OU A UM CAMPO ÚNICO


Na nossa tabela de exemplo não campos únicos, mas temos uma chave primária, e pode ser por
acidente tentemos atribuir um valor duplicado a esta chave.

mysql> insert into filmes (id,titulo,ano,diretor) values


-> (2,'Harry Potter e o Cálise de Fogo',2006,'Mike Newell');
ERROR 1062 (23000): Entrada '2' duplicada para a chave 1
mysql>

Nesta situação tentamos inserir um registro com a chave primária 2, mas em nossa tabela já ti-
nhamos um registro com esta mesma chave primária, como os campos de chave primária não aceitam
valores duplicados o banco de dados gerou um erro 1062 e avisou que a entrada 2 é duplicada para a
primeira chave primária (primeira e única no nosso exemplo) da tabela filmes.
FINALMENTE INSERIMOS O FILME HARRY POTTER!!!

5. COMANDO DML NA PRATICA

O comando SQL que nos permite excluir dados no MySQL é o comando DELETE.
A sintaxe básica do comando DELETE é a seguinte:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

182
Banco de Dados II - SQL
DELETE FROM table_name [WHERE definição_where]
O comando DELETE é aplicado a uma tabela e pode ou não ter uma cláusula WHERE que restrin-
ge os registro nos quais ele atuará.
Este comando retorna o número de registros excluídos da tabela.
Se não for especificada uma cláusula WHERE o comando DELETE apagará todos os registros da
tabela. Neste caso, no MySQL 3.23, o comando retorna zero.
A partir do MySQL 4.0.0 a exclusão em multi-tabelas é suportada.
Vamos para um exemplo prático. Primeiro visualizaremos que dados temos em nossa tabela
filmes :

mysql> select * from filmes;


+----+---------------------------------+------+------------------+
| id | titulo | ano | diretor |
+----+---------------------------------+------+------------------+
| 1 | King Kong | 2006 | Peter Jackson |
| 2 | Guerra dos Mundos | 2005 | Steven Spielberg |
| 3 | Harry Potter e o Cálise de Fogo | 2006 | Mike Newell |
+----+---------------------------------+------+------------------+
3 rows in set (0.11 sec)

Como já havíamos visto anteriormente o comando SELECT * FROM filmes retorna todos os re-
gistros da tabela filmes.
Neste caso temos três registros de filmes. Para ilustrar a utilização mais comum do comando
DELETE vamos excluir um destes registros com o uso de algum critério. Poderíamos ter um critério
único, que excluiria apenas um registro (por exemplo usando o campo id), ou um critério múltiplo, que
poderia apagar mais de um registro (por exemplo, neste caso, usando o campo ano).
Vamos optar por usar o campo ano e excluir todos os filmes de anos anteriores a ‘2006’, o co-
mando seria o seguinte:
DELETE FROM filmes WHERE ano<2006;

mysql> DELETE FROM filmes WHERE ano<2006;


Query OK, 1 row affected (0.08 sec)

O comando DELETE foi executado com sucesso (“Query Ok”) e afetou apenas uma linha (regis-
tro) da tabela, ou seja, existia apenas um filme na tabela com data anterior a ‘2006’.
Vamos ver como ficaram os registros:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

183
Banco de Dados II - SQL

mysql> select * from filmes;


+----+---------------------------------+------+------------------+
| id | titulo | ano | diretor |
+----+---------------------------------+------+------------------+
| 1 | King Kong | 2006 | Peter Jackson |
| 3 | Harry Potter e o Cálise de Fogo | 2006 | Mike Newell |
+----+---------------------------------+------+------------------+
2 rows in set (0.00 sec)

Fica claro que agora só temos filmes do ano de ‘2006’ na tabela.


Vamos agora apagar um registro com base em um campo string. Executaremos o seguinte co-
mando:
DELETE FROM filmes WHERE diretor LIKE ‘%Jackson’

mysql> DELETE FROM filmes WHERE diretor LIKE '%Jackson';


Query OK, 1 row affected (0.08 sec)
Neste caso o comando DELETE excluiria tudos os registros cujo campo diretor terminasse com o
sobrenome ‘Jackson’ (todos os campos que se parecessem com isto).
Novamente o comando retornou sucesso e avisou que uma linha foi afetada, ou seja, tínhamos
um registro que satisfazia a condição.
Vamos ver como ficaram os registros:

mysql> select * from filmes;


+----+---------------------------------+------+------------------+
| id | titulo | ano | diretor |
+----+---------------------------------+------+------------------+
| 3 | Harry Potter e o Cálise de Fogo | 2006 | Mike Newell |
+----+---------------------------------+------+------------------+
1 rows in set (0.00 sec)

Uma situação especial para o comando DELETE ocorre quando ele é aplicado sem nenhuma
cláusula WHERE, neste caso todos os registros serão excluídos.
DELETE FROM filmes

mysql> DELETE FROM filmes;


Query OK, 1 row affected (0.00 sec)

Como só tínhamos um registro na tabela, somente uma linha foi afetada.


A tabela filmes agora se encontra vazia.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

184
Banco de Dados II - SQL

mysql> select * from filmes;


Empty set (0.00 sec)

Podemos facilmente restaurar os registros que existiam na tabela executando os três últimos
comandos.

mysql> INSERT INTO `filmes` VALUES (1, 'King Kong', 2006,


'> 'Peter Jackson');
Query OK, 1 row affected (0.02 sec)
mysql> INSERT INTO `filmes` VALUES (2, 'Guerra dos Mundos',
'> 2005, 'Steven Spielberg');
Query OK, 1 row affected (0.00 sec)
mysql> INSERT INTO `filmes` VALUES (3, 'Harry Potter e o
'>Cálise de Fogo', 2006,'Mike Newell');
Query OK, 1 row affected (0.00 sec)

A tabela filmes agora está como no inicio:

mysql> select * from filmes;


+----+---------------------------------+------+------------------+
| id | titulo | ano | diretor |
+----+---------------------------------+------+------------------+
| 1 | King Kong | 2006 | Peter Jackson |
| 2 | Guerra dos Mundos | 2005 | Steven Spielberg |
| 3 | Harry Potter e o Cálise de Fogo | 2006 | Mike Newell |
+----+---------------------------------+------+------------------+
3 rows in set (0.00 sec)

O comando SQL que nos permite atualizar dados no MySQL é o comando UPDATE.
A sintaxe básica do comando UPDATE é a seguinte:
UPDATE nome_tabela SET nome_coluna1=expr1 [, nome_coluna2=expr2 ...] [WHERE defini-
ção_where]
UPDATE é aplicado a uma tabela e a cláusula SET atribui a um campo o valor de uma expressão
que pode ou não conter o valor de um campo da própria tabela. A cláusula WHERE restringe as atua-
lizações apenas aos registro que satisfação suas condições.
A partir da MySQL Versão 4.0.4, você também pode realizar operações UPDATE que cobrem
múltiplas tabelas.
Vamos para um exemplo prático. Primeiro visualizaremos que dados temos em nossa tabela
filmes:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

185
Banco de Dados II - SQL

mysql> select * from filmes;


+----+---------------------------------+------+------------------+
| id | titulo | ano | diretor |
+----+---------------------------------+------+------------------+
| 1 | King Kong | 2006 | Peter Jackson |
| 2 | Guerra dos Mundos | 2005 | Steven Spielberg |
| 3 | Harry Potter e o Cálise de Fogo | 2006 | Mike Newell |
+----+---------------------------------+------+------------------+
3 rows in set (0.11 sec)

Como já vimos no anteriormente o comando SELECT * FROM filmes retorna todos os registros
da tabela filmes.
Vamos supor que desejássemos mudar todos os filmes para o ano de ‘2006’, o comando UPDATE
seria o seguinte:
UPDATE filmes SET ano=2006

mysql> UPDATE filmes SET ano=2006;


Query OK, 1 row affected (0.17 sec)
Linhas que combinaram: 3 - Alteradas: 1 - Avisos: 0

O resultado do comando UPDATE notifica que três linhas combinaram com o comando (uma vez
que temos três registros na tabela e não utilizamos a cláusula WHERE), e destas três, uma foi alterada
(atualizada). Vamos ver como ficaram os registros:

mysql> select * from filmes;


+----+---------------------------------+------+------------------+
| id | titulo | ano | diretor |
+----+---------------------------------+------+------------------+
| 1 | King Kong | 2006 | Peter Jackson |
| 2 | Guerra dos Mundos | 2006 | Steven Spielberg |
| 3 | Harry Potter e o Cálise de Fogo | 2006 | Mike Newell |
+----+---------------------------------+------+------------------+
3 rows in set (0.00 sec)

Perceba que todos os filmes agora tem o valor ‘2006’ no campo ‘ano’. Os filmes que já tinham o
valor ‘2006’ para ‘ano’ foram ignorados pelo comando UPDATE.
Neste primeiro exemplo não utilizamos a cláusula WHERE, e o comando UPDATE tentou mudar
todo e qualquer registro para o ano de ‘2006’, é claro que isto não é um comportamento ideal para a
maioria de nossa necessidades.
Vamos realizar uma atualização de um só registro desta vez. Para isto vamos restringir o coman-
do UPDADE com a cláusula WHERE.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

186
Banco de Dados II - SQL

mysql> UPDATE filmes SET ano=ano-1 WHERE id=2;


Query OK, 1 row affected (0.08 sec)
Linhas que combinaram: 1 - Alteradas: 1 - Avisos: 0

Neste exemplo a instrução ‘ WHERE id=2’ restringe a atualização apenas ao registro que possuir
a chave primária ‘id’ com o valor ‘2’, no caso o filme ‘Guerra dos Mundos’. Outro ponto importante
neste exemplo é que utilizamos o próprio valor do campo ‘ano’ para atualizá-lo. ‘SET ano=ano-1’ atu-
aliza o valor de ‘ano’ para ‘2005’, uma vez que ‘ano’ tinha o valor de ‘2006’ (2006 - 1 = 2005).
A tabela filmes ficou com os seguintes dados:

mysql> select * from filmes;


+----+---------------------------------+------+------------------+
| id | titulo | ano | diretor |
+----+---------------------------------+------+------------------+
| 1 | King Kong | 2006 | Peter Jackson |
| 2 | Guerra dos Mundos | 2005 | Steven Spielberg |
| 3 | Harry Potter e o Cálise de Fogo | 2006 | Mike Newell |
+----+---------------------------------+------+------------------+
3 rows in set (0.00 sec)

Exatamente como começamos :)


O comando SQL UPDATE utilizado com a cláusula WHERE torna-se uma ferramenta poderosa
para desenvolvedores manipularem dados no MySQL. O fato de a cláusula SET aceitar atribuição de
valores de expressões possibilita que trabalhemos com o valores já existentes no registro manipulado,
o que também expande nosso controle sobre os dados.

6. DICAS

Para atualizar(alterar) o valor do campo de uma tabela.


Update produto set dtaval =”2011.09.20”;
Alter table funcionário add email varchar(80) not null;
Para deletar a tabela
Drop database contrfunc;
Drop table funcionário;
Alter Table

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

187
Banco de Dados II - SQL
1. Para trocar o nome de uma tabela
Alter table clientes rename cliente;
2. Para trocar o nome da coluna
Alter table cliente rename codcliente to codcli;
3. Para modificar o tipo ou tamanho de um campo
Alter table cliente modify email varchar (100) not null;
4. Para acrescentar um campo
Alter table veiculo add cor varchar (20) not null;
5. Para inserir um campo primário
Alter table veiculo add primary key (codcli);

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

188
Curso Técnico em

INFORMÁTICA
Etapa 2

Ambiente Operacional II
Ambiente Operacional II

OBJETIVO

Esta apostila tem por objetivo ajudar o aluno a compreender:


• a evolução tecnológica dos computadores;
• os conceitos e funções de um sistema operacional;
• os termos técnicos relacionados a computação;
• identificar, compreender, implementar e configurar uma arquitetura de um sistema opera-
cional Cliente/Servidor;
• conhecer e utilizar os recursos dos sistemas operacionais, bem como sua evolução;
• compreender a estrutura de uma rede de computadores.

Curso: Informática Etapa: 2ª


Conteúdo: Ambiente Operacional II
Carga horária semanal: 4
Carga horária da etapa: 80
Total de pontos no primeiro bimestre 40
Total de pontos no primeiro bimestre 60

Bibliografia:
ALESSANDRO. Apostila - Curso Técnico em Informática Microsoft Official Course - Ambiente
Operacional III, UTRAMIG, 2000.
Microsoft Corporation. Curse Managing a Microsoft Windows Server 2003 Environment.
BADDINI, Francisco. Microsoft Windows Server 2003 Implementação e Administração. Editora
Érica, 2003.
BATTISTI Júlio e SANTANA Fabiano. Windows Server 2008 Guia de estudos completos, Nova
Terra, 2008.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

191
Ambiente Operacional II

SUMÁRIO

1. Componentes de uma rede remota de computadores MAN - WAN........................................... 195


1.1 Meio de comunicação........................................................................................................ 195
1.2. Modem............................................................................................................................. 195
1.2.1 Taxas de transmissão.............................................................................................. 196
1.3. Software de rede.............................................................................................................. 196
1.4. Roteadores........................................................................................................................ 196
2. Internet – Rede mundial de computadores................................................................................. 197
2.1. Provedores de serviços Internet....................................................................................... 197
2.2. Usuários............................................................................................................................ 198
2.3. Principais serviços utilizados disponíveis na Internet....................................................... 198
2.4. Principais conceitos da Internet........................................................................................ 198
3. Sistemas centralizados x distribuídos.......................................................................................... 199
3.1. Sistemas centralizados...................................................................................................... 199
3.2. Sistemas distribuídos........................................................................................................ 199
3.3. Vantagens dos sistemas distribuídos sobre os centralizados............................................ 200
3.4. Vantagens dos sistemas distribuídos sobre os PC’s independentes................................. 200
3.5. Desvantagens dos sistemas distribuídos........................................................................... 200
3.6. Hardware dos sistemas distribuídos................................................................................. 201
4. Arquitetura Cliente/Servidor....................................................................................................... 201
4.1. Sistemas Operacionais ..................................................................................................... 202
4.2. Aplicações Servidoras....................................................................................................... 202
4.3. Aplicações Clientes........................................................................................................... 202
4.4. Hardware ......................................................................................................................... 203
4.5. Arquitetura TCP / IP ......................................................................................................... 203
4.6. Redes Internas.................................................................................................................. 205
5. Preparando a instalação do Windows 2008 Server..................................................................... 205
5.1. Procedimentos iniciais...................................................................................................... 205
5.1.1. Tenha em mãos a faixa de IP que será utilizado..................................................... 205
5.1.2. O nome do computador........................................................................................ 206
5.1.3. O domínio do qual todas as estações de trabalho farão parte.............................. 206
5.1.4. Grupo de trabalho.................................................................................................. 206
6. Instalação do Windows 2008 Server........................................................................................... 206
6.1. Pontos a serem observados.............................................................................................. 206
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

193
Ambiente Operacional II
6.2. Configurações iniciais........................................................................................................ 207
7. Conceitos iniciais para administração do Windows 2008 Server................................................ 207
7.1. Estrutura do Active Directory no Windows 2008 Server................................................... 207
7.2. Conceito de objetos.......................................................................................................... 208
7.3. Grupos.............................................................................................................................. 209
7.4. Unidades Organizacionais ................................................................................................ 209
7.5. Conceito de Domínio, Árvore de domínio e Floresta de domínio..................................... 209
7.6. DNS – Resolução de nomes Windows 2008 Server na infra-estrutura de rede. .............. 210
7.6.1. Para instalar o DNS................................................................................................. 211
7.7. DHCP, Dynamic Host Configuration Protocol.................................................................... 212
7.7.1. Para instalar um servidor de DHCP........................................................................ 213
7.8. Conceito de NetBIOS......................................................................................................... 213
7.9. Utilização de Servidores WINS.......................................................................................... 214
7.9.1. Configurando o servidor WINS.............................................................................. 214
8. Implementando o Active Directory............................................................................................. 215
8.1. Procedimentos para instalação do Active Directory......................................................... 215
8.2. Gerenciando o Active Directory ....................................................................................... 221
8.2.1. Procedimentos iniciais para cadastrar usuários..................................................... 221
8.2.2. Partição de disco.................................................................................................... 222
8.2.3. Conta para Administrador...................................................................................... 222
8.2.4. Políticas de senhas................................................................................................. 224
8.2.5. Conta de usuários.................................................................................................. 226
8.2.6. Perfil do usuário..................................................................................................... 227
8.2.7. Conta . ................................................................................................................... 229
9. Compartilhamento de arquivos e impressoras............................................................................ 230
9.1. Sistema de arquivos NTFS................................................................................................. 230
9.1.1. Herança em NTFS................................................................................................... 230
10. Colocando uma estação WinXp no domínio.............................................................................. 231
11. Removendo o AD....................................................................................................................... 233
REFERÊNCIAS................................................................................................................................... 239

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

194
Ambiente Operacional II

1. COMPONENTES DE UMA REDE REMOTA DE


COMPUTADORES MAN - WAN

1.1 Meio de comunicação

Do mesmo modo que na rede local, é necessário um meio de comunicação para que se estabe-
leça uma ligação entre os equipamentos (Modem’s). Este meio pode ser uma linha discada comum,
uma linha dedicada (cabo metálico, fibra ótica), rádio transmissor (ondas eletromagnéticas) ou até
mesmo um enlace via satélite.

1.2. Modem
É o equipamento necessário em cada ponto remoto para transformar as informações em sinais
que possam ser enviados através do meio físico considerado. Ele não se faz necessário em uma rede
local, nesta estariam sendo utilizadas as placas de rede.
O modem é um aparelho que permite a transmissão e a recepção de dados do computador,
através de linhas telefônicas. Desta forma, é possível se ter acesso à Internet, transmitir e receber fax,
usar videoconferência, correio eletrônico, jogar com um colega distante, e diversas outras aplicações.
A palavra modem significa modulador-demodulador. Um modem pode modular sinais digitais
para transmitir, e demodular os sinais analógicos recebidos, transformando-os novamente em digitais.
Temos os seguintes modelos:
• Data modem: trata-se de um modem capaz de transmitir e receber dados.
• Fax modem: é um modem especial, capaz de transmitir e receber fax.
• Data/Fax modem: é capaz de transmitir e receber dados e fax.
• Data/Fax/Voice modem: é capaz de transmitir/receber dados, fax e ouvir e falar ao mesmo
tempo.

Modem Externo Modem Interno (Fax-Modem)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

195
Ambiente Operacional II
1.2.1 Taxas de transmissão
Uma das mais importantes características de um modem é a sua taxa de transmissão. Normal-
mente, é medida em bps (bits por segundo), e está diretamente relacionada com a rapidez com a
qual os dados são transmitidos ou recebidos. Não basta só dividir por 8 para saber quantos bytes são
transmitidos, pois cada byte requer bits adicionais chamados start bit e stop bit, que servem para
efeitos de sincronização, permitindo que o receptor saiba exatamente onde começa e onde termina
cada byte. Adicione a isto, o fato dos modems atuais realizarem compressão de dados, o que permite
obter ganhos na taxa de transmissão.

1.3. Software de rede


Assim como nas redes locais, também aqui há a necessidade de um software que proporcione,
através de um protocolo de comunicação, uma ligação em rede. O protocolo adotado como padrão
pela Prodabel em suas rede remota é o TCP/IP.

1.4. Roteadores
São equipamentos destinados a direcionar as informações para que cheguem ao local desejado.
Funcionam como se fossem uma central de correio. Imaginem que as cartas chegam à uma central,
que verifica o destinatário e encaminha para o destino. Da mesma forma, um pacote que chega a um
roteador é verificado para onde se destina e remetido para o local desejado. O endereço do destina-
tário neste caso é o endereço IP.

• Interconecta duas ou mais redes ao nível de rede (inter-rede).


• Suporta conectar redes LAN’s, MAN’s e WAN’s de diferentes níveis físico, de enlace e mes-
mo de rede.
• Realiza filtragem, armazenamento (“buferização”) e conversões de nível físico.
• Tem capacidade de endereçamento (inter-rede) e roteamento.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

196
Ambiente Operacional II

2. INTERNET – REDE MUNDIAL DE COMPUTADORES

Conjunto de redes de computadores interligadas pelo mundo inteiro, que têm, em comum, um
conjunto de protocolos e serviços, de forma que seus usuários possam usufruir de serviços de infor-
mação e comunicação de alcance mundial.
• Origem nos centros militares dos EUA, na forma de um projeto da agencia ARPA (Advanced
Research and Projects Agency) com o objetivo de interligar os computadores dos seus de-
partamentos de pesquisa ( 1969 ) e ficou conhecida como ARPANET.
• Esse projeto gerou o protocolo TCP/IP, que, em 1980, foi implantado no Sistema Operacio-
nal Unix. Esse avanço beneficiou as universidades americanas, através da interligação entre
elas e a ARPANET.
• Em 1985, a NSF (National Science Foundation) interligou os supercomputadores de seus
centros de pesquisa, resultando na NSFNET e que em 1986 foi conectada a ARPANET.
• O conjunto de todos os computadores e redes ligados a esses dois BACKBONES (espinhas
dorsais de uma rede) passou a ser conhecido oficialmente como INTERNET.
• Em 1993, a Internet deixou de ser apenas acadêmica e passou a ser explorada comercial-
mente, na construção de Backbones Privados, Serviços, e tudo isso com abertura mundial.
• A Internet chegou ao Brasil em 1988, onde a UFRJ e a FAPESP (USP) eram as instituições
responsáveis. Em 1989, foi criado o Backbone da RNP (Rede Nacional de Pesquisas).
• A Embratel em 1994 iniciou a abordagem comercial da Internet no Brasil, permitindo a en-
trada de empresas nacionais na rede.

2.1. Provedores de serviços Internet


São instituições que se conectam à Internet, com o objetivo de fornecer serviços a ela relacio-
nada. São classificados em:
• Provedores de backbone: responsáveis pelos pontos de presença da Internet em diversas
localidades.
• Provedores de acesso Internet: empresas responsáveis pelas aberturas de contas e admi-
nistração do acesso por empresas e pessoas físicas.
• Provedores de informação Internet: empresas e/ou profissionais liberais que disponibili-
zam e administram informações na Internet, através do uso de protocolos como FTP ( trans-
ferência de Arquivos ) e HTTP( World Wide Web ).

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

197
Ambiente Operacional II
2.2. Usuários
Eles podem ser:
Individuais: são, em geral, pessoas físicas que se conectam à Internet com objetivos variados. O
acesso normalmente é discado, entre o seu computador e as Instalações de um provedor de acesso.
Institucionais: são empresas que conectam parte ou toda a sua rede corporativa à Internet, com
os objetivos de fornecer acesso à Internet para seus funcionários, cliente e/ou fornecedores.

2.3. Principais serviços utilizados disponíveis na Internet


E-mail (correio eletrônico): sistema para troca de mensagens pessoais entre os usuários. Aces-
sado através de programas específicos para enviar e receber mensagens.
WWW (World Wide Web): seção gráfica de Internet, formada por páginas de hipermídia. O
protocolo responsável pela gerência dos documentos eletrônicos é o HTTP.
Grupos de Discussão: são páginas que permitem troca de informações entre pequenos grupos
de interesse. Ao se cadastrar em um determinado grupo, o programa lhe enviará todas as mensagens
referentes à aquele assunto.
FTP (transferência de arquivos): sites específicos que possibilitam a cópia de arquivos de um
servidor da Internet para o micro do usuário e vice-versa.
IRC (Chat Interativo – conferências virtuais): serviço que permite a comunicação, em tempo
real, entre diversos usuários, através do teclado.
Vídeo Conferência: permite a conversação, via computador, com som e imagem desde que dis-
ponível o equipamento necessário.

2.4. Principais conceitos da Internet


BROWSER (navegador): programa que permite ao usuário navegar pela Web e visualizar as pá-
ginas. Também chamado de programa de navegação, visualizador, paginado e folheado.
WWW (World Wide Web – teia de alcance mundial): serviço de Internet que disponibiliza in-
formações em que os documentos (páginas) podem apresentar textos e hipertextos (imagens, sons,
links para outras páginas (hiperlinks), animações).
HTTP (Hyper Text Transfer Protocol): protocolo que define como os clientes/servidores devem
se comunicar para a transferência de dados na Web. Os endereços na Web começam com http://.
HTML (Hyper Text Markup Language): linguagem utilizada na confecção de documentos hiper-
texto, podendo ser definidas páginas nos mais variados formatos (texto, som, imagens).
HOME PAGE: página de acesso inicial na Internet.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

198
Ambiente Operacional II
LINK ou HIPERLINK: vínculo entre arquivos de dados, permite navegar para outros documentos
ou outra posição dentro do mesmo documento na Web.
SITE: conjunto de arquivos referentes a algum assunto especifico disponível na Internet.
URL (Uniform Resource Locator): é o endereço de um determinado recurso na Internet. Geral-
mente um diretório ou arquivo.

3. SISTEMAS CENTRALIZADOS X DISTRIBUÍDOS

3.1. Sistemas centralizados


Sistemas compostos por um único processador, memória, periféricos e terminais. Conhecidos
como Mainframes, ou, Computadores de Grande Porte.

3.2. Sistemas distribuídos


De 1945, quando houve o início da era dos computadores, até mais ou menos 1985, estas má-
quinas eram muito grandes e caras. Em função disso, a maioria das organizações tinha somente um
pequeno número de computadores, os quais operavam de forma independente por falta de uma
forma confiável de interligá-los.
No entanto, a partir de metade dos anos 80, dois avanços na tecnologia começaram a mudar
esta situação.
• O primeiro foi o desenvolvimento dos microprocessadores, com o poder de processamento
cada vez maior. Inicialmente, eles eram máquinas de 8 bits, mas logo apareceram de 16, 32
e 64 bits.
• O segundo avanço na tecnologia foi a invenção das redes locais. Estas redes permitiram a
conexão de dezenas ou até centenas de máquinas, de tal forma que pequenas quantidades
de informações pudessem ser transmitidas em um milisegundo.
O resultado da aplicação destas duas tecnologias é o fato de hoje ser muito fácil construir siste-
mas de computação compostos por um grande número de processadores, ligados através de redes de
alta velocidade. Tais sistemas são denominados Sistemas Distribuídos. Distribui-se a carga de trabalho
por todas as máquinas. Precisam de softwares radicalmente diversos daqueles que rodam em siste-
mas centralizados.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

199
Ambiente Operacional II
3.3. Vantagens dos sistemas distribuídos sobre os centralizados
Economia: é mais barato comprar vários processadores baratos do que comprar um único pro-
cessador mais potente. Os microprocessadores oferecem uma melhor relação preço/performance do
que a oferecida pelos Mainframes. Além disso, a velocidade de processamento pode até aumentar.
Vários processadores = Maior poder de processamento.
Aplicações distribuídas: algumas aplicações necessitam ter suas próprias máquinas e seus
próprios processadores. Conectando-se todos os processadores, temos um sistema distribuído. Por
exemplo: automação industrial que controla robôs e máquinas, sendo necessário que cada um tenha
seu próprio processador. Outro exemplo é o sistema bancário.
Alta confiabilidade: nos sistemas distribuídos, a queda de um simples processador vai derrubar,
no máximo, uma única máquina, deixando intacto todo o restante do sistema. Por exemplo: se 10%
das máquinas de um sistema distribuído estiverem com defeito em um determinado momento, o sis-
tema estará trabalhando com uma performance 10% menor.
Crescimento incremental: em um sistema distribuído, sempre é possível adicionar mais pro-
cessadores ao sistema, permitindo que ele seja expandido gradualmente, conforme a necessidade. O
que não ocorre nos sistemas centralizados (Maiframe); se a carga de trabalho aumentar, ou a empresa
compra uma máquina maior ou compra uma segunda máquina.

3.4. Vantagens dos sistemas distribuídos sobre os PC’s independentes


Compartilhamento de dados: permite que mais de um usuário acesse uma base de dados co-
mum.
Compartilhamento de dispositivos: permite que mais de um usuário tenha acesso a periféricos
muito caros, tais como impressoras laser.
Comunicação: torna muito mais simples a comunicação pessoa a pessoa, por exemplo empre-
gando o correio eletrônico.
Flexibilidade: espalha a carga de trabalho por todas as máquinas disponíveis ao longo da rede.

3.5. Desvantagens dos sistemas distribuídos


Software: até o presente momento, não há muita disponibilidade de software para os sistemas
distribuídos.
Ligação em rede (rede de comunicação): existe a possibilidade de que sejam perdidas mensa-
gens na rede, o que obriga a utilização de um software especial para fazer a manipulação das men-
sagens. Outro aspecto relativo às redes é a possibilidade de uma saturação de tráfego gerado pelo
intercâmbio de mensagens. Tais problemas podem representar uma despesa adicional com novos
equipamentos/softwares.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

200
Ambiente Operacional II
Segurança: qualquer sistema que esteja interligado através de uma rede está correndo o risco
de acessos indevidos.

3.6. Hardware dos sistemas distribuídos


O Hardware dos sistemas distribuídos se divide em dois grupos:
• Multiprocessadores: possuem memória compartilhada; um único espaço de endereçamen-
to virtual compartilhado por todos os processadores. Tendem a ser Fortemente Acoplados,
ou seja, o retardo ocasionado pelo envio de uma mensagem de uma máquina para outra é
baixo e a velocidade de transmissão é alta.
• Multicomputadores: não possuem memória compartilhada; cada máquina possui seu pró-
prio espaço de endereçamento. Tendem a ser Fracamente Acoplados, ou seja, o retardo
ocasionado pelo envio de mensagens é alto e a velocidade de transmissão é baixa.

4. ARQUITETURA CLIENTE/SERVIDOR

A arquitetura de sistemas Cliente/Servidor é composta de diversos computadores, com duas


funções básicas:
• Servidor: fornece serviços aos usuários do sistema.
• Cliente: permite aos usuários o acesso a esses serviços.
Ela define uma divisão de responsabilidades entre aquele que se propõe a ser cliente e aquele
que se propõe a ser servidor.
Os clientes se encarregam de fazer os pedidos especiais ao servidor e, quando atendidos, devem
dar seqüência ao processamento de forma a garantir o correto funcionamento da aplicação.
Já o servidor deve atender aos diversos clientes e garantir, sobretudo, a segurança e a integrida-
de dos dados que estão sob sua guarda. Desta forma não é justo dar maior valor a um do que a outro.
Ambos precisam trabalhar em perfeita harmonia.
Podemos dividir os componentes de uma Arquitetura de Sistemas Cliente-Servidor nos seguin-
tes grupos:
• Sistemas Operacionais.
• Aplicações Servidoras.
• Aplicações Clientes.
• Hardware.
• Sistemas.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

201
Ambiente Operacional II
4.1. Sistemas Operacionais
Constituem o ambiente operacional dos computadores que compõem o sistema. Os principais
S.O. utilizados para a arquitetura Cliente/Servidor são:
Para servidores:
Windows NT Server( Microsoft ); Windows 2000 Server; Windows 2003/2008/2012 Server; Unix
( IBM, HP); Netware ( Novell ), Linux.
Para clientes:
DOS; Windows NT Workstation; Windows 9X; Windows XP; Windows Vista;
Windows 7; Windows 8; Unix ( IBM, HP) Linux.

4.2. Aplicações Servidoras


As aplicações servidoras são a base para a implementação dos Sistemas Cliente-Servidor. As
principais categorias são:
• SGBD`S (Sistemas gerenciadores de Banco de Dados): são responsáveis por gerenciar o
acesso às informações dos sistemas da empresa, observando aspectos como: segurança,
integridade, performance, etc. É a aplicação mais crítica dentro da Arquitetura de Cliente-
-Servidor. Exemplos: Oracle, SyBase, Informix, Ingres, SQLBase, etc.
• Sistemas de gerenciamento de Arquivos e Impressão: responsáveis pelo compartilhamen-
to de recursos de armazenamento em disco rígido (ou outra mídia especial que suporte
grande volume de dados) e impressão. Em geral, acompanham o Sistema Operacional dos
Servidores.
• Sistemas de gerenciamento de Comunicação: permitem o acesso de usuários a informa-
ções/sistemas situados remotamente ou em plataformas diferentes (exemplo: acesso a
uma rede SNA).
• Sistemas de gerenciamento de E-mail (Correio eletrônico): coordena a troca de mensagens
entre os usuários de uma rede. O conceito de e-mail evoluiu para o chamado “workgroup
computing”: o foco muda de troca de mensagens para fluxo de informações. Estas infor-
mações podem ser desde mensagens do e-mail até agendas “coletivas” e trânsito de docu-
mentos gerados por várias áreas, com diversos níveis de aprovação. Tudo isso de maneira
eletrônica, com pouca ou nenhuma geração de papeis.

4.3. Aplicações Clientes


Ferramentas de Desenvolvimento de Sistemas: são os geradores dos Sistemas da Empresa (cor-
porativos ou departamentais), fazendo a parte entre os usuários e os SGBD’s. Além do tradicional
Cobol e das linguagens de 4ª geração, existem hoje diversas ferramentas de desenvolvimento para
ambiente gráfico. Exemplos: SQL Windows, Power Builder, Oracle Tools, etc. Na arquitetura de Siste-
mas Cliente-Servidor, é comum oferecer parte destas ferramentas a alguns usuários.
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

202
Ambiente Operacional II
Ferramentas de Consulta a Banco de Dados: permitem aos usuários consultar as informações
da empresa, oferecendo-as para outras formas de apresentação (gráficos, relatórios, mala direta,
etc.). Exemplos: Quest, Forest&Tree, gerenciadores de banco de dados para micro, etc.
Ferramentas de Apresentação e Análise de Informações: nesta categoria, se inserem as apli-
cações “típicas” dos PC’s (planilhas, editores gráficos, editores de apresentação, pacotes estatísticos,
etc.).
Sistemas Corporativos: constituem os sistemas desenvolvidos no âmbito da empresa como um
todo, utilizando-se dos sistemas e ferramentas citadas.

4.4. Hardware
O hardware deve suprir a capacidade de processamento e de comunicação, de acordo com per-
formance e flexibilidade exigidos pelo Sistema. O hardware pode ser dividido nos seguintes grupos:
• Equipamentos de processamento: microcomputadores, workstations, notebooks, etc.
• Periféricos de entrada e saída: scanners, placas de som e vídeo, impressoras, etc.
• Periféricos de armazenamento: discos ópticos, fitas DAT, ZIPdriver, etc.
• Equipamentos de comunicação que viabilizam a interligação entre os equipamentos de
processamento e de periféricos: consiste de placas de rede e hubs no âmbito de LAN’s, ro-
teadores, placas multiseriais, servidores de acesso remoto, suportando diversos protocolos
no âmbito das WAN’s.
Juntamente com a Arquitetura de Cliente/Servidor, surgem tecnologias como as alternativas de
Home Office e Remote Office. Uma empresa pode ter funcionários trabalhando em casa (parte do seu
tempo total), ou mesmo funcionários situados em locais distantes (em caráter provisório ou perma-
nente).
Cliente/Servidor já é uma realidade. Porém, não é um objetivo “estático” a ser alcançado, mas
sim uma arquitetura que está em constante evolução, acompanhado os avanços tecnológicos de har-
dware, software e comunicação de dados.

4.5. Arquitetura TCP / IP


Conjunto de protocolos projetados para redes de sistemas heterogêneos.
Iniciou-se em 1969, por solicitação do Departamento de Defesa dos EUA – ARPA (Advanced Re-
search Project Agency), com o objetivo de se ter uma rede interligando várias universidades e órgãos
do governo de maneira descentralizada (ARPANET), para evitar a sua destruição no caso de ocorrência
de uma guerra.
Com o passar do tempo, esta idéia inicial perdeu o sentido e a infraestrutura foi aproveitada
para se tornar o que hoje é a maior rede de computadores do mundo: a Internet.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

203
Ambiente Operacional II
Os padrões da Internet não são criados por órgãos internacionais de padronização, como a ISO
ou o IEEE.
O corpo técnico que coordena a elaboração de protocolo e padrões da internet é o IAB (Internet
Activity Board).
Qualquer pessoa pode criar um protocolo para ser utilizado pela rede Internet. Para isto, basta
que ela documente este protocolo, através de um RFC (Request for Comments), que pode ser aces-
sado na Internet. Estes RFC’s são analisados pelos membros da IAB que poderão sugerir mudanças e
publicá-lo. Se, após seis meses da publicação, não houver nenhuma objeção, este protocolo se torna
um Internet Standard.
A arquitetura baseia-se principalmente em:
• um serviço de transporte orientado à conexão, fornecido pelo Transmission Control Proto-
col ( TCP );
• e um serviço de rede não-orientado à conexão, fornecido pelo Internet protocol (IP).
A arquitetura Internet TCP/IP dá uma ênfase toda especial à interligação de diferentes tecnolo-
gias de redes.
• Não existe tecnologia que atende a todos os usuários.
• Alguns precisam de altas velocidades.
• Outros se contentam com redes de baixa velocidade que conectam equipamentos distan-
tes.
• Desta forma, um número muito grande de tecnologias pode ser utilizado na sub-rede de
acesso, como Ethernet, Token Ring, FDDI, X.25, Frame Relay, ATM, etc.
Para interligar duas redes distintas é n’ecessário conectar uma máquina a ambas as redes, uti-
lizando-se os Gateways. Eles fazem as conversões de protocolos e precisam conhecer a topologia da
inter-rede para fazer o roteamento das mensagens.
Para os usuários é uma rede virtual única à qual todas as máquinas estão conectadas.
Os endereços IP são números com 32 bits, normalmente escritos como quatro octetos (em de-
cimal). A primeira parte do endereço identifica uma rede especificada na inter-rede, a segunda parte
identifica um host dentro dessa rede.
Devido ao fato de existirem redes dos mais variados tamanhos compondo a inter-rede, utiliza-se
o conceito de classes de endereçamento:
1. A classe A suporta até 128 redes com 16 milhões de hosts cada uma;
2. A classe B 16384 redes com até 64 mil hosts cada uma;
3. A classe C 2 milhões de redes com até 256 hosts cada uma;
4. As classes D e E estão reservados para uso futuro.
A Internet utiliza a classe C para endereçamento de suas redes e máquinas. Quando um novo
provedor de acesso se conecta a ela, ele recebe 256 endereços para serem utilizados pelos seus hosts

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

204
Ambiente Operacional II
(ou “usuários”). Como um provedor pode ter mais de 256 clientes, ele utiliza um esquema de alocação
dinâmica de IP, ou seja, quando o usuário se conecta ao provedor de acesso, ele recebe um endereço IP,
podendo desta forma haver até 256 usuários conectados simultaneamente a um provedor de acesso.
Máscara de Sub-Rede: separa o Endereço de Rede do Endereço do Computador e é usada para
criar sub-redes.

4.6. Redes Internas


A tabela abaixo representa a as faixas de IP´s liberados pelo IANA (Internet Assigned Numbers
Authority) que é uma organização responsável pela regulamentação do uso da Internet em todo o
mundo. A escolha da faixa de IP, para uso interno, deve ser baseada nas reservas abaixo. Informações
como a quantidade de hostes e futura expansão da rede são fundamentais na escolha da faixa de IP´s
pelo administrador de sistemas.

Redes Faixas de IPs Redes internas


Classe:
A 1.0.0.0 a 126.255.255.255 1 rede:
10.0.0.0 a 10.255.255.255
B 128.1.0.0 a 191.254.255.255 17 redes:
172.16.0.0 a 172.31.255.255 e
169.254.0.0 a 169.254.255.255
C 192.0.1.0 a 223.255.254.255 256 redes:
192.168.0.0 a 192.168.255.255

Tabela: Endereços usados pelas redes classes A, B e C e faixas reservadas para redes internas.

5. PREPARANDO A INSTALAÇÃO DO WINDOWS 2008 SERVER.

5.1. Procedimentos iniciais


5.1.1. Tenha em mãos a faixa de IP que será utilizado
Exemplo:
IP: 192.168.0.1 – Máscara de rede 255.255.255.0
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

205
Ambiente Operacional II
5.1.2. O nome do computador
Exemplo:
COMPSERVER01

5.1.3. O domínio do qual todas as estações de trabalho farão parte


Exemplo:
LABORATORIOREDES01.COM

5.1.4. Grupo de trabalho


Exemplo:
LABORATORIO
ATENÇÃO: é importante separar seus dados do SO - Sistema Operacional. Para isto, quando for
particionar o disco rígido, aloque, pelo menos, 5 GB para o SO. Este procedimento evitará que seus
dados sejam apagados, caso haja necessidade de reinstalar o SO. Este procedimento também melhora
o desempenho do sistema.

6. INSTALAÇÃO DO WINDOWS 2008 SERVER

6.1. Pontos a serem observados


O tipo de licença utilizado no servidor
• Por servidor: deverá ser informado o número de licenças clientes, ficando limitado às co-
nexões simultâneas ao servidor. Será necessário adquirir licenças para as estações de traba-
lho.
• Por usuário: é o mais utilizado nas empresas. Sem limite de conexões ao servidor.
Conta do administrador
• Deve ser utilizada uma senha complexa contendo números, símbolos e letras maiúsculas
e minúsculas. Esta senha deverá ser bem guardada, pois ela lhe dará amplos poderes na
administração do Servidor.
Placa de redes
• Como se trata de um Servidor, o protocolo padrão será o TCP/IP e o endereço IP deverá ser
configurado de forma fixa. Se estiver configurando o primeiro servidor da rede e o mesmo

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

206
Ambiente Operacional II
for escolhido como Servidor DNS, o campo “Servidor DNS preferencial” deverá ser preen-
chido com o valor 127.0.0.1, que corresponde ao endereço da placa de rede do próprio
computador ou com o endereço IP escolhido para o Servidor.

6.2. Configurações iniciais


Instalação dos Drivers
Muitos dispositivos de hardware de mercado são detectados automaticamente pelo Windows
2008 Server, mas pode ocorrer de ser necessária a instalação dos drivers fornecidos pelo fabricante
do equipamento. Os dispositivos instalados pelo SO deverão ser atualizados para melhor performance
e estabilidade.
Partições adicionais
É aconselhável que, após a instalação do SO, sejam criadas as partições necessárias na configu-
ração do tipo de Servidor em questão.
Devemos planejar e decidir a quantidade e o tamanho das partições a serem criadas, baseados
nas informações abaixo:
Se o servidor for utilizado como servidor de arquivos e impressão, uma partição de dados pode
ser criada para atender aos usuários e outra para atender aos departamentos.
Se o servidor for de aplicações e arquivos, procure criar duas partições de dados, sendo uma
dedicada aos dados da aplicação e a segunda, aos arquivos compartilhados.
Acesso remoto
O Windows 2008 Server possui um recurso de acesso remoto ao servidor através de uma es-
tação Windows XP ou de outro servidor da rede. Para isto, basta ter um usuário com privilégios de
administrador. Utilize uma senha forte para o usuário administrador por motivos de segurança. Para
configurar o serviço, basta acessar o Painel de controle em sistemas na guia remoto. Para acessar o
outro computador basta executar o programa Área de trabalho remota e informar o
nome ou endereço IP do servidor desejado.

7. CONCEITOS INICIAIS PARA ADMINISTRAÇÃO


DO WINDOWS 2008 SERVER

7.1. Estrutura do Active Directory no Windows 2008 Server.


O Active Directory (AD) é um serviço de diretório nas redes Windows 2000, 2003 e 2008. Serviço
de diretório é um conjunto de Atributos sobre recursos e serviços existentes na rede, isso significa
que é uma maneira de organizar e simplificar o acesso aos recursos de sua rede centralizando-os;
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

207
Ambiente Operacional II
bem como, reforçar a segurança e dar proteção aos objetos da database contra intrusos, ou controlar
acessos dos usuários internos da rede.
O Active Directory mantém dados como contas de usuários, impressoras, grupos, computado-
res, servidores, recursos de rede, etc. Ele pode ser totalmente escalonável, aumentando conforme a
nossa necessidade.
Esse serviço de diretório é composto por objetos, ou seja, todo recurso da nossa rede é repre-
sentado como um objeto no AD. Esses objetos possuem propriedades, o que são chamados de atribu-
tos dos objetos. A base de dados do AD é um arquivo chamado NTDS.dit, onde todos os recursos são
armazenados no mesmo.
As redes ativas do diretório podem variar desde uma instalação pequena, com cem objetos, a
uma instalação grande, com milhões de objetos. O Active Directory foi inspecionado em 1996 e usado
primeiramente com Windows 2000. Mais tarde, foi revisado para estender a sua funcionalidade e
melhorar a administração para uma nova versão.
Ao fornecer um diretório para uma rede de computadores, o Active Directory propicia:
• Estrutura de autenticação centralizada.
• Nível de segurança controlado.
• Capacidade de desenvolvimento e integração com sistemas internos.
• Interoperabilidade com outros diretórios.
• Tecnologia enxergando a empresa como ela é, mostrando cada impressora e computador
de um departamento, sua matriz e respectivas filiais.
• Administração centralizada do ambiente entregue nas estações de trabalho.

7.2. Conceito de objetos


Um objeto é a representação lógica de algum componente da rede e cada um com seus atribu-
tos.
Exemplo de objetos:
• Usuários.
• Impressoras.
• Contatos.
• Computadores.
• Grupos.
• Pastas compartilhadas

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

208
Ambiente Operacional II
7.3. Grupos
Os grupos são utilizados para unir objetos que possuem algo em comum em como, por exemplo,
os funcionários do setor de Recursos Humanos de uma empresa formam o grupo RH. A criação de
grupos facilita a definição de permissões, pois usuários de um mesmo grupo tendem a ter os mesmo
privilégios.
Exemplos de grupos:
• Segurança.
• Distribuição.
• Universais.
• Globais.
• Locais do domínio.

7.4. Unidades Organizacionais


Também conhecidas como OU, são recipientes que representam um conjunto de objetos quais-
quer. Por exemplo, uma filial pode ser representada por uma OU e dentro dela departamentos ineren-
tes aquela filial. Este tipo de objeto pode representar toda estrutura de TI da sua empresa.

Estrutura hierárquica a partir de unidades organizacionais.

7.5. Conceito de Domínio, Árvore de domínio e Floresta de domínio


Domínio: os domínios são unidades de replicação. Todos os controladores de domínio, em de-
terminado domínio, podem receber alterações e replicá-las em todos os outros controladores do do-
mínio. Cada domínio é identificado por um sistema de nomes de domínios (DNS) e requer um ou
mais controladores. Se a rede precisar de mais de um domínio, você poderá criar facilmente vários
domínios.
Arvore de Domínio: só crie uma nova árvore de domínio quando você tiver que criar um domí-
nio cujo espaço para nome do DNS não esteja relacionado aos outros domínios na floresta. Isso signifi-

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

209
Ambiente Operacional II
ca que o nome do domínio raiz da árvore (e todos os seus filhos) não precisa conter o nome completo
do domínio pai. Uma floresta pode conter uma ou mais árvores de domínio.
Os domínios em uma árvore têm em dois sentidos, relacionamentos “transitive” da confiança do
Kerberos. Um Kerberos que é confiança “transitive” significa simplesmente aquela se o domínio B das
confianças do domínio A e o domínio B confiarem no domínio C, então domínio A confia no domínio
C. Conseqüentemente, um domínio que junta uma árvore tem imediatamente os relacionamentos da
confiança estabelecidos com cada domínio na árvore.
Floresta de Domínio: uma floresta é uma coleção das árvores múltiplas que compartilham de
um catálogo global comum, de um “schema” do diretório, de uma estrutura lógica, e de uma configu-
ração do diretório. A floresta tem relacionamentos “transitive” em dois sentidos automáticos da con-
fiança. Muito o primeiro domínio que você cria na floresta é chamado o domínio da raiz da floresta.
As florestas permitem que as organizações agrupem suas divisões que usam o esquema nomeando
diferente, e podem necessitar operar-se independentemente. Mas como uma organização quer co-
municar-se com a organização inteira através das confianças “transitive”, e compartilham do mesmo
recipiente do “schema” e da configuração.

Representação de uma floresta de domínios.

ATENÇÃO: uma floresta fornece o limite para muitas das funções do Active Directory, como se-
gurança, convenções e catálogo global.

7.6. DNS – Resolução de nomes Windows 2008 Server na infra-estrutura de rede.


Por padrão, o DNS não é instalado durante a instalação do Windows Server 2008. Ao instalar o
Active Directory, tornando o servidor um DC - Controlador de domínio, o assistente do Active Direc-
tory precisa se comunicar com um servidor DNS que seja a autoridade para o domínio do qual fará
parte o DC. Se não for possível localizar um servidor DNS, o assistente do Active Directory instala o
DNS no servidor que está sendo promovido a DC. O DNS é instalado como um serviço e configurado

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

210
Ambiente Operacional II
para iniciar automaticamente. A maioria das tarefas de administração do DNS pode ser executada com
o console DNS, o qual é acessado através do menu Start -> Administrative Tools (Iniciar -> Ferramentas
Administrativas).

7.6.1. Para instalar o DNS


• Abra o Gerenciador do Servidor na Barra de Ferramentas do Windows.
• Escolha a opção “Funções e Adicionar Função”.
• Marque a caixa de seleção “Servidor DNS”.

Instalando o Serviço DNS.

ATENÇÃO: para efetuar este procedimento, é necessário ser membro do grupo Administradores
no computador local ou terá de lhe ter sido delegada a autoridade correta. Se o computador perten-
cer a um domínio, é possível que os membros do grupo Admins do Domínio consigam efetuar este
procedimento. Como procedimento recomendado de segurança, considere a utilização de “Executar
como” para efetuar este procedimento. Para mais informações, consulte Grupos locais predefinidos,
Default groups e Utilizar “Executar como”.
Para abrir o Assistente de Componentes do Windows, clique em Iniciar, clique em Painel de Con-
trole, dê um duplo clique em Adicionar ou Remover programas e, em seguida, clique em Adicionar/
Remover Componentes do Windows.
Alguns componentes do Windows têm que ser configurados antes de serem utilizados. Se insta-
lou um ou mais destes componentes, mas não os configurou, ao clicar em Adicionar/Remover Com-
ponentes do Windows, aparece uma lista dos componentes que precisam de ser configurados. Para
iniciar o Assistente de Componentes do Windows, clique em Componentes.
Recomenda-se que configure manualmente o computador para utilizar um endereço IP estático.
Se o servidor de DNS estiver configurado para utilizar os endereços dinâmicos, atribuídos por DHCP,
quando o servidor de DHCP atribuir um novo endereço IP ao servidor de DNS, os clientes de DNS

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

211
Ambiente Operacional II
configurados para utilizar esse endereço IP anterior do servidor de DNS não irão conseguir resolver o
endereço IP anterior e localizar o servidor de DNS.
Após a instalação de um servidor de DNS, pode-se decidir a forma como pretende administrar o
mesmo e as respectivas zonas. Apesar de poder utilizar um editor de texto para efetuar as alterações
nas opções das zonas do servidor, este método não é recomendado. A console de DNS e a ferramenta
da linha de comandos de DNS, dnscmd, simplificam a manutenção das opções e deve ser utilizada
sempre que for possível.
As zonas DNS armazenadas no Active Directory podem ser administradas utilizando apenas a
console de DNS ou a ferramenta da linha de comandos dnscmd. Não é possível administrar estas zo-
nas utilizando um editor de texto.
Se desinstalar um servidor de DNS que estiver hospedando as zonas integradas no Active Direc-
tory, estas zonas serão guardadas ou eliminadas de acordo com o tipo de armazenamento. Para todos
os tipos de armazenamento, os dados da zona são armazenados em outros controladores de domínio
ou servidores de DNS e não serão eliminados, a menos que o servidor de DNS que desinstalar seja o
último servidor de DNS que esteja a hospedar essa zona.
Se desinstalar um servidor de DNS que esteja hospedando zonas DNS padrão, os ficheiros das
zonas permanecem no diretório pastadosistema\system32\Dns, mas não serão recarregados se o ser-
vidor de DNS for instalado novamente. Se criar uma nova zona com o mesmo nome de uma zona
antiga, o ficheiro de zona antigo é substituído pelo novo ficheiro de zona.

7.7. DHCP, Dynamic Host Configuration Protocol


Nos dias de hoje, é importante se ter um serviço de DHCP instalado na sua empresa, pois com
o mercado de trabalho de informática crescendo cada vez mais, as empresas estão contratando mais
funcionários também, isso implica em se ter um controle maior dos usuários conectados a sua rede
física, ou seja, quanto melhor o gerenciamento, menos problemas os administradores de redes terão.
O DHCP, Dynamic Host Configuration Protocol, é um protocolo de serviço TCP/IP que oferece
configuração dinâmica de terminais, com concessão de endereços IP de host e outros parâmetros de
configuração para clientes de rede.
Resumidamente, o DHCP opera da seguinte forma:
• Um cliente envia um pacote broadcast (destinado a todas as máquinas) com um pedido
DHCP.
• Os servidores DHCP que capturarem este pacote irão responder com um pacote com confi-
gurações onde constará, pelo menos, um endereço IP, uma máscara de rede e outros dados
opcionais, como o gateway, servidores de DNS, etc.
• O DHCP usa um modelo cliente/servidor, no qual o servidor DHCP mantém o gerenciamen-
to centralizado dos endereços IP usados na rede.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

212
Ambiente Operacional II
No primeiro passo, iremos verificar se o serviço de DHCP já está instalado em seu servidor:
• Vá em Painel de Controle (Control Painel) > Adicionar ou Remover Programas (Add/Remo-
ve Programs) > Adicionar ou Remover Componentes do Windows (Add/Remove Windows
Componentes) > Serviços de Rede (Network Services).
• Verifique se o item, Protocolo de configuração dinâmica de hosts (DHCP) está ativado, caso
não esteja, ative e insira o CD de instalação do Windows no drive de CD-ROM, clique em OK
e depois Avançar. Isso instalará o serviço de DHCP no seu servidor.

7.7.1. Para instalar um servidor de DHCP


• Abra o Gerenciador do Servidor na Barra de Ferramentas do Windows.
• Escolha a opção “Funções e Adicionar Função”.
• Marque a caixa de seleção “Servidor DHCP”.

Instalando o Serviço DHCP.

OBSERVAÇÃO: os arquivos necessários são copiados para o disco rígido. Os servidores de DHCP
têm que ser configurados com um endereço IP estático.

7.8. Conceito de NetBIOS


NetBIOS é uma interface de programa que foi desenvolvida para permitir a comunicação entre
máquinas.
Nesta estrutura, foi implementado o conceito de nome de serviço, o que possibilita que uma
máquina conecte-se à rede reservando um nome para sua utilização. Não há um servidor central para

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

213
Ambiente Operacional II
tratar os nomes definidos e qualquer máquina pode utilizar quantos nomes deseje, desde que ele não
esteja em uso. Pode ser implementada em diferentes arquiteturas de rede.
Para endereçamento de pacotes simples, NetBIOS utiliza o endereço de hardware do adaptador
de rede. Ao contrário do IPX e endereços IP, não é possível obter informações de roteamento através
desta implementação, assim como pacotes NetBIOS não podem ser enviados através de um roteador,
reduzindo a rede à uma atuação local, que necessita de “bridges” e repetidores para possíveis expan-
sões.

7.9. Utilização de Servidores WINS


O WINS habilita a resolução de nomes NetBIOS. A presença de servidores WINS é crucial para lo-
calizar recursos de rede identificados com nomes NetBIOS. Servidores WINS são exigidos, a menos que
todos os domínios tenham sido atualizados para os serviços de diretório do Microsoft Active Directory,
todos os computadores da rede estejam executando o sistema operacional Microsoft Windows 2000
ou posterior e nenhum aplicativo dependa da resolução do WINS para funcionar adequadamente.
Os serviços de servidor WINS devem estar sendo executados para que um servidor WINS forne-
ça resolução de nomes a seus clientes. Usar uma diretiva de grupo para proteger e definir o modo de
inicialização de um serviço concede acesso apenas a administradores do servidor, evitando assim que
esse serviço seja configurado e operado por usuários não autorizados e mal-intencionados. A Diretiva
de Grupo também impedirá que administradores desabilitem inadvertidamente o serviço.

7.9.1. Configurando o servidor WINS


Para configurar o servidor WINS, inicie o Assistente para configurar o servidor seguindo um des-
tes procedimentos:
• Em Gerenciar o Servidor, clique em Adicionar ou remover uma função. Por padrão, Geren-
ciar o Servidor é iniciado automaticamente quando você faz logon. Para abrir Gerenciar o
Servidor, clique em Iniciar e em Painel de Controle, clique duas vezes em Ferramentas Ad-
ministrativas e, em seguida, clique duas vezes em Gerenciar o Servidor.
• Para abrir o Assistente para Configurar o Servidor, clique em Iniciar, em Painel de Controle,
clique duas vezes em Ferramentas Administrativas e, em seguida, em Assistente para Con-
figurar o Servidor.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

214
Ambiente Operacional II

8. IMPLEMENTANDO O ACTIVE DIRECTORY

8.1. Procedimentos para instalação do Active Directory


ATENÇÃO: o computador deverá estar conectado à rede através da placa de rede.
1 – Digite o comando DCPROMO na janela do menu executar. Selecione o botão “Seguinte”

Criando um novo domínio no Windows Server 2008

OBSERVAÇÃO: caso haja mais de um controlador de domínio na rede, a opção “controlador de


domínio para um domínio existente” deverá ser marcada, pois estamos criando um domínio novo.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

215
Ambiente Operacional II

Criando uma floresta no Windows Server 2008.

2 – Mantenha selecionada a opção “Domínio de uma nova Floresta”, pois estamos cirando uma
floresta da qual o domínio fará parte.
OBSERVAÇÃO: a opção criar um domínio filho ou uma nova árvore numa floresta já existente
será marcada, caso não seja o primeiro domínio.

Definindo o nome do domínio do Windows Server 2008.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

216
Ambiente Operacional II
3 – Informe o nome DNS completo para o domínio, por exemplo: cassio.com
Procure não utilizar o mesmo domínio Internet da empresa, por exemplo, cassio.com.br. Os
nomes diferentes permitem que você identifique o que é recurso interno e o que é recurso externo.

Definindo o nome NetBIOS do domínio.

Deixe com padrão o nome NetBIOS que aparecer na caixa de diálogo. O nome será utilizado por
usuários de versões anteriores do Windows, para identificar o novo domínio.
4 – Defina o nível funcional da Floresta
Em caso de possuir outro controlador de domínio com verão inferior ao 2008 Server.

Definindo o nível funcional da Floresta

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

217
Ambiente Operacional II
5 – Instalar o DNS e o Catálogo Global do controlado de comínio.
Selecione o servidor DNS e o Catálogo global.

DNS

O diagnóstico do DNS será executado e os resultados serão exibidos. Observe que o domínio
criado anteriormente, cassio.com, foi detectado, mas muitas registros necessários para o funciona-

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

218
Ambiente Operacional II
mento do Active Directory não foram encontrados. Neste caso, selecione a opção “Sim” neste compu-
tador e definir este computador para usar o servidor DNS como seu servidor DNS preferencial.
6 – Localização das bases de dados do AD.

Local do banco de dados do Active Directory.

Você pode manter o caminho padrão, somente em caso de domínio com muitos objetos, algo
em terno de 500 usuários, é recomendado alterar este caminho para uma partição deferente da utili-
zada pelo sistema, por uma questão de desempenho.
Mantenha o caminho padrão. A referida pasta compartilha e seu conteúdo replicado em todos
os controladores de domínio. A partição escolhida para o arquivo deverá ser NTFS.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

219
Ambiente Operacional II
7 – Definindo uma senha para o modo de restauração.

Definindo uma senha para o modo de restauração.

Defina uma senha para modo de restauração do AD. Se seu sistema apresentar problemas ao ini-
cializar o AD, você deve iniciar o sistema no modo de restauração. Essa senha será solicitada, portanto
insira uma senha e documente a mesma.
ATENÇÃO: o ideal é que pelo menos dois controladores de domínios estejam em operação numa
rede, pois desta forma a carga é balanceada e o serviço de autenticação é mantido, mesmo que um
dos servidores fique indisponível. Para criar um segundo controlador de domínio basta instalar o Win-
dows 2008 Server em outro computador apontando como servidor DNS o primeiro servidor. Execute
o DCPROMO e utilize a opção “Criar um controlador de domínio adicional para um domínio existente”.
Após a criação do novo controlador de domínio o AD será replicado para o mesmo.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

220
Ambiente Operacional II

Após o resumo a instalação ficará completa e o servidor será reinicializado.

8.2. Gerenciando o Active Directory


8.2.1. Procedimentos iniciais para cadastrar usuários
Antes de cadastrar os usuários de sua rede, faça um planejamento observando o seguinte:
Política de nomes para o domínio
• Defina uma política de nomes para o domínio. Normalmente, o nome de exibição é forma-
do pelo primeiro nome, a inicial do segundo nome, e o sobrenome do usuário. Já o nome
de logon deve seguir um padrão utilizando-se a primeira letra do nome seguido do sobre-
nome. Em caso de nomes repetidos, utilizar as duas primeiras letras do primeiro nome.
Exemplo:
Usuário: Carlos A. Brito
Logon: cbrito
Exemplo com nome repetido
Usuário: Carlos D. Brito
Logon: cabrito
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

221
Ambiente Operacional II
O exemplo acima foi utilizado para ilustrar um caso, onde a formação do logon do usuário ge-
raria certo constrangimento ao mesmo. Quando isto ocorrer, mude a regra usando na composição, o
primeiro nome e o segundo nome.
Exemplo:
Usuário: Carlos D. Brito
Logon: carlos.brito

8.2.2. Partição de disco


É importante termos definido uma partição no disco do servidor de arquivos, para os usuários
guardarem seus dados. Caso ainda não tenha realizado esse procedimento, o momento é agora, pois
ao criarmos os usuários teremos que fazer um apontamento para referida unidade.
O Windows 2008 Server possui um recurso para gerenciar o disco, que pode ser usado, para rea-
lizar a tarefa de criação, particionamento e formatação de disco rígido, basta acessar em Ferramentas
Administrativas, Gerenciamento do computador, Gerenciamento de disco.

Gerenciamento de disco.

8.2.3. Conta para Administrador


Inicialmente vamos criar uma conta para o administrador da rede, porque é recomendado não

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

222
Ambiente Operacional II
utilizarmos a conta “Administrador”, durante o dia-a-dia administrativo. Devido ao poder de gerencia-
mento do mesmo, a segurança da rede pode ficar comprometida. Aproveite as configurações da conta
de Administrador criado no momento da instalação do Windows, copiando os grupos de acesso para
dar o mesmo poder administrativo para o seu novo usuário.

Sugestão para criação de um usuário administrador.

Grupos de trabalho do Administrador a serem copiados para o usuário Admin.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

223
Ambiente Operacional II
8.2.4. Políticas de senhas
Por segurança, o Windows 2008 Server implementa como padrão uma política a nível do domí-
nio, que deve ser utilizada na configuração de políticas de senhas e direitos de usuários, conhecida
como senha forte ou complexa. Este recurso deverá ser configurado conforme as necessidades de sua
empresa. Por exemplo, tem agências bancárias que exigem que os seus correntistas, ao acessarem um
terminal de atendimento, digitem sua senha com pelo menos quatro caracteres alfanuméricos e, em
outras agências, já exigem 8 caracteres, podendo ser somente números e ainda verifica se a senha é
muito fácil de sem descoberta, como por exemplo uma data.

Para acessar a configuração de senha, siga os passos a abaixo:


1. Abra o Gerenciamento de diretiva de grupo clicando no Menu Iniciar – Ferramentas Admi-
nistrativas – Gerenciamento de Diretiva de Grupos

2. Click em Default Domain Policy com o botão direito do mouse e click em Editar

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

224
Ambiente Operacional II
3. Click em Configurações do computador e expanda Diretivas — Configurações do Windows –
Configurações de Segurança – Diretivas de conta e click sobre diretivas de senha. No painel
da direita altere os itens necessários tais como comprimento da senha, tempo de vida míni-
mo e máximo da senha, etc. Após isso feche o Gerenciamento de Diretiva de grupo clicando
no X

4. Precisamos ainda alterar as políticas locais. Para tanto click no Menu Iniciar e na parte de
busca do Windows digite gpedit.msc e pressione Enter

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

225
Ambiente Operacional II
5. Com o Editor de Diretiva de grupo Local aberto expanda Configurações do Windows – Con-
figurações de Segurança – Diretivas de conta e click sobre diretivas de senha e no painel da
direita refaça as mesmas alterações do item 3 desse tutorial.
Obs. Caso não consiga fazer alterações na diretiva local, é necessário abrir o prompt de co-
mando do Windows e digitar gpupdate/force e pressionar Enter para que as alterações na
política do domínio entrem em vigor.

6. Feche o editor de Diretiva de Grupo Local clicando no X.

8.2.5. Conta de usuários


Em Usuários e configuração do Active Directory, clique com o botão direito do mouse e selecio-
ne Novo > Usuário

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

226
Ambiente Operacional II
1 - Nesta janela digite o nome do usuário e logon, conforme regras já estabelecida previamente.

Ferramentas Usuários e computadores do Active Directory.

2 - Escolha uma senha padrão de forma que o usuário, ao fazer o primeiro logon, possa ele mes-
mo alterar a senha predefinida. Marque a opção “O usuário deve alterar a senha no próximo logon”.
OBSERVAÇÃO: logo após o usuário fizer o primeiro logon e alterar a senha, a propriedade da
conta será alterada automaticamente pelo sistema para “A senha nunca expira”.
ATENÇÃO: quando houver a necessidade de apenas criar uma conta, mas não permitir o seu uso
neste momento, pode habilitar a opção “A conta está desativada”.

8.2.6. Perfil do usuário


Outra guia importante, na configuração de um usuário de domínio, é o perfil. Nesta guia pode-
mos configurar onde salvar as configurações personalizadas de um usuário, quando o mesmo acessar
o domínio através de um terminal com o SO Windows XP. É importante lembrar que, ao escolher essa
opção, implicará em tráfego de dados na rede, podendo comprometer o desempenho ao “logar” no
domínio. Caso a opção não seja configurada, as informações com o perfil do usuário serão salvas na
própria estação de trabalho.
Para que, toda vez que o usuário conectar-se ao domínio, a sua pasta, contendo seus arquivos
em um Servidor de Arquivos, seja mapeada no Explorer automaticamente, basta informar uma unida-
de e uma pasta base.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

227
Ambiente Operacional II
Também é possível criar um arquivo de lote do tipo login.bat, contendo uma seqüência de co-
mandos que realizará tarefas como verificação da existência de um antivírus no computador e instala-
ção do mesmo, mapear unidades de disco e acertar o relógio do computador.
Exemplo de arquivo de lote:
net time \\compserver /set /y
net use u: /home
net use g: \\compserver\grupos
net use s: \\compserver\soft
net use t: \\compserver\tmp
net use p: \\compserver\Publico
net use v: \\compantivirus\caeav71
v:\eav71-av.bat
exit

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

228
Ambiente Operacional II
8.2.7. Conta
Algumas restrições podem ser aplicadas às contas de usuário, caso haja necessidade de um
maior controle. Como por exemplo:
• restringir um horário de acesso à rede;
• restringir o acesso a um determinado computador;
• determinar uma data para o vencimento da conta;
• determinar que o usuário altere a senha ao “logar’,
• a senha nunca expira;
• o usuário não pode alterar a senha;
• desbloquear uma conta, no caso do usuário fazer um número de tentativas de acertar a
senha, superior à determinada nas políticas de senhas.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

229
Ambiente Operacional II

9. COMPARTILHAMENTO DE ARQUIVOS E IMPRESSORAS

9.1. Sistema de arquivos NTFS


Este sistema foi utilizado pela primeira vez no Windows NT 3.1 . O tamanho mínimo da partição
NTFS é de 10 e o máximo é de 6 exabytes.
Os benefícios de se utilizar uma partição NTFS são as seguintes:
• Podemos aplicar as permissões tanto para pasta quanto para arquivos.
• Os arquivos armazenados podem ser comprimidos, aumentando espaço em disco.
• O sistema faz o log de todas as alterações de arquivos, tornando fácil a sua recuperação.
• Através do sistema POSIX (Portable Operating System Interface for Unix), o NTFS suporta o
padrão de nomes do UNIX.
• Permite EFS (Encripting File System) como proteção de arquivos.
• A cota em disco limita o tamanho do espaço em disco a ser utilizado por um usuário.
• Para trabalharmos com compartilhamento de pastas, teremos que observar dois momen-
tos. O primeiro é no momento do compartilhamento de uma pasta. Ao fazermos este pro-
cedimento, teremos que dar permissões aos usuários desejados, para que possam ter as
permissões de controle total ou alteração ou leitura daquela pasta. Este procedimento so-
mente fornece uma segurança básica do compartilhamento de pastas e não sendo aplica-
das em arquivos. No segundo momento, utilizaremos o compartilhamento NTFS que per-
mite um controle de forma mais detalhada aplicadas diretamente em cada pasta e seus
respectivos arquivos.
Ao utilizarmos permissões de compartilhamento e permissões NTFS, a permissão resultante é a
mais restritiva entre elas.

9.1.1. Herança em NTFS


Funciona deixando que as permissões definidas em uma unidade de disco, sejam passadas para
as pastas que serão criadas logo na raiz daquela unidade e suas subpastas.
As heranças podem ser removidas permitindo flexibilidade nas autorizações de acesso as pastas
ou arquivos.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

230
Ambiente Operacional II

10. COLOCANDO UMA ESTAÇÃO WINXP NO DOMÍNIO

Após o servidor ser configurado com os serviços necessários para funcionar como controlador
de domínio da rede, precisaremos fazer com que as estações de trabalho tornem-se membros do
domínio criado. Para isso, deveremos configurar as estações de trabalho WinXP da seguinte forma:
• Certifique-se de que o computador esteja conectado na mesma rede que o Servidor.
• Na estação WinXP, acessar as propriedades do Meu Computador, clicar na guia Nome do
Computador.

Propriedades do Sistema.

Clique em alterar e, logo em seguida, escolha Membro de Domínio e digite o nome do domínio
a ser ingressado e clique em OK.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

231
Ambiente Operacional II

Colocando o computador no domínio.

• Pronto, o seu computador já está no domínio. É só desfrutar de todos os benefícios da rede.


• Caso o procedimento dê errado, verifique se o servidor, ou seu computador está realmente
em rede ou se os serviços de DHCP e DNS estão ativos no servidor. Certifique-se de que você
tem credencias para inserir computadores no domínio como o administrador da rede.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

232
Ambiente Operacional II

11. REMOVENDO O AD

Digitar “DCPROMO” na caixa de execução de comandos do Windows e seguir as telas abaixo.


Tela 1.

Tela 2.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

233
Ambiente Operacional II
Tela 3.

Tela 4.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

234
Ambiente Operacional II
Tela 5.

EXERCÍCIOS 1

1) Qual é a função do DNS na estrutura de rede?

2) Uma rede baseada em protocolo TCP/IP funciona sem DNS? Justifique sua Resposta.

3) Relaciones algumas funções do DHCP.

4) Desenhe uma topologia para uma rede Cliente/Servidor e relacione pelo menos 5 serviços dispo-
níveis para essa rede.

5) Qual é a função do IIS na rede?

6) Qual estrutura RAID deveria ser implementada para garantir uma alta disponibilidade das infor-
mações na rede de uma empresa?

7) Quais são as credenciais do usuário administrador de domínio.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

235
Ambiente Operacional II
8) Faça uma comparação entre o Windows 2008 Server e Windows 2012 Server. Indique as diferen-
ças e os pontos positivos na evolução da versão.

9) Como funciona o Sistema de Virtualização do Windows 2012 Server.

10) Para se implementar uma estrutura Cliente/Servidor é preciso traçar uma estratégia, observando-
-se vários pontos no projeto como: dimensionamento de recursos, licenças e de uso de softwares
e distribuição de serviços nos computadores tipo servidores, quantos servidores seriam necessá-
rios para uma rede de 500 usuários e etc.

Com base na sua estratégia, descreva em poucas palavras, quais seriam os passos a serem segui-
dos na elaboração de uma plataforma Cliente/Servidor.

EXERCÍCIO 2

Pesquise sobre os assuntos abaixo:

1) Conceito de Domínio, Árvore de domínio e Floresta de domínio.

2) DNS – Resolução de nomes Windows 2008 Server na infraestrutura de rede. (Explicar e descrever
quais os passos para instalação).

3) DHCP – Distribuição de IP´s na Rede (Descrever sua função e quais são os passos para instalação).

4) Estrutura do Active Directory no Windows 2008 R2 Server.

5) IIS – Internet Information Services (Conceituar e demonstrar seu funcionamento)

6) Partição FAT/NTFS.

7) Conceito de NetBIOS.

8) Raid de discos.

9) Sistemas de Virtualização. (Conceituar e dar exemplos de softwares para virtualização)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

236
Ambiente Operacional II

EXERCÍCIO 3

1) Explique o que é Internet e suas origens.

2) Cite os tipos de acessos a Internet.

3) Cite os principais serviços na Internet.

4) Cite e explique os principais conceitos da Internet.

5) No que consiste um sistema centralizado.

6) No que consiste um sistema distribuído.

7) Quais as vantagens do sistema distribuído sobre o centralizado?

8) Explique o que é um sistema distribuído com multiprocessadores e com multicomputadores.

9) Explique como funciona uma arquitetura Cliente-Sevidor.

10) Cite e explique três componentes de uma arquitetura Cliente-Sevidor.

11) Qual é a função do IIS?

12) Descreva os passos para criar publicar uma página na Internet com o IIS.

13) Qual é a função do DHCP?

14) O IIS funciona sem o DNS instalado. Justifique sua resposta.

15) Quantos servidores DNS raiz existem e quais as suas finalidades.

16) Como funciona o esquema de dicas de raiz do servidor DNS?

17) Cite os passos para se publicar uma página na Internet?

18) Como você vê o futuro da Computação nas Nuvens? Dê sua opinião.

19) Cite os principais serviços a serem instalados em servidores para uma rede funcionar.

20) Qual é a importância do Backup para os Sistemas de Informações?

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

237
Ambiente Operacional II
21) Quais os tipos de dados devem ser agendados em uma programação de backup.

22) Crie uma tabela que demonstre um agendamento de backup para o período de um ano. Essa pro-
gramação deverá oferecer o mínimo de segurança para os dados de uma empresa.

EXERCÍCIO 4

1 - Fazer as especificações técnicas para os servidores abaixo:


• Montar uma estrutura de servidores de redes para uma empresa de pequeno porte (Servidor do
tipo gabinete). Exemplo: informar memória, processado, disco, etc.
• Montar uma estrutura de servidores de redes para uma empresa de médio porte (Servidor para
montar em Rack).
• Montar uma estrutura de servidores de redes para uma empresa de grande porte (Servidor do
tipo Blade).
Informações:
Funções dos servidores: DHCP, DNS, Autenticação, Arquivos, impressão, Aplicações, SGDB, Internet.

3 - Questionamentos:
• Mostre como serão distribuídas as funções acima, para os servidores.
• Quantos servidores serão comprados?
• Qual é o valor de cada servidor?
• Informa qual versão de Sistema Operacional foi escolhido e discriminar os valores de mercado.
• Porque a Microsoft usa o sistema de (CAL - Client Access License)?
• Informar o valor das licenças de acesso aos servidores pelas estações de trbalho (CAL - Client Ac-
cess License) para mil usuários.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

238
Ambiente Operacional II

REFERÊNCIAS

TRAINING 2020 Cursos de Informática. Apostila de Redes Windows98/XP 2000 Server. Belo Horizonte,
2007.

BADDINI, Francisco Carlos. Windows Server 2003 em Português – Implementação e administração.


São Paulo: Ética, 2003.

WINDOWS SERVER TECHCENTER. Windows 2008 Server. Disponível em http://technet.microsoft.


com/pt-br/windowsserver/bb310558. Acesso em 17/12/2013 às 18:00.

UTRAMIG, Fundação de Educação para o Trabalho de Minas Gerais. Apostila Ambiente Operacional
III. Belo Horizonte: CINTER – Centro Tecnológico Interescolar 2002.

APOSTILANDO. Colégio e Faculdade Kennedy – Redes de Computadores. Disponível em http://www.


apostilando.com/pagina.php?cod=1. Acesso em 10/10/2007 às 15:10.

GOMES Cleper. Conhecendo o TCPIP. Disponível em http://www.apostilando.com/pagina.php?cod=1.


Acesso em 10/10/2007 às 12:20.

Shapiro Jeffrey R. Windows Server 2008 a Bíblia. July 2008.

http://engdanielsantos.wordpress.com/2010/03/01/alterando-as-politicas-de-senha-do-domin-
io-no-windows-server-2008/. Acesso em 21/12/2013 às 18:20.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

239
Curso Técnico em

INFORMÁTICA
Etapa 2

Projeto de Qualidade
de Sistemas de Informação
Projeto de Qualidade de Sistemas de Informação

SUMÁRIO

1. Introdução...................................................................................................................................245
1.1 Análise e Especificação de Requisitos................................................................................245
1.2 O Papel do Analista de Sistemas........................................................................................246

PARTE I – ESPECIFICAÇÃO DE REQUISITOS.....................................................................................248


2. Técnicas de Levantamento de Requisitos....................................................................................248
2.1 Amostragem.......................................................................................................................248
2.1.1 O Processo da Amostragem....................................................................................248
2.2 Investigação........................................................................................................................249
2.2.1 Análise de Documentos Quantitativos....................................................................249
2.2.2. Análise de Documentos Qualitativos.....................................................................250
2.3 Entrevistas..........................................................................................................................250
2.3.1. O Processo de uma Entrevista................................................................................251
2.3.2 Tipos de Questões...................................................................................................251
2.3.3 Problemas na Elaboração de Questões...................................................................253
2.3.4. Registro da Entrevista.............................................................................................253
2.3.5 Condução da Entrevista...........................................................................................254
2.3.6 Relatório da Entrevista............................................................................................254
2.4 Prototipação.......................................................................................................................254
2.4.1 Abordagens para a Prototipação.............................................................................255
2.4.2 Decidindo quando e que tipo de Prototipação usar...............................................255
2.4.3. Diretrizes para o Desenvolvimento de um Protótipo.............................................255
2.4.4 Usuários na Prototipação........................................................................................256
2.4.5 Problemas da Prototipação.....................................................................................256
2.4.6. Vantagens da Prototipação....................................................................................256
3. Modelagem de Casos de Uso......................................................................................................256
3.1 Casos de Uso......................................................................................................................257
3.2 Diagramas de Casos de Uso...............................................................................................258

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

243
Projeto de Qualidade de Sistemas de Informação
3.3 Descrição de Casos de Uso.................................................................................................260
PARTE II – ANÁLISE ORIENTADA A OBJETOS..................................................................................262
4. Introdução à Orientação a Objetos.............................................................................................262
4.1 Abordagem Estruturada x Abordagem Orientada a Objetos.............................................262
4.1.1 Métodos Estruturados.............................................................................................262
4.1.2 Métodos Orientados a Objetos...............................................................................263
4.2 Conceitos da Orientação a Objetos....................................................................................265
4.2.1 Abstração................................................................................................................265
4.2.2 Encapsulamento......................................................................................................266
4.2.3 Modularidade..........................................................................................................267
4.2.4 Hierarquia.......................................................................................................................267
4.3 O Processo de Desenvolvimento Orientado a Objetos......................................................267
PARTE III – ANÁLISE ESSENCIAL DE SISTEMAS...............................................................................271
5. Introdução à Análise Essencial....................................................................................................271
5.1 Conceitos............................................................................................................................272
5.1.1 Tecnologia Perfeita..................................................................................................273
5.1.2 Requisito Verdadeiro e Requisito Falso...................................................................274
5.1.3 Evento e Resposta...................................................................................................274
5.1.4 Atividades Essenciais...............................................................................................275
5.1.5 Memória Essencial..................................................................................................275
5.2 Especificação da Essência do Sistema................................................................................276
5.2.1 O Modelo Ambiental...............................................................................................277
5.2.2 O Modelo Comportamental....................................................................................277
6. Modelagem de Dados.................................................................................................................279
6.1 Conceitos Básicos...............................................................................................................280
6.2 Restrições de Integridade ou Leis de Consolidação...........................................................283
6.2.1 Restrições de Integridade em Relacionamentos.....................................................283
6.2.2 Tipos de Relacionamentos......................................................................................284
Referências do Capítulo:..................................................................................................................285

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

244
Projeto de Qualidade de Sistemas de Informação

1. INTRODUÇÃO

O desenvolvimento de software é uma atividade de crescente importância na sociedade con-


temporânea. A utilização de computadores nas mais diversas áreas do conhecimento humano tem
gerado uma crescente demanda por soluções computadorizadas.
É importante observar que, associada ao acréscimo da demanda, a evolução do hardware tem
sido mais acentuadas, disponibilizando aos usuários máquinas cada vez mais velozes e com maior
capacidade de processamento.
Neste contexto, identificou-se, já na década de 70, uma situação crítica no desenvolvimento de
software, a chamada Crise do Software [Pressman00], caracterizada pelos seguintes fatos:
• Demanda muito superior à capacidade de desenvolvimento;
• Qualidade insuficiente dos produtos; e
• Estimativas de custo e tempo raramente cumpridas nos projetos.
Visando melhorar a qualidade dos produtos de software e aumentar a produtividade no proces-
so de desenvolvimento, surgiu a área de pesquisa denominada Engenharia de Software. A Engenharia
de Software busca organizar esforços no desenvolvimento de ferramentas, metodologias e ambientes
de suporte ao desenvolvimento de software.
Dentre as principais atividades de um processo de desenvolvimento de software, destaca-se a
atividade de análise e especificação de requisitos, na qual os requisitos de um sistema são levantados
e modelados, para só então ser projetada e implementada uma solução. Esta atividade é o objeto de
estudo deste texto.

1.1 Análise e Especificação de Requisitos


Um completo entendimento dos requisitos do software é essencial para o sucesso de um es-
forço de desenvolvimento de software. A atividade de análise e especificação de requisitos é um pro-
cesso de descoberta, refinamento, modelagem e especificação. O escopo do software definido no
planejamento do projeto é refinado em detalhe, as funções e o desempenho do software são espe-
cificados, as interfaces com outros sistemas são indicadas e restrições que o software deve atender
são estabelecidas. Modelos dos dados requeridos, do controle e do comportamento operacional são
construídos. Finalmente, critérios para a avaliação da qualidade em atividades subsequentes são es-
tabelecidos.
Os principais profissionais envolvidos nesta atividade são o engenheiro de software (muitas ve-
zes chamado analista) e o cliente / usuário.
Neste texto, dividiremos a atividade de Análise e Especificação de Requisitos em duas outras
com propósitos mais específicos, ainda que extremamente relacionadas:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

245
Projeto de Qualidade de Sistemas de Informação
• Elicitação de Requisitos: nesta atividade, os requisitos são capturados sob uma perspectiva
dos usuários, isto é, os modelos gerados procuram definir as funcionalidades (requisitos
funcionais) e restrições (requisitos não funcionais) que devem ser consideradas para aten-
der às necessidades dos usuários;
• Análise: nesta atividade, são modeladas as estruturas internas de um sistema capazes de
satisfazer os requisitos identificados.
A etapa de Elicitação de Requisitos (ou Especificação de Requisitos) é independente de paradig-
ma, uma vez que trata os requisitos do sistema sob uma perspectiva externa. Entretanto, a atividade
de Análise, que modela as estruturas internas de um sistema, é completamente dependente do para-
digma adotado no desenvolvimento. Assim, este texto é dividido em três partes:
• PARTE I - ESPECIFICAÇÃO DE REQUISITOS: trata do levantamento e da modelagem dos re-
quisitos segundo uma perspectiva externa, independente de paradigma. Nesta parte, são
discutidas técnicas para levantamento de requisitos e a técnica de modelagem de casos de
uso, para modelagem dos requisitos funcionais de um sistema.
• PARTE II - ANÁLISE ORIENTADA A OBJETOS: apresenta os principais conceitos da orientação
a objetos e a linguagem de modelagem unificada (UML) e explora a modelagem de análise
segundo o paradigma de objetos.
• PARTE III - ANÁLISE ESSENCIAL DE SISTEMAS: apresenta os principais conceitos da análise
essencial e discute a modelagem de análise segundo o método da análise essencial, que
adota o paradigma estruturado.

1.2 O Papel do Analista de Sistemas


O Analista De Sistemas Desempenha Um Papel Crítico Numa Organização. A informação e os
sistemas que a fornecem estão entre os recursos mais valiosos de uma organização. Os sistemas de
informação são projetados para assegurar a coordenação e controle das funções organizacionais cada
vez mais diversas. O analista de sistemas desempenha um papel chave na realização deste objetivo.
Um analista de sistemas eficaz pode preencher essa falha entre o especialista em informática
e o usuário. Entretanto, para fazer isso, seu repertório de conhecimentos deveria incluir habilidades
conceituais pertinentes às organizações, tomada de decisão, comportamento humano e sistemas de
informação.
O analista de sistemas tem que possuir, mais ainda, habilidades técnicas em análise de sistemas
e habilidades em comunicações oral e escrita.
O trabalho do Analista de Sistemas não é fácil. Ele tem de ser capaz de lidar, ao mesmo tempo,
com um grupo de usuários, outros profissionais de informática e um corpo administrativo (gerentes/
diretores). Cada qual trazendo informações, pontos de vistas, vivências, experiências e maturidades
totalmente distintas.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

246
Projeto de Qualidade de Sistemas de Informação

Os usuários, ou estarão preocupados em dinamizar seu serviço, tornando-o automático e extre-


mamente rápido, aumentando a confiabilidade de resultados, ou ainda, estarão com medo da infor-
mação, às vezes, até obstruindo o trabalho do Analista de Sistemas.
O pessoal técnico estará se preocupado com aspectos de performance, bits, bytes, estruturas de
dados, técnicas de randomização, topologia de hardware e diversidade de recursos.
Por fim, na administração, tem-se aqueles que só querem saber do retorno sobre o investimen-
to e a proporção custo/benefício, lembrando a cada momento, que aquilo que você estará fazendo,
era necessário para ontem.
Para uma boa atuação como Analista de Sistemas, é conveniente observar algumas diretrizes de
conduta, que servirão para facilitar seu trabalho:
• Procure ser aceito profissionalmente, do nível mais alto ao mais baixo da empresa.
• Tente entender o que o usuário “quer dizer” e não o que “você pensa” que ele quer dizer.
• Escute muito primeiro, fale muito pouco depois.
• Sempre esteja familiarizado com os últimos progressos da tecnologia da informação e com-
preenda como aplica-los na sua empresa.
• Seja capaz de explicar conceitos complexos em termos simplificados.
• Não se esconda em jargão da informática, fale a linguagem da empresa.
• Conheça a área de negócio para a qual desenvolverá sistemas, passando boa parte do tem-
po com seu usuário.
• Sugira soluções de inovadoras aos requisitos de informação e desenvolva com clareza, ana-
lisando sempre a relação custo / benefício, utilizando alternativas viáveis.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

247
Projeto de Qualidade de Sistemas de Informação

PARTE I – ESPECIFICAÇÃO DE REQUISITOS


2. TÉCNICAS DE LEVANTAMENTO DE REQUISITOS

Em todo desenvolvimento de software, um aspecto fundamental é a captura dos requisitos dos


usuários. Para apoiar este trabalho, diversas técnicas podem ser utilizadas.

2.1 Amostragem
Em um levantamento de requisitos, geralmente um engenheiro de software se depara com duas
importantes questões:
• Entre os muitos relatórios, formulários e documentos gerados pelos membros de uma orga-
nização, quais deverão ser objeto de investigação?
• Pode haver um grande número de pessoas afetadas pelo sistema de informação proposto.
Quais delas devem ser entrevistadas, observadas ou questionadas?
Servindo de base para todas as técnicas de levantamento de requisitos, entre elas investigação,
entrevistas e observação, estão as decisões cruciais dizendo respeito a o que examinar e quem ques-
tionar ou observar. Estas decisões podem ser apoiadas por uma abordagem estruturada chamada
amostragem.
Amostragem é o processo de seleção sistemática de elementos representativos de uma popu-
lação. Quando os elementos selecionados em uma amostragem são analisados, pode-se assumir que
esta análise revelará informações úteis acerca da população como um todo.
Por que usar amostragem?
• Diminuir custos;
• Acelerar o processo de levantamento de informações;
• Eficiência: a informação tende a ser mais apurada, já que menos elementos podem ser ana-
lisados, mas estes podem ser analisados com mais detalhes;
• Reduzir tendências.

2.1.1 O Processo da Amostragem


Há quatro passos que um engenheiro de software deve seguir para projetar uma boa amostra:
1. Determinar os dados a serem coletados ou descritos: Definir o que coletar e para que, isto
é, que tipo de técnica de levantamento de informação será usado depois. Coletar dados
irrelevantes representa perda de tempo.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

248
Projeto de Qualidade de Sistemas de Informação
2. Determinar a população a ser amostrada (o que / quem): No caso de documentos, definir
quais documentos investigar e de que período / intervalo. No caso de pessoas, estabelecer
a que nível da organização pertence ou se são pessoas de fora.
3. Escolher o tipo da amostra.
4. Decidir sobre o tamanho da amostra.
Os dois primeiros passos dizem respeito ao contexto do desenvolvimento. Os dois últimos refe-
rem-se à técnica de amostragem propriamente dita.

2.2 Investigação
Muitas vezes, algumas informações são difíceis de serem obtidas através de entrevistas ou ob-
servação. Tais informações revelam, tipicamente, um histórico da organização e sua direção. Nestes
casos, devemos utilizar investigação, isto é, análise de documentos.
Através de investigação, podemos obter mais facilmente informações, tais como tipos de docu-
mentos e problemas associados, informação financeira e contextos da organização. Tais informações
são difíceis de serem obtidas através de outras técnicas de levantamento de requisitos, tais como
entrevistas ou observação.

2.2.1 Análise de Documentos Quantitativos


Documentos com formato pré-determinado, tais como relatórios e formulários, trazem informa-
ções muito úteis a um engenheiro de software. Estes documentos têm um propósito específico e um
público-alvo.
Relatórios de desempenho, por exemplo, podem mostrar metas de uma organização, a distância
em relação à meta e a tendência atual. Relatórios usados no processo de tomada de decisão mostram
informações compiladas e podem incorporar algum conhecimento sobre a estratégia da organização.
Fichas (registros) proveem atualizações periódicas do que está ocorrendo no negócio. Um en-
genheiro de software pode inspecionar uma ficha para: (i) checar erros em quantidades e totais, (ii)
procurar oportunidades de melhorar o desenho da ficha, (iii) observar número e tipos de transações
e (iv) procurar instâncias onde a introdução de um sistema computadorizado pode simplificar o tra-
balho (cálculos, por exemplo).
Formulários, assim como fichas, são muito úteis para o levantamento de requisitos. Devem ser
inspecionados tanto formulários oficiais quanto não oficiais em uso. Exemplares de formulários em
branco devem ser coletados, procurando-se observar o tipo, propósito e o público alvo. Deve-se, ain-
da, verificar quem realmente recebe o formulário.
Ao se examinar formulários preenchidos, observar se: (i) há itens não preenchidos, (ii) há for-
mulários nunca usados, (iii) há formulários não oficiais usados regularmente e (iv) os formulários são
preenchidos pelas pessoas certas.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

249
Projeto de Qualidade de Sistemas de Informação
Na investigação de formulários preenchidos, é possível detectar problemas como: (i) a informa-
ção não flui como planejado, (ii) pontos de gargalo no processamento de formulários, (iii) trabalho
duplicado desnecessariamente, e (iv) falta de visão do fluxo global da informação, isto é, porque um
formulário é preenchido e quem o utilizará.

2.2.2. Análise de Documentos Qualitativos


Documentos sem formato pré-determinado, tais como memorandos, quadros de aviso e manu-
ais, também são úteis para o levantamento de requisitos, uma vez que mostram como os membros de
uma organização são engajados nos processos da mesma.
A análise de documentos qualitativos deve envolver as seguintes tarefas:
• Examinar documentos para identificar como os elementos da organização são referencia-
dos e, assim, conhecer a organização.
• Identificar disputas (entre departamentos ou com outras empresas) e, assim, conhecer a
política da organização.
• Identificar termos que aparecem repetidamente em documentos e caracterizem o que é
“bom” ou “ruim” para a organização.
• Reconhecer a existência de senso de humor nos documentos, o que pode indicar o tipo dos
membros da organização (por exemplo, conservadores).
Ao analisar memorandos (inclusive os eletrônicos), dê preferência àqueles enviados para toda
a organização. Observe quem enviou e quem recebeu. Memorandos, tipicamente fluem horizontal-
mente ou de cima para baixo e proveem uma ideia clara de valores, crenças e atitudes dos membros
da organização.
Na investigação de sinais e quadros de aviso, procure por indícios que apontem a cultura da
organização. Ex: Segurança em 1o Lugar.
Finalmente, ao analisar manuais e políticas organizacionais, procure identificar como as coisas
devem funcionar, como as metas estratégicas da organização devem ser atingidas e verifique se estes
passos estão sendo seguidos ou não.
Tanto na análise de dados qualitativos quanto de dados quantitativos, procure observar não só
os documentos correntes, mas também documentos arquivados.

2.3 Entrevistas
Uma entrevista de levantamento de informações é uma conversa direcionada com um propósito
específico, que utiliza um formato “pergunta-resposta”. Os objetivos de uma entrevista incluem:
• Obter as opiniões do entrevistado, o que ajuda na descoberta dos problemas-chave a serem
tratados;
• Conhecer os sentimentos do entrevistado sobre o estado corrente do sistema;

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

250
Projeto de Qualidade de Sistemas de Informação
• Obter metas organizacionais e pessoais; e
• Levantar procedimentos informais.

2.3.1. O Processo de uma Entrevista


Em uma entrevista, o engenheiro de software está, provavelmente, estabelecendo um relacio-
namento com uma pessoa estranha a ele. Assim, é importante que ele:
• Construa, rapidamente, uma base de confiança e entendimento;
• Mantenha o controle da entrevista;
• Venda a “ideia do sistema”, provendo ao entrevistado as informações necessárias.
Uma entrevista envolve as seguintes etapas principais: planejamento, condução e elaboração
de um relatório da entrevista.
O planejamento de uma entrevista envolve os seguintes passos:
1. Estudar material existente sobre os entrevistados e suas organizações. Procure dar aten-
ção especial à linguagem usada pelos membros da organização, procurando estabelecer um
vocabulário comum a ser usado na elaboração das questões da entrevista. Este passo visa,
sobretudo, otimizar o tempo despendido nas entrevistas, evitando-se perguntar questões
básicas e gerais.
2. Estabelecer objetivos. De maneira geral, há algumas áreas sobre as quais um engenheiro de
software desejará fazer perguntas relativas ao processamento de informação e ao compor-
tamento na tomada de decisão, tais como fontes de informação, formatos da informação,
frequência na tomada de decisão, estilo da tomada de decisão, etc.
3. Decidir quem entrevistar. É importante incluir na lista de entrevistados pessoas chave de
todos os níveis da organização afetados pelo sistema. A pessoa de contato na organização
pode ajudar nesta seleção. Quando necessário, use amostragem.
4. Preparar a entrevista. Uma entrevista deve ser marcada com antecedência e deve ter uma
duração entre 45 minutos e uma hora.
5. Decidir sobre os tipos de questões e a estrutura da entrevista. O uso de técnicas apropria-
das de questionamento é o “coração” de uma entrevista.
6. Decidir como registrar a entrevista. Entrevistas devem ser registradas para que informa-
ções obtidas não sejam perdidas logo em seguida. Os meios mais naturais de se registrar
uma entrevista incluem anotações e o uso de gravador.

2.3.2 Tipos de Questões


Questões podem ser de três tipos básicos:
• Questões subjetivas: permitem respostas “abertas”. Ex: O que você acha de ...? Explique
como você ...?

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

251
Projeto de Qualidade de Sistemas de Informação
Vantagens:
• Proveem riqueza de detalhes.
• Revelam novos questionamentos.
• Colocam o entrevistado a vontade.
• Permitem maior espontaneidade.
Desvantagens:
• Podem resultar em muitos detalhes irrelevantes.
• Perda do controle da entrevista.
• Respostas muito longas para se obter pouca informação útil.
• Podem dar a impressão de que o entrevistador está perdido, sem objetivo.
• Questões objetivas: limitam as respostas possíveis. Ex: Quantos ...? Quem ...? Quanto tem-
po ...? Qual das seguintes informações ...?
Vantagens:
• Ganho de tempo, uma vez que vão direto ao ponto em questão.
• Mantêm o controle da entrevista.
• Levam a dados relevantes.
Desvantagens:
• Podem ser maçantes para o entrevistado.
• Podem falhar na obtenção de detalhes importantes.
• Não constroem uma afinidade entre entrevistador e entrevistado.
• Questões de aprofundamento: permitem explorar os detalhes de uma questão. Podem ser
subjetivas ou objetivas. Ex: Por que? Você poderia dar um exemplo? Como isto acontece?

Subjetivas Objetivas
Confiabilidade dos dados Baixa Alta
Uso eficiente do tempo Baixo Alto
Precisão dos dados Baixa Alta
Amplitude e profundidade Alta Baixa
Habilidade requerida do entrevistador Alta Baixa
Facilidade de análise Baixa Alta

Tabela 2.1 – Quadro Comparativo Questões Objetivas x Subjetivas

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

252
Projeto de Qualidade de Sistemas de Informação
2.3.3 Problemas na Elaboração de Questões
• Questões capciosas: tendem a levar o entrevistado a responder de uma forma específica,
isto é, são tendenciosas.
Ex: Sobre este assunto, você está de acordo com os outros diretores, não está? Opção mais
adequada: O que você pensa sobre este assunto?
• Duas questões em uma: O entrevistado pode responder a apenas uma delas, ou pode se
confundir em relação à pergunta que está respondendo. Ex: O que você faz nesta situação
e como?

2.3.4. Registro da Entrevista


É importante registrar os principais aspectos de uma entrevista durante a sua realização. No
planejamento, deve-se definir como isto será feito. Há duas formas principais, cujas vantagens e des-
vantagens são apresentadas a seguir:
• Gravador: requer a permissão do entrevistado.
Vantagens:
• Registro completo da entrevista.
• Rapidez e melhor desenvolvimento.
• Reprodução para outros membros da equipe.
Desvantagens:
• Pode deixar o entrevistado pouco a vontade.
• Pode deixar o entrevistador distraído.
• Pode haver necessidade de transcrever a fita.
• Anotações
Vantagens:
• Mantém o entrevistador alerta.
• Pode ser usado para fornecer um roteiro para a entrevista.
• Mostra interesse e preparação do entrevistador.
Desvantagens:
• Perda do andamento da conversa.
• Excessiva atenção a fatos e pouca a sentimentos e opiniões.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

253
Projeto de Qualidade de Sistemas de Informação
2.3.5 Condução da Entrevista
• Um dia antes, entre em contato com o entrevistado para confirmar o horário e o local da
entrevista.
• Chegue um pouco antes do horário marcado.
• Apresente-se e esboce brevemente os objetivos da entrevista.
• Relembre o entrevistado de que você estará registrando pontos importantes. Se for usar
gravador, coloque-o em local visível.
• Diga ao entrevistado o que será feito com as informações coletadas e reassegure seu aspec-
to confidencial.
• A entrevista deve durar entre 45 minutos e uma hora.
• Quando estiver incerto sobre uma questão, peça para o entrevistado dar definições ou ou-
tros esclarecimentos. Use questões de aprofundamento.
• Ao término da entrevista, pergunte se há algo mais sobre o assunto que o entrevistado ache
importante você saber.
• Faça um resumo da entrevista e dê suas impressões globais.
• Informe o entrevistado sobre os passos seguintes.
• Pergunte se há outra pessoa com a qual você deveria conversar.
• Quando for o caso, marque nova entrevista.

2.3.6 Relatório da Entrevista


O relatório ou ata da entrevista deve capturar a essência da entrevista. Escreva o relatório tão
rápido quanto possível para assegurar qualidade.
Registre entrevistado, entrevistador, data, assunto e objetivos. Diga se os objetivos foram alcan-
çados e aponte objetivos para entrevistas futuras. Registre, ainda, os pontos principais da entrevista
e sua opinião.

2.4 Prototipação
A prototipação é uma técnica valiosa para se obter rapidamente informações específicas sobre
requisitos de informação do usuário. Tipicamente, a prototipação permite capturar os seguintes tipos
de informação:
• Reações iniciais do usuário: Como o usuário se sente em relação ao sistema em desen-
volvimento? Reações ao protótipo podem ser obtidas através da observação, entrevistas,
questionário ou relatório de avaliação.
• Sugestões do usuário para refinar ou alterar o protótipo: guiam o engenheiro de software
na direção de melhor atender as necessidades dos usuários.
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

254
Projeto de Qualidade de Sistemas de Informação
• Inovações: novas capacidades, não imaginadas antes da interação com o protótipo.
• Informações para revisão de planos: estabelecer prioridades e redirecionar planos.

2.4.1 Abordagens para a Prototipação


• Protótipo não-operacional: apenas as interfaces de entrada e saída são implementadas; o
processamento propriamente dito não. É útil para avaliar certos aspectos do sistema quan-
do a codificação requerida pela aplicação é custosa e a noção básica do que é o sistema
pode ser transmitida pela análise de suas entradas e saídas.
• Protótipo “arranjado às pressas”: o protótipo possui toda a funcionalidade do sistema fi-
nal, mas não foi construído com o devido cuidado e, portanto, sua qualidade e desempenho
são deficientes.
• Protótipo “primeiro de uma série”: um sistema piloto é desenvolvido para ser avaliado
antes de ser distribuído. Útil quando o sistema será implantado em vários locais diferentes.
• Protótipo de características selecionadas: apenas parte das características do sistema final
são implementadas. O sistema vai sendo construído em partes: cada protótipo aprovado
passa a ser um módulo do sistema.

2.4.2 Decidindo quando e que tipo de Prototipação usar


Considerar:
• Tipo do problema a ser resolvido (domínio do problema, tipo do sistema).
• Solução a ser apresentada pelo sistema (tecnologia a ser empregada – domínio da solução).
• Novidade (em termos de tecnologia e do domínio do problema).
• Complexidade (considerar clareza dos requisitos e tamanho do sistema).

2.4.3. Diretrizes para o Desenvolvimento de um Protótipo


Trabalhe com módulos gerenciáveis: para fins de prototipação não é necessário e muitas vezes,
nem desejável, construir um sistema completo.
Construa o protótipo rapidamente: a construção de um protótipo na fase de análise e especifi-
cação de requisitos não pode consumir tempo em demasia, caso contrário perde sua finalidade. Para
acelerar a construção, use ferramentas adequadas.
Modifique o protótipo em iterações sucessivas: o protótipo deve ser alterado em direção às
necessidades do usuário. Cada modificação requer uma nova avaliação.
Enfatize a interface com o usuário: as interfaces do protótipo devem permitir que o usuário in-
teraja facilmente com o sistema. Um mínimo de treinamento deve ser requerido. Sistemas interativos
com interfaces gráficas são muito indicados à prototipação.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

255
Projeto de Qualidade de Sistemas de Informação
2.4.4 Usuários na Prototipação
Usuários são fundamentais na prototipação. Para capturar as reações dos usuários em relação
ao protótipo, outras técnicas de levantamento de informação devem ser usadas em conjunto. Durante
a experimentação do usuário com o protótipo, utiliza-se a observação. Para capturar opiniões e suges-
tões, podem ser empregados, além da observação, entrevistas e questionários.

2.4.5 Problemas da Prototipação


Gerência do projeto: Normalmente, várias iterações são necessárias para se refinar um protóti-
po. Sob esta ótica, surge uma importante questão: quando parar? Se esta questão não for tratada com
cuidado, a prototipação pode se estender indefinidamente. É importante, pois, delinear e seguir um
plano para coletar, analisar e interpretar as informações de realimentação do usuário.
Considerar o protótipo como sendo o sistema final: a qualidade pode não ter sido apropriada-
mente considerada.

2.4.6. Vantagens da Prototipação


• Permite alterar o sistema mais cedo no desenvolvimento, adequando-o mais de perto às
necessidades do usuário (menor custo de uma alteração).
• Permite descartar um sistema quando este se mostrar inadequado (protótipo de viabilida-
de).
• Possibilidade de desenvolver um sistema que atenda mais de perto as necessidades e ex-
pectativas dos usuários. Permite uma interação com o usuário ao longo de todo o ciclo de
vida do desenvolvimento.

Referências do Capítulo:
[Kendall92] K.E. Kendall, J.E. Kendall; Systems Analysis and Design, Prentice Hall, 1992.

3. MODELAGEM DE CASOS DE USO

Quando um novo sistema precisa ser construído, surge uma importante questão: Como caracte-
rizar os requisitos do sistema de um modo adequado para a Engenharia de Software, uma vez que, é
necessário identificar quais os objetos/entidades relevantes, como eles se relacionam e como se com-
portam no contexto do sistema. Além disso, é preciso especificar e modelar o problema de maneira
que seja possível criar um projeto efetivo.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

256
Projeto de Qualidade de Sistemas de Informação
O desenvolvimento de sistemas é um processo de construção de modelos, que tipicamente co-
meça com um modelo de requisitos e termina com um modelo de implementação (código). Modelos
de objetos (diagramas de classes, diagramas de interação, etc...) e modelos estruturados (diagramas
de entidades e relacionamentos, diagramas de fluxo de dados, etc...) incluem detalhes, tais como,
a estrutura interna dos objetos/entidades, suas associações, como eles interagem dinamicamente
e como invocam o comportamento dos demais. Estas informações são necessárias para projetar e
construir um sistema, mas não são suficientes para comunicar requisitos. Elas não capturam o conhe-
cimento sobre as tarefas do domínio e, portanto, é difícil verificar se um modelo deste tipo realmente
corresponde ao sistema que tem de ser construído [Jacobson96].
Assim, o primeiro modelo do sistema a ser construído deve ser passível de compreensão tanto
por desenvolvedores - analistas, projetistas, programadores e testadores - como pela comunidade
usuária - clientes e usuários. Modelos estruturados e de objetos são muito complexos e, portanto,
não servem para este propósito. Este modelo inicial deve descrever o sistema, seu ambiente e como
sistema e ambiente estão relacionados. Em outras palavras, ele deve descrever o sistema segundo
uma perspectiva externa.
Modelos de caso de uso (use cases) são uma forma de estruturar esta visão externa. Como o
próprio nome sugere, um caso de uso é uma maneira de usar o sistema. Usuários interagem com o
sistema, interagindo com seus casos de uso. Tomados em conjunto, os casos de uso de um sistema
representam tudo que os usuários podem fazer com este sistema. Casos de uso são os “itens” que um
desenvolvedor vende a seus clientes.
Em suma, o processo de desenvolvimento de software começa pelo entendimento de como o
sistema será usado. Uma vez que as maneiras de usar o sistema tenham sido definidas, a modelagem
pode, então, ser iniciada.

3.1 Casos de Uso


Nenhum sistema computacional existe isoladamente. Todo sistema interage com atores huma-
nos ou outros sistemas, que utilizam esse sistema para algum propósito e esperam que o sistema se
comporte de acordo com as maneiras previstas. Um caso de uso especifica um comportamento de um
sistema segundo uma perspectiva externa e é uma descrição de um conjunto de sequências de ações
realizadas pelo sistema para produzir um resultado de valor observável por um ator [Booch00].
Em essência, um caso de uso (use case) é uma interação típica entre um ator (usuário humano,
outro sistema computacional ou um dispositivo) e um sistema. Um caso de uso captura alguma função
visível ao ator e, em especial, busca atingir uma meta do usuário [Fowler97].
Os casos de uso fornecem uma maneira para os desenvolvedores chegarem a uma compreensão
comum com os usuários finais do sistema e com os especialistas do domínio. Além disso, servem para
ajudar a validar e verificar o sistema à medida que ele evolui durante seu desenvolvimento.
Casos de uso têm dois importantes papéis:
1. Eles capturam os requisitos funcionais de um sistema. Um modelo de caso de uso define
o comportamento de um sistema (e a informação associada) através de um conjunto de ca-
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

257
Projeto de Qualidade de Sistemas de Informação
sos de uso. O ambiente do sistema é definido pela descrição dos diferentes usuários. Estes
usuários utilizam o sistema através de um número de casos de uso.
2. Eles oferecem uma abordagem para a modelagem de sistemas. Para gerenciar a complexi-
dade de sistemas reais, é comum apresentar os modelos do sistema em um número de di-
ferentes visões. Em uma abordagem guiada por casos de uso, pode-se construir uma visão
para cada caso de uso, isto é, em cada visão são modelados apenas aqueles elementos que
participam de um caso de uso específico. Um particular elemento pode, é claro, participar
de vários casos de uso. Isto significa que um modelo do sistema completo só é visto através
de um conjunto de visões – uma por caso de uso. Encontram-se todas as responsabilidades
de um elemento de modelo, olhando todos os casos de uso onde este tem um papel.
Além de ser uma ferramenta essencial na captura dos requisitos de um sistema, casos de uso
têm um papel fundamental no planejamento e controle de projetos iterativos.
A captura dos casos de uso é a primeira atividade a ser realizada no desenvolvimento, propria-
mente dito. A maioria dos casos de uso é normalmente gerada durante a fase de levantamento de
requisitos, mas outros casos de uso podem ser descobertos à medida que o trabalho prossegue. Todo
caso de uso é um requisito potencial e, enquanto um requisito não é capturado, não é possível plane-
jar como tratá-lo.
Usualmente, em primeiro lugar, casos de uso são listados e discutidos, para só então, se realizar
alguma modelagem. Entretanto, em alguns casos, a modelagem conceitual ajuda a descobrir casos de
uso.
Um caso de uso pode ser capturado através de conversas com usuários típicos, discutindo as
várias coisas que eles querem fazer com o sistema. Cada uma dessas interações discretas constitui um
caso de uso. Dê a ela um nome e escreva uma descrição textual pequena. Não tente capturar todos os
detalhes de um caso de uso logo no início.
Os objetivos do usuário podem ser o ponto de partida para a elaboração dos casos de uso.
Proponha um caso de uso para satisfazer cada um dos objetivos do usuário. A partir deles, estude as
possíveis interações do usuário com o sistema e refine o modelo de casos de uso.

3.2 Diagramas de Casos de Uso


Diagramas de casos de uso especificam as funcionalidades que um sistema tem de oferecer,
segundo diferentes perspectivas dos usuários. Basicamente, um diagrama de casos de uso apresenta
dois elementos: os atores e os casos de uso. Um ator é um papel que um usuário, outro sistema ou
dispositivo desempenha com respeito ao sistema. Uma associação entre um ator e um caso de uso
significa que estímulos podem ser enviados entre atores e casos de uso. Os atores poderão estar co-
nectados aos casos de uso somente por meio de associações. A associação entre um ator e um caso de
uso indica que o ator e o caso de uso se comunicam entre si, cada um com a possibilidade de enviar e
receber mensagens [Booch00].

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

258
Projeto de Qualidade de Sistemas de Informação
A figura 3.1 mostra a notação básica da Linguagem de Modelagem Unificada – UML [Booch00]
para diagramas de casos de uso.

Figura 3.1 - Notação Básica da UML para Modelos de Caso de Uso

Um ator modela qualquer coisa que precise interagir com o sistema, tais como usuários e outros
sistemas que se comunicam com o sistema em questão. Atores são externos ao sistema; os casos de
uso comportam os elementos de modelo que residem dentro do sistema. Assim, ao se definir frontei-
ras entre atores e casos de uso, está-se delimitando o escopo do sistema. Por estarem fora do sistema,
atores estão fora do controle de nossas ferramentas de modelagem e não precisam ser descritos em
detalhes. Atores representam tudo que tem necessidade de trocar informação com o sistema. Nada
mais externo ao sistema deve ter impacto sobre o sistema.
É importante realçar a diferença entre ator e usuário. Um usuário é uma pessoa que utiliza o
sistema, enquanto um ator representa um papel específico que um usuário pode desempenhar. Vários
usuários em uma organização podem interagir com o sistema da mesma forma e, portanto, desempe-
nham o mesmo papel. Um ator representa exatamente um certo papel que diversos usuários podem
desempenhar. Assim, atores podem ser pensados como classes, isto é, descrições de um comporta-
mento, enquanto usuários podem desempenhar diversos papéis e, assim, servir como instâncias de
diferentes classes de atores. Ao lidar com atores, é importante pensar em termos de papéis ao invés
de usuários. Um bom ponto de partida para a identificação de atores é verificar por que o sistema
deve ser desenvolvido, procurando observar que atores o sistema se propõe a ajudar.
Quando um ator interage com o sistema, normalmente, ele realiza uma sequência comporta-
mentalmente relacionada de ações em um diálogo com o sistema. Tal sequência compreende um caso
de uso. Um caso de uso é, de fato, uma maneira específica de utilizar o sistema, através da execução
de alguma parte de sua funcionalidade. Cada caso de uso constitui um curso completo de eventos
com um ator e especifica a interação que acontece entre o ator e o sistema. O conjunto de todas as
descrições de casos de uso especifica todas as maneiras de se usar o sistema e, consequentemente,
a sua funcionalidade completa.
Uma boa fonte para identificar casos de uso são os eventos externos. Pense sobre todos os
eventos do mundo externo para os quais o sistema deve reagir. Identificar estes eventos pode ajudá-lo
a identificar os casos de uso.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

259
Projeto de Qualidade de Sistemas de Informação
Para sistemas grandes, pode ser difícil propor uma lista de casos de uso. Nestas situações, é mais
fácil chegar primeiro a uma lista de atores e tentar elaborar os casos de uso para cada ator. Para cada
curso completo de eventos com um ator, um caso de uso é identificado.
Qualquer que seja a abordagem utilizada, devemos sempre identificar os atores de um caso de
uso, descobrir qual é o objetivo real do usuário e considerar modos alternativos de satisfazer estes
objetivos.

3.3 Descrição de Casos de Uso


Um caso de uso deve descrever o que um sistema faz. Geralmente, um diagrama de casos de uso
é insuficiente para este propósito. Assim, deve-se especificar o comportamento de um caso de uso
pela descrição textual de seu fluxo de eventos, de modo que alguém de fora possa compreendê-lo. Ao
escrever o fluxo de eventos, deve-se incluir como e quando o caso de uso inicia e termina, quando o
caso de uso interage com os atores e outros casos de uso e quais são as informações transferidas e o
fluxo básico e fluxos alternativos do comportamento [Booch00].
Uma vez que o conjunto inicial de casos de uso estiver estabilizado, cada um deles deve ser des-
crito em mais detalhes. Primeiro, deve-se descrever o fluxo de eventos principal (ou curso básico), isto
é, o curso de eventos mais importante, que normalmente ocorre. Variantes do curso básico de even-
tos e erros que possam vir a ocorrer devem ser descritos em cursos alternativos. Normalmente, um
caso de uso possui apenas um único curso básico, mas diversos cursos alternativos. Tomemos como
exemplo, um caixa automático de banco, cujo diagrama de casos de uso é mostrado na figura 3.2.

Figura 3.2 - Exemplo de um modelo de caso de uso

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

260
Projeto de Qualidade de Sistemas de Informação
O caso de uso Efetuar Saque poderia ser descrito da seguinte maneira:
Fluxo de Eventos Principal
Uma mensagem de saudação está sendo mostrada na tela. O cliente insere seu cartão no caixa
automático, que lê o código da tarja magnética e checa se ele é aceitável.
Se o cartão é aceitável, o caixa pede ao cliente para informar a senha e fica aguardando até que
ela seja informada.
O cliente informa a senha. Se a senha estiver correta, o caixa solicita que o cliente informe o tipo
de transação e fica aguardando.
O cliente seleciona a opção saque. O caixa mostra uma tela para que seja informada a quantia.
O cliente informa a quantia a ser sacada. O caixa envia uma requisição para o sistema bancário para
que seja efetuado um saque na quantia especificada.
Se o saque é autorizado, as notas são preparadas para ser entregue, o cartão é ejetado, um re-
cibo é emitido e as notas liberadas.
Cursos Alternativos
• O cartão não é aceitável: Se o cartão não é aceitável porque sua tarja magnética não é pas-
sível de leitura ou é de um tipo incompatível, o cartão é ejetado com um bip.
• Senha incorreta: Se a senha informada está incorreta, uma mensagem deve ser mostrada
para o cliente que poderá entrar com a senha correta. Caso o cliente informe três vezes
senha incorreta, o cartão deverá ser confiscado.
• Saque não autorizado: Se o saque não for aceito pelo Sistema Bancário, uma mensagem
informando o cliente é mostrada por 10 segundos e o cartão é ejetado.
• Cancelamento: O cliente pode sempre cancelar a transação em qualquer momento que
lhe seja perguntada alguma informação. Isto resultará na ejeção do cartão e no término da
transação.
Como visto pelo exemplo anterior, um caso de uso pode ter um número de cursos alternativos
que podem levar o caso de uso por diferentes fluxos. Tanto quanto possível, esses cursos alternativos,
frequentemente cursos de exceção, devem ser anotados durante a especificação de um caso do uso.
Referências do Capítulo:
[Booch00] G. Booch, J. Rumbaugh, I. Jacobson; UML – Guia do Usuário. Editora Campus,
2000.
[Fowler97] M. Fowler, K. Scott; UML Distilled: Applying the Standard Object Modeling Lan-
guage, Addison-Wesley Object Technology Series, 1997.
[Furlan98] J.D. Furlan; Modelagem de Objetos Através da UML; Makron Books, 1998.
[Jacobson96] I. Jacobson; “The Use Case Construct in Object-Oriented Software Engineering”,
In: Scenario-Based Design, 1996.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

261
Projeto de Qualidade de Sistemas de Informação

PARTE II – ANÁLISE ORIENTADA A OBJETOS


4. INTRODUÇÃO À ORIENTAÇÃO A OBJETOS

A construção de uma solução computadorizada consiste no mapeamento do problema a ser re-


solvido no mundo real num modelo de solução no Espaço de Soluções, isto é, o meio computacional.
A modelagem envolve, então, a identificação de objetos e operações relevantes no mundo real e o
mapeamento desses em representações abstratas no Espaço de Soluções.
À distância existente entre o problema no mundo real e o modelo abstrato construído, conven-
cionou-se chamar gap semântico e, obviamente, quanto menor ele for, mais direto será o mapea-
mento e, portanto, mais rapidamente serão construídas soluções para o problema. Sob essa ótica, é
fácil perceber que o gap semântico representa a área de atuação da Engenharia de Software. Diversas
técnicas e métodos têm sido propostos para as diferentes fases do processo de desenvolvimento,
buscando minimizá-lo. A Orientação a Objetos é um dos paradigmas existentes para apoiar o desen-
volvimento de sistemas, que busca fornecer meios para se diminuir o gap semântico. Este capítulo
visa introduzir os principais conceitos e benefícios da orientação a objetos.

4.1 Abordagem Estruturada x Abordagem Orientada a Objetos


Uma vez que, atualmente, a Orientação a Objetos tem tomado o espaço antes ocupado pelo
paradigma estruturado no desenvolvimento de sistemas, é interessante fazer uma comparação entre
os paradigmas que fundamentam estas abordagens:
• Estruturado: adota uma visão de desenvolvimento baseada em um modelo entrada-pro-
cessamento-saída. No paradigma estruturado, os dados são considerados separadamente
das funções que os transformam e a decomposição funcional é usada intensamente.
• Orientado a Objetos: pressupõe que o mundo é composto por objetos, onde um objeto é
uma entidade que combina estrutura de dados e comportamento funcional. No paradig-
ma orientado a objetos, os sistemas são estruturados a partir dos objetos que existem no
domínio do problema, isto é, os sistemas são modelados como um número de objetos que
interagem.
Em função do paradigma que os rege, métodos de análise e projeto de sistemas são classificados
em métodos estruturados e métodos orientados a objetos.

4.1.1 Métodos Estruturados


Fazem clara distinção entre funções e dados. Funções, a princípio, são ativas e têm comporta-
mento, enquanto dados são repositórios passivos de informação, afetados por funções. Esta divisão
tem origem na arquitetura de hardware de von Neumann, onde a separação entre programa e dados
é fortemente enfatizada.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

262
Projeto de Qualidade de Sistemas de Informação
Os métodos orientados a funções conduzem o desenvolvimento de software estruturando as
aplicações segundo a ótica das funções (ações) que o sistema deverá realizar. O sistema é decomposto
em funções, e os dados são transportados entre elas. Esta é a filosofia da proposta original da Análise
Estruturada [DeMarco78] [Gane79], cuja ferramenta básica de modelagem são os diagramas de fluxo
de dados (DFDs).
Os métodos orientados a dados, por sua vez, enfatizam a identificação e estruturação dos dados,
subjugando a análise das funções para um segundo plano. Esses métodos têm origem no projeto de
bancos de dados e, geralmente, têm no modelo de Entidades e Relacionamentos (ER) [Chen79] sua
principal ferramenta.
A ênfase nas funções, geralmente, leva a sistemas com muita redundância e, consequentemen-
te, inconsistentes e difíceis de serem integrados. Por outro lado, a ênfase nos dados está fundamenta-
da em dois fatores significativos:
• Dados possuem existência própria nas organizações independentemente dos processos
que os manipulam.
• Dados são muito mais estáveis que as funções em uma organização. A menos que haja gran-
des mudanças nos negócios de uma empresa, os dados tendem a se manter estáveis.
Assim, é possível desenvolver modelos de dados sem redundância, sem inconsistência e fáceis
de integrar. Entretanto, uma vez que o modelo de dados deve representar a realidade, e o conheci-
mento da realidade, muitas vezes, passa pelo conhecimento das funções, ele deve ser construído de
forma iterativa, não podendo ser considerado um produto acabado.
A Análise Essencial [Pompilho95] procurou conciliar as abordagens orientadas a dados e a fun-
ções em um único método, utilizando modelos para dados, funções e controles (DFDs e Modelo ER e
Diagramas de Transição de Estados, respectivamente) como ferramentas para a modelagem de siste-
mas.
Um sistema desenvolvido usando um método estruturado, frequentemente, é difícil de ser man-
tido. A princípio, o problema principal advém do fato de todas as funções terem de conhecer como
os dados estão armazenados, isto é, a estrutura dos dados. Além disso, mudanças na estrutura dos
dados quase sempre acarretam modificações em todas as funções relacionadas a essa estrutura. Em
suma, a interpretação dos dados é apenas implícita, provida pelos programas que leem ou escrevem
dados. Diferentes programas podem dar diferentes interpretações aos dados e, portanto, é necessário
conhecer como eles foram projetados para poder interpretá-los corretamente [Snyder93].

4.1.2 Métodos Orientados a Objetos


Os métodos orientados a objetos partem de um ponto de vista distinto e intermediário, onde se
pressupõe que o mundo real é povoado por objetos, onde um objeto é uma entidade que combina es-
trutura de dados e comportamento funcional. Métodos orientados a objetos estruturam os sistemas
a partir dos objetos que existem no domínio do problema.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

263
Projeto de Qualidade de Sistemas de Informação
A orientação a objetos oferece um número de conceitos bastante apropriados para a modela-
gem de sistemas. Utilizando a orientação a objetos como base, os sistemas são modelados como um
número de objetos que interagem. Os modelos baseados em objetos são úteis para a compreensão
de problemas, para a comunicação com os especialistas e usuários das aplicações, e para a realização
das tarefas ao longo do ciclo de desenvolvimento de software. Os principais objetivos da orientação
a objetos são:
• Diminuir a distância conceitual entre o mundo real (domínio do problema) e o modelo abs-
trato de solução (domínio da solução);
• Trabalhar com noções intuitivas (objetos e ações) durante todo o ciclo de vida, atrasando,
ao máximo, a introdução de conceitos de implementação.
Normalmente, esta é uma maneira mais natural para descrever sistemas, já que os objetos são
geralmente bastante estáveis. Alterações que por ventura venham a ocorrer, geralmente, afetam um
ou alguns poucos objetos [Jacobson92].
Eduard Yourdon [Yourdon94] dá um bom resumo do que pode ser considerado um produto
“orientado a objeto”:
Um sistema construído usando um método orientado a objetos é aquele cujos componentes são
partes encapsuladas de dados e funções, que podem herdar atributos e comportamento de outros
componentes da mesma natureza, e cujos componentes comunicam-se entre si por meio de mensa-
gens.
Métodos orientados a objetos utilizam uma perspectiva mais humana de observação da realida-
de, incluindo objetos, classificação e compreensão hierárquica. São benefícios esperados com o uso
da orientação a objetos:
• Capacidade de enfrentar novos domínios de aplicação;
• Melhoria da interação entre analistas e especialistas;
• Aumento da consistência interna dos resultados da análise;
• Uso de uma representação básica consistente para a análise e projeto;
• Alterabilidade, legibilidade e extensibilidade;
• Possibilidade de ciclos de desenvolvimento variados;
• Apoio à reutilização.
É importante enfatizar, no entanto, que a orientação a objetos não é mágica, isto é, ela não é
uma nova “tábua de salvação” para eliminar os problemas de produtividade e qualidade que têm
atormentado a indústria de software ao longo das últimas décadas. Se praticada cuidadosamente,
combinada com várias outras técnicas de Engenharia de Software – tais como, uso de métricas, reuti-
lização, testes, e garantia da qualidade - a orientação a objetos pode ajudar a levar a melhorias subs-
tanciais no desempenho de uma organização de software [Yourdon94]. Portanto, é imprescindível,
para grandes projetos, a definição de um processo de desenvolvimento que garanta o uso consistente
dessas técnicas e que seja apoiado por ferramentas computacionais, tais como ferramentas CASE e
Ambientes de Desenvolvimento de Software.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

264
Projeto de Qualidade de Sistemas de Informação
4.2 Conceitos da Orientação a Objetos
O mundo real é algo extremamente complexo. Quanto mais de perto o observamos, mais cla-
ramente percebemos sua complexidade. A orientação a objetos tenta gerenciar a complexidade ine-
rente dos problemas do mundo real, abstraindo conhecimento relevante e encapsulando-o dentro de
objetos. De fato, alguns princípios básicos gerais para a administração da complexidade norteiam este
processo de modelagem, entre eles, abstração, encapsulamento, modularidade e hierarquia.

4.2.1 Abstração
Uma das principais formas do ser humano lidar com a complexidade é através do uso de abstra-
ções. As pessoas tipicamente tentam compreender o mundo, construindo modelos mentais de partes
dele. Tais modelos são uma visão simplificada de algo, onde apenas elementos relevantes são conside-
rados. Modelos mentais, portanto, são mais simples do que os complexos sistemas que eles modelam.
Consideremos, por exemplo, um mapa como um modelo do território que ele representa. Um
mapa é útil porque abstrai apenas aquelas características do território que se deseja modelar. Se um
mapa incluísse todos os detalhes do território, provavelmente teria o mesmo tamanho do território e,
portanto, não serviria a seu propósito.
Da mesma forma que um mapa precisa ser significativamente menor que o território que ma-
peia, incluindo apenas informações cuidadosamente selecionadas, um modelo mental abstrai apenas
as características relevantes de um sistema para seu entendimento. Assim, podemos definir abstração
como sendo o princípio de ignorar aspectos não relevantes de um assunto, segundo a perspectiva de
um observador, tornando possível uma concentração maior nos aspectos principais do mesmo. De
fato, a abstração consiste na seleção que um observador faz de alguns aspectos de um assunto, em
detrimento de outros que não demonstram ser relevantes para o propósito em questão.
No que tange o desenvolvimento de software, duas formas adicionais de abstração têm grande
importância: a abstração de dados e a abstração de procedimentos.

Figura 4.1 - A abstração enfoca as características essenciais de um objeto [Booch94]

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

265
Projeto de Qualidade de Sistemas de Informação
4.2.2 Encapsulamento
No mundo real, um objeto pode interagir com outro sem conhecer seu funcionamento inter-
no. Uma pessoa, por exemplo, geralmente utiliza uma televisão sem saber efetivamente qual a sua
estrutura interna ou como seus mecanismos internos são ativados. Para utilizá-la, basta saber realizar
algumas operações básicas, tais como ligar/desligar a TV, mudar de um canal para outro, regular volu-
me, cor, etc. Como estas operações produzem seus resultados, mostrando um programa na tela, não
interessa ao telespectador.
O encapsulamento consiste na separação dos aspectos externos de um objeto, acessíveis por
outros objetos, de seus detalhes internos de implementação, que ficam ocultos dos demais objetos
[Rumbaugh94]. A interface de comunicação de um objeto deve ser definida de forma a revelar o me-
nos possível sobre o seu funcionamento interno.

Figura 4.2 - O encapsulamento oculta os detalhes de implementação de um objeto [Booch94]

Abstração e encapsulamento são conceitos complementares: enquanto a abstração enfoca o


comportamento observável de um objeto, o encapsulamento enfoca a implementação que origina
esse comportamento. Encapsulamento é frequentemente conseguido através do ocultamento de in-
formação, isto é, escondendo detalhes que não contribuem para suas características essenciais. Tipi-
camente, em um sistema orientado a objetos, a estrutura de um objeto, e a implementação de seus
métodos, são encapsuladas [Booch94].
Por exemplo, para usar um carro, uma pessoa não precisa conhecer sua estrutura interna (mo-
tor, caixa de marcha, etc...), nem tão pouco como se dá a implementação de seus métodos. Sabe-se
que é necessário ligar o carro, mas não é preciso saber como esta operação é implementada. Assim,
sobre carros, um motorista precisa conhecer apenas as operações que permite utilizá-lo, a que cha-
mamos de interface do objeto, o que inclui a ativação de operações, tais como ligar, mudar as mar-
chas, acelerar, frear, etc..., e não como essas operações são de fato implementadas.
Encapsulamento serve para separar a interface contratual de uma abstração e sua implemen-
tação. Os usuários têm conhecimento apenas das operações que podem ser requisitadas e precisam
estar cientes apenas do que as operações realizam e não como elas estão implementadas.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

266
Projeto de Qualidade de Sistemas de Informação
A principal motivação para o encapsulamento é facilitar a reutilização de objetos e garantir esta-
bilidade aos sistemas. Um encapsulamento bem feito pode servir de base para a localização de deci-
sões de projeto que necessitam ser alteradas. Uma operação pode ter sido implementada de maneira
ineficiente e, portanto, pode ser necessário escolher um novo algoritmo. Se a operação está encapsu-
lada, apenas o objeto que a define precisa ser modificado, garantindo estabilidade ao sistema.

4.2.3 Modularidade
Muitos métodos de construção de software buscam obter sistemas modulares, isto é, constru-
ídos a partir de elementos que sejam autônomos, conectados por uma estrutura simples e coerente.
Modularidade é crucial para se obter reusabilidade e extensibilidade.
Modularidade é uma propriedade de sistemas decompostos em um conjunto de módulos coe-
sos e fracamente acoplados. Assim, abstração, encapsulamento e modularidade são princípios siner-
géticos1. Um objeto provê uma fronteira clara em torno de uma abstração e o encapsulamento e a
modularidade proveem barreiras em torno dessa abstração [Booch94].

4.2.4 Hierarquia
Abstração é um princípio importantíssimo, mas em todas as aplicações, exceto aquelas mais
triviais, deparamo-nos com um número de abstrações maior do que conseguimos compreender em
um dado momento. O encapsulamento ajuda a gerenciar esta complexidade através do ocultamento
da visão interna de nossas abstrações. Modularidade auxilia também, dando-nos um meio de agru-
par logicamente abstrações relacionadas. Entretanto, isto ainda não é o bastante. Um conjunto de
abstrações frequentemente forma uma hierarquia e, pela identificação dessas hierarquias, é possível
simplificar significativamente o entendimento sobre um problema [Booch94]. Em suma, hierarquia é
uma forma de arrumar as abstrações.

4.3 O Processo de Desenvolvimento Orientado a Objetos


No desenvolvimento de grandes sistemas, uma abordagem sistemática deve ser adotada. Várias
abordagens têm sido propostas, todas objetivando a produção de bons sistemas. Mas o que é um
bom sistema? Segundo Jacobson [Jacobson92], para responder a essa pergunta, dois pontos de vista
devem ser observados:
• Do ponto de vista externo, isto é, dos usuários, um bom sistema deve ser correto, rápido,
confiável, fácil de ser usado, eficiente, etc...
• Do ponto de vista interno, ou seja, dos desenvolvedores, um bom sistema deve ser fácil de
ser entendido e modificado, reutilizável, compatível com outros sistemas, portátil, etc...
Além disso, a definição de um bom sistema varia, geralmente, em função de sua aplicação.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

267
Projeto de Qualidade de Sistemas de Informação
Apesar de haver muitas abordagens documentadas para análise e projeto orientados a objetos,
há muito pouca informação disponível sobre processos de desenvolvimento orientados a objetos. Um
processo de desenvolvimento engloba um conjunto de atividades, métodos, técnicas e práticas que
guiam as pessoas na produção de software, permitindo que um produto seja coerentemente criado.
Um processo eficaz deve, claramente, considerar as relações entre as atividades, os artefatos requeri-
dos e produzidos, os recursos, ferramentas e procedimentos necessários e a habilidade, o treinamen-
to e a motivação do pessoal envolvido.
Processos de desenvolvimento não são sempre necessários. Em pequenos projetos, desenvolve-
dores podem se comunicar informalmente, dado o pequeno número de pessoas envolvidas. À medida
que o número de desenvolvedores cresce, contudo, os canais de comunicação informais não são mais
confiáveis e um processo de desenvolvimento é, então, necessário. De fato, nestes casos, a definição
de um processo de desenvolvimento é um elemento essencial para assegurar a qualidade em um
projeto.
Há vários aspectos a serem considerados na definição de um processo de software. No centro
de sua arquitetura estão as atividades-chave do processo: planejamento, levantamento de requisitos,
análise, projeto, implementação e testes, que são a base sobre a qual o processo de desenvolvimen-
to deve ser construído. Entretanto, um processo envolve a escolha de um modelo de ciclo de vida,
o detalhamento de suas macro atividades, a escolha de métodos e técnicas para a sua realização e a
definição de recursos e artefatos necessários e produzidos.
Um processo de desenvolvimento de software não pode ser definido de forma universal. Para
ser eficaz e conduzir à construção de produtos de boa qualidade, um processo deve ser adequado
ao domínio da aplicação e ao projeto específico. Deste modo, processos devem ser definidos caso a
caso, considerando-se as especificidades da aplicação, a tecnologia a ser adotada na sua construção,
a organização onde o produto será desenvolvido e o grupo de desenvolvimento.
Em suma, o objetivo de se definir um processo de software é favorecer a produção de sistemas
de alta qualidade, atingindo as necessidades dos usuários finais, dentro de um cronograma e um or-
çamento previsíveis.
A escolha de um modelo de ciclo de vida é o ponto de partida para a definição de um processo
de software. Um modelo de ciclo de vida organiza as macro atividades básicas, estabelecendo prece-
dência e dependência entre as mesmas.
Um ciclo de vida pode ser entendido como passos ou atividades que devem ser executados
durante um projeto. Para a definição completa do processo, a cada atividade, devem ser associados
técnicas, ferramentas e critérios de qualidade, entre outros, formando uma base sólida para o desen-
volvimento. Adicionalmente, outras atividades tipicamente de cunho gerencial, devem ser definidas,
entre elas gerência de configuração e controle e garantia da qualidade.
De maneira geral, o ciclo de vida de um software envolve as seguintes fases:
• Planejamento: O objetivo do planejamento de projeto é fornecer uma estrutura que pos-
sibilite ao gerente fazer estimativas razoáveis de recursos, custos e prazos. Uma vez es-
tabelecido o escopo de software, uma proposta de desenvolvimento deve ser elaborada,
isto é, um plano de projeto deve ser elaborado configurando o processo a ser utilizado

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

268
Projeto de Qualidade de Sistemas de Informação
no desenvolvimento de software. À medida que o projeto progride, o planejamento deve
ser detalhado e atualizado regularmente. Pelo menos ao final de cada uma das fases do
desenvolvimento (levantamento de requisitos, análise, projeto, implementação e teste) o
planejamento como um todo deve ser revisto e o planejamento da etapa seguinte deve ser
detalhado.
• Levantamento de Requisitos: Nesta fase, o processo de coleta (levantamento) de requisitos
é intensificado. O escopo deve ser refinado e os requisitos identificados. Para entender a
natureza do software a ser construído, o engenheiro de software tem de compreender o
domínio do problema, bem como a funcionalidade e o comportamento esperados.
• Análise: Uma vez identificados os requisitos do sistema a ser desenvolvido, estes devem ser
modelados, avaliados e documentados. Uma parte vital desta fase é a construção de um
modelo descrevendo o que o software tem de fazer (e não como fazê-lo).
• Projeto: Esta fase é responsável por incorporar requisitos tecnológicos aos requisitos es-
senciais do sistema, modelados na fase anterior e, portanto, requer que a plataforma de
implementação seja conhecida. Basicamente, envolve duas grandes etapas: projeto da ar-
quitetura do sistema e projeto detalhado. O objetivo da primeira etapa é definir a arquite-
tura geral do software, tendo por base o modelo construído na fase de análise de requisitos.
Esta arquitetura deve descrever a estrutura de nível mais alto da aplicação e identificar seus
principais componentes. O propósito do projeto detalhado é detalhar o projeto do software
para cada componente identificado na etapa anterior. Os componentes de software devem
ser sucessivamente refinados em níveis de maior detalhamento, até que possam ser codifi-
cados e testados.
• Implementação: O projeto deve ser traduzido para uma forma passível de execução pela
máquina. A fase de implementação realiza esta tarefa, isto é, cada unidade de software do
projeto detalhado é implementada.
• Testes: inclui diversos níveis de testes, a saber, teste de unidade, teste de integração e teste
de sistema. Inicialmente, cada unidade de software implementada deve ser testada e os
resultados documentados. A seguir, os diversos componentes devem ser integrados suces-
sivamente até se obter o sistema. Finalmente, o sistema como um todo deve ser testado.
• Implantação: uma vez testado, o software deve ser colocado em produção. Para tal, con-
tudo, é necessário treinar os usuários, configurar o ambiente de produção e, muitas vezes,
converter bases de dados. O propósito desta fase é estabelecer que o software satisfaz os
requisitos dos usuários. Isto é feito instalando o software e conduzindo testes de aceitação
(validação). Quando o software tiver demonstrado prover as capacidades requeridas, ele
pode ser aceito e a operação iniciada.
• Operação: nesta fase, o software é utilizado pelos usuários no ambiente de produção.
• Manutenção: Indubitavelmente, o software sofrerá mudanças após ter sido entregue para
o usuário. Alterações ocorrerão porque erros foram encontrados, porque o software preci-
sa ser adaptado para acomodar mudanças em seu ambiente externo, ou porque o cliente
necessita de funcionalidade adicional ou aumento de desempenho. Muitas vezes, depen-
dendo do tipo e porte da manutenção necessária, esta fase pode requerer a definição de

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

269
Projeto de Qualidade de Sistemas de Informação
um novo processo, onde cada uma das fases precedentes é re-aplicada no contexto de um
software existente ao invés de um novo.
Uma vez que o software é sempre parte de um sistema (ou negócio) maior, o trabalho começa
pelo estabelecimento dos requisitos para todos os elementos do sistema e, na sequência, procede-se
a alocação para software de algum subconjunto destes requisitos. Esta etapa é a Engenharia de Siste-
mas e antecede a todas as demais relacionadas.
Um modelo de ciclo de vida estrutura as atividades do projeto em fases e define como estas
fases estão relacionadas. A escolha de um modelo de ciclo de vida é fortemente dependente das ca-
racterísticas do projeto. Assim, é importante apresentar vários modelos de ciclo de vida adequados ao
desenvolvimento orientado a objetos, indicando em que situações são aplicáveis. Dentre os principais
modelos de ciclo de vida, destacam-se o modelo sequencial linear, o modelo incremental e vários
modelos evolutivos.
Referências do Capítulo:
[Booch94] G. Booch; Object-Oriented Analysis and Design with Applications, 2nd edition,
Benjamin/Cummings Publishing Company, Inc, 1994.
[Coad92] P. Coad, E. Yourdon; Análise Baseada em Objetos, Editora Campus, 1992.
[Furlan98] J.D. Furlan; Modelagem de Objetos Através da UML; Makron Books, 1998.
[Jacobson92] I. Jacobson; Object-Oriented Software Engineering, Addison-Wesley, 1992.
[Kruchten98] P. Kruchten; The Rational Unified Process: An Introduction, Object Technology
Series, Addison-Wesley, 1998.
[Pompilho95] S. Pompilho. Análise Essencial: Guia Prático de Análise de Sistemas. IBPI Press,
Editora Infobook, Rio de Janeiro, 1995.
[Rumbaugh94] J. Rumbaugh, et alli; Modelagem e Projetos Baseados em Objetos, Editora Cam-
pus, 1994.
[Snyder93] A. Snyder; “The Essence of Objects: Concepts and Terms”, IEEE Software, Janei-
ro 1993.
[Yourdon94] E. Yourdon; Object-Oriented Systems Design: an Integrated Approach, Yourdon
Press Computing Series, Prentice Hall, 1994.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

270
Projeto de Qualidade de Sistemas de Informação

PARTE III – ANÁLISE ESSENCIAL DE SISTEMAS


5. INTRODUÇÃO À ANÁLISE ESSENCIAL

A etapa de análise e especificação de requisitos, geralmente chamada de análise de sistemas, é


um processo de comunicação entre engenheiros de software (analistas de sistemas) e clientes/usuá-
rios do sistema, com o objetivo de definir detalhadamente o propósito e os requisitos de um software.
Os requisitos de um sistema compreendem o conjunto de características que o sistema deve possuir
para atingir seu propósito.
A análise de sistemas é um processo de transmissão de conhecimento e, assim sendo, envolve
três etapas:
• Aprendizado: aprender sobre o domínio do problema onde o sistema será inserido;
• Estruturação e representação dos requisitos do sistema: consiste na modelagem do sistema
propriamente dita;
• Validação dos requisitos com o usuário.
Ao longo do processo, o analista enfrenta o desafio de “lidar com a complexidade”, isto é, situa-
ções complexas do mundo real devem ser entendidas e representadas de forma simples, para facilitar
a compreensão e validação. Para tal, é preciso delimitar a área de estudo, subdividir o todo complexo
em partes inteligíveis e gerenciáveis, extrair as características essenciais da realidade e modelar essas
características para mostrar o relacionamento entre seus componentes.
A análise de sistemas é, em última instância, uma atividade de construção de modelos. Um
modelo é uma representação de alguma coisa do mundo real, uma abstração da realidade, ou seja,
representa uma seleção de características do mundo real, que são relevantes para o propósito com o
qual o modelo foi construído.
Modelos são ferramentas fundamentais no desenvolvimento de sistemas. Sistemas são mode-
lados para:
• Possibilitar o estudo do comportamento do sistema;
• Facilitar a comunicação entre os componentes da equipe de desenvolvimento (e clientes e
usuários);
• Possibilitar a discussão de correções e modificações com o usuário;
• Formar uma documentação do sistema.
Um modelo enfatiza um conjunto de características da realidade, que corresponde à dimensão
do modelo. Além da dimensão que um modelo enfatiza, modelos possuem níveis de abstração. O
nível de abstração de um modelo diz respeito ao grau de detalhamento com que as características do
sistema são representadas. Em cada nível há uma ênfase seletiva nos detalhes representados. No caso
dos sistemas de informação, geralmente, são considerados três níveis:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

271
Projeto de Qualidade de Sistemas de Informação
• Conceitual: considera características do sistema independentes do ambiente computacio-
nal (hardware e software) no qual o sistema será implementado. Essas características são
dependentes unicamente das necessidades do usuário.
• Lógico: características dependentes de um determinado tipo de sistema computacional.
Essas características são, contudo, independentes de produtos específicos.
• Físico: características dependentes de um sistema computacional específico, isto é, uma
linguagem e um compilador específico, um sistema gerenciador de bancos de dados espe-
cífico, o hardware de um determinado fabricante, etc.
Nas primeiras etapas do processo de desenvolvimento (levantamento de requisitos e análise), o
engenheiro de software representa o sistema através de modelos conceituais. Nas etapas posteriores,
as características lógicas e físicas são representadas em novos modelos.
O método de Análise Essencial de Sistemas [Pompilho95] preconiza que, de uma forma geral,
um sistema deve ser modelado através de três dimensões:
• Dados: diz respeito aos aspectos estáticos e estruturais do sistema;
• Controle: leva em conta aspectos temporais e comportamentais do sistema;
• Funções: considera a transformação de valores.
Em relação ao grau de abstração, a Análise Essencial considera dois níveis: o nível essencial e o
nível de implementação, representados, respectivamente, pelos seguintes modelos:
• Modelo Essencial: representa o sistema num grau de abstração completamente indepen-
dente de restrições tecnológicas.
• Modelo de Implementação: passa a considerar as restrições tecnológicas impostas pela
plataforma de hardware e software a ser utilizada para implementar o sistema.
Podemos perceber que o modelo de implementação não corresponde a um modelo de análise
propriamente dito, uma vez que considera aspectos de implementação, característica marcante da
fase de projeto. De fato, na abordagem da Análise Essencial, este modelo corresponde a uma espécie
de zona nebulosa entre as fases de análise e de projeto. Por considerarmos que um modelo conside-
rando aspectos da plataforma de implementação é mais bem caracterizado na fase de projeto, neste
texto, não trataremos do modelo de implementação.

5.1 Conceitos
Os conceitos introduzidos pelo método de Análise Essencial endereçavam inicialmente as duas
principais dificuldades que os analistas enfrentavam com a aplicação da Análise Estruturada: a distin-
ção entre requisitos lógicos e físicos, e a ausência de uma abordagem para particionar o sistema em
partes tão independentes quanto possível, de modo a facilitar o processo de análise.
Durante muito tempo, houve grandes debates entre os profissionais de desenvolvimento de
sistemas sobre por qual perspectiva se deveria começar a especificação de um sistema: pelos dados
ou pelas funções? Os argumentos, igualmente válidos, exploravam considerações como:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

272
Projeto de Qualidade de Sistemas de Informação
• Dados são mais estáveis que funções...,
• Sem um entendimento das funções a serem desempenhadas pelo sistema, como definir o
escopo e os dados necessários?
A Análise Essencial procurou estabelecer um novo ponto de partida para a especificação de um
sistema: a identificação dos eventos que o afetam [Pompilho95].
Um dos problemas mais relevantes na especificação é como efetuar seu particionamento. A
Análise Estruturada propõe um particionamento através de uma abordagem top-down. Embora esta
seja uma boa maneira de se atacar um problema complexo – começando da visão geral e ir descen-
do, passo a passo, numa visão hierárquica, a níveis de detalhes cada vez maiores – na prática, esta
abordagem não se mostrou eficiente como estratégia de projeto para a decomposição de sistemas. A
Análise Essencial propõe outra forma de particionamento, a qual é baseada nos eventos, e que tem
demonstrado ser mais efetiva do que a abordagem top-down, pois torna mais fácil a identificação das
funções e entidades que compõem o sistema [Pompilho95].
A Análise Essencial de Sistemas, através da técnica de particionamento por eventos, oferece
uma boa estratégia para modelar o comportamento do sistema, visando satisfazer os requisitos do
usuário, pressupondo-se que dispomos de tecnologia perfeita e que ela pode ser obtida a custo zero
[Xavier95].
Apesar de introduzir novos conceitos e novas abordagens, a Análise Essencial preservou todos
os modelos da Análise Estruturada. De fato, embora diferentes, a melhor maneira de encarar a Análi-
se Essencial é considerá-la uma evolução da Análise Estruturada. A seguir, os principais conceitos da
Análise Essencial [McMenamim84] são apresentados.

5.1.1 Tecnologia Perfeita


Durante a fase de análise, o analista deve abstrair-se da tecnologia que deverá ser utilizada na
implementação do sistema. Para orientar essa abstração, a Análise Estruturada recomenda que o ana-
lista, durante a fase de análise, concentre-se apenas nos aspectos lógicos do sistema, evitando pensar
nos aspectos físicos. O problema dessa abordagem é que a diferença entre “aspectos lógicos e físicos”
não é clara.
Partindo do princípio que os aspectos físicos de um sistema estão ligados à tecnologia de im-
plementação, a Análise Essencial emprega uma abstração de uma tecnologia de implementação, de-
nominada tecnologia perfeita, para facilitar a tarefa de identificar os detalhes lógicos do sistema. A
tecnologia perfeita não possui limitações, isto é, existe um processador perfeito, capaz de executar
qualquer processamento, tudo instantaneamente, sem qualquer custo, sem consumir energia, sem
gerar calor, sem jamais cometer erros ou parar de funcionar, e um repositório perfeito, capaz de arma-
zenar quantidades infinitas de dados e de ser acessado instantaneamente por qualquer processador,
da forma que for mais conveniente.
Naturalmente, não existe uma tecnologia de implementação com tais características. Então,
qual é a utilidade dessa abstração?

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

273
Projeto de Qualidade de Sistemas de Informação
Quando o analista pensa em aspectos físicos, ele está, na verdade, tentando identificar (e re-
solver) as limitações de uma determinada tecnologia. Pensamentos típicos do gênero são: quanto de
espaço em disco vou precisar? qual o melhor método de acesso aos dados, considerando as funções
do sistema? que capacidade de processamento devo necessitar? Contudo, nenhuma dessas preocu-
pações são próprias da fase de análise.
Considerando agora que a tecnologia que será utilizada na implementação do sistema é perfei-
ta, todas as perguntas anteriores deixam de ter importância, isto é, não preocupam mais o analista.
Assim sendo, para distinguir um requisito lógico de um requisito físico, utilizando a abstração de tec-
nologia perfeita, formule a seguinte pergunta ao identificar um requisito qualquer: “Para atender ao
seu propósito, o sistema necessitará possuir essa capacidade ou essa característica, mesmo conside-
rando que ele será implementado em uma tecnologia perfeita?” Se a resposta for sim, esse requisito
é verdadeiro e deve ser modelado.

5.1.2 Requisito Verdadeiro e Requisito Falso


Uma característica ou capacidade que um sistema deve possuir para atender ao seu propósito,
mesmo considerando que será implementado em uma tecnologia perfeita, é dita um requisito verda-
deiro. O conjunto de requisitos verdadeiros compreende a essência do sistema.
Um requisito falso, por outro lado, é uma capacidade ou característica que o sistema não pre-
cisa possuir para atender ao seu propósito, caso ele disponha de uma tecnologia de implementação
perfeita.

5.1.3 Evento e Resposta


Evento e resposta são nomes genéricos de interações entre o ambiente externo e o sistema. Um
evento pode ser definido informalmente como um acontecimento do mundo exterior que requer do
sistema uma resposta. Corresponde a alguma mudança no ambiente externo que funcionará como
um estímulo para o sistema, isto é, o sistema deve responder a este estímulo para atender ao seu
propósito. Uma resposta é o resultado da execução de um conjunto de ações no sistema, como conse-
quência do reconhecimento pelo sistema de que um evento ocorreu. Uma resposta tipicamente pode
ser [Pompilho95]:
• Um fluxo de dados saindo do sistema para uma entidade externa;
• Uma mudança de estado em um depósito de dados (inclusão, exclusão ou alteração);
• Um fluxo de controle saindo de uma função para ativar uma outra.
Quando um evento ocorre, é produzido um estímulo para o sistema. Ao receber o estímulo, o
sistema compreende que o evento ocorreu e ativa os processos necessários para produzir a resposta.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

274
Projeto de Qualidade de Sistemas de Informação
5.1.4 Atividades Essenciais
São todas as tarefas que o sistema deve executar para atender completamente ao seu propó-
sito, mesmo considerando que ele será implementado em uma tecnologia perfeita. Uma atividade
essencial deve executar todo o conjunto de ações necessárias para responder completamente a um e
somente um evento. As atividades essenciais subdividem-se em:
• Atividades Fundamentais: produzem uma informação que é parte do propósito declarado
do sistema. Assim sendo, o propósito do sistema é atendido pelas atividades fundamentais,
as quais produzem as respostas externas do sistema.
• Atividades Custodiais: criam e mantêm a memória necessária à execução das atividades
fundamentais, adquirindo dados do ambiente externo ao sistema e os armazenando nos
depósitos de dados. As respostas que são internas ao sistema são produzidas pelas suas
atividades custodiais.
Quando uma atividade executa tarefas dos dois tipos, ela é denominada atividade composta. As
atividades compostas produzem respostas internas e externas. Os diferentes tipos de atividade essen-
cial estão representados na figura 5.1.

Figura 5.1 – Tipos de Atividades Essenciais

Como as atividades essenciais respondem completamente a um e somente um evento, a comu-


nicação entre elas será feita sempre via memória e nunca diretamente. Essa característica da comu-
nicação entre atividades essenciais torna o particionamento por eventos uma abordagem adequada
para dividir o problema em partes independentes.

5.1.5 Memória Essencial


Consiste no conjunto mínimo de dados que deve ser armazenado pelo sistema, para atender ao
seu propósito, considerando que ele será implementado em uma tecnologia perfeita.
O modelo normalmente utilizado para modelar a memória essencial é o Modelo de Entidades
e Relacionamentos (MER). Nos DFDs, a memória essencial é representada pelos depósitos de dados.
Para derivar os depósitos de dados do DFD a partir do MER, utilize a seguinte correspondência: cada
entidade e relacionamento com atributos do MER será um depósito de dados do DFD.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

275
Projeto de Qualidade de Sistemas de Informação
Para manter a abstração da tecnologia perfeita consistente, os depósitos de dados não arma-
zenam chaves estrangeiras (atributos determinantes transpostos entre entidades) para representar
um relacionamento entre entidades, pois essa é uma característica específica dos bancos de dados
relacionais, uma tecnologia nada perfeita. Lembre-se que, na fase de análise, a tecnologia de imple-
mentação ainda não foi selecionada e deve ser considerada perfeita.
Para indicar que o relacionamento entre entidades existe, sem, no entanto definir como ele será
implementado, a representação dos acessos das atividades de custódia à memória essencial deve
obedecer à seguinte regra geral: ao criar ou excluir um relacionamento ou uma entidade que participa
de um relacionamento, mostre o acesso aos depósitos de dados que correspondem ao relacionamen-
to e às entidades que participam do relacionamento.

5.2 Especificação da Essência do Sistema


A Análise Essencial sugere a construção de dois modelos principais, o modelo essencial e o
modelo de implementação. Conforme discutido anteriormente, entendemos que apenas o modelo
essencial deve ser objeto da fase de análise e, assim, discutiremos apenas a especificação da essência
do sistema.
A especificação da essência do sistema, produto da fase de análise, é composta de dois mode-
los, como mostra a figura 5.2:
• Modelo Ambiental: define a fronteira entre o sistema e o resto do mundo.
• Modelo Comportamental: define o comportamento das partes internas do sistema neces-
sário para interagir com o ambiente.

Figura 5.2 – A Análise Essencial e seus Modelos

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

276
Projeto de Qualidade de Sistemas de Informação
5.2.1 O Modelo Ambiental
Representa o que o sistema deve fazer para atender ao ambiente. É composto dos seguintes
produtos:
• Propósito do Sistema: enuncia a finalidade do sistema. Pode ser acompanhado de uma
breve descrição do contexto do sistema (mini-mundo).
• Lista de Eventos: lista de eventos aos qual o sistema deve responder. Deve conter, pelo me-
nos, o nome do evento, o estímulo e a resposta externa do sistema.
• Diagrama de Contexto: representa o sistema como um único processo e suas interações
com o ambiente. Pode ser acompanhado de um dicionário de dados.
A declaração de propósito (objetivos) do sistema deve ser elaborada em poucas frases, simples
e precisa, em linguagem destituída de vocabulário técnico, de modo a ser entendida pelos usuários do
sistema e pela administração da empresa, em geral. Não deve fornecer detalhes sobre como o sistema
deverá operar.
A elaboração da lista de eventos é o passo principal desta etapa do desenvolvimento, uma vez
que os eventos constituem a parte fundamental de um sistema. De fato, o primeiro passo na especifi-
cação de um sistema é identificar a quais eventos do mundo exterior ele deverá ocorrer. Esta ativida-
de, denominada Análise de Eventos, é muito bem explorada no Capítulo 15 de [Pompilho95].
Uma vez definidos os eventos, é possível construir o Diagrama de Contexto do sistema, mostran-
do como ele responde a todos os eventos externos relevantes.
Finalmente, pode ser útil elaborar uma descrição de como o sistema responderá a cada um dos
eventos identificados na Lista de Eventos.

5.2.2 O Modelo Comportamental


Representa o que o interior do sistema deve fazer para atender ao ambiente. Deve conter os
seguintes produtos:
• Diagrama de Entidades e Relacionamentos
• Diagramas de Fluxos de Dados Particionados por Eventos: Para cada evento do sistema,
deve ser construído um DFD. Assim, a quantidade de diagramas deve ser equivalente ao
número de eventos na lista.
• Diagramas de Transição de Estados: Representa o comportamento das entidades e relacio-
namentos com atributos ao longo do tempo. Será construído um DTE para cada entidade
ou relacionamento com atributo do DER que possuir comportamento significativo, isto é,
possuir mais de um estado ao longo de seu ciclo de vida.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

277
Projeto de Qualidade de Sistemas de Informação
• Diagramas de Fluxos de Dados Organizados em Níveis Hierárquicos: representa os pro-
cessos em níveis hierárquicos, a partir do diagrama zero. Os processos do diagrama zero
são obtidos através do agrupamento de atividades essenciais dos DFDs particionados por
eventos. Um critério de agrupamento bastante razoável é considerar o grau de coesão e
acoplamento entre atividades essenciais. As seguintes heurísticas podem ser utilizadas, em
conjunto ou em separado:
• Procurar agrupar em um único processo todas as atividades essenciais que acessam um
determinado depósito de dados, verificando se o processo resultante desse agrupamento é
adequado para representar uma das funções do sistema.
• Agrupar todas as atividades de custódia referentes a um mesmo depósito de dados.
• Procurar identificar uma função do sistema, agrupando atividades essenciais que interagem
com uma mesma entidade externa.
• Representar no DFD-zero, um processo para cada uma das funções do negócio.
• Agrupar as atividades essenciais ao processo para os quais as suas ações mais contribuem.
• Dicionário de Dados: descreve os dados representados no MER, nos DFDs e nos DTEs.
• Especificação da Lógica dos Processos: descreve a lógica dos processos do DFD que não
foram detalhados em diagramas de nível inferior (lógica dos processos primitivos).

Como podemos perceber, a Análise Essencial faz uso praticamente das mesmas técnicas de mo-
delagem da Análise Estruturada, a saber a Modelagem de Dados (utilizando modelos de Entidades e
Relacionamentos), a Modelagem Funcional (utilizando Diagramas de Fluxo de Dados – DFDs) e a Mo-
delagem de Controle (utilizando Diagramas de Transição de Estados). Isso é bastante natural, já que a
Análise Essencial é, de fato, uma extensão da Análise Estruturada.
Na realidade, a principal diferença entre a Análise Essencial e a Análise Estruturada está na
estratégia para atacar o problema: a primeira defende uma abordagem baseada em eventos, onde a
Análise de Eventos passa a ser um passo fundamental, a segunda é baseada apenas na decomposição
top-down da funcionalidade do sistema. A figura 5.3 apresenta de forma sintética a organização do
modelo essencial.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

278
Projeto de Qualidade de Sistemas de Informação

Figura 5.3 – Organização do Modelo Essencial

Referências do Capítulo:
[McMenamim84] S.M. McMenamim, J.F. Palmer. Análise Essencial de Sistemas. McGraw-
Hill, São Paulo, 1984.
[Pompilho95] S. Pompilho. Análise Essencial: Guia Prático de Análise de Sistemas.
IBPI Press, Editora Infobook, Rio de Janeiro, 1995.
[Xavier95] C.M.S. Xavier, C. Portilho. Projetando com Qualidade a Tecnologia de
Sistemas de Informação. Livros Técnicos e Científicos Editora, 1995.
[Yourdon90] E. Yourdon. Análise Estruturada Moderna. Editora Campus, 1990.

6. MODELAGEM DE DADOS

A primeira atividade realizada no processo de construção do Modelo Comportamental da Análi-


se Essencial de Sistemas deve ser a modelagem de dados e, para tal, o modelo de Entidades e Relacio-
namentos (ER) é utilizado. O modelo ER é uma técnica top-down de modelagem conceitual, utilizada
para representar os dados a serem armazenados em um sistema de informação, tendo sido desenvol-

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

279
Projeto de Qualidade de Sistemas de Informação
vida originalmente para dar suporte ao projeto de bancos de dados [Chen90] [Setzer87].
Basicamente, o modelo ER representa as entidades (coisas) e os relacionamentos (fatos) do
mundo real, que um sistema de informação precisa simular internamente.

6.1 Conceitos Básicos


Entidades: são representações abstratas de “coisas” do mundo real que temos interesse em mo-
nitorar o comportamento. Podem ser a representação de um ser, um objeto, um organismo social, etc.
Conjuntos de Entidades: são grupos de entidades que têm características semelhantes. São
representados graficamente por retângulos, como mostra a figura 6.1.
Ex: Livros, Clientes, Funcionários.

Figura 6.1 – Representação Gráfica de Conjuntos de Entidades

Os conjuntos de entidades são substantivos e perduram no tempo. Cada elemento de um con-


junto de entidades só ocorre uma única vez e a ordenação do conjunto é irrelevante.
A princípio são representados em um conjunto de entidades, todos os elementos do mundo real
referidos pelo conjunto.
Ex: LIVROS = todos os livros de uma biblioteca.
FUNCIONÁRIOS = todos os funcionários de uma empresa, ...
Para descrevermos conjuntos de entidades, podemos utilizar as seguintes diretrizes:
• critérios para inclusão;
• critérios para exclusão;
• contexto (ilustre como ele é utilizado no sistema);
• exemplos.
Se não quisermos utilizar todas as diretrizes apresentadas, devemos optar pela utilização de
descrições com base nos critérios para inclusão.
Para estabelecermos uma padronização, usaremos nomes de conjuntos de entidades sempre no
plural e escrito em letras maiúsculas. No entanto, isto não representa efetivamente uma regra.
Atributos: descrevem características ou propriedades relevantes de um conjunto de entidades.
O conjunto de atributos deve ser:
• completo: deve abranger todas as informações pertinentes.
• fatorado: cada atributo deve capturar um aspecto em separado.
Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

280
Projeto de Qualidade de Sistemas de Informação
• independente: os domínios de valores de atributos devem ser independentes uns dos ou-
tros.
Atributos podem ser de dois tipos:
• Atributos Descritivos: descrevem características intrínsecas do objeto. Ex: sexo, altura, na-
cionalidade, etc ...
• Atributos Nominativos: nomes e rótulos arbitrários dados aos objetos. Ex: nome, matrícu-
la, etc ...

Sobre atributos são pertinentes ainda as seguintes considerações:


• Atributo Monovalorado: atributo que assume um único valor para cada elemento do con-
junto de entidades. Ex: matrícula, nome, data-admissão, ... de FUNCIONÁRIOS: Cada funcio-
nário possui uma única matrícula, um único nome, etc ...
• Atributo Multivalorado: atributo que pode assumir vários valores para cada um dos ele-
mentos do conjunto de entidades. São representados com um asterisco (*) associado. Ex:
telefone* de FUNCIONÁRIOS: Um mesmo funcionário pode ter mais que um telefone.
• Valor vazio para um atributo: quando para algum ponto do conjunto de entidades não
existe um valor para aquele atributo, ou ele ainda não é conhecido. Ex: telefone* de FUN-
CIONÁRIOS: Um funcionário qualquer pode não ter nenhum telefone, ou em um dado mo-
mento ele não ser conhecido.
• Atributo Composto: atributo composto de um ou mais sub-atributos. Ex: endereço, com-
posto de rua, número, complemento, bairro, cidade, estado e cep.
• Identificadores ou Atributos Determinantes: conjunto de um ou mais atributos que iden-
tificam univocamente um elemento do conjunto de entidades. Os atributos determinantes
deverão ser sublinhados.
Atributos também descrevem características de relacionamentos (atributos de relacionamen-
tos). Todas as considerações feitas até então são válidas, sendo que uma discussão sobre característi-
cas típicas destes atributos foi propositalmente postergada, visando uma melhor compreensão.
A figura 6.2 ilustra a representação gráfica para atributos. Ainda que esta notação possa ser
empregada, de maneira geral, atributos são representados apenas no dicionário de dados para evitar
modelos complexos e de difícil leitura.

Figura 6.2 – Representação gráfica para atributos

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

281
Projeto de Qualidade de Sistemas de Informação
Relacionamento: é uma abstração de uma associação entre duas ou mais entidades.
Relacionamento Binário: é uma representação abstrata da associação de duas entidades.
Conjunto de Relacionamentos: é um subconjunto do produto cartesiano dos conjuntos de en-
tidades envolvidos.
Ex: O mundo real nos conta que:
Funcionários são lotados em Departamentos.
Alunos cursaram Disciplinas.
Fornecedores fornecem Materiais.
É importante notar que todos os relacionamentos binários possuem uma leitura inversa:
Departamentos lotam Funcionários.
Disciplinas foram cursadas por Alunos.
Materiais são fornecidos por Fornecedores.
Algumas correntes pregam o uso de um nome que abstraia a direção da leitura.
Alunos cursaram Disciplinas. => Realizações
Fornecedores fornecem Materiais. => Fornecimentos
Neste texto, entretanto, adotaremos a seguinte notação: Um relacionamento será representado
por um losango com um verbo para indicar a ação e uma seta para informar o sentido de leitura, como
mostra a figura 6.3.

Figura 6.3 – Representação gráfica para relacionamentos

É importante frisar que, entre duas entidades, pode existir mais de um tipo de relacionamento,
como mostra o exemplo da figura 6.4.

Figura 6.4 – Dois tipos de relacionamentos entre entidades

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

282
Projeto de Qualidade de Sistemas de Informação
Além disso, uma entidade pode participar de relacionamentos com quaisquer outras entidades
do modelo, inclusive com ela mesma, como mostra a figura 6.5.

Figura 6.5 – Exemplo de modelo ER

6.2 Restrições de Integridade ou Leis de Consolidação


Restrições de integridade (ou leis de consolidação) são restrições do mundo real que devem
ser expressas para manter a integridade do modelo. Devemos identificar leis que regem: os possíveis
relacionamentos e os valores dos atributos.

6.2.1 Restrições de Integridade em Relacionamentos


Um conjunto de relacionamentos é um subconjunto do produto cartesiano das entidades envol-
vidas. É necessário, portanto, descrever de forma mais apurada qual é este subconjunto. Isto é feito
via Restrições de Integridade ou Leis de Consolidação, que devem ser observadas, sendo que elas
podem ser de três tipos:
Cardinalidade: indica os números mínimo (cardinalidade mínima) e máximo (cardinalidade má-
xima) de associações possíveis em um relacionamento. Ex: Um professor tem que estar lotado em um
e somente um departamento, enquanto um departamento deve ter no mínimo 13 professores e no
máximo um número arbitrário (N). Esta restrição imposta pelo mundo real, deve ser considerada no
modelo de dados através da cardinalidade, como mostra a figura 6.6.

Figura 6.6 – Representação de cardinalidades em relacionamentos

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

283
Projeto de Qualidade de Sistemas de Informação
Repetição: indica quantas vezes os mesmos dois elementos de conjuntos de entidades podem
ser associados. Ex: Um aluno não pode cursar a mesma disciplina mais do que 3 vezes.
Dependência: um tipo de relacionamento pode ser restringido por outro relacionamento, ou
depender de suas associações anteriores. Ex: Um aluno não pode matricular-se em uma disciplina que
ainda não tenha cumprido seus pré-requisitos. Um empregado não pode ser colocado em um cargo
cujo salário seja inferior ao do seu cargo atual.
Restrições de Integridade de Dependência e Repetição não são representadas no diagrama,
como ocorre com a Cardinalidade, e devem ser descritas em um dicionário do projeto.

6.2.2 Tipos de Relacionamentos


Correspondem a uma classificação baseada na cardinalidade máxima dos relacionamentos. Para ilus-
trar, tomemos um relacionamento R entre dois conjuntos de entidades A e B, como mostra a figura 6.7.

Figura 6.7 – Relacionamento R entre dois conjuntos de entidades A e B

Relacionamento 1:1: cada elemento de A ou de B pode aparecer no máximo em um único par


de R, como mostra o exemplo da figura 6.8.

Figura 6.8 – Relacionamento 1:1

Relacionamentos 1:N ou N:1: cada elemento de B pode aparecer no máximo em um único par
de R, enquanto cada elemento de A pode ocorrer em um número qualquer de pares, como ilustra o
exemplo da figura 6.9.

Figura 6.9 – Relacionamento 1:N

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

284
Projeto de Qualidade de Sistemas de Informação
Relacionamentos N:N: cada elemento de A ou de B pode aparecer em um número não determi-
nado de pares de R, como ilustra o exemplo da figura 6.10.

Figura 6.10 – Relacionamento N:N

A figura 6.11 mostra um exemplo com os vários tipos de relacionamentos.

Figura 6.11 – Tipos de Relacionamentos

Referências do Capítulo:
[Chen90] P. Chen. Gerenciando Banco de Dados: A Abordagem Entidade-
Relacionamento para Projeto Lógico. McGraw-Hill, 1990.
[Setzer87] W. Setzer. Bancos de Dados. 2a Edição, Editora Edgard Blücher, 1987.
[Yourdon90] E. Yourdon. Análise Estruturada Moderna. Editora Campus, 1990.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

285
Curso Técnico em

INFORMÁTICA
Etapa 2

LINGUAGEM TÉCNICA DE
PROGRAMAÇÃO I
Linguagem Técnica de Programação I
Carga horária da etapa: 120 horas

Objetivos gerais:
Apresentar os conceitos relacionados ao paradigma da programação orientada a objetos, tor-
nando-os capazes de: Desenvolver aplicações usando o conceito da orientação a objetos; implemen-
tar os conceitos de orientação a objetos com a linguagem de programação Java.
Especificamente os objetivos são:
• Propiciar o embasamento teórico para o desenvolvimento de programas no paradigma
orientado a objetos;
• Habilitar o aluno na construção de sistemas baseados nos recursos metodológicos da pro-
gramação orientada a objeto;
• Capacitar os alunos a desenvolver sistemas orientados a objetos através da linguagem de
programação Java;

Avaliações:

Bibliografia básica:
• Aprenda em 21 dias, Java 2

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

289
Linguagem Técnica de Programação I
CADENHEAD, Rogers
Rio de Janeiro : Elsevier Editora, 2003.
• Java, como programar : apresentando projeto orientado a objetos com a UML e padrões de
projeto.
DEITEL, Harvey M.
Porto Alegre : Bookman Companhia Editora, 2005.
• http://www.oracle.com/technetwork/java/index.html

Objetivo
Esta apostila tem por objetivo, ajudar ao aluno na compreensão:
• Conceitos da linguagem de programação java;
• Explicar as principais nomenclaturas utilizadas na linguagem;
• Apresentar como é aplicada a herança utilizando java;
• Entender como são realizados os tratamento de exceções em java;
• Criar códigos de exemplo com conexão a banco de dados.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

290
Linguagem Técnica de Programação I

SUMÁRIO

Introdução........................................................................................................................................ 293
Maquina virtual................................................................................................................................ 293
Variáveis de ambiente para Java...................................................................................................... 294
O que pode dar errado?................................................................................................................... 295
Comentários gerais:.......................................................................................................................... 299
Classe Java........................................................................................................................................ 303
Criando e usando um objeto............................................................................................................ 304
Métodos........................................................................................................................................... 305
Objetos são acessados por referências............................................................................................ 306
Métodos com retorno...................................................................................................................... 307
Getters e Setters............................................................................................................................... 312
O construtor default......................................................................................................................... 314
Qual a necessidade de um construtor?............................................................................................ 315
Um construtor chamando outro construtor..................................................................................... 315
Super e Sub classe............................................................................................................................ 320
Polimorfismo em Java...................................................................................................................... 320
Herança X acoplamento................................................................................................................... 322
Exceções de Runtime mais comuns.................................................................................................. 333
Outro tipo de exceção: Checked Exceptions..................................................................................... 334
A conexão em Java........................................................................................................................... 338
Referencias....................................................................................................................................... 340

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

291
Linguagem Técnica de Programação I

INTRODUÇÃO

Java é uma linguagem de programação de alto nível e orientada à objetos criada no começo
da década de 90. A sintaxe da linguagem é muito parecida com C e C++, mas ela possui um número
maior de facilidades e funcionalidades. O Java foi criado pela antiga Sun Microsystems e mantida
através de um comitê (http://www.jcp.org). Seu site principal era o java.sun.com, e java.com um site
mais institucional, voltado ao consumidor de produtos e usuários leigos, não desenvolvedores. Com
a compra da Sun pela Oracle em 2009, muitas URLs e nomes tem sido trocados para refletir a marca
da Oracle. A página principal do Java é: http://www.oracle.com/technetwork/java/.
A Sun criou um time (conhecido como Green Team) para desenvolver inovações tecnológicas
em 1992. Esse time foi liderado por James Gosling, considerado o pai do Java. O time voltou com a
ideia de criar um interpretador (já era uma máquina virtual, veremos o que é isso mais a frente) para
pequenos dispositivos, facilitando a reescrita de software para aparelhos eletrônicos, como vídeo
cassete, televisão e aparelhos de TV a cabo.
A ideia não deu certo. Tentaram fechar diversos contratos com grandes fabricantes de eletrôni-
cos, como Panasonic, mas não houve êxito devido ao conflito de interesses e custos. Hoje, sabemos
que o Java domina o mercado de aplicações para celulares com mais de 2.5 bilhões de dispositivos
compatíveis, porém em 1994 ainda era muito cedo para isso.
Com o advento da web, a Sun percebeu que poderia utilizar a ideia criada em 1992 para rodar
pequenas aplicações dentro do browser. A semelhança era que na internet havia uma grande quanti-
dade de sistemas operacionais e browsers, e com isso seria grande vantagem poder programar numa
única linguagem, independente da plataforma. Foi aí que o Java 1.0 foi lançado: focado em transfor-
mar o browser de apenas um cliente magro (thin client ou terminal burro) em uma aplicação que
possa também realizar operações avançadas, e não apenas renderizar html.

Máquina virtual
O Java utiliza do conceito de máquina virtual, onde existe, entre o sistema operacional e a apli-
cação, uma camada extra responsável por “traduzir” - mas não apenas isso - o que sua aplicação de-
seja fazer para as respectivas chamadas do sistema operacional onde ela está rodando no momento:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

293
Linguagem Técnica de Programação I
Dessa forma, a maneira com a qual você abre uma janela no Linux ou no Windows é a mesma:
você ganha independência de sistema operacional. Ou, melhor ainda, independência de plataforma
em geral: não é preciso se preocupar em qual sistema operacional sua aplicação está rodando, nem
em que tipo de máquina, configurações, etc.
Sua aplicação roda sem nenhum envolvimento com o sistema operacional! Sempre conversando
apenas com a Java Virtual Machine (JVM).

Configurando o Java
Siglas:
JVM? JRE? JDK?
O que deve ser baixar?
JVM = apenas a virtual machine, esse download não existe, ela sempre vem acompanhada.
JRE = Java Runtime Environment, ambiente de execução Java, formado pela JVM e bibliotecas,
tudo que você precisa para executar uma aplicação Java. Mas nós precisamos de mais.
JDK = Java Development Kit: Nós, desenvolvedores, faremos o download do JDK do Java SE
(Standard Edition). Ele é formado pela JRE somado a ferramentas, como o compilador.

Variáveis de ambiente para Java


A configuração das variáveis de ambiente Java, no Windows 7, é bem simples e o desenvolvedor
precisa substituir o caminho onde ele instala o Java.
Clique com o botão direito do seu mouse sobre “meu computador” ou utilize o painel de con-
trole do seu computador, depois duplo clique em “sistema” e você encontrará nos menus a aba confi-
gurações avançadas, selecione;
Na janela que ir abrir clique em “variáveis de ambiente” e após basta você configurara as variá-
veis como vou demonstrar abaixo:
Clique em novo em variáveis de usuários para administrador.
Nome da variável: JAVA_HOME
Valor da variável: C:\Program Files\Java\jdk1.6.0_20 (explicando esse local, ele é o local onde
está instalado o seu Java, então para descobrir basta você ir em meu computador/c:/arquivos de pro-
gramas/java etc etc etc, varia de acordo com o Windows.
Exemplo:
C:\Program Files\Java\jdk1.6.0_21
Nome da variável: PATH

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

294
Linguagem Técnica de Programação I
Valor da variável: C:\Programas\Java\jdk1.6.0_20\bin; (mesmo procedimento de cima só com-
pleta com o \bin que é o diretório dentro do Java);
A variável PATH você coloca o caminho para o seu
- e a variável CLASSPATH não muda nada.
Nome da variável: CLASSPATH
Valor da variável: .;JAVA_HOME
Primeiro programa em Java
Vamos para o nosso primeiro código! O programa que imprime uma linha simples.
Para mostrar uma linha, podemos fazer:
System.out.println(“Minha primeira aplicação Java!”);
Mas esse código não será aceito pelo compilador java. O Java é uma linguagem bastante buro-
crática, e precisa de mais do que isso para iniciar uma execução. O mínimo que precisaríamos escrever
é algo como:

O que pode dar errado?


Muitos erros podem ocorrer no momento que você rodar seu primeiro código. Vamos ver al-
guns deles:

Usando variáveis em Java


Dentro de um bloco, podemos declarar variáveis e usá-las. Em Java, toda variável tem um tipo
que não pode ser mudado, uma vez que declarado:
tipoDaVariavel nomeDaVariavel;
Por exemplo, é possível ter uma idade que guarda um número inteiro:
int idade;

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

295
Linguagem Técnica de Programação I
Com isso, você declara a variável idade, que passa a existir a partir daquela linha. Ela é do tipo
int, que guarda um número inteiro. A partir daí, você pode usá-la, primeiramente atribuindo valores.
A linha a seguir é a tradução de: “idade deve valer quinze”.
idade = 15;
Além de atribuir, você pode utilizar esse valor. O código a seguir declara novamente a variável
idade com valor 15 e imprime seu valor na saída padrão através da chamada a System.out.println.

Por fim, podemos utilizar o valor de uma variável para algum outro propósito, como alterar ou
definir uma segunda variável. O código a seguir cria uma variável chamada idadeNoAnoQueVem com
valor de idade mais um.

No mesmo momento que você declara uma variável, também é possível inicializá-la por pratici-
dade:

Você pode usar os operadores +, -, / e * para operar com números, sendo eles responsáveis pela
adição, subtração, divisão e multiplicação, respectivamente. Além desses operadores básicos, há o
operador % (módulo) que nada mais é que o resto de uma divisão inteira. Veja alguns exemplos:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

296
Linguagem Técnica de Programação I
Exemplo de aplicação utilizando variáveis.

Representar números inteiros é fácil, mas como guardar valores reais, tais como frações de nú-
meros inteiros e outros? Outro tipo de variável muito utilizado é o double, que armazena um número
com ponto flutuante (e que também pode armazenar um número inteiro).

O tipo boolean armazena um valor verdadeiro ou falso, e só: nada de números, palavras ou en-
dereços, como em algumas outras linguagens.

“true” e “false” são palavras reservadas do Java. É comum que um boolean seja determinado
através de uma expressão booleana, isto é, um trecho de código que retorna um booleano, como o
exemplo:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

297
Linguagem Técnica de Programação I
O tipo char guarda um, e apenas um, caractere. Esse caractere deve estar entre aspas simples.
Não se esqueça dessas duas características de uma variável do tipo char! Por exemplo, ela não pode
guardar um código como ‘’ pois o vazio não é um caractere!

Variáveis do tipo char são pouco usadas no dia a dia. Veremos mais a frente o uso das Strings,
que usamos constantemente, porém estas não são definidas por um tipo primitivo.
Definindo comentários no código Java
Durante o desenvolvimento de um software é muito importante escrever comentários expli-
cando os códigos fontes, pois facilita tanto o desenvolvimento do código como sua manutenção, a
linguagem Java fornece três formas diferentes de escrever comentários:
// -> Comentário de uma única linha
/* Comentário longo com mais
de uma linha */
/**
* Javadoc
* Javadoc é um utilitário do pacote de desenvolvimento Java utilizado
* para a criação de um documento HTML com todos os métodos e
* atributos das classes contidas em seu projeto.
*/
Exemplo:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

298
Linguagem Técnica de Programação I
Na linha 1 até a linha 7 estamos criando um comentário do tipo javadoc.
Na linha 10 usamos o comentário simples de uma linha.
Na linha 13 até a linha 14 usamos o comentário longo que pode ser utilizado por varias linhas.
Javadoc
Javadoc é um utilitário do pacote de desenvolvimento Java utilizado para a criação de um docu-
mento HTML com todos os métodos e atributos das classes contidas em seu projeto, além dos comen-
tários inseridos com as tags especiais:
/**
* Comentário do JavaDoc.
*/
Os comentários do Javadoc são usados para descrever classes, variáveis, objetos, pacotes, in-
terfaces e métodos. Cada comentário deve ser colocado imediatamente acima do recurso que ele
descreve.
Também é possível utilizar-se de comandos especiais, que servem como marcação, para que
na geração do documento determinadas informações já sejam colocadas em campos específicos, tais
como o autor do método descrito ou sua versão. Segue abaixo alguns destes comandos.

Comentários gerais:
@deprecated - adiciona um comentário de que a classe, método ou variável deveria não ser
usada. O texto deve sugerir uma substituição.
@since - descreve a versão do produto quando o elemento foi adicionado à especificação da
API.
@version - descreve a versão do produto.
@see - essa marca adiciona um link à seção “Veja também” da documentação.
Comentários de classes e interfaces
@author - autor do elemento.
@version - número da versão atual.
Comentários de métodos
@param - descreve os parâmetros de um método acompanhado por uma descrição.
@return - descreve o valor retornado por um método.
@throws - indica as exceções que um dado método dispara com uma descrição associada.
Comentários de serialização
@serial - para documentar a serialização de objetos.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

299
Linguagem Técnica de Programação I
Exemplo:

Depois comentar seu programa usando as tags acima, basta somente deixar o javadoc fazer o
seu trabalho, pois o mesmo vai se encarregar de gerar um conjunto de páginas HTML.
No diretório que contém os arquivos-fonte execute o comando:
javadoc -d dirDoc nomeDoPacote

Orientação a objetos
Orientação a objetos é uma maneira de programar que ajuda na organização e resolve muitos
problemas enfrentados pela programação procedural.
Consideremos o clássico problema da validação de um CPF. Normalmente, temos um formulá-
rio, no qual recebemos essa informação, e depois temos que enviar esses caracteres para uma função
que vai validá-lo, como no pseudocódigo abaixo:
cpf = formulario->campo_cpf
valida(cpf)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

300
Linguagem Técnica de Programação I
Alguém te obriga a sempre validar esse CPF? Você pode, inúmeras vezes, esquecer de chamar
esse validador. Mais: considere que você tem 50 formulários e precise validar em todos eles o CPF.
Se sua equipe tem 3 programadores trabalhando nesses formulários, quem fica responsável por essa
validação? Todos!
A situação pode piorar: na entrada de um novo desenvolvedor, precisaríamos avisá-lo que sem-
pre devemos validar o cpf de um formulário. É nesse momento que nascem aqueles guias de progra-
mação para o desenvolvedor que for entrar nesse projeto - às vezes, é um documento enorme. Em ou-
tras palavras, todo desenvolvedor precisa ficar sabendo de uma quantidade enorme de informações,
que, na maioria das vezes, não está realmente relacionado à sua parte no sistema, mas ele precisa ler
tudo isso, resultando um entrave muito grande!
Outra situação onde ficam claros os problemas da programação procedural, é quando nos en-
contramos na necessidade de ler o código que foi escrito por outro desenvolvedor e descobrir como
ele funciona internamente. Um sistema bem encapsulado não deveria gerar essa necessidade. Em um
sistema grande, simplesmente não temos tempo de ler todo o código existente.
Considerando que você não erre nesse ponto e que sua equipe tenha uma comunicação muito
boa (perceba que comunicação excessiva pode ser prejudicial e atrapalhar o andamento), ainda te-
mos outro problema: imagine que, em todo formulário, você também quer que a idade do cliente seja
validada - o cliente precisa ter mais de 18 anos. Vamos ter de colocar um if... mas onde? Espalhado por
todo seu código... Mesmo que se crie outra função para validar, precisaremos incluir isso nos nossos
50 formulários já existentes. Qual é a chance de esquecermos em um deles? É muito grande.
A responsabilidade de verificar se o cliente tem ou não tem 18 anos ficou espalhada por todo o
seu código. Seria interessante poder concentrar essa responsabilidade em um lugar só, para não ter
chances de esquecer isso.
Melhor ainda seria se conseguíssemos mudar essa validação e os outros programadores nem
precisassem ficar sabendo disso. Em outras palavras, eles criariam formulários e um único progra-
mador seria responsável pela validação: os outros nem sabem da existência desse trecho de código.
Impossível? Não, o paradigma da orientação a objetos facilita tudo isso.
O problema do paradigma procedural é que não existe uma forma simples de criar conexão
forte entre dados e funcionalidades. No paradigma orientado a objetos é muito fácil ter essa conexão
através dos recursos da própria linguagem.

Quais são as vantagens do Java?


Orientação a objetos vai te ajudar em muito em se organizar e escrever menos, além de con-
centrar as responsabilidades nos pontos certos, flexibilizando sua aplicação, encapsulando a lógica de
negócios.
Outra enorme vantagem, onde você realmente vai economizar montanhas de código, é o poli-
morfismo das referências.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

301
Linguagem Técnica de Programação I
Primeiro exemplo de aplicação utilizando orientação a objetos.
Considere um programa para um banco, é bem fácil perceber que uma entidade extremamente
importante para o nosso sistema é a conta. Nossa ideia aqui é generalizarmos alguma informação,
juntamente com funcionalidades que toda conta deve ter.
O que toda conta tem e é importante para nós?
• número da conta
• nome do dono da conta
• saldo
• limite
O que toda conta faz e é importante para nós? Isto é, o que gostaríamos de “pedir à conta”?
• saca uma quantidade x
• deposita uma quantidade x
• imprime o nome do dono da conta
• devolve o saldo atual
• transfere uma quantidade x para uma outra conta y
• devolve o tipo de conta
Com isso, temos o projeto de uma conta bancária. Podemos pegar esse projeto e acessar seu
saldo? Não. O que temos ainda é o projeto. Antes, precisamos construir uma conta, para poder aces-
sar o que ela tem, e pedir a ela que faça algo.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

302
Linguagem Técnica de Programação I
Repare na figura: apesar do papel do lado esquerdo especificar uma Conta, essa especificação
é uma Conta? Nós depositamos e sacamos dinheiro desse papel? Não. Utilizamos a especificação da
Conta para poder criar instâncias que realmente são contas, onde podemos realizar as operações que
criamos.
Apesar de declararmos que toda conta tem um saldo, um número e uma agência no pedaço de
papel (como à esquerda na figura), são nas instâncias desse projeto que realmente há espaço para
armazenar esses valores.
Ao projeto da conta, isto é, a definição da conta, damos o nome de classe. Ao que podemos
construir a partir desse projeto, as contas de verdade, damos o nome de objetos.
A palavra classe vem da taxonomia da biologia. Todos os seres vivos de uma mesma classe bio-
lógica têm uma série de atributos e comportamentos em comum, mas não são iguais, podem variar
nos valores desses atributos e como realizam esses comportamentos.
Analogia: uma receita de bolo. A pergunta é certeira: você come uma receita de bolo? Não.
Precisamos instanciá-la, criar um objeto bolo a partir dessa especificação (a classe) para utilizá-la.
Podemos criar centenas de bolos a partir dessa classe (a receita, no caso), eles podem ser bem seme-
lhantes, alguns até idênticos, mas são objetos diferentes.

Classe Java
Vamos começar apenas com o que uma Conta tem, e não com o que ela faz (veremos logo em
seguida).
Um tipo desses, como o especificado de Conta acima, pode ser facilmente traduzido para Java:

O que é String?
String é uma classe em Java. Ela guarda uma cadeia de caracteres, uma frase completa.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

303
Linguagem Técnica de Programação I
Criando e usando um objeto
Já temos uma classe em Java que especifica o que todo objeto dessa classe deve ter. Mas como
usá-la? Além dessa classe, ainda teremos o Programa.java e a partir dele é que vamos utilizar a classe
Conta.
Para criar (construir, instanciar) uma Conta, basta usar a palavra chave new. Devemos utilizar
também os parênteses.

Bem, o código acima cria um objeto do tipo Conta, mas como acessar esse objeto que foi criado?
Precisamos ter alguma forma de nos referenciarmos a esse objeto. Precisamos de uma variável:

Pode parecer estranho escrevermos duas vezes Conta: uma vez na declaração da variável e ou-
tra vez no uso do new. Mas há um motivo, que em breve entenderemos. Através da variável minha-
Conta, podemos acessar o objeto recém criado para alterar seu dono, seu saldo, etc:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

304
Linguagem Técnica de Programação I
Métodos
Dentro da classe, também declararemos o que cada conta faz e como isto é feito - os compor-
tamentos que cada classe tem, isto é, o que ela faz. Por exemplo, de que maneira que uma Conta
saca dinheiro? Especificaremos isso dentro da própria classe Conta, e não em um local desatrelado
das informações da própria Conta. É por isso que essas “funções” são chamadas de métodos. Pois é a
maneira de fazer uma operação com um objeto.
Queremos criar um método que saca uma determinada quantidade e não devolve nenhuma
informação para quem acionar esse método:

A palavra chave “void” diz que, quando você pedir para a conta sacar uma quantia, nenhuma
informação será enviada de volta a quem pediu.
Quando alguém pedir para sacar, ele também vai dizer quanto quer sacar. Por isso precisamos
declarar o método com algo dentro dos parênteses - o que vai aí dentro é chamado de argumento
do método (ou parâmetro). Essa variável é uma variável comum, chamada também de temporária ou
local, pois, ao final da execução desse método, ela deixa de existir.
Dentro do método, estamos declarando uma nova variável. Essa variável, assim como o argu-
mento, vai morrer no fim do método, pois este é seu escopo. No momento que vamos acessar nosso
atributo, usamos a palavra chave this para mostrar que esse é um atributo, e não uma simples variá-
vel. (veremos depois que é opcional)
Repare que, nesse caso, a conta pode estourar o limite fixado pelo banco. Mais para frente, evi-
taremos essa situação, e de uma maneira muito elegante.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

305
Linguagem Técnica de Programação I
Usar os métodos que foram criados acima.

Objetos são acessados por referências


Quando declaramos uma variável para associar a um objeto, na verdade, essa variável não guar-
da o objeto, e sim uma maneira de acessá-lo, chamada de referência.
É por esse motivo que, diferente dos tipos primitivos como int e long, precisamos dar new
depois de declarada a variável. Exemplo:

O correto aqui, é dizer que c1 se refere a um objeto. Não é correto dizer que c1 é um objeto, pois
c1 é uma variável referência, apesar de, depois de um tempo, os programadores Java falarem “Tenho
um objeto c do tipo Conta”, mas apenas para encurtar a frase “Tenho uma referência c a um objeto
do tipo Conta”.
Basta lembrar que, em Java, uma variável nunca é um objeto. Não há, no Java, uma maneira
de criarmos o que é conhecido como “objeto pilha” ou “objeto local”, pois todo objeto em Java, sem
exceção, é acessado por uma variável referência.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

306
Linguagem Técnica de Programação I
Esse código nos deixa na seguinte situação:

Internamente, c1 e c2 vão guardar um número que identifica em que posição da memória aque-
la Conta se encontra. Dessa maneira, ao utilizarmos o “.” para navegar, o Java vai acessar a Conta que
se encontra naquela posição de memória, e não uma outra.

Métodos com retorno


Um método sempre tem que definir o que retorna, nem que defina que não há retorno, como
nos exemplos anteriores onde estávamos usando o void.
Um método pode retornar um valor para o código que o chamou. No caso do nosso méto-
do saca , podemos devolver um valor booleano indicando se a operação foi bem sucedida.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

307
Linguagem Técnica de Programação I
Faça você mesmo...
E se quisermos ter um método que transfere dinheiro entre duas contas? Podemos ficar ten-
tados a criar um método que recebe dois parâmetros: conta1 e conta2 do tipo Conta. Mas cuidado:
assim estamos pensando de maneira procedural.
A ideia é que, quando chamarmos o método transfere, já teremos um objeto do tipo Conta (o
this), portanto o método recebe apenas um parâmetro do tipo Conta, a Conta destino (além do valor).
Podemos melhorar ainda mais esta implementação deixando o código mais robusto, poderíamos ve-
rificar se a conta possui a quantidade a ser transferida disponível. Para ficar ainda mais interessante,
você pode chamar os métodos deposita e saca já existentes para fazer essa tarefa.
Representação da classe conta:

Observe na representação da classe, o método “transfere” passa uma Conta como argumento,
o que será que acontece na memória? Será que o objeto é clonado?
No Java, a passagem de parâmetro funciona como uma simples atribuição como no uso do “=”.
Ou seja, esse parâmetro vai copiar o valor da variável do tipo Conta que for passado como argumento.

Controle de acesso
Um dos problemas mais simples que temos no nosso sistema de contas é que o método saca
permite sacar mesmo que o limite tenha sido atingido. A seguir você pode lembrar como está a classe
Conta:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

308
Linguagem Técnica de Programação I
O exemplo a abaixo mostra como é possível ultrapassar o limite usando o método saca:

Este tipo de situação não é normal para uma conta bancária.


Podemos incluir uma condição “if” dentro do nosso método saca() para evitar a situação que
resultaria em uma conta em estado inconsistente, com seu saldo abaixo do limite.
Apesar de melhorar bastante, ainda temos um problema mais grave: ninguém garante que o
usuário da classe vai sempre utilizar o método para alterar o saldo da conta. O código a seguir ultra-
passa o limite diretamente:

Como evitar que a classe TestaContaEstouro2 acesse diretamente os atributos da sua classe
conta?
Para fazer isso no Java, basta declarar que os atributos não podem ser acessados de fora da clas-
se através da palavra chave private.
Veja no exemplo abaixo:

“private” é um modificador de acesso (também chamado de modificador de visibilidade).

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

309
Linguagem Técnica de Programação I
Marcando um atributo como privado, fechamos o acesso ao mesmo em relação a todas as outras
classes, fazendo com que sua classe Conta não compile, pois lá utilizamos acesso direto aos atributos.

Na orientação a objetos, é prática quase que obrigatória proteger seus atributos com private.
Pois cada classe é responsável por controlar seus atributos, portanto ela deve julgar se aquele novo
valor é válido ou não! Esta validação não deve ser controlada por quem está usando a classe e sim por
ela mesma, centralizando essa responsabilidade e facilitando futuras mudanças no sistema. Muitas
outras vezes nem mesmo queremos que outras classes saibam da existência de determinado atributo,
escondendo-o por completo, já que ele diz respeito ao funcionamento interno do objeto.

Modificadores de acesso também funcional para os métodos.


A palavra chave private também pode ser usada para modificar o acesso a um método. Tal fun-
cionalidade é utilizada em diversos cenários: quando existe um método que serve apenas para auxiliar
a própria classe e quando há código repetido dentro de dois métodos da classe são os mais comuns.
Sempre devemos expôr o mínimo possível de funcionalidades, para criar um baixo acoplamento entre
as nossas classes.
O que significa acoplamento entre nossa classes?
É o nível de interligação entre duas classes, ou seja, o quanto uma classe conhece da outra. Lem-
brando que o acoplamento é proporcionalmente ligado a dor de cabeça que você terá caso modifique
a implementação de uma classe. J
Da mesma maneira que temos o private, temos o modificador public, que permite a todos aces-
sarem um determinado atributo ou método. Veja o exemplo abaixo:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

310
Linguagem Técnica de Programação I
Sem Modificador (Padrão)
Por padrão, a linguagem Java permite acesso aos membros apenas ao pacote em que ele se en-
contra. De forma ilustrativa, abaixo está uma tabela demonstrando todas estas características.

Encapsulamento
É a técnica utilizada para esconder uma ideia, ou seja, não expôr detalhes internos para o usu-
ário, tornando partes do sistema mais independentes possível. Por exemplo, quando um controle re-
moto estraga apenas é trocado ou consertado o controle e não a televisão inteira. Nesse exemplo do
controle remoto, acontece a forma clássica de encapsulamento, pois quando o usuário muda de canal
não se sabe que programação acontece entre a televisão e o controle para efetuar tal ação.
A ideia é esconder todos os membros de uma classe (como vimos nos exemplos acima), além de
esconder como funcionam as rotinas (no caso métodos) do nosso sistema.
Encapsular é fundamental para que seu sistema seja suscetível a mudanças. Não precisaremos
mudar uma regra de negócio em vários lugares, mas sim em apenas um único lugar, já que essa regra
está encapsulada. (veja o caso do método saca)

Veja o exemplo acima. A principal ideia desta é sempre procurar programar voltado para a inter-
face e não para a implementação.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

311
Linguagem Técnica de Programação I
É sempre bom programar pensando na interface da sua classe, como seus usuários a estarão
utilizando, e não somente em como ela vai funcionar.
A implementação em si, o conteúdo dos métodos, não tem tanta importância para o usuário
dessa classe, uma vez que ele só precisa saber o que cada método pretende fazer, e não como ele faz,
pois isto pode mudar com o tempo.
Sempre que vamos acessar um objeto, utilizamos sua interface. Existem diversas analogias fá-
ceis no mundo real:
Quando você dirige um carro, o que te importa são os pedais e o volante (interface) e não o
motor que você está usando (implementação). É claro que um motor diferente pode te dar melhores
resultados, mas o que ele faz é o mesmo que um motor menos potente, a diferença está em como ele
faz. Para trocar um carro a álcool para um a gasolina você não precisa reaprender a dirigir! (trocar a
implementação dos métodos não precisa mudar a interface, fazendo com que as outras classes conti-
nuem usando eles da mesma maneira).
Todos os celulares fazem a mesma coisa (interface), eles possuem maneiras (métodos) de discar,
ligar, desligar, atender, etc. O que muda é como eles fazem (implementação), mas repare que para o
usuário comum pouco importa se o celular é GSM ou CDMA, isso fica encapsulado na implementação
(que aqui são os circuitos).

Getters e Setters
O modificador private faz com que ninguém consiga modificar, nem mesmo ler, o atributo em
questão. Com isso, temos um problema: como fazer para mostrar o saldo de uma Conta, já que nem
mesmo podemos acessá-lo para leitura?
Precisamos então arranjar uma maneira de fazer esse acesso. Sempre que precisamos arrumar
uma maneira de fazer alguma coisa com um objeto, utilizamos de métodos! Vamos então criar um
método, digamos pegaSaldo, para realizar essa simples tarefa:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

312
Linguagem Técnica de Programação I
Desta forma vamos conseguir acessar o saldo da conta utilizando o método “pegaSaldo” que
acabamos de cria. Veja como ficará o nosso método “main”:

Para permitir o acesso aos atributos (já que eles são private) de uma maneira controlada, a prá-
tica mais comum é criar dois métodos, um que retorna o valor e outro que muda o valor.
A convenção para esses métodos é de colocar a palavra get ou set antes do nome do atributo.
Por exemplo, a nossa conta com saldo, limite e titular fica assim, no caso da gente desejar dar acesso
a leitura e escrita a todos os atributos.
Abaixo temos um exemplo de como ficará nossa classe conta.
Mas a classe onde temos o “main” ainda não está funcionando. Precisamos modificar os pontos
onde existe acesso direto aos atributos e utilizar os métodos get e set que criamos.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

313
Linguagem Técnica de Programação I
Métodos construtores
Quando usamos a palavra chave “new”, estamos construindo um objeto. Sempre quando o
“new” é chamado, ele executa o construtor da classe. O construtor da classe é um bloco declarado
com o mesmo nome que a classe. Veja o exemplo do construtor para a classe Conta:

Quando instanciamos um objeto do tipo conta “Conta c = new Conta();”


A mensagem “construindo uma conta” aparecerá. É como uma rotina de inicialização que é
chamada sempre que um novo objeto é criado. Um construtor pode parecer, mas não é um método.

O construtor default
Até agora, as nossas classes não possuíam nenhum construtor. Então como é que era possível
dar new, se todo new chama um construtor obrigatoriamente?
Quando você não declara nenhum construtor na sua classe, o Java cria um para você. Esse cons-
trutor é o construtor default, ele não recebe nenhum argumento e o corpo dele é vazio.
Mas um construtor de uma classe pode receber um argumento, podendo assim inicializar algum
tipo de informação. Veja no exemplo abaixo:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

314
Linguagem Técnica de Programação I
O exemplo acima recebe o titular da conta. Assim, quando criarmos uma conta, ela já terá um
determinado titular.
Mas como vamos utilizar este construtor?

Qual a necessidade de um construtor?


Tudo estava funcionando até agora. Para que utilizamos um construtor? A ideia é bem simples.
Se toda conta precisa de um titular, como obrigar todos os objetos que forem criados a ter um valor
desse tipo? Basta criar um único construtor que recebe essa String!
O construtor se resume a isso! Dar possibilidades ou obrigar o usuário de uma classe a passar
argumentos para o objeto durante o processo de criação do mesmo.

Um construtor chamando outro construtor


Um construtor só pode rodar durante a construção do objeto, isto é, você nunca conseguirá cha-
mar o construtor em um objeto já construído. Porém, durante a construção de um objeto, você pode
fazer com que um construtor chame outro, para não ter de ficar copiando e colando.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

315
Linguagem Técnica de Programação I
Herança
A Programação Orientada a Objetos conhecida como POO, é onde o desenvolvedor tem de co-
meçar a pensar fora da caixa, a imaginar uma forma aonde será preciso recorrer ao mundo real para o
desenvolvimento das aplicações, pois hoje toda a programação em Java é orientada a objetos.
Para obter esse entendimento, é necessário conhecer alguns dos pilares da Orientação a Obje-
tos que são: Abstração, Encapsulamento, Herança e Polimorfismo.
É utilizada para a definição de entidades do mundo real. Sendo onde são criadas as classes.
Essas entidades são consideradas tudo que é real, tendo como consideração as suas características e
ações, veja a tabela abaixo:

Na Programação Orientada a Objetos o significado de herança tem o mesmo significado para o


mundo real. Assim como um filho pode herdar alguma característica do pai, na Orientação a Objetos
é permitido que uma classe herde atributos e métodos da outra, tendo apenas uma restrição para a
herança. Os modificadores de acessos das classes, métodos e atributos só podem estar com visibilida-
de public e protected para que sejam herdados.
Nota: O modificador de acesso “protected” somente faz sentido a sua utilização quando se uti-
liza a herança, pois o mesmo deixará visível o atributo para todas as outras classes e subclasses que
pertencem ao mesmo pacote. A principal diferença é que apenas as classes do mesmo pacote tem
acesso ao membro. O pacote da subclasse não tem acesso ao membro.
Uma das grandes vantagens de usar o recurso da herança é na reutilização do código. Esse rea-
proveitamento pode ser acionado quando se identifica que o atributo ou método de uma classe será
igual para as outras. Para efetuar uma herança de uma classe é utilizada a palavra reservada chamada
extends.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

316
Linguagem Técnica de Programação I
Analise a representação de herança abaixo:

Para saber se estamos aplicando a herança corretamente, realiza-se o teste “É UM”. Esse teste
simples ajuda a detectar se a subclasse pode herdar a superclasse.
Por exemplo, na Figura 3, está mostrando que a classe “Gerente” herda da classe “Funcionário”,
se for aplicado o teste “É UM” nota-se que o teste é aprovado, pois o “Gerente” também “É UM”
Funcionário.
Para entender melhor a herança vamos aplicar esse exemplo em nossa aplicação bancária, pois
como toda empresa, nosso Banco possui funcionários. Vamos modelar a classe Funcionário.

Além de um funcionário comum, há também outros cargos, como os gerentes. Os gerentes


guardam a mesma informação que um funcionário comum, mas possuem outras informações, além
de ter funcionalidades um pouco diferentes. Um gerente no nosso banco possui também uma senha
numérica que permite o acesso ao sistema interno do banco, além do número de funcionários que
ele gerencia.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

317
Linguagem Técnica de Programação I

Como aplicar a herança neste caso?


Precisamos mesmo de outra classe repetindo os atributos que também são utilizados na clas-
se funcionário?
Poderíamos ter deixado a classe Funcionário mais genérica, mantendo nela senha de acesso, e
o número de funcionários gerenciados. Caso o funcionário não fosse um gerente, deixaríamos estes
atributos vazios.
Essa é uma possibilidade, porém podemos começar a ter muito atributos opcionais, e a classe
ficaria estranha. E em relação aos métodos? A classe Gerente tem o método autentica, que não faz
sentido existir em um funcionário que não é gerente.
Se tivéssemos outro tipo de funcionário que tem características diferentes do funcionário co-
mum, precisaríamos criar outra classe e copiar o código novamente!
Além disso, se um dia precisarmos adicionar uma nova informação para todos os funcionários,
precisaremos passar por todas as classes de funcionário e adicionar esse atributo. O problema acon-
tece novamente por não centralizarmos as informações principais do funcionário em um único lugar!
Existe um jeito, em Java, de relacionarmos uma classe de tal maneira que uma delas herda tudo
que a outra tem. Isto é uma relação de classe mãe e classe filha. No nosso caso, gostaríamos de fazer
com que o Gerente tivesse tudo que um Funcionário tem, gostaríamos que ela fosse uma extensão de
Funcionário. Fazemos isto através da palavra chave extends.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

318
Linguagem Técnica de Programação I
Veja o exemplo na classe abaixo:

Em todo momento que criarmos um objeto do tipo Gerente, este objeto possuirá também os
atributos definidos na classe Funcionário, pois um Gerente é um Funcionário. Veja como ficará a utili-
zação da classe com a implementação da herança.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

319
Linguagem Técnica de Programação I
Dizemos que a classe Gerente herda todos os atributos e métodos da classe mãe, no nosso caso,
a Funcionário. Para ser mais preciso, ela também herda os atributos e métodos privados, porém não
consegue acessá-los diretamente. Para acessar um membro privado na filha indiretamente, seria ne-
cessário que a mãe expusesse outro método visível que invocasse esse atributo ou método privado.

Super e Sub classe


A nomenclatura mais encontrada é que Funcionário é a superclasse de Gerente, e Gerente é a
subclasse de Funcionário. Dizemos também que todo Gerente é um Funcionário. Outra forma é dizer
que Funcionário é classe mãe de Gerente e Gerente é classe filha de Funcionário. E se precisamos
acessar os atributos que herdamos? Não gostaríamos de deixar os atributos de Funcionário, public,
pois dessa maneira qualquer um poderia alterar os atributos dos objetos deste tipo. Existe outro mo-
dificador de acesso, o protected, que fica entre o private e o public. Um atributo protected só pode ser
acessado (visível) pela própria classe e por suas subclasses.
Da mesma maneira, podemos ter uma classe Diretor que estenda Gerente e a classe Presidente
pode estender diretamente de Funcionário. Fique claro que essa é uma decisão de negócio. Se Diretor
vai estender de Gerente ou não, vai depender se, para você, Diretor é um Gerente.
Uma classe pode ter várias filhas, mas pode ter apenas uma mãe, é a chamada herança simples
do java.

Polimorfismo em Java
Polimorfismo é um termo que se originou do grego e significa “várias formas”. A semântica do
mesmo é preservada quando transportado para o universo da programação de computadores. Atra-
vés de técnicas abaixo, é possível que criemos estruturas suficientemente genéricas ao ponto de se-
rem utilizadas em vários contextos, tornando o código-fonte final mais enxuto, legível e manutenível.
Embora possamos observar polimorfismo também em linguagens estruturadas, é no paradigma
orientado a objetos que o conceito realmente ganha força e é aplicado em sua plenitude. Inúmeros

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

320
Linguagem Técnica de Programação I
padrões de projeto se beneficiam desta técnica, dentre os quais podemos destacar o Abstract DAO,
Abstract Factory, Template Method, Strategy, Observer e Composite. Mecanismos de tratamento de
exceções e eventos em praticamente todo framework, bem como o desenvolvimento de plug-ins, são
itens altamente beneficiados pelo emprego das técnicas polimórficas. De Swing/AWT a GWT e Java-
Server Faces, passando por JPA, Hibernate, Struts, Spring e tantos outros, encontramos polimorfismo
por todos os lados.
O polimorfismo é classificado em duas categorias, sendo que cada uma se ramifica em duas téc-
nicas. Veremos exemplos da aplicação de cada uma, seguida de uma discussão a seu respeito.

O polimorfismo ad hoc
A tradução literal para o termo ad hoc, que tem sua origem no latim e é tão utilizado por pro-
fissionais de computação, é “para isto” ou, ainda, “para esta finalidade”. Na prática, o termo é usado
para tudo aquilo que foi projetado para atender a uma demanda pontual, não genérica. Em outras
palavras, técnicas ad hoc serão sempre aquelas para ataque a necessidades pontuais.
Esta categoria abrange duas técnicas, que são conhecidas como coerção (também chamado de
casting) e sobrecarga.

Polimorfismo por coerção


O significado literal do termo coerção, na língua portuguesa, é ato ou efeito de obrigar/forçar.
E é exatamente isto que acontece quando empregamos esta técnica no desenvolvimento de sistemas
computacionais: forçamos um objeto a “vestir” uma roupagem específica. Isto é muito comum em
casos em que precisamos definir um modelo genérico que seja, depois, redefinido/ especializado
por outras classes de objetos. Para que isso seja possível, o template/padrão é construído utilizando
apenas tipos suficientemente abstratos (a partir de interfaces ou ainda classes abstratas), do qual se
derivam/especializam diversos tipos de objetos de acordo com a necessidade.
Vamos voltar para nosso exemplo da classe funcionário para colocar em prática o polimorfismo.
O que guarda uma variável do tipo Funcionário? Uma referência para um Funcionário, nunca
o objeto em si. Na herança, vimos que todo Gerente é um Funcionário, pois é uma extensão deste.
Podemos nos referir a um Gerente como sendo um Funcionário. Se alguém precisa falar com um
Funcionário do banco, pode falar com um Gerente! Por quê? Pois Gerente é um Funcionário. Essa é a
semântica da herança.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

321
Linguagem Técnica de Programação I
Herança X acoplamento
Note que o uso de herança aumenta o acoplamento entre as classes, isto é, o quanto uma classe
depende de outra. A relação entre classe mãe e filha é muito forte e isso acaba fazendo com que o
programador das classes filhas tenha que conhecer a implementação da classe pai e vice-versa - fica
difícil fazer uma mudança pontual no sistema.
Por exemplo, imagine se tivermos que mudar algo na nossa classe Funcionário, mas não quisés-
semos que todos os funcionários sofressem a mesma mudança. Precisaríamos passar por cada uma
das filhas de Funcionário verificando se ela se comporta como deveria ou se devemos sobrescrever o
tal método modificado.
Esse é um problema da herança, e não do polimorfismo, que resolveremos mais tarde com a
ajuda de Interfaces.
Exemplo utilizando o polimorfismo em Java
Imagine que vamos modelar um sistema para a faculdade que controle as despesas com funcio-
nários e professores.
Nosso funcionário fica assim:

O gasto que temos com o professor não é apenas seu salário. Temos de somar um bônus de 10
reais por hora/aula. O que fazemos então? Reescrevemos o método. Assim como o getGastos é dife-
rente, o getInfo também será, pois temos de mostrar as horas/aula também.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

322
Linguagem Técnica de Programação I
A novidade, aqui, é a palavra chave super. Apesar do método ter sido reescrito, gostaríamos de
acessar o método da classe mãe, para não ter de copiar e colocar o conteúdo desse método e depois
concatenar com a informação das horas de aula.
Como tiramos proveito do polimorfismo? Imagine que temos uma classe de relatório.

Podemos passar para nossa classe qualquer EmpregadoDaFaculdade! Vai funcionar tanto para
professor, quanto para funcionário comum.
Um certo dia, muito depois de terminar essa classe de relatório, resolvemos aumentar nosso
sistema, e colocar uma classe nova, que representa o Reitor. Como ele também é um EmpregadoDaFa-
culdade, será que vamos precisar alterar algo na nossa classe de Relatório? Não. Essa é a ideia! Quem
programou a classe GeradorDeRelatorio nunca imaginou que existiria uma classe Reitor e, mesmo
assim, o sistema funciona.

Interfaces em Java
Para este item vamos continuar trabalhando com nosso exemplo de sistema bancário. Imagine
que um Sistema de Controle do Banco pode ser acessado, além de pelos Gerentes, pelos Diretores do
Banco. Então, teríamos uma classe Diretor. Veja como ficará essa classe:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

323
Linguagem Técnica de Programação I
E a classe Gerente:

A representação gráfica das nossas classes ficará assim:

Repare que o método de autenticação de cada tipo de Funcionário pode variar muito. Mas va-
mos aos problemas. Considere o SistemaInterno e seu controle: precisamos receber um Diretor ou
Gerente como argumento, verificar se ele se autentica e colocá-lo dentro do sistema.

O SistemaInterno aceita qualquer tipo de Funcionário, tendo ele acesso ao sistema ou não, mas
note que nem todo Funcionário possui o método autentica. Isso nos impede de chamar esse método
com uma referência apenas a Funcionário (haveria um erro de compilação). O que fazer então?

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

324
Linguagem Técnica de Programação I

Uma solução mais interessante seria criar uma classe no meio da árvore de herança, Funciona-
rioAutenticavel. Veja o exemplo abaixo:

As classes Diretor e Gerente passariam a estender de FuncionarioAutenticavel, e o SistemaInter-


no receberia referências desse tipo, como a seguir:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

325
Linguagem Técnica de Programação I

O uso de herança resolve esse caso, mas vamos a uma outra situação um pouco mais complexa:
precisamos que todos os clientes também tenham acesso ao SistemaInterno. O que fazer? Uma opção
é criar outro método login em SistemaInterno: mas já descartamos essa anteriormente.
Uma outra, que é comum entre os novatos, é fazer uma herança sem sentido para resolver o
problema, por exemplo, fazer Cliente extends FuncionarioAutenticavel. Realmente, resolve o proble-
ma, mas trará diversos outros. Cliente definitivamente não é FuncionarioAutenticavel. Se você fizer
isso, o Cliente terá, por exemplo, um método getBonificacao, um atributo salario e outros membros
que não fazem o menor sentido para esta classe! Não faça herança quando a relação não é estrita-
mente “é um”.
O que precisamos para resolver nosso problema? Arranjar uma forma de poder referenciar Dire-
tor, Gerente e Cliente de uma mesma maneira, isto é, achar um fator comum. Se existisse uma forma
na qual essas classes garantissem a existência de um determinado método, através de um contrato,
resolveríamos o problema.
Toda classe define 2 itens:
• O que uma classe faz (as assinaturas dos métodos)
• Como uma classe faz essas tarefas (o corpo dos métodos e atributos privados)
Podemos criar um “contrato” que define tudo o que uma classe deve fazer se quiser ter um de-
terminado status. Imagine:

Quem quiser, pode “assinar” esse contrato, sendo assim obrigado a explicar como será feita essa
autenticação. A vantagem é que, se um Gerente assinar esse contrato, podemos nos referenciar a um
Gerente como um Autenticável.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

326
Linguagem Técnica de Programação I
Podemos criar esse contrato em Java!

Chama-se interface pois é a maneira pela qual poderemos conversar com um Autenticável. Inter-
face é a maneira através da qual conversamos com um objeto. Lemos a interface da seguinte maneira:
“quem desejar ser autenticável precisa saber autenticar dado um inteiro e retornando um booleano”.
Ela é um contrato onde quem assina se responsabiliza por implementar esses métodos (cumprir o
contrato). Uma interface pode definir uma série de métodos, mas nunca conter implementação deles.
Ela só expõe o que o objeto deve fazer, e não como ele faz, nem o que ele tem. Como ele faz vai ser
definido em uma implementação dessa interface.
E o Gerente pode “assinar” o contrato, ou seja, implementar a interface. No momento em que
ele implementa essa interface, ele precisa escrever os métodos pedidos pela interface (muito pareci-
do com o efeito de herdar métodos abstratos, aliás, métodos de uma interface são públicos e abstra-
tos, sempre). Para implementar usamos a palavra chave implements na classe.
Veja o exemplo da classe Funcionário abaixo:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

327
Linguagem Técnica de Programação I
O implements pode ser lido da seguinte maneira: “A classe Gerente se compromete a ser tratada
como Autenticável, sendo obrigada a ter os métodos necessários, definidos neste contrato”.
A partir de agora, podemos tratar um Gerente como sendo um Autenticável. Ganhamos mais
polimorfismo! Temos mais uma forma de referenciar a um Gerente. Quando crio uma variável do tipo
Autenticável, estou criando uma referência para qualquer objeto de uma classe que implemente Au-
tenticável, direta ou indiretamente.

Novamente, a utilização mais comum seria receber por argumento, como no nosso SistemaIn-
terno.

Pronto! E já podemos passar qualquer Autenticável para o SistemaInterno. Então precisamos


fazer com que o Diretor também implemente essa interface.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

328
Linguagem Técnica de Programação I

Podemos passar um Diretor. No dia em que tivermos mais um funcionário com acesso ao siste-
ma, basta que ele implemente essa interface, para se encaixar no sistema.
Qualquer Autenticavel passado para o SistemaInterno está bom para nós. Repare que pouco
importa quem o objeto referenciado realmente é, pois ele tem um método autentica que é o necessá-
rio para nosso SistemaInterno funcionar corretamente. Aliás, qualquer outra classe que futuramente
implemente essa interface poderá ser passada como argumento aqui.
Autenticavel diretor = new Diretor();
Autenticavel gerente = new Gerente();
Ou, se achamos que o Fornecedor precisa ter acesso, basta que ele implemente Autenticavel.
Olhe só o tamanho do desacoplamento: quem escreveu o SistemaInterno só precisa saber que ele é
Autenticavel.

Não faz diferença se é um Diretor, Gerente, Cliente ou qualquer classe que venha por aí. Basta
seguir o contrato! Mais ainda, cada Autenticavel pode se autenticar de uma maneira completamente
diferente de outro.
Lembre-se: a interface define que todos vão saber se autenticar (o que ele faz), enquanto a im-
plementação define como exatamente vai ser feito (como ele faz).
A maneira como os objetos se comunicam num sistema orientado a objetos é muito mais im-
portante do que como eles executam. O que um objeto faz é mais importante do que como ele faz.
Aqueles que seguem essa regra, terão sistemas mais fáceis de manter e modificar. Como você já per-
cebeu, esta é uma das ideias principais que queremos passar e, provavelmente, a mais importante de
todo esse curso.
Herança entre interfaces
Diferentemente das classes, uma interface pode herdar de mais de uma interface. É como um
contrato que depende que outros contratos sejam fechados antes deste valer. Você não herda méto-
dos e atributos, mas sim responsabilidades.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

329
Linguagem Técnica de Programação I
Exceções e controle de erros
Voltando ao nosso sistema bancário, na classe “Conta” que criamos anteriormente, o que acon-
teceria ao tentar chamar o método saca com um valor fora do limite? O sistema mostraria uma men-
sagem de erro, mas quem chamou o método saca não saberá que isso aconteceu. Como avisar aquele
que chamou o método de que ele não conseguiu fazer aquilo que deveria?
Em Java, os métodos dizem qual o contrato que eles devem seguir. Se, ao tentar sacar, ele não
consegue fazer o que deveria, ele precisa, ao menos, avisar ao usuário que o saque não foi feito. Veja
no exemplo abaixo: estamos forçando uma Conta a ter um valor negativo, isto é, estar num estado
inconsistente de acordo com a nossa modelagem.

Por esses e outros motivos, utilizamos um código diferente em Java para tratar aquilo que cha-
mamos de exceções: os casos onde acontece algo que, normalmente, não iria acontecer. O exemplo
do argumento do saque inválido ou do id inválido de um cliente é uma exceção à regra.
O que é uma Exceção???
Uma exceção representa uma situação que normalmente não ocorre e representa algo de estra-
nho ou inesperado no sistema.
Vamos trabalhar com um exemplo para entender melhor.
Analise a classe abaixo:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

330
Linguagem Técnica de Programação I
Repare o método main chamando metodo1 e esse, por sua vez, chamando o metodo2. Cada
um desses métodos pode ter suas próprias variáveis locais, isto é: o metodo1 não enxerga as variáveis
declaradas dentro do main e por aí em diante.
Como o Java (e muitas das outras linguagens) faz isso? Toda invocação de método é empilhada
em uma estrutura de dados que isola a área de memória de cada um. Quando um método termina
(retorna), ele volta para o método que o invocou. Ele descobre isso através da pilha de execução (sta-
ck): basta remover o marcador que está no topo da pilha.
Porém, o nosso metodo2 propositalmente possui um enorme problema: está acessando um ín-
dice de array indevido para esse caso; o índice estará fora dos limites da array quando chegar em 10!
Rode o código. Qual é a saída? O que isso representa? O que ela indica?

Essa é o conhecido rastro da pilha (stacktrace). É uma saída importantíssima para o programa-
dor - tanto que, em qualquer fórum ou lista de discussão, é comum os programadores enviarem, jun-
tamente com a descrição do problema, essa stacktrace. Mas por que isso aconteceu?
O sistema de exceções do Java funciona da seguinte maneira: quando uma exceção é lançada
(throw), a JVM entra em estado de alerta e vai ver se o método atual toma alguma precaução ao
tentar executar esse trecho de código. Como podemos ver, o metodo2 não toma nenhuma medida
diferente do que vimos até agora. Como o metodo2 não está tratando esse problema, a JVM para a
execução dele anormalmente, sem esperar ele terminar, e volta um stackframe pra baixo, onde será
feita nova verificação: “o metodo1 está se precavendo de um problema chamado ArrayIndexOutO-
fBoundsException?” “Não...” Volta para o main, onde também não há proteção, então a JVM morre
(na verdade, quem morre é apenas a Thread corrente, veremos mais para frente).
Obviamente, aqui estamos forçando esse caso e não faria sentido tomarmos cuidado com ele.
É fácil arrumar um problema desses: basta percorrermos a array no máximo até o seu length. Porém,
apenas para entender o controle de fluxo de uma Exception, vamos colocar o código que vai tentar
(try) executar o bloco perigoso e, caso o problema seja do tipo ArrayIndexOutOfBoundsException, ele
será pego (caught). Repare que é interessante que cada exceção no Java tenha um tipo... ela pode ter
atributos e métodos.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

331
Linguagem Técnica de Programação I
Adicione um try/catch em volta do for, pegando ArrayIndexOutOfBoundsException. O que o
código imprime?

Em vez de fazer o try em torno do for inteiro, tente apenas com o bloco de dentro do for. Veja
qual a diferença neste caso.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

332
Linguagem Técnica de Programação I
Exceções de Runtime mais comuns
Que tal tentar dividir um número por zero? Será que a JVM consegue fazer aquilo que nós defi-
nimos que não existe?

Tente executar o programa acima. O que acontece?

Veja outro exemplo de exceções de runtime.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

333
Linguagem Técnica de Programação I
Veja o que acontece neste caso:

Outro tipo de exceção: Checked Exceptions


Fica claro, com os exemplos de código acima, que não é necessário declarar que você está ten-
tando fazer algo onde um erro possa ocorrer. Os dois exemplos, com ou sem o try/catch, compilaram
e rodaram. Em um, o erro terminou o programa e, no outro, foi possível tratá-lo. Mas não é só esse
tipo de exceção que existe em Java. Um outro tipo, obriga a quem chama o método ou construtor a
tratar essa exceção. Chamamos esse tipo de exceção de checked, pois o compilador checará se ela
está sendo devidamente tratada, diferente das anteriores, conhecidas como unchecked.
Um exemplo interessante é o de abrir um arquivo para leitura, onde pode ocorrer o erro do
arquivo não existir.

O código acima não compila e o compilador avisa que é necessário tratar o FileNotFoundExcep-
tion que pode ocorrer.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

334
Linguagem Técnica de Programação I
Para compilar e fazer o programa funcionar, temos duas maneiras que podemos tratar o pro-
blema. O primeiro, é tratá-lo com o try e catch do mesmo jeito que usamos no exemplo anterior, com
uma array.

A segunda forma de tratar esse erro, é delegar ele para quem chamou o nosso método, isto é,
passar para a frente.

No início, existe uma grande tentação de sempre passar o problema pra frente para outros o
tratarem. Pode ser que faça sentido, dependendo do caso, mas não até o main, por exemplo. Aconte-
ce que quem tenta abrir um arquivo sabe como lidar com um problema na leitura. Quem chamou um
método no começo do programa pode não saber ou, pior ainda, tentar abrir cinco arquivos diferentes
e não saber qual deles teve um problema! Não há uma regra para decidir em que momento do seu
programa você vai tratar determinada exceção. Isso vai depender de em que ponto você tem condi-
ções de tomar uma decisão em relação àquele erro. Enquanto não for o momento, você provavelmen-
te vai preferir delegar a responsabilidade para o método que te invocou.
É possível tratar mais de um erro quase que ao mesmo tempo:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

335
Linguagem Técnica de Programação I
Com o try e catch:

Com o throws:

Você pode, também, escolher tratar algumas exceções e declarar as outras no throws:

Bancos de dados e JDBC


Muitos sistemas precisam manter as informações com as quais eles trabalham, seja para per-
mitir consultas futuras, geração de relatórios ou possíveis alterações nas informações. Para que esses
dados sejam mantidos para sempre, esses sistemas geralmente guardam essas informações em um
banco de dados, que as mantém de forma organizada e prontas para consultas.
A maioria dos bancos de dados comerciais são os chamados relacionais, que é uma forma de
trabalhar e pensar diferente ao paradigma orientado a objetos.
O MySQL é o banco de dados que usaremos durante o curso. É um dos mais importantes
bancos de dados relacionais, e é gratuito, além de ter uma instalação fácil para todos os sistemas
operacionais.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

336
Linguagem Técnica de Programação I
A conexão em Java
Conectar-se a um banco de dados com Java é feito de maneira elegante. Para evitar que cada
banco tenha a sua própria API e conjunto de classes e métodos, temos um único conjunto de interfa-
ces muito bem definidas que devem ser implementadas. Esse conjunto de interfaces fica dentro do
pacote java.sql e nos referiremos a ela como JDBC.

Entre as diversas interfaces deste pacote, existe a interface Connection que define métodos para
executar uma query (como um insert e select), comitar transação e fechar a conexão, entre outros.
Caso queiramos trabalhar com o MySQL, precisamos de classes concretas que implementem essas
interfaces do pacote java.sql.
Esse conjunto de classes concretas é quem fará a ponte entre o código cliente que usa a API
JDBC e o banco de dados. São essas classes que sabem se comunicar através do protocolo proprietário
do banco de dados. Esse conjunto de classes recebe o nome de driver. Todos os principais bancos de
dados do mercado possuem drivers JDBC para que você possa utilizá-los com Java. O nome driver é
análogo ao que usamos para impressoras: como é impossível que um sistema operacional saiba con-
versar com todo tipo de impressora existente, precisamos de um driver que faça o papel de “tradutor”
dessa conversa.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

337
Linguagem Técnica de Programação I
Para abrir uma conexão com um banco de dados, precisamos utilizar sempre um driver. A classe
DriverManager é a responsável por se comunicar com todos os drivers que você deixou disponível.
Para isso, invocamos o método estático getConnection com uma String que indica a qual banco dese-
jamos nos conectar. Essa String - chamada de String de conexão JDBC - que utilizaremos para acessar
o MySQL tem sempre a seguinte forma:
jdbc:mysql://ip/nome_do_banco
Devemos substituir ip pelo IP da máquina do servidor e nome_do_banco pelo nome do banco
de dados a ser utilizado. Seguindo o exemplo da linha acima e tudo que foi dito até agora, seria pos-
sível rodar o exemplo abaixo e receber uma conexão para um banco MySQL, caso ele esteja rodando
na mesma máquina.

Repare que estamos deixando passar a SQLException, que é uma exception checked, lançada
por muitos dos métodos da API de JDBC. Numa aplicação real devemos utilizar try/catch nos lugares
que julgamos haver possibilidade de recuperar de uma falha com o banco de dados. Também precisa-
mos tomar sempre cuidado para fechar todas as conexões que foram abertas.
Ao testar o código acima, recebemos uma exception. A conexão não pôde ser aberta. Recebe-
mos a mensagem abaixo:

Pois o sistema ainda não achou uma implementação de driver JDBC que pode ser usada para
abrir a conexão indicada pela URL jdbc:mysql://localhost/fj21.
O que precisamos fazer é adicionar o driver do MySQL ao classpath, o arquivo .jar contendo a
implementação JDBC do MySQL (mysql connector) precisa ser colocado em um lugar visível pelo seu
projeto ou adicionado à variável de ambiente CLASSPATH. Como usaremos o Eclipse, fazemos isso
através de um clique da direita em nosso projeto, Properties/Java Build Path e em Libraries adiciona-
mos o jar do driver JDBC do MySQL.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

338
Linguagem Técnica de Programação I
Referencias
Design Patterns: Elements of Reusable Object-Oriented Software - Eric Gamma
http://pt.wikibooks.org/wiki/Java
http://www.caelum.com.br/

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

339
Curso Técnico em

INFORMÁTICA
Etapa 2

FUNDAMENTOS DE ANÁLISE
Fundamentos de Análise
Carga horária: 2 aulas por semana
Total: 40 horas aula

Objetivos gerais:
• Compreender e auxiliar na construção de um modelo conceitual, para solução de proble-
mas de sistemas de informação;
• Entender, organizar, documentar e prototipar ideias para automatização de processos;
• Caracterizar as fases de construção de um produto/sistema, identificando responsabilida-
des e requisitos no desenvolvimento;
• Técnicas de trabalho junto ao cliente/usuário para avaliar/levantar os requisitos do produ-
to/sistema em desenvolvimento.
• Metodologia Estruturada de Desenvolvimento de Sistemas;
• Ferramentas de desenvolvimento conceitual de análise orientada a objeto de sistemas (dia-
gramas de entidade e relacionamento, dicionário de dados, hierárquico de funções);
• Definição de requisitos conceituais baseados na análise orientada a objetos de sistemas.
• Conhecer os conceitos de análise e projeto e a estrutura da metodologia UML (diagrama de
caso de uso e outros).
• Conhecer as ferramentas que são utilizadas para análise e desenvolvimento de sistemas.

Avaliações:
A avaliação será instrumento de análise e orientação para o planejamento das atividades do
processo ensino e aprendizagem do conteúdo da disciplina.

Critérios 1º Bimestre 2º Bimestre


Avaliação Mensal 10 pontos 10 pontos
Avaliação Cotidiana e Trabalhos 10 pontos 20 pontos
Avaliação por Área de Conhecimento 20 pontos 30 pontos
Total 40 pontos 60 pontos

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

343
Fundamentos de Análise
Bibliografia:
RUP. Ciclo de Vida. Disponível em: http://www.rup.com. 2007

Luís Amaral, João Varajão. Planeamento de Sistemas de Informação. FCA Editora. 2000.

L. A. Maciaszek. Requirements Analysis and System Design: Devloping Information Systems with
UML. Addison-Wesley. 2001.

Yourdon, E. Análise Estrutrada Moderna. Ed. Campos. 1992.

Furlan, José Davi. Modelagem de Objetos através da UML- the Unified Modeling Language. São Paulo:
Makron Books, 1998.

DRUMOND, Gabriela Ferreira, PAULA, Valéria de Castro. Avaliação técnica do MySQL,

SUEHRING, Steve. MySQL, a Bíblia. Tradução Edson Furmankiewicz. – Rio de Janeiro: Campus, 2002.

SQLMagazine.Edição 1 :: Ano 1.

SQLMagazine. Apostila Guia

Manual completo do MySQL. www.sqlmagazine.com.br, acessado em 24/03/04.

FabForce.net. Fabulous Force Databases Tools.

Disponível em: <http://www.fabforce.net/dbdesigner4>. Acesso em:24 de maio de 2004

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

344
Fundamentos de Análise

SUMÁRIO

1. Modelagem de Dados .............................................................................................................347


2. Normalização de Dados............................................................................................................348
3. Ferramenta para modelagem: DBDesing.................................................................................349
3.1 Gerar o script do banco de dados MySQL a partir da ferramenta DBDesigner..................349
4. UML - Unified Modeling Language (Linguagem de modelagem unificada)..............................350
4.1 Introdução..........................................................................................................................350
4.2 Conceitos fundamentais.....................................................................................................351
4.3 Ciclo de vida do desenvolvimento do software..................................................................351
4.4 A importância da modelagem............................................................................................353
4.5 Objetivos da modelagem....................................................................................................353
4.6. Princípios básicos da modelagem......................................................................................353
4.7. Onde a UML pode ser utilizada.........................................................................................353
4.8 A modelagem orientada a objetos.....................................................................................354
4.9. Modelo Conceitual da UML...............................................................................................354
4.10 Requisitos.........................................................................................................................355
4.11 Glossário...........................................................................................................................357
4.12 Visão.................................................................................................................................357
4.13 Diagramas de Caso de Uso...............................................................................................357
4.14 Diagrama de Seqüência....................................................................................................361
4.15 Diagrama de Classes e Objetos.........................................................................................363

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

345
Fundamentos de Análise

1. MODELAGEM DE DADOS

DER – Diagrama Entidade Relacionamento


O diagrama de entidade-relacionamento (DER) é baseado na percepção do mundo real que
consiste em um conjunto de objetos básicos chamados entidades e nos relacionamentos entre estes
objetos.
Ele foi desenvolvido para facilitar o projeto de banco de dados, permitindo a especificação de
um esquema de “negócio”, onde tal esquema representa a estrutura lógica geral do banco de dados.

Entidade
• Conjunto de objetos da realidade modelada sobre os quais deseja-se colecionar dados no
banco de dados
• Pode ser concreta (pessoa,disco, ...) ou abstrata (curso, conceito, circulação, ...)
• Uma entidade representa um conjunto de objetos que se deseja guardar dados
Exemplo:
Sistema bancário – as entidades podem ser: clientes, contas correntes, cheques, agências
Cliente – representa o conjunto de clientes que se deseja manter dados no banco de dados

Relacionamento
Conjunto de associações entre entidades.
• Um conjunto de relacionamentos é uma coleção de ocorrências das entidades relaciona-
das.
• A função que uma entidade exerce em um relacionamento é chamada de papel, normal-
mente implícito, mas muito esclarecedor.
• Também pode ter atributos descritivos (por exemplo: data, hora, etc.)
• A ocorrência de um relacionamento particular dentro de um conjunto de relacionamentos
de um mesmo tipo é chamada de instância do relacionamento
Exemplo:
Suponha o relacionamento “lotação” entre as entidades Departamento e Pessoa.
Este exemplo expressa que o BD armazenará dados sobre:
• um conjunto de objetos classificados como pessoa

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

347
Fundamentos de Análise
Entidade Pessoa
• um conjunto de objetos classificados como departamentos
Entidade Departamento
• um conjunto de associações entre cada pessoa e um departamento

Atributo
Dado que é associado a cada ocorrência de uma entidade ou um relacionamento.

2. NORMALIZAÇÃO DE DADOS

Formas Normais
É o processo formal de normalização que analisa os atributos de uma entidade, com os objetivos
de evitar anomalias ao manipular o banco de dados, facilitar o manuseio, a manutenção e minimizar
redundâncias e inconsistências no sistema de banco de dados.
1ª Forma Normal
Todos os atributos estão definidos em domínios que contêm valores atómicos. Não há conjuntos
de atributos repetidos para um determinado género de característica.
Converter atributos não atómicos em atributos atómicos, por forma a que não se possa incluir
mais que um valor em cada campo de uma tabela.
Eliminar os atributos repetidos, considerando-os elementos de uma nova tabela.

2ª Forma Normal
A tabela já se encontra na 1ª FN. Todos os atributos não-chave são funcionalmente dependentes
da chave na sua totalidade e não apenas de parte da chave.
Identificar a chave de uma entidade:
Se a chave só tem um atributo e a tabela está na 1ª FN, também está na 2ª FN.
Se a chave é composta, analisam-se as dependências dos atributos; se algum ou alguns atributos
dependem de uma parte da chave, a tabela deverá ser decomposta, por forma a que cada atributo
dependa apenas da totalidade da chave.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

348
Fundamentos de Análise
3ª Forma Normal
A tabela já se encontra na 2ª FN.
Nenhum atributo não-chave depende funcionalmente de nenhum outro atributo não-chave.
Analisar todos os atributos não-chave e procurar dependências funcionais; se existir algum con-
junto de atributos que tenha uma dependência funcional em relação a um outro atributo, então de-
compõe-se a tabela até que não haja dependência funcional entre os atributos não-chave; só podem
existir dependências funcionais entre atributos não-chave e a chave.
Atributos atómicos – são atributos os quais não é possível decompor em unidades mais elemen-
tares. (Ex: idade, altura)
Atributos compostos – são atributos que, embora possam ser tratados em conjunto, podem
facilmente ser subdivididos em partes.
(Ex: nome = nome_proprio + nome_apelido).

3. FERRAMENTA PARA MODELAGEM: DBDESING

O BDDesigner é uma ferramenta livre, desenvolvida pela FabForce, tendo como função de vi-
sualizar graficamente o projeto da base de dados, modelar e controlar os dados nele existente. Sua
criação foi baseada em componentes Kylix e Delphi podendo ser utilizada tanto para plataforma Win-
dows ou Linux.
Está disponível na pasta da disciplina um Manual do software.

3.1 Gerar o script do banco de dados MySQL a partir da ferramenta DBDesigner.


a) Selecione o modelo completo criado no DBDesigner (todas as tabelas e relacionamentos)
b) Selecione o menu FILE/EXPORT/SQL Create Script ou clique em (último ícone da paleta
de ferramentas)
c) Preencha a caixa de diálogo de acordo com a figura a seguir:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

349
Fundamentos de Análise

d) Clique no botão “Save Script to file” e dê um nome para seu arquivo. (Bem próximo do as-
sunto proposto)
e) Abra o MySQL, selecione o banco ou crie um.
f) Selecione o menu ARQUIVO/OPEN SCRIPT e abra o arquivo salvo no item 4.
g) Selecione o menu SCRIPT/EXECUTE e o mesmo será executado e as tabelas criadas.
OBS.: Se houver erro na modelagem do banco (dbdsigner) as tabelas não serão criadas e apa-
recerá uma lista de erros.

4. UML - UNIFIED MODELING LANGUAGE


(LINGUAGEM DE MODELAGEM UNIFICADA)

4.1 Introdução
Unificação dos métodos para a criação de um novo padrão.
A UML é uma tentativa de padronizar a modelagem orientada a objetos de uma forma que qual-
quer sistema possa ser modelado corretamente, com consistência, fácil de se comunicar com outras
aplicações, simples de ser atualizado e compreensível.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

350
Fundamentos de Análise
Poderá ser empregada para a visualização, especificação, construção e a documentação de
artefatos que façam uso de sistemas complexos de software.

4.2 Conceitos fundamentais


• Fase: divisão maior de um processo, situada entre dois marcos e onde um conjunto de ob-
jetivos é alcançado, artefatos são completados e decisões são tomadas para avançar para a
fase seguinte
• Iteração: cada divisão menor de uma fase
• Disciplina: sequência de atividades realizadas que produzem algum resultado específico

4.3 Ciclo de vida do desenvolvimento do software


Fases
• Concepção: visão geral do projeto, ideia inicial;
• Elaboração: visão refinada (eliminação dos riscos, identificação da maior parte dos requisi-
tos e escopo)
• Construção: preparação para a implantação
• Transição: teste beta, implantação

Disciplinas
• Modelagem do negócio:
• Requisitos: levantamento e análise do que tem que ser feito
• Análise e Projeto: como deve ser desenvolvido em nível conceitual (desenho, arquitetura,
objetos, base de dados, comunicação e outros)
• Implementação: programação e construção do sistema
• Teste: verificar e validar se o sistema está correto
• Implantação: instalação e configuração do sistema e capacitação dos usuários
• Configuração e alteração: estruturação dos artefatos, gerenciamento de versões e depen-
dências, propostas de alteração e seus estados
• Ambiente: ferramentas e adaptação do processo para atender o projeto

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

351
Fundamentos de Análise
Artefatos
São o produto de cada disciplina dentro de um processo de software. Ex.: Diagramas UML,
código-fonte, gráficos, esquemas de banco de dados, documentos texto, etc.

Artefatos produzidos pelas disciplinas

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

352
Fundamentos de Análise
4.4 A importância da modelagem
• Um modelo é uma simplificação da realidade;
• Construímos modelos para compreender melhor o sistema que estamos desenvolvendo;

4.5 Objetivos da modelagem


• Visualizar o sistema como ele é ou como desejamos que ele seja.
• Permitir especificar a estrutura ou o comportamento de um sistema.
• Proporcionar um guia para a construção do sistema.
• Documentar as decisões tomadas (Requisitos, Arquitetura, Projeto, Código-fonte, Planos do
projeto, Testes, Protótipos e Versões).

4.6. Princípios básicos da modelagem


A escolha dos modelos a serem criados tem profunda influência sobre a maneira como um de-
terminado problema é atacado e como uma solução é definida.
Cada modelo poderá ser expresso em diferentes níveis de precisão (grau de detalhamento).
Os melhores modelos estão diretamente relacionados à realidade. (estruturada: não existe uma
conexão entre o modelo de análise e o modelo de projeto, orientado a objeto: é possível estabelecer
uma conexão entre todos os pontos de vista).
Nenhum modelo único é suficiente. Um modelo é composto por um pequeno conjunto de mo-
delos quase independentes

4.7. Onde a UML pode ser utilizada


A UML se destina a sistemas complexos de software:
• Sistemas de informações corporativos
• Serviços bancários e financeiros
• Telecomunicações
• Transportes
• Defesa/espaço aéreo
• Vendas de varejo
• Eletrônica médica
• Científicos
• Serviços distribuídos baseados na Web

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

353
Fundamentos de Análise
4.8 A modelagem orientada a objetos
A visão contemporânea de desenvolvimento de software adota uma perspectiva orientada a ob-
jetos, ou seja, o principal bloco de construção de todos os sistemas de software é o objeto ou a classe.
Objeto – algo estruturado a partir do vocabulário do espaço de um problema. Um objeto tem
uma identidade (nome), um estado (dados a ele associados) e um comportamento (vc poderá fazer
algo com o objeto).
Classe – descrição de um conjunto de objetos comuns

4.9. Modelo Conceitual da UML


É composto de três elementos principais:
• Blocos de construção básicos da UML
• Regras que determinam como esses blocos poderão ser combinados
• Mecanismos comuns aplicados a UML

Blocos de Construção
1. Itens
Estruturais: substantivos utilizados em modelos UML, parte estática do modelo (classes, interfa-
ce, colaboradores, casos de uso, classes ativas, componentes, artefatos, nós)
Comportamentais: São as partes dinâmicas dos modelos UML, são os verbos de um modelo,
representando comportamentos no tempo e no espaço (interação máquina de estado)
De agrupamentos: São as partes organizacionais dos modelos UML, blocos em que os modelos
podem ser decompostos (pacotes).
Anotacionais: são as partes explicativas dos modelos de UML (nota)

2. Relacionamentos
Dependência: relação em que um item depende do outro
Associação: ligações entre objetos que são instâncias das classes (agregação)
Generalização: objetos dos elementos especializados são substituíveis por elementos do objeto
generalizado
Realização: relacionamento entre classificadores (interfaces/as classes ou componentes e casos
de uso/colaboradores)

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

354
Fundamentos de Análise
3. Diagrama
É a representação gráfica de um conjunto de elementos, geralmente representadas como gráfi-
cos de itens e relacionamentos.
Diagramas utilizados:
• De Classe
• De Objetos
• De Componentes
• De Estruturas compostas
• De Casos de Uso
• De Sequências
• De Comunicações
• De Gráficos de Estados
• De Atividades
• De Implantação
• De Pacote
• De Temporização
• De Visão geral da interação

Regras da UML
Nomes – quais nomes podem ser atribuídos a itens, relacionamentos e diagramas.
Escopo – o contexto que determina um significado específico para um nome.
Visibilidade – como esses nomes podem ser vistos e utilizados pelos outros.
Integridade – como os itens se relacionam entre si de forma adequada e consistente.
Execução – o que significa executar ou simular um modelo dinâmico.

4.10 Requisitos
Conjunto de características, condições ou capacidades que o sistema deve estar de acordo ou
realizar. Dizer as funcionalidades que o sistema deve ter e também o que o sistema deve fazer para
atender tais funcionalidades.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

355
Fundamentos de Análise
Classificação dos Requisitos:
• Funcionais – recursos, capacidades, segurança
• Usabilidade - fatores humanos, ajuda, documentação
• Confiabilidade – capacidade de recuperação e de prever problemas
• Desempenho – tempo de resposta, precisão, disponibilidade, uso de recursos
• Suporte – capacidade de adaptação, manutenção, internacionalização e configuração
• Implementação – limitação de recursos, linguagens e ferramentas, hardware
• Interface – restrições para comunicação com sistemas já existentes
• Operação – gerenciamento e configuração o sistema
• Empacotamento
• Legal – licenciamento, proteção contra pirataria e engenharia reversa

Disciplina de Requisitos
Seu objetivo é identificar e registrar os requisitos para o seu projeto. As principais metas dessa
disciplina são as seguintes:
• Enumerar as necessidades dos interessados para que seja possível definir e negociar o es-
copo do Sistema
• Os documentos conterão alguns termos específicos do negócio (sinônimos, referências, si-
glas e outros) que deverão ser registrados em um glossário
• Identificar as fronteiras da aplicação
• Estabelecer e manter o acordo entre os clientes e demais interessados sobre o que o siste-
ma deve fazer e por que
• Ajudar os desenvolvedores a compreender melhor os requisitos do sistema
• Fornecer uma base para o planejamento das atividades técnicas durante as iterações
• Fornecer uma base para estimar custo e prazo
• Definir uma interface de usuário, focando nas metas e necessidades

Atividades da Disciplina de Requisitos


• Criar um vocabulário padrão (glossário)
• Desenvolver o documento de visão
• Eleger quais requisições dos interessados serão implementadas
• Encontrar casos de uso e atores
• Gerenciar dependências entre requisitos

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

356
Fundamentos de Análise
• Priorizar os casos de uso
• Detalhar os casos de uso
• Detalhar os demais requisitos

4.11 Glossário
• É um artefato que tem a finalidade de auxiliar a compreensão dos conceitos chave. Deve ter
sua elaboração iniciada na fase de concepção e mantido durante as demais.
• Termos usados no negócio e no Sistema
• Deve ser consolidado e consistente com outros documentos
• Ideal para registrar termos, sigla, acrônimos e abreviaturas

4.12 Visão
• Documento que fornece base para requisitos técnicos mais detalhados
• Transmite a ideia dos “porquês” e dos “quês”
• Pode ser usado ao longo do projeto para auxiliar decisões e definições
• Geralmente descreve:
• Termos chave
• Interessados e usuários
• Funcionalidades previstas, requisitos funcionais e não funcionais
• Restrições de desenho

4.13 Diagramas de Caso de Uso


É uma técnica usada para descrever e definir os requisitos funcionais de um sistema.
Objetivos:
• Decidir e descrever os requisitos funcionais do sistema.
• Fornecer uma descrição clara e consistente do que o sistema deve fazer.
• Permitir descobrir os requisitos funcionais das classes e operações do sistema. (Casos de
uso NÃO são requisitos)

Componentes
• Ator - é um papel que tipicamente estimula/solicita ações/eventos do sistema e recebe
reações. Cada ator pode participar de vários casos de uso

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

357
Fundamentos de Análise
• Casos de uso - documento narrativo que descreve a sequência de eventos feitos por um
ator no uso do sistema.
• Sistema - O sistema a ser modelado

Como identificar atores?


Para identificar os atores que vão participar do modelo devemos fazer as seguintes perguntas
• Quem usa o sistema?
• Quem inicializa o sistema?
• Quem fornece os dados?
• Quem usa as informações?

Como descrever atores?


• Nome do caso de uso
• Tipo de uso (frequente, ocasional, etc...)
• Descrição de seu papel no sistema
• Como Identificar casos de uso?

Os casos de uso são interações entre os atores e o sistema. Temos então ações do ator e ações
do sistema. Sendo que os atores sempre iniciam a ação.
Exemplo
Vamos supor, por questão de simplicidade, que temos que modelar usando casos de uso a com-
pra de item em uma loja com um terminal de ponto de venda.
Descrição textual
Caso de uso - Comprar Item
Atores - Cliente, Caixa
Descrição
• Este caso de uso começa quando um cliente chega ao terminal com itens que deseja com-
prar.
• O caixa registra os itens, recebe o pagamento e emite uma nota fiscal.
• O Cliente recebe os itens comprados.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

358
Fundamentos de Análise
Diagrama

Considerações
• Nomeie um caso de uso começando com um verbo, para enfatizar que ele é um processo.
Ex: Cadastrar Cliente, Comprar Item, etc.
• Para identificar claramente um ator iniciador e um evento comece a descrição da sequência
de um caso de uso usando o seguinte esquema:
• Este caso de uso começa quando o <Ator>  <Evento que inicia o caso de uso>
Ex: Este caso de uso começa quando um cliente chega com vários itens para comprar

Relacionamentos
1. Inclusão: Se um caso de uso inicia ou inclui o comportamento de outro, dizemos que ele usa
o outro.
Ex: No caso de uso Comprar Item se o pagamento for feito com dinheiro podemos ter a
inclusão PagarComDinheiro

O relacionamento de inclusão em UML é ilustrado com uma linha de generalização com o rótulo
<<include>>.
Então para o exemplo do cliente com o use case Solicitar Pedidos de peças teríamos:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

359
Fundamentos de Análise
Propriedades da inclusão:
• Realizar uma decomposição funcional;
• Reduzir a complexidade de um caso de uso;
• O caso de uso básico não pode executar sem a inclusão;
• Comportamento comum.

2. Extensão : Define pontos de extensão que adicionam comportamento a um caso de uso


base descrevendo uma variação do comportamento normal.
O caso de uso base pode ser executado mesmo sem a extensão.
Ex: O caso de uso Comprar Produto pode apresentar a extensão Compra por um Cliente
Regular. Abaixo temos o diagrama UML

3. Generalização: Indica um caso de base que possui diferentes especializações e inclui com-
portamento ou sobrescreve o caso de uso base.
1. O caso de uso Pagar fatura apresenta as generalizações: Pagamento com cartão  e Paga-
mento com Cheque

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

360
Fundamentos de Análise
Relacionamentos entre atores
Um ator especializado pode acessar os casos de uso de um Ator base.
Exemplo onde o Ator gerente acessa os casos de uso do ator funcionário.

4.14 Diagrama de Sequência


O diagrama de sequência é uma ferramenta que deve ser utilizada sempre em função dos ca-
sos de uso. Um diagrama de sequência captura o comportamento de um único caso de uso, ou seja,
mostra a interação entre os objetos ao longo do tempo, apresentando os objetos que participam da
interação e a sequência das mensagens trocadas.
NOTAÇÃO:
O diagrama é composto por:
Objeto: É uma caixa na parte superior de uma linha tracejada verticalmente. A linha vertical é
chamada de linha da vida do objeto, e representa a vida do objeto durante a interação.
Mensagem: É representada por uma flecha entre as linhas de vida de dois objetos. Cada mensa-
gem deve ter um nome, é comum incluir os argumentos e algumas informações de controle.
Veja os exemplos a seguir:

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

361
Fundamentos de Análise

Um diagrama de sequência é um diagrama de objetos, ou seja, ele contém como primitiva prin-
cipal um conjunto de objetos de diferentes classes. O objetivo dos diagramas de sequência é descrever
as comunicações necessárias entre objetos para a realização dos processos em um sistema computa-
cional. Os diagramas de sequência têm este nome porque descrevem ao longo de uma linha de tempo
à sequência de comunicações entre objetos. Como podem existir muitos processos em um sistema
computacional, sugere-se proceder à construção dos diagramas de sequência por caso de uso. Assim,
tomar-se-ia separadamente cada caso de uso para a construção de seus diagramas de sequência. De
uma forma geral, para cada caso de uso constrói-se um diagrama de sequência principal descrevendo
as sequências normais de comunicação entre objetos e diagramas complementares descrevendo se-
quências alternativas e tratamento de situações de erro.
Utiliza-se também o termo cenário associado com os diagramas de sequência. Um cenário é
uma forma de ocorrência de um caso de uso. Como o processo de um caso de uso pode ser realizado
de diferentes formas, para descrever a realização de um caso de uso pode ser necessário estudar vá-
rios cenários. Cada cenário pode ser descrito por um diagrama de sequência. No exemplo do caso de
uso Cadastrar Aluno do sistema de controle acadêmico, pode-se considerar os cenários de inclusão,
alteração e exclusão de aluno.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

362
Fundamentos de Análise
4.15 Diagrama de Classes e Objetos
Em POO, os problemas de programação são pensados em termos de objetos, nada de funções,
rotinas, nada disto, o assunto são os objetos, propriedades e métodos.
A preocupação da programação estruturada estava em procurar os processos que envolviam o
problema e não os objetos que o compunham.
Desta forma quando é colocado o problema de desenvolver um sistema para locadoras, por
exemplo, devemos pensar como dividir o problema em objetos. Para este caso podemos ter os seguin-
tes objetos:  Clientes, CDs e Fitas,  etc..
A melhor maneira de conceituar estes termos é considerar um objeto do mundo real  e mostrar
como podemos representá-lo em termos conceitos para POO.
Começando com as definições: “Um objeto  é um termo que usamos para representar uma en-
tidade do mundo real”  (Fazemos isto através de um exercício de abstração.)
Vou usar como exemplo o meu cachorro Bilu. Posso descrever o Bilu  em termos de seus atributos
físicos: é pequeno, sua cor principal é castanha, olhos pretos, orelhas pequenas e caídas,  rabo peque-
no, patas brancas.
Posso também descrever algumas ações que ele faz (temos aqui os métodos):  balança o rabo
quando chego em casa, foge e se deita se o mando sair debaixo da mesa, late quando ouve um baru-
lho ou vê um cão ou gato,  atende e corre quando o chamo pelo seu nome. Temos abaixo a represen-
tação do Bilu.
 

 
Meu cachorro Bilu
Em termos de POO para poder tratar os objetos começamos criando classes, neste caso irei criar
a classe chamada Cachorro.
 “Uma classe representa um conjunto de objetos que possuem comportamentos e característi-
cas comuns”.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

363
Fundamentos de Análise
“Na UML o nome de uma classe é um texto contendo letras e dígitos e algumas marcas de
pontuação. Na realidade, é melhor guardar os nomes curtos com apenas letras e dígitos. UML sugere
capitalizar todas as primeiras letras de cada palavra no nome (ex.: “Lugar’’, “DataReserva’’). É melhor
também manter nomes de classe no singular, classes por default ``contem’’ mais de um objeto, o plu-
ral é implícito.”. [Nicolas Anquetil]
Uma classe descreve como certos tipos de objetos se parecem do ponto de vista da programa-
ção, pois quando definimos uma classe precisamos definir duas coisas:
1. Propriedades - Informações específicas relacionadas a uma classe de objeto. São as carac-
terísticas dos objetos que as classes representam. Ex Cor, altura, tamanho, largura, etc...
2. Métodos: São ações que os objetos de uma classe podem realizar. Ex: Latir, correr, sentar,
comer, etc.
 
Você pode pensar em uma classe com um modelo para criar quantos objetos você desejar de
um tipo particular. Pense em um carimbo com a imagem de um cachorro, quando você carimba e
obtêm um desenho de cachorro você acabou de criar uma instância da classe e obteve um objeto da-
quela classe. O novo objeto possuirá todas as características e comportamentos definidos pela classe.
(As classes especificam a estrutura e o comportamento (operações) dos objetos, que são instân-
cias das classes)

 Geralmente em um sistema de médio porte serão identificados diversas classes que compõem
o sistema. Neste contexto a UML surgiu como uma proposta de ser uma linguagem para modelagem
de dados que usava diversos artefatos para representar o modelo de negócio ; um destes artefatos é
o diagrama de classes.
 

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

364
Fundamentos de Análise
A representação de uma classe usa um retângulo dividido em três partes:
 

 
Os diagrama se classes ilustram atributos e operações de uma classe e as restrições como que
os objetos podem ser conectados ; descrevem também os tipos de objetos no sistema e os relaciona-
mentos entre estes objetos que podem ser : associações e abstrações.
 Para poder representar a visibilidade dos atributos e operações em uma classe utiliza-se as se-
guintes marcas e significados:
+ público - visível em qualquer classe
# protegido - qualquer descendente pode usar
- privado - visível somente dentro da classe

Relacionamento entre classes


Os objetos tem relações entre eles: um professor ministra uma disciplina para alunos numa sala,
um cliente faz uma reserva de alguns lugares para uma data, etc. Essas relações são representadas
também no diagrama de classe. [Nicolas Anquetil]
A UML reconhece três tipos mais importantes de relações: dependência, associação e generali-
zação (ou herança).
Geralmente as classes não estão sós e se relacionam entre si. O relacionamento e a comunica-
ção entre as classes definem responsabilidades, temos 3 tipos :
1. Associações :  Agregação e composição
2. Generalização (herança)
3. Dependências

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

365
Fundamentos de Análise
As representações usam a seguinte notação:
 

Associação: São relacionamentos estruturais entre instâncias e especificam que objetos de


uma classe estão ligados a objetos de outras classes. Podemos ter associação uniária , binária , etc.
A associação pode existir entre classes ou entre objetos. Uma associação entre a classe Professor
e a classe disciplina (um professor ministra uma disciplina) significa que uma instância de Professor
(um professor específico) vai ter uma associação com uma instância de Disciplina. Esta relação significa
que as instâncias das classes são conectadas, seja fisicamente ou conceitualmente.[Nicolas Anquetil]
Dependência - São relacionamentos de utilização no qual uma mudança na especificação de
um elemento pode alterar a especificação do elemento dependente. A dependência entre classes
indica que os objetos de uma classe usam serviços dos objetos de outra classe.
Generalização (herança : simples ou composta) - Relacionamento entre um elemento mais geral
e um mais específico. Onde o elemento mais específico herda as propriedades e métodos do elemento
mais geral. A relação de generalização também é conhecida como herança no modelo a objetos. Como
a relação de dependência, ela existe só entre as classes. Um objeto particular não é um caso geral de
um outro objeto, só conceitos (classes no modelo a objetos) são generalização de outros conceitos.
Agregação Regular - tipo de associação ( é parte de, todo/parte) onde o objeto parte é um
atributo do todo ; onde os objetos partes somente são criados se o todo ao qual estão agregados seja
criado. Pedidos é composto por itens de pedidos.
Composição - Relacionamento entre um elemento ( o todo) e outros elementos (as partes) onde
as parte só podem pertencer ao todo e são criadas e destruídas com ele.

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

366
Fundamentos de Análise
O diagrama de de classes lista todos os conceitos do domínio que serão implementados no
sistema e as relações entre os conceitos. Ele é muito importante pois define a estrutura do sistema a
desenvolver.
 O diagrama de classes não surge do nada ele é consequência do prévio levantamento de requi-
sitos, definição de casos de usos e classes. Como exemplo vamos supor que você tivesse que desen-
volver um sistema para automatizar um consultório dentário. As etapas básicas envolvidas seriam:
• Levantamento e análise de requisitos do sistema a ser desenvolvido. Entrevista com o den-
tista(s) e com as pessoas que trabalham no consultório
• Definição dos objetos do sistema :     Paciente, agenda, dentista, serviço, contrato, consulta,
pagamento, etc..
• Definição dos atores do sistema : paciente, dentista, secretária
• Definição e detalhamento dos casos de uso: marcar consulta, confirmar consulta, cadastrar
paciente, cadastrar serviços, etc.
• Definição das classes :  paciente, dentista, exame, agenda, serviço
• Definir os atributos e métodos das classes :
• Após toda esta análise você chega  no diagrama de classes do sistema (representado abaixo
a título de exemplo ilustrativo)
 

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

367
Fundamentos de Análise
Atributo  
Um atributo representa uma propriedade que todos os objetos da classe têm (por exemplo,
todos os cachorros tem pelo, orelhas, altura,,etc. Mas cada objeto terá valores particulares para seus
atributos (alguns cachorros são mais baixos, outros são maiores,  etc.).
Uma classe pode ter qualquer número de atributos. Na UML, o nome de um atributo é um texto
contendo letras e dígitos e algumas marcas de pontuação. UML sugere de capitalizar todas as primei-
ras letras de cada palavra no nome menos a primeira palavra (ex.: “nome’’, “nomeCachorro’’).
Num modelo, os atributos devem ser de um tipo simples (inteiro, texto, talvez data), não podem
conter outros objetos.

Métodos
Métodos são ações que implementam uma operação. Uma classe pode ter qualquer número
de métodos e dois métodos em duas classes podem ter o mesmo nome. Todos os métodos que vão
implementar a operação tem que respeitar exatamente a assinatura dela (mesmo nome, mesmo nú-
mero de atributo, com os mesmo tipos e o mesmo ordem). Um método não pode acrescentar ou cor-
tar um parâmetro. Isso seria um violação do polimorfismo. Para mandar a mensagem corretamente,
teríamos que saber qual é a classe do objeto (cada classe tendo método com assinatura diferente). O
que é possível, no caso de cortar um parâmetro, é simplesmente ignorá-lo na implementação. [Nico-
las Anquetil].

Fundação de Educação para o Trabalho de Minas Gerais – Curso Técnico em Informática – Etapa 2

368

Você também pode gostar