Você está na página 1de 106

PONTIFCIA UNIVERSIDADE CATLICA DE SO PAULO

PUCSP

A formao de profissionais em tecnologia da


informao na rea de desenvolvimento
de software

Carlos Olavo de Azevedo Camacho Jnior

MESTRADO EM TECNOLOGIAS DA INTELIGNCIA E


DESIGN DIGITAL

SO PAULO
2011

PONTIFCIA UNIVERSIDADE CATLICA DE SO PAULO


PUCSP

A formao de profissionais em tecnologia da


informao na rea de desenvolvimento
de software

Carlos Olavo de Azevedo Camacho Jnior

MESTRADO EM TECNOLOGIAS DA INTELIGNCIA E


DESIGN DIGITAL

Dissertao apresentada Banca Examinadora da


Pontifcia Universidade Catlica de So Paulo, como
exigncia parcial para obteno do ttulo de MESTRE
em Tecnologias da Inteligncia e Design Digital com
rea de concentrao em aprendizagem e semitica
cognitiva, sob a orientao da Prof. Dr Snia Maria
de Macedo Allegretti.

SO PAULO
2011

Banca Examinadora
_____________________________________

_____________________________________

_____________________________________

Dedicado memria de Danilo Hessel Reimberg.

A Deus, pela vida.


minha esposa Catia, pelo amor e companheirismo.
Aos meus pais Carlos e Vanda, pelo amor incondicional.
Aos meus irmos Henrique e Alline, pelo amor, carinho, amizade e
incentivo de sempre.
Aos meus sogros Benedito e Maria, por acolherem-me como um filho
desde que me conheceram.
Ao amigo Nelson Paz, pelas valiosas conversas sobre tecnologia e
pela reviso do livro publicado durante esta jornada. Ao corpo docente e
discente do CEFET-Cubato por acreditar, apoiar e viver o projeto LOJA .NET
em sua plenitude.
Aos amigos da PUC-SP, em especial aos professores Jorge Vieira e
Snia Allegretti, por mostrarem-me novos horizontes. amiga Edna Conti pelo
incentivo sempre perspicaz e em momento oportuno.
Aos amigos Milton Maruyama, Silvana Guardiano, Rosangela Compri,
Maria Aparecida Pereira de Souza, Dirce Kazuko Kaneko, Gisele de Oliveira
Belome, Marco Antonio Milanez, Hber Calixto e toda a equipe do Banco do
Brasil S.A., pelo incentivo e por acreditar nas minhas idias.
Aos amigos da clula de estudos Microsoft Objective! Club da FATECSP pelo compartilhamento de ideais. Em especial aos alunos Danilo Rocha e
Felipe Tfoli, que demonstraram atitude em desbravar a linguagem C# .NET.
Profa. Melania Dalla Torre, Prof. Avelino Pimenta e todos da UNIP
Ribeiro Preto pelo apoio e carinho cativante.
Laura Generini, Michele Beck Schrer, Nilton e toda a equipe da
Editora VisualBooks por patrocinar o projeto de publicao do livro.
Aos leitores do livro por acreditarem que atravs dele possvel
alavancar seus conhecimentos em desenvolvimento de software.
A todos que ajudaram direta ou indiretamente para a realizao deste
trabalho.

Resumo
O trabalho de pesquisa realizado tem como objetivo geral conhecer em que
medida o desenvolvedor de software - estudante de um curso tcnico de
informtica - pode se beneficiar com a utilizao de um projeto de aplicao
para a assimilao da metodologia de desenvolvimento em camadas.
Atualmente empresas de desenvolvimento de software buscam excelncia na
prestao de servios. Com isso acompanhamos o surgimento de diversas
ferramentas para o aumento de produtividade. Dentre elas destaca-se a IDE
(Integrated Development Environment - Ambiente de Desenvolvimento
Integrado) e conhecer essas ferramentas torna-se essencial para este
profissional. Mas o conjunto de competncias (Perrenoud, Le Boterf) exigidas
pelo profissional desenvolvedor de software no se restringe aos aspectos
tcnicos. Analisamos neste trabalho quais as competncias necessrias ao
profissional de desenvolvimento de software. Essa anlise tem base no
pensamento complexo de Edgar Morin.
Visando demonstrar ainda a importncia dos padres quando se trata de
tecnologia, buscamos na histria da prpria Internet (Vint Cert, Demi Getsko)
exemplos para analisar a necessidade de padronizao. Pesquisamos um
padro denominado "metodologia de desenvolvimento em camadas". Para
analisar com maior profundidade a importncia dos padres, criamos neste
trabalho um material didtico (projeto LOJA .NET) que permitiu ao aluno
exercitar conceitos sobre desenvolvimento de software. Tendo analisado as
competncias exigidas para o profissional de desenvolvimento de software bem
como a importncia do uso de padres nesta profisso, analisamos se o
projeto LOJA .NET contribui com este profissional no uso de suas habilidades e
competncias para compreender como utilizar padres no processo de
desenvolvimento de software.
Com o apoio do IFET-SP Instituto Federal de Educao, Cincia e Tecnologia
de So Paulo realizamos uma pesquisa qualitativa onde alunos do curso
tcnico em informtica utilizaram o projeto proposto. Utilizar conhecimentos
que o aluno j possui; conhecer o que este aluno capaz de fazer com a ajuda
do professor ou de outro aluno e atuar nesse intervalo, ou seja, no caminho
que o aluno vai percorrer at que consiga realizar sozinho o que atualmente s
consegue realizar com o auxlio de algum so conceitos advindos da teoria de
Vygotsky.
Com a anlise desta pesquisa buscamos identificar a relevncia do uso de
projetos de aplicao na formao do profissional de desenvolvimento de
software.
Palavras-chave: desenvolvimento de software, desenvolvimento em camadas,
microsoft c# .net, projeto de aplicao, metodologia.

Abstract
This research aims to verify how application projects can help the software
developer professional to acquire knowledge about the 3-tier development
model.
Nowadays companies want to prove that their services are accomplished with
the best quality standards of information technology. To do that many tools are
created and a special one is called IDE Integrated Development Environment.
An IDE allows the software developer professional to bring efficacy into his
project.
We will discuss what skills are important to this professional. This research will
analyze the question: Why do companies based on information technology like
to use processes with patterns? To demonstrate the importance of patterns in
technology field, we search the Internet history (Vint Cert, Demi Getsko) to
discuss the patterns used in Internet history. We have written articles about
.NET development to demonstrate how to use patterns in a software
development project.
This research originated a book titled "Desenvolvimento em Camadas com C#
.NET (available in portuguese only)" who was used by IFET-SP students in a
study.
Well analyze this study to get indicators about the efficiency of application
project in the educational process of the software developer professionals.
Key-words: software development, 3-tier development model, Microsoft C#
.NET, application project, methodology.

8
Lista de Figuras

Figura 1 Representao das camadas da Internet

42

Figura 2 Representao do Modelo de Desenvolvimento em Camadas 47


Figura 3 Capa do livro Desenvolvimento em Camadas com C# .NET

63

Figura 4 Palestra proferida no CEFET

64

9
Lista de Tabelas

Tabela 1 Relao de disciplinas do Mdulo I CEFET

54

Tabela 2 Relao de disciplinas do Mdulo II CEFET

54

Tabela 3 Relao de disciplinas do Mdulo III CEFET

55

Tabela 4 Relao de disciplinas do Mdulo IV CEFET

55

10
Lista de Grficos

Grfico 1: Conceitos de Programao Orientada a Objetos

69

Grfico 2: Conceito de Desenvolvimento em Camadas

71

Grfico 3: Integridade Referencial em Banco de Dados

73

Grfico 4: Criao de Tabelas em Banco de Dados

75

Grfico 5: Criao e uso de Stored Procedures

77

Grfico 6: Funcionamento da construo de Aplicaes Windows

79

Grfico 7: Funcionamento da construo de Aplicaes Web

81

Grfico 8: Como funciona o uso da Segurana da Informao

83

Grfico 9: Conhecimentos gerais em Desenvolvimento de Sistemas

85

Grfico 10: Avaliao do projeto LOJA .NET pelos alunos

87

11

SUMRIO
INTRODUO.............................................................................

13

CONSTRUO DE SOFTWARE E AS COMPETNCIAS


NECESSRIAS

1.1

Projeto de Aplicao na Construo de Software.......................

18

1.1.1

O incio de um Projeto de Aplicao...........................................

19

1.2

Construo de Software X Competncias necessrias..............

20

1.2.1

Aspectos tcnicos e perfil comportamental.................................

21

1.2.1.1 Aspectos tcnicos........................................................................

21

1.2.1.2 O Perfil Comportamental.............................................................

30

1.3

As 5 competncias analisadas com o projeto LOJA .NET..........

32

1.3.1

Qual o diferencial do projeto LOJA .NET?...................................

33

1.3.1.1 Complexidade...............................................................................

33

1.3.1.2 Transdisciplinaridade....................................................................

35

DESENVOLVIMENTO EM CAMADAS

2.1

possvel definir Internet?..........................................................

40

2.2

Os padres na Internet................................................................

41

2.2.1

Padres no Desenvolvimento de Software.................................

44

2.3

O Desenvolvimento de Aplicaes em Camadas.......................

46

12
3

ALUNOS DO CEFET

3.1

Histrico do IFSP.........................................................................

3.2

Pblico-alvo da pesquisa: Alunos do Curso Tcnico em

51

Informtica...................................................................................

53

3.3

O projeto LOJA .NET...................................................................

57

3.3.1

A necessidade de definir ferramentas.........................................

58

3.3.2

Publicao de artigos..................................................................

59

3.3.3

O livro Desenvolvimento em Camadas com C# .NET..............

62

3.4

Anlise do Questionrio Final......................................................

64

3.4.1

Contexto da Aplicao de Questionrios....................................

67

CONSIDERAES FINAIS.........................................................

89

ANEXOS
Glossrio......................................................................................

94

Abreviaturas.................................................................................

99

Questionrio para o(a) Aluno(a)..................................................

100

Referncias Bibliogrficas...........................................................

104

13
Introduo

Sou Bacharel em Cincia da Computao, possuo Licenciatura Plena em


Matemtica e especializao em Anlise e Projeto de Sistemas.
Desde criana tenho fascnio pela informtica, meu interesse vai desde tarefas
de escritrio como imprimir etiquetas auto-adesivas para endereamento de
correspondncia at o desenvolvimento de sistemas complexos para grandes
empresas como Instituies Financeiras.
Cursei o bacharelado em Cincia da Computao na Universidade Paulista
UNIP de 1997 a 2000. Nesse perodo j me interessava no ensino de
disciplinas como linguagem de programao e banco de dados. No consegui
me candidatar para monitoria nestas disciplinas pois como j trabalhava na
Instituio em tempo integral no dispunha de tempo para atividades extras.
Um de meus professores que na poca tambm era o coordenador do curso de
Cincia da Computao reconheceu o meu interesse em lecionar e sugeriu que
eu realizasse uma especializao. Em 2002 realizei uma ps-graduao em
Anlise e Projeto de Sistemas sob orientao deste mesmo professor.
Ainda em 2002 fui convidado pelo coordenador de cursos da rea de Cincias
Exatas da Universidade de Santo Amaro UNISA e lecionei disciplinas tcnicas
para alunos do ltimo semestre do curso superior de Desenvolvimento de
Websites.
Foi a partir da que comecei a pesquisar estratgias que auxiliassem os alunos
na assimilao de contedos na rea de informtica.

14
Em 2005, momento em que ingressei no cargo de Analista de Sistemas para o
Banco Nossa Caixa S.A., conheci o amigo Nelson da Silva Paz, professor no
Curso Tcnico em Informtica do CEFET1 Cubato.
Alm de trabalharmos para a mesma empresa, temos em comum o interesse
no

desafio

relacionado

desenvolver

situaes

de

aprendizagem

diferenciadas, estimulando a articulao entre saberes e competncias. Temos


em comum a preocupao de demonstrar aos alunos possibilidades de uso dos
padres de qualidade de desenvolvimento de software2 exigidos pelo mercado
e como utiliz-los na prtica. Desde ento passei a refletir constantemente
sobre como criar uma situao onde o aluno possa adquirir as competncias
necessrias sua atuao profissional como desenvolvedor de software.
Segundo o Prof. Nelson, seus alunos do Ensino Mdio tcnico em informtica
tinham boas avaliaes nas disciplinas isoladamente, mas sentiam dificuldades
no final do curso, momento em que era exigido a entrega do Trabalho de
Concluso de Curso. Neste trabalho final era preciso utilizar a soma dos
saberes das diferentes disciplinas cursadas para construir um software.
No incio de 2008 defini como pblico-alvo da minha pesquisa os alunos do
Ensino Mdio que esto em formao tcnica da rea de informtica. Norteei
meu problema de pesquisa com a questo: A utilizao de projetos de
aplicao dos conceitos de forma prtica fundamentada no mtodo de
Desenvolvimento em Camadas contribui para que alunos de cursos tcnicos
em informtica desenvolvam competncias na construo de software?

1
2

Centro Federal de Educao Profissional e Tecnolgica.


Software uma sequncia de instrues a serem executadas por um computador. Software

tambm o nome dado ao conjunto de produtos desenvolvidos no processo de software, onde


incluem-se programas, manual de instalao, manual do usurio, dentre outros.

15
O presente trabalho teve como objetivo principal identificar em que medida a
utilizao de projetos de aplicao dos conceitos de forma prtica
fundamentada no mtodo de Desenvolvimento em Camadas contribui para
que alunos de cursos tcnicos em informtica desenvolvam competncias na
construo de software. Foi proposto um projeto para alunos a partir do 3
Semestre de um curso tcnico em informtica, e observamos o aproveitamento
destes alunos aps a execuo deste projeto. Para atingir esse objetivo, alguns
objetivos secundrios foram pertinentes ao estudo:
Objetivo Geral
Tendo como pblico-alvo os alunos no Ensino Mdio que esto em formao
tcnica na rea de informtica, no incio de 2008 norteei meu problema de
pesquisa com a questo:
Verificar qual a contribuio do projeto de Desenvolvimento em Camadas para
o desenvolvimento de competncias na construo de software.
Objetivos Especficos
Definir projeto de aplicao na construo de software;
Analisar as competncias necessrias ao desenvolvedor de software;
Analisar o mtodo de desenvolvimento em camadas;
Realizar a anlise de um grupo de alunos do curso tcnico em informtica que
utilizou o mtodo de desenvolvimento em camadas.

16
Metodologia
A anlise quantitativa atua sobre os nveis de realidade e tem como objetivo
bsico trazer luz dados, indicadores e tendncias observveis. A investigao
qualitativa, pelo contrrio, trabalha com valores, com crenas, representaes,
hbitos, atitudes e opinies.
Realizamos uma pesquisa qualitativa, e utilizamos questionrios como
instrumento de coleta de dados.
Foi proposto um projeto para alunos a partir do 3. Semestre de um curso
tcnico em informtica, e observamos o aproveitamento destes alunos aps a
execuo deste projeto.
Instrumentos:
Atravs de um questionrio inicial de sondagem os alunos fizeram uma autoanlise do que conhecem sobre os assuntos relacionados no projeto de
aplicao proposto. Aps a realizao do projeto aplicamos um questionrio
final a fim de verificar se os alunos perceberam avanos com relao aos
tpicos envolvidos no projeto.
Estruturamos a dissertao em trs captulos.
O

primeiro

captulo,

denominado

Construo

de

Software

as

Competncias Necessrias, traz definies do que vem a ser projeto de


aplicao e analisa quais as competncias exigidas pelo mercado atual de
Tecnologia

da

Informao

quando

empresas

desejam

contratar

desenvolvedores de software. Analisamos o que difere o mtodo de


desenvolvimento em camadas do ensino tradicional. Para essa anlise tivemos
como alicerce o pensamento complexo (Edgar Morin).
No segundo captulo Desenvolvimento em Camadas realizamos um
estudo aprofundado sobre os padres existentes na Internet e sua importncia.
Tendo esse estudo como alicerce, buscamos justificar a importncia do uso de
padres no Desenvolvimento de Software.
No terceiro captulo realizamos uma anlise qualitativa sobre as competncias
em desenvolvimento de software demonstradas pelos Alunos do CEFET onde
colocamos em prtica uma sugesto para demonstrar o uso de padres no
Desenvolvimento de Software. Primeiramente descrevemos os desafios

