Buscar

TG - Dani v7

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

FACULDADE DE TECNOLOGIA DE SÃO JOSÉ DOS CAMPOS 
FATEC PROFESSOR JESSEN VIDAL 
 
 
 
 
 
 
 
 
DANIELLY GARCIA JARDIM 
 
 
 
 
 
 
ANTENAS 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
São José dos Campos 
2020 
 
 
DANIELLY GARCIA JARDIM 
 
 
 
 
 
 
 
 
ANTENAS 
 
 
 
 
 
Trabalho de Graduação apresentado à 
Faculdade de Tecnologia de São José dos 
Campos, como parte dos requisitos 
necessários para a obtenção do título de 
Tecnólogo em Banco de Dados. 
 
 
Orientador: Me. Emanuel Mineda Carneiro 
Coorientador: Me. Eduardo Sakaue 
 
 
 
 
 
 
 
 
 
São José dos Campos 
2020
 
 
iii 
 
 
Dados Internacionais de Catalogação-na-Publicação (CIP) 
Divisão de Informação e Documentação 
 
 
 
 
 
 
 
 
 
 
 
REFERÊNCIA BIBLIOGRÁFICA 
 
JARDIM, Danielly. Antenas. 2021. 35f. Trabalho de Graduação - FATEC de São José dos 
Campos: Professor Jessen Vidal. 
 
 
 
 
 
 
CESSÃO DE DIREITOS 
 
NOME(S) DO(S) AUTOR(ES): Danielly Garcia Jardim 
TÍTULO DO TRABALHO: Antenas 
TIPO DO TRABALHO/ANO: Trabalho de Graduação/2021. 
 
 
É concedida à FATEC de São José dos Campos: Professor Jessen Vidal permissão para 
reproduzir cópias deste Trabalho e para emprestar ou vender cópias somente para propósitos 
acadêmicos e científicos. O autor reserva outros direitos de publicação e nenhuma parte deste 
Trabalho pode ser reproduzida sem a autorização do autor. 
 
 
 
_____________________________________ 
Danielly Garcia Jardim 
Rua Carlos Alvarenga 
12239-320, São José dos Campos - SP 
 
 
JARDIM, Danielly 
Antenas. 
São José dos Campos, 2021. 
35f. 
 
 
Trabalho de Graduação – Curso de Tecnologia em Banco de Dados 
FATEC de São José dos Campos: Professor Jessen Vidal, 2021. 
Orientador Interno ou Principal: Me. Emanuel Mineda Carneiro. 
Orientador Externo ou Coorientador: Me. Eduardo Sakaue. 
 
 
1. Gestão de projetos. 2. Organização. 3. Centralização de informações. I. Faculdade de 
Tecnologia. FATEC de São José dos Campos: Professor Jessen Vidal. Divisão de Informação e 
Documentação. II. Título 
 
iv 
 
DANIELLY GARCIA JARDIM 
 
 
 
 
ANTENAS 
 
 
 
Trabalho de Graduação apresentado à 
Faculdade de Tecnologia de São José dos 
Campos, como parte dos requisitos 
necessários para a obtenção do título de 
Tecnólogo em Banco de Dados. 
 
 
 
 
 
 
 
 
__________________________________________________________________ 
Me. Jose Walmir Gonçalves Duque – FATEC SJC 
 
 
___________________________________________________________________ 
Esp. Fabiano Sabha Walczak – FATEC SJC 
 
 
__________________________________________________________________ 
Me. Emanuel Mineda Carneiro – FATEC SJC 
 
 
__________________________________________________________________ 
Me. Eduardo Sakaue – FATEC SJC 
 
 
 
 
 
_____/_____/_____ 
 
DATA DA APROVAÇÃO 
v 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Agradeço a todos que me apoiaram, fazendo com 
que eu tenha DETERMINAÇÃO. 
 
 
vi 
 
AGRADECIMENTOS 
 
 
Agradeço a minha família, que sempre me apoiou e incentivou. 
A companhia dos meus amigos e amigas, que sempre estiveram ao meu lado: 
Giuliano Gimenez, Fabio Romeiro, Mateus Machado, Jessica Helen e especialmente o 
Henrique Liberato, que me ajudou muito na realização desse trabalho. 
Aos meus orientadores Eduardo Sakaue e Emanuel Mineda, por toda a confiança, 
orientação, esclarecimentos, atenção e auxílio no desenvolvimento deste trabalho. 
A Faculdade de Tecnologia de São José dos Campos (FATEC-SJC) pela 
oportunidade de estudar nesta instituição de ensino que me proporcionou muitos 
conhecimentos e momentos bons. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
vii 
 
