Escolar Documentos
Profissional Documentos
Cultura Documentos
TCC Wagner Junio Da Paz
TCC Wagner Junio Da Paz
SGTCC
SISTEMA GERENCIADOR DE TRABALHO DE CONCLUSÃO DE CURSO
SGTCC
SISTEMA GERENCIADOR DE TRABALHO DE CONCLUSÃO DE CURSO
CDD 005.1
SGTCC
SISTEMA GERENCIADOR DE TRABALHO DE CONCLUSÃO DE CURSO
COMISSÃO EXAMINADORA
___________________________________
Prof. Esp. Danillo Vaz Borges de Assis
IF Goiás / Campus Jataí
___________________________________
Prof. Dr. Aladir Ferreira da Silva Júnior
IFG/ Câmpus Jataí-GO
___________________________________
Prof. Dr. Heverton Barros de Macêdo
IFG/ Câmpus Jataí-GO
Agradeço a minha mãe Josefa Maria da Paz que nunca mediu esforços para
me oferecer o melhor conforto possível, o que me permitiu ganhar o tempo
necessário para terminar a análise e desenvolvimento.
Quero lembrar também da minha esposa Luana Jane Assis e Silva que
esteve ao meu lado quando eu precisava de palavras de apoio.
O Trabalho de Conclusão de Curso (TCC) é uma das etapas mais desafiadoras que
o aluno deve enfrentar durante o seu percurso na universidade. O início do
desenvolvimento do TCC pode trazer dificuldades ao aluno, visto que ele precisa
elaborar um tema adequado e escolher o orientador que o auxiliará durante o
desenvolvimento do trabalho. Na fase de elaboração do tema, a principal dificuldade
está associada à construção da ideia ou propósito a ser estudado, assim como a sua
delimitação. Quanto à escolha do orientador, é necessário que o aluno entre em
contato com vários professores, visando verificar as suas afinidades com o tema
proposto, além de suas disponibilidades para orientação, o que pode se tornar uma
busca desmotivadora. O presente trabalho propõe o desenvolvimento de um
software para reduzir as dificuldades encontradas pelos alunos na fase inicial de
elaboração do TCC. O software intitulado Sistema Gerenciador de Trabalho de
Conclusão de Curso (SGTCC) é um sistema desenvolvido para plataforma WEB e
foi projetado para se tornar acessível a partir de qualquer dispositivo com um
navegador (browser) moderno como o Mozilla Firefox, Google Chrome, etc. Na
construção do SGTCC foram empregadas linguagens como PHP, HTML, Javascript
e CSS, além de utilizar a biblioteca jQuery para requisições no servidor. A
persistência de dados é baseada no sistema gerenciador de banco de dados
MySQL. Como resultado do desenvolvimento do SGTCC é esperado que os alunos
possam reduzir o tempo gasto para iniciar o desenvolvimento do TCC, além de
prover recursos de gestão para a coordenação do curso.
Palavras-chave: TCC, trabalho de conclusão de curso, desenvolvimento de
software, tema para TCC.
ABSTRACT
The final course assignment or monograph is one of the most challenging steps that
a student must face during its course at the university. The beginning of the
monograph development can bring difficulties to the student, since it needs to
develop an appropriate theme and choose the leader who will assist during the work
development. The stage of theme preparation, the main difficulty is associated with
the construction of the idea or purpose to be studied, as well as its delimitation. As
for the choice of leader, it is necessary that the student contact several professors, in
order to verify their affinities with the theme, as well as their availability for orientation,
which can become a discouraging search. This paper proposes the development of a
software to reduce the difficulties encountered by students in the early stages of
preparing the TCC. The software titled Sistema Gerenciador de TCC (SGTCC) is a
system developed for Web platform and is designed to become accessible from any
device with a modern browser such as Mozilla Firefox, Google Chrome, etc. In
building the SGTCC were used languages like PHP, HTML, Javascript and CSS, and
use the jQuery library to requests on the server. The persistence of data is based on
the database management system MySQL. As a result of the development of
SGTCC it is expected that students can reduce the time taken to start the
development of monograph, in addition to providing management resources to the
course coordinator.
Keywords: Final course assignment, software development, monograph theme.
LISTA DE ILUSTRAÇÕES
AJAX: Asynchronous Javascript and XML. Forma de utilizar Javascript e XML para
tornar páginas WEB mais dinâmicas.
CSS: Cascading Style Sheets, linguagem de folha de estilos utilizada para estilizar
páginas WEB.
WEB: Palavra inglesa com significado teia ou rede. Com o advento da internet
passou a referenciar a rede de computadores conectados.
SUMÁRIO
Resumo............................................................................................................ 6
Abstract ........................................................................................................... 7
1 Introdução .............................................................................................. 15
2 Metodologia ........................................................................................... 18
4 Sobre o SGTCC...................................................................................... 35
6 Conclusão .............................................................................................. 84
Do ponto de vista dos alunos, a busca por um tema e/ou um orientador é uma
atividade desgastante e, dependendo da quantidade de professores negando a
orientação, pode ser extremamente desmotivadora.
2 METODOLOGIA
O presente trabalho foi desenvolvido por apenas uma pessoa, o que dificulta
o emprego de modelos e metodologias como o SCRUM ou XP. Dessa forma, o
trabalho adotou os passos do desenvolvimento RUP durante grande parte do
desenvolvimento.
De acordo com SCHMIDT (2011), seu sistema propõe ainda a opção de troca
de mensagens entre o orientador e banca avaliadora do TCC em questão, banca
que anteriormente foi formada pelo próprio orientador, além de oferecer a opção de
acompanhamento das atividades realizadas entre orientador e aluno.
20
3 LEVANTAMENTO BIBLIOGRÁFICO
A persistência dos dados e a linguagem utilizada para esse intuito ficaram por
conta do sistema gerenciador de banco de dados e da linguagem SQL. Para esses
papeis foram utilizados:
MySQL
SQL
Também foi utilizada uma biblioteca que contém códigos Javascript prontos e
resumidos. Essa biblioteca foi:
jQuery
Para modelagem foi utilizada uma ferramenta chamada Astah, cujo propósito
é auxiliar o desenvolvedor na criação e edição de diagramas.
22
3.2 NETBEANS
Atualmente existem outras IDE’s que podem ser utilizadas para programação
de aplicações WEB. Casos como o ECLIPSE que através de um plugin chamado
PDT fornece recursos necessários para depurar, auto completar, entre outras
opções que facilitam a programação com a linguagem PHP.
De acordo com ECLIPSE (2015), essa IDE ainda prove recursos como
assistente de conteúdo, formatador de código, refatoramento, modelos de códigos,
navegação nos códigos, validação de sintaxe, entre outras.
3.4 HTML
EIS (2011) também diz que a tag <html> é responsável delimitar o conteúdo
que é escrito na linguagem HTML. A tag <head> deve conter tudo que é relativo ao
cabeçalho das páginas, enquanto a <title> se refere ao título da mesma. A tag <title>
é de suma importância, pois, quando a página é pesquisada através de sites de
busca é utilizada essa tag para informar o título do documento no resultado da
pesquisa.
3.5 PHP
exibido geralmente na barra superior do navegador está delimitado pela tag <title> e
seu conteúdo é “título”.
3.6 JAVASCRIPT
Ainda hoje é muito utilizada no quesito de interação com sites, pois, trabalha
do lado cliente, basicamente no navegador. Tem uma sintaxe muito parecida com a
linguagem Java, mesmo não tendo relação alguma com ela.
3.7 JQUERY
“HTML/DOM manipulation”.
“CSS manipulation”.
“HTML event methods”.
“Effects and animations”.
“AJAX”.
“Utilities”.
3.8 SQL
3.9 MYSQL
De acordo com FERREIRA (2010), o MySQL foi criado por David Axmark,
Allan Larsson e o finlandês Michael “Monty” Widenius por volta do ano de 1980.
Por ser compatível com ODBC, JDBC e .NET, e oferecer uma interface para
as linguagens mais comumente utilizadas como PHP, JAVA, C++, entre outras, o
uso do MySQL se torna uma boa opção devido ao fato de que essas características
o tornam mais rápido, garantindo performance e estabilidade notáveis.
3.10 CSS
O CSS, de acordo com PEREIRA (2009), foi criado para estilizar as páginas,
visto que ao longo do tempo os estilos empregados pelo HTML foram se
diversificando criando problemas para desenvolvedores, pois, só com o HTML não
era possível padronizar estilos, fazendo com que todas as alterações de design em
site fossem realizadas página por página.
3.11 WAMP
3.11.1 Apache
4 SOBRE O SGTCC
Todo usuário que cadastrar um tema terá a opção de se identificar como autor
do mesmo, para tanto, basta se cadastrar no sistema informando seus dados em
uma página especifica para isso. Esses cadastros são armazenados como usuários
que não tem qualquer outro papel (categoria) no sistema, a menos que tenham
vínculo com a instituição.
Cada usuário pode ter vários papéis, por exemplo, no mesmo instante que
alguém é um orientador também poderá ser administrador, mas somente poderá
orientar se for um orientador. Abaixo segue a lista dos papeis previamente definidos
37
Autor: Usuário que pode sugerir temas, sendo que, nestes casos, não é
necessário ter vínculo algum com a instituição. Por exemplo, qualquer pessoa que
acessar o sistema poderá sugerir um tema (ideia), tendo a opção de se cadastrar
como um autor ou não.
Figura 11. Trecho de código responsável pelo acesso de um usuário a página TelaCadastroUsuario.
No e-mail que lhes foi enviado eles poderão responder se podem ou não
participar do projeto através de links específico para essa finalidade. Essas
respostas são validadas por meio de um código de segurança e posteriormente
gravadas no banco de dados. Em seguida, os integrantes alunos são avisados
dessas respostas também por e-mail.
Se não houver mais professores para formar uma banca completa, com três
integrantes, os administradores são notificados em seus e-mails sobre essa situação
e poderão acessar o sistema para definir os integrantes manualmente.
O pacote controles contém apenas arquivos do tipo PHP que não são
classes e, portanto, não podem ser instanciados, com exceção de um chamado
“ControlesMetodosComuns”. Eles são apenas controles das janelas (telas) e contém
códigos ocultos ao usuário. Sua existência tem o motivo de separar o PHP do
HTML, ou seja, nas páginas (telas do pacote view) do sistema serão evitados
sempre que possível o uso de códigos da linguagem PHP para facilitar o
entendimento e manutenção do HTML.
A relação entre as duas linguagens (PHP e HTML) ficará a cargo dos scripts
de um pacote chamado scriptsTelas. Por exemplo, quando o usuário precisa de
uma tabela carregada com dados do banco é necessário que a tela que ele está
visualizando faça uma requisição via jQuery para um arquivo controle, este
devolverá a tabela pronta e completamente carregada para ser utilizada em alguma
parte da página, e essa parte poderá ser preenchida utilizando Javascript. Na Figura
13 contém um código jQuery requisitando uma tabela de professores disponíveis
para composição de banca.
Note na Figura 13 que são passados parâmetros via post para um controle e
o resultado é uma tabela e um botão prontos, codificados em HTML. A variável
43
div_a_alterar trata-se de um elemento HTML que recebe em seu conteúdo o que foi
devolvido pelo controle, desta forma, somente um pedaço da página será alterado.
Todo o processamento oculto foi efetuado pelo arquivo PHP.
Por fim, o pacote utilidades contém uma classe responsável pelo envio de e-
mail, outra contendo as constantes utilizadas no sistema e também outra que possui
várias funções utilizadas para os mais variados fins, tais como validar datas,
encerrar sessões em série, desmascarar valores de campos e ainda gerar códigos
de validação que são enviados por e-mail.
44
5 RESULTADOS ALCANÇADOS
O primeiro passo é passar pelo controle da tela, uma classe que recebe os
dados enviados via jQuery através dos arquivos de scripts. Posteriormente os
controles acionam os métodos da classe manipuladora de nome
“ManipulaPapeisUsu”. Essa solicita a outra classe de nome “BancoDados” que
busque a lista de papéis de usuários disponíveis. Em seguida, a
48
Os temas podem ser cadastrados por qualquer pessoa que acessa o sistema.
Para realizar tal tarefa é necessário preencher todos os campos do formulário de
cadastro, e para que o usuário que sugeriu o tema seja lembrado no SGTCC como
autor do tema proposto é necessário primeiro se cadastrar como tal. Para tanto,
basta acessar a opção “Cadastrar Autor”.
papel de autor levando em consideração os dados digitados pelo usuário que está
cadastrando o tema.
As ações que são realizadas pelo sistema quando um tema está sendo
cadastrado estão nos diagramas das Figuras 21 e 22.
Depois que o tema é salvo ele fica temporariamente disponível na tela para
que o usuário tenha tempo de corrigir algum erro de digitação ou coerência ou até
mesmo excluia o tema.
Moderação significa que o tema passará por uma análise de conteúdo antes
que usuários possam escolhê-lo para um projeto ou visualizar seu cadastro. Essa
condição se torna necessária se for considerado o fato de que a sugestão de temas
está disponível a qualquer pessoa que acesse o SGTCC e não há restrição de
conteúdo no ato do cadastramento.
O próximo passo a ser seguido pelo usuário será acionar o botão “Moderar”.
As Figuras 25 e 26 referenciam um diagrama de sequência dessa operação
disponível no Apêndice A, Figura 57. A imagem será dividida em duas partes, sendo
que, a primeira será o ato de o usuário solicitar à tela o que ele deseja ver. Os
diagramas de classe envolvidas nessa operação estão disponíveis no Apêndice B,
Figura 65.
que são os responsáveis por efetuar uma primeira validação local, seja verificando
um campo vazio ou se um item de alguma tabela foi selecionado, entre outras.
Efetuada a busca dos temas e dos detalhes relacionados com os que foram
selecionados na tabela, o usuário acionará o botão “Moderar” ou “Revogar
Moderação”, dependendo da circunstância. O sistema executará a mesma
56
Ao abrir o sistema, o usuário deverá acessar a sua área, em seguida terá que
escolher a opção que dá acesso ao seu projeto. O sistema irá pesquisar no banco
de dados se tal usuário já tem TCC criado, caso não haja, será mostrada uma tela
onde o aluno poderá escolher outros integrantes (usuários com papel de aluno) para
participar do projeto. O caso de uso na Figura 30 está representando essa ação.
Caso o usuário deseja adicionar o orientador depois que o projeto foi criado
bastará que ele acesse a sua área, o detalhes do seu TCC e utilize a opção de troca
de orientador e coorientador.
Acessa área: Após o passo anterior será disponibilizado um link para que o
usuário possa acessar a área destinada aos alunos.
Efetuada a definição dos integrantes, o aluno será guiado para uma tela onde
poderá distinguir entre duas opções, escolher ou cadastrar um tema. Essa página se
intitula “TelaDefineTema”.
Quando o aluno acessa a sua área e depois a página que exibe os dados do
seu projeto pode ser que ainda não esteja disponível a informação do orientador e
coorientador. Isso pode acontecer se o e-mail de confirmação que é enviado quando
o aluno convida os professores ainda não foi respondido, ou o aluno ainda não
64
Note que o fato de a informação do coorientador não estar disponível pode ter
sido causadas por vários motivos entre eles: o aluno não escolheu um professor
para essa função; o e-mail de confirmação ainda não foi respondido; houve falha no
processo de envio do e-mail. Para esta última situação existe a opção exibida da
imagem do reenvio do e-mail.
controles que são os responsáveis por fazer todas as operações não visíveis ao
usuário.
Supondo que outro usuário a quem vamos chamar de aluno 2 esteja criando
um projeto simultaneamente, ele conseguirá visualizar o mesmo tema e integrantes
que estão na sessão do usuário anterior, quem será chamado de aluno 1. Isso é
possível, dado que, a verificação da disponibilidade de temas e integrantes é
realizada no banco de dados com a condição de que não estejam vinculados a um
TCC. Como o aluno 1 ainda não havia finalizado a criação do seu projeto ele não
vinculou o tema e integrantes que escolheu ao seu TCC. Deste modo, se o aluno 2
finalizar o projeto primeiro, o tema será vinculado ao TCC dele e o aluno 1
visualizará a mensagem que o tema ou integrantes já não estão mais disponíveis.
Para diferenciar os usuários que podem participar das bancas eles devem ser
cadastrado com o papel de examinador. A única restrição para definir alguém como
examinador é que o mesmo não tenha o papel de aluno no seu cadastro.
69
A Figura 41 ilustra uma tela de composição que ainda não recebeu os valores
de data e hora de apresentação, e o, o sorteio ainda não foi realizado.
A banca deve ser formada por dois integrantes mais o orientador. Se um dos
dois que receberam a notificação rejeitar a participação, o próximo da lista de
sorteados será notificado, e assim sucessivamente até que a banca tenha três
examinadores no total.
Essa próxima tela a ser acessada terá os detalhes do TCC além de várias
tabelas, em que serão informados quais foram os usuários sorteados, os que
rejeitaram, aceitaram, os que não responderam e ainda os que não foram notificados
por falha no envio do e-mail.
A Figura 44 ilustra um exemplo da tela que é exibida quando uma banca foi
formada com sucesso.
Para acessar essa opção o usuário terá que se identificar no sistema como
um administrador. Depois, ele deverá acessar sua área e escolher a opção “TCCs
pendentes de banca”.
Após a exibição dos dados o usuário deve selecionar na tabela os TCCs que
ele deseja visualizar os detalhes, essa ação executa a mesma hierarquia de
chamadas, passando pelas telas, depois pelos scripts, mais adiante os controles, as
manipuladoras e por fim a classe responsável por efetuar as transações de inserção,
atualização e deleção no banco de dados.
É possível notar ainda pela imagem que são mostrados os detalhes do TCC,
tais como os alunos integrantes, o orientador, o título do tema e os integrantes que
já foram definidos para a banca, neste caso, somente um. Isso ocorre porque a
banca ainda não foi formada para esse projeto, no entanto, o orientador é um
membro nato dela, por esse motivo já está sendo listado com antecedência.
A Figura 52 ilustra a primeira etapa que o usuário realiza. Ele abre a tela de
cadastro de TCCs (“TelaCadastroTcc”) e a mesma requisita aos seus scripts
complementares (arquivos do pacote scriptsTela) que efetuem as buscas do
conteúdo desejado.
Após a busca ser efetuada no banco, os TCCs são exibidos em uma tabela
que permite selecionar os itens contidos na mesma com um clique. Essa seleção
dos projetos na tabela é individual, ou seja, não é permitido selecionar mais que um
por vez.
81
Detalha os projetos agrupados por alunos. Pode ser buscado pelo nome ou id
do aluno ou ainda exibir de todos os alunos.
O usuário pode ainda definir a situação dos TCC’s que deseja ver no relatório.
Essas situações podem ser “Não apresentados”, “Apresentados” ou “Todos”.
6 CONCLUSÃO
Outro fator observado foi o primeiro contato do aluno com o professor que ele
escolheu como orientador. Essa primeira tentativa de contato pode causar
contratempos se levado em conta o fato de possíveis desencontros que possam
ocorrer entre o aluno interessado e o provável orientador a ser definido.
Para criar o sistema foi observada qual poderia ser a melhor forma de
disponibilizá-lo para alunos e colaboradores da instituição. A plataforma WEB foi
escolhida por ser mais abrangente e acessível a partir de qualquer dispositivo de
conexão com a internet.
Além de manter um banco com ideias cadastradas foi pensada uma forma de
permitir que usuários consigam incluir seu próprio tema ou sugiram ideias para
serem utilizadas em outros projetos. Dessa forma, depois de cadastrados esses
temas e gravados no banco de dados, os temas podem ser disponibilizados para os
usuários.
86
Para formação das bancas avaliadores dos TCC’s foi desenvolvida uma
funcionalidade. Até então, esses avaliadores são escolhidos pelo orientador e aluno,
depois notificados a partir de várias maneiras, seja verbalmente ou outros meios de
comunicação. A proposta é fazer com que essa definição seja realizada mediante
um sorteio baseado em uma lista de usuários aptos para compor bancas. O próprio
sistema notifica os integrantes por e-mail oferecendo a opção de aceitar ou recusar
o convite.
A forma como usuários podem responder até então é somente pelo e-mail
que lhes foi enviado. A proposta futura é permitir que essas respostas sejam
realizadas também através de uma opção dentro do sistema. Neste cenário, os
usuários acessariam o SGTCC e teriam a alternativa de abrir seus convites para
analisar se aceitam ou não.
No SGTCC cada usuário tem um papel (categoria), e para alguns papéis são
disponibilizadas áreas de acesso onde os usuários com esses papéis podem
acessar opções destinadas para essas categorias.
Permitir que usuários consigam armazenar o documento inicial que deve ser
escrito para aceitação de matrícula no TCC.
Criar a opção que permita enviar uma cópia do TCC para os professores que
foram convocados a participar de uma banca avaliadora.
Desenvolver uma opção que permita aos autores editarem os temas que
escreveram.
REFERÊNCIAS BIBLIOGRÁFICAS
FERREIRA, Felipe (2010). Mysql – Saiba Tudo Sobre Esse Poderoso Banco De
Dados. Disponível em: <http://www.artigonal.com/hospedagem-artigos/mysql-saiba-
tudo-sobre-esse-poderoso-banco-de-dados-1790916.html> (acesso em 18 de maio
de 2015).
90
GUEDES, Gilleanes Thorwald Araujo. UML 2 Uma Abordagem Prática. São Paulo:
Novatec Editora Ltda, 2009.
LIMA, Adilson da Silva. UML 2.3: Do Requisito à solução. 1ª Edição. São Paulo:
Editora Érica Ltda, 2013.
NIEDERAUER, Juliano. Web Interativa com AJAX e PHP. São Paulo: Novatec
Editora, 2007.
SILVA, Maurício Samy. Construindo Sites com CSS e (X) HTML. São Paulo:
Novatec Editora, 2008.