17
encontrados na idealizao e criao de um material didtico sobre o tema.
Analisamos ainda aspectos relevantes observados durante a aplicao do
material didtico que consiste no desenvolvimento de um projeto em
Tecnologia da Informao junto aos alunos do Curso Tcnico do CEFET
Unidade Cubato.
Atravs de um formulrio inicial de sondagem verificamos o que os alunos
conheciam sobre os assuntos envolvidos no projeto de aplicao proposto.
Aps a execuo do projeto pelos alunos, que teve durao de seis meses,
aplicamos novo questionrio para verificar se houve a percepo de melhorias
no que se refere aos assuntos envolvidos no projeto realizado.
No avaliamos o desempenho dos alunos aps o trmino de sua formao,
momento de ingresso no mercado de trabalho.

18
CAPTULO 1
Construo de Software e as competncias necessrias
Quando se fala sobre a Construo de Software, se est necessariamente
falando sobre Projeto de Aplicao. preciso que haja um Projeto de
Aplicao para que um software seja construdo.
Dessa forma, antes de abordarmos a Construo de Software e as
competncias necessrias importante exemplificar o que e como surge um
Projeto de Aplicao.
1.1 Projeto de Aplicao na Construo de Software
Por que as empresas contratam profissionais para a construo de um
software se j existem tantos tipos de software a venda no mercado?
Os desenvolvedores de software so requisitados pelas empresas pois estas
tm problemas especficos que precisam ser solucionados. As necessidades
especficas de uma empresa no podem ser satisfeitas com um software criado
para propsitos gerais. neste cenrio que surge o projeto de aplicao.
Imaginemos uma rede de supermercados com lojas espalhadas em diversos
Estados. O gerente desta empresa deseja saber a quantidade de TVs de uma
determinada marca que foi vendida por loja em cada dia da semana, ou ainda,
seu desejo saber o nmero exato de TVs vendidas at aquele instante.
A necessidade em analisar dados em tempo real est diretamente ligada
eficcia no gerenciamento de muitas empresas.
Um software capaz de prover o administrador de empresas com a informao
atualizada a qualquer momento chamado de SAD Software de Apoio
Deciso.
Um software com essa caracterstica no ser encontrado venda em uma loja
de informtica. Esse tipo de software construdo tendo como base as
necessidades especficas de uma empresa. Isto exemplifica porque as
empresas contratam profissionais da rea de desenvolvimento de software;
para que se mantenham competitivas, objetivando satisfazer seus clientes
aumentando constantemente a qualidade de seus servios.

19
1.1.1 O incio de um Projeto de Aplicao
Quando uma empresa identifica a necessidade da construo de um software,
geralmente ela contrata uma consultoria especializada para essa misso.
A consultoria, ao ser contratada, agenda uma reunio para que sejam
discutidos os detalhes da necessidade de seu cliente.
Dentre os profissionais que a consultoria envia para esta reunio, h um
profissional com o perfil tcnico. Alm de compreender as necessidades do
cliente,

este

profissional

possui

conhecimentos

para

gerao

de

determinados documentos que sero utilizados na concepo de uma soluo


computacional para solucionar o problema.
Quando o conjunto de documentos necessrios ao desenvolvimento de um
software criado, dizemos que temos o projeto de aplicao. uma traduo
da soluo aprovada pelo cliente a ser implementada como uma aplicao
computacional.

20
1.2 Construo de Software X Competncias necessrias
Apenas recentemente temos o conceito de competncia associado gerao
de resultados para as empresas. A primeira referncia que encontramos sobre
essa associao foi estabelecida com LE BOTERF (1994) onde ele afirma que
a competncia est associada s realizaes das pessoas; est associada ao
que elas produzem e entregam. Neste enfoque, a competncia colocar em
prtica o que se sabe em um determinado contexto.
No trabalho a competncia tida como a reunio de conhecimento, habilidade,
atitude e valor.
Conhecimento a apropriao de um objeto pelo pensamento atravs da
educao formal ou pela experincia prtica. Corresponde ainda a uma srie
de informaes que o indivduo assimila e estrutura, de modo que lhe permite
compreender o mundo, ou seja, a dimenso do saber o que e porqu
(MASLOW, 2000).
Habilidade a capacidade de algum realizar alguma atividade ou ter
determinada aptido. a capacidade de desempenhar tarefas e atividades, de
aplicar e fazer uso produtivo do conhecimento adquirido e utiliz-lo em uma
ao com vista a atingir um propsito especfico (CBO/MTE, 2002).
Atitude refere-se aos aspectos sociais e afetivos relacionados ao trabalho. A
atitude determina o comportamento, pois est relacionada com percepo,
personalidade, aprendizagem e motivao. a ao cotidiana, a dimenso do
querer-saber-fazer. (CBO/MTE, 2002).
Valor representa as crenas, motivao, carter, costumes, conscincia social,
regras da vida em sociedade e da conduta entre os homens.

21
De acordo com a Classificao Brasileira de Ocupaoes (CBO/MTE)
documento normalizador do reconhecimento, da nomeao e da codificao
dos ttulos e contedos das ocupaes do mercado de trabalho brasileiro competncia profissional tida como um atributo inerente ao ser humano para
o desempenho de uma ou vrias funes quando se ocupa um cargo dentro da
unidade organizacional de uma empresa.
No que se refere ao profissional de Tecnologia da Informao, mais
especificamente na rea de desenvolvimento de software, essas competncias
podem ser mapeadas como veremos a seguir.
1.2.1 Aspectos tcnicos e perfil comportamental
Para ser um bom desenvolvedor de software no basta apenas ser um
especialista numa determinada linguagem de programao. Um desenvolvedor
de software deve possuir determinadas habilidades e competncias tanto no
que se refere a aspectos tcnicos como no que envolve seu perfil
comportamental.
1.2.1.1 Aspectos tcnicos
BOA DOCUMENTAO: O desenvolvedor de software deve ser capaz de criar
documentos para descrever corretamente o que faz o programa que ele
escreveu. Com quais programas este programa est relacionado? Quais
bancos de dados so acessados por este programa? Existem requisitos de
sistema operacional, ou seja, algum componente deve estar previamente
instalado no computador para que este programa funcione?

22
Alm de manter bem documentado os seus programas, importante que o
desenvolvedor mantenha sempre estes documentos atualizados. Infelizmente
comum o desenvolvedor criar apenas a primeira verso da documentao e
conforme surgem demandas para a atualizao do programa, o desenvolvedor
atualiza o programa e no d a mesma importncia para a atualizao dos
respectivos documentos.
QUALIDADE TCNICA DOS TRABALHOS: Muitas vezes um desenvolvedor se
v pressionado por seu gerente para cumprir os prazos estabelecidos por este
referentes a entrega de programas.
Ceder presso codificando programas sem valorizar a qualidade do que ser
entregue uma pssima prtica.
Do ponto de vista da empresa contratante, isso tem boa probabilidade de
significar aumento de custos, pois um programa construdo que no atenda sua
especificao1, certamente precisar ser corrigido.
Se somarmos as horas utilizadas no desenvolvimento sem qualidade s horas
utilizadas na correo deste programa, iremos verificar que a empresa teria um
melhor custo/benefcio se a primeira verso do programa tivesse sido entregue
com a qualidade exigida, mesmo que isso demandasse algumas horas a mais
para a entrega.
ANLISE: Um bom desenvolvedor deve saber analisar todos os documentos
de um projeto de aplicao. Ao realizar a anlise destes documentos deve
compreender o que precisa ser feito; qual o propsito do programa a ser
codificado.
Atualmente a maioria das especificaes de programas obedece ao que
conhecido por Programao Orientada a Objetos (POO).
1

Especificao o que o cliente espera que o programa execute.

23
No paradigma da POO, uma das coisas mais importantes que o bom
desenvolvedor deve dominar a UML Unified Modeling Language.
A UML contm em sua definio muitos tipos de diagramas que servem para a
especificao de programas e processos relacionados ao projeto de aplicao.
Dentre os diagramas mais usados podemos destacar: Casos de Uso, Diagrama
de Classe e Diagrama de Sequncia.
BOA LGICA: Ter boa lgica de programao tambm uma exigncia para o
profissional da rea de desenvolvimento de software.
Nos bons cursos de programao, geralmente nos primeiros semestres o aluno
tem uma grande carga horria relacionada a disciplinas envolvendo tpicos da
matemtica.
Sabe-se que os computadores trabalham utilizando o sistema binrio de
numerao.

Dessa

forma,

pode-se

dizer

que

na

essncia,

todo

processamento do computador pode ser traduzido em operaes matemticas.


Assim, o grau de conhecimento em lgica matemtica determina a eficincia
com a qual um programa desenvolvido.
Paralelamente ao ensino da matemtica temos o ensino de algoritmos, que so
seqncias de instrues criadas em uma ordem lgica com o objetivo de
solucionar um problema apresentado.
RESOLUO DE PROBLEMA: H dez anos tnhamos na rea de informtica
papis muito bem definidos para os cargos e funes existentes. Por exemplo:
O Analista de Sistemas tinha por funo se reunir com o cliente, entender suas
necessidades e gerar os documentos necessrios (Casos de Uso, Diagramas
de Classe, etc.) para que o Programador pudesse desempenhar sua funo
que era exclusivamente a de interpretar os documentos que descreviam o
problema e ento codificar os programas (solucionando o problema).

24
Nos ltimos anos as empresas buscam reduzir cada vez mais os seus custos
em todos os setores e o departamento de tecnologia no foge a regra.
Na dcada de 90 tnhamos as carreiras de: Programador, Analista de Sistemas
e Gerente de Informtica. O Gerente de Informtica era quem se reunia
previamente com o cliente para tratar de aspectos burocrticos. Ele firmava o
Contrato de Prestao de Servios, documento que descrevia quais as
obrigaes em termos de soluo tecnolgica, o valor cobrado pelo projeto, a
forma de pagamento, o prazo de entrega definido para cada etapa do projeto,
etc.
A globalizao ocasionou uma evoluo no mercado de TI de tal magnitude
que as empresas brasileiras deste segmento viram-se foradas a investir em
aprimoramentos e sobretudo a reduzir custos para manterem-se competitivas.
Isso impactou diretamente a carreira de muitos profissionais de Tecnologia da
Informao. As carreiras de Analista de Sistemas e de Programador fundiramse dando origem ao cargo denominado Analista Programador.
Em resumo, as empresas contratavam um profissional pagando-lhe o mesmo
salrio de um Programador ou de um Analista de Sistemas, e exigia-lhe que
executasse a soma das atribuies destes dois cargos.
Alm do aumento das funes, tivemos a feroz evoluo dos sistemas
operacionais, hardware de computadores, dos sistemas gerenciadores de
bancos de dados e das prprias linguagens de programao. Tudo isso fez
com que o profissional de desenvolvimento de software tivesse que estudar
cada vez mais para manter sua empregabilidade.
Nos ltimos anos a globalizao transformou o profissional de TI em um
recurso mundial. Se antigamente um dos pr-requisitos de uma vaga era
possuir noes de ingls, hoje mandatrio ser fluente neste idioma se o
desejo ter uma boa oportunidade no mercado de trabalho.

25
Empresas multinacionais invadiram nosso Pas, comprando empresas menores
e oferecendo emprego somente aos melhores profissionais do mercado.
Uma competncia comumente exigida nas vagas disponibilizadas por estas
empresas que o profissional seja problem-solving, ou seja, tenha a
capacidade de resolver problemas.
Ter a capacidade de resolver problemas no algo trivial, principalmente
quando estamos falando de grandes organizaes compostas por milhares de
funcionrios e um nmero expressivo de clientes.
O fato que se antigamente a capacidade de resolver problemas restringia-se
s exigncias de um cargo gerencial, hoje isso exigncia para um nmero
muito maior de funcionrios, inclusive para o desenvolvedor de software.
Tratamos aqui de um assunto complexo, pois para resolver um problema
necessrio conhecer muitas variveis sobre essa ocorrncia e tambm
necessrio tomar a deciso correta no menor prazo possvel.
Para explanar sobre isso citaremos como exemplo a complexidade do
funcionamento de uma Instituio Financeira, um banco.
Imagine que um desenvolvedor construiu uma aplicao de saque. Essa
aplicao executada diariamente por todos os caixas existentes em todas as
agncias deste banco. tambm executada quando um cliente realiza um
saque utilizando um Terminal de Auto-atendimento (caixa eletrnico).
Suponha que este desenvolvedor escreveu uma nova verso da aplicao de
saque que est preparada para substituir a verso atual na prxima segundafeira. Tudo foi exaustivamente testado, nada pode dar errado.
O tempo vai passando... sexta-feira, sbado, domingo e finalmente chega o
momento de atualizar a aplicao de saque pela nova verso.

26
O desenvolvedor acompanha tudo de dedos cruzados... o seu emprego que
est em jogo.
No horrio agendado o departamento tcnico responsvel pela atualizao de
aplicaes informa todos os envolvidos neste processo o resultado da
operao:
- Atualizao completa. O procedimento foi realizado com sucesso!
- Ufa! pensa o desenvolvedor. - Ainda bem que ocorreu tudo conforme o
esperado.
Em menos de um minuto aps o procedimento de atualizao comea um
corre-corre para todo lado. Os telefones comeam a tocar e no param mais.
So ligaes desesperadas de funcionrios das agncias de todo o Pas
afirmando que os clientes no esto conseguindo sacar dinheiro de suas
contas.
O telefone toca na mesa do desenvolvedor. Ele atende o telefone e j imagina
o que est por vir...
- Carlos. Bom dia!. Do outro lado da linha era o gerente que acabara de ligar
para o desenvolvedor responsvel pela paralisao de todas as agncias do
banco...
- Bom dia Carlos. Aqui o Joseclin! As agncias esto paradas. Em quanto
tempo voc acha que resolve isso?
O desenvolvedor respira fundo e reflete sobre o problema... Ele se interroga:
Por que somente as agncias esto reclamando de problema no saque se os
caixas eletrnicos tambm utilizam essa funcionalidade? Normalmente so
realizados muitos saques por minuto nos caixas eletrnicos (). Para certificarse de que o saque estivesse funcionando nos caixas eletrnicos bastaria ligar
para a equipe responsvel e fazer este questionamento, assim Carlos saberia
se o problema est somente na parte do programa do programa executado
pelas agncias.

27
O fato que Carlos no dispunha de tempo para uma anlise detalhada agora.
Vejamos o cenrio: o funcionamento de todas as agncias est parado; o
Joseclin est na linha aguardando uma resposta; qual a melhor deciso a ser
tomada para solucionar o problema?
Eis que Carlos decide o que fazer e rapidamente responde ao seu gerente:
- 5 minutos. Em cinco minutos a situao estar normalizada. E ento o
Joseclin responde:
- Tudo bem Carlos. Te ligarei novamente em cinco minutos...
Sem soltar o telefone que estava na mo esquerda, com a mo direita Carlos
acessa a agenda de contatos de seu celular e faz uma busca pelo nome do seu
colega no departamento tcnico de atualizao de aplicaes.
De posse do nmero de telefone que procurava, Carlos liga para o colega de
trabalho:
- Jackson?! o Carlos. Tudo bem?
- Sim Carlos! Tudo bem e voc?
- Tudo bem. Preciso de um favor... e urgente.
- Pode falar meu amigo. Em que posso ajud-lo?
- Sabe a nova verso da aplicao de saque que foi atualizada h poucos
minutos? Preciso que voc desfaa o procedimento, de maneira que tenhamos
a verso anterior em funcionamento.
- Entendi. Fique na linha que farei isso agora mesmo....
Alguns segundos mais tarde...
- Pronto Carlos. Solicitao atendida!.
- Muito obrigado Jackson.

28
- Por nada....
Aps voltar a verso da aplicao para a que estava funcionando, Carlos liga
para algumas agncias objetivando certificar-se de que tudo voltou ao normal.
Sim, felizmente agora os clientes conseguiam sacar dinheiro.
Carlos tambm recebeu o telefonema do Joseclin parabenizando-o por ter
conseguido normalizar a situao no tempo esperado.
A partir desse exemplo sobre a atitude de um desenvolvedor que trabalha em
um determinado banco, retomaremos a explanao sobre a complexa
competncia de resolver problemas.
O bom desenvolvedor, ao analisar um problema que surge, deve saber
distinguir o que a causa e o que sintoma.
Geralmente quando algum apresenta um problema ao desenvolvedor, tratam
de informaes do sintoma. Isso significa que na maioria das vezes no
aquela aplicao ou funcionalidade da qual o cliente est reclamando que
contm o erro, mas talvez outra aplicao que se refletiu na aplicao que o
cliente utiliza, causando o sintoma.
No exemplo da funcionalidade de saque, temos o seguinte:
A aplicao que o caixa da agncia utiliza em seu computador no contm as
aplicaes de saque, depsito ou pagamento de boletos bancrios. Essa
aplicao apenas faz uma chamada para outras aplicaes que esto
fisicamente instaladas no computador central do banco.
Ento, quando ligaram para o desenvolvedor Carlos dizendo que havia um
problema na agncia pois o saque parou de funcionar, na verdade este tratavase apenas de um sintoma. O problema residia no computador central do banco,
local onde o Carlos atualizou a verso da aplicao de saque.