RESUMO 
 
 
Através do Centro de Apoio ao Desenvolvimento e Inovação (CADI) da Faculdade de 
Tecnologia de São José dos Campos (FATEC), empresas e alunos de diversos cursos 
trabalham juntos para solucionar problemas. Foram detectados alguns problemas com a 
organização de projetos e equipes. Para resolvê-los, foi desenvolvido um sistema chamado 
Antenas, onde todos os projetos e equipes serão cadastrados. Este sistema apresenta uma 
solução capaz de auxiliar tanto o CADI quanto os professores com a organização e 
gerenciamento de projetos e equipes. Para seu desenvolvimento, foram realizadas reuniões 
com alguns professores e membros do CADI para definir os requisitos do projeto, focando-
se na facilidade da utilização do sistema. Como resultado, temos um sistema funcional que 
permite que os projetos fiquem acessíveis e a visualização dos temas e requisitos mais 
simples para todos os usuários. 
 
Palavras-Chave: Gestão de projetos; Organização; Centralização de informações. 
viii 
 
ABSTRACT 
 
 
Through the Centro de Apoio ao Desenvolvimento e Inovação (CADI) of Faculdade de 
Tecnologia de São José dos Campos (FATEC), companies and students from different 
courses work together to solve problems. Some problems were detected in the organization 
of projects and teams. To solve them a system called ‘Antenas’ was developed, where all 
projects and teams will be registered. This system presents a solution capable of helping both 
CADI and teachers with the organization and management of projects and teams. For its 
development, meetings were held with some professors and CADI members to define the 
project requirements, focusing on the ease of use of the system that was developed through 
Java for back-end, Vue for front-end and MySql as a database. As a result, we have a 
functional system that allows projects to be accessible and the visualization of the themes 
and requirements simpler for all users. 
 
Keywords: Project management; Organization; Centralization of information. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ix 
 
LISTA DE FIGURAS 
 
Figura 1 – BPMN. ................................................................................................................ 14 
Figura 2 - Tela inicial. ......................................................................................................... 21 
Figura 3 – Visualização da equipe – aluno. ......................................................................... 22 
Figura 4 - Perfil do aluno. .................................................................................................... 23 
Figura 5 - Arquitetura do sistema - Modelo MVC. ............................................................. 24 
Figura 6 - Trecho de Código do Antenas: Controller - Salvamento de um projeto. ............ 25 
Figura 7 - Trecho de Código do Antenas: Service - Salvamento de um projeto. ................ 25 
Figura 8 - Trecho de Código do Antenas: Service - Salvamento de um projeto. ................ 26 
Figura 9 - Padrão de gerenciamento de estado. ................................................................... 27 
Figura 10 - Trecho de Código do antenas - Exemplo do uso vuex. ..................................... 28 
Figura 11 - Diagrama de entidade-relacionamento.............................................................. 30 
Figura 12 – Perfil do aluno. ................................................................................................. 33 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
x 
 
LISTA DE QUADROS 
 
 
Quadro 1 - Tecnologias e versões utilizadas. ...................................................................... 22 
 
 
 
 
 
 
 
 
 
 
 
 
 
xi 
 
LISTA DE ABREVIATURAS E SIGLAS 
 
 
CADI Centro de Apoio ao Desenvolvimento e Inovação 
FATEC Faculdade de Tecnologia 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
xii 
 
SUMÁRIO 
1. INTRODUÇÃO ..............................................................................................................13 
1.1 Objetivo do Trabalho ............................................................................................. 13 
1.2 Conteúdo do Trabalho ........................................................................................... 13 
2. FUNDAMENTAÇÃO TÉCNICA ................................................................................. 14 
2.1 BPMN ...................................................................................................................... 14 
2.1.1 Cadastro Inicial ....................................................................................................... 14 
2.1.2 Avaliação Inicial ..................................................................................................... 14 
2.1.3 Cadastro Detalhado ................................................................................................ 15 
2.1.4 Avaliação Detalhada ............................................................................................... 15 
2.1.5 Reunião .................................................................................................................... 15 
2.1.6 Designar Responsável ............................................................................................. 15 
2.1.7 Entrega .................................................................................................................... 15 
2.1.8 Avaliação ................................................................................................................. 15 
2.1.9. Finalizado ............................................................................................................... 15 
2.2. Levantamento de requisitos ................................................................................... 16 
2.2.1 Histórias de usuário (User Story) ........................................................................... 16 
2.2.1.1 Representante ....................................................................................................... 16 
2.2.1.2 CADI ..................................................................................................................... 17 
2.2.1.3 Professor ............................................................................................................... 18 
2.2.1.4. Aluno .................................................................................................................... 19 
2.3. Wireframe ................................................................................................................... 20 
2.4 Tecnologias ................................................................................................................... 23 
3 DESENVOLVIMENTO ................................................................................................. 24 
3.1 Arquitetura do sistema ................................................................................................ 24 
3.1.1 Back-end .................................................................................................................. 24 
3.1.2 Front-end ................................................................................................................. 26 
3.1.3 Banco de dados ........................................................................................................ 29 
4 RESULTADOS ............................................................................................................... 31 
4.1 Ambiente de execução ................................................................................................. 31 
4.2 Experimentos e resultados .......................................................................................... 31 
4.2.1 Fluxo onde o projeto é finalizado ............................................................................ 31 
4.2.2 Fluxo onde o projeto é rejeitado na segunda etapa ................................................ 32 
4.2.3 Fluxo onde o projeto é rejeitado na quarta etapa ................................................... 32 
5 CONSIDERAÇÕES FINAIS ......................................................................................... 34 
5.1 Trabalhos futuros ........................................................................................................ 34 
REFERÊNCIAS ..................................................................................................................... 35 
 
 
13 
 
