You are on page 1of 166

Universidade Federal de Pernambuco

Centro de Informtica
Ps-Graduao em Cincia da Computao




Mestrado em Cincias da Computao










PuzzlEdu: Uma Proposta de Educao como
Servio

Por

Eric Rommel Galvo Dantas

Dissertao de Mestrado







Recife
Agosto de 2011


Ps-Graduao em Cincia da Computao





Eric Rommel Galvo Dantas








PuzzlEdu: Uma Proposta de Educao como Servio





Este trabalho foi apresentado ao Programa
de Ps-Graduao em Cincia da
Computao do Centro de Informtica da
Universidade Federal de Pernambuco como
requisito parcial para a obteno do grau de
Mestre em Cincia da Computao.

ORIENTADOR: Vinicius Cardoso Garcia, PhD





Recife
Agosto de 2011



























Catalogao na fonte
Bibliotecria Joana DArc L. Salvador, CRB 4-572

Dantas, Eric Rommel Galvo.
PuzzlEdu: uma proposta de educao como
servio / Eric Rommel Galvo Dantas. - Recife: O
Autor, 2011.
xiv, 164 f.: fig. tab.

Orientador: Vincius Cardoso Garcia.
Dissertao (Mestrado) - Universidade Federal
de Pernambuco, CIN, Cincia da Computao,
2011.

Inclui bibliografia e apndice.

1. Engenharia de software. 2. Software
Educacional. 3. Educao como servio. 4.
Computao em nuvem. I. Garcia, Vincius Cardoso
(orientador). II.Ttulo.

005.1 (22.ed.) MEI 2011-170

















minha Me, pela eterna confiana e dedicao, sempre.
minha esposa, pelo amor, pacincia e compreenso.
Ao meu filho, amor incondicional, no fim das contas, tudo por ele.
Aos meus familiares e amigos pela ajuda e prontido.


iv
AGRADECIMENTOS


Agradecimentos so sempre complexos. No pela sua estrutura ou contedo, mas
sempre pela eterna possibilidade de algum deixar de ser lembrado, mesmo que nunca venha
a ler este trabalho. Neste mestrado, sonho de infncia agora realizado, tive a oportunidade de
trabalhar com as mais diversas personalidades. Cada uma com sua importncia, tendo
participao direta ou indireta nesta realizao. Tentarei no esquecer ningum.
Meu agradecimento maior e mais especial vai para minha me, Dalva Dantas. Sua
histria de vida ser sempre o incentivo maior para vencer qualquer barreira. Um comeo
difcil, uma vida de luta, um desejo sonhado, um sonho conquistado.
Deixo meus agradecimentos por todos os bons momentos que minha famlia
proporcionou, renovando minhas foras para continuar em frente: Suelen Dantas e famlia
(esposo Cabal Abrantes e filhos), Patrcia Dantas (e a filha MaLu) e Jacinto Luiz.
Na alegria e na tristeza, na riqueza e na pobreza. Meus agradecimentos especiais a
minha esposa, Gilvaneide Dantas, por todo cuidado, dedicao, pacincia e confiana. Voc
ter sua vez e quero estar ao seu lado para ajud-la da mesma forma.
Mesmo em sua inocncia e incompreenso dos fatos, ao mesmo tempo em que
agradeo, peo tambm desculpas ao meu filho, Caio Rommel. O agradecimento por sua
existncia linda e amor incondicional. As desculpas so por no ter correspondido a todas as
suas solicitaes de ateno. Um dia ele entender.
Quero deixar um agradecimento especial ao Prof. Vinicius Garcia. Sua aceitao em
orientar-me em um momento extremamente conturbado e difcil foi essencial para no desistir
e ter uma luz no fim do tnel. Espero poder recompens-lo com muito trabalho daqui pra
frente.
Aos professores Jacques Robin, Fred Freitas, Fernando Fonseca, Guilherme Atade,
Alexandre Scaico, Luiz Maurcio e outros.
Aos companheiros, amigos e colegas que contriburam de alguma maneira para o meu
crescimento pessoal e profissional: Ryan Ribeiro, Cleyton Oliveira, Orivaldo Jnior, Davi
Carnaba, Miguel Zarth, Ramon Rabello, Silas Almeida, Rubean Santos, verton Trindade,
Ren Gadelha.
Aos que no mencionei, tenham certeza que no foi por desmerecimento.
Obrigado a todos.




v
RESUMO


Com a incluso digital as Tecnologias da Informao e Comunicao (TICs) so essenciais na
educao, seja ela presencial, semipresencial ou a distncia. Com a propagao das mais
recentes e avanadas tecnologias, a exemplo da computao nas nuvens (cloud computing), h
a possibilidade de disponibilizar diversos recursos educacionais como servios para a
comunidade. Isso contribui para uma maior abrangncia da educao, com reduo de custos
e integrao ao desenvolvimento tecnolgico atual. Utilizando-se dos conceitos de Hardware
como Servio e Software como Servio, e a isso integrar os recursos educacionais
disponveis, possvel vislumbrar um novo conceito: a Aprendizagem como Servio
(Learning as a Service LaaS). Na LaaS, tudo passa a ser disponibilizado na nuvem
computacional, oferecendo aprendizagem como um servio ou uma prestao de servios para
a comunidade. Como forma de demonstrar as potencialidades da LaaS, foi desenvolvido o
software educativo PuzzlEdu, disponibilizado como servio, tendo por objetivo auxiliar
alunos e professores no ensino e aprendizagem de linguagens de programao orientada a
objetos, executando na plataforma cloud, integrando s vantagens desse ambiente, requisitos
como usabilidade, flexibilidade e extensibilidade. Utilizou-se a metodologia GQM
(Goal/Question/Metric) para avaliar a proposta e mensurar seus aspectos de qualidade. De
forma a atender o objetivo mencionado, este trabalho realizou uma avaliao de usabilidade e
funcionalidade do sistema proposto para prover a LaaS, a partir de trs tipos de perfis: (i)
alunos que nunca tiveram contato com Programao Orientada a Objetos (POO); (ii) alunos
com conhecimento de POO; e finalmente, (iii) professores que ministram ou j ministraram
disciplinas com conceitos de POO. Isso possibilitou comprovar o quanto a LaaS poder
contribuir para uma futuro promissor para a aprendizagem dentro da educao.

Palavras-chave: Engenharia de Software. Software Educativo. Aprendizagem como Servio.
Cloud Computing.


vi
ABSTRACT


With the digital inclusion, Information and Communication Technologies (ICTs) are essential
in education, may it be traditional, semi distance or distance education. With the spread of the
latest and most advanced technologies, such as cloud computing, there is a possibility of
providing educational resources as services to the community. This contributes to a wider
range of education, cost reduction and integration of the current technological development.
Using the concepts of Hardware as a Service and Software as a Service, integrated with the
available educational resources, it is possible to glimpse a new concept: Learning as a Service
- LaaS. In LaaS everything becomes available in the cloud computing, offering learning as a
service to the community. In order to demonstrate the potential of LaaS an educational
software was developed, the PuzzlEdu, delivered as a service and with the objective of
helping students and teachers in teaching and learning object-oriented programming
languages, running on the cloud platform, integrating the advantages of this environment,
requirements such as usability, flexibility and extensibility. The methodology GQM (Goal /
Question / Metric) was used to evaluate the proposal and to measure its quality aspects. In
order to meet objective mentioned before, this paper conducted an evaluation of usability and
functionality of the proposed system to provide the LaaS, from three types of profiles: (i)
students who never had any contact with Object Oriented Programming (OOP); (ii) students
with some knowledge of OOP, and finally (iii) teachers who are currently teaching or have
taught courses with the concepts of OOP. This allowed to demonstrate how much LaaS can
contribute to a promising future for learning in an education.

Keywords: Software Engineering. Educational Software. Learning as a Service. Cloud
Computing.



vii
LISTA DE FIGURAS

Figura 3.1 Uma nuvem representando a Internet em um diagrama de rede ....................................................... 42
Figura 3.2 Alguns fornecedores dos 4 principais modelos de servios. ............................................................. 47
Figura 3.3 Representao grfica do modelo SaaS. ............................................................................................ 48
Figura 3.4 Representao grfica do modelo PaaS. ............................................................................................ 50
Figura 3.5 Nveis e respectivos servios do modelo IaaS. .................................................................................. 51
Figura 3.6 Mapa com a indicao local das milhares de escolas que usam servios da Google. ....................... 62
Figura 3.7 Percentual de adoo por parte das empresas.................................................................................... 63
Figura 3.8 Instncia do WebCenter em execuo. .............................................................................................. 64
Figura 4.1 Fluxo do processo de criao de software educativo. ....................................................................... 70
Figura 4.2 Fluxo de criao da proposta. ............................................................................................................ 71
Figura 4.3 Diagrama de Casos de Uso do PuzzlEdu. ......................................................................................... 86
Figura 4.4 Diagrama de infraestrutura fsica do PuzzlEdu. ................................................................................ 87
Figura 4.5 Diagrama de Requisies de Operaes do PuzzlEdu. ..................................................................... 88
Figura 4.6 Diagrama de mdulos do PuzzlEdu. ................................................................................................. 88
Figura 4.7 Diagrama de arquitetura em camadas do PuzzlEdu. ......................................................................... 89
Figura 4.8 Tela Inicial do PuzzlEdu. .................................................................................................................. 90
Figura 4.9 Janela onde exibida a rvore de classes. ......................................................................................... 91
Figura 4.10 Guia dos mtodos e interfaces. ........................................................................................................ 91
Figura 4.11 Botes com aes especficas. ........................................................................................................ 92
Figura 4.12 - Janela para impresso do cdigo fonte. ........................................................................................... 92
Figura 4.13 - Janela de ajuda com a documentao da ferramenta. ...................................................................... 93
Figura 4.14 Janela Classes para criao e manuteno de classes, atributos e mtodos. .................................... 93
Figura 4.15 Caixa de mensagem para criao de classes.................................................................................... 94
Figura 4.16 Caixa de mensagem para criao de mtodos. ................................................................................ 94
Figura 4.17 Caixa de mensagem para criao de atributos. ................................................................................ 95
Figura 4.18 Caixa de mensagem com a lista de interfaces para seleo. ............................................................ 95
Figura 4.19 Menu suspenso para seleo dos mtodos para execuo. .............................................................. 96
Figura 5.1 Princpio do GQM. .......................................................................................................................... 100
Figura 5.2 Etapas do processo GQM. ............................................................................................................... 100
Figura 5.3 Quantidade de avaliadores de cada grupo ....................................................................................... 111
Figura 5.4 Questo Q1 do Objetivo G1. ........................................................................................................... 112
Figura 5.5 Questo Q2 do Objetivo G1. ........................................................................................................... 113
Figura 5.6 Questes Q3 a Q6 do Objetivo G1. ................................................................................................. 113
Figura 5.7 Questes Q7 e Q8 do Objetivo G1. ................................................................................................. 114
Figura 5.8 Questes Q1 a Q3 do Objetivo G2. ................................................................................................. 114
Figura 5.9 Questo Q1 do Objetivo G3. ........................................................................................................... 115


viii
Figura 5.10 Questo Q2 do Objetivo G3. ......................................................................................................... 115
Figura 5.11 Questo Q3 do Objetivo G3. ......................................................................................................... 116
Figura 5.12 Questo Q4 do Objetivo G3. ......................................................................................................... 116
Figura 5.13 Questes Q1 Q3 do Objetivo G4. ............................................................................................... 117
Figura 5.14 Questo 4 do Objetivo G4 (Grupo 1). ........................................................................................... 117
Figura 5.15 Questo Q4 do Objetivo G4 (Grupo 2). ........................................................................................ 118
Figura 5.16 Questo Q5 do Objetivo G4. ......................................................................................................... 118
Figura 5.17 Questo Q5 do Objetivo G4. ......................................................................................................... 118
Figura 5.18 Questo Q1 do Objetivo G5. ......................................................................................................... 119
Figura 5.19 Questo Q3 do Objetivo G5. ......................................................................................................... 120
Figura 5.20 Respostas da Lista de Verificao de Aprendizagem. ................................................................... 123



ix
LISTA DE TABELAS

Tabela 2.1 Organizao dos tipos de tecnologias do Guia de Tecnologias Educacionais. ................................. 29
Tabela 3.1 TOP 10 para adoo e crescimento de cloud computing. ................................................................. 57
Tabela 4.1 Requisitos funcionais do mdulo de Orientao a Objeto do software proposto. ............................ 73
Tabela 4.2 Requisitos funcionais do mdulo estrutural do software proposto. .................................................. 74
Tabela 4.3 Requisitos funcionais do mdulo gerenciador do software proposto. .............................................. 75
Tabela 4.4 Caractersticas dos software analisados. ........................................................................................... 79
Tabela 5.1 Objetivo para verificar conceitos de OO. ....................................................................................... 103
Tabela 5.2 Objetivo para verificar a usabilidade da interface com o usurio. .................................................. 104
Tabela 5.3 Objetivo para verificar a eficincia do PuzzlEdu. ........................................................................... 104
Tabela 5.4 Objetivo para verificar as funcionalidades do PuzzlEdu. ............................................................... 105
Tabela 5.5 Objetivo para verificar a qualidade do PuzzlEdu sob o ponto de vista dos alunos. ........................ 106
Tabela 5.6 Objetivo para verificar a qualidade do PuzzlEdu sob o ponto de vista dos professores. ................ 107
Tabela 5.7 Objetivo para verificar a aprendizagem dos conceitos de OO. ....................................................... 108
Tabela 5.8 Respostas das questes Q1 a Q5 do objetivo G5 (Grupo 3). .......................................................... 121




x
LISTA DE ABREVIATURAS E SIGLAS

*aaS Everything as a Service Tudo como Servio
API Application Programming Interface Interface de Programao de Aplicaes
AVA Ambiente Virtual de Aprendizagem
BI Business Intelligence Inteligncia Empresarial
CAI Computer-Aided Instruction Instruo Assistida por Computador
CEO Chief Executive Officer Diretor Executivo
CRM Customer Relationship Management Gerenciamento de Relacionamento com Cliente
CRM Customer Relationship Management Gesto de Relacionamento com o Cliente
DaaS Database as a Service Banco de Dados como Servio
DDoS Distributed Denial-of-Service Ataques Distribudos de Negao de Servios
DVD Digital Video Disc Disco Digital de Vdeo
EaD Educao a Distncia
ERP Enterprise Resource Planning Sistemas Integrados de Gesto Empresarial
EUA Estados Unidos da Amrica
FACENSA Faculdade Cenecista Nossa Senhora dos Anjos
GaaS Government as a Service Governo como Servio
GAE Google App Engine
GOMS Goals, Operators, Methods, and Selection Rules Objetivos, Operadores, Mtodos e Regras
de Seleo
GPL General Public License Licena Pblica Geral
GQM Goal/Question/Metric Objetivo/Questo/Mtrica
GWT Google Web Toolkit
HaaS Hardware as a Service Hardware como Servio
HcaaS Healthcare as a Service Sade como Servio
HPC High-Performance Computing Computao de Alto Desempenho
HTML Hypertext Markup Language Linguagem de Marcao de Hipertexto
IaaS Infrastructure as a Service Infraestrutura como Servio
IbS Internet-based Services Servios baseados na Internet
IDE Integrated Development Environment Ambiente Integrado de Desenvolvimento
IE Instituies de Ensino
IES Instituies de Ensino Superior
INEP Instituto Nacional de Estudos e Pesquisas Educacionais Ansio Teixeira
IP Internet Protocol Protocolo Internet
ISV Independent Software Vendor Fornecedor Independentes de Software
IT Information Technology Tecnologia da InformaoTI como Servio (ITaaS),
ITaaS Information Technology as a Service Tecnologia da Informao como Servio


xi
JAR Java Archive Arquivo Java
JVM Java Virtual Machine Mquina Virtual Java
LaaS Learning as a Service Aprendizagem como Servio
LAN Local Area Network Rede de rea Local
LMS Learning Management Systems Sistema de Gesto da Aprendizagem
ME Mdulo Estrutural
MEC Ministrio da Educao e Cultura
MG Mdulo de Gerenciamento
MI Mdulo de Interpretao
MIG Mdulo de Interface Grfica
MIT Massachusetts Institute of Technology Instituto de Tecnologia de Massachusetts
MOO Mdulo de Orientao a Objeto
MVC Model, View, Controller Modelo, Viso e Controlador
NIST National Institute of Standards and Technology Instituto Nacional de Padres e Tecnologia
ONG Organizao No Governamental
OO Orientao a Objetos
OTA Office of Technology Assessment Gabinete de Avaliao da Tecnologia
PC Personal Computer Computador Pessoal
PDA Personal digital assistant Assistente Digital Pessoal
POO Programao Orientada a Objetos
RUP Rational Unified Process Processo Unificado da Rational
SaaS Software as a Service Software como Servio
SBC Sociedade Brasileira de Computao
SLA Service Level Agreement Acordo de Nvel de Servio
SOA Service-Oriented Architecture Arquitetura Orientada a Servio
TI Tecnologia da Informao
TIC Tecnologia da Informao e Comunicao
UFAL Universidade Federal de Alagoas
UFLA Universidade Federal de Lavras
UFPE Universidade Federal de Pernambuco
UFRGS Universidade Federal do Rio Grande do Sul
UFRJ Universidade Federal do Rio de Janeiro
VLAN Virtual Local Area Network Rede de rea Local Virtual
VM Virtual Machine Mquina Virtual
WAN Wide Area Network Rede de rea Extensa
WWW Worl Wide Web Rede Mundial de Computadores
XaaS Everything as a Service Tudo como Servio


xii
SUMRIO

1 Introduo ..................................................................................................................................................... 15
1.1 Contexto e Motivao ........................................................................................................................... 17
1.2 Objetivos .............................................................................................................................................. 18
1.3 Contribuies Esperadas....................................................................................................................... 19
1.4 Organizao .......................................................................................................................................... 20
2 Educao e Tecnologia ................................................................................................................................. 21
2.1 O Processo de Ensino e Aprendizagem ................................................................................................ 23
2.2 Tecnologias na Educao ..................................................................................................................... 25
2.3 Tecnologia da Informao e Comunicao na Educao ..................................................................... 26
2.3.1 Problemas da Tecnologia na Educao ........................................................................................... 26
2.3.2 Tecnologias Educacionais ............................................................................................................... 28
2.3.3 Software Educativo ......................................................................................................................... 30
2.3.3.1 Bases Pedaggicas para Software Educativos ........................................................................... 31
2.3.3.2 Tipos de Software Educativos ................................................................................................... 34
2.3.3.3 Classificao dos Software Educativos ..................................................................................... 37
2.4 Sumrio do Captulo ............................................................................................................................. 38
3 Cloud Computing e Educao ....................................................................................................................... 40
3.1 Cloud Computing ................................................................................................................................. 40
3.1.1 Definio ......................................................................................................................................... 42
3.1.2 Caractersticas ................................................................................................................................. 44
3.1.3 Modelos de Servios ....................................................................................................................... 46
3.1.3.1 Software as a Service (SaaS) ..................................................................................................... 48
3.1.3.2 Platform as a Service (PaaS) ..................................................................................................... 49
3.1.3.3 Infrastructure as a Service (IaaS) .............................................................................................. 50
3.1.4 Modelos de Implantao ................................................................................................................. 52
3.1.4.1 Nuvem Privada (Private Cloud) ................................................................................................ 52
3.1.4.2 Nuvem Pblica (Public Cloud) .................................................................................................. 53
3.1.4.3 Nuvem Comunitria (Community Cloud) ................................................................................. 53
3.1.4.4 Nuvem Hbrida (Hybrid Cloud) ................................................................................................ 54
3.1.5 Benefcios, Limitaes, Obstculos e Oportunidades ..................................................................... 54
3.1.5.1 Benefcios .................................................................................................................................. 55
3.1.5.2 Limitadores ............................................................................................................................... 56
3.1.5.3 Obstculos e Oportunidades ...................................................................................................... 57
3.2 Educao como Servio (Education as a Service) ................................................................................ 58
3.3 Empresas, Organizaes e Instituies que utilizam Cloud Computing ............................................... 61
3.4 Sumrio do Captulo ............................................................................................................................. 64


xiii
4 Proposta ........................................................................................................................................................ 66
4.1 Processo de Desenvolvimento .............................................................................................................. 66
4.2 Escopo de Atuao da Proposta ............................................................................................................ 67
4.3 Mapeamento de Requisitos e Funcionalidades ..................................................................................... 69
4.3.1 Requisitos Funcionais da Proposta.................................................................................................. 69
4.3.2 Requisitos do Software Educativo Proposto ................................................................................... 76
4.3.3 Software a serem Analisados .......................................................................................................... 77
4.3.4 Anlise das Caractersticas.............................................................................................................. 79
4.4 Tecnologias Utilizadas ......................................................................................................................... 82
4.5 Modelagem Arquitetural do Software Educativo Proposto .................................................................. 85
4.5.1 Casos de Uso ................................................................................................................................... 86
4.5.2 Infraestrutura Fsica ........................................................................................................................ 87
4.5.3 Processos de Requisies de Operaes ......................................................................................... 87
4.5.4 Mdulos .......................................................................................................................................... 88
4.5.5 Modelo de Arquitetura Aplicado .................................................................................................... 89
4.6 Funcionalidades do PuzzlEdu ............................................................................................................... 90
4.7 Sumrio do Captulo ............................................................................................................................. 96
5 Avaliao da Proposta ................................................................................................................................... 98
5.1 A Abordagem GQM ............................................................................................................................. 99
5.2 Aplicao do GQM na Avaliao da Proposta do PuzzlEdu .............................................................. 101
5.2.1 Desenvolvimento do Plano GQM ................................................................................................. 101
5.2.1.1 Verificar Conceitos de OO ...................................................................................................... 102
5.2.1.2 Verificar Usabilidade da Interface com o Usurio .................................................................. 103
5.2.1.3 Verificar Eficincia do PuzzlEdu ............................................................................................ 104
5.2.1.4 Verificar as Funcionalidades do PuzzlEdu .............................................................................. 105
5.2.1.5 Verificar a Qualidade do PuzzlEdu ......................................................................................... 106
5.2.1.6 Verificar o Aprendizado dos Conceitos de OO ....................................................................... 108
5.2.2 Aplicao e Execuo do Plano de Avaliao .............................................................................. 109
5.2.3 Preparao dos Resultados ............................................................................................................ 111
5.3 Resultados da Avaliao ..................................................................................................................... 111
5.3.1 Objetivo G1: Conceitos de OO ..................................................................................................... 112
5.3.2 Objetivo G2: Usabilidade da Interface com o Usurio ................................................................. 114
5.3.3 Objetivo G3: Eficincia do PuzzlEdu ........................................................................................... 115
5.3.4 Objetivo G4: Funcionalidades do PuzzlEdu ................................................................................. 117
5.3.5 Objetivo G5: Qualidade do PuzzlEdu ........................................................................................... 119
5.3.6 Objetivo G6: Aprendizado dos Conceitos de OO ......................................................................... 123
5.4 Discusso ............................................................................................................................................ 123
5.5 Lies Aprendidas .............................................................................................................................. 124
5.6 Sumrio do Captulo ........................................................................................................................... 125
6 Consideraes Finais .................................................................................................................................. 126


xiv
6.1 Contribuies ...................................................................................................................................... 126
6.2 Trabalhos Relacionados ...................................................................................................................... 127
6.3 Trabalhos Futuros ............................................................................................................................... 128
Referncias .......................................................................................................................................................... 130
Apndice A Requisitos Funcionais ................................................................................................................... 146
Apndice B Questionrios aplicados ................................................................................................................ 151
Apndice C Guia de Instrues ........................................................................................................................ 161


15

1 Introduo

As tecnologias digitais de informao e comunicao (TDICs) proporcionam
mudanas no comportamento da sociedade. A conectividade global atravs da Internet, a
exemplo das redes sociais, contribui para a rpida disseminao do conhecimento, muitas
vezes sendo mais efetivos que ambientes educacionais fsicos. Tais ambientes precisam
adaptar-se s constantes evolues tecnolgicas e promoverem educao de qualidade sem
restries e/ou limitaes geogrficas, sem ritos burocrticos demasiados, sempre disponveis
e abertos comunidade. A computao em nuvem (cloud computing) permite a utilizao de
recursos educacionais sem limitaes de espao e processamento, com altas taxas de
disponibilidade e com conectividade global nas mais diversas plataformas operacionais.
As TDICs tem um papel marcante nos mais diversos setores do mundo. Seus avanos
elevam a produtividade e qualidade. Tais avanos so benficos e contribuem para a expanso
inclusive nas classes com poucos recursos financeiros, haja vista as constantes redues nos
valores finais de equipamentos e servios, sem falar no acesso a produtos de software tambm
com mais qualidade. Exemplos disso esto nos crescentes nmeros das redes sociais, com
milhes de usurios e bilhes de acessos dirios
1
, das mais diversas classes, dos mais diversos
setores e das mais diversas localidades do mundo.
Na rea da educao as TDICs so essenciais e possuem papel marcante desde o incio
da era da informtica, com importantes investimentos tanto do setor pblico quanto do setor
privado. Suas especificidades so atpicas e requerem ateno multidisciplinar em todos os
nveis da educao, do ensino primrio ao superior. Entretanto, o uso das TDICs na educao
durante muito tempo foi utilizado mais como chamarisco mercadolgico (VALENTE,
1995, p. 1), no contribuindo efetivamente com as possibilidades e potencialidades que
podiam proporcionar.
Diversas instituies de ensino possuem laboratrios equipados com computadores e
acesso Internet banda larga. Segundo o Censo Escolar do INEP (Instituto Nacional de

1
http://www.experian.com/assets/marketing-services/reports/simmons-2010-social-networking-report.pdf.
Acesso em: julho de 2011.


16

Estudos e Pesquisas Educacionais Ansio Teixeira), com dados de 2010, 87,4% das escolas de
ensino mdio possuem laboratrios de informtica e 92,3% esto conectadas Internet
2
.
Almeida (2008), entretanto, explica que mesmo com a maior utilizao das TIDCs, os
computadores continuam subutilizados, dependendo menos da presena da tecnologia na
escola e mais de aspectos poltico-pedaggicos, alm da adequada formao dos educadores.
Especializando-se o uso das TDICs aos cursos superiores da rea de informtica,
destacam-se os problemas das dificuldades de ensino e aprendizado de conceitos bsicos das
disciplinas com maiores ndices de reprovao: Algoritmos, Linguagens de Programao e
Estrutura de Dados (RVOLLI, GUIMARES e MOREIRA, 2010).
Assim sendo, prope-se a aprendizagem como um servio a ser consumido pela
comunidade e, para prov-la, prope-se tambm um software educativo disponvel na nuvem
computacional, gratuito, de cdigo aberto, multiplataforma e independente, sem utilizar
recursos computacionais de hardware ou de software especficos onde quer que esteja sendo
executado.
Tendo em vista os altos investimentos em cloud computing por empresas de tecnologia
como Google, Microsoft, Amazon, Intel e IBM (BUYYA, YEO e VENUGOPAL, 2008),
possvel verificar a real utilizao da educao como um servio. Instituies de ensino como
a Faculdade Cenecista Nossa Senhora dos Anjos (FACENSA) j utilizam os servios da
nuvem, mesmo que ainda em testes. Sendo assim, esta dissertao prope utilizar as mais
recentes TICs para disponibilizar aprendizagem como servio para quem dela necessite,
contribuindo para o avano da cincia e da educao.
Pelos problemas expostos, esse software educativo visa auxiliar aluno e professores no
ensino e aprendizagem da Programao Orientada a Objetos (POO), um dos princpais tpicos
dentre as disciplinas de liguagens de programao (CHAVES et al, 2010). Seus conceitos
foram baseados e melhorados a partir de outros sistemas educativos, a exemplo do Scratch
(MALONEY et al, 2010), do GreenFoot (KLLING, 2010) e do Alice (COOPER, DANN e
PAUSCH, 2000) mas, diferente deles, sua arquitetura foi desenvolvida para ser executada em

2
http://download.inep.gov.br/educacao_basica/censo_escolar/resumos_tecnicos/divulgacao_censo2010_revisao_
04022011.pdf. Acesso em: setembro de 2011.


17

cima da plataforma cloud, integrando s vantagens desse ambiente, requisitos como
usabilidade, flexibilidade e extensibilidade.

1.1 Contexto e Motivao

Com a incluso social e digital atravs de computadores com valores acessveis, pela
facilidade e alcance da conectividade com Internet banda larga, somando-se ao rico contedo
educacional, a TDIC vm sendo til e assim utilizada para transformar a educao (FOGEL,
2010). Desta forma, sistemas educacionais apoiados por TDICs passam a ser essenciais na
educao, seja ela presencial, semipresencial ou a distncia. Com a propagao das mais
recentes e avanadas tecnologias, a exemplo da cloud computing (ARMBRUST et al, 2009),
possibilita-se disponibilizar diversos recursos educacionais como servios para a comunidade,
contribuindo para uma maior abrangncia da educao, com reduo de custos e integrao ao
desenvolvimento tecnolgico atual.
Ainda nesse contexto educacional, software para estes fins podem facilitar o processo
de ensino/aprendizagem, alm de propiciar o desenvolvimento de diversos ambientes virtuais
de aprendizagem (AVAs), favorecendo aos envolvidos nesse processo, alunos e professores,
um melhor aproveitamento do contedo apresentado em sala de aula. Utilizando-se dos
conceitos de Hardware como Servio (Hardware as a Service HaaS) e Software como
Servio (Software as a Service SaaS), oriundos da cloud computing, e a isso integrar os
recursos educacionais disponveis, possvel vislumbrar um novo conceito: a Aprendizagem
como Servio (Learning as a Service LaaS).
Na LaaS tudo passa a ser disponibilizado na nuvem computacional, oferecendo
aprendizagem como um servio ou uma prestao de servios para a comunidade. Por estarem
na nuvem, os AVAs no necessitam ser monitorados o tempo todo, tm nvel maior de
abrangncia, so multiplataforma e acessados por qualquer dispositivo computacional tais
como: PCs, computadores portteis (notebook ou laptop), celulares, dentre outros, e ainda
pode reduzir os custos com pessoal e equipamento. O uso da LaaS facilita e agrega
conhecimento de forma rpida e simples, aumentando o nvel de discusso e interao entre
alunos e professores em sala de aula. Alm disso, com a LaaS h possibilidade de diminuir a


18

necessidade de novos recursos computacionais em instituies menos favorecidas
financeiramente, equiparando sua infraestrutura educacional com instituies financeiramente
melhores.
Considerando todo o exposto anteriormente, as motivaes deste trabalho podem ser
assim elencadas:
Oferecimento da aprendizagem como servio comunidade em um ambiente
compartilhado e com alto ndice de disponibilidade;
Disponibilizao dos servios de um software educativo para alunos e
professores relacionado aos conceitos de POO, gratuito e sem necessidade de
programas adicionais ou instalao;
Possibilitar novos conceitos dentro da educao, a exemplo de dirios de
classes, acompanhamento pedaggico e repositrios de documentos, tudo em
uma nuvem educacional e pblica;

1.2 Objetivos

Nas diversas reas de estudo possvel encontrar software especficos para
determinados fins, todos com objetivos semelhantes, seja apoiar a produo e produtividade
em determinado seguimento, seja ensinar ou simular a produzir tal produtividade. Na rea de
informtica, entretanto, no h tantos software para auxiliar em disciplinas bsicas como
Algoritmos, Linguagens de Programao e Estrutura de Dados, verificando-se elevado ndice
de reprovao e, consequentemente, de evaso escolar (RVOLLI, GUIMARES e
MOREIRA, 2010), sem levar em conta aspectos sociais e comportamentais dos discentes.
Essas disciplinas possuem nvel de dificuldade elevado, tendo sido seu ensino
considerado como um dos sete maiores desafios do sculo (MCGETTRICK et al, 2004) na
rea de informtica, exigindo maior engajamento e dedicao na busca por melhores didticas
de ensino e melhor aproveitamento da carga horria exigida, alm de tentar motivar, dentro e
fora da academia, os futuros profissionais de informtica.


19

O principal objetivo desta dissertao demonstrar as potencialidades e possibilidades
da LaaS, utilizando-se conceitos de cloud computing desde o desenvolvimento de aplicaes
at sua implantao e execuo. Para isso, objetivos secundrios so necessrios, sendo:
Realizar estudo do estado da arte atravs de software educativos, levantando
aspectos como bases pedaggicas, classificao, tipificao, plataformas de
execuo e licenciamento oferecido;
Definir requisitos, modelo arquitetural e de implementao de um software
para execuo em uma infraestrutura em nuvem;
Desenvolver um software para apoiar o ensino e aprendizagem de POO;
Avaliao do software desenvolvido para verificar sua eficincia e qualidade
com relao mediao do conhecimento acerca da POO;
Espera-se alcanando tais objetivos proporcionar um ambiente interativo e de fcil
assimilao, demonstrando o uso da LaaS e possibilitar novas tendncias relacionadas com
educao e cloud computing.

1.3 Contribuies Esperadas

Espera-se contribuir com a disponibilizao de um software educativo dentro de uma
arquitetura tecnolgica promissora (cloud computing), para o ensino da POO em um contexto
scio pedaggico, com licena pblica, sem restries ou limitaes e totalmente
independentes de plataforma de execuo, e ainda liberando os recursos computacionais do
equipamento do usurio, haja vista estar utilizando toda a infraestrutura das nuvens
computacionais.
Alm disso, outra contribuio considerada a explicitao de novos conceitos dentro
de cloud computing, no caso a LaaS, proporcionando o desenvolvimento de pesquisas nesta
rea, contribuindo diretamente para a expanso da educao.



20

1.4 Organizao

Alm deste captulo de introduo, a dissertao foi estruturada e organizada com
mais cinco captulos.
O Captulo 2 trata da educao e tecnologia, abordando os processos de ensino e
aprendizagem e as tecnologias na educao. Aborda-se nesse captulo tambm as TICs,
relacionando alguns de seus problemas na educao e as principais tecnologias educacionais.
Finaliza-se definindo software educativo, fazendo distino a software educacional,
construindo um embasamento terico com as principais bases pedaggicas, tipos de software
educativos e suas classificaes.
No Captulo 3 encontram-se os conceitos de cloud computing e suas caractersticas
principais, abordando os modelos de servios e implantao, os principais benefcios,
limitaes, obstculos e oportunidades. Trata tambm sobre a Educao como Servio e suas
potencialidades, finalizando com um pequeno levantamento das empresas, organizaes e
instituies que utilizam cloud computing como soluo para as mais diversas situaes.
O Captulo 4 foi organizado de maneira a apresentar o software educativo desta
dissertao para prover a LaaS. Para isso, realizou um mapeamento de requisitos e
funcionalidades principais inerentes a este tipo de software. Neste captulo tambm se
encontram os requisitos funcionais e no funcionais, as tecnologias utilizadas, a modelagem
arquitetural e finaliza apresentando as funcionalidades do software desenvolvido.
No Captulo 5 foi descrito a metodologia GQM, utilizada para avaliar o software e
mensurar sua qualidade, realizando uma avaliao com trs diferentes abordagens, com um
nmero bastante substancial e relevante e seus resultados.
O Captulo 6 finaliza o trabalho com as consideraes finais, informando sobre os
trabalhos publicados derivados desta dissertao e informando sobre os trabalhos futuros
pretendidos.
Foram organizados nos apndices deste trabalho, todos os requisitos funcionais da
proposta, os questionrios aplicados aos avaliadores da proposta e o guia de instrues
utilizado para conhecer o software.


21

2 Educao e Tecnologia

A educao ao longo dos sculos sofreu diversas modificaes em sua forma e
conceito, sempre influenciada pelo meio ideolgico, econmico e poltico da sociedade em
que est direta ou indiretamente envolvida. Em seu livro, Durkheim (1978) comenta que a
educao varia indefinidamente com o tempo e o meio. Aranha (2006) aborda a educao em
diversos perodos da histria da humaniade, explicando que no incio das grandes
civilizaes, nas cidades gregas e latinas, por exemplo, a educao buscava subordinar
cegamente o indivduo coletividade ou sociedade, enquanto que nas cidades romanas
desejava-se homens de ao, apaixonados pela glria militar e indiferentes s letras e s artes.
Aranha (2006) continua explicando que na Idade Mdia a educao era voltada
principalmente ao cristianismo e que nos dias atuais, a cincia tende a ocupar espaos
pertencentes s artes em outros tempos.
Ao longo da histria, a maneira pela qual foram formados e desenvolvidos os sistemas
educativos, nota-se a influncia da religio, das organizaes polticas, das cincias, das
indstrias e das sociedades. Assim, o conceito de educao torna-se genrico e suas
ramificaes bastante diversificadas, possibilitando vrios contextos a serem estudados.
Durkheim (1978, p. 41) define educao:
A educao a ao exercida, pelas geraes adultas, sobre as geraes que no se
encontrem ainda preparadas para a vida social; tem por objetivo suscitar e
desenvolver, na criana, certo nmero de estados fsicos, intelectuais e morais,
reclamados pela sociedade poltica, no seu conjunto, e pelo meio especial a que a
criana, particularmente, se destine.
possvel observar com essa definio que a educao era tratada no de maneira
formal, com professores e alunos, mas sim, de maneira metodicamente socializada, a exemplo
de uma tribo indgena, onde as atividades so distribudas por sexo e idade, e dentro desta
diviso, os indivduos so subdivididos em aptides individuais e coletivas, essas aprendidas
por observao, imitao, necessidade e experincia.


22