29
Poderamos afirmar que a deciso correta para solucionar este problema
seria Carlos analisar a nova verso da aplicao de saque de modo a
identificar o que estava incorreto, corrigir e ento realizar a atualizao da
verso desta aplicao.
Mas e os sintomas? Neste caso os sintomas consistiam na paralisao de um
dos negcios mais importantes do banco: o funcionamento das agncias.
Verifica-se ento que corrigir primeiro o problema para evitar a ocorrncia de
novos sintomas no pode ser tido como uma regra geral. Em alguns casos
preciso tomar uma deciso imediata que vai apenas solucionar um sintoma
para, posteriormente, tomar atitudes para solucionar o problema.
Para resumir a competncia de Resoluo de Problemas poderamos ter a
seguinte lista:
O foco em definir um problema distinguir causa e sintoma;
Geralmente o que recebemos como descrio de um problema a
descrio de um sintoma;
A Tomada de Deciso inclui analisar o problema a fim de identificar as
solues viveis, optar por uma dessas solues e implement-la; e
A deciso correta como vimos no exemplo do desenvolvedor Carlos,
pode no ser a melhor deciso dependendo da circunstncia atual.

30
1.2.1.2 O Perfil Comportamental
COMUNICAO: Independente do idioma que o desenvolvedor usa no seu
dia-a-dia imprescindvel que este consiga se expressar de forma clara e
objetiva, tanto oralmente como na escrita.
PR-ATIVIDADE: Se um profissional identifica que algo deve ser feito para o
bom andamento do trabalho, no deve hesitar.
No competitivo mercado atual no cabe mais a postura de dizer: - Isso aqui eu
no farei porque no me foi solicitado.
Equipes

vencedoras

so

formadas

por

profissionais

que

ajudam-se

mutuamente. Se a equipe fracassa, todos fracassam.


INTELIGNCIA EMOCIONAL: Com o crescente aumento das exigncias no
trabalho, as circunstncias as quais o profissional submetido diariamente
exigem um consciente controle de suas emoes.
Mesmo com a responsabilidade de administrar e entregar diversos trabalhos,
muitas vezes simultneos, espera-se que o desenvolvedor de software saiba
lidar de forma harmoniosa com todas as variveis desta complexa equao.
Seja no seu relacionamento com a equipe, com seus superiores ou com
clientes, o profissional deve ser atencioso, cordial e profissional.
COMPROMETIMENTO: Uma empresa espera que o desenvolvedor de
software tenha um vnculo organizacional.
Quando um profissional se identifica com a organizao e com os objetivos
dela, h o desejo de manter-se como membro. Cria-se uma relao de
lealdade, de desejo de contribuir e h o sentimento de orgulho em permanecer
na organizao. Isso conhecido como comprometimento afetivo.

31
Existem empresas que conseguem o comprometimento de suas equipes
atravs de recompensas em termos de salrio, status, etc.
H ainda as que mantm o comprometimento atravs de normas internas de
comportamento.
Mas como neste trabalho se est abordando o perfil comportamental do
desenvolvedor de software, no relevante como a empresa coloca em prtica
o conceito de comprometimento. O importante que o desenvolvedor de
software saiba o que uma empresa espera dele quando diz que ele deve ser
comprometido.
Basicamente, o desenvolvedor de software precisa saber a resposta da
pergunta: - O que comprometimento?
Pode-se dizer que comprometimento tudo o que uma pessoa faz a mais, sem
que algum tenha solicitado.
Hoje h muitos funcionrios nas empresas que realizam estritamente o
necessrio, ou seja, fazem o que est nas atribuies de seu cargo, o restante
no diz respeito a eles. Devido a essa postura alguns funcionrios chegam at
a desrespeitar os clientes desta empresa.
Quantas vezes fomos a alguma empresa para resolver algum tipo de problema
e a pessoa nos foi passando para outra, dizendo que a pessoa responsvel
no era ela? Isso quando a ligao no cai misteriosamente.
Voc j tentou cancelar uma linha telefnica e passou por um cenrio assim?
Qualquer semelhana mera coincidncia (...).
Se nos colocarmos na viso do presidente de uma empresa, qual seria a nossa
viso com relao aos nossos funcionrios? Nosso desejo seria que sempre
que um cliente aparea na empresa e fale com um funcionrio portando um
crach, este cliente reconhea-o como um representante da corporao,
independente de ser a copeira, o atendente ou o diretor. O compromisso em
resolver o problema das pessoas, independente da sua responsabilidade, um
grande exemplo de comprometimento.
Por outro lado, um exemplo simples de descomprometimento um funcionrio
passar por um pedao de papel jogado no corredor da empresa e no ter o
compromisso de pegar o papel e jog-lo no cesto de lixo. Ao invs disso o
funcionrio descomprometido pensa: eu no sou funcionrio da limpeza e isso
no meu problema.

32
Tudo o que fazemos a mais, sem o interesse de obter alguma vantagem, o
que faz a diferena hoje no mundo corporativo; e o que cada vez mais as
empresas buscam.
1.3 As 5 competncias analisadas com o projeto LOJA .NET
O projeto LOJA .NET proposto aos alunos nos permitiu analisar cinco
importantes competncias para o desenvolvedor de software. So elas:
1) Saber utilizar o conceito de Programao Orientada a Objetos. Aqui
verificamos se o aluno consegue criar e utilizar corretamente classes,
mtodos e propriedades.
2) Saber utilizar o conceito de Desenvolvimento em Camadas. Verificamos
se o aluno, ao construir as classes em uma camada, faz as referncias
necessrias visualizando a comunicao com a prxima camada (neste
caso, com a camada superior). Em outras palavras, o aluno deve prever
a comunicao eficaz entre todas as camadas.
3) Saber configurar e gerenciar informaes em um banco de dados.
Nessa competncia se verifica se o aluno consegue criar tabelas em
banco de dados utilizando o conceito de integridade referencial.
Tambm verificamos a criao e o uso de stored procedures.
4) Saber construir aplicaes utilizando o mtodo de Desenvolvimento em
Camadas. Aqui verificamos se o aluno consegue construir aplicaes
fazendo uso eficaz das camadas construdas previamente. Essa
competncia utilizada independente da interface com o usurio a ser
utilizada (Aplicao para Windows, Websites, Aplicao para iPhone,
etc.).
5) Saber usar na prtica tpicos sobre Segurana da Informao. Uma das
exigncias de empresas de qualquer porte o desejo de garantir o sigilo
e a segurana de suas informaes. Nessa competncia verificamos se
o aluno consegue proteger o sistema que construiu contra tentativas de
pessoas mal intencionadas que roubam, deletam ou divulgam
informaes de sistemas invadidos, os chamados crackers.

33

1.3.1 Qual o diferencial do projeto LOJA .NET?


O projeto LOJA .NET um material didtico que utiliza a metodologia de
desenvolvimento em camadas e foi criado com o objetivo de analisar junto aos
alunos as 5 importantes competncias do profissional de desenvolvimento de
software descritas anteriormente. Mas o que diferencia o uso do mtodo de
desenvolvimento em camadas do mtodo de ensino tradicional dos alunos
envolvidos nesta pesquisa?
Para nos auxiliar nessa questo, iremos recorrer aos conceitos de
complexidade e transdisciplinaridade.
Entendemos que o dilogo inter-disciplinas vem se impondo nos ltimos anos
como uma necessidade crescente. Dentre os principais motivos que justificam
isso temos a transformao do prprio conceito de disciplina cientfica e do que
se entende por cientificidade. Por isso, destacaremos alguns aspectos dessa
transformao e o seu impacto sobre o desenvolvimento cientfico atual.
1.3.1.1 Complexidade
Complexus (ou apenas plexus) o vocbulo que, em latim, significa
entrelaado, tecido em conjunto e constitui a origem etimolgica da palavra
complexo. Hoje esse termo usado com uma certa freqncia e, muitas vezes,
a pessoa que utiliza o termo fica isenta de dar maiores explicaes sobre o
assunto tratado. comum ouvirmos: esta disciplina complexa, a situao
complexa, o problema complexo. Alguns dicionrios definem a complexidade
como

propriedade

dos

processos

caticos;

informao,

diversidade,

multiplicidade de conexes; alta conectividade.


Da nos fica a idia de que complexidade significa caos, desordem,
dificuldades, algo complicado. A complexidade e a complicao no se
reduzem uma outra. Para Morin (2001), a complicao um dos constituintes
da complexidade. Esta idia do que complexidade est muito mais espalhada
no vocabulrio corrente do que no vocabulrio cientfico. De uma forma ou de
outra a palavra complexidade sempre foi usada, mas s recentemente se fala
em teoria da complexidade.

34

A complexidade do mundo em que vivemos transparece no mundo das artes,


no mundo da poltica, no mundo da cincia, no mundo do comrcio, etc. Mas o
fato que s existe um mundo. Todos os mundos citados se entrelaam num
mesmo espao-tempo em que vivemos.
O mundo de hoje marcado pela evoluo cientfico-tecnolgica, e nesse
cenrio a complexidade torna-se cada vez mais um conceito fundamental.
No projeto LOJA .NET, pode-se considerar a anlise da complexidade no que
se refere quantidade de recursos necessrios para a construo de cada
parte deste software. Em um nvel mais bsico temos o nmero de passos a
serem executados em cada classe e o volume de memria utilizado pelos
objetos instanciados a partir destas classes. Assim possvel, por exemplo,
analisar antecipadamente se os computadores disponveis iro atender os
requisitos para o pleno funcionamento do projeto.
Segundo o pensamento complexo descrito pelo pensador Morin, ser que era
possvel prever se o projeto LOJA .NET auxiliaria o grupo de alunos na
aquisio de competncias em desenvolvimento de software?
Este pensador afirma que a complexidade necessita de uma estratgia, sabe
que no se pode programar a descoberta, o conhecimento, nem a ao.
No entanto, Morin (2001) diz que para compreender o problema da
complexidade, preciso saber primeiro que h um paradigma de simplicidade,
que utilizado com muita freqncia. Neste paradigma prevalece a ordem, a
lgica, a lei e os princpios, expulsando o caos e a desordem. O princpio da
simplicidade quer separar o que est ligado (disjuno), quer unificar o que
est disperso (reduo) (MORIN, 2001).
O paradigma da simplificao no permite pensar a unidade na diversidade ou
a diversidade na unidade. Este paradigma deixa perder a riqueza da
diversidade, da dinmica, da desordem. Ao avaliarmos o curso tcnico do
CEFET dentro de suas edificaes, no consideramos suas implicaes sociais
e econmicas. De l conhecemos apenas uma parte do real, perdendo assim o
conhecimento sobre a imensido das demais partes desta realidade.
Vai estudar-se o crebro como rgo biolgico e vai estudar-se o esprito, the
mind, como funo ou realidade psicolgica. Esquece-se que um no existe

35
sem o outro; ou melhor, que um simultaneamente o outro, embora sejam
tratados por termos e conceitos diferentes (MORIN, 2001).
Verificamos ento que Morin aceita a complexidade como princpio de
pensamento que considera o mundo e no o princpio revelador da essncia do
mundo. O pensamento complexo acabou com nossa iluso de segurana.
Verificamos que o pensamento humano cheio de dvidas, de incertezas e o
erro o seu principal companheiro, o que nos ensina a viver. Estamos
condenados ao pensamento inseguro, a um pensamento crivado de buracos,
um pensamento que no tem nenhum fundamento absoluto de certeza. Mas
somos capazes de pensar nestas condies dramticas (MORIN, 2001).
1.3.1.2 Transdisciplinaridade
Em que o mtodo de desenvolvimento em camadas apresentado no projeto
LOJA .NET se difere do mtodo tradicional de ensino no Curso Tcnico em
Informtica sob anlise?
Para analisar essa questo faremos uma reflexo sobre o que significa
transdisciplinaridade para ento posteriormente verificarmos se o projeto LOJA
.NET caracteriza-se como sendo transdisciplinar.
Necessariamente

iremos

percorrer

os

conceitos

de

disciplinaridade,

multidisciplinaridade e interdisciplinaridade para ento refletirmos sobre o


significado da transdisciplinaridade.
A cincia se constri a partir de teorias e de verificaes experimentais dessas
teorias. Podemos encontrar em relatrios cientficos uma permanente interao
entre teoria e prtica. Isto denota a importncia da prova emprica para validar
o novo saber cientfico (CARAA, 2001).
Partindo dessa idia geral de cincia como forma de construo do
conhecimento, ao olharmos para as diversas dimenses do ser humano,
percebemos a importncia das diferentes reas de conhecimento. Em cada
rea do conhecimento encontramos as especificidades de cada disciplina.
Nesse

contexto

podemos

abordar

os

conceitos

de

disciplinaridade,

interdisciplinaridade, multidisciplinaridade e transdisciplinaridade.

36
H algumas dcadas era um sonho abordar o conceito de transdisciplinaridade.
Atualmente isso tema de debates e conferncias sobre educao,
comprovando que se trata de uma realidade.
Disciplinaridade
Segundo NEST (2000), no senso comum a disciplina inclui trs entendimentos
fundamentais: o primeiro, traduzindo o sentido comum de um campo especfico
ou particular de conhecimento; o segundo, revelado na postura de obedincia e
submisso do homem a regras de conduta e, por ltimo, envolvendo regras e
cdigos comportamentais, especficos e prprios de determinados grupos
sociais (militares, religiosos, filosficos, dentre outros).
J na viso de HECKHAUSEN (1972), o que distingue uma disciplina de outra
so os fatores: 1) domnio material ou objeto de estudo; 2) o conjunto possvel
de fenmenos observveis; 3) o nvel de integrao terica; 4) os mtodos; 5)
os instrumentos de anlise; 6) as aplicaes prticas; e, 7) as contingncias
histricas.
Multidisciplinaridade
um conjunto de disciplinas justapostas sem nenhuma cooperao entre elas
(JANTSCH, 1972).
No entanto, a multidisciplinaridade ocorre quando a soluo de um problema
torna necessrio obter informao de duas ou mais cincias ou setores do
conhecimento sem que as disciplinas envolvidas no processo sejam elas
mesmas modificadas ou enriquecidas 1
Interdisciplinaridade
O prefixo inter originado do latim significa posio intermdia; reciprocidade.
Assim, o termo interdisciplinaridade significa o que relativo ou o que se efetua
entre as disciplinas.

Piaget, Jean. The epistemology of interdisciplinary relationships, citado por Chaves (1998)

37
Para NEST (2000), a interdisciplinaridade revela o caminho entre as disciplinas
que percorrido nas abordagens do conhecimento, em que o observador
recebe

contribuio

metodolgica

informativa

das

disciplinas

individualizadas, sem que estas sejam afetadas ou dirigidas pelos resultados.


Outros pensadores afirmam que a interdisciplinaridade utilizada para
designar o nvel em que a interao entre vrias disciplinas ou setores
heterogneos de uma mesma cincia conduz a interaes reais, a uma certa
reciprocidade no intercmbio, levando a um enriquecimento mtuo (CHAVES,
1998).
Transdisciplinaridade
Bassarab NICOLESCU (1999), afirma que foi Jean Piaget o primeiro a usar a
palavra transdisciplinar como expresso de uma nova abordagem do
conhecimento, em 1967: A transdisciplinaridade, como o prefixo "trans" indica,
diz respeito quilo que est ao mesmo tempo entre as disciplinas, atravs das
diferentes disciplinas e alm de qualquer disciplina. Seu objetivo a
compreenso do mundo presente, para o qual um dos imperativos a unidade
do conhecimento... (NEST, 2000).
Segundo CHAVES (1998) o conceito de transdisciplinaridade no envolve
somente as interaes ou reciprocidade entre projetos especializados de
pesquisa, mas a colocao dessas relaes dentro de um sistema total, sem
quaisquer limites rgidos entre as disciplinas.
A partir dessa definio verificamos que a transdisciplinaridade no uma nova
disciplina. No entanto, se alimenta da pesquisa disciplinar que, por sua vez,
clareada de uma nova maneira. As pesquisas disciplinares e transdisciplinares
se complementam.
A

disciplinaridade,

multidisciplinaridade,

interdisciplinaridade

transdisciplinaridade so as quatro flechas de um nico arco: o do