1. INTRODUÇÃO 
A FATEC (Faculdade de Tecnologia) é uma instituição de ensino superior pública 
pertencente ao Centro Estadual de Educação Tecnológica Paula Souza. Na unidade de São 
José dos Campos, existe um departamento denominado CADI (Centro de Apoio ao 
Desenvolvimento e Inovação), que tem como objetivo a conexão e aproximação entre 
empresas e a FATEC, visando a cooperação e extensão. 
O CADI possibilita que os cursos sejam modernizados através de projetos com 
problemas reais e contato com empresas, oferecendo a oportunidade de os alunos colocarem 
em prática os conhecimentos adquiridos em aula. Porém, há muitas dificuldades na gestão, 
comunicação e acompanhamento desses projetos juntos aos professores, alunos e empresas, 
pois não há uma ferramenta centralizada, o que muitas vezes pode causar confusão e resultar 
em uma entrega que não cumpre com os requisitos esperados. 
Além disso, as empresas não conseguem realizar um acompanhamento detalhado 
sobre o progresso dos projetos e o contato com os alunos é complicado. 
1.1 Objetivo do Trabalho 
Este trabalho visa o desenvolvimento de uma ferramenta onde o CADI poderá 
realizar a gestão dos projetos, permitindo o cadastro e o acompanhamento em uma ponta, e 
o desenvolvimento em outra. 
Ele também servirá como portfólio para os alunos, que terão um perfil público onde 
poderão preencher com seus dados acadêmicos e profissionais. Neste perfil também haverá 
uma lista de medalhas ganhas, todos os projetos nos quais já participou e seu desempenho 
em cada um deles. 
1.2 Conteúdo do Trabalho 
O presente trabalho está estruturado em seis Capítulos, cujo conteúdo é sucintamente 
apresentado a seguir: no Capítulo 2 é feita a fundamentação das tecnologias; o Capítulo 3 
apresenta o desenvolvimento da solução; no Capítulo 4 são apresentados os resultados; o 
Capítulo 5 apresenta as considerações finais deste trabalho a partir da análise dos resultados 
obtidos. 
14 
 
2. FUNDAMENTAÇÃO TÉCNICA 
Neste capítulo serão apresentados os casos de uso, os wireframes, histórias de usuário 
e o Business Process Model and Notation (BPMN), que representa o fluxo do projeto. 
2.1 BPMN 
BMPN é uma notação utilizada para modelar processos de negócios. Ele estabelece 
um padrão para representar os processos graficamente, por meio de diagramas. Esse padrão 
possui um conjunto de símbolos e regras, que permite modelar diferentes fluxos de processo. 
Figura 1 – BPMN. 
 
Fonte - Elaborado pelo autor (2020) 
 
Como apresentado na Figura 1, o projeto é constituído de 9 etapas. A cada ação que 
os usuários tomam, ele avança para a próxima. As seções a seguir detalham cada uma das 
etapas. 
2.1.1 Cadastro Inicial 
Ao acessar a aplicação, o representante poderá criar um projeto. Nesse cadastro 
inicial, serão salvos apenas o nome e uma descrição breve do projeto. 
2.1.2 Avaliação Inicial 
O CADI avalia se o projeto está apto a continuar. 
15 
 
2.1.3 Cadastro Detalhado 
O CADI avalia se o projeto está apto a continuar. 
2.1.4 Avaliação Detalhada 
O CADI avalia as novas infamações do projeto e decide se ele irá avançar para a próxima 
etapa ou não. 
2.1.5 Reunião 
Assim que o projeto sai do processo de avaliação, o CADI registra as informações da 
reunião, como endereço e uma lista de datas possíveis. Após isso, o representante deverá 
selecionar uma data entre as sugeridas pelo CADI. 
2.1.6 Designar Responsável 
Nesta etapa, o CADI deve selecionar qual professor será responsável por aplicar oprojeto para os alunos, e em qual semestre ele será aplicado. 
2.1.7 Entrega 
Nesta etapa, o professor poderá editar as informações do projeto como preferir, para que 
os alunos possam entender melhor o que devem fazer. Depois que o professor efetivamente 
iniciar o projeto, ele estará disponível para os alunos, que deverão formar suas equipes, 
cadastrá-las na plataforma e adicionar os links de comunicação e do repositório do projeto. 
Ao cadastrar uma nova equipe ou adicionar um novo membro, o aluno deverá informar qual 
função desempenhará no projeto. Entre essas funções estão: Scrum Master, DevOps, e Dev, 
podendo ser cadastrada mais de uma opção para cada aluno. 
2.1.8 Avaliação 
O professor pode encerrar o projeto a qualquer momento. Quando encerrado, o professor 
deverá atribuir notas e medalhas aos alunos. Feito isso, o ciclo do projeto se encerra. 
2.1.9. Finalizado 
Nesta fase do projeto, as entregas já foram finalizadas e os alunos avaliados. 
16 
 
