CENTRO DE EDUCAÇÃO TECNOLÓGICA PAULA SOUZA ETEC DOUTOR DOMINGOS MINICUCCI FILHO Ensino Técnico em Informática Andrey Henrique Crespam Elias Francisco Ferreira Junior Mayara Caroline Keller Caetano DESENVOLVIMENTO DE UM SOFTWARE SIMULADOR DE QUESTÕES PARA CONCURSOS E VESTIBULARES Botucatu-SP 2016 Andrey Henrique Crespam Elias Francisco Ferreira Junior Mayara Caroline Keller Caetano DESENVOLVIMENTO DE UM SOFTWARE SIMULADOR DE QUESTÕES PARA CONCURSOS E VESTIBULARES Trabalho de Conclusão de Curso apresentado ao Curso Técnico em Informática da Etec Dr. Domingos Minicucci Filho orientado pelo Professor Arilson José De Oliveira Júnior parcial para obtenção do título de Técnico em Informática. Botucatu-SP 2016 DEDICATÓRIA Dedicamos esse trabalho principalmente a Deus, que nos deu condições para que ao final da jornada conseguissemos bons resultados e também aos professores da ETEC, pela dedicação a todos nós alunos. AGRADECIMENTO Agradecemos, acima de tudo, a Deus, por nos dar forças para conquistar todos os nossos objetivos. Agradecemos em especial nossos professores Igor Fernando de Oliveira e Arilson José de Oliveira Júnior, que foram orientadores extraordinários, competentes, que sempre estiveram presentes, esclarecendo nossas dúvidas com muita paciência, compartilhando seus conhecimentos e que além de professores se tornaram grandes amigos. E ao coordenador Felipe Pupo da Fonseca, por coordenar essa equipe de grandes profissionais. Também a todos os outros que contribuíram, diretamente ou indiretamente. “A verdadeira motivação vem de realização, desenvolvimento pessoal, satisfação no trabalho e reconhecimento.” Frederick Herzberg RESUMO Para alcançar qualquer cargo público efetivo e transformar-se em servidor público, o candidato deverá submeter-se previamente a um concurso público, conforme o artigo 37, II da Constituição Federal. Assim, a Constituição Federal é intransigente em relação à imposição à efetividade do princípio constitucional do concurso público, como regra a todas as admissões da administração pública. Visando obter sucesso em concurso público, um número cada vez maior de concorrentes adere e desenvolve diferentes metodologias para estudo. Objetivando o auxílio aos concorrentes com as mais diversas finalidades a avaliar suas defasagens e sucessos, testar seus conhecimentos e dessa forma alcançar êxito em sua empreitada estudantil, foi desenvolvido o software, utilizando-se de linguagem Object Pascal ambientado em Delphi para criação da interface e MySQL Query Browser para manipular os dados armazenados em MySQL. O software foi desenvolvido e demonstrou-se uma ferramenta funcional, cumprindo todas as perspectivas iniciais, de forma rápida e eficiente, com banco de questões confiável e uso simples para todos os usuários. Palavras Chave: Concursos. MySQL. Query Browser. Delphi. Estudos. ABSTRACT In order to achieve any effective public position and become a public servant, he must first submit himself to a public tender, according to article 37, II of the Federal Constitution. Thus, the Federal Constitution is intransigent regarding the imposition of the constitutional principle of public. All admissions of the public administration. In order to be successful in a public tender, more and more competitors adhere and develop different methodologies for study. With the objective of helping competitors with different purposes to evaluate their lags and successes, test their knowledge and thus achieve success in his student work, the software was developed, using Object Pascal language set in Delphi for interface creation and MySQL Query Browser to manipulate the data stored in MySQL. The software was developed and demonstrated a functional tool, fulfilling all the initial perspectives, quickly and efficiently, with reliable database issues and simple use for all users. Keywords: Contest. MySQL. Query Browser. Delphi. Research. LISTA DE ILUSTRAÇÕES Figura 1 – Modelo Conceitual.................................................................................... 12 Figura 2 - MySQL ..................................................................................................... 13 Figura 3 – MySQL Query Browser ........................................................................... 14 Figura 4 – Delphi 7 ...................................................... Erro! Indicador não definido. Figura 5 – Tela Inicial ............................................................................................... 17 Figura 6 – Tela Cadastro De Pergunta ..................................................................... 18 Figura 7 – Tela Do Simulador................................................................................... 19 SUMÁRIO 1 INTRODUÇÃO ....................................................................................................... 10 2 DESENVOLVIMENTO ........................................................................................... 12 2.1 MATERIAIS E MÉTODOS ....................................................................................... 12 2.1.1 MySQL ...................................................................................................... 13 2.1.2 MySQL Query Browser ............................................................................. 14 2.1.3 Delphi ........................................................................................................ 15 2.1.4 Zeos .......................................................................................................... 17 2.2 RESULTADOS ..................................................................................................... 18 3 CONCLUSÃO ........................................................................................................ 21 10 INTRODUÇÃO O concurso público é de suma importância para o estado, em suas mais diversas áreas como; saúde, gestão, humanas, administrativa e outros. E a cada dia que passa, vemos nos noticiários, várias reportagens nos mostrando que estão abertas as inscrições para vários tipos de concursos públicos no Brasil inteiro. O concurso público visa dar a chance para alguém que está procurando um emprego que lhe traga uma estabilidade financeira, mas este alguém deve ser um profissional qualificado para poder passar em todos os exames realizados. O concurso está previsto por lei em constituição federal: "Constituição Federal de 1988 Nós, representantes do povo brasileiro, reunidos em Assembléia Nacional Constituinte para instituir um Estado Democrático, destinado a assegurar o exercício dos direitos sociais e individuais, a liberdade, a segurança, o bem-estar, o desenvolvimento, a igualdade e a justiça como valores supremos de uma sociedade fraterna, pluralista e sem preconceitos, fundada na harmonia social e comprometida, na ordem interna e internacional, com a solução pacífica das controvérsias, promulgamos, sob a proteção de Deus, a seguinte CONSTITUIÇÃO DA REPÚBLICA FEDERATIVA DO BRASIL. Art. 37. A administração pública direta e indireta de qualquer dos Poderes da União, dos Estados, do Distrito Federal e dos Municípios obedecerá aos princípios de legalidade, impessoalidade, moralidade, publicidade e eficiência e, também, ao seguinte: (Redação dada pela Emenda Constitucional nº 19, de 1998) II - a investidura em cargo ou emprego público depende de aprovação prévia em concurso público de provas ou de provas e títulos, de acordo com a natureza e a complexidade do cargo ou emprego, na forma prevista em lei, ressalvadas as nomeações para cargo em comissão declarado em lei de livre nomeação e exoneração; (Redação dada pela Emenda Constitucional nº 19, de 1998)" O concurso seleciona os candidatos, através de uma prova composta de uma ou mais etapas, sendo a mais comum entre elas, a fase de prova objetiva, onde é exigido do candidato conhecimentos gerais e específicos, das mais diversas áreas, relacionadas ao cargo a ser concorrido. Além de ser sempre muito concorrido, as questões são bem elaboradas exigindo conhecimento profundo até mesmo de temas mais simples dentro da área de conhecimento bem como um método para a otimização resolução da avaliação, pessoas se dedicam ao estudo com objetivo primário desenvolver metodologia de estudo eficazes e obter sucesso na tentativa de ingressar como funcionário público. 11 Devido a falta de um software intuitivo, de fácil manuseio e composto de perguntas mais objetivas, o projeto vem para sanar essa lacuna com interface amigável, e possibilitando a inserção de novas perguntas, fazendo dele assim uma ferramenta maleável e possibilitando uma abordagem mais objetiva segundo as necessidades do usuário. Também fornece a possibilidade da análise das questões resolvidas, demonstrando a alternativa correta e a respondida pelo usuário, auxiliando assim o candidato em seus estudos, sejam eles voltados para concursos ou vestibulares. O projeto tem por objetivo auxiliar o candidato a estudar, e avaliar as áreas com maior defasagem, avaliar o nível de questões e oferece a possibilidade para o candidato iniciante de ter contato com questões selecionadas diretamente dos mais diversos concursos públicos, oferecendo assim ao usuário uma experiência do que é, e os assuntos a serem estudados 12 1 DESENVOLVIMENTO Com aproximadamente 41 mil vagas oriundas dos mais diversos concursos públicos em 2016 em todos os estados do Brasil, 2.364 instituições de ensino superior, centros universitários e institutos federais, em conjunto, ofertando aproximadamente 8,5 milhões de vagas para cursos superiores, é um campo que se mostra cada vez mais necessitado de uma ferramenta objetiva para auxiliar para estudantes em geral a alcançar sucesso no ingresso as devidas instituições. 1.1 Materiais e Métodos O projeto foi desenvolvido para a plataforma Microsoft Windows, utilizando linguagem Object Pascal com IDE Borland Delphi 7, com extensão ZEOS para integração com SQL, manipulando assim o Banco de dados. Utilizou-se SQL como banco dados e MyQueryBrowser para manipulação de dados dentro do mesmo. A estruturação do Banco de Dados onde foi armazenada perguntas, respostas e categorias, foi estruturada de forma que não se gera códigos redundantes, e a associação entre perguntas e respostas foi realizada para que, mesmo que existam duas respostas idênticas, e em posições idênticas, sejam apenas vinculadas a pergunta correta, anulando assim qualquer possibilidade de conflito de dados ocasionando erros no software, observa-se isso no diagrama abaixo. 13 Figura 1 - Modelo Conceitual Fonte: Simulador De Questões, 2016 1.1.1 MySQL SQL se tornou a escolha para o desenvolvimento do software devido a alguns fatores, dentre eles podemos citar que é protegido por licença aberta, se tornando assim um bando de dados gratuito; como lembra PACIEVTCH (2002), MySQL é de uma linguagem de amplo entendimento, várias linguagens de programação interagem com ele de forma simples, podemos citar Java, PHP, Delphi etc.; ele é leve, exigindo pouco processamento do computador, tornando o projeto mais leve e execução rápida, também é um banco de dados estável e confiável, devido a essas características, se mostrou a melhor escolha para o sucesso do software. O MySQL é um sistema gerenciador de banco de dados, criado na Suécia, por David Axmark, Allan Larsson e o finlandês Michael Widenius. Eles começaram o projeto em 1980 relacional de código aberto usado na maioria das aplicações gratuitas para gerir suas bases de dados. O serviço utiliza a linguagem SQL (Structure Query Language – Linguagem de Consulta Estruturada), que é a 14 linguagem mais popular para inserir, acessar e gerenciar o conteúdo armazenado num banco de dados. O MySQL é protegido por uma licença de software livre, algumas das vantagens do Mysql em relação a outros bancos de dados do mesmo porte: tem uma facilidade maior para programação, tem funções mais simples, pode ser totalmente modificado, entre outras; garantindo assim sua grande popularidade. Figura 2 - MySQL Fonte: Blog De Tecnologia, 2016 1.1.2 MySQL Query Browser O MySQL Query Browser é uma ferramenta gráfica que auxilia na criação, otimização e execução de 'Queries' utilizando de interfaces para facilitar a manipulção dos dados através de linhas de comando, o software também cria uma caixa de validação de login, com a possibilidade de salvar o nome de usuário, em geral administrador, facilitando assim login e logout bem como a possibilidade de navegar entre os comandos executados posteriormente, evitando a composição de comandos repetidos. 15 Figura 3 - MySQL QueryBrowser Fonte: Simulador De Questões, 2016 1.1.3 Delphi Delphi se mostrou uma IDE estável, dentre as versões disponíveis, a que se apresentou com maior estabilidade e quantidade de informações disponíveis foi a versão 7, Delphi 7 apresenta uma interface gráfica amigável, onde é possível "criar" botões apenas selecionando o tipo do botão, selecionando o local onde se deseja alocar o mesmo, e clicar, um point n' click. O Delphi também compila e cria o executável de maneira rápida, como o S.O. escolhido foi a plataforma Windows, a IDE criou o programa com a extensão correta para que seja executado em qualquer computador desta plataforma. 16 Foi usado a linguagem Object Pascal com o auxílio do Borland Delphi 7 como ambiente de desenvolvimento. Produzido pela Borland Software Corporation, o Delphi 7 utiliza o Object Pascal (Pascal com extensões orientadas a objetos) a partir da versão 7 passou a se chamar Delphi Language. O Delphi, originalmente direcionado para a plataforma Windows, chegou a ser usado para desenvolvimento de aplicações nativas para Linux e Mac OS, através do Kylix (conhecido como Delphi para Linux), e para o framework Microsoft .NET em suas versões mais recentes. Atualmente há um projeto chamado Lazarus que possui uma interface muito semelhante ao Delphi e a característica de ser multiplataforma, ou seja, roda tanto no Windows como no Linux. De acordo com LAMIM (2009) Delphi é largamente utilizado no desenvolvimento de aplicações desktop, aplicações multicamadas e cliente/servidor, compatível com os bancos de dados mais conhecidos do mercado. Como uma ferramenta de desenvolvimento genérica, o Delphi pode ser utilizado para diversos tipos de desenvolvimento de projeto, abrangendo desde Serviços a Aplicações Web e CTI. Pode ser usado para desenvolver aplicações que exijam tanto uma linguagem de alto nível como também de baixo nível. Um exemplo de software conhecido que foi desenvolvido em Delphi é o Skype. Figura 4 - Delphi 7 Fonte: Simulador De Questões, 2016 17 Quando lançado em 1995 para a plataforma Windows 16 bits, foi o primeiro a ser descrito como ambiente RAD (em português, Desenvolvimento Rápido de Aplicações). A segunda versão, lançada um ano depois, já produzia aplicativos para a plataforma Windows 32 bits, sendo que uma versão em C++ - o C++ Builder surgiu alguns anos depois. Em 2001, uma versão para plataforma Linux, conhecida como Kylix, foi disponibilizada. Em 2002, foi lançada nova versão compatível com Linux (através do Kylix e a paleta de componentes CLX), sendo que em 2003 o Delphi 8 passou a incluir suporte para desenvolvimento de aplicações .NET. No final de 2004 foi lançada a versão Delphi 2005 (correspondente a versão 9), com suporte, na mesma IDE, ao desenvolvimento para plataformas Windows 32 bits e Windows .NET, além de integrar no mesmo ambiente de desenvolvimento a possibilidade de se desenvolver utilizando o ambiente do Delphi, C++ Builder ou C#. No final de 2005 foi lançada a versão Delphi 2006 (correspondente a versão 10) integrada no Borland Developer Studio 4.0 com destaque para a total integração com o Borland Together, o preview do compilador do C++ Builder, atualização dos drivers DBExpress, novos refactorings e recursos da IDE. Nessa versão o gerenciador de memória utilizado pelo Delphi foi substituído, tornando os aplicativos compilados em Delphi mais rápidos. Como a ferramenta é compilada utilizando o próprio Delphi, esta nova versão também está muito rápida. O arquiteto por trás do Delphi e de seu predecessor Turbo Pascal foi Anders Hejlsberg, até a sua alteração para a Microsoft em 1996, onde se tornou o arquiteto responsável pelo projeto do C# e foi peça chave na criação do ambiente Microsoft .NET, utilizado no Delphi 8. O Delphi teve o formato da IDE alterado pela primeira vez na versão 8, basicamente similar ao formato do Microsoft Visual Studio. 1.1.4 Zeos De acordo com ZeosLib(2005), Zeos é um plugin, ou extensão com Delphi, que é necessária para que se realize a conexão com o banco de dados SQL, que não é nativo dessa versão do programa, com ele é possível configurar conexões automáticas ou caixas de diálogo para Login e Logout do bando de dados, a extensão se mostrou necessária e eficiente ao cumprir a tarefa de criar e manter a conexão com o banco, permitindo que fossem realizadas as alterações e inserções 18 no banco de dados através da interface desenvolvida na IDE e não através de linhas de comando, facilitando assim, a utilização do software pelo usuário final. 1.2 Resultados Após testes realizados em laboratório, o software provou-se eficiente em sua finalidade, sendo de fácil compreensão ao usuário, em todas as suas funções, desde inserção e edição de perguntas junto ao banco de dados até a exibição e conferência das perguntas e respostas já inseridas no banco de perguntas (Banco de Dados). Com uma interface intuitiva e de simples entendimento, o usuário pode escolher qual campo deseja utilizar apenas selecionando o botão correspondente, como na figura 5. Figura 5 - Tela Inicial Fonte: Simulador De Questões, 2016 As perguntas são exibidas de modo aleatório, garantindo assim uma nova experiência a cada vez em que um simulado é feito e também garantindo uma grande gama de possíveis testes mesmo com um número de perguntas reduzido. O 19 sistema de aleatoriedade previne, sobretudo, a possibilidade de se decorar a ordem das perguntas e dificulta a criação de um método único para a resolução das perguntas através da memorização da posição das mesmas; é exibida, além da pergunta em si, a sua área abordada bem como sua categoria dentro daquela área, oferecendo ao usuário uma valiosa informação que pode indicar áreas onde se tem uma maior ou menor dificuldade, auxiliando o mesmo a definir um melhor plano de estudos, conforme a figura 6. Figura 6 - Tela Cadastro De Pergunta Fonte: Simulador de questões, 2016 O simulador ainda oferece, ao finalizar a sessão de perguntas, um campo onde se apresentam as respostas informadas pelo usuário, tanto para os acertos quanto para os erros, bem como a alternativa correta referente aquela questão, possibilitando assim a correção, e por sua vez, sanando dúvidas através de estudo posterior. 20 Figura 7 - Tela Do Simulador Fonte: Simulador de Questões, 2016 21 2 CONCLUSÃO O software se provou uma poderosa ferramenta auxiliar de estudo para concurseiros, vestibulandos e estudantes em geral, indicando áreas a serem estudadas, preparando-os para as questões de variadas dificuldades, atendendo assim uma demanda existente de pessoas que buscam uma experiência mais próxima de uma avaliação real de maneira mais rápida e objetiva. 22 REFERÊNCIAS TECH TUDO. Oque é e Como Usar MySQL. Disponível em: <http://www.techtudo.com.br/artigos/noticia/2012/04/o-que-e-e-como-usar-omysql.html>. Acesso em 24 Nov 2016. PACIEVTCH, Yuri. MySQL. Disponível em: <http://www.infoescola.com/informatica/mysql/>. Acesso em 24 Nov 2016. SCRIPT SEGURO. Oque é Delphi?. Disponível em: <http://blog.scriptseguro.com.br/o-que-e-delphi/>. Acesso em 24 Nov 2016. LAMIM, J. Conhecendo o Delphi. Disponível <https://www.oficinadanet.com.br/artigo/745/conhecendo_o_delphi>. em: Acesso em 24 Nov 2016. DEVMEDIA. Linguagem de Programação Delphi. Disponível em:<http://www.devmedia.com.br/forum/o-delphi-e-mesmo-uma-linguagem-deprogramacao/329986>. Acesso em 24 Nov 2016. GV CONCURSOS. A Importância do Concurso Público. Disponível em: <http://gvconcursos.com.br/blog/a-importancia-de-um-concurso-publico/>. Acesso em 24 Nov 2016. JUSBRASIL +DIREITO. Art.37, inc. II da Constituição Federal de 88. Disponível em: <http://www.jusbrasil.com.br/topicos/10712324/inciso-ii-do-artigo-37-da- constituicao-federal-de-1988>. Acesso em 24 Nov 2016. 23 PORTAL DA EDUCAÇÃO. A Importância do Concurso Público. Disponível em: <https://www.portaleducacao.com.br/direito/artigos/27601/a-importancia-doconcurso-publico>. Acesso em 24 Nov 2016. JC CONCURSOS. Jornal Dos Concursos. Disponível em: <https://jcconcursos.uol.com.br/mobile/concursos/previstos/index.html>. Acesso em 24 Nov 2016. BLOG DE TECNOLOGIA. Tudo Sobre Tecnologia Você Encontra Aqui. Disponível em: <https://blogdetecnologia.com.br>. Acesso em 24 Nov 2016. UOL EDUCAÇÃO. Medida Do Governo Sobre Redução De Vagas Em Faculdades Gera Polêmica. <https://educacao.uol.com.br/noticias/bbc/2016/10/15/medida-do-governosobre-reducao-de-vagas-em-faculdades-gera-polemica.htm>. Acesso em 24 Nov 2016. ZEOSLIB. New Documentation. Disponível em: <http://zeoslib.sourceforge.net/viewtopic.php?f=3&t=1301>. Acesso em 12 Dez 2016.