conhecimento (NICOLESCU, 1999). A correta compreenso destes quatro
mbitos do conhecimento permite uma correta articulao nos quatro pilares da
educao:
- Aprender a conhecer: ser capaz de estabelecer pontes entre os diferentes
saberes. Entre estes saberes e sua significao para o dia-a-dia e ainda entre
estes saberes e as capacidades interiores de cada um. Este procedimento

38
transdisciplinar indispensvel ao procedimento disciplinar, pois ir conduzir
formao de um ser constantemente atento, capaz de se adaptar aos
constantes desafios impostos pela vida profissional. Este indivduo ser dotado
de uma flexibilidade permanente, orientado para a atualizao de suas
potencialidades interiores.
- Aprender a fazer: dentro do esprito da transdisciplinaridade significa escolher
uma profisso, adquirir os conhecimentos e tcnicas e ela associados e
exercer essa profisso com criatividade. Fazer significa tambm inovar, colocar
na prtica do dia-a-dia as potencialidades criativas.
- Aprender a conviver: acatar as normas da sociedade em que se est inserido.
Tais normas devem ser intimamente aceitas pelo indivduo e no apenas
obedecidas como uma lei imposta exteriormente.
- Aprender a ser: cada um deve descobrir a harmonia ou a desarmonia entre a
vida interior e social. Sondar os fundamentos de suas crenas, para descobrir o
que existe de subjacente.
Por outro lado, a transdisciplinaridade se interessa pela dinmica gerada pela
ao de vrios nveis de realidade ao mesmo tempo... (NEST, 2000). Assim, a
transdisciplinaridade exige uma mudana do sistema de referncia e articula-se
em trs pontos:
a) Vrios nveis de realidade;
b) No mais esperar encontrar a soluo de um problema como um simples
"verdadeiro" ou "falso" da lgica binria;
c) A complexidade de um problema reconhece a impossibilidade da
decomposio deste problema em partes simples.
Nesse contexto a transdisciplinaridade surge na ps-modernidade como uma
nova maneira de enquadrar a cincia. Sem prejudicar a investigao cientfica
disciplinar, mas enriquecendo-a pelo recurso da interdisciplinaridade. Assim
possvel partirmos para novos temas que se apresentam com caractersticas
transversais, ocupando espaos reservados a diversas disciplinas sem que
haja a misso de preencher um espao vazio. No se trata de criar novas
disciplinas, porque no se trata de preencher espaos vazios. Trata-se de
individualizar temas que s existem pela juno de vrias disciplinas e que s
se pode analis-los de forma integrada.

39
No projeto LOJA .NET verificamos por exemplo, que a competncia de saber
configurar e gerenciar informaes em banco de dados engloba a anlise de
trs grficos que representaram o desempenho dos alunos em: 1)
compreender e usar o conceito de Integridade Referencial em Banco de Dados;
2) Criar tabelas em banco de dados e 3) Criar e utilizar stored procedures.
J a competncia de saber como funciona a construo de aplicaes
utilizando o modelo de desenvolvimento em camadas engloba a anlise de
duas disciplinas: 1) Funcionamento da construo de aplicaes para MSWindows e 2) Funcionamento da construo de aplicaes para a WEB.

40
CAPTULO 2
Desenvolvimento em Camadas

Desenvolvimento em Camadas um mtodo muito utilizado para a construo


de software. Antes da definio deste mtodo se faz necessrio um resgate
histrico do surgimento da Internet para uma melhor compreenso da
arquitetura em camadas.
2.1 possvel definir Internet?
O surgimento da Internet foi possvel por meio de padres de redes para que
estas pudessem se comunicar. Se nos restringirmos aos aspectos tcnicos, a
Internet poderia ser definida como uma rede entre computadores, de
abrangncia mundial, que adota como padro determinados protocolos de
comunicao.
Atualmente muitas pessoas questionam se suficiente definir a Internet como
sendo apenas a interconexo entre computadores. O prprio Vint Cert um
dos criadores da Internet diz que:
a Internet no se constitui somente de nmeros e protocolos, mas de
pessoas, contedo e recursos.
A organizao chamada de Cpula Mundial da Sociedade da Informao
tambm considera a Internet num aspecto mais amplo, conforme o exposto na
reunio ocorrida em TUNIS (2005):
Ns reconhecemos que a Internet, elemento central de infra-estrutura
da Sociedade da Informao, evoluiu da facilidade criadas para a
pesquisa acadmica para uma facilidade global disponvel ao pblico
(traduo livre do autor).
Assim temos a indicao de que correto considerar a Internet tanto
em seus aspectos tcnicos como nos seus aspectos sociais, jurdicos,
econmicos e culturais.

41
2.2 Os padres na Internet

Apesar de um consenso sobre a importncia de considerar diversos aspectos


da Internet como visto no item 2.1, utilizaremos outra definio do que vem a
ser Internet para iniciar uma discusso sobre a importncia dos padres desde
a sua criao at os dias atuais.
A Internet pode ser definida como uma rede entre computadores que adota
protocolos-padro, principalmente o TCP-IP3, para a transmisso de dados, de
maneira a permitir:
- comunicao simultnea entre usurios;
- troca de mensagens eletrnicas;
- acesso a portais eletrnicos;
- criao de comunidades virtuais;
- transmisso de dados por meio de arquivos em diversos formatos (texto, som,
imagem, vdeo, etc.);
- comrcio eletrnico;
- jogos online;
- difuso de conhecimento, e muitas outras atividades.
Para possibilitar a transmisso desses dados, a Internet est estruturada em
basicamente trs diferentes camadas.

3 TCP-IP. um conjunto de protocolos de comunicao entre computadores em rede.

42

Figura 1 Representao das camadas da Internet


Fonte: DIPLO Internet Governance and Policy
<http://www.diplomacy.edu/ig/Resources/display.asp?Topic=DiploImages>

Analisando a figura de baixo para cima, temos que a primeira camada se


chama Infra-estrutura de Telecomunicaes. Ela uma representao de que
a comunicao entre os computadores da Internet depende de uma estrutura
de cabeamento (linhas telefnicas, fibra tica) ou de ondas (de rdio, satlite).
Em resumo, temos que necessrio o estabelecimento de um caminho fsico,
visvel ou no, no mundo real.
A segunda camada diz respeito aos padres tecnolgicos. a linguagem
comum que a Internet adotou como padro para que fosse possvel a
comunicao entre os computadores. Por serem de fundamental importncia
para o funcionamento da rede, esses padres devem ser abertos4.

43
A ltima camada onde esto os contedos e os padres de aplicao. Aqui
residem muitos conflitos com relao universalizao da rede.
Quando se fala tanto nas camadas de infra-estrutura como na de padres
tcnicos, possvel desenhar uma viso universal que possa ser seguida e
implementada por todos os pases. Entretanto, o assunto torna-se mais
complexo quando fala-se de contedos e padres de aplicao. (ver item 2.2.1)
na terceira camada que est a Web, que pode ser definida como a parte da
Internet acessada atravs dos navegadores, ou browsers. Criada por Tim
Berners-Lee, motivado em facilitar a organizao e troca de informaes entre
pesquisadores, a Web foi a grande responsvel pela popularizao da Internet.
O resultado disso que hoje a Web popularmente confundida com a prpria
Internet.
Com o objetivo de assegurar a compatibilidade entre as diferentes novas
tecnologias incorporadas Web, em 1994 foi fundado o W3C* (World Wide
Web Consortium). O W3C administrado por:
1) Laboratrio de Cincia da Computao e Inteligncia Artificial (CSAIL) do
MIT, nos EUA; 2) Consrcio Europeu de Pesquisa para a Informtica e
Matemtica (ERCIM), na Frana; e 3) Universidade de Keio, no Japo.

4 Um padro aberto ou protocolo no-proprietrio um protocolo de comunicao que no


pertence nenhuma empresa, podendo ser facilmente disseminado pela comunidade tcnicoacadmica.
*Nota: O W3C possui um escritrio brasileiro, fundado em 2007. O escritrio tem como objetivo
disseminar a cultura e adoo de padres para o desenvolvimento Web; Organizar atividades
para promover os padres e ferramentas W3C; Facilitar a participao da comunidade
brasileira na definio dos padres Web; Promover polticas e procedimentos para a
regulamentao e uso da Web no pas e recomendar padres tcnicos para o desenvolvimento
da Internet no pas.

44
2.2.1 Padres no Desenvolvimento de Software

Existem diferentes perfis de usurios com relao utilizao da Internet.


Cada perfil de usurio Internet gostaria que fossem preservados e melhorados
os benefcios que hoje so percebidos em suas atividades cotidianas. Os perfis
so:
1. Usurio leigo: aquele que somente utiliza a Internet para atividades
cotidianas, profissionais ou para lazer;
2. Usurio do governo: Podem ser os poderes Legislativo e Judicirio
enquanto normatizadores e fiscalizadores do cumprimento da Lei em diferentes
ambientes, e pode ser tambm o poder Executivo no que se refere ao
desenvolvimento de polticas pblicas voltadas Internet.
3. Usurio tcnico: O usurio tcnico domina a linguagem, conhece a
concepo fsica e os mecanismos pelos quais se estabelece a conexo entre
os computadores e demais dispositivos da rede.
o usurio tcnico que busca a aquisio de habilidades e competncias
necessrias ao Desenvolvimento de Software.
O Desenvolvimento de Software compreende diversas disciplinas. Vamos
analisar, por exemplo, a disciplina de Banco de Dados.
Apesar de haver uma vasta teoria referente aos sistemas de banco de dados,
cada empresa fabricante de banco de dados implementa as orientaes da
teoria a sua maneira.
Vejamos alguns exemplos da variedade de empresas e produtos quando se
fala em Sistemas de Bancos de Dados: a empresa Microsoft comercializa o
banco de dados chamado Microsoft SQL Server; a empresa Oracle
comercializa o banco de dados que possui o mesmo nome da empresa; j a
empresa IBM comercializa um banco de dados chamado DB2. Alm disso,
todas essas empresas criam diferentes verses de seus produtos, que so
atualizadas frequentemente para acompanhar a rpida evoluo tecnolgica.
Devido ao fato destes fabricantes no adotarem um padro na criao de seus
produtos,

profissional

de

Desenvolvimento

de

Software

encontra

especificidades no momento de escrever os programas que iro se conectar e

45
acessar os dados existentes nestes diferentes sistemas gerenciadores de
banco de dados.
Assim como na Internet se faz necessrio um mnimo de padres para permitir
a comunicao e interoperabilidade da rede, temos na camada de contedos e
padres de aplicao da Internet a necessidade da utilizao de padres na
criao de software que sero acessados por milhares de usurios.
A utilizao de padres na criao de software traz inmeros benefcios.
Dentre eles pode-se destacar:
Os

programas

desenvolvidos

segundo

padres

de

desenvolvimento podem ser reutilizados em outro software,


aumentando assim a produtividade no ciclo de desenvolvimento e
facilitando futuras manutenes. Vejamos um exemplo: um
website que comercializa os produtos de uma empresa possui
como infra-estrutura de banco de dados uma base Microsoft SQL
Server. Num determinado momento, o diretor de Tecnologia
resolve migrar a infra-estrutura para uma base Oracle. Se o
desenvolvimento seguiu padres para evitar o acoplamento do
website ao banco de dados, ou seja, no h a dependncia da
programao das pginas

com

relao a um fabricante

especfico, bastaria substituir o servidor de banco de dados e no


seria preciso alterar toda programao j existente para as
pginas deste website. Por outro lado, se o website no foi
construdo com a idia de evitar acoplamento, seria necessrio
um grande esforo para permitir o funcionamento dos servios
disponibilizados pelo website quando da migrao para outro
sistema de banco de dados. O programador precisaria detectar e
alterar todas as pginas do website que fazem acesso ao banco
de dados.
Se todos os desenvolvedores utilizam o mesmo padro de
desenvolvimento, caso um desenvolvedor assuma um projeto em
andamento poder dar continuidade aos trabalhos imediatamente,
pois conhece a metodologia de trabalho utilizada. Se cada
desenvolvedor trabalhar como quiser, haver um gasto enorme

46
de tempo neste exemplo at que o novo profissional compreenda
os documentos relacionados ao projeto em questo. H casos em
que a documentao insuficiente para mapear os processos do
sistema ou simplesmente inexiste. Este o pior dos casos, pois
ser preciso analisar todo o cdigo-fonte para, a partir da, gerar
fluxogramas mapeando os processos de maneira que seja
possvel a manuteno ou at mesmo o desenvolvimento de um
sistema completamente novo. Isso o que chamamos de
engenharia reversa.

2.3 O Desenvolvimento de Aplicaes em Camadas

Como vimos na seo anterior (Figura 1), a Internet foi estrutura basicamente
em trs camadas. Existe um consenso na comunidade de desenvolvimento de
software sobre uma srie de conceitos que devem ser seguidos pelos
desenvolvedores para que haja um padro de qualidade que atenda as
exigncias do mercado.
Um dos conceitos mais difundidos atualmente conhecido como Modelo de
Desenvolvimento em Camadas, tambm chamado de N-Tier Development
Model ou N Camadas.

47
Semelhante ao design de camadas da Internet, o Modelo de Desenvolvimento
em Camadas utilizado em desenvolvimento de software tambm composto
por trs camadas conforme ilustrao a seguir.

Figura 2 Representao do Modelo de Desenvolvimento em Camadas.


Autor: Carlos Olavo de Az. Camacho Jr.

48
Interpretando a figura da camada interna para a mais externa, temos o
seguinte:
A primeira camada a Camada de Acesso a Dados que tambm chamada
de Data Access Layer (DAL);
A segunda camada a Camada de Regras de Negcio, tambm chamada de
Business Logic Layer (BLL); e
A terceira camada a Camada de Apresentao ou Interface com o Usurio,
tambm chamada de User Interface (UI).

A Figura 2 representa um modelo. A semntica da palavra modelo no nosso


contexto tem origem na matemtica. Quando utilizamos a palavra modelo,
desejamos significar um fragmento de um sistema segundo uma estrutura de
conceitos experimentais.
Neste nvel de abstrao no se especifica qual o banco de dados utilizado no
sistema computacional, como por exemplo, Microsoft SQL Server ou Oracle. O
modelo est antes da implementao fsica do projeto; estamos refletindo
sobre a fase de planejamento.
O planejamento de projetos essencial na rea de informtica, por isso
existem cincias como a Engenharia de Software e Engenharia de Sistemas.
Iniciamos nossa anlise da figura da camada interna para a mais externa, pois
no material didtico que produzimos foi essa a ordem utilizada quando samos
do modelo abstrato para a efetiva implementao do sistema.
Na Camada de Acesso a Dados, realizam-se todas as tarefas onde
necessrio estabelecer a conexo com o sistema gerenciador de banco de
dados. Tarefas como cadastrar um novo cliente, alterar dados de um cliente,
consultar ou excluir informaes sobre um cliente so implementadas nessa
camada.

49
A Camada de Regras de Negcio usada para armazenar as regras de como
os negcios de uma empresa funcionam. Em outras palavras, aqui definimos
quais regras so obrigatrias sobre o gerenciamento dos produtos e servios
de uma empresa.
Para exemplificar um uso dessa camada, imaginemos um software que
controla os produtos oferecidos aos clientes em um hipermercado. Cada vez
que um cliente adquire um pacote de caf, ao realizar o pagamento no caixa
realizada a atualizao automtica desse produto no estoque. O gerente da
loja pode definir uma regra para que, sempre que um produto estiver com a
quantidade de estoque inferior a 1000 unidades, este deve aparecer em um
relatrio chamado produtos para reposio. Esse relatrio ento seria
acompanhado pelo gerente para que fossem realizados os pedidos
necessrios aos fornecedores de maneira a prevenir a falta de produtos no
hipermercado.
A Camada de Apresentao a interface do software com o usurio, onde
ocorre a interao homem-mquina. No incio da Internet era comum se ouvir
dizer que a interface com o usurio eram as telas. Isso acontecia porque toda
a interao possvel com os computadores era estabelecida atravs da
exibio de telas nos monitores, de maneira que o usurio pudesse, por
exemplo, informar a opo desejada em um menu ou preencher determinado
campo para a realizao de uma tarefa.
Com a evoluo das Tecnologias da Informao e Comunicao, hoje a
interface homem-computador pode ser realizada atravs de um nmero cada
vez maior de dispositivos. Temos como exemplos:
- Formulrios Web;
- Sistemas e aplicativos em computadores portteis como notebooks e
netbooks;
- Aparelhos celulares;