2.2. Levantamento de requisitos 
A metodologia de levantamento de requisitos foi a entrevista, onde a autora deste 
trabalho participou de várias reuniões junto a alguns membros do CADI. 
Os requisitos foram documentados no formato de User Stories. 
2.2.1 Histórias de usuário (User Story) 
User Story ou “história de usuário” é uma descrição de uma necessidade do usuário 
do sistema, um requisito sob o ponto de vista desse usuário. A User Story busca descrever 
essa necessidade de uma forma simples e leve. 
A seguir, são apresentada as histórias de usuário identificadas pelo código USXX 
de cada um dos perfis da aplicação. 
2.2.1.1 Representante 
Este usuário é o representante de uma empresa, que deseja que o projeto seja 
realizado em parceria com a FATEC. 
 
US001 Como representante, desejo cadastrar e visualizar os projetos que cadastrei, para 
poder acompanhá-los. 
US002 Como representante, desejo poder visualizar o progresso do projeto, para poder 
acompanhar o passo a passo, do início ao fim. 
US003 Como representante, desejo visualizar as equipes e seus membros, para saber 
quem são os alunos participantes e qual papel estão desempenhando no projeto. 
US004 Como representante, desejo ter acesso ao link do repositório das equipes 
cadastradas, para poder acompanhar o processo de desenvolvimento e visualizar o 
projeto final. 
US005 Como representante, desejo ter acesso ao perfil do aluno, onde deve conter 
algumas informações sobre ele, para que eu possa entrar em contato e convidá-lo para 
uma possível vaga de emprego/estágio: 
• Detalhes: O perfil do aluno deve conter as seguintes informações: 
o Medalhas recebidas; 
o Cidade; 
o Link do GitHub; 
o Link do LinkedIn; 
17 
 
o Informações acadêmicas; 
o Informações profissionais; 
o Projetos que já participou e a descrição deles; 
o Desempenho nos projetos; 
o Função que o aluno desempenhou no projeto. 
2.2.1.2 CADI 
O CADI é um professor da FATEC, que é responsável por gerenciar todos os 
projetos. 
 
US006 Como CADI, desejo poder visualizar todos os projetos cadastrados, para que 
possa realizar o acompanhamento de todos eles. 
US007 Como CADI, desejo poder visualizar todas as equipes e seus membros, para 
acompanhar o progresso delas. 
US008 Como CADI, desejo visualizar os links de comunicação e do repositório do 
projeto, para acompanhamento de entregas. 
US009 Como CADI, desejo poder decidir se o projeto será aprovado ou não, para que 
ele possa seguir com o fluxo ou parar por ali. 
US0010 Como CADI, desejo poder cadastrar informações sobre a reunião com o 
representante, para que ele saiba o local e a hora que tenho disponível para o encontro. 
US0011 Como CADI, desejo poder selecionar um professor responsável pelo projeto e o 
semestre em que será aplicado, para que haja um melhor controle e eu saiba quem irá 
repassar o projeto para os alunos e em que turma será aplicado. 
US0012 Como CADI, desejo ter acesso ao perfil do aluno, onde deve conter algumas 
informações sobre ele, para que eu possa entrar em contato e convida-lo para uma 
possível vaga de emprego/estágio: 
• Detalhes: O perfil do aluno deve conter as seguintes informações: 
o Medalhas recebidas; 
o Cidade; 
o Link do GitHub; 
o Link do LinkedIn; 
o Informações acadêmicas; 
o Informações profissionais; 
o Projetos que já participou e a descrição deles; 
18 
 
o Desempenho nos projetos; 
o Função que o aluno desempenhou no projeto. 
 
2.2.1.3 Professor 
Este usuário é um professor da FATEC, responsável por aplicar o projeto em uma 
sala de aula. 
 
US0013 Como professor, desejo poder visualizar e editar os projetos que o CADI me 
designou, para que possa visualizar seus requisitos e explicá-los para os alunos. 
US0014 Como professor, desejo poder visualizar todas as equipes cadastradas e seus 
membros, para que possa realizar o acompanhamento de quantas equipes estão 
cadastradas, quais são os participantes e visualizar suas funções na equipe. 
US0015 Como professor, desejo visualizar os links de comunicação e do repositório do 
projeto, para acompanhamento de todas as entregas. 
US0016 Como professor, desejo poder iniciar/encerrar projetos, para que seja exibido ou 
não na lista de projeto dos alunos. 
• Detalhes: Os projetos devem ficar disponíveis para os alunos apenas quando 
iniciado. Ao encerrar, não deve mais ser exibido para quem não estiver 
participando e não será mais possível alterar os links de comunicação e do 
repositório do projeto, para que haja um controle melhor sobre os projetos e a 
lista dos alunos não fique poluída com projetos que já foram encerrados. 
US0017 Como professor, desejo que, após encerrar o projeto, seja possível atribuir 
medalhas e notas aos membros de todas as equipes cadastradas no projeto, para que 
sejam exibidas no perfil dos alunos. 
• Detalhes: As notas serão atribuídas de acordo com o desempenho do aluno no 
projeto. Os atributos avaliados serão: 
o Proatividade; 
o Desempenho; 
o Entrega de resultados; 
o Colaboração. 
US0018 Como professor, desejo ter acesso ao perfil do aluno, onde deve conter algumas 
informações sobre ele, para que eu possa entrar em contato e convida-lo para uma 
possível vaga de emprego/estágio: 
19 
 