A educao pode ser caracterizada por tempos sociais, ou seja, pela forma de educao
utilizada desde os primrdios da sociedade. Lvy (1995) divide em trs tempos: a Oralidade
Primria, a Escrita e a Informtica.
A Oralidade Primria representa o tempo antes da escrita, sendo dependente da
palavra e da memria. Nesse tempo, a palavra no tem apenas o papel de comunicao e
expresso entre as pessoas. Todo o conhecimento transmitido pela palavra (ONG, 1982).
Como nessa poca no haviam dispositivos fsicos de armazenamento, a exemplo das fitas
magnticas ou DVD (Digital Video Disc Disco Digital de Vdeo), tudo era guardado na
memria das pessoas.
Com a Escrita, a palavra passa a ser armazenada e sobrevive ao tempo atravs das
cpias, e aps alguns sculos, atravs da impresso. A escrita traduz-se como palavras sempre
repetidas da mesma forma (EISENSTEIN, 1983). A escrita foi reinventada vrias vezes,
durante vrios anos e de vrias maneiras. Apesar de sua revoluo, ainda hoje a escrita, em
muitas situaes, depende da oralidade para se fazer completa, tendo em vista as diferentes
interpretaes tanto de quem escreve quanto de quem l. A impresso, consequncia da
escrita, substitui a discusso verbal pela demonstrao visual (LVY, 1995).
Lvy (1995) trata de maneira genrica o tempo da Informtica, pois resume-se anos de
invenes no campo da automao, comunicao e tecnologia, em troca da palavra, memria,
escrita e impresso. A memria biolgica confunde-se com dispositivos de armazenamento de
dados. A digitalizao e a comunicao so pontos marcantes. Palavras, sons, escritas, textos,
imagens e vdeos so digitalizados para futuras manipulaes. Esses dados podem ser
transportados atravs de dispositivos de armazenamento ou enviados e recebidos atravs de
redes de computadores locais ou mundiais (Internet).
Dessa maneira, possvel verificar o quanto as tecnologias digitais esto envolvidas
na educao. Nos dias atuais fcil encontrar tecnologias digitais inseridas no mbito da
educao, seja na impresso de livros ou na confeco de materiais escolares, seja no uso em
sala de aula com computadores, datashow, quadros digitais e outros. H uma crescente gama
de recursos e inovaes proporcionadas pelas tecnologias digitais, causando alto interesse em
utilizar esses aparatos tecnolgicos, tanto pelos educadores quanto pelos aprendizes,
emergindo, ento, a necessidade de um uso favorvel dessas tecnologias educao (SILVA,
2008). Desta forma, a introduo das tecnologias digitais na educao trouxe e continuar


23

trazendo efeitos positivos na aprendizagem, modificando o modo como os professores esto
habituados a ensinar e os alunos a aprender (MIRANDA, 2007).
A tecnologia avana em criao, escrita, leitura, audio e viso (LVY, 1995). As
tecnologias da informao e tecnologias da comunicao passam a fazer parte da estrutura e
dos sistemas educativos de todo o mundo. Uma realidade presente em cada sociedade
inteligente. Este captulo busca esclarecer alguns conceitos de educao dentro do processo de
ensino e aprendizagem, buscando relatar os principais problemas nesses aspectos, alm de
introduzir conceitos sobre as Tecnologias da Informao e Comunicao (TICs), fazendo uma
relao com a educao dos dias atuais.

2.1 O Processo de Ensino e Aprendizagem

As tcnicas e prticas de ensino e aprendizagem, com o passar do tempo, ficaram mais
sofisticadas e interessantes. Professores passam a fazer uso no apenas da retrica, mas de
instrumentos muitas vezes essenciais para o aprendizado do aluno. Com o advento dos
computadores e outras tecnologias, a educao absorve avanos tanto em aquisio de
conhecimento, quanto em expanso desse mesmo conhecimento. A tecnologia hoje faz parte
da vida do ser humano, influenciando e sendo influenciada pelo seu modo de vida. Com a
escola, de forma geral, tambm h profundas modificaes, tanto nos aspectos educacionais
exigidos, quanto ao indivduo educado por ela. A toda essa influncia e modificao no
processo de ensino/aprendizagem ocasionado pelas novas tecnologias, alia-se a crescente
exigncia dos estudantes e da sociedade por tcnicas inovadoras que tornem o ensino mais
dinmico e motivador (BERNARDI e CASSAL, 2002).
Como em outras pocas, h uma tendncia a achar que as novas tecnologias traro
solues rpidas para o ensino (MORAN, 2000). O citado estudioso explica que as
tecnologias ampliam o conceito de aula, de espao e tempo, de comunicao audiovisual, da
melhor interao entre o presencial e o virtual e o estar conectado a distncia, mas no
resolvem questes mais profundas relacionadas ao ensino e aprendizagem, desafios
enfrentados em todas as pocas, principalmente na era da informao e do conhecimento
globalizado.


24

Mas o que conhecimento? Uma definio interessante : Conhecimento uma
abstrao interior, pessoal, de alguma coisa que foi experimentada por algum (SETZER,
1999). O conhecimento algo subjetivo, construdo atravs de um conjunto de experincias
adquiridas, podendo ser transmitida para outros atravs da informao. Ter a informao
sobre algo o simples acesso a um conjunto de dados ou contedo, sendo o conhecimento o
domnio terico e/ou prtico do assunto, um tratamento crtico, ativo e interventor da
informao (SILVA, 2008). Assim, para obter conhecimento faz-se necessrio processar
informaes.
Tais informaes podem ser ensinadas individualmente ou coletivamente por homens
ou mquinas. Ensinar algo relacionado ao processo de explanar, demonstrar ou colaborar
para que determinada informao ou contedo seja transmitido, fixado ou transformado em
conhecimento. Dentre as inmeras definies encontradas na literatura, utilizou-se uma
definio pragmtica de Gottschalk (2007, p. 459):
[...] a apresentao de uma determinada viso de mundo, fundamentada em regras de
natureza convencional, e que, portanto, no so passveis de serem descobertas pelo
aluno, mas ao mesmo tempo so as condies de sentido para que o aluno, uma vez
persuadido pelo professor, possa organizar de outra maneira a sua experincia
orientada por essas regras.
Com exceo ao aluno autodidata, h necessidade de um profissional para mediar o
processo de ensino e aprendizagem. As informaes encontram-se organizadas pelo modo de
ver e pensar de quem as publicou ou disponibilizou, cabendo ao professor ensinar e orientar a
analisar as informaes disponveis, facilitando a aprendizagem.
Por aprendizagem, considera-se como a aquisio ou mudana relativamente estvel
de comportamentos ou processos mentais, devido a uma interao com o meio, experincia ou
exerccio (MAGALHES e MAIA, 2009, p. 4368).
O prprio hbito de usar a tecnologia a seu favor proporciona uma aprendizagem e
essa tem sido a realidade de muitas escolas, fazendo com que o professor adapte-se a essa
realidade e saiba como explor-la e us-la. O autor desta dissertao, por exemplo, em aulas
para turmas de nvel tcnico do curso de Redes de Computadores, utilizou-se da estratgia de
usar a tecnologia a seu favor, usando a Internet para pesquisar um assunto especfico. Em um
laboratrio com computadores conectados a Internet, organizou grupos de computadores e
alunos, solicitando que pesquisassem subtpicos pr-determinados. Durante o prazo dado para
pesquisas, os grupos deveriam compilar o contedo encontrado para, ao final, explanar o


25

resultado da compilao aos outros grupos, finalizando com uma discusso entre todos para
um consenso geral. As aulas foram dinmicas, com total participao da turma, em uma
experincia nica e inovadora para os alunos.
Durante muitos anos a informao era transmitida atravs da retrica dos professores
dentro de sala de aula, sendo assimilada pelos alunos atravs da memorizao, compreenso e
discusso do discurso e posteriores pesquisas e leituras. Com o passar dos anos e avano das
tecnologias, esse processo aos poucos foi moldando-se s novas realidades.
A prxima seo aborda os diferentes usos de tecnologia na educao, tendo sido
categorizadas para melhor entendimento.

2.2 Tecnologias na Educao

As tecnologias so parte integrante na sociedade atual, invalidando a ideia da falta de
acesso aos computadores pela maioria das pessoas, sendo uma importante ferramenta para
resoluo de problemas (COSTA, 2004). Costa (2004, p. 19) continua explicando que as
novas tecnologias passaram a ser o principal meio de arquivo, transferncia ou pesquisa de
informao e o principal meio de comunicao, direta ou indireta, entre as pessoas [...], de
uso em todos os setores da economia global, das grandes corporaes s humildes residncias.
O uso de tecnologia na educao no um modismo por parte de um educador que por
convices prprias achou interessante seu uso. So inmeras pesquisas em reas
multidisciplinares, inclusive com incentivo de polticas pblicas de educao. Devem-se
considerar as tecnologias alm das ferramentas, ou seja, deve-se organizar a tecnologia de
forma a permitir articulao do conhecimento, criatividade, crenas e valores, interagindo o
ambiente real com o virtual, transformando as competncias, habilidades e experincias em
uma multiplicidade de representaes do conhecimento (ALMEIDA, 2008).
certo encontrar dificuldades das mais variadas, mesmo nas melhores tcnicas ou
tecnologias. Essas dificuldades atravessam desde fatores materiais e financeiros at fatores
humanos e temporais. Algumas dessas dificuldades podero ser visualizas na prxima seo.



26

2.3 Tecnologia da Informao e Comunicao na Educao

Miranda (2007, p. 43) explica que o termo Tecnologias da Informao e
Comunicao (TIC) refere-se conjugao da tecnologia computacional ou informtica com
a tecnologia das telecomunicaes e tem na Internet e mais particularmente na Worl Wide
Web (WWW) a sua mais forte expresso. Entretanto, utilizar TICs na educao no
simplesmente acrescentar computadores, acesso a Internet, Datashow ou qualquer outro
recurso tecnolgico em sala de aula. preciso mudar prticas didticas habituais, inovando
com os recursos disponveis e usar conscientemente tais recursos de forma a potencializar o
ensino e a aprendizagem dentro e fora de sala de aula. Porm, infelizmente, a estratgia mais
utilizada simplesmente disponibilizar os tais recursos. Miranda (2007) explica que isso
causado principalmente por dois fatores: a falta de formao ou conhecimento do uso das
tecnologias; e a necessidade de maior reflexo e alterao de concepes e prticas de ensino,
fato justificado pela indisponibilidade dos educadores de submeterem-se a tais modificaes.
H tambm os fatores de ordem material e/ou espacial, mais relacionados
dificuldade dos administradores educacionais ou governamentais de vislumbrar os gastos com
recursos tecnolgicos como um investimento a mdio e longo prazo, ou muitas vezes por total
desconhecimento das atuais tecnologias e suas potencialidades. A subseo seguinte elenca
alguns desses problemas e prope solues com base em aspectos relacionados proposta
desta dissertao. As subsees posteriores trataro de aspectos mais tcnicos relacionados s
TICs na educao.

2.3.1 Problemas da Tecnologia na Educao

No final do sculo XX e incio do sculo XXI, diversas inovaes tecnolgicas
surgiram tanto em nvel de infraestrutura de hardware quanto em nvel de software. Podem-se
destacar as transformaes revolucionrias da microeletrnica, da engenharia gentica, dos
transportes, das comunicaes, das informaes e dos servios (SCHAFF, 1995). Apesar de
extremamente relevantes, no sero levados em conta neste trabalho os problemas causados


27

por tais avanos nos aspectos econmicos, polticos e sociais. Um exemplo de problemas
relacionados a esses aspectos seria o aumento do desemprego no aspecto socioeconmico,
haja vista as inovaes nas reas da microinformtica, telecomunicaes e outras,
dispensando cada vez mais o trabalho humano (CARVALHO, 1997). A contextualizao da
associao entre educao e tecnologia muito ampla. No artigo de Carvalho (1997) e no
livro de Schaff (1995), esse contexto levado a desigualdades sociais em relaes
socioeconmicas e socioculturais. Os problemas a serem tratados sero especificamente
relacionados s tecnologias na educao, conforme visto a seguir.
No artigo de Almeida (2008) h vrias citaes a diversos programas de sucesso
ocorridos em pases como Brasil, Portugal, Estados Unidos da Amrica, Frana e outros.
Entretanto, no mesmo artigo, levantam-se alguns problemas e desafios relacionados com a
tecnologia na educao. Alguns podem ser descritos (COSTA, 2004), (ALMEIDA, 2008):
Investir maciamente em hardware e software e esquecer-se do investimento
em pessoal qualificado ou em programas educacionais especficos para cada
realidade;
Subutilizao de tecnologia por falta de uso ou por planejamentos incorretos de
uso;
Gastos com aquisio de licenas de software para cada computador na rede ou
por um determinado perodo;
Resistncia a mudanas por parte do corpo docente e/ou administrativo;
Universalizao das TICs para todas as camadas, integrando alm dos alunos,
os professores e as instituies escolares, ainda uma viso utpica;
O uso da tecnologia apenas como fornecedora de informao previamente
selecionada e organizada, e tambm do prprio aluno limitando-se a receber e
assimilar essa mesma informao;
Materiais de difcil adaptao aos mais diversos estilos de aprendizagem,
forando a adaptao ou requisio de outras tecnologias.
Alguns desses problemas podem ser contornados ou mesmo ter seus nveis de
complexidade reduzidos. A Aprendizagem como Servio (LaaS), melhor tratada no Captulo
3, apresenta-se como facilitadora disso atravs do uso de cloud computing (tambm melhor
abordado no Captulo 3), como pode-se elencar:


28

Vrias tecnologias so disponibilizadas de acordo com a necessidade de ensino
ou aprendizagem atravs de aplicaes ou infraestruturas prontas, construdas
por empresas com fortes investimentos na rea educacional e social;
Investimento reduzido com relao aquisio de infraestrutura de hardware e
software, possibilitando redirecionar investimentos para a capacitao de
pessoal;
Elasticidade de infraestrutura, usando mais ou menos apenas e quando
necessrio;
Dispensa gastos com licenas de software, tendo seu acesso disponibilizado
independente da quantidade de computadores;
Possibilidade de universalizar o acesso aos recursos, pois no de uso restrito
a determinados ambientes fsicos;
A LaaS se mostra bastante eficiente nesses aspectos e esta dissertao ir comprovar
isso atravs da construo e uso de um software educativo, tratado no Captulo 4.

2.3.2 Tecnologias Educacionais

As tecnologias educacionais no so apenas aquelas relacionadas estritamente com
informtica. Tecnologias educacionais so os meios utilizados para prover educao de uma
maneira satisfatria. Elas constituem-se em um estudo terico-prtico do uso de tecnologias,
servindo de instrumento para realizar trabalhos pedaggicos de construo do conhecimento
(SIMES, 2002). Assim, o simples fato de se utilizar um livro ou os atuais quadros brancos e
canetas marcadoras (em substituio aos quadros negros e gizes), demonstra o uso de
tecnologias. Entretanto, as tecnologias educacionais possuem um conceito muito mais
abrangente. Pucci e Bauer (2008) entendem como um conjunto de solues materiais,
processuais e atitudinais para resoluo de problemas educacionais. Para Miranda (2007, p.
42), O termo no se limita aos recursos tcnicos usados no ensino, mas a todos os processos
de concepo, desenvolvimento e avaliao da aprendizagem.
O certo que a integrao entre novas tecnologias e educao proporcionar centenas
de outras discusses, tanto prticas e tericas quanto filosficas, ainda por muitos anos. Uma


29

explicao para isso seria o fato da humanidade ainda viver em uma fase de transio para as
novas tecnologias e com a indstria fechada a paradigmas tradicionais de desenvolvimento
(SIMES, 2002). Para ser ter uma ideia, guardadas as propores da velocidade com que os
avanos atuais ocorrem, em um levantamento estatstico feito por Carvalho (1997), a
humanidade vive nas modernas sociedades industriais a 0,36% de toda a sua existncia. E
continua explicando que as mudanas tecnolgicas mais significativas que vm
revolucionando a vida sobre a face da terra no representam mais do que 0,13% em toda a
histria da humanidade (CARVALHO, 1997, p. 72).
Assim, ao discutir as novas tecnologias educacionais devem-se observar alguns dos
diversos tipos de tecnologias que podem ser utilizadas como apoio pedaggico. Um exemplo
prtico pode ser visto em um relatrio publicado pelo Ministrio da Educao e Cultura do
Brasil (MEC), chamado de Guia de Tecnologias Educacionais 2009. O guia possui 134
sugestes de tecnologias educacionais, separados em seis tipos de tecnologias, melhor
visualizados na Erro! Fonte de referncia no encontrada.. A inteno do MEC oferecer
aos sistemas de ensino ferramentas que auxiliem na deciso sobre aquisio de materiais e
tecnologias para uso nas escolas brasileiras de educao bsica pblica (MEC, 2009).
Tabela 2.1 Organizao dos tipos de tecnologias do Guia de Tecnologias Educacionais.
Item Categoria
Tecnologia desenvolvida
pelo MEC
Tecnologia
externa ao MEC
Total
1 Gesto da Educao 9 6 15
2 Ensino Aprendizagem 4 51 55
3 Formao dos Profissionais da Educao 10 14 24
4 Educao Inclusiva 6 1 7
5 Portais Educacionais 4 12 16
6 Diversidade e Educao de Jovens e Adultos 10 7 17
TOTAL 43 91 134
Fonte: (MEC, 2009).
Cada bloco do guia possui instncias de tecnologias provenientes do prprio MEC e
de instituies e/ou empresas pblicas ou privadas pr-selecionadas anteriormente pelas
secretarias responsveis do MEC, de forma a promover a qualidade da educao bsica
(educao infantil, ensino fundamental e ensino mdio) (MEC, 2009). Destaca-se na tabela o
nmero de tecnologias ligadas ao Ensino Aprendizagem, com valor bastante expressivo,
principalmente por empresas externas ao MEC.


30

Uma modalidade de ensino que tem se destacado muito nos ltimos anos, justamente
pelo avano das novas tecnologias, a Educao a Distncia (EaD). A EaD uma modalidade
de educao consolidada ao redor do mundo (com registros histricos antigos), consistindo
em um processo de ensino e aprendizagem onde alunos e professores esto separados no
tempo e no espao, conectados atravs de tecnologias a exemplo do correio, do rdio, da
televiso e outras (MORAN, 2002), (ROCHA, 2002), (TRINDADE e FRANA, 2005),
(ALVES, 2005), (BARTHOLO, AMARAL e CAGNIN, 2009), (OLIVEIRA, GUIMARES
e GUIMARES, 2011). As tecnologias mais utilizadas para facilitar a EaD so os Ambientes
Virtuais de Aprendizagem
3
(AVAs), podendo citar como exemplos os chamados de Sistema
de Gesto da Aprendizagem (Learning Management Systems LMS) Moodle
4
, e Sakai
5
,
Amadeus
6
, todos gratuitos e de cdigo aberto.
Outra tecnologia educacional tambm bastante utilizada o software educativo. Por
ser o objeto a ser construdo nesta dissertao, essa tecnologia ser definida na prxima seo,
de forma a melhor entender e direcionar o trabalho.

2.3.3 Software Educativo

Para evitar confuso com um outro termo, software educacional, faz-se necessrio
definir e diferenciar tais termos. Educacional se refere ao prprio fato pedaggico, ao ato
do aprendizado, e educativo ao conjunto de aes e recursos que se mobilizam para que o ato
educacional tenha lugar nas melhores condies possveis (CASASSUS, 1995, p. 14). Desta
forma, qualquer software com possibilidade de utilizao no contexto da educao, mesmo
que no tenha sido construdo com esse fim, contextualizando um processo de ensino e
aprendizagem, pode ser chamado de software educacional (GIRAFFA, 1999), (JUC, 2006),
(LACERDA, 2007). Um perfeito exemplo disso seria o programa do pacote de aplicaes

3
Os AVAs so conjuntos de ferramentas e recursos tecnolgicos das TICs, utilizando-se da Internet para
disponibilizar e permitir interao entre alunos e professores (PEREIRA, SCHMITT e DIAS, 2007).
4
http://www.moodle.org.br/. Acesso em: julho de 2011.
5
http://sakaiproject.org/. Acesso em: julho de 2011.
6
http://amadeus.cin.ufpe.br/index.html/. Acesso em: julho de 2011.


31

para escritrio da Microsoft chamado de PowerPoint
7
. um software para construo de
apresentaes grficas muito utilizado no contexto educacional.
J o conceito de software educativo est relacionado aos programas que funcionam
como mediadores em atividades que favoream o processo de ensino e aprendizagem,
promovendo a construo do conhecimento em reas distintas (GOMES e WANDERLEY,
2003), (JUC, 2006), (LACERDA, 2007). Eles so desenvolvidos especialmente para apoiar
o ensino e aprendizagem e normalmente esto fundamentados em alguma teoria de
aprendizagem.
Como forma de demonstrar as possibilidades da aprendizagem como servio, esta
dissertao desenvolveu um software educativo para ser executado na nuvem computacional,
com a proposta de prover aprendizagem de conceitos do paradigma orientado a objetos. No
Captulo 4 sero abordados todos os procedimentos realizados para tal, tanto os passos de
engenharia de software quanto as fundamentaes para o desenvolvimento de uma aplicao
pedaggica. As prximas sees tratam das bases pedaggicas ligadas aos software
educativos, assim como os tipos e suas classificaes.

2.3.3.1 Bases Pedaggicas para Software Educativos

O desenvolvimento de um software educativo no difere do desenvolvimento de um
software no educativo, comercial, industrial ou de qualquer outro domnio de aplicao.
Entretanto, cada um deles, produzidos para as mais variadas reas, possuem caractersticas
prprias. Uma caracterstica intrnseca ao software educativo refere-se s bases pedaggicas a
que est relacionado. Essas bases esto relacionadas s diversas teorias pedaggicas acerca
das mais variadas reas de atuao, assim como s vrias fases do desenvolvimento humano.
Na tese de doutorado de Bottentuit Junior (2010) h um levantamento das principais
teorias pedaggicas comumente utilizadas como base para o uso de tecnologia na educao,
sendo elas: behaviorismo, cognitivismo, construtivismo, construtivismo comunal,
construcionismo, aprendizagem significativa, flexibilidade cognitiva, instruo ancorada,

7
http://office.microsoft.com/pt-br/powerpoint/. Acesso em: julho de 2011.


32

aprendizagem cooperativa e colaborativa, conectivismo e conectividade, redes sociais e, por
fim, comunidades virtuais. Entretanto, essas teorias so especializaes do que diversos
trabalhos resumiram como principais bases pedaggicas, sendo estas as seguintes (LIMA,
1990), (VALENTE, 1993), (FREIRE e VALENTE, 2001), (BOEHME, 2003), (BORGES,
2004), (CASTRO, 2008), (PUCCI e BAUER, 2008), (MORELATO et al, 2010),
(BERNARDES e TORRES, 2010):
B1. Instrucionismo: nesta abordagem a informao transmitida ao indivduo para
que este retenha a informao. Freire e Valente (2001) explicam que a
informao digitalizada e passada aos alunos por meio de software do tipo
Tutorial ou Jogo Instrucional (tratados na prxima seo), tendo como intuito
verificar posteriormente se o conhecimento foi retido ou no. Essa abordagem
est baseada no behaviorismo (ou comportamentacionismo) de Burrhus Frederic
Skinner, onde o conhecimento era todo organizado e hierarquizado e
posteriormente transferido aos alunos pelos professores, devendo os alunos
(passivos nesse processo) guardarem essas informaes (MORELATO et al,
2010). Tambm conhecido como modelo tradicional, programas representantes
desse modelo normalmente definem objetivos educacionais mensurveis e
estratgias de ensino, proporcionam a avaliao de maneira objetiva,
possibilitando informar os alunos quanto pontuao obtida e ainda podem
fornecer reforo para as respostas corretas (CAMPOS e CAMPOS, 2001);
B2. Construcionismo: esta teoria est associada aos estudos do construtivismo de
Jean Piaget, onde o indivduo constri e desenvolve seus conhecimentos atravs
da interao com o ambiente em que vive (CASTRO, 2008). Segundo Valente
(1993), Seymour Papert (PAPERT, 1980) definiu o termo Construcionismo
baseado nos estudos de Piaget. A diferena principal entre os dois termos o
fato do aprendiz estar construindo seu conhecimento atravs, ou mediado, por
um computador (VALENTE, 1993). Os programas relativos a essa teoria
permitem aos estudantes aprenderem de acordo com o conhecimento prvio
adquirido com suas experincias passadas e com os erros cometidos com a
interao homem-mquina, opondo-se ao Instrucionismo. Morelato et al (2010)
explicam que para Piaget, o desenvolvimento da capacidade intelectual dos


33

alunos (ativos nesse processo) vem da interao com objetos do ambiente,
explorando-os sem nenhum ensino explcito, construindo seu conhecimento a
partir de um conjunto de problemas motivadores e realistas (MORELATO et
al, 2010). Os software dessa abordagem so mais relacionados aos do tipo
Programao, podendo em algumas situaes serem tambm do tipo Simulao
e Modelagem (ambos tratados na prxima seo). Segundo Campos e Campos
(2001), software representantes desse modelo normalmente definiem os macros
objetivos e os contextos, incentivando a construo do conhecimento pela
participao do aluno no processo, sendo sua avaliao realizada de maneira
qualitativa, considerando a no linearidade, sendo os caminhos do aprendizado
traados por ele prprio.
B3. Scio Interacionista: Rego (1994) explica que nos estudos de Lev Semenovich
Vygotsky, a quem essa teoria atribuda, o homem constitue seu conhecimento
atravs das suas interaes sociais, transformando e transformado pelas relaes
produzidas em uma determinada cultura ou meio social, sendo isto fundamental
no desenvolvimento. Lima (1990) explica que ao modelo proposto por Piaget
(interaco do indivduo com o mundo fsico), acrescenta-se a questo do social,
comentando tambm que Piaget enunciou o fator social, porm, no o incluiu
nos estudos da formao de estruturas cognitivas (LIMA, 1990, p. 16).
Software relativos essa teoria possuem as caractersticas da teoria do
Construcionismo associada interao do aluno com seus colegas e professores,
trabalhando juntos para a construo do conhecimento colaborativo. Os
problemas propostos normalmente so bem realistas, interessantes e relevantes
ao aluno, permitindo variedade nas solues propostas, estimulando ainda a
colaborao, o dilogo e a negociao dentro de um trabalho em equipe
(CAMPOS e CAMPOS, 2001);
Definir uma base pedaggica a ser utilizada bem importante no desenvolvimento de
sistemas educativos, devendo-se inclusive servir como direcionador na construo dos
programas especficos para educao. Escolheu-se B2 como base para o desenvolvimento da
proposta, explicada em detalhes no Captulo 4, devido interessante caracterstica de
construo do conhecimento atravs de ferramentas de programao, alm de ser base para a


34

maioria dos software relacionados da mesma linha. A prxima seo trata dos tipos de
software educativos comumente construdos com finalidade educativa.

2.3.3.2 Tipos de Software Educativos

Nos dias atuais notrio o uso do computador em praticamente todas as atividades do
dia-a-dia do ser humano. O nvel de informatizao atual no est mais restrito a apenas uma
camada da sociedade ou a uma profisso especfica. Em muitas delas impossvel se pensar
em exercer as atividades sem seu uso. Ao nvel da educao, o computador tambm passou a
ser extremamente importante na atividade de transferir informao ao aluno e como
complemento no processo de construo do conhecimento. Valente (1999) explica que o
processo de aprendizagem (memorizao ou construo do conhecimento) no deve ser
restrito ao software, mas sim, interao do aluno com o software. Nesse sentido, Valente
(1999, p. 89) explica que:
Alguns software apresentam caractersticas que favorecem a compreenso, como no
caso da programao; outros, onde certas caractersticas no esto presentes,
requerem um maior envolvimento do professor, criando situaes complementares
ao software de modo a favorecer a compreenso, como no caso do tutorial. Assim, a
anlise dos software educacionais, em termos da construo do conhecimento e do
papel que o professor deve desempenhar para que esse processo ocorra, permite
classific-los em posies intermedirias entre os tutoriais e a programao.
Essa tipificao dos software vem sendo objeto de estudo h muito tempo, sendo
recorrente em vrios artigos ao longo dos anos. Entretanto, a maioria tem convergido para os
mesmos aspectos e tipos, sendo os mais comuns (PELGRUM e PLOMP, 1993),
(MCDOUGALL e SQUIRES, 1995), (VALENTE, 1999), (VIEIRA, 1999), (HINOSTROZA
et al, 2000), (TEIXEIRA, 2001):
T1. Tutoriais (Tutorials): caracterizam-se pela transmisso da informao de
maneira organizada e sequenciada, de acordo com objetivos pedaggicos pr-
definidos, sendo possvel escolher a informao a ser acessada. Podem ser
desenvolvidos em formatos de texto com recursos grficos, livros animados,
vdeos interativos, hipertextos para navegao e outros. Outro tipo o definido


35

como software de Exerccios e Prticas (Drill and Practice). So semelhantes
aos Tutoriais, porm, seu avano no assunto dado com respostas corretas s
questes sobre o assunto abordado. Por ser bem parecido com os Tutoriais, esse
tipo no ser tratado como um em especfico;
T2. Programao (Programming): caracteriza-se por permitir aos seus usurios
resolverem problemas atravs de conceitos e estratgias prprias, processando as
informaes e transformando-as em conhecimento, sem possuir conhecimentos
de programao ou linguagens especficas. Seu contedo baseado em
construes algortmicas a partir de estruturas prprias ao desenvolvimento de
programas. Valente (1999) comenta que nessa atividade de programar o
computador h a identificao de diversas aes, explicadas em termos do ciclo
descrio-execuo-reflexo-depurao-descrio, definindo assim
(VALENTE, 1999):
Descrio: onde ocorre a descrio da resoluo do problema em termos de
linguagem de programao, utilizando toda a estrutura do conhecimento
acerca do problema e das estratgias para resoluo;
Execuo: onde a descrio dada anteriormente executada pelo
computador, e este fornece uma resposta imediata ao que foi solicitado;
Reflexo: nesta etapa o usurio reflete sobre a resposta obtida pela execuo
de suas descries, verificando se o resultado era o esperado ou no. Em
no sendo, d incio atividade de depurao para tentar descobrir onde est
o possvel erro;
Depurao: nesta atividade o usurio raciocina sobre os motivos pelos quais
o resultado esperado no foi alcanado, buscando novas estratgias e
conceitos de resoluo de problemas, dando incio novamente ao ciclo,
finalizando quando o esperado alcanado.
A esse mesmo tipo de software juntam-se os tipos Aplicativos (Applications),
que podem ser processadores de textos, planilhas eletrnicas ou qualquer outra
aplicao que possibilite alguma interao entre usurio e computador, mesmo
sem fins educacionais, porm, possibilitando o mesmo ciclo descrio-


36

execuo-reflexo-depurao-descrio. Assim, os tipos Aplicativos tambm
no faro parte dos tipos especficos tratados por esta seo;
T3. Simulaes e Modelagem (Simulations and Modeling): estes tipos
transformam um fenmeno ou vivncia de determinadas situaes difceis,
perigosas ou impossveis de serem reproduzidas em sala de aula ou qualquer
outro ambiente, a exemplos de realizaes de experincias qumicas ou de
balsticas, dissecao de cadveres, ciclo planetrio ou viagens na histria e
muitas outras, em um modelo computacional (VIEIRA, 1999). Na simulao,
um modelo de um fenmeno deve ser construdo no computador, cabendo ao
aluno apenas a manipulao de parmetros e a observao do comportamento
aps tal manipulao. Na modelagem, o aluno quem cria o modelo do
fenmeno utilizando recursos computacionais e, aps isso, pode utiliz-lo como
simulao;
T4. Jogos Instrucionais (Instructional Games): os jogos podem ter caractersticas
tanto dos tutoriais quanto das simulaes, mas buscando motivar o aluno atravs
do desafio e da competio com outros alunos ou com o prprio computador.
Sabe-se o quanto os jogos estimulam, motivam e divertem seus usurios,
levando muitos pesquisadores a inserirem vrias caractersticas dos jogos em
suas aplicaes. Nos ltimos anos vrias empresas aplicaram caractersticas de
jogos no marketing esttico de seus produtos, transformando contedo ou
caractersticas sem nenhuma conotao de jogo em algo divertido, dinmico e
estimulante, com vrias propriedades de jogos. Isso tem sido conhecido como
Gamification
8
, um termo informal para o uso de elementos (caractersticas) de
jogos em sistemas no-jogos para melhorar a experincia do usurio e
aumentar sua participao (DETERDING et al, 2011). Este termo se originou na
indstria de mdia digital, tendo seus primeiros usos documentados em 2008,
mas s foi largamente adotada no segundo semestre de 2010, quando muitas
indstrias do setor e conferncias se popularizaram (DETERDING et al, 2011),
inclusive na educao
9
.

8
http://gamification.org/wiki/Encyclopedia. Acesso em: maio de 2011.
9
http://www.gamifyingeducation.org/. Acesso em: maio de 2011.


37

Alm dos tipos de software educativos existentes, pode-se ainda classific-los, ou seja,
especializ-los quanto ao seu funcionamento. Essa classificao ser abordada na prxima
seo, servindo de base para especificao da proposta desta dissertao, explicada no
Captulo 4.

2.3.3.3 Classificao dos Software Educativos

Devido quantidade encontrada de software, houve necessidade de classific-los
seguindo algum tipo de padro. Eles podem ser classificados de acordo com a estratgia
utilizada, com o ambiente de execuo e com a atividade suportada, podendo ser classificados
em (MENDES, 2001), (MARCELINO, MIHAYLOV e MENDES, 2008), (MANSO,
MARQUES e DIAS, 2010), (ESTEVES, 2010):
C1. Minilinguagens: criadas a partir de linguagens de programao convencionais,
so subconjuntos ou extenses da linguagem correspondente, com objetivos
especficos, menos complexas e com caractersticas limitidas. Sua abordagem
a concepo de linguagens simples e pequenas para apoiar os primeiros passos
na aprendizagem de programao (BRUSILOVSKY et al, 1997). Um exemplo
o Minijava
10
;
C2. Ambiente de Desenvolvimento Controlado: so ambientes com recursos
reduzidos se comparados aos ambientes integrados de desenvolvimento (IDE
Integrated Development Environment) profissionais existentes e tendo,
normalmente, uma linguagem de programao convencional como base. Um
exemplo de software desta classificao o BlueJ
11
;
C3. Mundos Programveis: disponibilizam um ambiente virtual para execuo de
algoritmos, utilizando conceitos bsicos de programao e dispensando
conceitos bsicos como variveis e atribuio. Normalmente os algoritmos so