50
- Videogames j possuem alta capacidade de processamento e acesso
Internet;
- Canais de TV fornecidos em padro digital;
- Carros com sistemas digitais embutidos como localizadores GPS; dentre
outros.
As inovaes para facilitar a interao do ser humano com os dispositivos
eletrnicos esto indo alm do que muitos imaginavam ser possvel.
Atualmente a integrao dentre estes dispositivos tambm est cada vez maior
e isso o que denominamos convergncia digital.
At equipamentos do cotidiano como geladeira, fogo e mquina de lavar
tendem a fazer parte dessa integrao tecnolgica que visa trazer-nos cada
vez mais benefcios.

51
CAPTULO 3
Alunos do CEFET
3.1 Histrico do IFSP

Antes da inaugurao do Instituto Federal de Educao, Cincia e Tecnologia


de So Paulo (IFSP), esta instituio de ensino era conhecida como Centro
Federal de Educao Tecnolgica CEFET.
O Centro Federal de Educao Tecnolgica de So Paulo CEFET-SP uma
instituio vinculada diretamente Secretaria de Educao Profissional e
Tecnolgica SETEC, do Ministrio da Educao, e integra o Sistema Federal
de Ensino.
Os CEFETs tm por finalidade formar e qualificar profissionais em diferentes
nveis e modalidades de ensino para diversos setores da economia, realizar
pesquisa e desenvolvimento (P&D) de novos processos, produtos e servios
em estreita articulao com os setores produtivos e a sociedade, de maneira a
oferecer mecanismos para a educao continuada.
A histria do CEFET-SP registra, em suas diversas fases, alm da manuteno
de educao pblica de qualidade, oferta de formao profissional orientado ao
desenvolvimento econmico brasileiro, especialmente no Estado de So Paulo.
Criado em 1909 como Escola de Aprendizes e Artfices, seu projeto era voltado
para a formao de operrios e contramestres. Entre os anos de 60 e 90, como
Escola Tcnica Federal de So Paulo, formou tcnicos de nvel mdio para as
reas de Mecnica e Edificaes, depois para Eletrotcnica, Eletrnica,
Telecomunicaes, Processamento de Dados e Informtica Industrial.

52
A segunda unidade foi inaugurada em 1987, no municpio de Cubato, litoral
paulista, e em 1996 a terceira unidade, em Sertozinho, localizada no interior
do Estado.
Nesse ltimo perodo houve o reconhecimento pblico da Escola Tcnica
Federal de So Paulo pelo excelente preparo profissional dos alunos egressos.
A partir do ano 2000 houve a remodelao e expanso da oferta de ensino da
instituio. Atualmente o CEFET-SP possui aproximadamente 7000 alunos
matriculados e atua nos seguintes nveis e modalidades: Cursos Tecnolgicos
(nvel superior), Formao de Professores (nvel superior), Cursos Tcnicos,
Qualificao Profissional Bsica e Ensino Mdio.
A proposta pedaggica que norteia o seu currculo se baseia nos princpios
explcitos da contextualizao e da interdisciplinaridade e, implicitamente, na
esttica da sensibilidade, na poltica da igualdade e na tica da identidade.
O desenvolvimento dos currculos contempla tanto a transmisso dos
conhecimentos

acumulados

historicamente

pela

humanidade

como

construo de novos conhecimentos. Tem como objetivo prover atravs do


ensino as condies bsicas para a insero no mercado de trabalho, a plena
atuao na vida cidad e as habilidades metacognitivas para continuar
aprendendo.
Desde o incio de 2009 o CEFET-SP passou a designar-se Instituto Federal de
Educao, Cincia e Tecnologia de So Paulo IFSP. O IFSP - Campus
Cubato, instituio onde obtivemos autorizao para a realizao deste
trabalho, autorizado pela portaria n 158 do Ministro da Educao, publicada
no DOU de 12/03/1987.
Localizado no Jardim Casqueiro no municpio de Cubato, o campus conta
hoje com aproximadamente 1000 alunos distribudos nos seguintes cursos:
- Ensino Mdio;
- Educao de Jovens e Adultos Profissionalizante;

53
- Curso Tcnico de Informtica;
- Curso Tcnico de Eletrnica;
- Curso Tcnico de Automao;
- Curso Superior de Tecnologia em Automao Industrial;
- Curso Superior de Tecnologia em Gesto de Turismo.
3.2 Pblico-alvo da pesquisa: Alunos do Curso Tcnico em Informtica
O Curso Tcnico em Informtica est estruturado em 4 semestres/mdulos.
Apesar de no ser foco do nosso trabalho explorar detalhes quanto ao
contedo programtico deste curso, faz-se necessria uma breve anlise das
habilidades e competncias previstas em algumas disciplinas. Com isso
buscamos justificar a escolha do grupo de alunos para a realizao do projeto
de pesquisa, detalhado posteriormente neste captulo.
A seguir tem-se a relao de disciplinas do curso sob anlise, organizada em
mdulos.

54

Disciplinas Mdulo I
1. Fundamentos de Processamento de Dados
2. Sistemas Operacionais
3. Tcnicas de Programao
4. Prtica de Laboratrio
5. Linguagem de Programao
6. Lngua Portuguesa (Portugus Instrumental)
7. Ingls Instrumental
8. Cincias Aplicadas Estatstica
9. Cincias Aplicadas Matemtica
Tabela 1 Relao de disciplinas do Mdulo I Curso Tcnico em Informtica CEFET-SP

Disciplinas Mdulo II
1. Fundamentos de Processamento de Dados
2. Sistemas Operacionais
3. Tcnicas de Programao
4. Prtica de Laboratrio
5. Linguagem de Programao
Estrutura / Modelagem de Dados
Ingls Instrumental
Matemtica Financeira
Tabela 2 Relao de disciplinas do Mdulo II Curso Tcnico em Informtica CEFET-SP

55

Disciplinas Mdulo III


Linguagem de Programao Orientada a Objetos
Sistemas Operacionais
Linguagem de Programao
Banco de Dados
Estudo dos Sistemas de Informao
Gesto de Negcios
Redao Tcnica
Tabela 3 Relao de disciplinas do Mdulo III Curso Tcnico em Informtica CEFET-SP

Disciplinas Mdulo IV
Linguagem de Programao
Linguagem de Banco de Dados
Projeto de Sistemas
Segurana do Trabalho
Gesto de Negcios
Trabalho de Concluso de Curso
Tabela 4 Relao de disciplinas do Mdulo IV Curso Tcnico em Informtica CEFET-SP

56
A disciplina Tcnicas de Programao, existente nos mdulos I e II, tem dentre
seus objetivos desenvolver habilidades de:
- Selecionar e utilizar estruturas de dados na resoluo de problemas
computacionais;
- Elaborar e executar casos e procedimentos de testes de programas;
- Redigir instrues de uso dos programas implementados;
- Aplicar tcnicas de modularizao, especificao e verificao de software;
- Aplicar Tcnicas de programao orientada a objetos.
J a disciplina Linguagem de Programao, existente nos mdulos I e II, tem
dentre seus objetivos desenvolver as habilidades:
- Utilizar os conceitos de desenvolvimento de aplicaes em linguagem prpria
para a internet;
- Identificar e elaborar aplicaes para internet com planejamento e estrutura
de organizao;
A disciplina Estrutura e Modelagem de Dados, lecionada no mdulo II, tem por
objetivo desenvolver as seguintes habilidades:
- Interpretar as estruturas modeladas usando um banco de dados e aplicando
as regras de negcio definidas;
- Utilizar ambientes e linguagens para manipulao de dados nos diversos
modelos de SGBD (Sistemas de Banco de Dados: Relacional, Orientado a
objetos, dentre outros);
- Utilizar os conceitos de desenvolvimento de aplicaes em camadas, como
cliente, servidores de aplicaes, regras de negcio e servidores de banco de
dados.

57
A experincia da apresentao do desenvolvimento de um prottipo que
contemple as trs camadas previstas no modelo de desenvolvimento em
camadas foi realizado junto aos alunos do terceiro mdulo pois, para um
melhor aproveitamento, importante que os alunos tenham concludo as
disciplinas: Tcnicas de Programao, Linguagem de Programao e Estrutura
e Modelagem de Dados.
No material didtico produzido para auxiliar os alunos, apresentado o
prottipo de uma aplicao construda em trs camadas que recebeu o nome
de LOJA .NET.

3.3 O projeto LOJA .NET

O projeto LOJA .NET foi criado com o objetivo de auxiliar o aluno na aquisio
da competncia de utilizar o mtodo de desenvolvimento em camadas no
desenvolvimento de software.
Mas o que vem a ser competncia?
Segundo Philippe Perrenoud, competncia a faculdade de mobilizar um
conjunto de recursos cognitivos (saberes, capacidades, informaes, etc) para
solucionar com pertinncia e eficcia uma srie de situaes. Esto ligadas a
contextos culturais, profissionais e condies sociais".
Ao invs da memorizao de contedos, para desenvolver competncias
necessrio permitir que o aluno exercite suas habilidades. Isso o levar
aquisio de novas competncias.
Enquanto aprendizes, interiorizamos aquilo que de alguma forma est ligado ao
contedo por um desafio, necessidade ou motivao.

58
Vejamos um exemplo: um indivduo aprende a andar de bicicleta porque
decidiu aceitar o desafio de aprender essa atividade. Estava motivado a
aprender e, essa motivao, permitiu levantar diversas vezes at que a
competncia fosse alcanada.
V-se ento que a competncia uma construo mental e no apenas a
execuo de tarefas. Quem est executando a ao deve saber por que a est
realizando dessa forma e no de outra maneira.
Na rea de desenvolvimento de software impossvel memorizar todos os
comandos existentes em qualquer linguagem de programao. Por isso to
importante a abstrao da implementao fsica dos programas para modelos
matemticos.
Se o aluno possui competncia na utilizao de orientao a objetos, por
exemplo, poder utiliz-la na construo de um software para a Internet
independente da linguagem de programao utilizada.
3.3.1 A necessidade de definir ferramentas
Para desenvolver competncias necessrio trabalhar com a utilizao de
projetos. Propor tarefas complexas e desafios aos alunos permite mobilizar
seus conhecimentos e habilidades.
Visando permitir a implementao de um projeto real capaz de demonstrar o
uso e as vantagens do modelo de desenvolvimento de software em camadas,
houve a necessidade da adoo de determinado ambiente integrado de
desenvolvimento (ou IDE Integrated Development Environment1), uma
linguagem de programao especfica e um Sistema Gerenciador de Banco de
Dados.

IDE, do ingls Integrated Development Environment ou Ambiente Integrado de

Desenvolvimento, um programa de computador que rene caractersticas e ferramentas de