• Detalhes: O perfil do aluno deve conter as seguintes informações: 
o Medalhas recebidas 
o Cidade 
o Link do GitHub 
o Link do LinkedIn 
o Informações acadêmicas 
o Informações profissionais 
o Projetos que já participou e a descrição deles 
o Desempenho nos projetos 
o Função que o aluno desempenhou no projeto. 
2.2.1.4. Aluno 
É um aluno da FATEC que está apto a participar de projetos. 
 
US0019 Como aluno, desejo visualizar os projetos que estão abertos, para visualizar seus 
requisitos. 
US0020 Como aluno, desejo cadastrar uma equipe para o projeto, especificando um nome 
e selecionando qual será a função que irei desempenhar dentro dela, para que o CADI, 
professor e representante possam acompanhar os grupos e seus membros. 
US0021 Como aluno, desejo cadastrar links de comunicação e do repositório do projeto, 
para que toda a equipe, professores, CADI e representante possam acessá-los a qualquer 
momento. 
US0022 Como aluno, desejo alterar as informações do meu perfil, para mantê-las sempre 
atualizadas. 
• Detalhes: Desejo editar as seguintes informações: 
o Foto do perfil 
o Cidade 
o Link do GitHub 
o Link do LinkedIn 
o Informações acadêmicas 
o Informações profissionais 
o Nome 
o E-mail 
o Biografia 
20 
 
US0023 Como aluno, desejo ter acesso ao perfil dos outros alunos, onde deve conter 
algumas informações sobre ele, para que eu possa entrar em contato e convidá-lo para 
uma possível vaga de emprego/estágio: 
• Detalhes: O perfil do aluno deve conter as seguintes informações: 
o Medalhas recebidas; 
o Cidade; 
o Link do GitHub; 
o Link do LinkedIn; 
o Informações acadêmicas; 
o Informações profissionais; 
o Projetos que já participou e a descrição deles; 
o Desempenhonos projetos; 
o Função que o aluno desempenhou no projeto. 
2.3. Wireframe 
Um wireframe é um protótipo, um desenho básico que representa como será a tela 
da aplicação. Nesse rascunho, são apresentadas visualmente quais seções deve conter e o 
que irá dentro delas. 
Ao realizar o acesso, o usuário será redirecionado para a página principal. Ela será a 
mesma para qualquer tipo de perfil, mudando apenas os projetos que serão exibidos, o que 
varia de acordo com as permissões que o usuário possui. Nela será possível visualizar uma 
lista com os projetos disponíveis. 
A Figura 2 atende as histórias de usuário: US002, US006, US0013 E US0019. 
21 
 
Figura 2 - Tela inicial. 
 
 
Fonte - Elaborado pelo autor (2020) 
Ao selecionar um projeto da lista, será possível visualizar todas as informações sobre 
ele, como: equipes participantes, fase em que o projeto se encontra, entre outras. 
A Figura 3 representa a visualização da equipe na perspectiva do aluno, onde será 
possível visualizar apenas a equipe que ele faz parte, tendo permissões de adição ou exclusão 
de membros da equipe. Ele também pode editar os links do projeto e de comunicação a 
qualquer momento. 
O wireframe representado na Figura 3 atende as histórias de usuário: US003, US004, 
US007, US008, US0014, US0015 e US0021. 
22 
 
Figura 3 – Visualização da equipe – aluno. 
Fonte: Elaborado pelo autor (2020) 
Quadro 1 - Tecnologias e versões utilizadas. 
Nome Versão Funcionalidade 
Java 11 Desenvolvimento back-end, domínio e regras de negócio. 
Spring 5.2.5 Provedor de serviço REST. 
Spring Boot 2.2.6 Configuração e publicação de aplicação 
Spring Data 2.3.6 Interfaces genéricas para persistência de dados. 
Spring Security 5.2.5 Segurança de acesso. 
Hibernate 5.4.2 Mapeamento objeto-relacional. 
Liquibase 3.9.0 Criação e validação das tabelas. 
MySQL 8.0.23 Gerenciamento do banco de dados. 
Apache Maven 3.6.3 Gerenciamento de dependências e empacotamento 
VueJs 2.6.12 Framework front-end 
NodeJS 14.15.4 Ambiente de execução Javascript 
GitHub - Hospedagem e versionamento de código. 
Fonte: Elaborado pelo autor (2020) 
Depois que todas as etapas do projeto forem concluídas, o professor realizará a avaliação 
e atribuirá as medalhas, que devem ser aceitas pelos alunos para que sejam exibidas no perfil. 
O Scrum Master da equipe também fará sua avaliação dos membros. 
Essas informações estarão disponíveis no perfil do aluno conforme mostra a Figura 4, 
junto com diversas informações relevantes, como: cidade em que mora, informações 
23 
 