10
Existem alguns projetos de universidades distintas com nomes homnimos, como o projeto da Universidade
de Cambridge (http://www.cambridge.org/us/features/052182060X/, acesso em junho de 2011) e o da
Universidade Federal de Pernambuco (http://www.cin.ufpe.br/~if669/index.php/MiniJava, acesso em junho de
2011). H tambm um artigo muito citado como o de (ROBERTS, 2001).
11
http://www.bluej.org/, acessado em junho de 2011.


38

executados atravs do deslocamento de algum personagem, agente ou objeto
pelo ambiente simulado. Como exemplo, pode-se citar o JKarelRobot
12
;
C4. Ferramentas de Animao: podem ser Especficas, de Programas e de
Algoritmos. As de Animao Especficas representam graficamente a execuo
de algoritmos predefinidos, como os algoritmos de ordenao e pesquisa
normalmente estudados nas disciplinas de Estrutura de Dados, de forma
animada, com baixa ou nenhuma interao com o aluno e sem possibilidade de
especificar novos algoritmos (ex.: xSortLab
13
). As de Animao de Programas
representam graficamente a execuo de algoritmos criados pelos alunos, tanto
representando o cdigo-fonte em execuo e seus resultados quanto o estado das
variveis (ex.: OOP-Anim
14
). As de Animao de Algoritmos constroem
algoritmos de maneira grfica ou animada, sem nenhuma relao com
linguagens de programao convencionais, no levando em considerao
aspectos sintticos ou semnticos dessas, normalmente utilizando pseudocdigos
(linguagem estruturada) ou construes grficas como os fluxogramas (ex.:
SICAS
15
).
Os software estudados neste trabalho foram relacionados e analisados segundo suas
bases, tipos e classificao, conforme ser visto na Seo 4.3.4.

2.4 Sumrio do Captulo

Este captulo abordou a definio e integrao de educao com as tecnologias,
fazendo uma breve abordagem da sua evoluo ao longo da histria recente da humanidade.
Para maior aprofundamento nos contextos histricos associados educao inclusive do

12
Na pgina http://math.otterbein.edu/home/Class/Csc120/WebPages/notes.htmlhttp://karel.sourceforge.net/
(acesso em junho de 2011) possvel baixar uma verso instalvel para plataformas Windows, Linux e Solaris.
No artigo de Buck e Stucki (2001) pode-se conhecer melhor a ferramenta.
13
http://math.hws.edu/TMCM/java/xSortLab/, acesso em junho de 2011.
14
Animao de Programas Orientados a Objetos, ferramenta que permite a simulao e animao de programas
orientados a objetos (ESTEVES e MENDES, 2003).
15
Sistema Interativo para Construo de Algoritmos e sua Simulao, um ambiente orientado concepo de
algoritmos, permitindo o desenvolvimento dos alunos com base na experimentao e prtica (MENDES e
GOMES, 2000).


39

Brasil, sugere-se a leitura do livro de Aranha (2006). Definiu-se tambm ensino e
aprendizagem com uma rpida contextualizao, focando no envolvimento das tecnologias na
educao e suas categorizaes. Por fim, tratou-se das TICs em educao, abordando alguns
problemas comuns encontrados na sua aplicao com algumas possibilidades de resoluo
atravs de cloud computing, tratada no prximo captulo.


40

3 Cloud Computing e Educao

Como visto no captulo anterior, as TICs esto intimamente relacionadas a todos os
setores da educao e desta forma, com o avano das novas tecnologias e a criao de novos
paradigmas estruturais, a computao em nuvens, ou cloud computing, naturalmente tambm
seria utilizada com fins educacionais.
Para entender melhor esse movimento, preciso conhecer um pouco a tendncia
mundial de se utilizar os recursos computacionais disponibilizados pelas empresas
fornecedoras dessa tecnologia. Este captulo ir tratar dos conceitos e caractersticas de cloud
computing, os modelos de servios e de implantao disponibilizados e relacionar alguns dos
benefcios, limitaes, obstculos e oportunidades possveis, proporcionando, com base nesse
conhecimento introduzido, a possibilidade de compreender como tal tecnologia poder
potencializar a educao, em particular a aprendizagem como servio, nos dias atuais. Por
fim, faz-se um pequeno levantamento do uso de cloud computing em algumas empresas e
instituies educacionais.

3.1 Cloud Computing

O uso de cloud computing tem crescido constantemente nos ltimos anos. Seu uso
comum em grandes empresas da Internet, a exemplo da Google, Amazon e o Yahoo, todas
possuindo vrios data centers (centros de processamento e armazenamento de dados), com
centenas de milhares de mquinas (TAURION, 2009). Com dados de 2008, Taurion (2009)
estimou toda essa estrutura com nmeros da Google: eram cerca de 12 data centers
espalhados pelo mundo, com mais de 200 peta bytes de disco (1 peta = 10
15

ou
1.000.000.000.000.000 ou 1 quatrilho) e cerca de 500.000 servidores.
Cloud computing no se restringe apenas ao fornecimento de infraestruturas mas,
tambm, ao fornecimento de plataformas de desenvolvimento e de software. Na cloud, tudo


41

funciona como um servio disponibilizado para a comunidade
16
. Assim sendo, pode-se dizer
que no se utilizam as infraestruturas, plataformas e software, mas sim, se consomem as
infraestruturas, plataformas e software. Com essa tecnologia, usurios das mais variadas
plataformas de dispositivos tais como PCs (Personal Computer Computador Pessoal),
laptops, smartphones e PDAs (Personal Digital Assistant Assistente Digital Pessoal)
acessam programas, armazenam dados, utilizam-se de processamentos e desenvolvem
aplicaes em plataformas prprias, mesmo pela Internet, atravs dos servios oferecidos para
consumo por provedores de cloud computing (LEAVITT, 2009). Com esse consumo de
recursos da cloud, abordagens melhores foram adotadas, como (VELTE, VELTE e
ELSENPETER, 2010): Hardware como Servio (Hardware as a Service HaaS) tambm
conhecido por Infraestrutura como Servio (Infrastructure as a Service IaaS); Plataforma
como Servio (Platform as a Service PaaS); e Software como Servio (Software as a
Service SaaS).
Com a expanso e popularidade da cloud computing, assim como o avano na
pesquisa e desenvolvimento tanto na indstria quanto na academia, novas abordagens
passaram a ser consumidas, de forma a se ter Tudo como Servio (Everything as a Service
XaaS ou *aaS) (LENK et al, 2009), (BOLZE e DEELMAN, 2011), ou seja, a comunidade
tem a sua disposio Banco de Dados como Servio (Database as a Service DaaS)
(VELTE, VELTE e ELSENPETER, 2010), Governo como Servio (Government as a Service
GaaS) (WYLD, 2009), Sade como Servio (Healthcare as a Service HcaaS) (TIEN e
GOLDSCHMIDT-CLERMONT, 2009), entre outras. Apesar de tantas abordagens e dos
seguimentos possveis, todos so ainda muito insipientes e com poucas referncias cientficas
relevantes.
Este captulo tem o objetivo de contextualizar o paradigma de cloud computing dentro
da educao, esclarecendo os principais tipos e abordagens relacionadas, alm de melhor
definir e explicar a LaaS.


16
Comunidade aqui ser representada no apenas pelo indivduo usurio de tecnologias, mas tambm as
empresas pblicas e privadas, rgos governamentais e no governamentais e tudo ou todo aquele que faa uso
algum tipo dessas tecnologias.


42

3.1.1 Definio

Velte, Velte e Elsenpeter (2010) e Rittinghouse e Ransome (2010) explicam que o
termo Cloud Computing, ou Computao em Nuvem, recebeu essa denominao como uma
metfora para a Internet. Isso porque, normalmente, a Internet representada em diagramas
de rede por uma nuvem, conforme se pode ver na Figura 3.1. Ou seja, a nuvem representa
toda a infraestrutura por trs da Internet como servidores, roteadores, aplicaes, e outros, ou
conhecido como all-that-other-stuff, podendo ser traduzido por todas as outras coisas que
fazem a Internet funcionar.

Figura 3.1 Uma nuvem representando a Internet em um diagrama de rede
Fonte: (VELTE, VELTE e ELSENPETER, 2010).
As empresas possuem os PCs de cada usurio, sendo chamados na infraestrutura de
rede como PCs clientes, e o(s) servidor(es), conectados a equipamentos concentradores
(HUBs) ou comutadores (Switches), fazendo ponte com roteadores, e esses interligando essa
infraestrutura com a Internet.
Zhang, Cheng e Boutaba (2010) explicam que em 2006, quando o CEO (Chief
Executive Officer Diretor Executivo) da Google, Eric Schmidt, usou a palavra cloud para
descrever o modelo de negcio de prestao de servios atravs da Internet, o termo cloud
computing comeou a ganhar popularidade.
Desta forma, uma nuvem representa toda a infraestrutura de hardware e software
disponvel em um data center, responsvel pela comunicao, armazenagem de dados,
gerenciamento e manuteno de toda informao que trafega por essa infraestrutura. Toda


43

essa infraestrutura no necessariamente est em um mesmo local. Ela pode estar em salas,
andares, bairros, cidades ou pases diferentes. Assim, uma nuvem consegue representar de
maneira abstrata todo um parque computacional, da os termos nuvem computacional ou
computao em nuvem. Sabendo-se disso, e tendo em mente as diversas possibilidades de
uso, o conceito de cloud computing torna-se mais amplo.
Na literatura possvel encontrar diversas definies para cloud computing. Em
Vaquero, Rodero-Merino et al (2009), diversas definies so relacionadas e serviram para
propor uma definio prpria (VAQUERO et al, 2009, p. 51):
Clouds so um grande conjunto de recursos virtualizados, facilmente utilizveis e
acessveis (como hardware, plataformas de desenvolvimento e/ou servios). Esses
recursos podem ser dinamicamente reconfigurados para se ajustarem a uma carga
varivel (escala), permitindo tambm uma melhor utilizao dos recursos. Este
conjunto de recursos tipicamente explorado por um modelo pay-per-use (pagar por
uso) onde as garantias so oferecidas pelo provedor de infraestrutura por meio de
SLAs (Service Level Agreement Acordo de Nvel de Servio) personalizados.
(Traduo do autor)
Velte, Velte e Elsenpeter (2010) definem cloud computing como, em essncia, uma
construo que permite acessar aplicativos residentes em um local diferente do computador
fsico do usurio ou de outros dispositivos conectados Internet. Uma definio semelhante
vista em (RITTINGHOUSE e RANSOME, 2010), porm, eles tambm comentam a
tendncia de analistas de mercado e fornecedores de tecnologia definirem cloud computing
apenas como um novo modelo de utility computing (computao utilitria), utilizando
basicamente os servidores virtuais disponveis terceiros atravs da Internet.
Uma definio bem ampla e interessante encontrada em Lin et al (2009), onde
explicam cloud computing como um negcio emergente e com conceitos tecnologicos
diferenciados para diferentes pessoas, a saber:
Para os usurios de aplicativos e Information Technology (IT) Tecnologia da
Informao (TI): uma TI como Servio (ITaaS), isto , a entrega de
computao, armazenamento de dados (storage) e aplicaes atravs da Internet,
a partir de data centers centralizados;


44

Para os desenvolvedores de aplicativos para Internet: uma plataforma de
desenvolvimento de software em escala de Internet e um ambiente de execuo;
Para os fornecedores de infraestrutura e administradores: uma macia
infraestrutura de data centers distribudos, conectados por redes IP (Internet
Protocol Protocolo Internet).
O NIST (National Institute of Standards and Technology Instituto Nacional de
Padres e Tecnologia), uma agncia do Departamento de Comrcio dos Estados Unidos da
Amrica (EUA) (NIST, 2011), publicou que cloud computing um modelo conveniente para
permitir acesso on-demand (sob demanda) rede, para um conjunto compartilhado de
recursos computacionais configurveis (por exemplo, redes, servidores, storage, aplicaes e
servios). Isto provido de maneira rpida e com o mnimo de esforo de gesto ou interao
de provedores de servio.
As prximas trs subsees trataro das caractersticas principais de cloud computing,
assim como os modelos servios e de implantao conhecidos e utilizados at o momento. O
NIST informa, com aval e respaldo de diversas outras publicaes, que cloud computing
composta por cinco caractersticas essenciais, trs modelos de servios e quatro modelos de
implantao.

3.1.2 Caractersticas

O NIST relacionou cinco caractersticas essenciais que compe necessariamente uma
cloud:
Autosservio on-demand (On-demand self-service): um consumidor pode dispor
automaticamente (aumentando ou diminuindo) de recursos computacionais, tais
como tempo de armazenamento e servidores de rede, conforme necessitar, sem
requerer a interao humana com o provedor do servio;
Amplo acesso rede (Broad network access): recursos computacionais esto
disponveis atravs da rede (Internet) e so acessados atravs de mecanismos


45

padronizados, promovendo o uso em plataformas heterogneas (por exemplo,
telefones celulares, laptops e PDAs);
Pool de Recursos (Resource pooling): o provedor de recursos computacionais
(fsicos ou virtuais) est organizado de forma a atender vrios consumidores
dinamicamente. H um senso de localizao independente, em que o cliente
geralmente no tem conhecimento sobre a localizao exata dos recursos, mas
pode ser capaz de especificar o local em um nvel maior de abstrao (por
exemplo, pas, estado ou data center). Exemplos de recursos incluem o
armazenamento de dados (storage), processamento de informaes, uso de
memria, largura de banda e mquinas virtuais.
Rpida elasticidade (Rapid elasticity): recursos computacionais so providos de
maneira rpida, tanto para expanso quanto para remoo. Para o consumidor os
recursos disponveis para provisionamento frequentemente aparentam ser
ilimitados e podem ser comprados em qualquer quantidade e em qualquer
tempo;
Servios mensurveis (Measured Service): os sistemas das clouds
automaticamente controlam e otimizam a utilizao dos recursos, aumentando a
capacidade de medio em um nvel de abstrao apropriado para cada tipo de
servio (por exemplo, storage, processamento de informaes, largura de banda
e contas de usurios ativos). O uso de recursos pode ser monitorado, controlado
e relatado, de forma transparente tanto para o fornecedor quanto para o
consumidor do servio.
Outras caractersticas podem ser observadas, porm, frequentemente essas so
confundidas com outro paradigma estrutural conhecido por Grid Computing, ou computao
em grade, apesar de serem bem diferentes. Vaquero, Rodero-Merino et al (2009) tambm faz
uma relao e comparao entre cloud e grid computing e suas principais caractersticas.
Velte, Velte e Elsenpeter (2010) explicam que em grid computing aplicam-se os recursos de
vrios computadores em uma rede para trabalhar em um nico problema, ao mesmo tempo,
ou seja, um grande projeto dividido em vrios computadores para fazer uso de seus recursos.
Com cloud computing exatamente o oposto, ou seja, mltiplas aplicaes menores fazem
uso dos recursos ao mesmo tempo. A frequente confuso entre clouds e grids talvez seja


46

devido s duas compartilharem de vises semelhantes quanto reduo de custos
computacionais e aumento da flexibilidade e confiabilidade, utilizando hardware de terceiros
(VAQUERO et al, 2009).

3.1.3 Modelos de Servios

Velte, Velte e Elsenpeter (2010) explicam o termo servio, em cloud computing,
como a capacidade de usar componentes reutilizveis e refinados atravs da rede de um
fornecedor, sendo conhecido pelo sufixo as a service (como servio), possuindo como
caractersticas principais: baixas barreiras de entrada, facilitando a disponibilizao para as
pequenas empresas; grande escalabilidade; multitenancy (traduzido por Taurion (2009) como
multi-inquilino), possibilitando o compartilhamento de recursos por vrios usurios; e
independncia de dispositivos, permitindo o acesso de usurios aos sistemas em diferentes
hardwares.
O NIST relaciona trs modelos de servios, abordados nas prximas subsees:
Software as a Service Software como Servio (SaaS); Platform as a Service Plataforma
como Servio (PaaS); e Infrastructure as a Service Infraestrutura como Servio (IaaS).
Leavitt (2009), alm desses, adiciona o servio Internet-based Services (IbS) Servios
baseados na Internet ou seja, alguns produtos oferecem servios baseados na Internet
como o storage, middleware
17
, ferramentas de colaborao e recursos de banco de dados
diretamente aos usurios. Algumas empresas (ou fornecedores) oferecem um ou mais dos
quatro modelos de servio, conforme pode ser visualizado na Figura 3.2.

17
Servios de Middleware so servios que auxiliam na resoluo da heterogeneidade dos clientes e problemas
de distribuio, permitindo a implementao de um utilitrio de informao, localizando-se entre uma camada
acima do sistema operacional e do software de rede e abaixo das aplicaes industriais especficas
(BERNSTEIN, 1996).


47


Figura 3.2 Alguns fornecedores dos 4 principais modelos de servios.
Fonte: Adaptado de (LEAVITT, 2009).
Para cada modelo de servio especificado, so apresentados alguns dos servios
oferecidos pelas empresas fornecedoras, estas podendo oferecer um ou mais servios em um
ou mais modelos de servio. Por exemplo, a empresa Amazon fornece no modelo IbS as
solues Amazon S3
18
(Simple Storage Service Servio de Armazenamento Simples), e
Amazon SimpleDB
19
(Simple Database Banco de dados simplificado), e tambm oferece
servios de infraestrutura com a soluo Amazon EC2
20
(Elastic Compute Cloud Nuvem
Computacional Elstica), um servio que oferece recurso computacional redimensionvel na
cloud.
A adio feita por Leavitt (2009) de um quarto modelo de servio aparentemente tem a
inteno de subdividir o modelo de SaaS. Em seu trabalho, Leavitt (2009) atribui aos servios
do modelo IbS uma conotao mais simplificada, enquanto que nos servios do modelo SaaS
h uma conotao de servios mais complexos, tanto que ao observar os servios providos
pelas empresas relacionadas na Figura 3.2, tanto para IbS quanto para SaaS, possvel
verificar semelhana no aspecto de tipo de servio oferecido. Assim, este trabalho no ir
especificar o modelo IbS nas prximas subsees, restrigindo-se aos modelos mais
comentados e explorados na literatura.

18
O Amazon S3 um servio de armazenamento na Internet. http://aws.amazon.com/s3/. Acesso em: fevereiro
de 2011.
19
O Amazon SimpleDB um servio de armazenamento de dados no-relacional, altamente disponvel,
escalvel e flexvel que alivia o trabalho de administrao de banco de dados. http://aws.amazon.com/simpledb/.
Acesso em: fevereiro de 2011.
20
http://aws.amazon.com/ec2/. Acesso em: fevereiro de 2011.


48


3.1.3.1 Software as a Service (SaaS)

At bem pouco tempo, o consumo de software seguia exclusivamente o modelo
tradicional de compra e venda de software ou licenas de uso, sendo instalado ou liberado em
PCs. Esse modelo tradicional de distribuio por vezes referido como Software as a
Product, ou Software como Produto (RITTINGHOUSE e RANSOME, 2010).
Segundo Chen et al (2011), com o crescimento das tecnologias de Web Services e o
avano das SOAs (Service-Oriented Architectures Arquiteturas Orientadas a Servio),
empresas passaram a fornecer software eficazes como servios baseados na Internet, sendo
isso um novo modelo de entrega chamado Software as a Service (SaaS) Software como
Servio. Chen et al (2011) continuam explicando que em termos simples, SaaS um modelo
de implantao de software em que um aplicativo est hospedado servindo como servio aos
clientes atravs da Internet. Um exemplo ilustrado de SaaS pode ser visto na Figura 3.3.

Figura 3.3 Representao grfica do modelo SaaS.
Nesta representao, os usurios (Users) utilizam um navegador de Internet (Browser)
para acessar diversos tipos de aplicaes (Applications), estas hospedadas na cloud.
Uma definio parecida com a anterior pode ser encontrada em (RITTINGHOUSE e
RANSOME, 2010, p. 50): Software como Servio um modelo de distribuio de software
em que os aplicativos so hospedados por um fornecedor ou provedor de servios e
disponibilizados aos clientes atravs de uma rede, geralmente a Internet (Traduo do


49

autor). Como exemplos de SaaS, pode-se citar o servio de e-mail GMail
21
da Google ou o
servio para CRM (Customer Relationship Management Gerenciamento de Relacionamento
com Cliente) SalesCloud2
22
, da SalesForce.

3.1.3.2 Platform as a Service (PaaS)

Segundo Lawton (2008), devido grande aceitao alcanada com o conceito de SaaS
por parte dos usurios, muitas empresas resolveram oferecer sistemas de Platform as a
Service (PaaS), Plataforma como Servio, estas sendo plataformas ou ambientes de
desenvolvimento de aplicaes Web, manipulando tarefas como edio de cdigo para
depurao, implantao, execuo e gerenciamento. PaaS normalmente provem um conjunto
completo de ferramentas e tecnologias, desde o desenho de interface, processo lgico e
persistncia, at a completa integrao (LAWTON, 2008).
PaaS fornece o ambiente de desenvolvimento como um servio, utilizando-se de um
equipamento intermedirio para desenvolver programas e transferi-lo para outros usurios
atravs da Internet (ZHANG et al, 2010). Em alguns casos, os desenvolvedores podem usar
recursos online de PaaS para desenvolver aplicaes offline, ou mesmo trabalhar com o
desenvolvimento de uma aplicao online em modo offline e sincroniz-la posteriormente
com a aplicao online. Este modelo de servio possui diversas vantagens como aumento da
produtividade do programador, criao e lanamento de produtos mais rapidamente e reduo
de custos de desenvolvimento (LAWTON, 2008). Uma representao grfica pode ser
observada na Figura 3.4. Como exemplos de PaaS, pode-se citar o Google App Engine
23
e o
Microsoft Windows Azure
24
.

21
http://mail.google.com/. Acesso em: fevereiro de 2011.
22
http://www.salesforce.com/. Acesso em: fevereiro de 2011.
23
http://code.google.com/intl/pt-BR/appengine/. Acesso em: fevereiro de 2011.
24
http://www.microsoft.com/windowsazure/. Acesso em: fevereiro de 2011.


50


Figura 3.4 Representao grfica do modelo PaaS.
Fonte: (ZOHO, 2011).
Nesta representao, a PaaS disponibiliza aos desenvolvedores (developer) ou
fornecedores independentes de software (ISV Independent Software Vendor) uma IDE
(Integrated Development Environment Ambiente Integrado de Desenvolvimento) para
desenvolvimento das aplicaes, como por exemplo aplicaes de negcios (Business Apps).
Estas IDEs normalmente j incluem mdulos de segurana dos dados (Data Security), cpias
de segurana e recuperao (Backup and Recovery), hospedagem de aplicativos (Application
Hosting) e infraestrutura escalvel (Scalable Infrastructure) (FURHT, 2010).

3.1.3.3 Infrastructure as a Service (IaaS)

Algumas empresas fornecem ou gerenciam toda uma infraestrutura de harware e/ou
recursos computacionais como, por exemplo, capacidade de armazenamento e processamento,
dividindo, cedendo e redimensionando dinamicamente tais recursos (VAQUERO et al, 2009).
No modelo de servio IaaS, Lenk et al, (2009) o subdivide em dois nveis, conforme pode ser
visualizado naFigura 3.5, o nvel mais baixo chamado de Resource Set (Conjunto de
Recursos) e o nvel mais alto chamado de Infrastructure Services (Servios de Infraestrutura).


51


Figura 3.5 Nveis e respectivos servios do modelo IaaS.
Fonte: Adaptado de (LENK et al, 2009).
No nvel mais baixo encontram-se dois tipos de servios: o Physical Resource Set
(Conjunto de Recursos Fsicos), dependente de hardware e por isso associado fornecedores
de hardware, podendo citar como exemplo os servios da Emulab
25
; e o Virtual Resouce Set
(Conjunto de Recursos Virtuais), construdo por fornecedores de tecnologia hypervisor
26

indepentendes ou em cima de um servio Physical Resource Set para ser executado em
mltiplos fornecedores de Cloud, podendo citar como exemplo os servios da Amazon EC2.
No nvel mais alto encontram-se dois tipos de servios: os Basic Infrastructure Services
(Servios Bsicos de Infraestrutura), com os servios de recursos computacionais (ex.:
Hadoop MapReduce
27
), armazenamento de dados (ex.: GoogleFS
28
) e redes de computadores
(ex.: OpenFlow
29
); e os Higher Infrastructure Services (Servios Superiores de

25
Os servios da Emulab provem um ambiente como base para testes e experimentaes, de forma a
desenvolver, depurar e avaliar sistemas. http://www.emulab.net/. Acesso em: fevereiro de 2011.
26
Um Hypervisor uma camada de software que implementa mquinas virtuais tendo a mesma arquitetura de
conjunto de instrues do hardware em que executa (BRESSOUD e SCHNEIDER, 1996).
27
O Hadoop MapReduce um framework e modelo de programao para escrever aplicativos que processam
rapidamente vastas quantidades de dados em paralelo em clusters computacionais.
http://hadoop.apache.org/mapreduce/. Acesso em: fevereiro de 2011.
28
O GoogleFS (ou GFS) um sistema de arquivos distribudos escalvel para grandes aplicaes distribudas de
dados intensivos (GHEMAWAT, GOBIOFF e LEUNG, 2003).
29
O OpenFlow um padro aberto que permite a execuo de protocolos experimentais em redes de produo.
http://www.openflowswitch.org/. Acesso em: fevereiro de 2011.


52

Infraestrutura), construdos em cima de ferramentas de Basic Infrastructure Services, podendo
citar como exemplos os servios Dynamo
30
da Amazon e Bigtable
31
da Google.

3.1.4 Modelos de Implantao

Os modelos de implantao devem ser considerados antes de realizar-se qualquer
migrao de sistemas ou infraestrutura para um ambiente de cloud computing. Questes como
alta confiabilidade, segurana e reduo de custos devem ser fundamentais na anlise de
migrao. Essas caractersticas podem ser observadas e avaliadas nos quatro modelos de
implantao (NIST, 2011), (JIN et al, 2010) descritos nas prximas subsees.

3.1.4.1 Nuvem Privada (Private Cloud)

A infraestrutura deste modelo operada exclusivamente por uma organizao, ou seja,
no so disponibilizadas publicamente. Os servios a serem consumidos so utilizados
internamente somente pela organizao. Zhang, Cheng e Boutaba (2010), complementam
explicando que esse modelo tambm conhecido como Internal Cloud (Nuvem Interna) e
podem ser construdas e gerenciadas pela prpria organizao ou por fornecedores externos.
Nesse modelo h um alto grau de controle sobre o desempenho, confiabilidade e
segurana porm, so criticados por serem semelhantes aos tradicionais cluster de servidores
de rede proprietrios e por no fornecer benefcios como nenhum custo de capital inicial
(ZHANG, CHENG e BOUTABA, 2010).
Jin et al (2010) explicam que a maioria das nuvens privadas so grandes empresas ou
departamentos do governo que preferem manter seus dados em um ambiente mais controlado
e seguro. Normalmente esto centralizadas em nico ponto e para serem construdas exigem

30
O Dynamo um sistema de armazenamento altamente disponvel de pares chave/valor usados por alguns
servios do ncleo da Amazon para fornecer uma experincia always-on (sempre conectado) (DECANDIA
et al, 2007).
31
O Bigtable um sistema de armazenamento distribudo para gerenciamento de dados estruturados, destinado a
escalas de tamanho elevados: petabytes de dados atravs de milhares de servidores (CHANG et al, 2006).


53

alm de uma infraestrutura fsica adequada, uma infraestrutura de software que atenda todos
os recursos necessrios aos seus usurios (LOURIDAS, 2010). No mercado existem algumas
solues para implantao da infraestrutura de software necessria de uma nuvem privada,
como a Eucalyptus
32
, Enomaly
33
e OpenNebula
34
.

3.1.4.2 Nuvem Pblica (Public Cloud)

A forma mais comum de cloud computing so as nuvens pblicas, ou tambm
conhecidas por External Cloud (Nuvem Externa), sendo disponibilizadas ao pblico em geral
no modelo pay-as-you-go (pagar pelo que consumir) (JIN et al, 2010).
Grandes empresas como Amazon, Microsoft e Google so os principais fornecedores
de nuvem pblica pois possuem uma grande infraestrutura distribuda em vrios data centers
espalhados ao redor do mundo. Uma consequncia dessa distribuio que diversas
aplicaes de diversos clientes so executadas no mesmo ambiente computacional (FURHT,
2010).
Jin et al (2010) comentam que as principais preocupaes dessa abordagem so
segurana e governaa de dados entretanto, preciso considerar os compromissos do
provedor da nuvem com relao qualidade do servio e com os acordos de nvel de servio
(SLAs) (LOURIDAS, 2010).

3.1.4.3 Nuvem Comunitria (Community Cloud)

O (NIST, 2011) explica que a nuvem comunitria ocorre quando a infraestrutura da
nuvem compartilhada por muitas organizaes, suportando um comunidade especfica que
compartilha dos mesmos interesses como: misso, requisitos de segurana, poltica e
consideraes de conformidade.

32
http://open.eucalyptus.com/. Acesso em: fevereiro de 2011.
33
http://www.enomaly.com/. Acesso em: fevereiro de 2011.
34
http://opennebula.org/. Acesso em: fevereiro de 2011.


54

Briscoe e Marinos (2009) explicam que a nuvem comunitria surge da preocupao
sobre o controle dos fornecedores de cloud computing e a observao de preocupaes
anlogas dirigidas pelas pesquisas em ecossistemas digitais, aspirando combinar os princpios
dos ecosistemas digitais com os casos de uso das clouds.

3.1.4.4 Nuvem Hbrida (Hybrid Cloud)

Nesse modelo de implantao h uma juno de infraestrutura entre nuvens pblicas,
privadas e comunitrias. Mesmo havendo essa composio de duas ou mais nuvens,
permanecem como entidade nica, porm, unidas por tecnologias padronizadas ou
proprietrias permitindo portabilidade de dados e de aplicao, como por exemplo, realizar
um cloud bursting
35
para balano de carga entre nuvens (NIST, 2011). Um dos problemas da
utilizao de nuvens hbridas essa troca de recursos entre clouds, pois h poucas opes
disponveis de cooperao entre nuvens externas e internas, alm das limitaes da forma de
interoperabilidade nuvem-a-nuvem, sendo necessrio consultar os fornecedores da nuvem
para verificao dessas limitaes (LOURIDAS, 2010).

3.1.5 Benefcios, Limitaes, Obstculos e Oportunidades

A utilizao de tantos recursos tecnolgicos avanados disponveis na cloud
possibilitam diversos benefcios, porm, preciso ter em mente a no existncia de tecnologia
perfeita, que atenda a tudo e a todos. Ou seja, cloud computing tambm possui algumas
limitaes, e estas, assim como os principais benefcios, sero tratadas nesta seo. Somando-
se a isso, preciso verificar tambm os principais obstculos para seu uso, pois, alguns destes
podem, em determinadas situaes, ser um fator benfico ou limitador, e para estes obstculos
visualizar oportunidades.


35
Cloud Bursting um tipo de compensao de custos de execuo de data centers privados por meio de
recursos adicionais de infraestruturas para gerenciamento de picos de cargas.


55

3.1.5.1 Benefcios

Os benefcios ou vantagens de uma tecnologia podem estar relacionados com diversos
fatores. Ao se analisar a melhor soluo para um determinado fim, preciso ter em mente
quais objetivos finais se quer ter. Isso vale tanto para quem quer usufruir das tecnologias
quanto para quem quer oferecer. No caso deste trabalho, no ponto de vista meramente tcnico,
o foco est no consumo ou uso dos recursos oferecidos pelas clouds.
Sendo assim, nessa tica, necessrio verificar os pontos mais crticos para a empresa
ou organizao, como custos, disponibilidade e escalabilidade com o uso de cloud computing.
No livro de Velte, Velte e Elsenpeter (2010), encontram-se alguns dos principais benefcios
obtidos, de maneira geral, com o uso das infraestruturas de cloud computing, elencados a
seguir:
Escalabilidade: esta talvez seja a maior vantagem das clouds. Se houver
necessidade sbita de demanda, os fornecedores de recursos de tecnologia
facilmente podem liberar quanto recurso for preciso, reduzindo custos com
aquisio de novos equipamentos ou perifricos. Uma consequncia direta disso
est na reduo de tempo para instalao e configurao por parte dos
administradores da rede;
Simplicidade: como consequncia do benefcio anterior, o fato de no necessitar
comprar novos equipamentos e tambm no perder horas com instalao e
configurao dos recursos, facilita toda a logstica de implementao de novos
recursos e solues para a empresa e consequentemente o usurio final;
Mais recursos internos: com a escalabilidade de novos recursos garantida e a
simplicidade de implantao desses, o potencial humano interno das empresas
passam a preocupar-se mais com o negcio da empresa do que com os
frequentes problemas internos de infraestrutura;
Segurana: esta questo bastante complexa e gera inmeras dvidas, porm,
levando em considerao os gigantes provedores de cloud, e suas reputaes, h
um consenso que todas tm extrema preocupao com este quesito. Desta forma,


56

possvel considerar a segurana como um benefcio por parte dos provedores
de cloud.

3.1.5.2 Limitadores

Seguindo o mesmo raciocnio da seo anterior, ou seja, focando no ponto de vista de
consumidores dos servios oferecidos pelos fornecedores de cloud, esta seo baseia-se nos
principais limitadores, ou desvantagens, apresentados por Velte, Velte e Elsenpeter (2010),
tambm elencados a seguir:
Confidencialidade das informaes: quer queira quer no, as informaes no
esto mais sobre o total controle das empresas e organizaes. Se algumas
informaes estratgicas, ou no, forem extremamente confidenciais, utilizar os
recursos de um fornecedor de cloud talvez no seja a melhor opo, mesmo com
a garantia da segurana das informaes por parte da maioria dos provedores.
Velte, Velte e Elsenpeter (2010) citam como exemplo dessa limitao, o caso em
que a Microsoft e a Yahoo! enviaram todos os dados de seus clientes para o
Departamento de Justia dos EUA como parte de um caso de pornografia
infantil. Apesar da boa inteno da situao, dados sigilosos de corporaes
alheias a tais situaes, ficaram totalmente desprotegidos;
Indisponibilidade das aplicaes: em certas situaes, sistemas inteiros no esto
totalmente prontos para serem executados em cloud. Pequenas peculiaridades
podem impedir o uso em plena capacidade ou, em casos extremos, no podem
trabalhar em absoluto;
Desenvolvimento individual: em muitas situaes necessita-se de software
especiais e especficos para determinada soluo. Se isso no existir disponvel
em um fornecedor, haver a necessidade de implementao por parte da empresa
ou organizao, requerendo gastos (temporais e financeiros) com tais atividades;



57

3.1.5.3 Obstculos e Oportunidades

Mesmo aproveitando-se dos benefcios ou superando limites para o uso de cloud, uma
empresa ou organizao pode deparar-se com alguns obstculos inerentes ao uso de cloud
computing. Armbrust et al (2009) definiram uma lista com os dez maiores (TOP 10)
obstculos ao crescimento de cloud computing, e para cada um deles sugeriram uma ou mais
oportunidades alternativas. Algumas destas oportunidades j so amplamente exploradas por
alguns fornecedores de clouds. A lista resumida com o TOP 10 dos obstculos e suas
respectivas oportunidades, de forma resumida, encontra-se na Erro! Fonte de referncia no
encontrada..
Tabela 3.1 TOP 10 para adoo e crescimento de cloud computing.
Obstculos Oportunidades
1 Disponibilidade de servio - Usar mltiplos fornecedores de cloud para prover continuidade
de negcios;
- Usar elasticidade de recursos para se defender de ataques
distribudos de negao de servios (Distributed Denial-of-
Service DDoS).
2 Dados em Lock-In
- Padronizar APIs (Application Programming Interface
Interface de Programao de Aplicaes);
- Tornar software compatveis e disponveis para permitir Surge
Computing
36
.
3 Confidencialidade e auditoria de dados - Implantar criptografia, VLANs (Virtual Local Area Network
Rede de rea Local Virtual) e Firewalls;
- Adaptar leis nacionais atravs de armazenamento de dados
espalhados geograficamente.
4 Gargalo na transferncia de dados - Discos FedExing;
- Backup/Arquivamento de dados;
- Menor custo de roteadores (WAN Wide Area Network
Rede rea Extensa);
- Maior largura de banda de switches (LAN Local Area
Network Rede de rea Local).
5 Imprevisibilidade de desempenho - Suporte Mquinas Virtuais (VMs Virtual Machine)
melhoradas;
- Memria flash;
- VMs Gang Scheduling
37
para aplicaes HPC (High-

36
Surge Computing, ou Computao em Ondas, ocorre quando uma nuvem pblica pode ser usada para executar
tarefas peridicas que podem ser implantadas facilmente em uma nuvem pblica, dentro de uma nuvem hbrida
(YADAV e HUA, 2010).


58

Performance Computing computao de alto desempenho).
6 Armazenamento escalvel - Inventar armazenamento escalvel.
7 Bugs em sistemas distribudos em
larga escala
- Inventar debugger (depurador) baseado em VMs distribudas.
8 Rpido dimensionamento - Inventar Auto-Scaler (auto escalonador) dependente de
aprendizado de mquina;
- Snapshots para incentivar cloud computing conservacionista.
9 Reputao de destino compartilhado - Oferecer servios reputation-guarding como os de e-mail.
10 Licenciamento de software - Licenas pay-for-use (pagar pelo que usar);
- Venda de uso a granel.
Fonte: (ARMBRUST et al, 2009).
Esse resumo exibido na Erro! Fonte de referncia no encontrada. explana os dez
maiores obstculos em cloud computing, com suas respectivas oportunidades. As variaes de
sombreamento na tabela representam agrupamentos de caractersticas semelhantes, onde as
trs primeiras linhas so obstculos tcnicos para a adoo de cloud computing, as prximas
cinco linhas so obstculos tcnicos para o crescimento de cloud computing uma vez que
foram adotadas, e as duas restantes so obstculos de poltica de negcios para adoo de
cloud computing (ARMBRUST et al, 2009).
Na literatura possvel encontrar diversos trabalhos relacionando vantagens e
desvantagens, assim como as diversas oportunidades para o uso de cloud computing.
Entretanto, para este trabalho, os aqui relacionados so suficientes para explanar e referenciar
a tecnologia. A prxima seo ir tratar de uma modalidade de servio que certamente far
uso dos conceitos e caractersticas abordados.

3.2 Aprendizagem como Servio (Learning as a Service)

Como tratado no Captulo 2, as TICs tm e vm evoluindo muito na rea da educao,
e esta pode utilizar-se das avanadas tecnologias intrnsecas s clouds. Tanto que Wyld
(2009) comenta em seu relatrio que um dos usos mais emocionantes de cloud computing,

37
O termo Gang Scheduling denota uma poltica de escalonamento, implementado pelo sistema em tempo de
execuo, no qual um conjunto de threads escalonado simultaneamente em um conjunto de processadores,
utilizando um mapeamento one-to-one (FEITELSON e RUDOLPH, 1992).


59

em rea no federal, est no mundo da educao. Por ser deveras complexo e bastante
extensivo os conceitos de educao, abordou-se especificamente a aprendizagem, sendo
nomeada tal abordagem como Learning as a Service (LaaS), ou seja, Aprendizagem como
Servio.
Este termo foi construdo a partir de um que vem sendo bastante utilizado em diversas
literaturas: Tudo como Servio ou Everything as a Service (XaaS ou *aaS) (LENK et al,
2009), (JIN et al, 2010), (RITTINGHOUSE e RANSOME, 2010), (VELTE, VELTE e
ELSENPETER, 2010), (BOLZE e DEELMAN, 2011), (ORGERIE, ASSUNO e
LEFVRE, 2011).
Fogel (2009), Principal Education Architect (Diretor Arquiteto de Educao) da Intel
Corporation, abordou a Education Cloud (algo como Nuvem Educacional ou Nuvem de
Educao) explicando diversas possibilidades de prestao de servios de educao,
auxiliando a tomada de deciso por parte dos administradores de TICs e lderes
governamentais, com relao identificao e atendimento das necessidades da comunidade
educativa, incluindo estudantes, professores, pais e administradores. Nesse contexto
educacional, constata-se o quanto software educativos facilitam o processo de
ensino/aprendizagem (quando bem utilizados e orientados), assim como as TICs propiciam o
desenvolvimento de diversos Ambientes Virtuais de Aprendizagem (AVAs), favorecendo aos
envolvidos nesse processo, alunos e professores, um melhor aproveitamento do contedo
apresentado em sala de aula. Esses recursos so normalmente disponibilizados em hardwares
prprios, executando software diversos, mantendo o ambiente sempre disponvel. Assim,
utilizando-se dos recursos de cloud computing e a isso integrar os recursos educacionais
disponveis, pode-se vislumbrar o novo conceito apresentado: a Aprendizagem como Servio
(Learning as a Service LaaS).
importante verificar quais servios e atores estariam relacionados com a LaaS. Em
um primeiro momento e em uma anlise mais superficial, h uma tendncia a achar que a
LaaS estaria apenas relacionada aos alunos e professores e seus instrumentos utilizados no
complexo processo de ensino e aprendizagem. Entretanto, fazendo uma anlise mais
profunda, verifica-se que toda a infraestrutura educacional deve estar relacionada: instituies
de ensino, entidades de fomento e apoio a pesquisa, bibliotecas, organizaes no


60

governamentais (ONGs) associadas a assuntos relativos educao, empresas, rgos
reguladores e os prprios Estados Governamentais.
Fazendo uma anlise apenas em Instituies de Ensino Superior (IES), possvel
verificar muitas dessas necessidades de servios especficos. Melo e Churro (2010), por
exemplo, destacam que servios de TICs bsicos como portal ou site institucional na Internet
ou um servio de correio eletrnico aos docentes, funcionrios e discentes, j no so
vantagens competitivas no meio acadmico. Oliveira (2006) comenta que no sistema de
tecnologia educacional atual h necessidade de integrao entre a infraestrutura tecnolgica,
os processos de transmisso do contedo e os atores do ambiente educacional propriamente
dito, haja vista que apesar da informao ser o ativo mais importante na educao, somente o
acesso a ela no garantia de conhecimento. A isso se soma a possibilidade do uso de TICs
em outras operaes como os Sistemas Integrados de Gesto Empresarial (Enterprise
Resource Planning - ERP), Gesto de Relacionamento com o Cliente (Customer Relationship
Management CRM), Inteligncia Empresarial (Business Intelligence BI), alm de software
de Gesto Educacional (MACHADO, 2008).
Na LaaS, tudo passa a ser disponibilizado na nuvem computacional, oferecendo
aprendizagem como um servio ou uma prestao de servios para a comunidade. Por estarem
na nuvem, os AVAs no necessitam ser monitorados o tempo todo, tm nvel maior de
abrangncia, so multiplataforma e podem ser acessados por qualquer dispositivo
computacional tais como: PC, notebook, celular, dentre outros, e ainda pode reduzir os custos
com pessoal e equipamento. A LaaS, portanto, facilita e agrega mais conhecimento aos
alunos de forma rpida e simples, aumentando o nvel de discusso e interao entre alunos e
professores em sala de aula. Alm disso, a LaaS pode diminuir a necessidade de novos
recursos computacionais em instituies menos favorecidas financeiramente, equiparando a
infraestrutura educacional com instituies financeiramente mais estveis. Isso porque tanto
em instituies privadas quanto em instituies pblicas, devido aos elevados custos diretos e
indiretos e os dficits oramentais, com o uso de cloud computing tanto h possibilidade de
reduo de custos quanto h possibilidade de aumentar o uso de novos e modernos recursos
tecnolgicos (WYLD, 2009).



61

3.3 Empresas, Organizaes e Instituies que utilizam Cloud Computing

Muitas empresas, organizaes e instituies j se utilizam dos inmeros benefcios e
vantagens de cloud computing. No Brasil no poderia ser diferente. Seguindo as tendncias
mundiais ou atravs de acordos de cooperao com entidades estrangeiras, a tecnologia das
clouds est presente no comrcio, pesquisa e desenvolvimento brasileiro.
Em 2007, seis universidades americanas (Universidade Carnegie Mellon, Instituto de
Tecnologia de Massachusetts, Universidade de Stanford, Universidade da Califrnia em
Berkeley, Universidade de Maryland e Universidade de Washington), envolveram-se em uma
parceria entre as empresas IBM e Google, com intuito de alavancarem suas pesquisas em
cloud computing (LOHR, 2007). Lohr (2007) complementa que a inteno principal dessa
parceria, alm das possibilidades financeiras, seria a capacitao de mo-de-obra
especializada para, na poca, o novo paradigma das clouds, ampliando o desenvolvimento de
aplicaes e servios nas nuvens.
Essa iniciativa possibilitou no apenas a essas instituies novos rumos na pesquisa e
desenvolvimento com clouds. Por estar disponvel na web, muitas outras ao redor do mundo
tambm tiveram acesso s tecnologias. No artigo de L. Jnior, Costa et al (2010), a Faculdade
Cenecista Nossa Senhora dos Anjos (FACENSA
38
), em Gravata no Rio Grande do Sul,
migrou boa parte de sua infraestrutura acadmica para as nuvens, diminuindo constantes
falhas operacionais e tcnicas recorrentes e reduzindo custos com aquisio de novos
equipamentos e manuteno.
H ainda outras instituies com fortes implantaes de cloud computing, a exemplo
da Faculdade Maurcio de Nassau (FMN), em Recife. A FMN possui diversas unidades em
diversas cidades da regio nordeste e desde o fim de 2010 vem implantando aos poucos o uso
de cloud computing. A meta interligar todas as unidades, transferindo a maior parte do
parque tecnolgico para as nuvens. Infelizmente no foi possvel encontrar registros em
artigos de jornais, revistas ou eventos que pudessem referenciar tais aes, limitando-se
apenas a uma citao informal.

38
http://www.facensa.com.br/. Acesso em: maro de 2011.


62

Pelo relatrio de Wyld (2009), com dados daquela poca, milhares de escolas e
universidades em mais de 80 (oitenta) pases j utilizam os servios de e-mail da Microsoft
(Hotmail) e da Google (GMail). No blog
39
oficial da Google
40
em um post de 8 de setembro
de 2009, mais de 5 milhes de estudantes de milhares de escolas em mais de 145 pases
utilizam os servios da empresa. Nesse mesmo post, h uma informao sobre a Universidade
de Notre Dame
41
que economizou cerca de 1 milho e meio de dlares mudando para o
Google Apps. A Figura 3.6, extrada desse post, exibe um mapa com algumas dessas milhares
de escolas que aderiram aos servios da Google.

Figura 3.6 Mapa com a indicao local das milhares de escolas que usam servios da Google
42
.
Os territrios escurecidos so os pases que possuem usurios da Google Apps. No
prprio site da Google Apps para Educao
43
, h a informao que mais de 10 milhes de
estudantes utilizam seus servios.
Em relatrio de pesquisa realizada entre junho e julho de 2009 pela F5 Networks (F5
NETWORKS, 2009), foi possvel constatar que apesar da confuso quanto definio de
cloud computing, as empresas tm investido agressivamente em iniciativas de implantao

39
Blog uma abreviao para Web Log, algo como um dirio na Internet. Na sua origem e na sua acepo mais
geral, um weblog uma pgina na Web que se pressupe ser atualizada com grande frequncia atravs da
colocao de mensagens que se designam posts constituda por imagens e/ou textos normalmente de
pequenas dimenses (muitas vezes incluindo links para sites de interesse e/ou comentrios e pensamentos
pessoais do autor) e apresentadas de forma cronolgica, sendo as mensagens mais recentes normalmente
apresentadas em primeiro lugar (GOMES M. J., 2005, p. 311).
40
http://googleblog.blogspot.com. Acesso em: maro de 2011.
41
http://nd.edu/. Acesso em: maro de 2011.
42
http://googleblog.blogspot.com/2009/09/five-million-students-going-back-to.html. Acesso em: maro de 2011.
43
http://www.google.com/a/help/intl/pt-BR/edu/index.html. Acesso em: maro de 2011.


63

para alcanar seus objetivos empresariais. Exibe-se na Figura 3.7 um grfico com o percentual
de adoo de clouds pblicas por parte das empresas pesquisadas.

Figura 3.7 Percentual de adoo por parte das empresas.
Fonte: Adaptado de (F5 NETWORKS, 2009).
A pesquisa foi realizada com 250 empresas de TI, cada uma com pelos menos 2.500
funcionrios. Pela figura, 82% das empresas j adotaram cloud computing em seus negcios e
17% j cogitam usar. Apenas 1% dos estrevistados rejeitam a tecnologia.
Com relao empresas brasileiras provedoras de tecnologias nas nuvens, se pode
citar a MIPC
44
, sendo a PCIO sua soluo comercial, disponibilizando SaaS para empresas de
qualquer porte, conforme pode ser visto em sua pgina na web. Outra empresa brasileira a
Global Web
45
, provendo solues de IaaS e SaaS, alm de servios de consultoria na rea de
TI. possvel relacionar diversas outras empresas do setor de cloud no Brasil, porm, no se
pode deixar de mencionar a empresa Indstria Virtual
46
, com sua soluo WebCenter. Essa
soluo prov alm de recursos tecnologicos voltados empresas como gerenciador de
contedo para construo e manuteno de pginas web e gerenciador eletrnico de
documentos, prov recursos tecnologicos voltados para a educao, sendo utilizada em cursos
de especializao, escolas e universidades, presente inclusive em diversos projetos da
Universidade Federal do Rio de Janeiro UFRJ. possvel visualizar um screenshot
47
de
uma instncia em execuo da soluo WebCenter na Figura 3.8.

44
http://www.mipc.com.br/. Acesso em: maro de 2011.
45
http://www.globalweb.com.br/. Acesso em: fevereiro de 2011.
46
http://webcenter.industriavirtual.com.br/. Acesso em: fevereiro de 2011.
47
Captura da imagem exibida na tela de um computador.


64


Figura 3.8 Instncia do WebCenter em execuo.
Fonte: Imagem extrada do site da Indstria Virtual.
Navegando na Internet em busca de outras empresas do mesmo setor, foi possvel
notar um certo desentendimento, ou estratgia de marketing, de algumas empresas. A maioria
das empresas oferecedoras de IaaS, na realidade estavam oferecendo servios de revenda,
como eram conhecidos h algum tempo. Nesse servio, o cliente contrata uma configurao
maior de servidor, subdividindo sua configurao em vrias cotas com outros clientes, porm,
todos relacionados sua conta. Assim, o modelo apresentado pela maioria das empresas desse
setor, utilizam em suas campanhas de marketing o termo cloud computing como sinnimo de
inovao e avanos tecnolgicos, apresentando-se como pioneiras ou em sintonia com os
pases de tradio tecnolgica. Praticamente todas oferecem tais servios a preo fixo
mensal, independente do uso menor ou maior da infraestrutura, disponibilizando elasticidade
de recursos por pacotes de servios, ou seja, obriga o cliente a contratar um pacote
predeterminado de infraestrutura.

3.4 Sumrio do Captulo

possvel verificar o quanto cloud computing estar inserida no modo de vida dos
usurios, profissionais ou no, dos diversos segmentos da sociedade nos dias atuais e quanto
tende a crescer em um futuro no to distante. A isso, percebe-se o quanto a educao,
principalmente, precisa atualizar-se e acompanhar as tendncias reais com uso desse
paradigma. Analisando o relatrio de Wyld (2009), toda uma infraestrutura educacional
hospedada em um fornecedor, utilizando vrios conjuntos de servios de aplicaes de outros
fornecedores, com desenvolvedores construindo sistemas prprios para esse tipo de


65

tecnologia, no mais visionrio. real. necessrio. Alicerceando toda essa estrutura
computacional, cloud computing demonstra-se ser a prxima gerao de tecnologia a ser
utilizada.
O prximo Captulo trata da proposta a ser utilizada para reforar a Education as a
Service como tendncia para os prximos anos, tendo o escopo apontado para uma aplicao
que tem por objetivo apoiar o processo de ensino e aprendizagem de uma disciplina bsica, de
extrema importncia para os cursos da rea de informtica e, infelizmente, com altos ndices
de reprovao e desistncia.



66

4 Proposta

Em diversas reas do conhecimento preciso aplicar algum insumo de forma concreta
para sustentar e comprovar a eficcia e eficincia do contedo a ser apresentado. Na rea de
informtica, em particular, esses insumos normalmente so software ou hardware especficos.
Utilizando-se dos conhecimentos adquiridos do captulo anterior esta dissertao prope o
desenvolvimento de um software, de forma a prover a educao como um servio para a
comunidade.
Este captulo contempla os principais processos necessrios para o desenvolvimento
do software proposto, como o mapeamento de requisitos e funcionalidades, realizando um
levantamento na literatura de vrias ferramentas educativas com objetivos semelhantes. Esse
mapeamento necessrio para embasar a proposta dentro da categoria de software educativo.
Ser realizado ainda a descrio do software atravs da modelagem arquitetural, principais
tecnologias utilizadas e as principais funcionalidades desenvolvidas.

4.1 Processo de Desenvolvimento

Desenvolver software nos dias atuais uma tarefa extremamente complexa. Na
maioria dos casos deve-se envolver uma equipe multidisciplinar, buscando potencializar a
qualidade e produtividade dos sistemas (CAMPOS, CAMPOS e ROCHA, 1996). Em sistemas
educativos normalmente a equipe composta por pelo menos um especialista em informtica
e um especialista do domnio da educao, trabalhando de maneira organizada, coordenada e
cooperada (GIRAFFA et al, 2006). Isso necessrio para refletir os objetivos educacionais
propostos e o ambiente de aprendizagem almejado, criando situaes que estimulem o
desenvolvimento das habilidades desejadas (CAMPOS, CAMPOS e ROCHA, 1996, p. 1).
Essa reflexo de certa forma um consenso para muitos autores conforme, por exemplo,
(CAMPOS, CAMPOS e ROCHA, 1996), (CAMPOS e CAMPOS, 2001), (LYRA et al,
2003), (GOMES e WANDERLEY, 2003), (BATISTA et al, 2004), (BENITTI, SEARA e
SCHLINDWEIN, 2005), (GIRAFFA et al, 2006) e (GIRAFFA, 2009).


67

O software desenvolvido nesta dissertao, entretanto, no contou com uma equipe
multidisciplinar para sua concepo. Grande parte do processo foi realizado de maneira
individual, baseando-se na experincia docente do autor com estudantes de escolas tcnicas
pblicas (nvel mdio), faculdades particulares e universidades pblicas (nvel superior), todas
na rea de informtica, em disciplinas relacionadas programao.
Dentre os modelos de processo de desenvolvimento existentes, optou-se pelo modelo
de desenvolvimento evolucionrio de Sommerville (2003), onde as atividades de
especificao, desenvolvimento e validao so intercalados, e dentro desse modelo genrico,
especializando-se pelo desenvolvimento exploratrio, ou seja, objetivando evoluir para um
sistema final a partir de uma especificao inicial.

4.2 Escopo de Atuao da Proposta

Na maioria dos cursos de graduao em informtica (Cincia e Engenharia da
Computao, Sistemas de Informao e outros), em suas matrizes curriculares, h disciplinas
consideradas base para o ensino da programao. Tais disciplinas exploram os princpios
bsicos da lgica de programao objetivando desenvolver a capacidade de anlise e
resoluo de problemas na forma de algoritmos (RAPKIEWICZ et al, 2006). Infelizmente
essas mesmas disciplinas possuem alto ndice de reprovao e evaso (SILVA, 1991),
(SANTOS e COSTA, 2006), (SILVA, SILVA e SANTOS, 2009), (HINTERHOLZ JNIOR,
2009), (RVOLLI, GUIMARES e MOREIRA, 2010) e seu ensino considerado um dos
sete maiores desafios do sculo (MCGETTRICK et al, 2004).
Mendes (2001) comenta que aps uma consulta s principais conferncias mundiais
em Computer Science Education (Ensino da Cincia da Computao), percebeu muitas
dificuldades comuns em instituies de ensino em muitos pases, tais como (MENDES,
2001):
Alto nvel de abstrao relacionado;
Metodologias de ensino priorizam a aprendizagem de conceitos dinmicos
atravs de, principalmente, abordagens e materiais estticos;


68

Necessidade de um bom nvel de conhecimento e prtica de tcnicas de
resoluo de problemas;
Composio das turmas com alunos com backgrounds (embasamento ou
conhecimento anterior) diferenciados, refletindo em ritmos de aprendizado
diferenciados;
Dificuldade de acompanhamento individual por aluno, tanto pela quantidade de
alunos nas turmas quanto pela curta carga horria da grade escolar;
Obrigatoriedade de estudo prticos e, por isso, muito diferente do requerido pela
maioria das disciplinas (baseadas em noes tericas, implicando muita leitura e
alguma memorizao); e
Linguagens de programao usuais com construo gramatical e semntica
complexa, sem representaes visuais dos algoritmos, dificultando a
compreenso;
Kuhn (1962 apud FREITAS e NETO, 2007), explica que os paradigmas de
programao, a exemplo da orientao a objetos, descrevem teorias e procedimentos prprios,
representando uma formao e organizao do conhecimento. As solues de problemas so
escritas em linguagens de programao especficas, direcionando o raciocnio de acordo com
suas caractersticas de formao, possibilitando tratar os problemas com vises diferenciadas,
de acordo com o paradigma adotado.
Desta forma, o sistema proposto por este trabalho busca auxiliar no processo de ensino
e aprendizagem da disciplina de Linguagem de Programao dentro do Paradigma Orientado
a Objetos (POO). Essa especificidade se deve pelo fato da POO ser muito difundida na
academia e na indstria, tendo sido evidenciada pela Sociedade Brasileira de Computao
(SBC) como um dos princpais tpicos dentre as disciplinas de liguagens de programao
(CHAVES et al, 2010).
Nesse contexto especfico de sistemas de apoio ao processo de ensino e aprendizagem,
possvel encontrar diversas iniciativas interessantes, algumas desde o princpio do uso de
computadores nas IEs. A prxima seo ir tratar de alguns desses trabalhos, buscando fazer
um mapeamento de seus principais recursos e funcionalidades e comparando ao sistema
proposto por esta dissertao, de forma a obter um produto com qualidade e competitivo.



69

4.3 Mapeamento de Requisitos e Funcionalidades

Na literatura e em eventos especializados foi possvel encontrar um vasto nmero de
sistemas com inteno educacional para as mais variadas reas, necessitando descartar
trabalhos fora do contexto da rea de informtica e selecionando programas do mesmo tipo
proposto por esta dissertao. Para se ter ideia do nmero de software com esse intuito (sem
distino de rea de conhecimento), o relatrio de 1988 do OTA (Office of Technology
Assessment Gabinete de Avaliao da Tecnologia), um orgo do Congresso dos EUA,
informava haver mais de 10.000 produtos de software destinados ao uso com computadores
standalone nas escolas e residncias no mercado americano daquela poca, desses, cerca de
5% relacionavam-se com a rea de computao (OTA, 1988, p. 22). Os requisitos funcionais
e no funcionais, assim como a relao dos sistemas elencados para anlise, sero discutidas
nas prximas sees e serviro de base para a seleo e mapeamento de funcionalidades e
requisitos.

4.3.1 Requisitos Funcionais da Proposta

Paula Filho (2001) infere que o valor de um produto vem de suas caractersticas, sendo
estas divididas em caractersticas funcionais e no funcionais. Sommerville (2003) classifica
os requisitos de software em requisitos: (i) funcionais, as declaraes das funes oferecidas
pelo sistema, seu comportamento com entradas ou sadas particulares e em situaes
especficas como no deve se comportar; (ii) no funcionais, as restries nas funes
oferecidas pelo sistema, incluindo restries de tempo, restries no processo de
desenvolvimento, padres, e qualidades globais de um software, como manutenibilidade,
usabilidade, desempenho, custos e vrias outras; e (iii) de domnios, derivados do domnio da
aplicao do sistema e no das necessidades especficas do usurio do sistema.
Para a proposta desta dissertao foram definidos apenas os requisitos funcionais e no
funcionais, entretanto, com algumas caractersticas de elicitao diferenciadas e objetivas.
Nesse sentido, os estudos de Gomes e Wanderley (2003) acerca dos requisitos a serem


70

definidos permeiam a relao com o domnio (aprendizagem de conceitos) e com o contexto
de uso (atividade). A modelagem da ao disponibiliza informaes sobre o domnio, ou seja,
sobre a aprendizagem, enquanto que a modelagem de atividades identificam requisitos
relativos ao ambiente social de usurios (GOMES e WANDERLEY, 2003). Assim, este
trabalho utilizou como base o mesmo fluxo do processo de criao de um software educativo,
apresentado na Figura 4.1, definido e explicado no artigo de Gomes e Wanderley (2003).

Figura 4.1 Fluxo do processo de criao de software educativo.
Fonte: (GOMES e WANDERLEY, 2003, p. 122).
Seguindo o fluxo proposto foi possvel, com algumas modificaes contextuais
relacionadas s especificidades da proposta, diminuir de forma considervel o escopo de
apresentao e definies acerca do software construdo nesta proposta, facilitando a
elicitao dos requisitos necessrios e norteando todo o resto do desenvolvimento. Gomes e
Wanderley (2003) comentam que a aplicao desse processo ocorre em projetos especficos,
como o caso desta proposta, devendo responder trs perguntas:
Quanto se sabe sobre a aprendizagem do domnio?
o Na literatura possvel encontrar uma infinidade de material sobre o
assunto e especificamente no domnio da POO, tambm no difcil
encontrar;
necessrio criar e estudar o uso de prottipos?
o No caso da proposta desta dissertao, devido ao processo de
desenvolvimento de software escolhido ter sido o desenvolvimento


71

evolutivo exploratrio de Sommerville (2003), no foram criados e
estudados prottipos formalmente;
Que tipo de contexto de uso deve ser analisado?
o Devido aos avanos da tecnologia e com o crescente uso da Internet,
muitos ambientes e sistemas esto migrando para essa plataforma. O
contexto de uso abordado por esta proposta diferencia-se dos contextos
utilizados por Gomes e Wanderley (2003), apesar da possibilidade de ser
usado tambm com EaD, Sala ou Laboratrio e Desktop.
Assim, foi posto em prtica o uso desse processo, analisando de acordo com a
realidade atual e os objetivos do projeto da proposta desta dissertao, sendo o fluxo
construdo e apresentado na Figura 4.2.

Figura 4.2 Fluxo de criao da proposta.
Por ser o domnio bem conhecido, no caso o ensino/aprendizagem da POO, iniciou-se
a pesquisa bibliogrfica sobre a aprendizagem do domnio, coletando mais de 120 artigos de
anais de eventos nacionais e internacionais, peridicos e captulos de livros, nas mais diversas
bases cientficas disponveis em bibliotecas fsicas e virtuais. Com isso, foi possvel verificar
uma constncia com relao aos principais tpicos abordados, sendo a maioria voltada aos
princpios bsicos da orientao a objeto, verificando tambm algumas necessidades
relacionadas ao domnio, a exemplo da carncia de ferramentas com especificidade de nveis
de abordagens.
Por no utilizar prottipos para a construo do produto final, passou-se fase da
anlise de uso da proposta. Incialmente, o software produzido de uso individualizado, ou
seja, manuseado por um s usurio, entretanto, esse uso ser na Internet. Desta forma, houve
a necessidade de identificar todo o contexto de uso em ambientes dessa natureza, tendo sido
bastante apoiada pela pesquisa bibliogrfica realizada anteriormente. Com os principais
requisitos elencados (descritos nos prximos pargrafos e sees), finalizou-se o processo na
gerao dos casos de uso da proposta.


72

Com o domnio e a especificidade definida pelo fluxo da Figura 4.2, descreveu-se os
requisitos funcionais para o software a ser construdo. Dentro do domnio das linguagens de
programao, o software simular um ambiente de programao onde o usurio, neste caso
um aluno, poder escrever algoritmos para resoluo de problemas bsicos propostos,
possibilitando o desenvolvimento orientado a objetos, sem que para isso, inicialmente, utilize
comandos escritos pr-definidos, ou seja, com o mximo de interao grfica com o ambiente.
Normalmente os requisitos possuem prioridades bem definidas, estas sendo:
Essencial (ESS): quando um requisito imprescindvel para o funcionamento
do software, ou seja, deve ser implementado necessariamente;
Importante (IMP): quando um requisito necessita ser desenvolvido para obter
uma melhor interao no conjunto, mas no necessariamente imprescindvel,
ou seja, sua falta no interfere no funcionamento geral do software;
Desejvel (DES): quando um requisito no interfere nas funcionalidades bsicas
do software, ou seja, se no implementado no compromete o uso do software,
podendo ser adicionado em verses posteriores.
Para melhor compreenso os requisitos funcionais foram relacionados em tabelas,
diferenciadas por mdulos do sistema. Nestas tabelas sero indicados apenas os requisitos
funcionais essenciais. No Apndice A possvel visualizar todos os outros requisitos. Os
campos utilizados na definio dos requisitos foram:
ID: para identificao do requisito funcional, sendo cada ID iniciado pelas letras
RF seguido do nmero identificador do requisito;
Nome: para definir um nome especfico para o requisito;
Descrio: para uma breve descrio do que o requisito ir tratar;
Prior: para definir a prioridade do requisito, conforme explicitado
anteriormente;
Entrada: para informar caso haja a necessidade de alguma pr-condio ou
valor de entrada para possibilitar o funcionamento do requisito;
Sada: para informar sobre o estado do sistema ou alguma ps-condio depois
da execuo do requisito.


73

Assim, foi possvel definir os principais requisitos relacionados com a construo de
POO, estes descritos na Erro! Fonte de referncia no encontrada. a seguir.
Tabela 4.1 Requisitos funcionais do mdulo de Orientao a Objeto do software proposto.
ID Nome Descrio Prior. Entrada Sada
RF01 Criar classe Cria uma classe dentro do
programa a ser desenvolvido
ESS - Tipo de classe
(para o caso de
ser abstrata)
Classe com
nenhuma
propriedade
RF04 Criar mtodo Cria um mtodo de uma
classe
ESS - Classe
selecionada
- Tipo de
mtodo (para o
caso de ser
abstrato)
- Parmetros de
entrada (se
houver)
- Tipo da sada
(se houver)
Mtodo criado
relacionado a uma
classe
RF07 Criar atributo Cria um atributo ESS - Classe (para
atributo de
classe) ou
- Mtodo (para
atributo de
instncia)
selecionado
- Tipo do
atributo (inteiro,
texto e ponto
flutuante)
- Valor inicial
Atributo criado
RF10 Criar Instncia Cria uma instncia (objeto)
de uma classe
ESS - Classe
selecionada
Objeto da classe
RF18 Implementar
mtodo
Implementa as aes a serem
executadas pelo mtodo
ESS - Mtodo
selecionado
Mtodo
implementado
RF19 Manipular Herana Possibilita a herana entre
classes
ESS - Classe
selecionada
Herana gerada
RF20 Disponibilizar
exemplo
Disponibiliza uma classe de
exemplo na tela inicial para
facilitar o entendimento
ESS - Classe Hello
World


O primeiro mdulo trata dos requisitos relacionados POO com os principais
conceitos inerentes a esse paradigma: classes, atributos e mtodos, instncias, herana e
interfaces. Na POO tem-se um conjunto de classes que modelam (ou abstraem) entidades do
mundo real contendo as caractersticas prprias de cada uma, e os objetos (ou instncias) que


74

representam uma classe. Os mtodos de uma classe determinam os comportamentos de cada
objeto, podendo tomar como base um ou mais estados possveis, estes representados pelos
atributos (ou variveis). Um POO definido pelas aes dos seus comportamentos e da a
necessidade de se implementar cada um dos mtodos das classes, sendo essa implementao
melhor definida pelo mdulo estrutural da proposta cujos requisitos esto descritos na Erro!
Fonte de referncia no encontrada..
Tabela 4.2 Requisitos funcionais do mdulo estrutural do software proposto.
ID Nome Descrio Prior. Entrada Sada
RF21 Manipular tipos Manipula os tipos de dados
(inteiro, texto, ponto
flutuante e lgico) para tratar
com clculos, concatenaes
ou expresses lgicas
ESS - -
RF22 Manipular atributos Manipula atributos
modificando seus valores,
seu tipo de dado e
modificadores de acesso
ESS - Varivel
selecionada
Varivel alterada
RF23 Ler dados L dados inseridos atravs de
dispositivo de entrada
(teclado)
ESS - Valor atribudo ou
informao
guardada em
memria
RF24 Escrever dados Escreve dados na sada
padro (monitor)
ESS - - Dados na sada
padro
RF25 Realizar operaes
aritmticas
Realiza operaes
matemticas de adio,
subtrao, multiplicao e
diviso, potenciao,
radiciao, operador de resto
(mod) e quociente (div) de
diviso inteira
ESS - Duas variveis
selecionadas
- Operao
realizada
RF26 Realizar operaes
relacionais
Realiza comparaes entre
dois valores de mesmo tipo
(igual, maior, menor, maior
ou igual, menor ou igual e
diferente)
ESS - Duas variveis
selecionadas
- Operao
realizada

Todo programa precisa conter as aes a serem realizadas para as mais diversas
situaes. Essas aes so definidas por estruturas de seleo e repetio, operadores
aritmticos, relacionais e lgicos, organizadores de prioridades, assim como os manipuladores
de tipos e de atributos, organizados de tal maneira que possibilitem a execuo dos
programas. Entretanto, para o escopo desta dissertao, algumas dessas aes so limitadas,
no abrangendo todas as caractersticas inerentes a uma linguagem de programao mais


75

completa, como Java ou Python ou mesmo uma IDE de desenvolvimento. Tais
caractersticas requereriam todo um desenvolvimento especfico para construo de
linguagens, como analisador lxico, sinttico e outros. O campo Descrio da tabela descreve
quais caractersticas, dentre todas relacionadas ao tipo de ao, so utilizadas, delimitando-as
por parnteses.
Com os requisitos definidos at agora, possvel criar um programa e atribuir aes a
serem executadas ou realizadas, sendo necessrio disponibilizar ao aluno diversas opes de
gerenciamento do que construiu, como por exemplo, a possibilidade de executar o programa.
Na Erro! Fonte de referncia no encontrada. so elicitados os requisitos do mdulo
gerenciador. Esse mdulo ser responsvel pela interface entre o software proposto e o
usurio.
Tabela 4.3 Requisitos funcionais do mdulo gerenciador do software proposto.
ID Nome Descrio Prior. Entrada Sada
RF33 Gerar script de
execuo
Empilha lista de comandos
para execuo
ESS - Comandos
estruturais
Execuo do
programa
RF34 Executar programa Executa o programa criado ESS - Programa executa
na rea de
execuo
RF37 Abrir projeto de
programa
Abre um projeto de
programa salvo
anteriormente na conta do
usurio ou na mquina local
ESS - - Projeto aberto
RF38 Salvar projeto do
programa
Salva o estado atual do
projeto do programa que est
sendo construdo ou salva
como um novo projeto do
programa
ESS - Projeto do
programa aberto
Estado atual salvo
ou novo projeto
criado
RF41 Imprimir projeto do
programa
Imprime o projeto do
programa ou o cdigo na
linguagem escolhida
ESS - -

Aps o usurio estruturar a aplicao desejada, definindo classes, atributos, mtodos e
aes dos mtodos, e definir o algoritmo desta aplicao, essencial a execuo dessa mesma
aplicao e verificar se tudo est a contento ou mesmo realizar manuteno da estrutura final.
Tem-se um interpretador para executar o programa, podendo parar ou pausar a execuo.


76

possvel tambm criar projetos, abrir algum que tenha sido salvo ou salvar o projeto ativo,
sendo possvel tambm imprimir o cdigo-fonte do programa construdo.
A prxima seo trata dos requisitos no funcionais, mas, como dito anteriormente,
tais requisitos so especficos para software educativos, segundo pesquisas dentro dessa rea.

4.3.2 Requisitos do Software Educativo Proposto

Definir requisitos no funcionais em software educativo uma tarefa um tanto quanto
complexa. Seguindo a mesma linha de raciocnio de Mendes (2001) e Reategui e Boff (2007),
sero observados tambm requisitos essenciais para uma boa ferramenta de apoio ao
ensino/aprendizado de programao, de forma a torn-la usvel e cumpridora do seu papel.
Tais requisitos foram adaptados aos requisitos para o software proposto por esta dissertao.
R1. Interatividade: permite ao aluno interagir com a ferramenta de forma ativa,
controlando e maximizando seu aprendizado, e ao professor a possibilidade de
acompanhar o desenvolvimento do aluno;
R2. Configurvel: possibilidade de acrescentar novos recursos computacionais ou
especficos relativos ao assunto abordado, como exerccios, exemplos e
solues, todos com possibilidade de alterao em tempo de execuo;
R3. Representao alternativa: possibilidade de ponto de vista diferenciado, com
raciocnios e solues diversos para o mesmo problema abordado;
R4. Simplicidade: evitar a complexidade inerente aos assuntos abordados,
disponibilizando ao aluno um ambiente fcil de manusear;
R5. Portabilidade: essencial para que o aluno no tenha dificuldades para usar o
ambiente nos diversos tipos de plataformas disponveis, de maneira transparente;
R6. Economia: possibilidade de acesso ao ambiente pelo maior nmero possvel de
usurios, com baixo custo de licenas ou aquisio;
R7. Documentao: quanto maior o nvel de documentao, melhor sero as
possibilidades de o aluno interagir de maneira independente no ambiente;
R8. Controle de execuo: possibilidade de ter total controle sobre a execuo do
algoritmo criado, podendo inclusive verificar erros em tempo de execuo;


77

R9. Gerao de cdigo: nas disciplinas de programao o que se busca sempre o
resultado final do seu algoritmo, sendo possvel utilizar esse algoritmo no maior
nmero de linguagens de programao possvel, possibilitando levar tal cdigo
para outras ferramentas (IDEs) mais especficas de determinadas linguagens;
R10. Controle de erros: possibilidade de visualizar os erros gerados pela construo
dos algoritmos de forma intuitiva e com o maior nmero de detalhes possveis e
inclusive com possveis solues.
Todos esses requisitos devem interagir em conjunto para proporcionar um ambiente
prazeroso de utilizao, harmonizando o desejo de voltar ao ambiente e continuar um trabalho
iniciado ou iniciar novos, com entusiasmo para explorar ao mximo todos os recursos
disponibilizados.

4.3.3 Software a serem Analisados

Dentro da Informtica na Educao o nmero de pesquisas relacionadas construo
de software educativo bastante considervel. No Brasil, diversas IEs j realizaram ou
realizam trabalhos nessa linha, como, por exemplo, a Universidade Estadual de Campinas
Unicamp (GARCIA, REZENDE e CALHEIROS, 1997) (DABREU e CHELLA, 2001), a
Universidade Federal de Alagoas UFAL (ALMEIDA et al, 2002), a Universidade Federal
de Pernambuco UFPE (TEDESCO e GOMES, 2002), a Universidade Federal de Lavras
UFLA (SANTOS e COSTA, 2005), a Universidade Federal do Rio Grande do Sul UFRGS
(GOMES, BARONE e HORWATH, 2010) e outras. Elevando o nvel de pesquisa para IEs ou
organizaes privadas internacionais, possvel encontrar ainda mais casos semelhantes. Com
isso, foi necessrio realizar um afunilamento com relao aos programas estudados, buscando
os que trabalham na mesma linha da proposta desta dissertao.
O mais antigo e conhecido o Logo (PAPERT, 1980). Com a mesma base e com o
passar do tempo, outros dialetos foram criados de maneira melhorada, com novos recursos
computacionais e grficos, e ainda com os mesmos objetivos. Dentre eles, foi selecionado o
SuperLogo (DABREU e CHELLA, 2001) para efeito de mapeamento de requisitos, por ter
sido desenvolvido em uma universidade brasileira e possuir a maioria das funcionalidades


78

encontradas nos outros dialetos. Seguindo a linha dos recursos grficos para facilitar a
manipulao do programa, em 1994 o Logo foi substitudo pelo MicroWorlds (LCSI, 1998),
assim, esse tambm ser abordado. O LEGO Mindstorms (LAWHEAD et al, 2003) bastante
conhecido pela comunidade da rea de robtica na educao de nvel superior, apesar de todos
seus programas pedaggicos serem voltados educao de nvel infantil e mdio. O LEGO
auxilia no aprendizado dos conceitos de programao visual e na implementao de robs.
Seguindo a linha do MicroWorlds com a utilizao de recursos grficos, muitos
software da atualidade tm se utilizado da programao visual para disponibilizar e manipular
seus recursos. Isso auxilia a criao de programas mais elaborados com manipulao de
imagens, sons, jogos e vdeos. O interessante desses programas a facilidade de programao,
diminuindo a curva de aprendizagem e elevando a capacidade de resoluo de problemas.
Dentre esses esto o Scratch (MALONEY et al, 2010), o GreenFoot (KLLING, 2010), o
Alice (COOPER, DANN e PAUSCH, 2000), o MagicWords (KINDBORG e SCHOLZ,
2006), o Kodu (MACLAURIN, 2011), o RobotProg (QUEME, 2005) e o Squeak (GUZDIAL
e ROSE, 2002).
O fato das linguagens de programao serem estruturadas usando o Ingls uma
dificuldade relevante para muitos alunos cuja lngua nativa no essa (MANSO, OLIVEIRA
e MARQUES, 2009), a exemplo das linguagens C, C++, C#, Java, Python, Visual Basic,
Smaltalk e muitas outras. Isso contribuiu para o desenvolvimento de alguns trabalhos
utilizando o Portugus estruturado conhecido por Portugol (MANSO, OLIVEIRA e
MARQUES, 2009) que utiliza a linguagem algortmica ALGOL (BACKUS et al, 1963) como
base. Nessa linha, foram analisados o WebPortugol (HOSTINS e RAABE, 2007), que utiliza
o Portugol como linguagem de programao e a Web como plataforma, o VisuAlg (SOUZA,
2009), idem ao anterior porm, utilizado como aplicao desktop. Em ambos no h utilizao
de recursos grficos. Tais recursos so explorados pelo Portugol IDE (MANSO, MARQUES
e DIAS, 2010) e, por isso, este tambm ser analisado.
A partir desse levantamento na literatura por programas educativos que auxiliam no
ensino/aprendizado da programao e aps a seleo dos mencionados anteriormente,
possvel analis-los e verificar aspectos relevantes entre eles e a proposta desta dissertao.
Essa anlise encontra-se na prxima seo e servir de apoio para justificar o
desenvolvimento da proposta.


79


4.3.4 Anlise das Caractersticas
Depois de delineados, especificados, classificados e explicados os aspectos das sees
anteriores, faz-se necessrio realizar um mapeamento detalhado com as ferramentas
pesquisadas e selecionadas, juntamente com a proposta desta dissertao. O software proposto
por este trabalho foi nomeado como PuzzlEdu, uma aluso e juno das palavras Puzzle
(quebra-cabea) e Educao. Quebra-cabea devido ao processo de ir montado os programas
desenvolvidos na ferramenta at se chegar a um modelo completo, tendo ao final um
significado consistente. Educao pelo fato do intuito do software de apoiar o ensino e a
aprendizagem do aluno. Este nome pode sofrer alteraes em verses futuras, dependendo do
nvel de evoluo e aprofundamento alcanado com seu desenvolvimento.
A Erro! Fonte de referncia no encontrada. preenchida com as bases
pedaggicas relacionadas aos programas analisados, bem como o tipo especfico de cada um,
sua classificao, qual paradigma est associada linguagem de programao ensinada (FUN
= Funcional, EST = Estruturado, OO = Orientado a Objeto, VIS = no paradigma, mas
nesse caso, utiliza-se uma linguagem visual, seja prpria, por blocos ou por fluxogramas
como base), a plataforma onde possvel ser executado (DOS = interface de linha de
comandos, Win = Windows, Lin = Linux e Mac = Mac OS) e a licena de uso (Free = grtis
para uso no comercial e com cdigo fechado
48
, Open = grtis e com cdigo aberto
49
, Paid =
pago e cdigo fechado).
Tabela 4.4 Caractersticas dos software analisados.
N
o
Software Base Tipo Classif. Paradigma Plataforma Licena
1 Logo B2 T2 C3 FUN DOS Free
2 SuperLogo B2 T2 C3 FUN Win e Lin Free
3 MicroWorlds B2 T2+T3 C3 FUN e EST Win e Mac Paid
4 LEGO Mindstorms B2 T2+T3 C2 VIS Win, Lin e Mac Free
5 Scratch B2+B3 T2+T3 C3 OO Win, Lin e Mac Free
6 GreenFoot B2+B3 T2+T3 C2+C3 OO* Win, Lin e Mac Open
7 Alice B2+B3 T2+T3 C3 OO Win e Mac Open
8 MagicWords B2 T2+T3 C3 OO Win, Lin e Mac Free

48
O cdigo-fonte do sistema no se encontra disponvel para alteraes.
49
O cdigo-fonte do sistema encontra-se disponvel para alteraes, desde que guardadas as devidas referncias.


80

9 Kodu B2+B3 T1+T2+T3 C2 VIS Win Free
10 Roboprog B2 T2+T3 C1+C3+C4 VIS Win e Mac Open
11 Squeak B2+B3 T2+T3 C2 OO Win, Lin e Mac Open
12 WebPortugol B2 T2 C2 EST Independente* Free
13 VisuAlg B2 T2 C2 EST Win Free
14 Portugol IDE B2 T2 C2+C4 EST + VIS Independente** Open
15 PuzzlEdu B2+B3 T2+T3 C2+C3 OO* Independente Open

Todos os sistemas estudados possuem base pedaggica relacionada com o
construcionismo, entretanto, alguns podem ter caractersticas somadas de outras bases
pedaggicas e tambm podem estar associados a mais de um tipo e mais de uma classificao.
Assim, os ambientes 5, 6, 7, 9, 11 e 15, possuem caractersticas do Construcionismo e do
Scio Interacionismo. Conforme explicado anteriormente, todos os ambientes analisados
permitem a resoluo de problemas utilizando conceitos de programao, utilizando
linguagens especficas, entretanto, os ambientes 3, 4, 5, 6, 7, 8, 9, 10, 11, e 15 permitem a
modelagem e simulao de ambientes/fenmenos, desde que estes sejam programados
adequadamente. O sistema 9, em particular, na primeira utilizao obriga o usurio a seguir
um tutorial facilitando a aprendizagem de como programar no ambiente. Esse tutorial pode
ser acessado novamente a qualquer momento, e h outros tutoriais disponveis. Quanto
classificao, os sistemas 6, 10, 14 e 15 possuem vrias caractersticas, possibilitando maior
abrangncia de conceitos por parte dos alunos.
Com relao aos paradigmas, so necessrias algumas explicaes. Na verdade, todos
os sistemas analisados possuem o mesmo objetivo, no caso, facilitar o entendimento da lgica
de programao, como j comentado, um obstculo para alunos dos cursos de informtica.
Assim, alguns focaram em uma linha mais estrutural, com sequenciamento de comandos
(sistemas 3, 12, 13 e 14). Outros, apesar de tambm utilizarem sequenciamento de comandos,
o fazem atribuindo tais sequenciamentos a classes de objetos distintos, caracterizando uma
abordagem orientada a objetos (sistemas 4, 5, 7, 8, 11), porm, no o fazem explicitamente.
Os sistemas 1, 2 e 3 por estarem bem relacionados (o sistema 1 serviu de base para os outros
dois), possuem o mesmo paradigma da programao funcional, baseada em funes de
comandos. O sistema 3, por se uma evoluo do sistema 1, j possui traos da programao
estruturada (ou sequenciada), mas ainda com fortes estruturas funcionais. O sistema 4 utiliza


81

blocos (representando comandos especficos) para montar seus programas, enquanto o
sistema 10 utiliza exclusivamente blocos de fluxogramas. O sistema 9 utiliza uma linguagem
visual prpria, baseada em personagens, ambientes, objetos e aes. O sistema 14 possibilita
o desenvolvimento estrutural, tanto por comandos quanto por blocos de fluxogramas. J os
sistemas 6 e 15, destacados no campo Paradigmas da tabela (*), fazem uma abordagem
explcita ao paradigma orientado a objetos, com os conceitos principais (classes, mtodos,
atributos, objetos, heranas, polimorfismo e encapsulamento).
Quanto plataforma de execuo dos ambientes, possvel verificar que apenas os
sistemas 12, 14 e 15 so independentes, ou seja, no so limitados aos sistemas operacionais
(SOs) instalados nas mquinas em que esto sendo executados. Entretanto, o destaque (**) do
sistema 14 devido utilizao de arquivos JAR (Java Archive), ou seja, a independncia
possvel desde que o SO possua uma mquina virtual Java (JVM Java Virtual Machine)
instalada, possibilitando sua execuo standalone. J o sistema 13, tambm destacado (*),
mesmo executando na Internet, possibilitando a princpio uma independncia de SO,
necessariamente exige uma JVM instalada, permitindo aos navegadores executarem plug-ins
Java, ou seja, o sistema 13 , na verdade, um applet
50
Java. O sistema 15 o nico totalmente
independente, sem necessidade de instalaes opcionais ou execuo de plug-ins.
Com relao a licenas, apenas o sistema 3 necessita pagar pela licena de uso, tendo
porm, um perodo de 15 dias grtis, com algumas limitaes de uso, para avaliao. Os
sistemas 1, 2, 4, 5, 8, 9, 12, 13 so gratuitos, porm, no possuem seu cdigo-fonte
disponibilizado para a comunidade, diferentemente do restante dos sistemas, que alm de
gratuitos, possuem seu cdigo aberto.
Esta anlise possibilitou verificar caractersticas essenciais e importantes aos sistemas
educativos relacionados ao ensino de linguagens de programao, como o uso de uma base
pedaggica social interacionista, o contexto da POO e a independncia de plataformas. O
PuzzlEdu possui tais caractersticas e, dentre as propostas estudadas, o nico totalmente
independente de plataforma, podendo ainda ser executado a partir dos diversos dispositivos
com acesso Internet alm dos notebooks e PCs, como celulares e tablets. Por ter sua

50
Applets so programas Java que podem ser embutidos em documentos Hyper Markup Language (HTML) (i.
e., pginas da Web). Quando um navegador carrega uma pgina da Web que contm um applet, o applet
baixado para o navegador e comea a ser executado. (DEITEL e DEITEL, 2002, p. 136).


82

concepo gratuita e aberta, tambm possibilita um maior acesso por parte da comunidade.
Alm disso, por estar executando nas nuvens, suas dificuldades tcnicas inerentes aos
ambientes internos de informtica so totalmente abstrados nos inmeros data centers
espalhados ao redor do mundo, possibilitando um uso paralelo e elstico. Espera-se com isso
justificar sua construo e implantao, de forma a apoiar um dos inmeros nichos de
aplicao da educao, principalmente na aprendizagem, como a proposta da LaaS.

4.4 Tecnologias Utilizadas

A construo de todo o projeto do PuzzlEdu envolveu diversas tecnologias, desde a
parte de modelagem at a parte de desenvolvimento e controle de verso. Por ser concebido
com fortes perspectivas de crescimento e continuidade, todas as solues de tecnologias
utilizadas so atualizadas e atuais. Ainda, por tambm buscar uma maior abrangncia de
utilizao e distribuio, o PuzzlEdu foi concebido com cdigo aberto, ou seja, disponvel
para toda a comunidade, atravs de licena GPL
51
, utilizando-se tambm de tecnologias com
licenas semelhantes, de maneira a no proibir ou coibir sua utilizao. Espera-se para o
futuro contribuir ainda mais para comunidade, passando a disponibiliz-lo como um software
pblico brasileiro.
As ferramentas utilizadas no desenvolvimento do PuzzlEdu foram escolhidas com
base, alm dos conceitos do pargrafo anterior, nos objetivos da dissertao, ou seja, integrar
o desenvolvimento de um software com os objetivos educativos, e isso sendo disponibilizado
como servio para os usurio. Por no ser o foco desta dissertao, as principais e mais
relevantes tecnologias/ferramentas utilizadas no desenvolvimento do PuzzlEdu sero apenas
brevemente explicadas na lista de marcadores a seguir.
IDE Eclipse: projeto de cdigo aberto e gratuito, escrito em Java e desenvolvido
pela IBM, com rpida aceitao entre a comunidade de desenvolvedores de
sistemas, sendo um dos IDEs mais utilizados para desenvolvimento de software

51
General Public License Licena Pblica Geral. Detalhes em http://www.gnu.org/licenses/gpl.html. Acesso
em: junho de 2011.


83

para as mais variadas linguagens, haja vista empregar plug-ins com tal suporte e
ainda fornecer um forte apoio para o desenvolvimento baseado em Java
(GUERMEUR e UNRUH, 2010), (MURPHY, KERSTEN e FINDLATER,
2006). Sua escolha foi influenciada pelos plug-ins disponveis da Google para
esse IDE, de forma a facilitar o desenvolvimento de aplicaes para uso na sua
nuvem computacional;
Linguagem Java: linguagem de programao orientada a objetos desenvolvida
pela Sun Microsystems e bastante difundida ao redor do mundo (SILVEIRA,
2003). Sua escolha foi influenciada principalmente pela Plataforma como
Servio (PaaS) escolhida para implantao do PuzzlEdu, neste caso o Google
App Engine;
Google Web Toolkit (GWT): um conjunto completo de ferramentas
(framework) para desenvolvimento de complexas aplicaes Web baseadas em
AJAX
52
usando Java (GUERMEUR e UNRUH, 2010). gratuito e possui plug-
in para uso dentro do Eclipse. A utilizao do GWT facilita o desenvolvimento
de aplicaes para Web, plataforma base do PuzzlEdu;
SmartGWT
53
: um framework baseado em GWT com diversas bibliotecas de
widgets
54
disponveis para desenvolvimento das interfaces com o usurio,
facilmente integrvel aos IDEs de desenvolvimento, principalmente que utilizam
o GWT, como o Eclipse;
Google App Engine (GAE): uma plataforma e um SDK (Software
Development Kit Kit de Desenvolvimento de Software) para desenvolver e
hospedar aplicaes Web usando toda a infraestrutura e servidores da Google,
suportando os ambientes de execuo e SDKs das linguagens Java e Python
(ROCHE e DOUGLAS, 2009). Sua escolha levou em considerao a oferta de
cotas gratuitas generosas de espao e processamento dentro da nuvem

52
Asynchronous JavaScript and XML JavaScript e XML Assncronos. No uma linguagem de programao e
sim, uma tcnica para criao de pginas Web rpidas e dinmicas, realizando comunicaes com o servidor sem
carregar a pgina por inteira. Disponvel em: http://www.w3schools.com/ajax/default.asp. Acesso em: junho de
2011.
53
http://code.google.com/p/smartgwt/. Acesso em: junho de 2011.
54
Componentes grficos como janelas, botes, menus, cones, barras de rolagem e outros.


84

computacional da Google, alm da facilidade de integrao a partir de um plug-
in prprio para o Eclipse, neste caso, com o GWT;
BigTable: desenvolvido pela Google, um sistema de armazenamento
distribudo para gerenciamento de dados estruturados de larga escala e alto
desempenho (CHANG et al, 2008). A princpio, o usurio ao utilizar o PuzzlEdu
no ir armazenar nenhuma informao, porm, durante o desenvolvimento do
projeto, poder sentir a necessidade de salvar o estado atual para posterior
desenvolvimento e, nesse momento, as informaes so gravadas utilizando-se
essa tecnologia de armazenamento de dados;
MagicDraw: para a modelagem dos casos de uso e fluxo de execuo foi
utilizado o MagicDraw
55
, uma ferramenta para modelagem visual UML. Apesar
de no ser gratuito, possui licena disponvel somente para uso acadmico e no
comercial. Como para liberao do software ele no requerido, a questo da
licena no se torna relevante ao projeto nesse momento;
Microsoft Visio: utilizado para construo da arquitetura do PuzzlEdu, o Visio
56

um software para construo de diagramas tcnicos e profissionais, de fcil
manipulao, com diversos recursos para desenho. Por no ser gratuito, assim
como o MagicDraw, seu uso tambm no impeditivo para liberao do
software, tendo sido utilizado apenas para desenho da arquitetura;
Subversion: para controle de verses do PuzzlEdu, utilizou-se o Subversion, um
sistema prprio para controle de verso, gratuito e de cdigo aberto, feito para
gerenciar arquivos e diretrios, permitindo recuperar e verificar todas as verses
ao longo do desenvolvimento (COLLINS-SUSSMAN, FITZPATRICK e
PILATO, 2004). Todo o cdigo do PuzzlEdu foi hospedado
57
tambm na
infraestrutura da Google, no servio chamado de Google Code
58
, de acesso
pblico, possibilitando a comunidade interagir com os desenvolvedores do
software.

55
https://www.magicdraw.com/. Acesso em: junho de 2011.
56
http://office.microsoft.com/pt-br/visio/. Acesso em: junho de 2011.
57
http://code.google.com/p/puzzledu/. Disponibilizado gratuitamente pela Google.
58
http://code.google.com/. Acesso em: junho de 2011.


85

A opo por utilizar tais tecnologias e ferramentas, alm das perspectivas futuras e
liberdade de utilizao, foi de proporcionar maior seriedade e celeridade ao projeto. Durante o
processo de desenvolvimento, diversas ferramentas e tecnologias foram estudadas e avaliadas,
sempre com intuito de encontrar as melhores estratgias para o desenvolvimento, dentro das
condies e planejamentos do projeto. A isso se soma o estudo e adoo dos mais variados
processos de desenvolvimento, padres arquiteturais e avaliao do software e outros.

4.5 Modelagem Arquitetural do Software Educativo Proposto

Na literatura possvel encontrar diversos padres, modelos e estilos arquiteturais.
Sommerville (2003) comenta que um mesmo projeto de desenvolvimento de software pode
muitas vezes no utilizar um nico modelo ou estilo. Mesmo em modelos especficos, como
os do RUP
59
, apontam para tpicos opcionais e, consequetemente, adaptaes ao longo de
todo o projeto. A arquitetura do sistema deve proporcionar um entendimento estrutural para
seus analistas e desenvolvedores. No modelo de viso 4+1 (KRUCHTEN, 1995), o objetivo
delinear o funcionamento do software em diversas perspectivas para diversos stakeholders
(clientes, desenvolvedores, gerentes e outros), sendo estas perspectivas definidas por vises:
viso lgica (logical view), viso de processo (process view), viso fsica (physical view),
viso de desenvolvimento (development view) e casos de uso (use cases ou scenarios).
A documentao do RUP 2002.05.00
60
, explica que algumas dessas vises,
dependendo do propsito, do porte, do domnio e de outros fatores, podem ser ramificadas ou
mesmo opcionais. Na anlise do arquitetural do PuzzlEdu foram construdos algumas vises
com intuito de clarificar sua infraestrutura, conforme explicados nas subsees a seguir.


59
O RUP (Rational Unified Process) um processo de engenharia de software que fornece uma disciplinada
abordagem para atribuir tarefas e responsabilidades dentro de uma organizao de desenvolvimento, tendo como
objetivo garantir a produo de software de alta qualidade (IBM, 2003).
60
Disponvel em: http://www.wthreex.com/rup/portugues/index.htm. Acesso em: junho de 2011.


86

4.5.1 Casos de Uso

Eriksson, Penker et al (2004) explicam que um diagrama de casos de uso mostra um
nmero de atores externos (usurios do sistema) e suas conexes com as funcionalidades que
o sistema oferece, ou seja, definem os requisitos funcionais do sistema. Para o diagrama de
casos de uso desta proposta, exibido na Figura 4.3, apenas os requisitos funcionais essenciais
foram modelados, a fim de facilitar o entendimento do sistema.

Figura 4.3 Diagrama de Casos de Uso do PuzzlEdu.
Os atores so o usurio e o interpretador do sistema. O usurio cria as classes, l os
dados, salva e imprime o projeto e executa o programa. O interpretador quem ir gerar os
resultados com base nas estruturas formadas pelo aluno, sendo dependente das operaes
utilizadas no momento da implementao de um mtodo. Criar instncias, mtodos e atributos
so dependentes da criao de uma classe, da sua dependncia de esteretipo extend. Por
haver a possibilidade de se ter atributos de instncia (ou de classe) e atributos de mtodos, h
tambm uma relao extend entre os casos de uso Criar mtodos e Criar atributo. O


87

usurio quem escreve os dados no sistema, podendo alterar os valores dos atributos. A
descrio completa de cada Caso de Uso est no Apndice B.

4.5.2 Infraestrutura Fsica

O PuzzlEdu foi concebido para utilizar toda a infraestrutura de cloud computing e para
isso utilizou-se da infraestrutura de hardware disponibilizada por empresas relacionadas a esse
setor, neste caso, a empresa Google, com sua soluo de plataforma de desenvolvimento e
infraestrutura para implantao do software atravs do GAE. Na Figura 4.4 representa-se um
modelo da infraestrutura fsica com a disposio das entidades envolvidas.

Figura 4.4 Diagrama de infraestrutura fsica do PuzzlEdu.
O usurio, atravs de diferentes dispositivos, pode acessar a aplicao PuzzlEdu
disponvel na nuvem. O software comunica-se com os datacenters da Google atravs da
infraestrutura disponibilizada pela Empresa, tendo sido disponibilizada pelo GAE, abstraindo
diversas preocupaes como portabilidade, disponibilidade, segurana, integrao dos dados e
persistncia das informaes, haja vista toda a infraestrutura de hardware ser disponibilizada
e mantida pela Google.

4.5.3 Processos de Requisies de Operaes

Apresenta-se na Figura 4.5 o modelo para o processo de requisio de operaes na
aplicao.


88


Figura 4.5 Diagrama de Requisies de Operaes do PuzzlEdu.
Os diversos dispositivos operam no PuzzlEdu atravs da Internet. O aplicativo, ao
receber a solicitao, se integra ao GAE, onde so providos segurana e persistncia, quando
requisitado, dos dados da aplicao para possibilidade da execuo da operao solicitada.

4.5.4 Mdulos

A arquitetura do PuzzlEdu foi dividida em cinco mdulos que cooperam para o
perfeito funcionamento da aplicao. Representa-se na Figura 4.6 cada um dos mdulos, com
funes bem definidas dentro do software.

Figura 4.6 Diagrama de mdulos do PuzzlEdu.
O Mdulo de Orientao a Objeto (MOO) responsvel por possibilitar o tratamento
das realizaes das operaes referentes ao paradigma de orientao a objetos. Dependente
dele esto os mdulos Estrutural (ME), responsvel pela criao e manipulao das atividades
estruturais do processo (ex.: estruturas de seleo e repetio), Gerenciamento (MG),
responsvel pelo gerenciamento do contedo do projeto desenvolvido pelo usurio (ex.:


89

execuo e impresso), Interpretao (MI), responsvel pela interpretao das operaes
realizadas nos MOO e ME executando-as de forma sequencial e automaticamente em segundo
plano, e Interface Grfica (MIG), responsvel pela definio e disponibilidade das interfaces
grfica de todas as funcionalidades de integrao com o usurio. Todas as entradas de dados
sero realizadas atravs do MIG.

4.5.5 Modelo de Arquitetura Aplicado

O PuzzlEdu foi construdo utilizando a arquitetura MVC (Model, View, Controller
Modelo, Viso e Controlador), com trs componentes distintos: o modelo, representando o
objeto da aplicao; a viso, como a apresentao na tela; e o controlador, quem define a
maneira como a interface do usurio reage s entradas do usurio (KRASNER e POPE,
1988), (GAMMA et al, 1995). Esse padro indicado para ajudar sistemas com alta interao
entre usurio e mquina, conhecidos como por Interactive Systems Sistemas Interativos
(ALBIN, 2003). Sua adoo tende a facilitar a interoperabilidade dos componentes, a
manuteno, o isolamento e distribuio dos mdulos. Assim, na Figura 4.7 exibido o
modelo arquitetural do PuzzlEdu.

Figura 4.7 Diagrama de arquitetura em camadas do PuzzlEdu.
As camadas de apresentao e persistncia so diretamente interligadas
infraestrutura da GAE, tornando-se assim padro para todo o sistema. A camada de negcios
concentra toda a regra funcional da aplicao definida pelos mdulos MG, MOO, ME e MI. A
camada de apresentao definida pelo MIG, sendo dependente com a camada de negcios a


90

partir do MOO, integrando-se com o usurio. A camada de persistncia abstrada pelo GAE,
que prov todas as bibliotecas para armazenamento das informaes na nuvem.

4.6 Funcionalidades do PuzzlEdu

Ao acessar o endereo onde o PuzzlEdu est hospedado
61
, o usurio depara-se com a
tela inicial, conforme exibido na Figura 4.8.

Figura 4.8 Tela Inicial do PuzzlEdu.
O PuzzlEdu possui um conjunto de janelas, reas e botes especficos, com objetivos
diferentes. Para melhor entendimento, esse conjunto foi numerado e so explicadas a seguir:
1. Classes: janela onde as classes so criadas, alteradas e excludas. Na execuo
inicial do PuzzlEdu (ou quando a pgina atualizada), verifica-se a existncia de
uma classe nomeada como HelloWorld. O motivo disso proporcionar ao
usurio a familiarizao com o software e inicializ-lo nos conceitos propostos.
Nota-se tambm uma classe em um nvel superior nomeada como Object
(melhor visualizado na Figura 4.9). A classe Object , em muitas linguagens, a
classe no topo da hierarquia de classes
62
. Todas as classes herdam direta ou
indiretamente dela. Isso possibilita ao professor introduzir os primeiros
conceitos de herana, um dos fundamentos bsicos da orientao a objeto;

61
http://testpuzzledu.appspot.com/. Domnio da infraestrutura na Google.
62
http://download.oracle.com/javase/tutorial/java/IandI/objectclass.html. Acesso em: junho de 2011.


91


Figura 4.9 Janela onde exibida a rvore de classes.
2. Mtodos/Interface: guia com as opes Mtodos e Interfaces, melhor
visualizada na Figura 4.10. Na guia Mtodos ficam os atributos e mtodos da
classe selecionada na janela Classes. Nesta rea possvel remover atributos e
mtodos e inserir parmetros aos mtodos, clicando-se com boto direito do
mouse para acessar o menu suspenso com tais opes. Na guia Interfaces
encontram-se as interfaces que a classe selecionada est implementando,
possibilitando ao professor introduzir conceitos de Interfaces aos alunos. Nesta
rea h possibilidade apenas de remover a interface associada classe
selecionada;

Figura 4.10 Guia dos mtodos e interfaces.
3. Execuo/Manipulao: essa a rea onde as classes sero manipuladas, ou
seja, o corpo do programa ou projeto a ser desenvolvido. Dependendo da
manipulao realizada, essa tambm a rea de execuo, como por exemplo,
fazer um objeto mover-se de um lado a outro;
4. Console: onde alguns resultados so exibidos durante a execuo dos programas
construdos na rea de execuo;
5. Script: guia onde ser exibida a pilha de comandos de manipulao realizada
pelo usurio. O PuzzlEdu utiliza a estratgia de execuo de comandos atravs
de scripts, ou seja, o usurio faz a manipulao desejada sobre um objeto (ou
instncia) em particular, e cada manipulao realizada vai sendo empilhada
nessa guia, sendo executado posteriormente aps clique no boto especfico para
tal. Cada objeto possui seu prprio script e, na execuo destes, utiliza-se o
conceito de threads (processos sendo executados concorrentemente);


92

6. Botes de comandos: so sete botes com aes distintas dentro do PuzzlEdu,
sendo melhor visualizados na Figura 4.11. Esses botes so responsveis por
criar novos projetos, salvar o estado atual, executar a pilha de comandos dos
scripts, pausar ou parar (cancelar) uma execuo em andamento, imprimir o
cdigo-fonte e acessar a documentao do software.

Figura 4.11 Botes com aes especficas.
Observando-se da esquerda para direita, o cone com um sinal de adio
representa a ao de criar um novo projeto em branco, sem o programa exemplo
HelloWorld. O cone seguinte, no formato de um disquete, possui a ao de
salvar o estado atual do projeto. Para salvar, necessrio possuir uma conta de
usurio da Google. Os trs botes seguintes tem as aes de executar uma pilha
de comandos, pausar o programa em execuo e parar (cancelar) a execuo do
programa. O boto com cone de uma impressora abre uma janela com o cdigo-
fonte do programa em construo (Figura 4.12), separando as classes em abas,
permitindo escolher a classe a ser impressa.

Figura 4.12 - Janela para impresso do cdigo fonte.
O ltimo boto, com uma imagem de uma interrogao, permite acesso janela
de ajuda com a documentao do software, em uma estrutura de rvore de
tpicos, conforme pode ser visualizado na Figura 4.13.


93


Figura 4.13 - Janela de ajuda com a documentao do software.
Algumas outras opes esto disponveis aps o clique com o boto direito do mouse,
como o caso na janela de Classes, conforme visualizada na Figura 4.14.

Figura 4.14 Janela Classes para criao e manuteno de classes, atributos e mtodos.
Na janela Classes encontra-se a classe Object, tambm chamada de superclasse ou
classe pai, e a partir dela criam-se novas classes. A classe HelloWorld uma classe exemplo
criada na inicializao do PuzzlEdu (ou na atualizao) para ajudar aos usurios iniciantes a
manusear o software ou conhecer e entender conceitos iniciais da orientao a objeto. As
classes com cones brancos so classes abstratas e as com cones verdes, concretas. Ao clicar
com o boto direito do mouse, surge um menu suspenso com as opes:
Criar Classe: cria uma classe sem atributos ou mtodos (exceto se a classe
Object possuir) dentro da classe selecionada. Ao clicar nessa opo, uma caixa
de mensagem exibida para digitao do nome da classe e uma opo para
marcar caso a classe a ser criada seja abstrata. Ver Figura 4.15 para melhor
entendimento;


94


Figura 4.15 Caixa de mensagem para criao de classes.
Alterar Classe: possibilita a alterao do nome da classe e da opo de ser
abstrata ou no. A caixa que se abre semelhante exibida na Figura 4.15,
exceto pelo ttulo, que informa ser especfica para alterar uma classe;
Excluir Classe: faz a remoo da classe da rvore de classes, juntamente com
seus atributos e mtodos. Antes de executar a remoo, o PuzzlEdu solicita
confirmao da ao;
Criar Mtodo: aps o clique nessa opo, abre-se uma caixa de mensagem (ver
Figura 4.16) para definir o nome do mtodo a ser criado, seu tipo e
modificadores de acesso e retorno. Os parmetros de entrada so criados aps a
criao dos mtodos, na aba de Mtodos/Interfaces, no item Inserir Parmetro do
menu suspenso;

Figura 4.16 Caixa de mensagem para criao de mtodos.
Criar Atributo: uma caixa de mensagem exibida para digitao do nome do
atributo, seu tipo (cadeia de caracteres, inteiro, ponto flutuante ou lgico), o tipo
de acesso (privado, pblico, protegido ou padro), a opo de criar seus mtodos
de acesso (Getter e Setter) e um valor padro inicial (se for o caso). Essa caixa
representada pela Figura 4.17;


95


Figura 4.17 Caixa de mensagem para criao de atributos.
Implementar Interface: exibe uma caixa com as interfaces disponveis (ver
Figura 4.18) e para cada uma, seus mtodos a serem implementados. O usurio
seleciona uma ou mais interfaces na lista e confirma para que sejam
implementadas pela classe selecionada;

Figura 4.18 Caixa de mensagem com a lista de interfaces para seleo.
Alterar Imagem: toda classe possui uma imagem padro atribuda. Em algumas
situaes, o usurio pode querer alterar essa imagem como forma de melhorar o
aspecto ou mesmo incrementar o projeto. Por exemplo, atribuir a imagem de um
cachorro para uma classe com nome Cachorro. Por estar na nuvem, alm da
possibilidade de escolher uma imagem no prprio computador, o usurio pode
optar por selecionar uma imagem diretamente da Internet. Para isso, foi utilizada
a biblioteca de pesquisa de imagens da Google, haja vista j vir incrementado
nas bibliotecas do GAE;
Criar Instncia: cria uma instncia da classe selecionada para manipulao.
Depois de criado, o objeto fixado no canto superior esquerdo da rea de
execuo/manipulao.
Aps a criao de uma instncia da classe, esta exibida na rea de
execuo/manipulao para ser definido seus comportamentos, inseridos na pilha de


96

comandos e execuo posterior. Essa manipulao realizada atravs de um menu suspenso
ao clicar-se com o boto direito do mouse no objeto da classe (instncia), conforme exibido na
Figura 4.19.

Figura 4.19 Menu suspenso para seleo dos mtodos para execuo.
Esse menu composto por trs partes: no topo com as estruturas de seleo (condio)
e repetio; no meio com os mtodos criados para cada classe; e na parte de baixo com a
opo para remoo da instncia. Quando o item Condio... do menu selecionado,
aparecem opes prprias para estruturas de seleo, como a condio de teste, os operadores
relacionais ou aritmticos e as opes de fechamento ou aninhamento de condies. Para o
item de Repetio..., apenas a estrutura de repetio com varivel de controle est
implementada nessa verso, sendo possvel apenas a repetio dos mtodos da classe. Assim,
informa-se um nmero de repeties a serem executadas e qual mtodo deve ser executado.
Em verses futuras, essa e outras funcionalidades sero ampliadas e/ou melhoradas.
Essas so as principais funcionalidades do PuzzlEdu. importante notar
principalmente alguns dos conceitos bsicos de orientao a objetos que podem ser
visualizados pelos usurios ou mesmo abordados pelo professor, mesmo longe das salas de
aula, como classes, atributos, mtodos, instncias, herana e interface. Tais aspectos
possibilitam o aprendizado da programao orientada a objetos de maneira ldica, com
praticamente nenhuma manipulao de cdigo.

4.7 Sumrio do Captulo



97

O PuzzlEdu, na essncia, tem por objetivo principal prover o aprendizado como um
servio disponibilizado comunidade. Para isso, utilizou-se de ferramentas e tecnologias
inerentes cloud computing, tanto no seu desenvolvimento quanto na sua hospedagem,
herdando diversos aspectos j tratados no Captulo 3. Seu foco centrou-se no apoio ao ensino
e aprendizado de linguagens de programao orientadas a objetos, onde seu ensino visto
como um dos maiores desafios do sculo. E sendo assim, tal desafio configurou-se como uma
grande motivao para seu desenvolvimento.
Seu desenvolvimento levou em considerao aspectos pedaggicos, tipos e
classificaes especficas para sistemas educativos, anlise comparativa com outros da mesma
linha e aspectos da engenharia de software. Sua inteno sempre estar disponvel para a
comunidade, sendo entregue como um software livre e de cdigo aberto, disponibilizando
servios de modo fcil, prtico, sem burocracia, licena ou limitaes tecnolgicas, haja vista
estar utilizando-se de uma infraestrutura elstica e global, sendo entregue como servio
comunidade e promovendo a LaaS como um insumo benfico, eficiente e construtivo.
O prximo captulo trata da avaliao do PuzzlEdu utilizando-se uma metodologia
consolidada, com diversos casos de sucesso. Espera-se com essa avaliao buscar resultados
satisfatrios para justificar sua construo e, consequentemente, evoluo. Alm disso,
espera-se comprovar sua eficcia ante a proposta maior, de prover educao como servio.


98

5 Avaliao da Proposta

No desenvolvimento de software importante garantir que se exeram as principais
especificaes propostas, atendendo s necessidades desejadas dos usurios. Com sistemas
educativos importante verificar se eles resolvem o problema de ensino/aprendizagem
motivado para sua construo, conforme Campos, Campos e Rocha (1996, p. 6) comentam:
A validao de um software educacional uma etapa de fundamental importncia para que
seja assegurado que os objetivos e metas propostos foram realmente alcanados e que o
software soluciona o problema de ensino aprendizagem que motivou seu desenvolvimento.
Gomes A. S. (2005) explica que h dois conjuntos de abordagens para avaliao de
aplicaes educativas: utilizando tcnicas de avaliao heurstica ou atravs do uso de guia de
recomendao ou diretrizes; e utilizando modelos cognitivos para analisar principalmente a
qualidade da interface das aplicaes. Aspectos de qualidade so essenciais em qualquer tipo
de software, porm, no contexto educacional, imprescindvel a verificao de questes
culturais, ticas, filosficas e psicopedaggicos que influenciaro na avaliao (CAMPOS,
CAMPOS e ROCHA, 1996). Assim, dentro desses conjuntos de abordagens, encontram-se
diversas tcnicas e estratgias de anlise para avaliao de software educativo com aspectos
diferenciados para os mais diversos tipos, por exemplo, pode-se citar (SILVA, 2009):
Anlise por critrios: onde o software analisado segundo critrios bsicos. O
artigo de Silva (2009) cita alguns autores que definiram um conjunto de
caractersticas avaliativas, como funcionalidade, usabilidade, portabilidade e
outros;
Anlise da qualidade: analisa e verifica a qualidade do software como um todo.
Um exemplo a metodologia GQM (Goal/Question/Metric
Objetivo/Questo/Mtrica), orientada a objetivos, que pode ser utilizada para
mensurar a qualidade do software;
Anlise da ergonomia: verifica o software quanto sua ergonomia ou utilizao,
realizando uma inspeo de conformidade ergonmica do software. Um
exemplo a metodologia TICESE (Tcnica de Inspeo de Conformidade
Ergonmica de Software Educacional);


99

Anlise de tarefas: analisa no ponto de vista do usurio, quando executando
sesses da aplicao. Um exemplo o modelo GOMS (Goals, Operators,
Methods, and Selection Rules Objetivos, Operadores, Mtodos e regras de
seleo), analisando tarefas baseadas em modelos do comportamento humano;
Anlise instrumental: com foco no usurio, verifica as transformaes do seu
aprendizado e comportamento em um determinado espao de tempo, em um
aprendizado terico construtivista. Um exemplo seria a abordagem instrumental
de Rabardel (1995 apud GOMES A. S., 2005, p. 1).
importante frisar que a validao do PuzzlEdu est relacionada aos objetivos da
disponibilizao da aprendizagem como um servio para a comunidade do que
especificamente relacionada usabilidade e ergonomia de um software educativo em
particular. Desta forma, por ser uma metodologia genrica para orientar a elaborao e
execuo de programas de avaliao da qualidade de produtos e processos (SILVA, 2009),
esta dissertao utilizou o GQM como forma de mensurar a qualidade do sistema. possvel,
portanto, a partir da validao de um software para aprendizagem nas nuvens, correlacionar
com o objetivo geral desta dissertao. Este captulo explica brevemente a abordagem GQM e
suas principais etapas, aplicando posteriormente ao PuzzlEdu, e discutindo os resultados
obtidos e apresentados.

5.1 A Abordagem GQM

O GQM (Goal/Question/Metric Objetivo/Questo/Mtrica) um mecanismo para
definio e avaliao de um conjunto de objetivos (metas) operacionais atravs de medies,
representando uma abordagem sistemtica para adaptar e integrar tais objetivos com base nas
necessidades particulares do projeto (BASILI, 1992). Atravs dos objetivos definidos
refinam-se questes, tendo as mtricas como fornecedoras de parmetros e informaes para
responder tais questes (BASILI, 1992).
Wangenheim (2000) define alguns princpios para utilizao do GQM, sendo os
principais: (i) a tarefa de anlise precisa ser especificada atravs de uma meta/objetivo de
mensurao; (ii) medidas precisam ser derivadas de uma forma top-down baseada em metas e


100

perguntas; (iii) as medidas precisam ter um fundamento lgico subjacente; e (iv) os dados
coletados sobre as medidas precisam ser interpretados de forma bottom-up. Esse princpio
pode ser representado pela Figura 5.1.

Figura 5.1 Princpio do GQM.
Fonte: Adaptado de (BASILI, 1992).
Silva (2009) comenta que o objetivo do GQM prover uma metodologia genrica para
guiar a elaborao e execuo de programas de avaliao da qualidade de produtos e
processos na rea de Engenharia de Software, tendo como principal caracterstica a
capacidade de adaptao aos objetivos e particularidades do programa de avaliao a ser
realizado (GLADCHEFF, SANCHES e SILVA, 2001). Essa foi uma das principais razes
para sua escolha no processo de avaliao do PuzzlEdu. Exibem-se na Figura 5.2 as trs
etapas, com suas respectivas fases, do processo GQM (SARAIVA, 2006).

Figura 5.2 Etapas do processo GQM.
Fonte: Adaptado de (BASILI, 1992).
Saraiva (2006) explica que na etapa de Desenvolvimento do Plano GQM realizada a
identificao dos objetivos a serem alcanados, a construo das questes e mtricas, e a
elaborao do plano de avaliao. Na Execuo do Plano de Avaliao a coleta de dados
includa e posteriormente a anlise e interpretao dos dados, de acordo com os objetivos


101

definidos na etapa anterior. Na ltima etapa, Preparao dos Resultados, elabora-se um
documento final com todas as informaes para futuras consultas e armazenamento dos
resultados.
O GQM requer diversos pontos de anlise e estudo, devendo ser adaptado s
necessidades de cada projeto. Devido sua generalidade para orientar a elaborao e execuo
de programas de avaliao da qualidade, a proposta desta dissertao foi submetida aos seus
termos, sendo descrito seus passos e resultados na prxima seo.

5.2 Aplicao do GQM na Avaliao da Proposta do PuzzlEdu

Para aplicao do GQM alguns passos devem ser seguidos. As etapas do processo
GQM foram dispostas nas prximas subsees.

5.2.1 Desenvolvimento do Plano GQM

Nesta etapa do plano o objetivo elaborar um instrumento de avaliao de forma a
verificar a qualidade do PuzzlEdu e obter um resultado satisfatrio para sua avaliao. Apesar
de no focar em usabilidade, Gladcheff, Sanches e Silva (2001) comentam que essa
caracterstica tcnica est relacionada a quo bem os usurios podem usar a funcionalidade
definida pelo sistema (GLADCHEFF, SANCHES e SILVA, 2001, p. 8), tornando-se uma
caracterstica importante de ser verificada devido possibilidade de uso em ambientes de
ensino/aprendizagem. A seguir, a descrio das fases desta etapa aplicada ao PuzzlEdu:
Pr-Estudo: a anlise est focada no software disponibilizado com o propsito de
caracteriz-lo e melhor-lo com relao aos aspectos do ensino de conceitos bsicos
de OO sob trs pontos de vista: (i) alunos sem conhecimentos de POO, mas com
algum conhecimento em programao estruturada (ou sequenciada), nomeado como
Grupo 1; (ii) alunos com conhecimentos de POO, nomeado como Grupo 2; e (iii)
professores de POO, nomeado como Grupo 3;


102

Elaborao do Plano GQM: nesta fase define-se:
o Objetivo:
Objeto de estudo: PuzzlEdu (produto de software educativo);
Prpositos: verificar a eficincia e qualidade no processo de ensino e
aprendizagem de conceitos bsicos da OO;
Foco de qualidade: caractersiticas tcnicas e educativas;
Ponto de vista: alunos e professores;
Ambiente: ensino-aprendizagem atravs do software;
o Conjunto de questes: Foram elaborados trs conjuntos de questes um
para alunos sem nenhum conhecimento de POO (mas com algum
conhecimento em programao estruturada ou sequenciada), um para alunos
com conhecimentos de POO e um para professores de POO;
o Mtricas: As respostas s questes objetivas foram: Sim, No e Precisa
Melhorar. Algumas questes tiveram gradao de 0 a 10, onde 0 indica
Nenhuma Dificuldade e 10 Dificulade Excessiva. Em caso de questes
subjetivas, realizou-se leitura das respostas para avaliao e medio;
Desenvolvimento do Plano de Avaliao: o plano de avaliao foi composto por:
o Especificao de quem pode usar e como deve usar;
o Identificao do avaliador e nvel (seleo entre as trs opes possveis);
o Dados para acesso ao software;
o Procedimentos para realizao da avaliao.
A partir dessas definies, foram elaborados trs conjuntos de questes de acordo com
os objetivos a serem alcanados e sob o ponto de vista de alunos (Grupo 1 e Grupo 2) e
professores (Grupo 3). A metodologia GQM orienta definir para cada objetivo, o propsito, o
aspecto, o objeto e o ponto de vista. Foram definidos seis objetivos para o Grupo 1 e 5
objetivos para o Grupo 2 e Grupo 3, com algumas questes semelhantes aos trs grupos. Cada
objetivo e seuas respectivas questes sero abordados nas prximas subsees.
5.2.1.1 Verificar Conceitos de OO

O primeiro objetivo, descrito na Erro! Fonte de referncia no encontrada., tem o
propsito de verificar os conceitos de OO sob o ponto de vista dos trs grupos de avaliadores.


103

Tabela 5.1 Objetivo para verificar conceitos de OO.
Objetivo:
G1
Propsito: Verificar Objeto: Orientao a Objetos (OO)
Aspecto: Conceitos Ponto de vista: Grupos 1, 2 e 3
Questo Q1 A descrio das definies dos conceitos e caractersticas relativas OO apresentados
so claros e entendveis?
Mtrica M1 Avaliao objetiva do aluno.
Questo Q2 Os conceitos e caractersticas definidos so claros e objetivos?
Mtrica M2 Avaliao objetiva do aluno.
Questo Q3 Foi mostrado corretamente como fazer uma herana entre classes?
Mtrica M3 Avaliao objetiva do aluno.
Questo Q4 O conceito de classes abstratas e concretas foi respeitado?
Obs.: Relacionado ao manuseio desses tipos de classes.
Mtrica M4 Avaliao objetiva do aluno.
Questo Q5 O uso de Interfaces foi claro?
Mtrica M5 Avaliao objetiva do aluno.
Questo Q6 A manipulao dos comportamentos e estados dos objetos foi satisfatria?
Mtrica M6 Avaliao objetiva do aluno.
Questo Q7 Os principais conceitos e caractersticas do paradigma apresentados na ferramenta esto
claros e facilitam a assimilao?
Mtrica M7.1 Avaliao objetiva do professor.
M7.2 Avaliao subjetiva do professor.
Questo Q8 Os conceitos apresentados esto corretos?
Mtrica M8.1 Avaliao objetiva do professor.
M8.2 (Conccitos corrctos Conccitos incorrctos) 1uu
Conccitos corrctos

Objs: % de corretude.

A questo Q1 deve ser respondida tanto pelos avaliadores do Grupo 1, quanto pelos
avaliadores do Grupo 2. As questes Q3 a Q6 so especficas ao Grupo 2 e as questes Q7 e
Q8 so especficas ao Grupo 3. Cada questo possui a mtrica a ser utilizada para avaliao,
conforme explicado anteriormente.

5.2.1.2 Verificar Usabilidade da Interface com o Usurio



104

A Erro! Fonte de referncia no encontrada. trata do objetivo de verificar o aspecto
da usabilidade da interface do software com o usurio, sob o ponto de vista dos trs grupos de
avaliadores.
Tabela 5.2 Objetivo para verificar a usabilidade da interface com o usurio.
Objetivo:
G2
Propsito: Verificar Objeto: Interface com o usurio
Aspecto: Usabilidade Ponto de vista: Grupos 1, 2 e 3
Questo Q1 fcil perceber o que fazer quando no primeiro acesso ferramenta?
Mtrica M1 Avaliao objetiva do aluno.
Questo Q2 Os textos apresentados em menus, caixas de texto, dicas, botes, cones etc., so claros?
Mtrica M2 Avaliao objetiva do aluno.
Questo Q3 A ferramenta oferece documentao de fcil entendimento?
Mtrica M3 Avaliao objetiva do aluno.

A questo de usabilidade, apesar de no ser o foco da proposta, importante para
verificar se as funcionalidades esto sendo bem utilizadas pelos usurios. Esse objetivo
comum aos trs grupos de avaliadores, tendo todas as questes semelhantes.

5.2.1.3 Verificar Eficincia do PuzzlEdu
Dentro do contexto desta avaliao, verificar a eficincia do PuzzlEdu quanto ao
processo de ensino e aprendizagem dos conceitos bsicos da OO, significa verificar se tais
conceitos so abordados e apresentados de maneira correta aos usurios. Espera-se atingir esta
meta atravs da interao com o software, tanto atravs da leitura de conceitos quanto com a
manipulao de tais conceitos na construo dos programas. Ser eficiente cumprir com o
que prometido dentro das dificuldades acerca da OO e do prprio software. Na Erro! Fonte
de referncia no encontrada. esto as questes e mtricas para essa verificao sob o ponto
de vista dos trs grupos.
Tabela 5.3 Objetivo para verificar a eficincia do PuzzlEdu.
Objetivo:
G3
Propsito: Verificar Objeto: Ferramenta
Aspecto: Eficincia Ponto de vista: Grupos 1, 2 e 3
Questo Q1 As funcionalidades so executadas em um tempo aceitvel?
Mtrica M1 Avaliao objetiva do aluno.
Questo Q2 A ferramenta possibilita a aprendizagem correta dos conceitos de OO?
Mtrica M2 Avaliao objetiva do aluno.


105

Questo Q3 A ferramenta proporciona o uso correto dos conceitos de OO?
Mtrica M3 Avaliao objetiva do aluno.
Questo Q4 A ferramenta proporciona ao aluno o acesso correto aos conceitos de OO?
Mtrica M4.1 Avaliao objetiva do professor.
M4.2 Avaliao subjetiva do professor.

A questo Q1 foi apresentada aos trs grupos de avaliadores de forma a verificar se as
funcionalidades so executadas a contento. Por ser uma aplicao que funciona na Web,
muitos processos necessitam de troca de informaes entre o servidor e a mquina do cliente,
podendo gerar alguma demora nas requisies, mesmo utilizando tecnologias que aumentam
o dinamismo e a interao. A questo Q2 especfica ao Grupo 1 e busca avaliar se os
conceitos de OO esto sendo apresentados de forma a facilitar o aprendizado. A questo Q3
especfica ao Grupo 2, haja vista seus integrantes j deterem conhecimentos acerca dos
conceitos de OO. A questo Q4 especfica ao Grupo 3 e avalia se o software proporciona
aos alunos os conceitos de OO de maneira mais pedaggica, facilitando o aprendizado.

5.2.1.4 Verificar as Funcionalidades do PuzzlEdu

Na Erro! Fonte de referncia no encontrada. esto as questes e mtricas para
verificar as funcionalidades do Puzzledu sob o ponto de vista dos trs grupos.
Tabela 5.4 Objetivo para verificar as funcionalidades do PuzzlEdu.
Objetivo:
G4
Propsito: Verificar Objeto: Ferramenta
Aspecto: Funcionalidades Ponto de vista: Grupos 1, 2 e 3
Questo Q1 Foi possvel imprimir o cdigo-fonte gerado sem dificuldades?
Mtrica M1 Avaliao objetiva do aluno.
Questo Q2 Foi possvel salvar projetos sem dificuldades?
Mtrica M2 Avaliao objetiva do aluno.
Questo Q3 Foi possvel carregar projetos salvos sem dificuldades?
Mtrica M3 Avaliao objetiva do aluno.
Questo Q4 Qual o nvel de dificuldade para desenvolver uma aplicao bsica?
Mtrica M4 Avaliao objetiva com gradao variando de 0 a 10, onde 0 significa nenhuma
dificuldade e 10 dificuldade excessiva.
Questo Q5 Qual o nvel de dificuldade para desenvolver uma aplicao com nvel maior de
complexidade?


106

Mtrica M5 Avaliao objetiva com gradao variando de 0 a 10, onde 0 significa nenhuma
dificuldade e 10 dificuldade excessiva.
Questo Q6 Foi possvel desenvolver algum programa utilizando-se dos conceitos e caractersticas
bsicas de OO?
Mtrica M6.1 Avaliao objetiva do professor.
M6.2 Avaliao subjetiva do professor.

Algumas funcionalidades so importantes e necessrias em determinadas situaes,
como o caso da possibilidade de imprimir o trabalho realizado. Apesar de ser um servio a
ser consumido, primeira vista no haveria necessidade de salvar ou carregar os projetos
construdos no software. Mas para no perder o que foi feito, evitando retrabalho, essas
funcionalidades tornam-se necessrias. De forma a evitar modelar um banco de dados
especfico para guardar essas informaes, e ainda para evitar que o usurio tenha que fazer
um cadastro dentro do PuzzlEdu, utilizou-se as prprias contas dos usurios dos servios da
Google, abstraindo todo esse processo. As outas funcionalidades do PuzzlEdu so inerentes
ao prprio desenvolvimento da POO e, como forma de avalia-las, utilizou-se a mtrica de
gradao por nveis de dificuldade, conforme explicado anteriormente.
As questes Q1 a Q3 foram aplicadas aos trs grupos de avaliadores. A questo Q4 foi
aplicada aos Grupos 1 e 2 e as questes Q5 e Q6 foram aplicadas aos Grupos 2 e 3,
respectivamente.

5.2.1.5 Verificar a Qualidade do PuzzlEdu

No contexto da verificao da qualidade quanto ao processo de ensino e aprendizagem
dos conceitos bsicos da OO, espera-se verificar se o software satisfaz a necessidade dos
usurios de assimilao dos conceitos. Ter qualidade ter capacidade de satisfazer as
exigncias dos usurios do PuzzlEdu.
Na Erro! Fonte de referncia no encontrada. esto as questes e mtricas para
verificar as funcionalidades do Puzzledu, apenas sob o ponto de vista dos grupos 1 e 2.
Tabela 5.5 Objetivo para verificar a qualidade do PuzzlEdu sob o ponto de vista dos alunos.
Objetivo:
G5
Propsito: Verificar Objeto: Ferramenta
Aspecto: Qualidade Ponto de vista: Grupos 1 e 2


107

Questo Q1 Voc retornaria a utilizar essa ferramenta para tirar dvidas conceituais de OO?
Mtrica M1 Avaliao objetiva do aluno.
Questo Q2 Quais suas observaes e sugestes acerca da ferramenta?
Mtrica M2 Avaliao subjetiva do aluno.
Questo Q3 Voc indicaria essa ferramenta a outros alunos para auxiliar no aprendizado dos
conceitos de OO?
Mtrica M3 Avaliao objetiva do aluno.

Uma boa forma de saber se o software tem qualidade, se poderia ser utilizado
novamente em outras ocasies ou se seria indicado para uso por outros usurios. Desta forma,
as questes Q1 e Q3 abordam exatamente isso, sendo apresentadas aos Grupos 1 e 2,
respectivamente. A questo Q2 tem a inteno de verificar qualquer outra observao ou
necessidade encontrada pelos avaliadores e, por isso, apresentada aos trs grupos de
avaliadores.
Os professores foram fundamentais nesse processo de avaliao do PuzzlEdu pois
puderam trazer ainda mais contribuies pedaggicas e conhecimentos tcnicos, haja vista a
experincia em sala de aula. Por esse motivo, vrias questes dos questionrios contaram
tambm com um espao para comentrios acerca do questionamento proposto, de forma a
possibilitar e efetivar suas contribuies. Apesar de ter o mesmo objetivo, separou-se suas
questes e mtricas na Erro! Fonte de referncia no encontrada. para melhor organizao.
Tabela 5.6 Objetivo para verificar a qualidade do PuzzlEdu sob o ponto de vista dos professores.
Objetivo:
G5
Propsito: Verificar Objeto: Ferramenta
Aspecto: Qualidade Ponto de vista: Grupo 3
Questo Q1 Voc utilizaria essa ferramenta como apoio ao ensino de OO?
Mtrica M1.1 Avaliao objetiva do professor.
M1.2 Avaliao subjetiva do professor.
Questo Q2 A ferramenta proporciona um ambiente interativo?
Mtrica M2.1 Avaliao objetiva do professor.
M2.2 Avaliao subjetiva do professor.
Questo Q3 A ferramenta permite fcil explorao de suas funcionalidades?
Mtrica M3.1 Avaliao objetiva do professor.
M3.2 Avaliao subjetiva do professor.
Questo Q4 A ferramenta proporciona um ambiente de aprendizagem por descoberta?
Mtrica M4.1 Avaliao objetiva do professor.
M4.2 Avaliao subjetiva do professor.


108

Questo Q5 A ferramenta apresenta um ambiente ldico e criativo?
Mtrica M5.1 Avaliao objetiva do professor.
M5.2 Avaliao subjetiva do professor.

As questes apresentadas ao Grupo 3 possuem mtricas de avaliao a partir de
respostas objetivas e subjetivas, sendo as subjetivas de carter opcional.

5.2.1.6 Verificar o Aprendizado dos Conceitos de OO
Este objetivo especfico aos alunos sem nenhum conhecimento anterior de OO,
tendo como meta avaliar se algum aprendizado foi obtido utilizando o PuzzlEdu. Para
resolver a lista, o aluno precisa confirmar sua inteno de resolv-la. O motivo disso para
evitar algum constrangimento que o aluno venha sentir com a resoluo dessa lista. Na Erro!
Fonte de referncia no encontrada. apresenta-se a questo de uma maneira geral e sua
mtrica.
Tabela 5.7 Objetivo para verificar a aprendizagem dos conceitos de OO.
Objetivo:
G6
Propsito: Avaliar Objeto: Exerccio
Aspecto: Aprendizado Ponto de vista: Grupo 1
Questo Q1 Resoluo de exerccio com 10 questes elaboradas sobre programao orientada a
objetos, todas de mltipla escolha com uma nica alternativa correta.
Mtrica M1 Nmero de acertos > 50%

As questes foram elaboradas com base nos conceitos bsicos de OO que o software
possibilita o aprendizado. As 10 questes e suas respectivas respostas foram:
1. Herana um conceito onde:
R Uma classe possui todos os mtodos e todos os atributos de outra classe
2. O polimorfismo ocorre quando:
R Quando uma classe filha altera um ou mais mtodos de uma classe pai;
3. A diferena entre uma classe abstrata e uma classe concreta :
R Uma classe abstrata sempre uma superclasse para uma classe concreta
e no pode ter instncias;
4. Mtodos e atributos representam, respectivamente:
R Os comportamentos e os estados de uma classe/objeto;


109

5. Implementar uma Interface significa:
R Definir os comportamentos de seus mtodos em uma classe que a
utiliza;
6. Sobrecarga de mtodos um exemplo de qual conceito ou caracterstica da
POO?
R Polimorfismo;
7. Algumas linguagens orientadas a objetos no permitem herana mltipla. Isso
contornado utilizando-se:
R Interface;
8. Uma classe possui 3 mtodos concretos e 1 mtodo abstrato. Qual a afirmativa
correta com relao a esse enunciado?
R Esta classe ser necessariamente uma classe abstrata, devendo seus
mtodos abstratos serem implementados nas classes que a herdam;
9. Capacidade de ocultar dados dentro de modelos, permitindo que somente
operaes especializadas ou dedicadas manipulem estes dados ocultos chama-
se:
R Encapsulamento;
10. Atributos de uma Interface obrigatoriamente devem ser:
R Constantes.
Definidos os objetivos, suas questes e mtricas, faz-se necessrio construir os
instrumentos para aplicao do plano elaborado e definir como isso ser executado. A
aplicao do plano e estratgias para tal esto explicadas na prxima seo.

5.2.2 Aplicao e Execuo do Plano de Avaliao

Nesta etapa ocorreu a coleta dos dados atravs dos questionrios aplicados, a
explicao de como foram aplicados e direcionadas as atividades.
Os questionrios foram confeccionados utilizando-se formulrios do Google Docs,
pois podem ser acessados via Internet, facilitando o acesso dos avaliadores. O autor deste
trabalho enviou um primeiro e-mail convidando vrias pessoas dentre os perfis selecionados


110

para participao da avaliao. Com o aceite do pedido, um segundo e-mail foi enviando para
marcar um dia e horrio para um chat, durante o qual seria discutida qualquer dvida que por
ventura surgisse. Esse acompanhamento no interferiu ou influenciou nenhum dos
avaliadores, servindo com mera formalidade. No dia e horrio marcado, disponibilizou-se o
link para acesso ao PuzzlEdu
63
, um link para preenchimento do questionrio baseado no perfil
do avaliador
64
(o questionrio foi disponibilizado no Apndice B desta dissertao) e um link
para o guideline (guia de instrues ou passo a passo, descrito no Apndice C) de uso do
PuzzlEdu
65
, todos em um terceiro e-mail.
Os avaliadores do Grupo 1 e 2 foram orientados a seguir o guideline disponibilizado.
Ao Grupo 3 a orientao foi apenas de manipular o software tendo o guideline como
referncial, mas sem a necessidade de segu-lo, e posteriormente responder ao questionrio.
Seguindo esse guideline os avaliadores tiveram a oportunidade de realizar um overview (viso
geral) do PuzzlEdu, navegando por vrias funcionalidades, sendo apresentados aos conceitos
tericos da OO e finalizando com o desenvolvimento de uma aplicao bsica (para o Grupo
1) e uma com nvel de complexidade maior (para o Grupo 2). O objetivo de construir a
aplicao foi fixar na prtica a teoria apresentada. O ltimo passo do guideline disponibiliza o
link para acesso ao questionrio. Os avaliadores deviam respond-lo aps finalizar todos os
passos do guideline.
Infelizmente o nmero de convidados participantes foi bem abaixo do esperado.
Foram convidados 35 alunos do Grupo 1, 20 alunos do Grupo 2 e 16 professores do Grupo 3.
Alguns no responderam ao e-mail de convite e alguns, mesmo com o aceite do convite, no
compareceram ao dia e hora marcados. Compareceram 8 alunos do Grupo 1, 6 alunos do
Grupo 2 e 4 professores do Grupo 3. Entretando, esse nmero foi considerado suficiente para
a avaliao do sistema, tendo em vista o PuzzlEdu ainda est em desenvolvimento e testes.
Aps a finalizao da coleta dos dados, realizou-se a anlise e interpretao dos dados
obtidos, organizando-os em planilhas e construindo grficos para melhor visualizao e
anlise, confrontando com os objetivos, de forma a observar os resultados obtidos. Essa
anlise executada na ltima etapa da metodologia GQM. Esta, descrita na prxima seo.

63
http://testpuzzledu.appspot.com/.
64
http://testpuzzledu.appspot.com/docs/questionnaire.html.
65
http://testpuzzledu.appspot.com/docs/guideline.html.


111


5.2.3 Preparao dos Resultados

Aps a coleta dos dados, realiza-se a anlise e interpretao dos dados. A meta da
anlise relacionar padres entre os dados coletados, possibilitando encontrar pontos que
necessitem ser corrigidos, melhorados ou adicionados. Todo o processo armazenado para
proporcionar futuros refinamentos. A compilao dos resultados da avaliao do PuzzlEdu
sero explicados na Seo 5.3, a seguir.

5.3 Resultados da Avaliao

Os Grupos 1 e 2 antes de responderem ao questionrio especfico de seus grupos,
deveriam seguir o guideline disponibilizado para conhecer o software e verificar alguns
conceitos bsicos da POO com a construo de um programa bsico (para o Grupo 1) e um
programa com um nvel de complexidade um pouco maior (para o Grupo 2). Apesar de ser
disponibilizado ao Grupo 3, o guideline no era de execuo obrigatria para seus integrantes.
Conforme explicando anteriormente, a avaliao foi realizada com 18 pessoas, sendo 8
do Grupo 1, 6 do Grupo 2 e 4 do Grupo 3. Na Figura 5.3 apresenta-se o grfico para
representar tais nmeros em percentual.

Figura 5.3 Quantidade de avaliadores de cada grupo.
O percentual foi obtido dividindo-se o nmero de avaliadores de um determinado
perfil pelo total de avaliadores. Desta forma, 44,4% foram alunos sem nenhum conhecimento


112

de POO, 33,3% foram alunos com algum conhecimento prvio de POO e 22,2% foram
professores que ministram ou j ministraram disciplinas relacionadas com POO.
Esta avaliao foi realizada de maneira controlada, ou seja, sem ampla divulgao do
PuzzlEdu na comunidade e com acompanhamento aos avaliadores por meio de chats na
Internet. Apesar desse acompanhamento, no houve qualquer interferncia ou influncia nas
respostas, conforme dito anteriormente.
Com relao aos questionrios disponibilizados, a mtrica para as questes com
respostas objetivas foram baseadas nas opes Sim, No e Precisa Melhorar. A opo
Sim representa um aspecto positivo do PuzzlEdu, indicando que um objetivo foi alcanado.
A opo No representa um aspecto negativo do PuzzlEdu, indicando que um objetivo no
foi alcanado. Finalmente, a opo Precisa Melhorar indica um aspecto negativo, porm,
indicando que o objetivo foi alcanado parcialmente, precisando melhorar tal objetivo no
software. As prximas subsees tratam dos resultados obtidos separados por objetivo.

5.3.1 Objetivo G1: Conceitos de OO

Este objetivo buscou verificar se os aspectos dos conceitos de OO foram bem
definidos e explicados. Apresenta-se na Figura 5.4 os nmeros com relao questo Q1
deste objetivo.

Figura 5.4 Questo Q1 do Objetivo G1.
A questo Q1 perguntava se as definies dos conceitos e caractersticas relativas
OO foram apresentadas de maneira clara e entendvel. Essa pergunta foi respondida pelos
grupos 1 e 2. Observa-se com o grfico que os dois grupos responderam positivamente em sua


113

maioria, significando que o PuzzlEdu est apresentando os conceitos bsicos de OO a
contento. Juntando-se os dois grupos (14 pessoas), pode-se obter um percentual de 85,71% de
respostas positivas, contra 7,14% de respostas negativas.
A Figura 5.5 representa os dados da questo Q2.

Figura 5.5 Questo Q2 do Objetivo G1.
A questo Q2 perguntava somente ao Grupo 1 se os conceitos da OO apresentados
estavam claros e objetivos, em suas opinies. Com 87,5% de respostas positivas e somando-se
os 75% obtido com a questo Q1, o objetivo G1, dentro do perfil do Grupo 1 foi alcanado
plenamente.
Representa-se na Figura 5.6 o grfico para as questes Q3 a Q6.

Figura 5.6 Questes Q3 a Q6 do Objetivo G1.
As questes Q3 a Q6 eram exclusivas ao Grupo 2 e tratavam de conceitos especficos
de herana, classes abstratas e concretas, interfaces e manipulao das instncias. Percebe-se
que os conceitos que tratavam de herana e classes abstratas e concretas foi 100%
correspondido aos alunos. A dificuldade ficou por conta dos conceitos de interface e das
manipulaes das instncias. Esses dados sero levados em conta em outra iterao do
desenvolvimento do PuzzlEdu.
Na Figura 5.7 apresenta-se o resultado obtido para as questes Q7 e Q8, aplicadas
especificamente ao Grupo 3.


114


Figura 5.7 Questes Q7 e Q8 do Objetivo G1.
Na avaliao dos professores, 100% responderam positivamente s questes relativas
ao objetivo de verificao dos conceitos de OO. Nenhum comentrio foi realizado acerca
dessas questes. Desta forma o objetivo G1 foi alcanado apenas com restries a alguns
conceitos que devem ser melhor abordados e trabalhados nas prximas verses. A prxima
subseo trata do Objetivo G2, da usabilidade da interface com o usurio.

5.3.2 Objetivo G2: Usabilidade da Interface com o Usurio

Este objetivo tratou da usabilidade da interface com o usurio com trs questes
abordando a facilidade de percepo do que deve ser feito quando do primeiro acesso ao
software, a clareza dos textos e grficos apresentados e a facilidade de entendimento da
documentao disponibilizada. Essas questes foram apresentadas aos trs grupos. Na Figura
5.8 representa-se o grfico com os valores obtidos.

Figura 5.8 Questes Q1 a Q3 do Objetivo G2.
Este objetivo foi alcanado em parte, havendo necessidade de melhorar a apresentao
de forma a facilitar a percepo do que deve ser feito ao carregar pela primeira vez o
software. Esta questo teve 61,1% de resposta informando a necessidade de melhorar esse


115

aspecto. Com relao clareza dos textos e documentao, a concordncia foi praticamente
total, bastando algumas revises para verificar em quais aspectos devem ser melhorados. A
prxima subseo trata dos aspectos de eficincia do PuzzlEdu.

5.3.3 Objetivo G3: Eficincia do PuzzlEdu

Este objetivo est associado verificao da eficincia do PuzzlEdu quanto ao
processo de ensino e aprendizagem dos conceitos bsicos da OO. As questes tratam sobre
tempo de execuo aceitvel, aprendizagem, uso e acesso corretos dos conceitos OO. Na
Figura 5.9 apresenta-se o resultado obtido na questo Q1, comum aos trs grupos.

Figura 5.9 Questo Q1 do Objetivo G3.
Apenas um aluno, ou 5,6%, dos 18 integrantes dos trs grupos, respondeu que o tempo
de execuo precisa melhorar. Mas, 94,4% acharam aceitvel o tempo de execuo. Por estar
na nuvem, esse tempo de execuo pode variar devido a diversos fatores a exemplo da
variao de velocidade da conexo com a Internet.
Apresenta-se na Figura 5.10 o grfico para as respostas da questo Q2, especfica ao
Grupo 1.

Figura 5.10 Questo Q2 do Objetivo G3.


116

Apesar da maioria dos alunos do Grupo 1 informarem a possibilidade de aprendizado
dos conceitos de OO, 25% informaram haver necessidade de melhora. Acredita-se que isso
decorrente de alguns conceitos considerados um pouco mais difceis de serem assimilados,
como o caso do polimorfismo e do encapsulamento. Esses aspectos podero ser melhor
abordados em verses futuras.
Na Figura 5.11 apresenta-se o resultado obtido com a questo Q3, especfica ao Grupo
2.

Figura 5.11 Questo Q3 do Objetivo G3.
Esta questo obteve 100% de respostas positivas, ou seja, o manuseio dos conceitos
apresentados proporcionado de maneira correta, conforme se deveria esperar.
Finalmente, na Figura 5.12, apresenta-se o resultado para a questo Q4, especfica ao
Grupo 3.

Figura 5.12 Questo Q4 do Objetivo G3.
Esta questo tambm obteve 100% de aprovao por parte do Grupo 3, indicando que
o PuzzlEdu proporciona realmente o aprendizado dos conceitos de OO aos alunos iniciantes.
Nenhum comentrio foi realizado por parte dos integrantes desse grupo.


117

O resultado final deste objetivo demonstra a eficincia do PuzzlEdu frente sua
proposta de apoiar o ensino e aprendizagem dos conceitos de OO. Na prxima subseo os
resultados obtidos com o objetivo de verificar as funcionalidades so discutidos.

5.3.4 Objetivo G4: Funcionalidades do PuzzlEdu
Este objetivo tratou dos aspectos de funcionalidades do PuzzlEdu. As questes
estavam relacionadas com a impresso do cdigo-fonte, dificuldades para salvar e carregar
projetos, nvel de dificuldade e possibilidade de desenvolvimento de algoritmos bsicos e
mais complexos. Apresentam-se na Figura 5.13 os dados obtidos pelas questes Q1 a Q3,
disponibilizadas aos trs grupos.

Figura 5.13 Questes Q1 Q3 do Objetivo G4.
A funcionalidade de impresso foi positiva para 94,4% dos avaliadores dos trs
grupos, entretanto, as funcionalidades para salvar e carregar projetos receberam pontuao
negativa e indicao de necessidade de melhoria. Devido a essas avaliaes, tais
funcionalidades tambm podero ser revisadas em verses futuras.
Apresentam-se na Figura 5.14 e na Figura 5.15 a gradao obtida com a questo Q4,
avaliada pelos Grupos 1 e 2.

Figura 5.14 Questo 4 do Objetivo G4 (Grupo 1).


118


Figura 5.15 Questo Q4 do Objetivo G4 (Grupo 2).
possvel observar um nvel de dificuldade relativamente baixo, principalmente aos
integrantes do Grupo 2, o que normal. Apesar de alguns alunos do Grupo 1 terem tido certa
dificuldade com a construo de programas bsicos de POO, considera-se dentro da
normalidade para esse grupo. Apresenta-se na Figura 5.16 o grfico da questo Q5,
exclusivamente respondida pelo Grupo 2.

Figura 5.16 Questo Q5 do Objetivo G4.
Diferentemente do obtido na questo anterior, esta questo demonstrou dificuldade
relativamente maior para sua execuo. Pode ser considerado normal devido quantidade
maior de conceitos envolvidos no processo, entretanto, ser levada em considerao em
verses futuras uma reanlise desse processo.
Apresenta-se na Figura 5.17 o resultado obtido na questo Q6, restrita ao Grupo 3.

Figura 5.17 Questo Q6 do Objetivo G4.


119

O resultado obtido tambm foi bastante positivo, entretanto, no aspecto pedaggico
(por serem professores avaliando), 25% pode ser um valor considerado relevante para ser
observado em prximas verses. Dois integrantes do Grupo 3 fizeram consideraes com
relao essa questo, sendo transcrito sem alterao:
O programa exemplo da forma como foi proposto um tanto quanto
complexo para uma turma iniciante;
A ferramenta um pouco limitada;
Tais comentrios confirmam a observao da relevncia apresentada com a anlise do
grfico anterior. O programa exemplo pode ser realmente um pouco complexo devido
utilizao de conceitos de interface, haja vista ser abordada em disciplinas avanadas de
programao. Com relao ao outro comentrio, da limitao do PuzzlEdu, deve-se pela
reduo do escopo do PuzzlEdu. Talvez o professor avaliador tenha tido a impresso de ter-
lhe sido apresentado a proposta de um IDE, o que no o caso. Entretanto, tais comentrios
sero levados em conta em prximas verses. A prxima subseo trata do Objetivo G5, da
qualidade do PuzzlEdu.

5.3.5 Objetivo G5: Qualidade do PuzzlEdu

Neste objetivo procurou-se verificar a qualidade quanto ao processo de ensino e
aprendizagem dos conceitos bsicos da OO. Representa-se na Figura 5.18 o grfico da
questo Q1, aplicado exclusivamente ao Grupo 1.

Figura 5.18 Questo Q1 do Objetivo G5.
Essa questo perguntava se o aluno, sem nenhum conhecimento de OO, retornaria a
utilizar o software como forma de tirar dvidas conceituais de OO. Tendo 87,5% de respostas


120

positivas, tm-se um bom ndice de aceitao, aumentando o indicador de qualidade do
PuzzlEdu. Questo semelhante foi aplicada somente ao Grupo 2, com o resultado dessa
avaliao exposto na Figura 5.19 .

Figura 5.19 Questo Q3 do Objetivo G5.
A questo Q3, disponvel apenas aos alunos com conhecimentos prvios de OO,
procurou obter informaes sobre a indicao do PuzzlEdu a outros alunos como forma de
apoio ao aprendizado dos conceitos de OO. Com a totalidade das respostas positivas, verifica-
se que o software est cumprindo seu papel no apoio ao processo de aprendizado de POO.
A questo Q2 foi aplicada aos trs grupos de avaliadores e perguntava sobre as
observaes e sugestes acerca do PuzzlEdu. Os comentrios deixados pelos avaliadores
foram transcritos sem alterao:
Alunos do Grupo 1:
o A ferramenta muito complicada de se utilizar;
o No consegui fazer muitas coisas;
o No foi possvel salvar e carregar de maneira simples;
o Parabns pela proposta;
o Alguns defeitos ocorreram quando ia salvar ou carregar;
o Achei um pouco complicada de se mexer.
Alunos do Grupo 2:
o Precisa melhorar com relao ao construir os programas dentro da
ferramenta;
o Massa a ferramenta;
Professores
o Sem tempo para verificar isso. Entretanto, a proposta muito boa,
mas precisa melhorar em alguns aspectos;


121

o As que coloquei antes;
o A proposta interessante, porm, requer mais aprofundamento;
o Acho que essa ferramenta tem um grande potencial.
Com esses comentrios, foi possvel verificar algumas dificuldades j detectadas em
resultados anteriores, confirmando alguns pontos a serem revisados dentro do PuzzlEdu, a
exemplo da dificuldade de salvar e carregar projetos e do nvel de complexidade elevado para
manipulao na construo de programas. O software recebeu alguns elogios, reforando sua
utilidade dentro do domnio da educao de conceitos bsicos da POO.
Algumas questes deste objetivo foram especficas ao Grupo 3, devido experincia
em sala de aula de seus avaliadores. Diferente das apresentaes anteriores atravs de
grficos, os resultados das questes Q1 a Q5 foram dispostos na Erro! Fonte de referncia
no encontrada., e seus resultados comentados em seguida.
Tabela 5.8 Respostas das questes Q1 a Q5 do objetivo G5 (Grupo 3).
Questo
Respostas
Sim (%) No (%) Precisa melhorar (%)
Q1 100% 0% 0%
Q2 75% 0% 25%
Q3 50% 0% 50%
Q4 25% 0% 75%
Q5 25% 0% 75%

A questo Q1 perguntava se o professor utilizaria o PuzzlEdu como ferramenta de
apoio ao ensino de OO. O resultado bastante animador, haja vista a unnime aceitao da
proposta. No houve insero de comentrios a esta questo. J a questo Q2 perguntava se a
ferramenta proporcionava um ambiente interativo. Mesmo tendo uma margem considerada
boa, os 25% informados da necessidade de melhora so importantes para reanlises do
PuzzlEdu nesse aspecto. O comentrio realizado pelo professor que teve essa percepo
confirmou isso: A uma certa complexidade para se mexer com a ferramenta, prejudicando a
interatividade entre o aluno e a ferramenta. Essa mesma dificuldade foi realmente detectada
nas respostas dos outros avaliadores dos grupos 1 e 2, confirmando a necessidade de reviso.
A questo Q3 refora tal necessidade ao perguntar sobre a facilidade de explorao das
funcionalidades, tendo metade dos resultados positivos e a outra metade informando da


122

necessidade de melhora. O comentrio, bastante relevante, foi o seguinte: Algumas
funcionalidades s funcionam em determinada situao, como o caso do boto executar,
que s funciona depois de ter comandos na pilha. Mas se clicar nele sem ter nada na pilha,
nada acontece. Deveria ter uma mensagem de erro. Algumas dessas situaes j foram
contornadas na verso atual do PuzzlEdu.
A questo Q4 questionava se a ferramenta proporcionava um ambiente por descoberta.
Por ser um ndice negativo, sua melhoria ser analisada para verses futuras. Os comentrios
foram os seguintes:
A ferramenta de certa forma necessitar de acompanhamento para conseguir
contemplar alguns conceitos de OO;
Mas com acompanhamento;
Acho que um aluno sem nenhum conhecimento teria dificuldade de andar
sozinho. Mas aps poucas instrues, fica bem mais fcil.
Tais comentrios reforam a necessidade de melhoria nesse aspecto e ser objeto de
pesquisa para as prximas verses.
A questo Q5 procurou saber se a ferramenta apresentava um ambiente ldico e
criativo. No mesmo molde da questo Q4, esse aspecto precisar ser melhor analisado em
verses futuras. Os comentrios acerca desta questo que confirmam os resultados
encontrados foram:
Apresentar at apresenta, mas por no ser totalmente interativa, acaba por
limitar em alguns aspectos;
Precisa melhorar algumas coisas ainda;
Este objetivo, de maneira geral, confirmou algumas expectativas sobre o uso do
PuzzlEdu como software educativo para apoio no ensino e aprendizagem dos conceitos
bsicos de OO. Mesmo seus aspectos negativos ou de necessidade de melhoria revelando a
importncia de uma reanlise do PuzzlEdu para verses futuras, pode-se considerar bastante
positiva sua avaliao na verso atual, cumprindo seu papel no aspecto da qualidade.
A prxima subseo trs o resultado da lista de verificao de aprendizagem aplicada
e respondida por alunos do Grupo 1, com o objetivo de verificar o aprendizado dos conceitos
bsicos de OO.


123


5.3.6 Objetivo G6: Aprendizado dos Conceitos de OO

Para alcanar esse objetivo, a questo Q1 props uma lista de exerccios com 10
perguntas sobre POO, de mltipla escolha, detalhadas e respondidas na Seo 5.2.1.6. A
aplicao dessa lista foi exclusivamente aos alunos do Grupo 1, e para ser realizada precisava
da aceitao por parte do aluno. 62.5% dos alunos do Grupo 1 (5 alunos) aceitaram realizar o
exerccio. O grfico com as respostas a cada pergunta apresenta-se na Figura 5.20.

Figura 5.20 Respostas da Lista de Verificao de Aprendizagem.
As respostas lista de exerccio obtiveram trs questes com 100% de acertos (as que
tratavam de conceitos de herana, polimorfismo e encapsulamento) e apenas uma questo
com 60% de erros (a que tratava de conceitos de classes abstratas). Com isso, 78% dos alunos
do Grupo 1 acertaram todo o questionrio. Uma boa mdia considerando-se o pouco e rpido
contato com os conceitos bsicos de POO.
5.4 Discusso
Com essas mtricas, analisando os grficos, pode-se considerar que o PuzzlEdu
cumpre seu papel com relao ao ensino dos conceitos bsicos da POO de maneira
satisfatria, sendo necessria algumas melhorias em alguns aspectos do PuzzlEdu. Os mais
crticos so:
Percepo do que deve ser feito ao iniciar a ferramenta;
Dificuldade em salvar e carregar projetos;
O uso confuso de Interfaces;


124

Necessidade de melhoria na interatividade com a ferramenta para proporcionar
melhor aprendizagem por descoberta e mais criatividade;
Dificuldade na manipulao dos componentes dentro dos conceitos principais
de programao;
Com relao avaliao dos professores, os aspectos mais importantes foram obtidos
com o feedback deixado nas questes subjetivas, permitindo revisar diversos aspectos para
novas verses do PuzzlEdu.
notria a necessidade de avaliaes como a realizada nesta proposta, possibilitando
produzir software eficientes e de qualidade. O PuzzlEdu foi bem nesses dois aspectos, mesmo
sendo preciso algumas reformulaes de conceitos dentro do PuzzlEdu, o que normal em
qualquer processo de desenvolvimento de software.
5.5 Lies Aprendidas
A avaliao executada proporcionou o aprendizado de lies importantes. Tais como:
A utilizao de um corpo docente mais extenso para prximas avaliaes. Os
professores possuem um senso crtico bastante apurado devido sua experincia
no ensino de disciplinas relacionadas programao, tendo alunos com os mais
diferentes nveis de aprendizado. Isso faz com que seja capaz de avaliar
ferramentas dessa natureza no sentido coletivo do seu uso;
A utilizao de equipes multidisciplinares dentro do processo de
desenvolvimento de software, em particular de software educativos, haja vista
sua complexidade frente s dificuldades encontradas com relao
interatividade, usabilidade e funcionalidades, todos integrados aos conceitos
educacionais existentes;
A vasta quantidade de ferramentas na rea educacional proporciona outros
aprendizados que devem ser analisados, no apenas associados aos conceitos
de uma disciplina qualquer, mas capacidade de reflexo e raciocnio lgico,
contribuindo para o crescimento intelectual de seus usurios;
Os riscos avaliao caso no houvesse por parte dos professores. Como a
quantidade de alunos muito superior dos professores, talvez uma avaliao
em dois momentos fosse o mais seguro. Em uma primeira etapa a avaliao


125

seria composta apenas por professores, buscando uma quantidade mais
relevante, e de forma presencial, haja vista a dificuldade de conseguir focar o
professor em atividades externas ao seu trabalho. Normalmente professores
precisam cumprir horrios de acompanhamento aos alunos em suas IES,
podendo-se utilizar desse momento para realizar tais avaliaes. Depois disso,
a partir das observaes encontradas e aps os ajustes necessrios, a avaliao
entraria para a segunda etapa, sendo dividida em duas: (i) somente por alunos
sem conhecimentos acerca do domnio estudado; e (ii) somente por alunos com
conhecimentos acerca do domnio estudado.
Em avaliaes futuras, essas lies aprendidas sero levadas em considerao,
possibilitando uma avaliao mais segura, com mais qualidade e eficincia.

5.6 Sumrio do Captulo

Toda proposta de desenvolvimento precisa passar por uma avaliao o mais criteriosa
possvel, sempre buscando utilizar mtodos eficientes e consistentes. O PuzzlEdu foi avaliado
utilizando-se uma metodologia consistente e com muitos casos de sucesso registrados
(WANGENHEIM, 2000).
Com a avaliao utilizando a metodologia consistente do GQM, foi possvel mensurar
qualidades positivas no PuzzlEdu, de forma a incentivar sua continuidade, extenso e
melhorias. Com base nos resultados, foi possvel verificar que o software cumpre seu papel
com relao LaaS de maneira satisfatria, podendo ser melhorado e ampliar ainda mais seus
aspectos educacionais.


126

6 Consideraes Finais
Neste trabalho foi apresentado o PuzzlEdu como proposta de Educao como Servio
sendo um software educativo, com o objetivo de auxiliar o aprendizado do paradigma de
programao orientada a objetos, utilizando-se dos conceitos do modelo de cloud computing.
Desde sua concepo utilizou-se de modernas tecnologias de desenvolvimento, apoiando-se
em infraestrutura de hardware e software prprios para prover tais servios comunidade.
Isso possibilitou um ambiente independente, multiplataforma, disponvel e de cdigo aberto.
Alm de tcnicas da engenharia de software para seu desenvolvimento, a construo
do PuzzlEdu envolveu conceitos educacionais para embasar sua proposta educativa. Por estar
disponvel em nuvem, foi possvel constatar as possibilidades da educao como um servio
para a comunidade, facilitando e agregando conhecimentos aos seus usurios. Um exemplo
seria uma nuvem educacional formada por instituies de ensino, onde pesquisadores das
mais diversas reas poderiam interagir entre si e alcanar resultados promissores para suas
pesquisas.
A avaliao realizada no PuzzlEdu demonstrou sua efetividade com relao
aprendizagem frente aos avaliadores alunos, ou seja, foi capaz de atender suas expectativas,
beneficiando diretamente o papel institucional e social dos ambientes educacionais. Desta
forma, o objetivo geral da proposta de possibilitar a aprendizagem como servio foi
demonstrada.
As crticas recebidas foram bastante construtivas e contribuiro para melhorar
diversos aspectos no software, possibilitando novos incrementos para verses futuras,
conforme ser comentado na seo de trabalhos futuros deste captulo. Os professores foram
essenciais principalmente para os aspectos pedaggicos propostos pelo software, recebendo
inclusive elogios por parte desses avaliadores. As prximas sees trataro das contribuies
com a pesquisa realizada, os trabalhos relacionados com a proposta e os trabalhos futuros.

6.1 Contribuies



127

Dentre as principais contribuies desta pesquisa est a definio e explorao do
conceito de Aprendizagem como Servio (Learning as a Service LaaS). Um conceito
promissor para a rea de educao, atravs de avanados aspectos de tecnologias de
infraestrutura de hardware e software. Espera-se com isso proporcionar novas pesquisas
acerca deste conceito, de forma a trazer diversas outras contribuies comunidade.
Outras contribuies deste trabalho: (i) um extensivo estudo do estado da arte e da
prtica atravs de quatorze software educativos, levantando aspectos como base pedaggica
utilizada, classificao, tipificao, paradigmas computacionais de programao, plataformas
de execuo e licenciamento oferecido; (ii) a partir do estudo realizado, elencar os requisitos
iniciais do PuzzlEdu, definir sua arquitetura e, finalmente, sua implementao; (iii) a
disponibilizao de uma plataforma de educao como servio para apoio no ensino e
aprendizagem de conceitos bsicos de POO, gratuito e de cdigo aberto; (iv) uma extensa
avaliao considerando trs perfis diferentes de avaliadores, alunos sem conhecimento de
POO, alunos com conhecimento de POO e professores que ensinam ou ensinaram POO.
A proposta desta dissertao foi publicada na 24
th
IEEE-CS Conference on Software
Engineering Education and Training (CSEE&T 2011), evento co-alocado com a 33
rd

Internacional Conference on Software Engineering (ICSE2011), ocorrido no Hawaii em
maio deste ano. Este evento possui avaliao B2 no Qualis da CAPES.
O software desenvolvido nesta dissertao foi submetido e aceito para publicao no
XVII Simpsio Brasileiro de Sistemas Multimdia e Web (WebMedia 2011), na sesso do X
Workshop de Ferramentas e Aplicaes (WFA). O evento ocorreu entre os dias 3 e 6 de
outubro de 2011, em Florianpolis, Santa Catarina, recebendo Meno Honrosa.

6.2 Trabalhos Relacionados

No Captulo 4, mais especificamente nas Sees 4.4.6 e 4.4.7, foi realizado um bom
levantamento de software educativos com propostas bem interessantes, trabalhando em
plataformas diversas e com especificidades prprias. Verifica-se na proposta desta dissertao
o aspecto inovador, haja vista a utilizao dos recursos tecnolgicos da cloud computing,


128

possibilitando a independncia de infraestruturas prprias e de sistemas operacionais
especficos. At o fim desta pesquisa no foi possvel encontrar propostas semelhantes.
Diferentemente do PuzzlEdu, todas foram desenvolvidas a partir de projetos de pesquisas,
contanto com amplo apoio pedaggico, profissional e financeiro, conforme possvel
verificar em seus websites de divulgao.
Frente a todas essas propostas, apesar de algumas limitaes de desenvolvimento e
execuo inerentes s plataformas Web (no existentes nas plataformas standalone), o
PuzzlEdu consegue demonstrar que a LaaS uma possibilidade real e promissora, conforme
pde ser visto pelos resultados positivos obtidos com a avaliao realizada sobre ele. Espera-
se com isso incentivar novas pesquisas nesse campo, de forma a elevar ainda mais a
possibilidade de oferecer um servio de qualidade comunidade. A prxima seo trata dos
trabalhos futuros planejados acerca dessa pesquisa realizada.
6.3 Trabalhos Futuros
O PuzzlEdu cumpriu seu papel com relao ao aprendizado em nuvens, demonstrando
as potencialidades que a LaaS pode proporcionar comunidade atravs de um sistema
educativo para apoio no processo de ensino/aprendizagem da POO, em cursos de nvel
superior da rea de informtica. possvel vislumbrar ainda novos rumos a serem tomados
dentro da LaaS e ainda de outros tpicos dentro de educao, elencando-se alguns:
1. Reanlise do PuzzlEdu a partir de uma equipe multifuncional, incluindo uma
equipe pedaggica;
2. Concluso do desenvolvimento do software de forma a disponibiliz-lo
comunidade;
3. Melhoria e ampliao do processo de avaliao, de forma a aumentar o nmero
de avaliadore e alcanar nveis maiores de qualidade;
4. Novos sistemas educativos disponibilizados como servio para a comunidade,
por exemplo, a extenso do PuzzlEdu para outro paradigmas de linguagens de
programao, a exemplo do paradigma funcional (ex.: LISP e Heskel),
estrutural (ex.: Pascal e C) e lgico (ex.: Prolog e CHR);


129

5. Novos sistemas educacionais disponibilizados como servio para apoio das
atividades relacionadas educao, por exemplo, gesto educacional, dirios
de classe e acompanhamento pedaggico;
6. Disponibilizar o PuzzlEdu e outros recursos educacionais em uma nuvem
computacional pblica, para acesso irrestrito da comunidade;
7. Construo de uma infraestrutura de cloud computing prpria para prover a
LaaS, nomeada como Nuvem Educacional, interligando diversas instituies
de ensino pblicas e privadas, no Brasil e no mundo.
importante frisar que para continuidade, extenso ou criao de todos esses recursos
tecnolgicos educacionais, so necessrios a organizao de grupos de pesquisa, divididos em
subgrupos por foco de atividade, e ainda incentivos financeiros provenientes da iniciativa
privada ou pblica.



130

REFERNCIAS

ALBIN, S. T. The Art of Software Architecture - Design Methods and Techniques.
Indianapolis: Wiley Publishing, Inc., 2003. 312 p. ISBN 0-471-22886-9.
ALMEIDA, E. S. D. et al AMBAP: Um Ambiente de Apoio ao Aprendizado de
Programao. XXII Congresso da Sociedade Brasileira de Computao (CSBC) - X
Workshop Sobre Educao em Computao (WEI). Florianpolis: [s.n.]. 2002. p. 691-700.
ALMEIDA, M. E. B. D. Tecnologias na Educao: dos Caminhos Trilhados aos Atuais
Desafios. Bolema: Boletim de Educao Matemtica, Rio Claro/SP, 21, n. 29, 2008. 99-
129.
ALVES, R. E. D. R. Educao Distncia: Contribuies e Desafios. Ensino em Re-Vista, v.
13, n. 1, p. 131-140, Julho 2005. ISSN 1983-1730.
ARANHA, M. L. D. A. Histria da Educao e da Pedagogia - Geral e Brasil. 3. ed. So
Paulo/SP: Moderna, 2006. 384 p.
ARMBRUST, M. et al Above the Clouds: A Berkeley View of Cloud Computing.
University of California at Berkeley. Berkeley. 2009.
BACKUS, J. W. et al Revised Report on the Algorithmic Language ALGOL 60.
Communications of the ACM, New York, v. 6, p. 1-17, January 1963. ISSN 0001-0782.
BARTHOLO, V. D. F.; AMARAL, M. A.; CAGNIN, M. I. Uma Contribuio para a
Adaptabilidade de Ambientes Virtuais de Aprendizagem para Dispositivos Mveis. Revista
Brasileira de Informtica na Educao (RBIE), v. 17, n. 2, p. 36-47, Maio/Agosto 2009.
BASILI, V. R. Software Modeling and Measurement: The Goal/Question/Metric
Paradigm. University of Maryland Institute for Advanced Computer Studies (UMIACS).
[S.l.], p. 24. 1992. Technical Reports (CS-TR-2956).
BATISTA, S. C. F. et al Avaliar Preciso: o caso de softwares educacionais para
Matemtica no Ensino Mdio. I Workshop de Cincia da Computao e Sistemas da
Informao da Regio Sul (WORKCOMP-SUL). Florianpolis: Universidade do Sul de Santa
Catarina (UNISUL). 2004.


131

BENITTI, F. B. V.; SEARA, E. F. R.; SCHLINDWEIN, L. M. Processo de Desenvolvimento
de Software Educacional: Proposta e Experimentao. RENOTE - Novas Tecnologias na
Educao, v. 3, n. 1, Maio 2005. ISSN 1679-1916.
BERNARDES, R. M.; TORRES, T. Z. Tecnologias Sociais, TICs e Educao: pilares para a
construo da Tecnopedia Social Rural - TeSoRu. XXI Simpsio Brasileiro de Informtica na
Educao (SBIE). Joo Pessoa: Sociedade Brasileira de Computao (SBC). 2010.
BERNARDI, G.; CASSAL, M. L. Proposta de um Ambiente de Ensino-Aprendizagem
Utilizando Jogos e Realidade Virtual. XIII Simpsio Brasileiro de Informtica na Educao
- SBIE. So Leopoldo: [s.n.]. 2002. p. 4.
BERNSTEIN, P. A. Middleware: A Model for Distributed System Services.
Communications of the ACM, New York, v. 39, p. 86-98, February 1996. ISSN 0001-0782.
BOEHME, M. S. P. A Contribuio da Escola no Processo de Tecnoletramento do Aluno.
Universidade do Estado de Santa Catarina (UDESC). Rio do Sul, p. 114. 2003.
BOLZE, R.; DEELMAN, E. Exploiting the Cloud of Computing Environments: An
Applications Perspective. In: AHSON, S. A.; ILYAS, M. Cloud Computing and Software
Services: Theory and Techniques. [S.l.]: CRC Press, 2011. Cap. 8, p. 173-199. ISBN 978-1-
4398-0316-5.
BORGES, M. A. F. Um Processo para Anlise da Interao em Sistemas Colaborativos
Mediados por Ferramentas Computacionais para Comunicao Textual. Universidade
Estadual de Campinas (Unicamp). Campinas, p. 185. 2004.
BOTTENTUIT JUNIOR, J. B. Concepo, Avaliao e Dinamizao de um Portal
Educacional de WebQuests em Lngua Portuguesa. Universidade do Minho. Lisboa, p.
636. 2010.
BRESSOUD, T. C.; SCHNEIDER, F. B. Hypervisor-based Fault Tolerance. ACM
Transactions on Computer Systems (TOCS), New York, February 1996. 80-107.
BRISCOE, G.; MARINOS, A. Digital Ecosystems in the Clouds: Towards Community
Cloud Computing. 3rd IEEE International Conference on Digital Ecosystems and
Technologies (DEST 2009). Istanbul: [s.n.]. 2009. p. 103-108.


132

BRUSILOVSKY, P. et al Mini-languages: a way to learn programming principles. Education
and Information Technologies, 2, n. 1, 1997. 65-83. Springer Netherlands.
BUCK, D.; STUCKI, D. J. JKarelRobot: A Case Study in Supporting Levels of Cognitive
Development in the Computer Science Curriculum. 32nd Technical Symposium on Computer
Science Education (SIGCSE). Charlotte: ACM. 2001. p. 16-20.
BUYYA, R.; YEO, C. S.; VENUGOPAL, S. Market-Oriented Cloud Computing: Vision,
Hype, and Reality for Delivering IT Services as Computing Utilities. 10th IEEE International
Conference on High Performance Computing and Communications. Dalian: [s.n.]. 2008. p. 5-
13.
CAMPOS, F.; CAMPOS, G.; ROCHA, A. R. Dez Etapas para o Desenvolvimento de
Software Educacional do Tipo Hipermdia. 3 Congresso Iberoamericano de Informtica
Educativa (Ribie). Barranquilla: [s.n.]. 1996. p. 9.
CAMPOS, G. H. B. D.; CAMPOS, F. C. A. Qualidade de Software Educacional. In:
MALDONADO, J. C.; ROCHA, A. R. C. D.; WEBER, K. C. Qualidade de Software:
Teoria e Prtica. 1. ed. So Paulo: Makron Books, v. 1, 2001. p. 303. ISBN 8587918540.
CARVALHO, M. G. D. Tecnologia, Desenvolvimento Social e Educao Tecnolgica.
Educao & Tecnologia, Curitiba/PR, v. 1, n. 1, p. 70-87, Julho 1997. ISSN 2179-6122.
CASASSUS, J. Tarefas da Educao. Campinas: Autores Associados, 1995. 124 p. ISBN
85-85701-13-7. Disponvel em:
http://books.google.com.bo/books?id=BW0WoXHvdqgC&lpg=PP1&hl=en&pg=PP1. Acesso
em: julho de 2011.
CASTRO, V. G. D. RoboEduc: Especificao de um Software Educacional para Ensino
da Robtica s Crianas como uma Ferramenta de Incluso Digital. Universidade Federal
do Rio Grande do Norte (UFRN). Natal, p. 93. 2008.
CHANG, F. et al Bigtable: A Distributed Storage System for Structured Data. Proceedings of
the 7th USENIX Symposium on Operating Systems Design and Implementation. Berkeley:
USENIX Association. 2006. p. 1-15.
CHANG, F. et al Bigtable: A Distributed Storage System for Structured Data. ACM
Transactions on Computer Systems (TOCS), New York, 26, n. 2, June 2008. 1-26.


133

CHAVES, R. O. et al A Contribuio da Filosofia de Plato e de Aristteles para o
Ensino do Paradigma de Orientao a Objetos. XXI Simpsio Brasileiro de Informtica na
Educao (SBIE). Joo Pessoa: [s.n.]. 2010.
CHEN, X.; SRIVASTAVA, A.; SORENSON, P. Toward a QoS-Focused SaaS Evaluation
Model. In: AHSON, S. A.; ILYAS, M. Cloud Computing and Software Services: Theory
and Techniques. [S.l.]: CRC Press, 2011. Cap. 16, p. 389-407. ISBN 978-1-4398-0316-5.
COLLINS-SUSSMAN, B.; FITZPATRICK, B. W.; PILATO, C. M. Version Control with
Subversion. 1. ed. [S.l.]: O'Reilly Media, 2004. 304 p. ISBN 0-596-00448-6.
COOPER, S.; DANN, W.; PAUSCH, R. Alice: a 3-D Tool for Introductory Programming
Concepts. Journal of Computing Sciences in Colleges, 15, n. 5, May 2000. 107-116.
COSTA, F. A. O que Justifica o Fraco Uso dos Computadores na Escola. Polifonia, Lisboa,
n. 7, p. 19-32, 2004. Disponvel em: http://www.fl.ul.pt/unil/pol7/pol7_txt2.pdf. Acesso em:
julho de 2011.
DABREU, J. V. V.; CHELLA, M. T. Ambiente Colaborativo de Aprendizagem a
Distncia Baseado no Controle de Dispositivos Robticos. XII Simpsio Brasileiro de
Informtica na Educao (SBIE). Vitria: [s.n.]. 2001. p. 340-347.
DECANDIA, G. et al Dynamo: Amazons Highly Available Key-value Store. ACM SIGOPS
Operating Systems Review, New York, 41, October 2007. 205-220.
DEITEL, H. M.; DEITEL, P. J. Java, Como Programar. Traduo de Carlos Arthur Lang
Lisba. 4. ed. Porto Alegre: Bookman, 2002. 1386 p. ISBN 85-363-0123-6.
DETERDING, S. et al Gamification: Toward a Definition. 29th ACM Conference on Human
Factors in Computing Systems (CHI 2011). Vancouver: ACM SIGCHI. 2011. p. 4.
DETERDING, S. et al Gamification: Using Game Design Elements in Non-Gaming
Contexts. 29th ACM Conference on Human Factors in Computing Systems (CHI 2011).
Vancouver: ACM SIGCHI. 2011. p. 4.
DURKHEIM, . Educao e Sociologia. Traduo de Loureno Filho. 12. ed. So Paulo:
Melhoramentos, 1978. 91 p.
EISENSTEIN, E. The printing Revolution in Early Modern Europe. London: Cambridge
University Press, 1983.


134

ERIKSSON, H.-E. et al UML 2 Toolkit. Indianapolis: Wiley Publishing Inc, 2004. 549 p.
ISBN 0-471-46361-2.
ESTEVES, M. M. G. P. D. Uso do Second Life no Suporte Aprendizagem
Contextualizada de Programao. Universidade de Trs-os-Montes e Alto Douro. [S.l.], p.
417. 2010. Tese de Doutorado.
ESTEVES, M.; MENDES, A. OOP-Anim, a system to support learning of basic object
oriented programming concepts. 4th International Conference on Computer Systems and
Technologies: e-Learning (CompSysTech). Bulgaria: ACM. 2003. p. 573 - 579.
F5 NETWORKS. Cloud Computing: Survey Results. F5 Networks. [S.l.], p. 11. 2009.
Technical Report. Disponvel em: http://www.f5.com/pdf/reports/cloud-computing-survey-
results-2009.pdf. Acesso em: fevereiro de 2011.
FEITELSON, D. G.; RUDOLPH, L. Gang Scheduling Performance Benefits for Fine-Grain
Synchronization. Journal of Parallel and Distributed Computing, 16, December 1992.
306-318.
FOGEL, R. The Education Cloud: Delivering Education as a Service. INTEL. [S.l.], p. 10.
2010. White Paper. Disponvel em: http://www.intel.com/assets/pdf/whitepaper/delivering-
education-as-a-service.pdf. Acesso em: Janeiro de 2011.
FREIRE, F. M. P.; VALENTE, J. A. Aprendendo para a vida: os computadores na sala de
aula. So Paulo: Cortez, 2001. 239 p. ISBN 85-249-0778-9.
FURHT, B. Cloud Computing Fundamentals. In: FURHT, B.; ESCALANTE, A. Handbook
of Cloud Computing. [S.l.]: Springer, 2010. Cap. 1, p. 3-19. ISBN 978-1-4419-6523-3.
GAMMA, E. et al Design Patterns: Elements of Reusable Object-Oriented Software.
Massachusetts: Addison-Wesley, 1995.
GARCIA, I. C.; REZENDE, P. J. D.; CALHEIROS, F. C. Astral: Um Ambiente para Ensino
de Estruturas de Dados atravs de Animaes de Algoritmos. Revista Brasileira de
Informtica na Educao (RBIE), Florianpolis, v. 1, p. 14, Novembro 1997. ISSN 1414-
5685.
GHEMAWAT, S.; GOBIOFF, H.; LEUNG, S.-T. The Google File System. ACM SIGOPS
Operating Systems Review, New York, 37, October 2003. 29-43.


135

GIRAFFA, L. M. M. Uma arquitetura de Tutor Utilizando Estados mentais. Universidade
Federal do Rio Grande do Sul (UFRGS). Porto Alegre/RS, p. 177. 1999. Tese de Doutorado.
GIRAFFA, L. M. M. Uma odissia no ciberespao: O software educacional dos tutoriais aos
mundos virtuais. Revista Brasileira de Informtica na Educao (RBIE), v. 17, n. 1, p. 20-
30, Janeiro/Abril 2009.
GIRAFFA, L. M. M. et al Uma Ferramenta para Modelagem de Software Educacional
Voltada a Professores de Escolas. XII Workshop de Informtica na Escola - XXVI
Congresso da SBC. Campo Grande: [s.n.]. 2006. p. 291-299.
GLADCHEFF, A. P.; SANCHES, R.; SILVA, D. M. D. Um Instrumento de Avaliao de
Qualidade de Software Educacional: como elabor-lo. Simpsio Brasileiro de Engenharia
de Software (SBES) - VIII Workshop de Qualidade de Software (WQS). Rio de Janeiro:
[s.n.]. 2001. p. 1-14.
GOMES A. S., A. S. Avaliao da Aprendizagem com Software Educativo no Projeto
Interativo. 5 Congresso Internacional de Ergonomia e Usabilidade de Interfaces Humano-
Computador (USIHC). Rio de Janeiro/RJ: [s.n.]. 2005.
GOMES M. J., M. J. Blogs: Um Recurso e uma Estratgia Pedaggica. VII Simpsio
Internacional de Informtica Educativa. Leiria: [s.n.]. 2005. p. 311-315.
GOMES, A. S.; WANDERLEY, E. G. Elicitando Requisitos em Projetos de Software
Educativo. IX Workshop de Informtica na Escola (WIE) - XXIII Congresso da Sociedade
Brasileira de Computao (CSBC). Campinas: [s.n.]. 2003. p. 119-130.
GOMES, M. C.; BARONE, D. A. C.; HORWATH, K. C. Challenges in an Emerging
Country: A Digital Divide Case Using Robotics. IEEE Global Engineering Education
Conference (EDUCON). Madrid: [s.n.]. 2010. p. 1519-1524.
GOTTSCHALK, C. M. C. Uma Concepo Pragmtica de Ensino e Aprendizagem.
Educao e Pesquisa, So Paulo/SP, Setembro/Dezembro 2007. 459-470.
GUERMEUR, D.; UNRUH, A. Google App Engine Java and GWT Application
Development. 1. ed. Birmingham: Packt Publishing, 2010. ISBN 978-1-849690-44-7.
GUZDIAL, M. J.; ROSE, K. M. Squeak Open Personal Computing and Multimedia.
[S.l.]: Prentice Hall, 2002.


136

HINOSTROZA, E. et al Developing Educational Software: A Professional Tool Perspective.
Education and Information Technologies, Netherlands, 5, n. 2, June 2000. 103-117.
HINTERHOLZ JNIOR, O. Tepequm: uma nova Ferramenta para o Ensino de Algoritmos
nos Cursos Superiores em Computao. XXIX Congresso da Sociedade Brasileira de
Computao (CSBC). Bento Gonalves: Universidade Federal do Rio Grande do Sul
(UFRGS). 2009. p. 485-488.
HOSTINS, H.; RAABE, A. Auxiliando a Aprendizagem de Algoritmos com a Ferramenta
Webportugol. XXVII Congresso da Sociedade Brasileira de Computao (CSBC) - XV
Workshop sobre Educao em Computao (WEI). Rio de Janeiro: [s.n.]. 2007. p. 96-105.
IBM. Rational Unified Process: Best Practices for Software Development Teams. IBM.
[S.l.], p. 21. 2003. White Paper. Disponvel em
http://www.ibm.com/developerworks/rational/library/content/03July/1000/1251/1251_bestpra
ctices_TP026B.pdf. Acesso em: junho de 2011.
JIN, H. et al Cloud Types and Services. In: FURHT, B.; ESCALANTE, A. Handbook of
Cloud Computing. [S.l.]: Springer, 2010. Cap. 14, p. 335-355. ISBN 978-1-4419-6523-3.
JUC, S. C. S. A Relevncia dos Softwares Educativos na Educao Profissional. Cincias e
Cognio, v. 8, p. 22-28, Agosto 2006. ISSN 1806-5821.
KINDBORG, M.; SCHOLZ, R. MagicWords A Programmable Learning Toy. 5th
International Conference for Interaction Design and Children (IDC). Tampere/Finland: ACM.
2006. p. 165-166.
KLLING, M. The Greenfoot Programming Environment. ACM Transactions on
Computing Education (TOCE), New York, 10, n. 4, November 2010. 1-21.
KRASNER, G. E.; POPE, S. T. A Cookbook for Using the Model-View Controller User
Interface Paradigm in Smalltalk-80. Journal of Object-Oriented Programming, Denville, 1,
n. 3, August/September 1988. 26-49.
KRUCHTEN, P. The '4+1' View Model of Software Architecture. IEEE Software, Los
Alamitos/USA, 12, n. 6, November 1995. 42-50.
L. JNIOR, G. et al Uma aplicao de Gesto Acadmica Utilizando Cloud Computing.
Revista iTEC, v. 1, p. 37-46, Dezembro 2010. ISSN 2179-7544.


137

LACERDA, R. D. A. Proposta de um Modelo para Anlise de Requisitos de Software
Educativo. Universidade de Braslia (UnB). Braslia/DF, p. 114. 2007. Dissertao de
Mestrado.
LAWHEAD, P. B. et al A Road Map for Teaching Introductory Programming Using LEGO
Mindstorms Robots. ACM Special Interest Group on Computer Science Education
(SIGCSE), New York, 35, n. 2, June 2003. 191-201.
LAWTON, G. Developing Software Online with PaaS Technology. Computer, Los
Alamitos, v. 41, p. 13-15, June 2008. ISSN 0018-9162.
LCSI. MicroWorlds. Site da MicroWorlds, 1998. Disponivel em:
<http://www.microworlds.com/>. Acesso em: maio 2011.
LEAVITT, N. Is Cloud Computing Really Ready for Prime Time? Computer, Los Alamitos,
42, January 2009. 15-20.
LENK, A. et al What's inside the Cloud? An architectural map of the Cloud landscape.
CLOUD '09 Proceedings of the 2009 ICSE Workshop on Software Engineering
Challenges of Cloud Computing, 2009. 23-31.
LVY, P. As Tecnologias da Inteligncia - O Futuro do Pensamento na Era da
Informtica. Traduo de Carlos Irineu da Costa. [S.l.]: Editora 34, 1995. 208 p. ISBN 85-
85490-15-2.
LIMA, E. C. A. S. O Conhecimento Psicolgico e Suas Relaes com a Educao. Em
Aberto, Braslia, v. 9, n. 48, p. 3-24, Outubro/Dezembro 1990.
LIN, G. et al Cloud Computing: IT as a Service. IEEE IT Professional, v. 11, p. 10-13,
Maro/Abril 2009.
LOHR, S. The New York Times. Technology, 8 October 2007. Disponivel em:
<http://www.nytimes.com/2007/10/08/technology/08cloud.html?_r=1>. Acesso em: Fevereiro
2011.
LOURIDAS, P. Up in the Air: Moving Your Applications to the Cloud. IEEE Software, v.
27, p. 6-11, July/August 2010. ISSN 0740-7459.


138

LYRA, A. R. D. L. et al Ambiente Virtual para Anlise de Software Educativo. IX
Workshop de Informtica na Escola (WIE) - XXIII Congresso da Sociedade Brasileira de
Computao (CSBC). Campinas: [s.n.]. 2003. p. 236-247.
MACHADO, R. J. P. Gesto de Participaes Sociais numa Instituio de Ensino
Superior. Faculdade de Engenharia da Universidade do Porto. Porto, p. 216. 2008.
MACLAURIN, M. B. The Design of Kodu: A Tiny Visual Programming Language for
Children on the Xbox 360. ACM SIGPLAN Notices (POPL), New York, 46, n. 1, January
2011. 241-246.
MALONEY, J. et al The Scratch Programming Language and Environment. ACM
Transactions on Computing Education (TOCE), New York, 10, n. 4, November 2010. 1-
15.
MANSO, A.; MARQUES, C. G.; DIAS, P. Portugol IDE v3.x: A new environment to teach
and learn computer programming. IEEE International Engineering Education Conference
(EDUCON 2010). Madrid: [s.n.]. April 2010. p. 1007-1010.
MANSO, A.; OLIVEIRA, L.; MARQUES, C. G. Ambiente de Aprendizagem de
Algoritmos - Portugol IDE. Challenges 2009 - VI Conferncia Internacional de TIC na
Educao. Braga: [s.n.]. 2009.
MANSUR, A. F. U. et al Novos rumos para a Informtica na Educao pelo uso da
Computao em Nuvem (Cloud Education): Um estudo de Caso do Google Apps. 16
CIAED - Congresso Internacional ABED de Educao a Distncia. Foz do Iguau: ABED -
Associao Brasileira de Educao a Distncia. 2010.
MARCELINO, M.; MIHAYLOV, T.; MENDES, A. H-SICAS: a Handheld Algorithm
Animation and Simulation Tool to Support Initial Programming Learning. 38th ASEE/IEEE
Frontiers in Education Conference (FIE). Saratoga Springs: [s.n.]. 2008. p. T4A-7 - T4A-12.
MCDOUGALL, A.; SQUIRES, D. An Empirical Study of a New Paradigm for Choosing
Educational Software. Computers & Education, Oxford, 25, n. 3, November 1995. 93-103.
MCGETTRICK, A. et al Grand Challenges in Computing - Education. [S.l.]: The British
Computer Society (BCS), v. 4, 2004. ISBN 1-902505-63-8.


139

MEC. Guia de Tecnologias Educacionais 2009. Ministrio da Educao e Cultura,
Secretaria de Educao Bsica. Braslia, p. 170. 2009. (978-85-7783-003-9). Organizao:
Cladio Fernando Andr.
MELO, R. C.; CHURRO, L. Computao em Nuvem para Servios de TICs: Estudo de
Caso em uma Instituio de Ensino Superior. XXI Simpsio Brasileiro de Informtica na
Educao (SBIE 2010). Joo Pessoa: [s.n.]. 2010.
MENDES, A. J. N. Software educativo para apoio aprendizagem de programao.
Taller Internacional de Software Educativo (TISE). Santiago: [s.n.]. 2001. Disponvel em:
http://www.c5.cl/ieinvestiga/actas/tise01/pags/charlas/charla_mendes.htm. Acesso em: maio
de 2011.
MENDES, A. J. N.; GOMES, A. J. Suporte aprendizagem da programao com o
ambiente SICAS. V Congresso Iberoamericano de Informtica Educativa (RIBIE). Via del
Mar, Chile: [s.n.]. 2000. Disponvel em:
http://www.niee.ufrgs.br/eventos/RIBIE/2000/papers/083.htm. Acesso em: junho de 2011.
MIRANDA, G. L. Limites e Possibilidades das TIC na Educao. Ssifo - Revista de
Cincias da Educao, Lisboa, p. 41-50, maio/agosto 2007. ISSN ISSN 1646-4990.
MORAN, J. M. Ensino e Aprendizagem Inovadores com Tecnologias. Informtica na
Educao: Teoria & Prtica, Porto Alegre/RS, v. 3, n. 1, p. 137-144, Junho 2000. ISSN
1982-1654.
MORAN, J. M. O que educao a distncia. Site do Professor Jos Manuel Moran, 2002.
Disponivel em: <http://www.eca.usp.br/prof/moran/dist.htm>. Acesso em: 18 Julho 2011.
MORELATO, L. D. A. et al Avaliando Diferentes Possibilidades de uso da Robtica.
REnCiMa - Revista de Ensino de Cincias e Matemtica, v. 1, n. 2, p. 80-86,
Julho/Dezembro 2010. ISSN 2179-426X.
MURPHY, G. C.; KERSTEN, M.; FINDLATER, L. How are Java software developers using
the Elipse IDE? IEEE Software, 23, n. 4, July-Aug 2006. 76-83.
NIST. National Institute of Standards and Technology. Information Technology
Laboratory, 2011. Disponivel em: <http://csrc.nist.gov/>. Acesso em: Fevereiro 2011.


140

OLIVEIRA, F. B. D. Tecnologia da Informao e da Comunicao - Desafios e Propostas
Estratgicas para o Desenvolvimento dos Negcios. Rio de Janeiro: Pearson Prentice Hall :
Fundao Getulio Vargas, 2006. 240 p. ISBN 85-7605-065-X.
OLIVEIRA, I. L. L. D.; GUIMARES, S. U.; GUIMARES, S. U. Educao a Distncia:
uma proposta de ensino para Geometria. XIII Conferncia Interamericana de Educao
Matemtica (CIAEM). Recife/PE: [s.n.]. 2011. p. 1-12.
ONG, W. J. Orality and Literacy: The Technologizing of the Word. Londres: Routledge,
1982. 201 p. ISBN 0-415-02796-9.
ORGERIE, A.-C.; ASSUNO, M. D. D.; LEFVRE, L. Energy Aware Clouds. In:
CAFARO, M.; ALOISIO, G. Grids, Clouds and Virtualization. [S.l.]: Computer
Communications and Networks (Springer), 2011. Cap. 7, p. 143-166. ISBN 978-0-85729-
048-9.
OTA. Power On! New Tools for Teaching and Learning. U.S. Congress, Office of
Technology Assessment, OTA-SET-379. Washington, p. 246. 1988. (LCCCN: 88-600551).
PAPERT, S. Mindstorms: children, computers, and powerful ideas. 1. ed. New York City:
Basic Books, Inc., 1980. 230 p. ISBN 0-465-04627-4.
PAULA FILHO, W. D. P. Engenharia de Software: Fundamentos, Mtodos e Padres. Rio
de Janeiro: LTC - Livros Tcnicos e Cientficos Editora S/A, 2001. ISBN 85-21613-39-3.
PELGRUM, W. J.; PLOMP, T. The use of Computers in Education in 18 Countries. Studies
In Educational Evaluation, 12, n. 2, 1993. 101-125.
PEREIRA, A. T. C.; SCHMITT, V.; DIAS, M. R. . C. Ambientes Virtuais de
Aprendizagem. In: PEREIRA, A. C. AVA - Ambientes Virtuais de Aprendizagem em
Diferentes Contextos. Rio de Janeiro/RJ: Cincia Moderna, 2007. Cap. 1, p. 1-22.
PUCCI, L. F. S.; BAUER, C. Tecnologia Educacional no Ensino de Fsica e de Cincias da
Natureza, nos Depoimentos de Pesquisadores Protagonistas: Construtivismo versus
Instrucionismo, Concreto versus Virtual. EcooS - Revista Cientfica, So Paulo/SP, v. 10, n.
2, p. 361-378, Julho/Dezembro 2008.
QUEME, C. RobotProg. Site da Physics Box, 2005. Disponivel em:
<http://www.physicsbox.com/indexrobotprogen.html>. Acesso em: maio 2011.


141

RAPKIEWICZ, C. E. et al Estratgias Pedaggicas no Ensino de Algoritmos e Programao
Associadas ao Uso de Jogos Educacionais. Renote - Novas Tecnologias na Educao, v. 4,
n. 2, p. 1-11, Dezembro 2006. ISSN 1679-1916.
REATEGUI, E. B.; BOFF, E. A Avaliao de Softwares Educativos. Revista
Interatividades, Gravata, v. 10, p. 1-10, 2007. ISSN 1677-3543. Disponvel em:
http://gravatai2.ulbra.tche.br/interatividades/avaliacaosoftware.html. Acesso em maio de
2011.
REGO, T. C. Vygotsky: Uma Perspectiva Histrico-Cultural da Educao. 17. ed.
Petrpolis: Vozes Ltda, 1994. ISBN 85.326.1345-4.
RITTINGHOUSE, J. W.; RANSOME, J. F. Cloud Computing: Implementation,
Management and Security. [S.l.]: CRC Press, 2010. 340 p. ISBN 978-1-4398-0680-7.
RVOLLI, A.; GUIMARES, M. D. P.; MOREIRA, D. D. A. Uma Estratgia Colaborativa
para Complementar o Ensino e Aprendizagem. VII Simpsio Brasileiro de Sistemas
Colaborativos (SBSC). Belo Horizonte: Sociedade Brasileira de Computao (SBC). 2010. p.
133-139.
ROBERTS, E. An overview of MiniJava. 32nd Technical Symposium on Computer Science
Education (SIGCSE). Charlotte: ACM. 2001. p. 1-5.
ROCHA, H. V. D. O Ambiente Teleduc para Educao a Distncia Baseada na Web:
Princpios, Funcionalidades e Perspectivas de Desenvolvimento. In: MORAES, M. C.
Educao a Distncia: Fundamentos e Prticas. Campinas/SP: Unicamp/NIED, 2002. Cap.
11, p. 197-204.
ROCHE, K.; DOUGLAS, J. Beginning Java Google App Engine. New York:
Springer/Apress, 2009. ISBN 978-1-4302-2554-6.
SANTOS, R. P. D.; COSTA, H. A. X. TBC-AED e TBC-AED/WEB: Um Desafio no
Ensino de Algoritmos, Estruturas de Dados e Programao. IV Workshop em Educao em
Computao e Informtica do Estado de Minas Gerais (WEIMIG). Varginha: [s.n.]. 2005. p.
15.


142

SANTOS, R. P. D.; COSTA, H. A. X. Anlise de Metodologias e Ambientes de Ensino para
Algoritmos, Estruturas de Dados e Programao aos iniciantes em Computao e Informtica.
INFOCOMP - Journal of Computer Science, Lavras, 5, n. 1, Maro 2006. 41-50.
SARAIVA, A. V. Utilizao da Abordagem Goal-Question-Metrics (GQM) na
Elaborao e Execuo de Planos de Avaliao de Usabilidade de Software : Um Estudo
Emprico sobre um Software Agropecurio. Universidade Metodista de Piracicaba -
Faculdade de Cincias Exatas e da Natureza. Piracicaba/SP, p. 125. 2006. Dissertao de
Mestrado.
SCHAFF, A. A Sociedade Informtica. Traduo de Carlos Eduardo Jordo Machado e Luiz
Arturo Obojes. 4. ed. So Paulo: Brasiliense, 1995. 157 p. ISBN 85-7139-094-0.
SETZER, V. W. Dado, Informao, Conhecimento e Competncia. DataGramaZero -
Revista de Cincia da Informao, Rio de Janeiro/RJ, v. 0, n. 1, Dezembro 1999. ISSN
1517-3801. Disponvel em: http://www.dgz.org.br/dez99/F_I_art.htm. Acesso em: julho de
2011.
SILVA, H. V. D. R. C. Representaes Computacionais Auxiliares ao Entendimento de
Conceitos de Programao. Universidade Estadual de Campinas (Unicamp). Campinas, p.
461. 1991. Tese (Doutorado em Engenharia Eltrica).
SILVA, I. F. A. D.; SILVA, I. M. M.; SANTOS, M. S. Anlise de Problemas e Solues
Aplicadas ao Ensino de Disciplinas Introdutrias de Programao. IX JORNADA DE
ENSINO, PESQUISA E EXTENSO (JEPEX). Recife: Universidade Federal Rural de
Pernambuco (UFRPE). 2009.
SILVA, K. F. O Processo de Ensino Aprendizagem Apoiado pelas TICs: Repensando
Prticas Educacionais. Unio Educacional Minas Gerais - Uniminas. Uberlndia, p. 14.
2008. Trabalho de Concluso de Curso de Especializao em Tecnologias Digitais Aplicadas
Educao.
SILVA, K. F. O Processo de Ensino Aprendizagem Apoiado pelas TICs: Repensando
Prticas Educacionais. Unio Educacional Minas Gerais - Uniminas. Uberlndia, p. 14.
2008.


143

SILVA, R. J. D. S. Avaliao de Software Educacional: critrios para definio da
qualidade do produto. III Simpsio Nacional ABCiber. So Paulo/SP: Escola Superior de
Propaganda e Marketing (ESPM). 2009. p. 1-15.
SILVEIRA, I. F. Linguagem Java. Info Wester, 2003. Disponivel em:
<http://www.infowester.com/lingjava.php>. Acesso em: Junho 2011.
SIMES, V. A. P. Utilizao de Novas Tecnologias Educacionais nas Escolas da Rede
Estadual da Cidade de Umuarama. Universidade Federal de Uberlndia (UFU).
Uberlndia, p. 119. 2002. Dissertao (mestrado).
SOMMERVILLE, I. Engenharia de Software. Traduo de Andr Maurcio de Andrade
Ribeiro. So Paulo: Addison Wesley, 2003. ISBN 85-88939-07-6. Ttulo Original: Software
Engineering, 6th Edition.
SOUZA, C. M. D. VisuAlg - Ferramenta de Apoio ao Ensino de Programao. TECCEN -
Revista Eletrnica do Centro de Cincias Exatas, Tecnolgicas e da Natureza,
Vassouras/RJ, v. 2, n. 2, p. 1-9, Setembro 2009. ISSN 1984-0993.
TAURION, C. Cloud Computing: Computao em Nuvem: Transformando o Mundo da
Tecnologia da Informao. Rio de Janeiro: Brasport, 2009. ISBN ISBN: 978-85-7452-423-8.
TEDESCO, P. C. D. A. R.; GOMES, A. S. Amadeus: A Framework To Support Multi-
Dimensional Learner Evaluation. In: KWAN, R., et al Web-based Learning: Men &
Machines. Hong Kong: World Scientific Publishing Co. Pte. Ltd., v. 1, 2002. Cap. 21, p. 230-
241. ISBN 981-238126-0. Proceedings of the 1st International Conference on Web-Based
Learning (ICWL).
TEIXEIRA, J. D. F. Uma Discusso Sobre a Classificao de Software Educacional de
Acordo com o Paradigma Educacional Predominante. Revista Eletrnica Informao e
Tecnologia, Campinas, 2001. Disponvel em:
http://www.ccuec.unicamp.br/revista/infotec/artigos/jacqueline.html. Acesso em: maio de
2011.
TIEN, J. M.; GOLDSCHMIDT-CLERMONT, P. J. Healthcare: A Complex Service System.
Journal of Systems Science and Systems Engineering, 18, Sep 2009. 257-282.


144

TRINDADE, S. P.; FRANA, R. L. A Educao Distncia no Brasil: Uma Abordagem
Introdutria sobre esse Fenmeno. Ensino em Re-Vista, v. 13, n. 1, p. 119-129, Julho 2005.
ISSN 1983-1730.
VALENTE, J. A. Por Qu o Computador na Educao? In: VALENTE, J. A. Computadores
e Conhecimento: repensando a educao. Campinas/SP: Grfica da UNICAMP, 1993. Cap.
2, p. 24-44.
VALENTE, J. A. Diferentes usos do Computador na Educao. In: VALENTE, J. A.
Computadores e Conhecimento: Repensando a Educao. Campinas: Ncleo de Informtica
Aplicada Educao - NIED/UNICAMP, 1995. Cap. 1, p. 1-28.
VALENTE, J. A. Anlise dos Diferentes Tipos de Software Usados na Educao. In:
VALENTE, J. A. O Computador na Sociedade do Conhecimento. So Paulo: Ncleo de
Informtica Aplicada Educao/Universidade Estadual de Campinas (NIED/Unicamp),
1999. Cap. 4, p. 156.
VAQUERO, L. M. et al A Break in the Clouds: Towards a Cloud Definition. ACM
SIGCOMM Computer Communication Review, New York, 39, January 2009. 50-55.
VELTE, A. T.; VELTE, T. J.; ELSENPETER, R. Cloud Computing: A Practical Approach.
[S.l.]: McGraw Hill, 2010. 353 p. ISBN 978-0-07-162694-1.
VIEIRA, F. M. S. Avaliao de Software Educativo: Reflexes para uma Anlise Criteriosa.
Rede de Educao e Tecnologia, Campinas, 1999. Textos Online. Disponvel em:
http://edutec.net/Textos/Alia/MISC/edmagali2.htm. Acesso em: maio de 2011.
WANGENHEIM, C. A. G. V. Utilizao do GQM no Desenvolvimento de Software.
Universidade do Vale do Rio dos Sinos (UNISINOS). [S.l.], p. 44. 2000. Tutorial (Apostila).
WIKIPDIA, C. D. Aprendizagem. WIKIPDIA, a enciclopdia livre, 2011. Disponivel
em: <http://pt.wikipedia.org/w/index.php?title=Aprendizagem&oldid=25778100>. Acesso
em: 15 Julho 2011.
WYLD, D. C. Moving to the Cloud: An Introduction to Cloud Computing in
Government. IBM Center for The Business of Government. Washington, p. 81. 2009.
Technical Report.


145

YADAV, S. S.; HUA, Z. CLOUD: A Computing Infrastructure on Demand. 2nd
International Conference on Computer Engineering and Technology (ICCET). Chengdu:
IEEE. 2010. p. V1-423 - V1426.
ZHANG, Q.; CHENG, L.; BOUTABA, R. Cloud computing: State-of-the-art and Research
Challenges. Journal of Internet Services and Applications, 1, May 2010. 7-18.
ZHANG, S. et al Cloud Computing Research and Development Trend. 2nd International
Conference on Future Networks. Sanya: IEEE Computer Society. 2010. p. 93-97.
ZOHO. Zoho Creator. PaaS, 2011. Disponivel em:
<http://www.zoho.com/creator/paas.html>. Acesso em: Fevereiro 2011.




146

APNDICE A REQUISITOS FUNCIONAIS
Requisitos funcionais do mdulo de Orientao a Objeto do PuzzlEdu.
ID Nome Descrio Prior. Entrada Sada
RF01 Criar classe Cria uma classe dentro do
programa a ser desenvolvido
ESS - Tipo de classe
(para o caso de
ser abstrata)
Classe com
nenhuma
propriedade
RF02 Alterar classe Altera o nome da classe IMP - Classe
selecionada
Nome da classe
alterado
RF03 Excluir classe Remove uma classe do
programa
IMP - Classe
selecionada
Classe e
propriedades
removidas
RF04 Criar mtodo Cria um mtodo de uma
classe
ESS - Classe
selecionada
- Tipo de
mtodo (para o
caso de ser
abstrato)
- Parmetros de
entrada (se
houver)
- Tipo da sada
(se houver)
Mtodo criado
relacionado a uma
classe
RF05 Alterar mtodo Altera o nome ou o tipo ou o
parmetro de entrada ou o
tipo da sada
IMP - Mtodo
selecionado
Dados alterados
RF06 Excluir mtodo Remove o mtodo da classe IMP - Mtodo
selecionado
Mtodo removido
RF07 Criar atributo Cria um atributo ESS - Classe (para
atributo de
classe) ou
- Mtodo (para
atributo de
instncia)
selecionado
- Tipo do
atributo (inteiro,
texto e ponto
flutuante)
- Valor inicial
Atributo criado
RF08 Alterar atributo Altera nome, tipo e valor
inicial
IMP - Atributo
selecionado
Dados alterados
RF09 Excluir atributo Remove atributo IMP - Atributo
selecionado
Atributo removido
RF10 Criar Instncia Cria uma instncia (objeto) ESS - Classe Objeto da classe


147

de uma classe selecionada
RF11 Remover Instncia Remove o objeto da classe IMP - Instncia
selecionada
Instncia
removida
RF12 Criar Interface Cria classes do tipo Interface
do programa a ser
desenvolvido
IMP - Interface com
nenhuma
propriedade
RF13 Alterar Interface Altera o nome da Interface IMP - Interface
selecionada
Nome da Interface
alterado
RF14 Excluir Interface Remove uma interface do
programa
IMP - Interface
selecionada
Interface do
programa
removida e
ligao com classe
removida
RF15 Implementar
Interface
Faz uma classe estar
relacionada a uma Interface
para implementar as
propriedades da Interface
IMP - Interface e
classe
selecionadas
Classe relacionada
a uma interface
para
implementao
RF16 Atribuir imagem Atribui uma imagem a uma
classe (todas as instncias
tero a mesma imagem)
IMP - Classe
selecionada
Imagem na tela
para representao
da classe
RF17 Alterar modificador
de acesso
Altera o modificador de
acesso (pblico, privado ou
protegido) de classes ou
propriedades
DES - Classe ou
propriedade
selecionada
Modificador de
acesso alterado
RF18 Implementar
mtodo
Implementa as aes a serem
executadas pelo mtodo
ESS - Mtodo
selecionado
Mtodo
implementado
RF19 Manipular Herana Possibilita a herana entre
classes
ESS - Classe
selecionada
Herana gerada
RF20 Disponibilizar
exemplo
Disponibiliza uma classe de
exemplo na tela inicial para
facilitar o entendimento
ESS - Classe Hello
World





148

Requisitos funcionais do mdulo estrutural do PuzzlEdu.
ID Nome Descrio Prior. Entrada Sada
RF21 Manipular tipos Manipula os tipos de dados
(inteiro, texto, ponto
flutuante e lgico) para tratar
com clculos, concatenaes
ou expresses lgicas
ESS - -
RF22 Manipular atributos Manipula atributos
modificando seus valores,
seu tipo de dado e
modificadores de acesso
ESS - Varivel
selecionada
Varivel alterada
RF23 Ler dados L dados inseridos atravs de
dispositivo de entrada
(teclado)
ESS - Valor atribudo ou
informao
guardada em
memria
RF24 Escrever dados Escreve dados na sada
padro (monitor)
ESS - - Dados na sada
padro
RF25 Realizar operaes
aritmticas
Realiza operaes
matemticas de adio,
subtrao, multiplicao e
diviso, potenciao,
radiciao, operador de resto
(mod) e quociente (div) de
diviso inteira
ESS - Duas variveis
selecionadas
- Operao
realizada
RF26 Realizar operaes
relacionais
Realiza comparaes entre
dois valores de mesmo tipo
(igual, maior, menor, maior
ou igual, menor ou igual e
diferente)
ESS - Duas variveis
selecionadas
- Operao
realizada
RF27 Realizar operaes
lgicas
Realiza operaes lgicas
(AND, OR e NOT)
DES - Uma (para
NOT) ou duas
(para AND ou
OR) variveis
selecionadas
- Operao
realizada
RF28 Verificar
prioridades
Verifica a prioridade dos
operadores em uma
expresso
IMP - -
RF29 Estruturar selees Responsvel pelas estruturas
de seleo simples (se-ento-
fimse), compostas (se-ento-
seno-fimse) e de mltipla
escolha (escolha-caso-caso
contrrio-fimescolha)
IMP - -
RF30 Estruturar
repeties
Responsvel pelas estruturas
de repetio com teste no
incio (enquanto-
fimenquanto), com teste no
fim (repita-at) e com
varavel de controle (para-
de-at-passo-faa-fimpara)
IMP - -


149

RF31 Estruturar dados Responsvel pelas estruturas
unidimensionais (vetores) e
multidimensionais (matrizes)
DES - -




150

Requisitos funcionais do mdulo gerenciador do PuzzlEdu.
ID Nome Descrio Prior. Entrada Sada
RF32 Gerar cdigo Gera o cdigo em alguma
linguagem de programao
especfica (Java)
DES - Linguagem
selecionada
Cdigo gerado na
rea de cdigo
RF33 Gerar script de
execuo
Empilha lista de comandos
para execuo
ESS - Comandos
estruturais
Execuo do
programa
RF34 Executar programa Executa o programa criado ESS - Programa executa
na rea de
execuo
RF35 Pausar programa Pausa a execuo do
programa
DES - Programa em
execuo
Programa pausa
sua execuo
RF36 Parar programa Para a execuo do
programa, mesmo estando
em pausa
DES - Programa em
execuo ou
pausado
Para a execuo
de um programa
RF37 Criar novo projeto
de programa
Cria um novo ambiente para
programao a partir do
incio
IMP - Ambiente pronto e
limpo para
criao de novo
programa
RF38 Abrir projeto de
programa
Abre um projeto de
programa salvo
anteriormente na conta do
usurio ou na mquina local
ESS - - Projeto aberto
RF39 Salvar projeto do
programa
Salva o estado atual do
projeto do programa que est
sendo construdo ou salva
como um novo projeto do
programa
ESS - Projeto do
programa aberto
Estado atual salvo
ou novo projeto
criado
RF40 Exportar projeto do
programa
Exporta um projeto de
programa como cdigo (s o
cdigo em alguma
linguagem de programao -
Java) ou como imagem (JPG
ou PNG)
DES - Projeto do
programa aberto
Projeto exportado
para mquina
local
RF41 Importar projeto do
programa
Importa um projeto criado
por outro usurio
DES - -
RF42 Imprimir projeto do
programa
Imprime o projeto do
programa ou o cdigo na
linguagem escolhida
ESS - -




151

APNDICE B QUESTIONRIOS APLICADOS
Com base nas questes levantadas durante a fase do desenvolvimento do plano GQM,
confeccionou-se um questionrio utilizando-se do construtor de formulrios disponibilizado
pela Google. Exibe-se na figura abaixo a tela inicial do questionrio elaborado. Nas prximas
pginas esto os trs conjuntos de questionrios, que se utilizaram do mesmo template da
figura.

Cada opo aponta para o questionrio adequado a cada perfil de avaliador. O Grupo 1
(alunos sem conhecimento de POO), ao final da avaliao, optam por resolver um exerccio
para verificar o conhecimento adquirido com o uso do PuzzlEdu. Os questionrios e
exerccios foram disponibilizados nas prximas pginas, de acordo com os perfis.



152

Questionrio de avaliao do PuzzlEdu

Alunos sem nenhum conhecimento de OO (Grupo 1)
O questionrio abaixo direcionado apenas aos alunos que nunca viram os conceitos e caractersticas do
paradigma da programao orientada a objetos. Se esse no for seu caso, por favor, retorne ao formulrio
anterior e mude o nvel selecionado.

Objetivo G1
Verificar conceitos de Orientao a Objetos sob o ponto de vista do Grupo 1.

Q01: A descrio das definies dos conceitos e caractersticas relativas OO apresentados so claros e
entendveis?

Sim.

No.

Precisa melhorar.

Q02: Os conceitos e caractersticas definidos so claros e objetivos?

Sim.

No.

Precisa melhorar.

Objetivo G2
Verificar usabilidade da interface com o usurio sob o ponto de vista do Grupo 1.

Q01: fcil perceber o que fazer quando no primeiro acesso ferramenta?

Sim.

No.

Precisa melhorar.

Q02: Os textos apresentados em menus, caixas de texto, dicas, botes, cones etc., so claros?

Sim.

No.

Precisa melhorar.

Q03: A ferramenta oferece documentao de fcil acesso e entendimento?

Sim.

No.

Precisa melhorar.

Objetivo G3
Verificar eficincia da ferramenta sob o ponto de vista do Grupo 1.

Q01: As funcionalidades so executadas em um tempo aceitvel?

Sim.

No.

Precisa melhorar.

Q02: A ferramenta possibilita a aprendizagem correta dos conceitos de OO?

Sim.

No.

Precisa melhorar.






153

Objetivo G4
Verificar funcionalidades da ferramenta sob o ponto de vista do grupo 1.

Q01: Foi possvel imprimir o cdigo-fonte gerado sem dificuldades?

Sim.

No.

Precisa melhorar.

Q02: Foi possvel salvar projetos sem dificuldades?

Sim.

No.

Precisa melhorar.

Q03: Foi possvel carregar projetos salvos sem dificuldades?

Sim.

No.

Precisa melhorar.

Q04: Qual o nvel de dificuldade para desenvolver uma aplicao bsica?
0 1 2 3 4 5 6 7 8 9 10
Nenhuma
dificuldade.

Dificuldade
excessiva.

Objetivo G5
Verificar aspectos gerais da ferramenta sob o ponto de vista do Grupo 1.

Q01: Voc retornaria a utilizar essa ferramenta para tirar dvidas conceituais de OO?

Sim.

No.

Precisa melhorar.

Q02: Quais suas observaes e sugestes acerca da ferramenta?
No espao abaixo, descreva todas as sugestes, crticas, elogios ou demais observaes acerca da ferramenta
testada. Caso no queira opinar escreva apenas: "Sem comentrios".



Lista de Verificao de Aprendizagem (Grupo 1)

Objetivo G6
Avaliar aprendizado adquirido com exerccio sob o ponto de vista do Grupo 1. Q22: Lista de exerccios sobre os
conhecimentos apresentados com o uso da ferramenta.

1) Herana um conceito onde:

Uma classe possui alguns mtodos e atributos de outra classe.

Uma classe possui apenas os mtodos de outra classe.

Uma classe possui todos os mtodos e todos os atributos de outra classe.

Uma classe possui apenas os atributos de outra classe.

No sei.

2) O polimorfismo ocorre quando:

Uma classe muda de tamanho (quantidade de mtodos e atributos).

Os mtodos e atributos so alterados dentro de uma mesma classe.

Uma classe tem seus mtodos e atributos assinados e declarados de forma diferente.


154


Quando uma classe filha altera um ou mais mtodos de uma classe pai.

No sei.

3) A diferena entre uma classe abstrata e uma classe concreta :

Uma classe abstrata necessita de uma classe concreta para existir.

Uma classe abstrata sempre uma superclasse para uma classe concreta e no pode ter instncias.

Uma classe abstrata, assim como classes concretas, pode ter instncias.

Uma classe concreta sempre uma superclasse para uma classe abstrata e pode ter instncias.

No sei.

4) Mtodos e atributos representam, respectivamente:

Os comportamentos e os estados de uma classe/objeto.

As funes e as variveis de uma classe.

Uma estrutura de dados e um conjunto de operaes de uma classe/objeto.

As mensagens e caractersticas de uma classe/objeto.

No sei.