apoio ao desenvolvimento de software com o objetivo de agilizar este processo.
Geralmente os IDEs facilitam a tcnica de RAD (de Rapid Application Development, ou
"Desenvolvimento
desenvolvedores.

Rpido

de

Aplicativos"),

que

visa

maior

produtividade

dos

59
Considerando a experincia do pesquisador na implementao de solues de
informtica utilizando a tecnologia Microsoft, para a criao do projeto LOJA
.NET utilizou-se:
- Sistema Operacional: Microsoft Windows XP Professional;
- Linguagem de Programao: C# .NET;
- Sistema Gerenciador de Banco de Dados: Microsoft SQL Server 2005;
- Ambiente de Desenvolvimento: Microsoft Visual Studio 2005 Professional
Edition.

3.3.2 Publicao de artigos

Tendo idealizado o projeto LOJA .NET, era necessrio compartilh-lo junto aos
alunos do curso tcnico em informtica do CEFET para que fosse possvel
obter um feedback da eficcia desta proposta.
Com isso em mente, pesquisamos os principais portais na Internet de
Tecnologia da Informao para a submisso de uma srie de artigos para
aprovao.
Aps algumas semanas de pesquisa identificamos um forte candidato para a
submisso de artigos, tratava-se de um portal de tecnologia denominado Linha
de Cdigo.

60
O primeiro artigo foi aceito e publicado pelo portal Linha de Cdigo em
08/04/20081 e o ltimo, de uma srie de 9 artigos, foi publicado no mesmo site
em 01/08/20082.
No perodo de abril a agosto de 2008 verificou-se um crescente interesse por
parte de programadores iniciantes e a rea de comentrio dos artigos virou
uma espcie de comunidade virtual, local onde os programadores trocavam
experincias relacionadas ao contedo da srie de artigos.
A srie de artigos foi construda como sendo um relatrio cientfico. Era
necessrio permitir a qualquer leitor uma viso global do estudo realizado,
proporcionando a fcil consulta e fornecendo de modo objetivo as informaes
mais relevantes. Alm dos desafios pedaggicos inerentes ao Ensino
Distncia, houve desafios tcnicos como a tentativa de prever a srie de
problemas que poderiam ocorrer caso os leitores no estivessem com uma
gama de opes pr-definidas em seus computadores.
O pesquisador adquiriu equipamentos para planejar e montar em sua
residncia um verdadeiro Laboratrio para uma centena de testes demandados
pelo projeto LOJA .NET. Diferentes verses de sistemas operacionais
(Windows XP Home, Windows XP Professional, Windows Vista), diferentes
verses de Sistemas Gerenciadores de Bancos de Dados (Microsoft SQL
Server 2000, 2005 e 2008) bem como diferentes verses da prpria IDE
Microsoft Visual Studio (MSVS 2003, 2005, 2008) foram utilizadas para criar
variados cenrios. O projeto LOJA .NET foi exaustivamente testado pois o
desejo do pesquisador foi produzir um material com a melhor qualidade
possvel.

1 http://www.linhadecodigo.com.br/Artigo.aspx?id=1898
2 http://www.linhadecodigo.com.br/Artigo.aspx?id=1938

61
Outro fator a ser ressaltado foi a misso de realizar uma redao simples e
objetiva. O objetivo era permitir a prtica do desenvolvimento de software sem
a necessidade da transmisso explcita de teorias computacionais ou
matemticas. O pesquisador desenvolveu esse material didtico como um guia
prtico de maneira a permitir que os leitores pudessem desenvolver o projeto
inteiro sem que tivessem, necessariamente, domnio das teorias envolvidas.
Assim, o leitor pode se aprofundar na teoria relacionada ao tpico estudado
conforme sua necessidade e interesse. Conforme vimos no pensamento
complexo de Morin explicitado no primeiro captulo, o Aprender a Conhecer e o
Aprender a Fazer, dependem sobretudo das atitudes do aprendiz. A
transdisciplinaridade exige do aprendiz mais do que obedecer a ordens
impostas pelas regras da sociedade em que vive. No basta interiorizar esse
conjunto de regras, o aprendiz deve se conhecer para ento poder escolher
corretamente sua profisso. Quanto maior o autoconhecimento, maior a chance
de se escolher a profisso em que o aprendiz se sentir realizado, motivado,
feliz. Amar o seu ofcio o que permite no s se especializar constantemente,
mas sobretudo inovar.
Alguns leitores da srie de artigos demonstraram satisfao com esse trabalho
e sugeriram ao pesquisador uma expanso dos artigos e a publicao de um
livro no mesmo formato didtico.
O pesquisador imaginava os desafios envolvidos no projeto de publicao de
um livro mas no hesitou. Seguiu em frente, persistiu, e para a felicidade dos
leitores que enviaram mensagens de apoio, obteve sucesso nessa empreitada.

62
3.3.3 O livro "Desenvolvimento em Camadas com C# .NET"
O pesquisador recebeu muitos e-mails dos leitores dos artigos disponibilizados
no portal Linha de Cdigo. Algumas dessas mensagens eram de incentivo para
a expanso do contedo e a publicao de um livro sobre a metodologia de
desenvolvimento em camadas utilizando a linguagem de programao C#
.NET.
Vislumbramos a real possibilidade da publicao de uma obra que abordasse
de forma totalmente prtica o conceito de desenvolvimento em camadas. Os
desafios relacionados ao sucesso na realizao deste projeto eram
conhecidos:
- O contedo da obra indito no mercado?
- Qual o pblico-alvo?
- O que difere a obra das j existentes sobre o tema?
Essas questes nortearam o trabalho de expanso do projeto LOJA .NET para
atender a demanda tanto dos leitores como do mercado.
Aps a concluso da expanso do projeto LOJA .NET, o primeiro captulo foi
submetido diversas editoras especializadas em livros tcnicos at que o
projeto de publicao do livro foi acordado com a Visual Books Editora Ltda.

63
Tendo realizado as formalidades contratuais, iniciamos em equipe um trabalho
de reviso dos captulos, ilustrao da capa e outros detalhes. Em novembro
de 2008 foi publicado o livro Desenvolvimento em Camadas com C# .Net,
obra que teve como ilustrao de capa a imagem a seguir:

Figura 3 - Capa do livro Desenvolvimento em Camadas com C# .Net


Designer: Jlio Cesar Winck

A partir do 2 semestre de 2008, o Prof. Nelson Paz comeou a utilizar a srie


de artigos publicados no Portal Linha de Cdigo como apoio na disciplina
Linguagem de Programao III (LPG-III). Aps a publicao do livro em
novembro de 2008, este foi adotado como material de apoio para esta
disciplina, ministrada aos alunos do 3 Semestre do Curso Tcnico em
Informtica do IFSP.
O pesquisador foi convidado pela administrao do CEFET Cubato para
proferir uma palestra na Semana Nacional de Cincia e Tecnologia: Cincia
para o Desenvolvimento Sustentvel. Esse evento ocorreu no dia 22 de
Outubro de 2010 e a imagem a seguir tem grande valor para o pesquisador.
o registro do momento em que o professor Nelson Paz realiza a cerimnia de
entrega do Certificado de Palestrante aps a realizao do evento.

64

Figura 4 Palestra proferida para os alunos do Professor Nelson Paz - CEFET Cubato.
22/10/2010. Carlos Camacho ( esquerda) e Prof. Nelson Paz.

3.4 Anlise do Questionrio Final

O grupo de trabalho no 3 Semestre do Curso composto em mdia por um


nmero de 15 alunos.

65
Conforme o citado no item 3.2 (pblico-alvo), antes de iniciar este projeto os
alunos j haviam concludo disciplinas como orientao a objetos, momento em
que aprenderam a linguagem de programao chamada Java.
A pesquisa realizada com questionrios junto aos alunos aps a realizao do
projeto LOJA .NET nos permitiu fazer uma tabulao das habilidades
adquiridas e percebidas pelos alunos ao trmino do processo.
O professor Nelson colaborou com as atividades apresentando o projeto LOJA
.NET para os alunos do CEFET e juntos definimos um plano de trabalho.
No segundo semestre de 2008, o professor realizava a construo dos
programas juntamente com os alunos, utilizando-se do datashow como um dos
recursos didticos.
J no primeiro semestre de 2009, o professor percebeu um melhor
aproveitamento da turma quando utilizou o quadro negro (branco) e giz (pincel)
para as aulas de programao em laboratrio de informtica. No incio da aula
o professor fazia exposio do objetivo da aula no quadro para que todos
compreendessem. Feita a apresentao, o professor solicitava que cada grupo
de alunos codificasse a soluo dos exerccios propostos em seus
computadores, permitindo a consulta entre grupos.
Ao fazer junto com os alunos a programao dos exerccios, mais dvidas
foram esclarecidas e percebeu-se um melhor aproveitamento da aula. O
professor podia utilizar-se da lousa para realizar explicaes mais detalhadas
enquanto os alunos tinham liberdade para implementar sua maneira os
conceitos de programao demonstrados em laboratrio.Verificamos que
anteriormente quando se usava intensamente somente o recurso Datashow,
alguns alunos ficavam dispersos.
Ocorrendo durante todo o processo de ensino-aprendizagem, essa avaliao
favoreceu a negociao e a autonomia do aluno no gerenciamento de seu
aprendizado, possibilitando o desenvolvimento de competncias scioprofissionais.

66
importante que o educador consiga determinar aonde seu aluno j chegou
quando o desejo que ele tenha um grupo de habilidades necessrias
competncia em desenvolver software. O aluno j sabe o que uma classe e
como implement-la?
Ao realizar esse questionamento, se quer a certificao de que o aluno tem o
conceito e sabe construir uma classe por conta prpria, sem a necessidade
da ajuda de outras pessoas.
Uma das maneiras de identificar isso quando o professor est com esse
aluno em laboratrio de informtica. O educador prope um problema e analisa
o que o aluno faz para tentar solucion-lo.
Se o aluno constri sozinho uma classe, significa que ele tem a capacidade de
realizar esta tarefa de forma independente. Isso o que Vygotsky chama de
nvel de desenvolvimento real.
As funes psicolgicas que fazem parte do nvel de desenvolvimento real do
aluno em determinado momento de sua vida so aquelas j bem estabelecidas
naquele momento.
Conhecendo o que seu aluno pode fazer por conta prpria, importante agora
saber o que ele consegue fazer com a ajuda de outras pessoas mais capazes.
A capacidade de desempenhar tarefas com a ajuda de outras pessoas, o que
Vygotsky denomina nvel de desenvolvimento potencial.
Existem tarefas que o aluno no consegue desempenhar sozinho, mas aps
uma demonstrao do professor ou de pistas dadas, ele capaz de realiz-las.
Da a justificativa para o pesquisador propor ao professor Nelson que os alunos
se organizassem em grupos de trabalho. A interao social tem grande
importncia no processo de construo das funes psicolgicas humanas.
Agora podemos definir o que, segundo Vygotsky, conhecida por zona de
desenvolvimento proximal. a distncia entre o nvel de desenvolvimento
real e o nvel de desenvolvimento potencial. , assim, o caminho que o aluno
vai percorrer at que consiga realizar por conta prpria as tarefas que hoje s
consegue realizar com o auxlio de algum.
A zona de desenvolvimento proximal est em constante mutao na vida de
um ser humano: aquilo que uma pessoa s capaz de realizar com a ajuda de
algum hoje, ser possvel ser realizado de maneira independente no futuro.
(Vygotsky, 1997, p. 58-60)

67

3.4.1 Aplicao de Questionrios


No incio do 1. Semestre de 2009 aplicamos um questionrio junto aos alunos
como sondagem para averiguar como eles estavam com relao ao nvel de
desenvolvimento real.
Aps a execuo do projeto LOJA.NET, que finalizou em julho de 2009,
aplicamos um novo questionrio para verificar como os alunos se autoavaliavam com relao ao nvel de desenvolvimento real.
Estes questionrios serviram de base para as anlises de habilidades e
competncias adquiridas que realizaremos posteriormente neste captulo.
Paralelamente ao andamento da disciplina LPG-III, os alunos desenvolviam o
Trabalho de Concluso de Curso TCC. Neste contexto o TCC consiste na
construo de um software onde cada aluno tem autonomia para definir a
linguagem de programao a ser utilizada bem como todos os recursos
envolvidos no projeto.
O questionrio denominado Anexo A - Questionrio para o(a) Aluno(a) foi
aplicado antes e aps a realizao do projeto LOJA .NET pelos alunos que
cursaram a disciplina LPG-III no 1 Semestre de 2009. O objetivo da aplicao
do questionrio foi permitir aos alunos uma auto-avaliao sobre determinadas
habilidades consideradas relevantes ao processo de desenvolvimento de
software utilizando a metodologia de Desenvolvimento em Camadas.
Para cada habilidade acompanhada junto aos alunos durante a aplicao do
projeto LOJA .NET, temos a seguir:
1) Um grfico que representa o questionrio aplicado antes do projeto
LOJA .NET;
2) Um grfico que representa o questionrio aplicado depois do projeto
LOJA .NET;
3) Um grfico que resume o desempenho dos alunos na habilidade em
questo. Os nveis disponveis nos questionrios so: 1) Nenhum
conhecimento; 2) Fraco; 3) Regular; 4) Bom; 5) Muito bom. Se um aluno
assinalou Bom no primeiro questionrio e, no questionrio final,

68
assinalou Muito Bom na sua auto-avaliao, no grfico resumo este
aluno entrar na estatstica de alunos que tiveram 1 nvel de avano. Se,
por exemplo, um aluno estava inicialmente com o nvel Fraco e no
questionrio final assinalou Bom, entrar na estatstica de alunos que
tiveram 2 nveis de avano, pois o nvel imediatamente posterior ao
Fraco o Regular, e depois temos o nvel Bom.

69
1) Programao Orientada a Objetos (Uso de classes, mtodos e
propriedades)

Antes

Grfico

Depois

1:

Conceitos

de

Programao

Orientada

Objetos

Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

67% dos alunos afirmaram terem notado melhoria sobre o uso do conceito de
Orientao a Objetos quando do desenvolvimento de software.
No captulo inicial verificamos que dentre as competncias tcnicas que o
desenvolvedor de software deve ter est a necessidade de saber analisar os
documentos que especificam o que o software deve fazer.

70
A prtica desse conceito importante pois atravs da experincia que o
desenvolvedor pode adquirir a competncia de interpretar o que precisa ser
feito quando tem em mos um documento que especifica o que um software
deve fazer.
Verificamos que com o projeto LOJA .NET os alunos do CEFET tiveram a
oportunidade de melhorar seu entendimento sobre como aplicar o conceito de
Orientao a Objetos na prtica.

71
2) Conceito de Desenvolvimento em Camadas

Antes

Depois

Grfico 2: Conceito de Desenvolvimento em Camadas


Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

78% dos alunos disseram que assimilaram como desenvolver software


utilizando o mtodo de desenvolvimento em camadas sendo que destes, 22%
afirmaram que com o projeto LOJA .NET foi possvel compreender muito bem
como se faz isso.
No primeiro captulo mapeamos as cinco competncias essenciais ao
desenvolvedor de software. Vimos que a segunda competncia mapeada
consiste em saber utilizar o conceito de Desenvolvimento em Camadas.

72
Quando o aluno tem domnio sobre a metodologia de Desenvolvimento em
Camadas, significa que ele sabe construir as classes de uma camada e
tambm capaz de estabelecer a comunicao entre as camadas existentes
em um software.
Verificamos atravs do grfico 2 que a maioria dos alunos compreendeu o
processo de comunicao entre as classes.
Em termos tcnicos quando uma camada est se conectando outra dizemos
que a primeira est fazendo uma referncia segunda. Quando o
programador consegue fazer estas referncias, ele capaz de reutilizar tudo o
que j est funcionando em uma camada existente. No necessrio utilizar a
programao para reescrever algo que j foi escrito anteriormente por ele
mesmo ou por outro desenvolvedor.
Com isso os alunos demonstraram um ganho de produtividade pois
conseguiram desenvolver o projeto LOJA .NET no menor tempo possvel.

73
3) Conceito de Integridade Referencial em Banco de Dados

Antes

Grfico

Depois

3:

Integridade

Referencial

em

Banco

de

Dados

Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

A terceira competncia essencial ao desenvolvedor mapeada no primeiro


captulo denomina-se "Configurar e Gerenciar informaes em Banco de
Dados".
Essa competncia envolve as habilidades representadas nos grficos de
nmero 3, 4 e 5.

74
A primeira habilidade - representada no grfico 3 - o conceito de Integridade
Referencial. Analisando o grfico verificamos que apenas 33% dos alunos
perceberam alguma melhoria na assimilao desse conceito.
Apesar

da

integridade

referencial

no

ser

um

assunto

trivial

para

programadores iniciantes, no projeto LOJA .NET houve um esforo no sentido


de demonstrar a importncia e o funcionamento desse conceito na prtica.
Quando realizamos uma compra no supermercado por exemplo, compramos
diversificados produtos. Um software construdo para gerenciar as vendas
deste supermercado precisa armazenar dados sobre as vendas em um sistema
de banco de dados.
Os alunos viram que quando se utiliza um banco de dados, criamos tabelas
distintas para armazenar dados sobre assuntos diferentes.
As informaes do cliente comprador e da venda no ficam armazenadas em
uma nica tabela deste sistema de banco de dados.
Os dados sobre o cliente como nome e cpf ficam armazenados em uma tabela
e os dados sobre a venda como nome do produto e valor unitrio ficam
armazenados em outra tabela.
Dessa forma, preciso criar algo que relacione um cliente da tabela de clientes
com todos os produtos que ele comprou - armazenados na tabela de vendas.
Saber criar e manter esse relacionamento consistente entre as tabelas o que
chamamos de integridade referencial.
O desenvolvedor precisa dominar essa habilidade pois do contrrio podemos
encontrar um produto registrado na tabela de vendas sem que seja possvel
identificar qual cliente o comprou.
Os alunos tambm verificaram atravs do projeto LOJA .NET que a integridade
referencial importante por questes de performance da utilizao do software.
Quando o funcionrio operador do caixa do supermercado est registrando os
produtos, o software deve responder de forma rpida essas solicitaes para
evitar filas e, consequentemente, aborrecimentos por parte dos clientes.
Talvez seja necessrio reavaliar o modelo de dados utilizado no projeto LOJA
.NET para simplific-lo. possvel tambm que as explicaes durante o
processo de desenvolvimento e uso do banco de dados no tenham sido
suficientes para a assimilao desse conceito pelos alunos.

75
4) Criao de Tabelas em Banco de Dados

Antes

Grfico

Depois

4:

Criao

de

Tabelas

em

Banco

de

Dados

Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

Com relao a criao de tabelas em banco de dados, 56% dos alunos


notaram melhorias aps a execuo do projeto.
Um sistema de banco de dados uma estrutura complexa composta por
diversas tabelas que se relacionam.
Como vimos na teoria de Morin comentada no primeiro captulo, para
compreender o problema da complexidade preciso reconhecer o paradigma
da simplicidade. No paradigma da simplicidade prevalece a lgica, a ordem.

76
Atravs do projeto LOJA .NET os alunos puderam verificar que a construo de
um sistema de banco de dados comea com a construo de uma tabela de
cada vez. Se for preciso criar uma tabela para armazenar os dados de clientes
e uma tabela para armazenar dados das vendas, qual delas o aluno deve criar
primeiro? Existir algum problema se o aluno cri-las na ordem que desejar?
No exerccio dessa habilidade os alunos compreenderam que importante
obedecer a uma ordem. Primeiro criamos a tabela de clientes e posteriormente
criamos a tabela de vendas. Mas por qu?
Para que no momento do registro da venda, j existam clientes cadastrados de
forma que o sistema possa relacionar qual cliente est adquirindo
determinados produtos.
Os alunos puderam verificar que aqui o momento de usar, tambm, o
conceito de integridade referencial. Compreenderam que se as tabelas no
forem criadas na ordem correta o software no vai funcionar de maneira
adequada.

77
5) Criao e uso de Stored Procedures

Antes

Grfico

Depois

5:

Criao

uso

Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

de

Stored

Procedures

78

J sobre a criao e uso de stored procedures, 67% dos alunos disseram


terem percebido melhorias.
Essa habilidade foi analisada no grfico 5 e aqui os alunos perceberam que
uma stored procedure no pode existir sem que haja um sistema de banco de
dados.
No captulo inicial Morin afirma: Vai estudar-se o crebro como rgo biolgico
e vai estudar-se o esprito, the mind, como funo ou realidade psicolgica.
Esquece-se que um no existe sem o outro; ou melhor, que um
simultaneamente o outro, embora sejam tratados por termos e conceitos
diferentes.
Assim tambm se relacionam as stored procedures e os sistemas de bancos
de dados. Para que o aluno compreenda melhor a criao e uso de uma stored
procedure, necessrio compreender o funcionamento do sistema de banco
de dados. Uma stored procedure um conjunto de comandos que so
enviados para que o sistema de banco de dados execute.
Se esse conjunto de comandos estiver dentro de um programa, este conjunto
no constitui uma stored procedure. Stored procedure ou Procedimento
Armazenado , como o prprio nome diz, um conjunto de comandos que so
armazenados dentro do prprio sistema de banco de dados.
No

projeto

LOJA

.NET

os

alunos

aprenderam

armazenar

estes

procedimentos no banco de dados e como um software pode invocar a


execuo destes procedimentos.

79
6) Funcionamento da construo de aplicaes para MS-Windows

Antes

Grfico

Depois

6:

Funcionamento

da

construo

Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

de

Aplicaes

para

MS-Windows

80
Construir Aplicaes utilizando o modelo de desenvolvimento em camadas:
Essa competncia foi analisada a partir dos grficos de nmero 6 e 7. Sobre o
desenvolvimento de aplicaes para Windows, 44% dos alunos perceberam
melhorias sendo que destes, 33% perceberam o projeto como um diferencial
para a assimilao desta competncia.
No segundo captulo verificamos que o surgimento da Internet foi possvel
devido a um acordo entre diversas empresas de tecnologia com relao
adoo de padres. Padres estes que foram adotados para a construo de
cada camada da Internet.
A construo de aplicaes para MS-Windows se encontra na Camada de
Aplicao da Internet. Ela aproveita as camadas anteriores, como por exemplo,
o protocolo de comunicao TCP/IP que permite o envio e recebimento de
informaes dentre as redes formadas por computadores com diferentes
sistemas operacionais.
Como o desenvolvedor de software tem a vantagem de no precisar se
preocupar com protocolos de comunicao entre redes, pode ter foco na tarefa
de construir sua aplicao.
Os alunos construram no projeto LOJA .NET uma aplicao que foi executada
no sistema operacional Microsoft Windows.
Existem alguns cientistas da computao e alunos dedicados em projetos com
o objetivo de fazer com que um software desenvolvido possa ser executado da
mesma forma nos diferentes sistemas operacionais existentes (como Microsoft
Windows, Linux, MacOS, dentre outros).
No laboratrio de informtica utilizado pelos alunos do CEFET tnhamos
licenas de MS-Windows devido a um programa de parceria com a Microsoft.
Devido a esse fato e tambm pelo sistema operacional Microsoft Windows ser
o mais utilizado atualmente, foi este o ambiente escolhido para o
desenvolvimento do projeto LOJA .NET.
Os alunos puderam experimentar como reunir os recursos de bancos de dados,
sistema operacional e linguagem de programao para possibilitar a
construo de um software segundo os padres de qualidade exigidos pelo
mercado.