acadêmicas e profissionais, todos os projetos que participou junto com o desempenho em cada 
um deles. 
A Figura 4 ilustra as histórias de usuário: US005, US0012, US0018 e US0022. 
Figura 4 - Perfil do aluno. 
 
Fonte - Elaborado pelo autor (2020) 
 
2.4 Tecnologias 
No desenvolvimento da aplicação, foram utilizadas as tecnologias listadas no Quadro 
1 
24 
 
3 DESENVOLVIMENTO 
Este capítulo apresenta todo o processo de desenvolvimento do Trabalho. 
Toda a arquitetura foi pensada para facilitar e agilizar o processo de acompanhamento 
dos projetos para todos os usuários, especialmente professores e CADI, facilitando a interação 
entre os usuários. 
3.1 Arquitetura do sistema 
A arquitetura será explicada dividindo em três partes: 
• front-end - parte visual de um sistema, a interface gráfica; 
• back-end - fornece os dados solicitados na aplicação, que possui regras de 
negócio; 
• banco de dados – gerencia e armazena os dados da aplicação. 
3.1.1 Back-end 
Neste trabalho, foi adotado o padrão MVC (Model, View, Controller) e a linguagem 
Java. Como é possível visualizar na Figura 5 o usuário realiza uma requisição ao controller 
através do navegador. O controller trata as informações vindas da view e aciona o model, que 
se comunica com o banco de dados e efetua as operações necessárias por comandos do banco 
de dados. 
Figura 5 - Arquitetura do sistema - Modelo MVC. 
 
 Fonte: Elaborado pelo autor (2020) 
 
Então, a estrutura do MVC possui os seguintes itens: 
• Model (Modelo), contém a lógica de negócio da aplicação; 
• View (Visão) que é a representação da informação; 
25 
 
• Controller (Controle) que responde aos comandos e interage com o model. 
 
A Figura 6 está ilustrado um exemplo do método do controller utilizando as classes do 
projeto..
Figura 6 - Trecho de Código do Antenas: Controller - Salvamento de um projeto. 
@PostMapping 1 
public Project create(@RequestBody Project project) { 2 
 return service.save(project); 3 
}4 
Fonte: Elaborado pelo autor (2020) 
 
Segundo as convenções, o controller não deve conter nenhuma regra de negócio, toda a 
lógica deve ficar no service. Por isso, na linha 3 da Figura 6, se faz uma chamada para o método 
save do service, passando as informações do projeto a ser salvo. 
No método save, todos os dados são “setados”, onde todas as verificações são feitas e o 
projeto, finalmente, é persistido no banco de dados conforme pode ser visualizado na linha 12 
da Figura 7.
1 
 Figura 7 - Trecho de Código do Antenas: Service - Salvamento de um projeto. 
public Project save(Project project) { 2 
 Representative found = 3 
representativeService.findById(userService.getUserLoggedIn().getId()4 
); 5 
 throwIfUserIsNull(found); 6 
 throwIfUserIsInactive(found); 7 
 project.setCreatedBy(found); 8 
 9 
 project.setCreatedAt(ZonedDateTime.now()); 10 
 project.setProgress(2); 11 
 project.setOpen(false); 12 
 return repository.save(project); 13 
}14 
 Fonte: Elaborado pelo autor (2020) 
 
E por fim, há o model, representado na Figura 8, onde é especificado todos os atributos 
que o objeto, no caso, projeto deve ter, todos os relacionamentos que ele possui com outros 
objetos e todo o mapeamento JPA, para que trabalhe em conjunto com o banco de dados. 
 
 
 
 
26 
 
 
Figura 8 - Trecho de Código do Antenas: Service - Salvamento de um projeto. 
public class Project { 1 
 @Id 2 
 @GeneratedValue(strategy = GenerationType.IDENTITY) 3 
 private Long id; 4 
 5 
 private String title; 6 
 private String shortDescription; 7 
 private String completeDescription; 8 
 private String technologyDescription; 9 
 private String notes; 10 
 private int progress; 11 
 private java.util.Date updatedAt; 12 
 private ZonedDateTime createdAt; 13 
 private Boolean refused; 14 
 private String reason; 15 
 private Boolean finished; 16 
 private Boolean open; 17 
 private String course; 18 
 private int semester; 19 
 20 
 @OneToOne(cascade = CascadeType.ALL) 21 
 @JoinColumn(name = "meeting_id", referencedColumnName = "id") 22 
 private Meeting meeting; 23 
 24 
 @OneToOne 25 
 @JoinColumn(name = "approved_by", referencedColumnName = "id") 26 
 private Cadi approvedBy; 27 
 28 
 @OneToOne 29 
 @JoinColumn(name = "finished_by", referencedColumnName = "id") 30 
 private Cadi finishedBy; 31 
 32 
 @OneToOne 33 
 @JoinColumn(name = "created_by", referencedColumnName = "id") 34 
 private Representative createdBy; 35 
 36 
 @ManyToOne 37 
 @JoinColumn(name = "teacher_id", referencedColumnName = "id") 38 
 private Teacher teacher; 39 
}40 
Fonte: Elaborado pelo autor (2020) 
3.1.2 Front-end 
No front-end, está sendo utilizado o Vue.js, que é um framework utilizado na construção 
de interfaces de usuário. Ele pode ser utilizado no desenvolvimento de aplicativos web single 
page (baseados em uma única página). 
Para o design, foi utilizado o element.ui, que possui componentes prontos, agilizando o 
desenvolvimento do projeto e fornecendo um design agradável. 
27 
 