5) Implementar uma Interface significa:

Definir os comportamentos de seus mtodos na prpria Interface.

Construir objetos grficos para acesso do usurio.

Definir os comportamentos de seus mtodos em uma classe que a utiliza.

Construir os mtodos e atributos que a compe.

No sei.

6) Sobrecarga de mtodos um exemplo de qual conceito ou caracterstica da POO?

Interface

Polimorfismo

Herana

Encapsulamento

No sei.

7) Algumas linguagens orientadas a objetos no permitem herana mltipla. Isso contornado utilizando-
se:

Interface

Polimorfismo

Classes abstratas

Encapsulamento

No sei.

8) Uma classe possui 3 mtodos concretos e 1 mtodo abstrato. Qual a afirmativa correta com relao a
esse enunciado?

Pode-se criar instncias normalmente, mas apenas 4 mtodos sero acessveis.

Haver erro de compilao pois no possvel uma classe conter mtodos concretos e abstratos,
simultaneamente.

Esta classe ser necessariamente uma classe abstrata, devendo todos os seus mtodos serem modificados
para serem abstratos tambm.

Esta classe ser necessariamente uma classe abstrata, devendo seus mtodos abstratos serem
implementados nas classes que a herdam.

No sei.

9) Capacidade de ocultar dados dentro de modelos, permitindo que somente operaes especializadas ou
dedicadas manipulem estes dados ocultos chama-se:

Interface

Polimorfismo

Herana

Encapsulamento

No sei.


155


10) Atributos de uma Interface obrigatoriamente devem ser:

Estticos

Abstratos

Privados

Constantes

No sei.




156

Questionrio de avaliao do PuzzlEdu

Alunos com conhecimentos prvios de OO (Grupo 2)
O questionrio abaixo direcionado apenas aos alunos que j viram os conceitos e caractersticas do paradigma
da programao orientada a objetos em alguma disciplina do curso de graduao. Se esse no for seu caso, por
favor, retorne ao formulrio anterior e mude o nvel selecionado.

Objetivo G1
Verificar conceitos de Orientao a Objetos sob o ponto de vista do Grupo 2.

Q01: disponibilizada a definio de conceitos e caractersticas relativos a Orientao a Objetos a
medida que estes so manipulados?

Sim.

No.

Precisa melhorar.

Q02: Foi mostrado corretamente como fazer uma herana entre classes??

Sim.

No.

Precisa melhorar.

Q03: O conceito de classe abstrata e concreta foi respeitado?
Pergunta relacionada ao manuseio desses tipos de classes na ferramenta.

Sim.

No.

Precisa melhorar.

Q04: O uso de Interfaces foi claro?

Sim.

No.

Precisa melhorar.