81
7) Funcionamento da construo de aplicaes para a WEB

Antes

Grfico

Depois

7:

Funcionamento

da

construo

Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

de

aplicaes

para

Web

82
Construir Aplicaes utilizando o modelo de desenvolvimento em camadas:
Com relao ao desenvolvimento de aplicaes para a Web, 67% dos alunos
avaliaram positivamente o projeto e destes, 22% afirmaram que o projeto foi de
grande relevncia para seu aprendizado.
Verificamos no captulo sobre Desenvolvimento em Camadas a importncia
dos padres no Desenvolvimento de Aplicaes.
Os alunos puderam construir uma pgina Web que pode ser acessada por
qualquer computador conectado Internet. Isso possvel devido a
padronizao existente e exigida das empresas que desenvolvem os browsers
ou navegadores Internet. Alguns exemplos de navegadores so: Internet
Explorer e Mozilla Firefox.
Devido ao fato de todos os navegadores s exibirem uma linguagem chamada
HTML, necessrio que o desenvolvedor utilize essa linguagem para que seja
possvel o acesso e visualizao do contedo existente no site criado.
Os alunos experimentaram como a ferramenta Microsoft Visual Studio permite
a criao de pginas para a Internet reaproveitando as camadas que eles
mesmos criaram quando da construo da aplicao para MS-Windows.
Na aplicao MS-Windows os alunos precisaram construir uma camada para
realizar o acesso ao banco de dados e uma camada para contemplar
determinadas regras de negcio (Exemplo: na incluso de cliente o campo
nome no pode ser vazio).
Quando desenvolveram a pgina Web, os alunos verificaram que foi possvel
reutilizar estas duas camadas. Dessa forma no foi necessrio reescrever as
partes do software responsveis por estas tarefas pois isso j tinha sido feito
anteriormente.
No segundo captulo vimos que em 2007 foi criado um escritrio brasileiro do
W3C (World Wide Web Consortium). Isso demonstra a importncia de padres
pois a misso do W3C assegurar a compatibilidade entre as diferentes novas
tecnologias incorporadas Web. Existe um grande grupo de pessoas
dedicadas nessa misso em todo o mundo, e isso o que possibilita a alta
produtividade e reaproveitamento de cdigo que os alunos do CEFET puderam
vivenciar no projeto LOJA .NET no momento em que construram uma
aplicao para a Web.

83
8) Como funciona na prtica o uso da Segurana da Informao

Antes

Grfico

Depois

8:

Como

funciona

na

prtica

uso

da

Segurana

da

Informao

Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

Verificamos que 78% dos alunos afirmaram ter sido positivo o uso do projeto
LOJA .NET para a assimilao de como usar tpicos de Segurana da
Informao no processo de construo de software.
No captulo 2, vimos na seo "Padres no Desenvolvimento de Software" que
existem trs perfis de usurios quando o assunto o uso da Internet: Usurio
leigo, Usurio do governo e Usurio tcnico.

84
O usurio tcnico conhece como a Internet foi construda fisicamente e quais
mecanismos estabelecem a conexo entre os computadores e demais
dispositivos da rede.
Infelizmente existem no mundo pessoas boas e pessoas ms. Quando uma
pessoa m um usurio tcnico isso se torna um risco s empresas e
sociedade, pois na Internet realizamos compras, acessamos nossa conta
bancria para realizar pagamentos e usufrumos de diversos servios
disponveis.
No livro "Desenvolvimento em Camadas com C# .NET" os alunos do CEFET
compreenderam que o desenvolvedor precisa conhecer mecanismos para
tornar o seu software seguro contra pessoas mal intencionadas.
No projeto LOJA .NET utilizado no livro, os alunos utilizaram tcnicas para
esconder informaes referentes a localizao do computador que armazena
os dados acessados pelo software que desenvolveram. Isso inibe a ao de
pessoas que tentarem invadir esse computador para roubar ou destruir
informaes.
Os alunos compreenderam que criar um software seguro uma exigncia de
empresas de pequeno, mdio e grande porte.

85
9) De uma forma geral, como voc avalia o seu conhecimento em
Desenvolvimento de Aplicaes comerciais que atendam as exigncias de
qualidade das empresas?

Antes

Grfico

Depois

9:

Conhecimentos

gerais

em

Desenvolvimento

de

Sistemas

Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

67% dos alunos afirmaram que o projeto LOJA .NET contribuiu positivamente
para a aquisio de conhecimento sobre desenvolvimento de aplicaes
utilizando a metodologia de desenvolvimento em camadas.

86
Verificamos neste terceiro captulo que os alunos do CEFET vivenciaram
atravs de projeto LOJA .NET todas as fases de desenvolvimento de um
software.
O software desenvolvido pelos alunos atende as exigncias atuais de mercado
pois usa uma metodologia de desenvolvimento - a metodologia de
Desenvolvimento em Camadas - assim como possui mecanismos de
segurana de maneira a se prevenir contra tentativas de invases.
Analisamos neste grfico como os alunos se sentiam preparados para
desenvolver um software com todas as caractersticas exigidas pelo mercado
antes e aps executarem o projeto LOJA .NET.
Neste captulo vimos ainda que durante a execuo do projeto LOJA .NET
houve uma constante mutao da zona de desenvolvimento proximal dos
alunos.
Inicialmente havia muitos tpicos que eles desconheciam. Alguns estavam
prximos de se tornarem conhecimento real, pois os alunos conseguiam
executar determinadas construes com a ajuda de alunos mais avanados.
Depois de algumas semanas, estes alunos j dominavam e conseguiam
executar sozinhos o que anteriormente s conseguiam fazer com a ajuda de
alunos mais avanados. Neste assunto que estes alunos que acabaram de
conhecer atuavam como multiplicadores, ajudando os que ainda no haviam
conquistado esse patamar.
Tivemos a oportunidade de explorar esse ciclo do aprender a fazer luz da
teoria de Vygotsky, que nos deu suporte na afirmao de que o ser humano
est sempre aprendendo coisas novas, e o que uma pessoa hoje s faz com a
ajuda de algum ser possvel ser realizado de forma independente no futuro.

87
10) Como voc avalia a importncia desse projeto na sua formao como
profissional de tecnologia da informao?

Esta questo foi disponibilizada aos alunos no trmino do 1. Semestre de 2009.

Grfico

10

Avaliao

da

importncia

do

projeto

LOJA

.NET

pelos

alunos

Nveis: Nenhum; Fraco; Regular; Bom; Muito bom.

Essa questo foi disponibilizada aos alunos somente no questionrio final,


momento em que eles j tinham terminado a execuo do projeto LOJA .NET
em Laboratrio de Informtica.

88
Verificamos que 22% dos alunos consideraram o projeto regular, 56%
afirmaram que a importncia do projeto na sua formao foi boa e 22% dos
alunos participantes do projeto disseram que o projeto foi muito bom para a sua
formao.
Foi importante verificar como os alunos avaliavam a relevncia do projeto LOJA
.NET em sua formao, pois o objetivo desse projeto foi propiciar eles
experincia em desenvolvimento de software de forma a agregar habilidades e
competncias teis na sua atuao profissional.

89
CONSIDERAES FINAIS

Nossa investigao consistiu em analisar a questo: A utilizao de projetos de


aplicao dos conceitos de forma prtica fundamentada no mtodo de
Desenvolvimento em Camadas contribui para que alunos de cursos tcnicos
em informtica desenvolvam competncias na construo de software?
No captulo inicial denominado Construo de Software e as Competncias
Necessrias foi possvel analisar primeiramente o que vem a ser um projeto de
aplicao. Foi criado um projeto de aplicao chamado LOJA .NET utilizado
como material didtico para que os alunos do CEFET pudessem ter um contato
aprofundado com um Ambiente de Desenvolvimento Integrado o Microsoft
Visual Studio 2008. Analisamos a diferena entre habilidade e competncia e
verificamos que o profissional de desenvolvimento de software deve possuir
no s habilidades tcnicas, mas tambm exigido com relao a aspectos
comportamentais. Mapeamos cinco importantes competncias e estas foram
analisadas junto ao grupo de alunos no CEFET.
Para possibilitar a experimentao de um projeto prtico transdisciplinar que
permitisse aos alunos compreender como diversas disciplinas de seu currculo
esto relacionadas no processo de construo de software, selecionamos um
dos padres de desenvolvimento de sistemas bastante utilizado atualmente: o
mtodo de desenvolvimento em camadas.
Era preciso explicitar a importncia do uso de padres na rea de
desenvolvimento de software e em que consistia o Desenvolvimento em
Camadas. Para essa anlise o segundo captulo propiciou conhecer como a
Internet surgiu. Essa histria retrata a importncia do uso de padres e traz de
forma objetiva o conceito de desenvolvimento em camadas. Verificamos que a
Internet surgiu como uma interconexo de muitas redes de computadores. Para
permitir essa comunicao entre diferentes computadores com diferentes
sistemas operacionais foi imprescindvel a adoo de padres. Dividida em
camadas, verificamos que na arquitetura de construo da Internet uma
camada dependente da outra e utiliza

todos os

seus

servios,

reaproveitando-os de forma que estes servios no precisam ser criados em

90
duplicidade. Esse modo de construo da Internet permite que ela evolua, pois
e criao de novos servios pode ocorrer sem a necessidade de grandes
modificaes no que j est sendo utilizado pelos usurios da Internet
atualmente.
Atravs de uma comparao, vimos que o conceito de reaproveitar o que j
est em funcionamento tambm aplicado no mtodo de desenvolvimento em
camadas. Tcnica que foi utilizada pelos alunos durante a execuo do projeto
LOJA .NET.
O captulo final contribuiu para uma anlise qualitativa pois com o projeto LOJA
.NET os alunos: Utilizaram um projeto de aplicao para construir um software;
Conheceram e utilizaram o mtodo de desenvolvimento em camadas e
tambm exercitaram cinco importantes competncias mapeadas no captulo
inicial.
Atravs de questionrios aplicados antes e aps a execuo do projeto LOJA
.NET pelos alunos, no terceiro captulo foi possvel demonstrar graficamente a
evoluo dos alunos nos conhecimentos envolvidos.
Foi possvel verificar que o projeto no contribuiu satisfatoriamente com relao
assimilao do conceito de Integridade Referencial, habilidade importante
para a competncia de Configurao e Gerenciamento de informaes em
Banco de Dados.
Com a anlise realizada no captulo final verificamos que de um modo geral, o
projeto LOJA .NET mostrou-se relevante para que os alunos desenvolvessem
competncias sobre desenvolvimento de software. Vale ressaltar que apesar
do livro "Desenvolvimento em Camadas com C# .NET" ser um guia passo a
passo sem prvias explanaes tericas em cada captulo, o projeto LOJA
.NET existente nessa obra foi concebido com foco no uso de padres e
metodologias de desenvolvimento, e no no uso de tecnologias. Em outras
palavras, pode-se afirmar que devido ao nvel de abstrao existente no projeto
LOJA .NET, ao invs de utilizarmos como sistema operacional, linguagem de
programao e sistema gerenciador de banco de dados a trade Microsoft
Windows, Microsoft C# .NET e Microsoft SQL Server, poderamos ter utilizado,
respectivamente, Linux, Java e MySQL.

91
Longe de esgotar as possibilidades, esperamos num futuro prximo continuar
esta pesquisa, em busca de novas estratgias para auxiliar a formao do
profissional de tecnologia da informao na rea de desenvolvimento de
software.
Por fim, esperamos que este trabalho possa constituir uma ferramenta que
auxilie o futuro pesquisador em sua prpria jornada.

92
ESTUDOS FUTUROS

Se por um lado a interao dos alunos com o projeto LOJA .NET nos permitiu
navegar nesse mar de tecnologia, por outro agora possvel vislumbrar novas
possibilidades.
Os alunos do CEFET participantes deste trabalho compreenderam, dentre
outros tpicos, como as informaes so passadas de uma camada para outra
utilizando a programao orientada a objetos. Esse conhecimento constitui
uma boa base e com isso talvez seja possvel avanar em um tpico de
padres de desenvolvimento conhecido por Test-Driven Development ou TDD.
O TDD uma metodologia aplicada no desenvolvimento de software onde
primeiro se desenvolve os testes e depois as regras de negcio so
implementadas, ou seja, trata-se de um desenvolvimento dirigido por testes.
O uso do TDD permite eliminar os defeitos do cdigo no incio do processo,
evitando longos perodos de reviso tcnica do projeto. Essa tcnica oferece
um grande nvel de confiana no cdigo uma vez que um grande nmero de
testes ajuda a limitar a quantidade de defeitos.
O pesquisador que se identificar com essa pesquisa cientfica talvez possa
encontrar apoio em ferramentas como o NUnit da IDE Microsoft Visual Studio e
tambm o JUNIT existente na IDE Eclipse. Atualmente estas IDEs j oferecem
suporte ao conceito de TDD. Se empresas, profissionais de desenvolvimento e
a comunidade cientfica utilizarem com mais freqncia tais ferramentas a
tendncia que elas evoluam.
Outra possibilidade de estudo para dar continuidade ao projeto LOJA .NET
explorar o uso do Entity Framework. No projeto LOJA .NET utilizamos na
camada de acesso a dados comandos especficos do sistema de banco de
dados Microsoft SQL Server. E se o projeto LOJA .NET fosse um sistema
comercial e surgisse a necessidade de substituir o sistema de banco de dados
Microsoft SQL Server para outro sistema de banco de dados qualquer, por
exemplo o Oracle? Isso no seria uma tarefa simples, pois o sistema LOJA
.NET possui acoplamento ao SQL Server. Significa que ele dependente,
contm comandos especficos para o gerenciamento do SQL Server. O uso do
Entity Framework permite o desacoplamento do sistema de banco de dados, ou

93
seja, o desenvolvedor de software no precisar reescrever a camada de
acesso a dados quando houver a necessidade de substituir o sistema de banco
de dados utilizado pelo software que construiu.

94
GLOSSRIO
Browser. um programa de computador que habilita seus usurios a
interagirem com documentos virtuais da Internet, tambm conhecidos como
pginas HTML, que esto hospedadas em um servidor Web.
Cdigo fonte (cdigo-fonte, ou source code em ingls) o conjunto de
palavras ou smbolos escritos de forma ordenada, contendo instrues em uma
das linguagens de programao existentes, de maneira lgica. Existem
linguagens que so compiladas e as que so interpretadas. As linguagens
compiladas, aps ser compilado o cdigo fonte, transformam-se em software,
ou seja, programas executveis. Este conjunto de palavras que formam linhas
de comandos severa estar dentro da padronizao da linguagem escolhida,
obedecendo critrios de execuo. Atualmente, com diversificao de
linguagens, o cdigo pode ser escrito de forma totalmente modular, podendo
um mesmo conjunto de cdigos ser compartilhado por diversos programas e,
at mesmo, linguagens.
Cracker. Pessoa que possui conhecimentos avanados de computao e usa
esse conhecimento para invadir e destruir sistemas alheios.
Desenvolvimento em Camadas. Conceito da rea de Engenharia de
Sistemas. uma metodologia que permite a construo de um software em
partes separadas; estas partes so chamadas de camadas. Nesta metodologia
de desenvolvimento, os programas ficam logicamente separados de maneira a
facilitar a manuteno e a reutilizao dos programas j desenvolvidos.
E-mail. (Electronic mail: mensagem eletrnica). um mtodo que permite
compor, enviar e receber mensagens atravs de sistemas eletrnicos de
comunicao.
Engenharia de software. uma rea do conhecimento da computao
voltada para a especificao, desenvolvimento e manuteno de sistemas de
software aplicando tecnologias e prticas de gerncia de projetos e outras
disciplinas, objetivando organizao, produtividade e qualidade. Atualmente,
essas tecnologias e prticas englobam linguagens de programao, banco de
dados, ferramentas, plataformas, bibliotecas, padres, processos e a questo
da Qualidade de Software.