Também foi utilizado o Vuex, um padrão de controle de estado para aplicações Vue.js. 
Ele utiliza uma árvore única de estado, o que significa que todo estado no nível de aplicação 
será centralizado e único, assim como o store. Qualquer componente pode acessaro estado ou 
acionar ações. 
A Figura 9 é uma representação simples do conceito de fluxo de dados unidirecional. 
O Vuex é constituído das seguintes partes: 
• Estado (state): Direciona toda a aplicação; 
• View: É o mapeamento declarativo do estado; 
• Ações (actions): São formas pelas quais o estado pode mudar de acordo 
com as interações dos usuários na view. 
Figura 9 - Padrão de gerenciamento de estado. 
 
Fonte: Vuex.vuejs (2021) 
 
A Figura 10 ilustra um exemplo simples, utilizando o código da tela de login para 
mostrar como o Vuex foi utilizado. 
 
 
 
 
 
28 
 
Figura 10 - Trecho de Código do antenas - Exemplo do uso vuex. 
// view 1 
<template> 2 
 <codigo HTML> 3 
</template> 4 
 5 
<script> 6 
export default { 7 
 // state 8 
 data () { 9 
 return { 10 
 form: { 11 
 email: ‘’, 12 
 password: ‘’ 13 
 }, 14 
 rules: { 15 
 email: [ 16 
 { required: true, message: ’Campo obrigatorio’, trigger: 17 
’submit’ }, 18 
 { type: ’email’, message: ’Insira um e-mail valido’, 19 
trigger: ’submit’ } 20 
 ], 21 
 password: [{ required: true, message: ’Campo obrigatorio’, 22 
trigger: ’submit’ }] 23 
 } 24 
 } 25 
 }, 26 
 // actions 27 
 methods: { 28 
 submitForm () { 29 
 this.$refs.form.validate((valid) => { 30 
 if (valid) { 31 
 this.$store.commit(’SHOW_LOADING’) 32 
 this.$store.dispatch(’authenticateUser’, this.form) 33 
 .then(() => this.$router.push(’/projects’)) 34 
 .catch(err => this.$throwError(err)) 35 
 .finally(() => this.$store.commit(’HIDE_LOADING’)) 36 
 } 37 
 }) 38 
 } 39 
 } 40 
} 41 
Fonte: Elaborado pelo autor (2020) 
 
Também, foi utilizado o webpack, que é um empacotador de módulos para aplicativos 
que utilizam JavaScript. Nem sempre é bom ter todo o código do projeto em um único arquivo. 
Por isso o webpack possui a ideia de code splitting (divisão do código) onde é possível 
modularizar partes reaproveitáveis do projeto, o que facilita o desenvolvimento. Por exemplo, 
uma equipe trabalha em um módulo X e outra em um módulo Y, ambos no mesmo projeto, sem 
que um interfira no outro. 
29 
 
Quando o webpack processa o aplicativo, ele cria internamente um gráfico de 
dependências, que mapeia os módulos que o projeto precisa e gera pacotes configuráveis. Além 
disso, ele permite utilizar o lazy loading, o que é muito vantajoso por permitir dividir 
componentes em blocos separados e apenas carregar seu conteúdo quando a página for 
acessada, fazendo com que ela carregue mais rápido. 
3.1.3 Banco de dados 
O mecanismo de banco de dados utilizado é o MySQL, um sistema de gerenciamento 
de banco de dados relacional RDBMS (Relational Database Management Systems) que possui 
um modelo de cliente-servidor e utiliza a linguagem SQL como interface. 
A palavra “relacional” significa que os dados armazenados estão organizados em 
tabelas, e cada uma está relacionada com a outra. 
Na Figura 11 é ilustrado o diagrama que representa todas as tabelas utilizadas no 
trabalho e suas relações. 
 
30 
 
Figura 11 - Diagrama de entidade-relacionamento. 
 
Fonte: Elaborado pelo autor (2020) 
31 
 