Q05: A manipulao dos comportamentos e estados dos objetos foi satisfatria?

Sim.

No.

Precisa melhorar.

Objetivo G2
Verificar usabilidade da interface com o usurio sob o ponto de vista do Grupo 2.

Q01: fcil perceber o que fazer quando no primeiro acesso ferramenta?

Sim.

No.

Precisa melhorar.

Q02: Os textos apresentados em menus, caixas de texto, dicas, botes, cones etc., so claros?

Sim.

No.

Precisa melhorar.

Q03: A ferramenta oferece documentao de fcil acesso e entendimento?

Sim.

No.

Precisa melhorar.

Objetivo G3


157

Verificar eficincia da ferramenta sob o ponto de vista do Grupo 2.

Q01: As funcionalidades so executadas em um tempo aceitvel?

Sim.

No.

Precisa melhorar.

Q02: A ferramenta proporciona o uso correto dos conceitos de OO?

Sim.

No.

Precisa melhorar.

No se aplica.

Objetivo G4
Verificar funcionalidades da ferramenta sob o ponto de vista do grupo 2.

Q01: Foi possvel imprimir o cdigo-fonte gerado sem dificuldades?

Sim.

No.

Precisa melhorar.

Q02: Foi possvel salvar projetos sem dificuldades?

Sim.