95
Os fundamentos cientficos para a engenharia de software envolvem o uso de
modelos abstratos e precisos que permitem ao engenheiro especificar, projetar,
implementar e manter sistemas de software, avaliando e garantindo suas
qualidades.
Engenharia reversa. Consiste em usar a criatividade para, a partir de uma
soluo pronta, retirar todos os possveis conceitos novos ali empregados.
um processo de anlise de um artefato (um aparelho, um componente
eltrico, um programa de computador, etc.) e dos detalhes de seu
funcionamento, geralmente com a inteno de construir um novo aparelho ou
programa que faa a mesma coisa, sem realmente copiar alguma coisa do
original.
Entity Framework (EF). um conjunto de tecnologias desenvolvido pela
Microsoft que suporta o desenvolvimento a aplicaes orientadas a dados.
Arquitetos e desenvolvedores de aplicaes orientadas a dados tem se
debatido com a necessidade de alcanar dois objetivos distintos: Modelar
entidades, relacionamentos e problemas da lgica de negcio; Trabalhar com
sistemas de armazenamento de dados para armazenar e consultar
informaes. Os dados podem estar distribudos em mltiplos sistemas de
armazenamentos, cada um com suas particularidades e protocolos. Mesmo em
situaes onde um nico sistema de armazenamento usado ainda existe a
necessidade de balancear os requisitos de armazenamento com os requisitos
de escrever um cdigo eficiente. O Entity Framework permite aos
desenvolvedores trabalhar com dados na forma de propriedades e objetos
especficos do domnio (como clientes, produtos) sem a obrigao de
relacion-los com as tabelas do banco de dados e as colunas onde os dados
esto armazenados. Isto possvel pela elevao do nvel de abstrao no
qual os desenvolvedores podem trabalhar quando esto tratando com os dados
e pela reduo do cdigo que necessrio para manter as aplicaes
orientadas a dados.
Fluxograma. um tipo de diagrama, e pode ser entendido como uma
representao esquemtica de um processo, muitas vezes feito atravs de
grficos que ilustram de forma descomplicada a transio de informaes entre
os elementos que o compem. Podemos entend-lo, na prtica, como a
documentao dos passos necessrios para a execuo de um processo

96
qualquer. uma das Sete Ferramentas da Qualidade. Muito utilizada em
fbricas e indstrias para a organizao de produtos e processos.
O Diagrama de Fluxo de Dados (DFD) utiliza do Fluxograma para modelagem
e documentao de sistemas computacionais.
GPS. O sistema de posicionamento global, popularmente conhecido por GPS
(acrnimo do original ingls Global Positioning System, ou do portugus "geoposicionamento por satlite") um sistema de navegao por satlite que
fornece a um aparelho receptor mvel a posio do mesmo, assim como
informao horria, sob quaisquer condies atmosfricas, a qualquer
momento e em qualquer lugar na Terra, desde que o receptor se encontre no
campo de viso de quatro satlites GPS.
Hacker. Originrio do ingls, o termo hacker utilizado no portugus. Os
Hackers utilizam todo o seu conhecimento para melhorar software de forma
legal. A maioria dos hackers so usurios avanados de Software Livre como o
sistema operacional GNU/Linux.
HTML. (acrnimo para a expresso inglesa HyperText Markup Language, que
significa Linguagem de Marcao de Hipertexto) uma linguagem de
marcao utilizada para produzir pginas na Web. Documentos HTML podem
ser interpretados por navegadores (ou browsers).
Interoperabilidade. a capacidade de um sistema (informatizado ou no) de
se comunicar de forma transparente (ou o mais prximo disso) com outro
sistema (semelhante ou no). Para um sistema ser considerado interopervel,
muito importante que ele trabalhe com padres abertos. Seja um sistema de
portal, seja um sistema educacional ou ainda um sistema de comrcio
eletrnico, ou e-commerce, hoje em dia se caminha cada vez mais para a
criao de padres para sistemas.
Internet. Tambm chamada de WWW ou World Wide Web. a definio para
a rede mundial de computadores.
MILNET. Rede de computadores interligados. Foi criada pelos militares do
Departamento de Defesa dos EUA.
N Camadas. Um programa de n camadas um aplicativo desenvolvido de
forma a ter vrias camadas lgicas. Cada camada auto-contida o suficiente
de forma que a aplicao pode ser dividida em vrios computadores em uma
rede distribuda.

97
A forma mais comum da arquitetura a aplicao em trs camadas (3-Tier),
comumente usada em aplicaes Web, na qual as camadas so: interface com
o usurio, lgica do negcio, e banco de dados.
Cada camada dessa arquitetura normalmente mantida por um servidor
especfico para tornar-se mais escalonvel e independente das demais. Essa
arquitetura tem como caractersticas: baixos custos de disponibilizao; baixos
custos na mudana da base de dados; baixos custos na mudana da lgica de
negcios; eficiente armazenamento e reutilizao de recursos.
Servidor Web. A expresso servidor web pode significar duas coisas:
1. Um programa de computador responsvel por aceitar pedidos http de
clientes, geralmente os navegadores, e serv-los com respostas http, incluindo
opcionalmente dados, que geralmente so pginas web, tais como documentos
HTML com objetos embutidos (imagens, etc.);
2. Um computador que executa um programa e prov a funcionalidade descrita
acima.
Software. uma seqncia de instrues a serem executadas por um
computador. Software tambm o nome dado ao conjunto de produtos
desenvolvidos no processo de software, onde incluem-se programas, manual
de instalao, manual do usurio, dentre outros.
Stored procedure ou Procedimento armazenado uma coleo de comandos
em SQL para serem executados no Banco de dados. Normalmente usado
para tarefas que se repetem em um sistema. O procedimento armazenado
aceita parmetros de entrada e retorna um valor de status que indica se a
coleo de comandos foi ou no executada com sucesso. O procedimento
armazenado tambm permite reduzir o trfego na rede, melhorar a
performance e criar mecanismos de segurana.
TCP-IP. um conjunto de protocolos de comunicao entre computadores em
rede (tambm chamado de pilha de protocolos TCP/IP). Seu nome vem de dois
protocolos: o TCP (Transmission Control Protocol Protocolo de Controle de
Transmisso) e o IP (Internet Protocol Protocolo de Interconexo). O conjunto
de protocolos pode ser visto como um modelo de camadas, onde cada camada
responsvel por um grupo de tarefas, fornecendo um conjunto de servios
bem definidos para o protocolo da camada superior. As camadas mais altas
esto logicamente mais perto do usurio (chamada camada de aplicao) e

98
lidam com dados mais abstratos, confiando em protocolos de camadas mais
baixas para tarefas de menor nvel de abstrao.
W3C. O World Wide Web Consortium um consrcio de empresas de
tecnologia, atualmente com cerca de 500 membros. Fundado por Tim BernersLee em 1994 para levar a Web ao seu potencial mximo, por meio do
desenvolvimento de protocolos comuns e fruns abertos que promovem sua
evoluo e asseguram a sua interoperabilidade. O W3C desenvolve padres
para a criao e a interpretao dos contedos para a Web. Sites
desenvolvidos segundo esses padres podem ser acessados e visualizados
por qualquer pessoa ou tecnologia, independente de hardware ou software
utilizados, como celulares (em Portugal, telemvel), PDAs, de maneira rpida e
compatvel com os novos padres e tecnologias que possam surgir com a
evoluo da internet.

99

ABREVIATURAS
CEFET. Centro Federal de Educao Profissional e Tecnolgica.
IDE.

(Integrated

Development

Environment).

Ambiente

integrado

desenvolvimento.
IFSP. Instituto Federal de Educao, Cincia e Tecnologia de So Paulo.
NFS. Fundao Nacional de Cincia dos EUA.
SETEC. Secretaria de Educao Profissional e Tecnolgica.
TCP-IP. Transmission Control Protocol Internet Protocol.
W3C. World Wide Web Consortium.

de

100

ANEXO:
Questionrio para o(a) Aluno(a)

101
IFET Instituto Federal de Educao, Cincia e Tecnologia

Carta de Apresentao

Prezado(a) Aluno(a),
Meu nome Carlos Olavo de Azevedo Camacho Jnior. Sou um
professor pesquisador e atualmente realizo Mestrado em Tecnologias da
Inteligncia e Design Digital na Pontifcia Universidade Catlica de So Paulo
PUC-SP.
O objetivo da minha pesquisa verificar se o uso de projetos em
laboratrios capaz de transmitir conhecimentos necessrios para a atuao
do profissional de Tecnologia da Informao nas empresas.
No questionrio, cada item de conhecimento est descrito em uma linha.
Cada linha deve ter somente uma resposta (marque um X na coluna
desejada). Escolha dentre as opes que vo de nenhum at muito bom,
indicando o seu nvel de conhecimento em cada item. A primeira pgina do
questionrio refere-se a avaliao dos seus conhecimentos antes da utilizao
do projeto proposto e a ltima pgina deve refletir como esto os seus
conhecimentos aps a execuo do projeto em laboratrio de informtica.
Aps o preenchimento, por favor devolva o questionrio para o professor
Nelson Paz.
Muito obrigado por participar dessa pesquisa! Voc est contribuindo
para a melhoria das tcnicas de ensino e a formao de muitos profissionais da
rea de Tecnologia da Informao.

Carlos Camacho.
webmaster@camachojunior.com.br

102
IFET Instituto Federal de Educao, Cincia e Tecnologia
Questionrio para o(a) Aluno(a)
Tema: Uso de Projeto no Desenvolvimento em Camadas com C# .NET
1. Antes da utilizao do projeto prtico em laboratrio de informtica:
Como voc avalia os seus conhecimentos em:
Conhecimento

Nenhum

Fraco

Regular

Bom

Muito
Bom

Programao Orientada a Objetos (Uso de


classes, mtodos e propriedades)
Conceito

de

Desenvolvimento

em

Camadas
Conceito de Integridade Referencial em
Banco de Dados
Criao de Tabelas em Banco de Dados
Criao e uso de Stored Procedures
Funcionamento

da

construo

de

aplicaes para MS-Windows


Funcionamento

da

construo

de

aplicaes para a WEB


Como funciona na prtica o uso da
Segurana da Informao
De uma forma geral, como voc avalia o
seu conhecimento em Desenvolvimento
de Aplicaes comerciais que atendam as
exigncias de qualidade das empresas?

103
2. Depois da utilizao do projeto prtico em laboratrio de informtica:
Como voc avalia os seus conhecimentos em:
Conhecimento

Nenhum

Fraco

Regular

Bom

Muito
Bom

Programao Orientada a Objetos (Uso de


classes, mtodos e propriedades)
Conceito

de

Desenvolvimento

em

Camadas
Conceito de Integridade Referencial em
Banco de Dados
Criao de Tabelas em Banco de Dados
Criao e uso de Stored Procedures
Funcionamento

da

construo

de

aplicaes para MS-Windows


Funcionamento

da

construo

de

aplicaes para a WEB


Como funciona na prtica o uso da
Segurana da Informao
De uma forma geral, como voc avalia o
seu conhecimento em Desenvolvimento
de Aplicaes comerciais que atendam as
exigncias de qualidade das empresas?
Como voc avalia a importncia desse
projeto na sua formao como profissional
de tecnologia da informao?
Observaes (opcional):

104
REFERNCIAS BIBLIOGRFICAS

CAMACHO JNIOR, Carlos Olavo de Azevedo. Desenvolvimento em


camadas com C# .Net. Florianpolis: Visual Books, 2008.
CARAA, Joo. O que CINCIA. 2 edio, Coimbra: Quimera Editores,
2001.
CBO/MTE, 2002 BRASIL. Portaria N 397, 09 de outubro de 2002. Braslia:
Ministrio do Trabalho e Emprego, CBO Classificao Brasileira de
Ocupaes, 2002.
CGI.br, Revista .br Edio 01 Ano 1, 2009.
CHAVES, Mrio. Complexidade e Transdisciplinaridade, Uma abordagem
multidimensional do Setor da Sade, Brasil, 1998.
COAD, Peter; YOURDON, Edward. Anlise baseada em objetos. Rio de
Janeiro, Campus, 1992.
________. Projeto baseado em objetos. Rio de Janeiro, Campus, 1993.
COLEMAN, Derek; ARNOLD, Patrick; BODOF, Stephanie; DOLLIN, Chris;
GILCHRIST, Helena; HAYES, Fiona; JEREMAES, Paul. Desenvolvimento
orientado a objetos O mtodo Fusion. Rio de Janeiro, Campus, 1996.
EMBLEY, David W.; JACKSON, Robert B.; WOODFIELD, Scott N. OO
Systems Analysis: Is it or isnt it? IEEE Software. 1995.
GUNDERLOY,

Mike.

Developing

and

Implementing Windows-Based

Application with Microsoft Visual Basic .NET and Microsoft Visual Studio
.NET. MCAD / MCSD Training Guide Exam (70-306). Indianapolis, USA:
Publishing, 2003, 1152p.
HECKHAUSEN, Heinz. Discipline et interdisciplinarit. In Ceri (eds.)
L'interdisciplinarit. Problmes d'enseignement et de recherche dans les
Universits. Paris: UNESCO/OCDE, 1972.
JANSTCH, Erich. Vers l'interdisplinarit et la transdisciplinarit dans
l'enseignement et l'innovation. In Ceri (eds.) L'interdisciplinarit. Problmes
d'enseignement et de recherche dans les Universits, Paris: UNESCO/OCDE,
1972.
LE BOTERF, Guy. De la competnce: essai sur un attacteur trange. Paris:
s.n., 1994.

105
MARTIN, James; ODELL, James J. Anlise e Projeto Orientado a Objetos.
So Paulo, Makron Books, 1995.
MASLOW, Abraham H. Maslow no Gerenciamento. RJ: Qualitymark, 2000.
392p.
MICROSOFT

Corporation.

Developing

Microsoft

ASP

.NET

Web

Applications Using Visual Studio .NET. MSDN Training. Redmond, USA:


Microsoft Press, 2002. 794 p.
MICROSOFT Corporation. Programming with C#. MSDN Training. Redmond,
USA: Microsoft Press, 2002. 739p.
MORIN, Edgar. Introduo ao pensamento complexo (Titulo original:
Introduction la pense complexe. Paris, ESF d., 1990), 2001.
NEST. Introduo Metodologia Transdisciplinar, Ncleo de Estudos
Superiores Transdisciplinares (Gustavo Korte e Dalva Alves), So Paulo, 2000.
NICOLESCU,

Bassarab.

Um

novo

tipo

de

conhecimento

transdisciplinaridade. In Educao e Transdisciplinaridade. Braslia: Ed.


UNESCO, 1999.
IBGE, O Setor da Tecnologia da Informao e Comunicao no Brasil
2003-2006. Estudos e Pesquisas Informao Econmica n. 11: Rio de
Janeiro, 2009.
Notas de Aula do Prof. Demi Getschko. Disciplina: Redes e Tecnologia em
Gesto do Conhecimento. Programa de Ps-Graduao em Tecnologias da
Inteligncia e Design Digital, PUC-SP, 1 Semestre/2009.
OLIVEIRA, Martha Kohl de. Vygotsky: aprendizado e desenvolvimento: um
processo scio-histrico. So Paulo, Scipione, 1997. (Pensamento e ao no
magistrio)
PARRA, Cecilia. Didtica da Matemtica: reflexes psicopedaggicas /
Cecilia Parra, Irma Saiz et.al.; traduo Juan Acua Llorens. Porto Alegre:
Artes Mdicas, 1996.
PARSONS, Jefrey; WAND, Yair. Using objects for System Analysis.
Communication of ACM vol. 40, 1997.
PERRENOUD, Philippe. Construir as competncias desde a escola. Porto
Alegre:Artmed, 1999.

106
PRADO, Fernando Leme do. Complexidade e metodologia de projetos:
melhorando a prtica docente em cursos de graduao tecnolgica. PUCSP, 2007. Doutorado em Educao e Currculo.
PRESSMAN, Roger. Engenharia de Software. So Paulo, Makron, 1995.
Internet
CEFET SP. Documentao e relatrios. http://www.cefetsp.br acessado em
05/06/2009.
Instituto Federal de Educao, Cincia e Tecnologia de So Paulo IFSP.
http://www.ifsp.edu.br acessado em 14/02/2011.
Martin Fowler. http://martinfowler.com/articles/newMethodology.html The New
Methodology - acessado em 14/12/2010.
Project

Management

http://www.pmi.org.br

Institute.

acessado

em

02/05/2010.
World

Wide

Web

Consortium

W3C.

http://www.w3c.br acessado em 04/03/2011.

Documentao

relatrios.

Você também pode gostar