4 RESULTADOS 
Neste capítulo serão apresentados os resultados obtidos, mostrando a usabilidade do 
sistema. 
4.1 Ambiente de execução 
Os ambientes utilizados para hospedar o sistema para a realização dos testes foram o 
Heroku, para o back-end e o Netlify, para o front-end da aplicação. 
4.2 Experimentos e resultados 
A aplicação foi testada por alguns professores e membros do CADI, e foram criados 
projetos seguindo alguns roteiros. 
Os testes foram realizados com o objetivo de garantir que todos os requisitos fossem 
cumpridos e talvez gerar novos requisitos para que o uso da aplicação ficasse confortável e 
simples (na medida do possível) para todos os usuários. 
No momento, apenas professores e membros do CADI efetuaram esses testes, não houve 
tempo para realizar testes com alunos e colaboradores. 
4.2.1 Fluxo onde o projeto é finalizado 
O primeiro roteiro foi o que o projeto fosse finalizado com sucesso. Neste processo, 
foram detectados bugs simples, como algum botão que não possuía o comportamento esperado, 
corrigido logo em seguida. A seguir, está o fluxo onde o projeto foi finalizado: 
a) Criação de projeto (Representante) 
b) Aprovação do projeto (CADI) 
c) Adição de mais informações sobre o projeto (Representante) 
d) Aprovação do projeto (CADI) 
e) Informa os dados da reunião (CADI) 
f) Seleciona uma data e hora informados pelo CADI (Representante) 
g) Define um professor responsável (CADI) 
h) Edita as informações do projeto para melhorar o entendimento para 
os alunos (Professor) 
i) Abre o projeto, para que fique disponível para os alunos (Professor) 
j) Cria equipes e adiciona membros (Aluno) 
k) Fecha o projeto (Professor) 
32 
 
1) Avalia os alunos e atribui medalhas (Professor) 
4.2.2 Fluxo onde o projeto é rejeitado na segunda etapa 
No segundo roteiro, o projeto foi avaliado pelo CADI e não passou, foi reprovado. A 
seguir, são mostrados os itens do fluxo onde o projeto foi rejeitado na segunda etapa. 
a) Criação do projeto (Representante) 
b) Reprovação do projeto (CADI) 
4.2.3 Fluxo onde o projeto é rejeitado na quarta etapa 
No terceiro e último roteiro, o projeto foi reprovado na quarta etapa, interrompendo o 
fluxo. 
a) Criação do projeto (Representante) 
b) Aprovação do projeto (CADI) 
c) Adição de mais informações sobre o projeto (Representante) 
d) Projeto Rejeitado (CADI) 
 
Ao realizar esses testes, foi notada a necessidade de algumas melhorias. No perfil do 
aluno, visualizado na Figura 12, as informações parecem um tanto bagunçadas. Elas devem 
ficar dispostas de forma que a visualização fique mais confortável. No momento da atribuição 
de medalhas, foi notado que faltaram algumas validações, como atribuir a mesma medalha mais 
de uma vez para o mesmo aluno. Ainda na tela de atribuir medalhas, foi notada a necessidade 
de excluir uma medalha depois de atribuída 
Não foi possível corrigir tais problemas até o momento, pois havia partes mais 
importantes que necessitavam de atenção e eles não afetam o uso do sistema. Eles serão 
corrigidos futuramente. 
33 
 
Figura 12 – Perfil do aluno. 
 
 Fonte: Elaborado pelo autor (2021) 
 
34 
 
5 CONSIDERAÇÕES FINAIS 
Este trabalho foi desenvolvido com o intuito de auxiliar os professores e o CADI da 
FATEC-SJC a acompanharem os alunos de forma mais simples e prática, com menos esforço 
e de forma mais organizada, pois antes as informações não eram centralizadas, o que podia 
ocasionar perda de informações ou passagem de informações incorretas. 
 Para atender essa necessidade, foram realizadas reuniões com alguns professores e 
membros do CADI para levantamento de requisitos, que foi feito através de user stories. 
Depois dessas reuniões e diversos testes, foi concluído que o sistema atende os 
principais requisitos solicitados, fazendo com que ele tenha um fluxo completo, como 
solicitado. 
A solução criada está temporariamente disponibilizada no Heroku e Netlify. 
Futuramente estará hospedada nos servidores da FATEC, melhorando assim a disponibilidade 
e suportando uma quantidade maior de acessos. 
5.1 Trabalhos futuros 
Alguns requisitos a mais que facilitariam o uso da aplicação 
• Sistema de notificação quando um projeto troca de status 
• Colocar o sistema em um servidor mais confiável, que aceite um número 
maior de acessos simultâneos. 
• Refatoração da tela de perfil para que fiquem mais amigáveis ao usuário. 
• Criar conexão socket entre o back-end e o front-end, para que seja atualizado 
em tempo real 
• Enviar notificação para o aluno aceitar entrar no grupo. Antes disso, ficará 
como pendente 
• Fazer com que o aluno possa escolher as medalhas que deverão ser exibidas 
no perfil, para queele tenha sempre que entrar no sistema para manter o perfil 
atualizado. 
• Aplicar validações na atribuição de medalhas, para que um aluno não possua 
mais de uma do mesmo tipo. 
 
35 
 
REFERÊNCIAS 
VUE.JS. What is VueJs?. Disponível em: https://vuejs.org/v2/guide/ Acesso em 12/10/2021. 
VUE.JS. What is Vuex?. Disponível em: https://vuex.vuejs.org Acesso em 12/10/2021. 
 
 
https://vuex.vuejs.org/

Outros materiais