No.

Precisa melhorar.

Q03: Foi possvel carregar projetos salvos sem dificuldades?

Sim.

No.

Precisa melhorar.

Q04: Qual o nvel de dificuldade para desenvolver uma aplicao bsica?
0 1 2 3 4 5 6 7 8 9 10
Nenhuma
dificuldade.

Dificuldade
excessiva.

Q05: Qual o nvel de dificuldade para desenvolver uma aplicao com nvel maior de complexidade?
0 1 2 3 4 5 6 7 8 9 10
Nenhuma
dificuldade.

Dificuldade
excessiva.

Objetivo G5
Verificar aspectos gerais da ferramenta sob o ponto de vista do Grupo 2.

Q01: Voc indicaria essa ferramenta a outros alunos para auxiliar no aprendizado dos conceitos de OO?

Sim.

No.

Precisa melhorar.

Q02: Quais suas observaes e sugestes acerca da ferramenta?
No espao abaixo, descreva todas as sugestes, crticas, elogios ou demais observaes acerca da ferramenta
testada. Caso no queira opinar escreva apenas: "Sem comentrios".




158

Questionrio de avaliao do PuzzlEdu

Professores de disciplinas ligadas OO (Grupo 3)
O questionrio abaixo direcionado apenas aos professores que lecionam ou j lecionaram alguma disciplina em
que sua ementa apresenta o paradigma da programao orientada a objetos. Se esse no for seu caso, por favor,
retorne ao formulrio anterior e mude o nvel selecionado.

Observaes:
- Os guias so de execuo facultativa. Eles foram desenvolvidos principalmente para os grupos 2 e 3;
- Para prosseguir com a avaliao pede-se apenas que a ferramenta seja explorada minimamente.
- As questes abertas (subjetivas) s precisaro ser preenchidas se julgar necessrio algum
comentrio/observao.

Objetivo G1
Verificar conceitos de Orientao a Objetos sob o ponto de vista do Grupo 3.

Q01: Os principais conceitos e caractersticas do paradigma apresentados na ferramenta esto claros e
facilitam a assimilao?

Sim.

No.

Precisa melhorar.

Comentrios/observaes que julgar necessrio.


Q02: Os conceitos apresentados esto corretos?
A ferramenta disponibiliza as definies dos seguintes conceitos e caractersticas: classe, atributo, mtodo,
objeto, herana, interface, encapsulamento e polimorfismo.

Sim.

No.

Precisa melhorar.

Se sua resposta foi "No", informe quais conceitos esto incorretos.


Se sua resposta foi "Precisa melhorar", informe quais conceitos precisam ser melhorados?


Objetivo G2
Verificar usabilidade da interface com o usurio sob o ponto de vista do Grupo 3.

Q03: fcil perceber o que fazer quando no primeiro acesso ferramenta?

Sim.

No.

Precisa melhorar.

Q04: Os textos apresentados em menus, caixas de texto, dicas, botes, cones, etc., so claros?

Sim.

No.

Precisa melhorar.



159

Q05: A ferramenta oferece documentao de fcil acesso e entendimento?

Sim.

No.

Precisa melhorar.

Objetivo G3
Verificar eficincia da ferramenta sob o ponto de vista do Grupo 3.

Q01: As funcionalidades so executadas em tempo aceitvel?

Sim.

No.

Precisa melhorar.

Q02: A ferramenta proporciona ao aluno o acesso aos conceitos de OO?

Sim.

No.

Precisa melhorar.

Comentrios/observaes que julgar necessrio.


Objetivo G4
Verificar funcionalidades da ferramenta sob o ponto de vista do grupo 3.

Q01: Foi possvel imprimir o cdigo-fonte gerado sem dificuldades?

Sim.

No.

Precisa melhorar.

Q02: Foi possvel salvar projetos sem dificuldades?

Sim.

No.

Precisa melhorar.

Q03: Foi possvel carregar projetos salvos sem dificuldades?

Sim.

No.

Precisa melhorar.

Q04: Foi possvel desenvolver algum programa utilizando-se dos conceitos e caractersticas bsicas de
OO?

Sim.

No.

Precisa melhorar.

Objetivo G5
Verificar aspectos gerais da ferramenta sob o ponto de vista do Grupo 3.

Q01: Voc utilizaria essa ferramenta como apoio no ensino de OO?

Sim.

No.

Precisa melhorar.

Comentrios/observaes que julgar necessrio.


160



Q02: A ferramenta proporciona um ambiente interativo?

Sim.

No.

Precisa melhorar.

Comentrios/observaes que julgar necessrio.


Q03: A ferramenta permite fcil explorao de suas funcionalidades?

Sim.

No.

Precisa melhorar.

Comentrios/observaes que julgar necessrio.



Q04: A ferramenta proporciona um ambiente de aprendizagem por descoberta?

Sim.

No.

Precisa melhorar.

Comentrios/observaes que julgar necessrio.


Q05: A ferramenta apresenta um ambiente ldico e criativo?

Sim.

No.

Precisa melhorar.

Comentrios/observaes que julgar necessrio.


Q06: Quais suas observaes e sugestes de maneira geral acerca da ferramenta?
No espao abaixo, descreva todas as sugestes, crticas, elogios ou demais observaes acerca da ferramenta
testada. Caso no queira opinar escreva apenas: "Sem comentrios".





161

APNDICE C GUIA DE INSTRUES
Este o guideline utilizado pelos avaliadores para conhecer a ferramenta e
posteriormente responderem ao questionrio com base na experincia adquirida com o
manuseio do PuzzlEdu.

GUIA DE INTRUES (GUIDELINE)
Siga os passos abaixo. Eles serviro de base para sua avaliao da ferramenta no
formulrio de questes.
1) Conhecendo a ferramenta:
a. Abra seu browser padro e acesse o endereo: http://testpuzzledu.appspot.com/;
b. Sem clicar em nada, passeie com a seta do mouse pelos botes, janelas, reas e
demais componentes presentes na tela para ter acesso as hints (dicas) de cada um;
c. Clique no boto de documentao (representado por uma interrogao) e navegue
por seus tpicos. No necessrio ler todos os detalhes, apenas os tpicos. Mas
fique vontade para ler, caso queira;
d. Na janela de classes, observe a diferena de cores dos cones das classes Object e
Hello. A classe Object abstrata (da o cone branco) e est no topo da rvore
(hierarquia), ou seja, a superclasse de todas as outras classes. Todas as classes
herdaro dela. A classe Hello concreta (da o cone verde) e est ali apenas para
servir de modelo para construo de um programa;
e. Clique na classe Hello e observe a guia de Mtodos e Interfaces. H alguns
atributos e mtodos j criados, exibidos na guia Mtodos. Alguns so
provenientes de Interfaces. As Interfaces implementadas pela classe Hello esto
na guia Interface;
f. Clique com o boto direito do mouse na classe Hello e crie uma instncia (objeto
da classe);
g. Clique com o boto direito do mouse na classe Hello e a imagem;
h. Crie uma outra instncia da classe Hello;
i. Clique com o boto direito do mouse em uma das instncias criadas;
j. Clique no mtodo ShowMessage();


162

k. Digite algumas palavras e clique em Confirmar. Observe a janela de Script. Al
a pilha de comandos a serem executados pelas instncias;
l. Repita os passos f, g, h e i. Observe que cada instncia possui sua prpria pilha de
comandos;
m. Clique no boto Executar e observe o console e a rea de execuo;
n. Atualize a pgina. Leia as mensagens que surgem. possvel, portanto, salvar seu
projeto para no perder o que foi feito;
o. Clique no boto Novo. Agora possvel comear totalmente do zero.
2) Verificando conceitos de Herana:
a. Atualize a pgina para iniciar um projeto com a classe exemplo na tela;
b. Clique com o boto direito na classe Object e crie uma nova classe;
c. Tente escrever o nome da classe usando formatos invlidos (caracteres especiais,
palavras reservadas etc.);
d. Clique com o boto direito na classe Hello e crie uma nova classe;
e. Observe a no possibilidade de Herana Mltipla, ou seja, uma classe filha com
dois pais diferentes;
f. Observe as hierarquias e heranas ocorridas;
g. Crie alguns atributos e mtodos para a classe irm (mesma hierarquia) da classe
Hello;
h. Crie alguns atributos e mtodos para a classe filha (hierarquia abaixo) da classe
Hello;
i. Clique em cada uma das classes e observe a guia de mtodos;
j. Crie instncias de cada uma das classes e acesse seus mtodos. Observe todos os
mtodos e atributos presentes nas classes;
3) Verificando conceitos de classes abstratas:
a. Atualize a pgina para iniciar um projeto com a classe exemplo na tela;
b. Clique na classe Object e crie uma nova classe, mas com a opo Abstract
marcada;
c. Tente criar uma instncia dessa nova classe;
d. Altere essa classe para ser concreta (desmarcar a opo Abstract);
e. Tente criar uma instncia dessa nova classe;
4) Verificando conceitos de Interfaces:


163

a. Atualize a pgina para iniciar um projeto com a classe exemplo na tela;
b. Clique na classe Hello e observe seus mtodos e atributos;
c. Clique na classe Hello e Implemente uma Interface. Observe as Interfaces
disponveis. Elas disponibilizam caractersticas para funcionamento na
ferramenta;
d. Clique na guia Interfaces e observe as Interfaces implementadas pela classe Hello.
Note que h vrias Interfaces implementadas. Isso uma forma de contornar a no
possibilidade de herana mltipla;
5) Verificar conceitos de Encapsulamento:
a. Atualize a pgina para iniciar um projeto com a classe exemplo na tela;
b. Clique na classe Hello e crie uma nova classe;
c. Clique na classe Hello e crie atributos e mtodos privados;
d. Acesse a classe filha e observe quais mtodos e atributos esto disponveis;
6) Criando uma aplicao bsica (obrigatrio para o Grupo 1 e o Grupo 2):
a. Clique no boto Novo para criar um projeto em branco;
b. Criar uma classe abstrata com nome Eletrodomestico;
c. Criar os atributos pblicos (marque as opes Getter e Setter):
i. Ligado do tipo lgico (boolean);
ii. Voltagem do tipo inteiro (int);
iii. Consumo do tipo inteiro (int);
d. Criar uma classe concreta com nome TV herdando de Eletrodomestico;
e. Criar os atributos pblicos (marque as opes Getter e Setter)
i. Canal do tipo inteiro (int);
ii. Volume do tipo inteiro (int);
iii. Tamanho do tipo inteiro (int);
f. Criar uma instncia da classe TV;
g. Manipular os mtodos disponveis da classe TV (notar que mtodos da classe
Eletrodomestico esto disponveis para classe TV);
7) Criando uma aplicao mais complexa (obrigatrio apenas para Grupo 2):
a. Clique no boto Novo para criar um projeto em branco;
b. Criar uma classe abstrata com nome Animal;


164

c. Implementar a Interface Comunicvel para a classe Animal. Todo animal emite
um som. Esse som representado pelo mtodo mostrarMensagem(String:
mensagem);
d. Criar o atributo pblico Tamanho (opo Getter e Setter habilitado);
e. Criar uma classe concreta com nome Cachorro herdando de Animal;
f. Altere a imagem padro da classe Cachorro;
g. Criar uma classe concreta com nome Morcego herdando de Animal;
h. Altere a imagem padro da classe Morcego;
i. Criar uma classe concreta com nome Elefante herdando de Animal;
j. Altere a imagem padro da classe Elefante;
k. Criar instncias de cada uma das classes;
l. Posicione cada uma das instncias em fila, de cima para baixo;
m. Implementar a Interface Animvel para a classe Animal;
n. Clicar com boto direito em cada uma das instncias e manipular seus mtodos.
Para cada uma das instncias, faa:
i. Selecionar mtodo mostrarMensagem(String: mensagem) e escrever o
som caracterstico de cada animal;
ii. Selecionar o mtodo avanar() para que cada animal ande 50 passos
para frente;
iii. Selecionar a estrutura Repetio e escolher a quantidade 10 de
repeties, para o mtodo voltar() com valor de 5 passos;
iv. Selecionar mtodo mostrarMensagem(String: mensagem) e escrever o
som caracterstico de cada animal;
o. Clicar no boto Executar e verificar o resultado;
8) Navegao livre pela ferramenta por alguns minutos;
9) Responder s questes do questionrio disponvel em:
a. https://spreadsheets.google.com/spreadsheet/viewform?formkey=dHBXWTkwSEkxT1VITGlWT
FdKSU9Cb3c6MQ;
10) Obrigado pela sua participao e pacincia.

You might also like