universidade tecnolÓgica federal do paranÁ curso de...

61
UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS RODRIGO SOLANO MARQUES SISTEMA WEB PARA GERENCIAMENTO DE OPORTUNIDADE DE EMPREGO E CURRÍCULO TRABALHO DE CONCLUSÃO DE CURSO PATO BRANCO 2017

Upload: others

Post on 20-Feb-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

  • UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

    RODRIGO SOLANO MARQUES

    SISTEMA WEB PARA GERENCIAMENTO DE OPORTUNIDADE DE EMPREGO E CURRÍCULO

    TRABALHO DE CONCLUSÃO DE CURSO

    PATO BRANCO 2017

  • RODRIGO SOLANO MARQUES

    SISTEMA WEB PARA GERENCIAMENTO DE OPORTUNIDADE DE EMPREGO E CURRÍCULO

    Trabalho de Conclusão de Curso de graduação, apresentado à disciplina de Trabalho de Conclusão de Curso 2, do Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas, da Universidade Tecnológica Federal do Paraná, Câmpus Pato Branco, como requisito parcial para obtenção do título de Tecnólogo. Orientador: Prof. Robison Cris Brito Coorientadora: Profª Isabella de Araujo Cionini Menezes

    PATO BRANCO

    2017

  • AGRADECIMENTOS

    A minha família que sempre foi compreensiva, paciente e sempre acreditou

    em mim nos períodos difíceis e turbulentos que passei ao desenvolver este trabalho.

    A todos os amigos e colegas que de uma maneira ou de outra procuravam

    me incentivar e ajudar no que fosse preciso.

    A minha namorada que sempre esteve ao meu lado, disposta a me ajudar no

    que fosse preciso e sacrificando seu tempo e nosso tempo para que eu pudesse

    finalizar esse trabalho.

    Aos professores que ajudaram na minha caminhada até aqui, dando o melhor

    deles para que o ensino fosse de altíssimo nível. Agradecimento especial ao

    professor Vinicius Pegorini e ao Robison Cris Brito, meu orientador neste trabalho,

    que sempre estiveram dispostos a compartilharem seus conhecimentos para que eu

    pudesse fazer um bom trabalho e a professora Isabella de Araujo Cionini Menezes

    que me auxiliou e orientou em toda a parte de análise neste trabalho.

  • RESUMO

    MARQUES, Rodrigo Solano. Sistema web para gerenciamento de oportunidade de emprego e currículo. 2017. 60f. Trabalho de Conclusão de Curso 2 – Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas, Universidade Tecnológica Federal do Paraná, Câmpus Pato Branco. Pato Branco, 2017. A tecnologia proporciona o acesso às ferramentas para os mais diversos segmentos. As empresas têm feito uso crescente de ferramentas que auxiliam no recebimento de currículo digital e na divulgação de oportunidades de emprego. O e-mail, por exemplo, é uma dessas ferramentas que ajuda e auxilia as empresas quando o assunto é oportunidade de emprego. No cenário atual, esta ferramenta está deixando de ser eficaz devido ao seu método de comunicação ser assíncrono, fazendo com que o candidato possa passar dias sem acessá-lo, resultando que a informação perca sua importância pelo atraso na resposta. Esse e outros métodos em certo desuso como jornal, rádio e televisão, fazem com que as plataformas web de oportunidade de emprego ganhem mais credibilidade. Com o objetivo de facilitar a disseminação de oportunidades de emprego e a divulgação de currículos, é proposto o desenvolvimento de um aplicativo, na plataforma Web que visa agilizar a difusão das informações, assim como a rapidez nas respostas. Ao longo do texto é exemplificado o uso das tecnologias escolhidas para a construção do trabalho, entre elas o uso do Android Studio, IDE Eclipse, JPDroid, Spring Boot, Spring Security e Spring Data JPA. Palavras-chave: Aplicativo móvel. Android. Sistema web. Currículo.

  • ABSTRACT

    MARQUES, Rodrigo Solano. Web system for employment opportunity management and curriculum with Android interaction. 2017. 60f. Projeto Trabalho de Conclusão de Curso 2 – Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas, Universidade Tecnológica Federal do Paraná, Câmpus Pato Branco. Pato Branco, 2017. Actually the technology provides access to tools for various segments, there is also an increasing use by businesses in tools that assist in the receipt of digital curriculum and dissemination of job opportunities. The e-mail, for example, is one such tool that help and assist companies when it comes to employment opportunities. In today's technological scenario, This tool is ceasing to be effective because your method is asynchronous communication, resulting in the candidate's possibility to spend days without access it, can make with that information loses its importance by a delay on the reply. Having knowledge about it and another methods exceeded as newspaper, radio and television make the employment opportunities of web platforms to gain more credibility. In order to facilitate the spread of employment opportunities and dissemination of curriculum, it’s proposed the development of an application, the web platform, that would speed up the dissemination of information, as well as timely response. Throughout the text is exemplified the use of technologies chosen for the construction of the work, among them the use of Android Studio, Eclipse IDE, JPDroid, Spring Boot, Spring Security and Spring Data JPA. Keywords: Mobile app, Android, Web System, Curriculum

  • LISTA DE FIGURAS

    Figura 1 – Tela do Site Vagas.com.br .......................................................................16 Figura 2 – Tela do Site Curriculum............................................................................17 Figura 3 – Diagrama de casos de uso – Sistema Web .............................................23 Figura 4 – Diagrama de casos de uso – Aplicação Android......................................27 Figura 5 – Diagrama de classes................................................................................29 Figura 6 – Diagrama de entidade e relacionamento..................................................34 Figura 7 – Tela de login da aplicação web ................................................................40 Figura 8 – Tela de cadastro de usuário da aplicação web ........................................41 Figura 9 – Tela de boas vindas da aplicação web.....................................................41 Figura 10 – Tela de cadastro de empresa da aplicação web ....................................42 Figura 11 – Tela de cadastro de cargo da aplicação web .........................................43 Figura 12 – Tela de cadastro de empregador da aplicação web...............................44 Figura 13 – Tela de cadastro de oportunidade de emprego da aplicação web .........45 Figura 14 – Menu de candidato da aplicação web ....................................................45 Figura 15 – Tela de avalição de currículo da aplicação web .....................................46 Figura 16 – Tela de splash do aplicativo ...................................................................47 Figura 17 – Tela de login do aplicativo......................................................................47 Figura 18 – Tela de cadastro de usuário...................................................................48 Figura 19 – Tela inicial do aplicativo mobile ..............................................................49 Figura 20 – Visão dos Itens de menu no aplicativo mobile. ......................................49 Figura 21 – Lista de formações do aplicativo mobile.................................................50 Figura 22 – Tela de cadastro de formação do aplicativo mobile. ..............................51 Figura 23 – Tela de cadastro de currículo.................................................................52

  • LISTA DE QUADROS Quadro 1 – Ferramentas e Tecnologias........................................................................ 19 Quadro 2 – Aplicação web: requisitos funcionais .......................................................... 21 Quadro 3 – Aplicação web: requisitos não funcionais ................................................... 21 Quadro 4 – Aplicação Android: requisitos funcionais .................................................... 22 Quadro 5 – Aplicação Android: Requisitos Não Funcionais .......................................... 22 Quadro 6 – Expansão da operação de “inclusão” dos casos de uso do tipo manter..... 23 Quadro 7 – Expansão da operação de “exclusão” dos casos de uso do tipo manter.... 24 Quadro 8 – Expansão da operação de “atualização” dos casos de uso do tipo manter 24 Quadro 9 – Expansão da operação de “consulta” dos casos de uso do tipo manter .... 25 Quadro 10 – Expansão caso de uso pesquisar currículo .............................................. 25 Quadro 11 – Expansão caso de uso visualizar currículo............................................... 25 Quadro 12 – Expansão caso de uso criar lista de candidatos favoritos ........................ 26 Quadro 13 – Expansão caso de uso solicitar entrevista de emprego............................ 26 Quadro 14 – Expansão caso de uso pesquisar oportunidade de emprego por

    empresa ................................................................................................................. 27 Quadro 15 – Expansão caso de uso pesquisar oportunidades de emprego por área

    profissional ............................................................................................................. 28 Quadro 16 – Expansão caso de uso enviar currículo.................................................... 28 Quadro 17 – Expansão caso de uso confirmar presença entrevista ............................. 28 Quadro 18 – Descrição da classe Pessoa .................................................................... 29 Quadro 19 – Descrição da classe Empregador............................................................. 30 Quadro 20 – Descrição da classe Candidato ................................................................ 30 Quadro 21 – Descrição da classe ContaUsuario........................................................... 30 Quadro 22 – Descrição da classe Permissao................................................................ 30 Quadro 23 – Descrição da classe Estado ..................................................................... 31 Quadro 24 – Descrição da classe Cidade ..................................................................... 31 Quadro 25 – Descrição da classe Cargo....................................................................... 31 Quadro 27 – Descrição da classe OportunidadeEmprego ............................................ 31 Quadro 28 – Descrição da classe AvaliacaoCurriculo................................................... 32 Quadro 29 – Descrição da classe Empresa .................................................................. 32 Quadro 30 – Descrição da classe Curriculo .................................................................. 32 Quadro 31 – Descrição da classe ExperienciaProfissional ........................................... 33 Quadro 32 – Descrição da classe CursoComplementar ............................................... 33 Quadro 33 – Descrição da classe Formacao ................................................................ 33 Quadro 34 – Campos da tabela Pessoa ....................................................................... 35 Quadro 35 – Campos da tabela Empregador................................................................ 35 Quadro 37 – Campos da tabela Cidade ........................................................................ 35 Quadro 38 – Campos da tabela Cargo.......................................................................... 36 Quadro 39 – Campos da tabela Candidato ................................................................... 36 Quadro 41 – Campos da tabela Empresa ..................................................................... 37 Quadro 42 – campos da tabela Curriculo...................................................................... 37 Quadro 43 – Campos da tabela ExperienciaProfissional .............................................. 38 Quadro 44 – Campos da tabela CursoComplementar .................................................. 38 Quadro 45 – Campos da tabela Formacao ................................................................... 39 Quadro 46 – Campos da tabela CurriculoExperienciaProfissional ................................ 39

  • LISTAGEM DE CÓDIGOS Listagem 1 – Classe de configuração do retrofit ............................................................. 53 Listagem 2 – Interface de serviço da classe Estado. ...................................................... 53 Listagem 3 – Interface de serviço da classe Formacao .................................................. 53 Listagem 4 – Classe abstrata de sincronização .............................................................. 54 Listagem 5 – Primeira parte da codificação da classe de sincronização de estados. ..... 55 Listagem 6 – Segunda parte da codificação da classe de sincronização de estados ..... 55 Listagem 7 – Primeira parte da codificação da classe de sincronização de formações .. 56 Listagem 8 – Segunda parte da codificação da classe de sincronização de

    formações ................................................................................................................ 56 Listagem 9 – Classe que inicia as sincronizações .......................................................... 57 Listagem 10 – Classe EstadoApi no web service............................................................ 58 Listagem 11 – Classe FormacaoApi no web service....................................................... 58

  • LISTA DE SIGLAS

    API Application Programming Interface DER Diagrama de Entidade e Relacionamento FIPE Fundação Instituto de Pesquisas Econômicas GPTW Great Place to Work HTTP HyperText Transfer Protocol IDE Integrated Development Environment JPDroid Java Persistence for Android RF Requisitos Funcionais RNF Requisitos Não Funcionais SQL Structured Query Language UML Unified Moodelling Language

  • SUMÁRIO

    1 INTRODUÇÃO ..................................................................................... 11 1.1 CONSIDERAÇÕES INICIAIS.................................................................... 11 1.2 OBJETIVOS ............................................................................................ 12 1.2.1 Objetivo Geral ...................................................................................... 12 1.2.2 Objetivos Específicos............................................................................ 12 1.3 JUSTIFICATIVA....................................................................................... 12 1.4 ESTRUTURA DO TRABALHO.................................................................. 13 2 REFERENCIAL TEÓRICO .................................................................... 15 2.1 PLATAFORMAS WEB COM SERVIÇOS DE OPORTUNIDADES DE EMPREGOS...................................................................................................... 15 2.2 EXEMPLOS DE PLATAFORMAS WEB COM SERVIÇOS DE OPORTUNIDADES DE EMPREGO .................................................................... 16 3 MATERIAIS E MÉTODO ....................................................................... 18 3.1 MATERIAIS ............................................................................................. 18 3.2 MÉTODO ................................................................................................ 19 4 RESULTADOS..................................................................................... 20 4.1 ESCOPO DO SISTEMA ........................................................................... 20 4.2 MODELAGEM DO SISTEMA.................................................................... 20 4.3 APRESENTAÇÃO DO SISTEMA .............................................................. 39 4.3.1 Aplicação Web ..................................................................................... 40 4.3.2 Aplicativo Mobile................................................................................... 46 4.4 IMPLEMENTACAO DO SISTEMA ............................................................ 52 6 CONCLUSÃO ...................................................................................... 59 REFERÊNCIAS.............................................................................................. 60

  • 11

    1 INTRODUÇÃO

    Neste capítulo são apresentadas as considerações iniciais do trabalho, os

    seus objetivos e a justificativa, finalizando com a estrutura do texto.

    1.1 CONSIDERAÇÕES INICIAIS

    Muitas empresas ainda utilizam métodos tradicionais para a divulgação de

    suas oportunidades de emprego, tais como anúncio em panfleto, jornal, rádio e

    televisão. Da mesma forma, é, ainda, relativamente comum que a entrega de

    currículo também ocorre de maneira convencional, por meio de documento

    impresso.

    Com o advento das tecnologias digitais, é possível que empresas e

    candidatos ao emprego compartilhem suas vagas e currículos utilizando recursos

    como o e-mail, o que permite um menor custo na divulgação, assim como uma maior

    rapidez entre a demanda e o seu suprimento.

    Em contrapartida, o e-mail pode limitar o público alvo porque é necessário

    estar cadastrado ou que a empresa que está divulgando a vaga tenha conhecimento

    do endereço de e-mail dos candidatos. Destaca-se, ainda, como ponto negativo que

    o e-mail é um método de comunicação assíncrono, ou seja, o destinatário pode

    passar vários dias sem acessá-lo, fazendo com que a informação possa perder a

    sua importância pelo atraso na resposta.

    Também vale destacar que no cenário atual, as empresas realmente têm

    investido em ferramentas online e redes sociais para buscar profissionais e ofertar

    oportunidades de emprego. Patres (2014) publicou o resultado da pesquisa

    Melhores Empresas para Trabalhar Great Place to Work (GPTW) Brasil. Esse estudo

    revelou que no ano de 2014 em torno de 83% das melhores empresas para trabalhar

    no Brasil já contrataram funcionários por meio das redes sociais, 39% utilizaram o

    LinkedIn como forma de atrair talentos e 36% o Facebook.

    Com o objetivo de facilitar a disseminação de informações referentes a

    oportunidades de emprego, assim como a divulgação de currículos e aptidões

    utilizando a Internet, propõe-se o desenvolvimento de um aplicativo, na plataforma

    web, para que as pessoas consigam acessar e enviar dados utilizando páginas da

  • 12

    Internet ou dispositivos móveis. Isso agilizaria a difusão das informações, assim

    como a rapidez das respostas.

    1.2 OBJETIVOS

    O objetivo geral se refere à finalidade principal de realização deste trabalho.

    Os objetivos específicos complementam o objetivo geral.

    1.2.1 Objetivo Geral

    Desenvolver um sistema web para gerenciamento de oportunidades de

    emprego e envio de currículos com interação por meio de dispositivos móveis.

    1.2.2 Objetivos Específicos

    Dentre os objetivos específicos do trabalho, destacam-se:

    • Facilitar a divulgação e a procura de oportunidades de emprego via um

    sistema móvel.

    • Facilitar a construção de currículos na plataforma móvel.

    • Oferecer um sistema web para que as empresas possam disponibilizar

    oportunidades de emprego e analisar currículos recebidos.

    1.3 JUSTIFICATIVA

    Atualmente a procura de emprego vem crescendo no Brasil em decorrência

    da situação econômica do país. Um estudo feito pela Fundação Instituto de

    Pesquisas Econômicas – FIPE (2015) revelou que no mês de abril de 2015, o

    mercado de trabalho brasileiro abriu 3,5% mais vagas de emprego que em abril de

    2014, sendo a primeira vez que esse número fica positivo desde junho de 2014.

  • 13

    Muitas vezes um profissional está disponível e há empresas com

    oportunidades na área, entretanto, existe a falta de comunicação entre eles.

    Contudo, com as deficiências do modelo atual de divulgação de oportunidades de

    emprego alinhado com a disseminação do acesso à Internet, seja por computadores

    ou smartphones, é possível criar uma ferramenta online que permite que

    empregadores e empregados possam receber e enviar currículos e oportunidades

    de emprego, respectivamente.

    Daniele (2015), publicou o resultado de uma pesquisa realizada no mercado

    americano que entrevistou 375 pessoas. Esse estudo revela que a procura de

    empregos usando smartphone como ferramenta aumentou e que apenas 10% dos

    candidatos não utilizam essa ferramenta para procurar emprego. A pesquisa revela,

    também, que apenas 1 em cada 10 usuários não utiliza aplicativo em smartphone.

    Com base neste contexto, esse trabalho visa desenvolver um aplicativo cuja

    finalidade é facilitar a divulgação e a procura de oportunidades de emprego, a

    elaboração e a avaliação de currículos. Para isso, o trabalho contará com a ajuda de

    tecnologias móveis e web e a comunicação entre ambas para acelerar o processo

    de resposta, tanto para o empregador quanto para quem procura emprego. Desse

    modo, as empresas poderão, via web, disponibilizar suas oportunidades de emprego

    e avaliar currículos e os candidatos poderão elaborar seus currículos pelo aplicativo

    e receber oportunidades de empregos em seus smartphones.

    1.4 ESTRUTURA DO TRABALHO

    Este trabalho está estruturado em cinco capítulos, dos quais este é o

    primeiro e apresenta um contexto sobre o tema, incluindo os objetivos e a

    justificativa para a realização deste trabalho.

    O Capítulo 2 apresenta uma contextualização teórica sobre os conceitos e

    as características de sites usados para encontrar oportunidades de empregos e

    profissionais na web, dispositivos móveis e alguns exemplos de sites e aplicativos

    móveis com funcionalidades similares aos propostos pelo presente trabalho.

    No Capítulo 3 são apresentados os materiais e o método utilizado para a

    realização deste trabalho.

    No Capítulo 4 são apresentados os resultados da realização deste trabalho.

  • 14

    No Capítulo 5 está a conclusão, seguida das referências utilizadas no texto.

  • 15

    2 REFERENCIAL TEÓRICO

    Este capítulo apresenta o embasamento necessário para a construção do

    trabalho com a proposta de desenvolver um sistema web para o gerenciamento de

    oportunidades de empregos e currículos com interação com dispositivo Android,

    mostrando características de sites que usam serviços equivalentes ao que será

    desenvolvido.

    2.1 PLATAFORMAS WEB COM SERVIÇOS DE OPORTUNIDADES DE EMPREGOS

    Os sites que disponibilizam serviços para as pessoas localizarem

    oportunidades de empregos na web, são agências de empregos virtuais. Eles se

    tornam um intermediador, entre as pessoas que estão em busca de um emprego e

    as empresas que estão ofertando essa oportunidade.

    Hoje, com o avanço da tecnologia, é fácil encontrar na internet vários sites

    que trabalham com essa plataforma de oportunidades de empregos, devido à

    demanda crescente de pessoas que utilizam a Internet para a busca de

    oportunidades de emprego. Veloso (2015), publicou sobre o aumento das buscas

    por oportunidades de emprego e revelou que no site Vagas.com.br em janeiro à

    junho de 2015, o número de candidaturas às oportunidades de emprego em sua

    plataforma cresceu 41% sobre o mesmo período de 2014. E entre as idades de 18 a

    24 anos o índice marcou alta de 75%.

    Contudo, nem todos os sites que disponibilizam esse serviço na internet

    trabalham do mesmo modo. Alguns sites trabalham com o processo de

    cadastramento de currículos de pessoas em sua plataforma, assim as empresas

    podem pesquisar pelo site os perfis de profissionais com melhor perfil para as

    oportunidades de empregos que elas estão ofertando. Outros sites trabalham de

    uma forma semelhante, optando também por cadastrar os currículos das pessoas

    em sua plataforma, porém, disponibilizam para as empresas a opção de

    cadastramento das oportunidades de empregos que estão ofertando, assim as

    pessoas que estão com o seu currículo cadastrado na plataforma web também

  • 16

    poderão pesquisar e se candidatar às vagas que são mais compatíveis com o seu

    perfil profissional.

    2.2 EXEMPLOS DE PLATAFORMAS WEB COM SERVIÇOS DE OPORTUNIDADES DE EMPREGO

    A seguir estão exemplos de sites mais conhecidos que trabalham com a

    plataforma de oportunidades de empregos na web são:

    a) Vagas.com.br

    O site vagas.com.br (VAGAS, 2015) foi fundando em 1999 e o seu modo de

    trabalhar determina que as empresas cadastrem suas oportunidades de emprego na

    plataforma web. Assim, as pessoas poderão pesquisá-las, mas somente as pessoas

    que tem currículo cadastrado no site poderão candidatar-se a oportunidade de

    emprego.

    Figura 1 – Tela do Site Vagas.com.br Fonte: Vagas (2015).

    b) Curriculum

    O modo de trabalhar do site Curriculum (CURRICULUM, 2015) é bastante

    variado. O site possibilita à empresa cadastrar suas oportunidades de emprego, mas

    também possibilita à empresa fazer um filtro de perfil de profissional. Os candidatos

    podem cadastrar seus currículos, pesquisar as oportunidades de empregos

    cadastradas no site e também recebem por e-mail novas vagas que se encaixam em

    seu perfil profissional.

  • 17

    Figura 2 – Tela do Site Curriculum Fonte: Curriculum (2015).

  • 18

    3 MATERIAIS E MÉTODO

    Este capítulo apresenta as ferramentas utilizadas para a elaboração deste

    trabalho. Os materiais estão relacionados às tecnologias e ferramentas utilizadas e o

    método apresenta a sequência das principais atividades realizadas.

    3.1 MATERIAIS

    Para realizar o desenvolvimento do sistema web e do aplicativo para

    dispositivos móveis foram utilizados as ferramentas e tecnologias apresentadas no

    Quadro 1.

    Ferramenta Versão Link Funcionalidade Android Studio

    2.3.1 https://developer.android.com/studio/index.html

    Android Studio é o ambiente de desenvolvimento oficial da Google para o desenvolvimento de aplicativos para a plataforma Android.

    PostgreSQL 9.2.4 http://www.postgresql.org/ PostgreSQL é um sistema de banco de dados open source e objeto-relacional.

    PGAdminIII 1.16.1 http://www.postgresql.org/ Ferramenta de interface gráfica para o controle e desenvolvimento de bancos de dados PostgreSQL.

    JPDroid 1.0 https://github.com/RafaelCentenaro/jpdroid

    O Java Persistence for Android (JPDroid) é uma biblioteca para Android que propõe facilitar o desenvolvimento de aplicações que necessitem persistir objetos no banco de dados SQLite.

    SQLite Expert Personal 3

    3.5.76.2496

    http://www.sqliteexpert.com/ Ferramenta de recurso de administração e desenvolvimento para SQLite.

    IDE Eclipse 4.2.2 https://eclipse.org/ Ambiente para desenvolvimento de aplicações. No contexto do presente trabalho, foi utilizado no desenvolvimento web.

    Java Development Kit

    7 https://www.java.com/pt_BR/ Linguagem de programação.

    Astah Community

    7 http://astah.net/editions/community

    Modelagem do sistema baseada na Unified Moodelling Language (UML).

    CASE Studio 2

    2.25 http://www.casestudio.com/ Modelagem do diagrama de entidade e relacionamento do banco de dados.

    Spring boot 1.4.0. https://projects.spring.io/spring-boot/

    O Spring boot facilita a criação de aplicações autônomas, baseadas em Spring

    Spring security

    4.1.1 https://projects.spring.io/spring-security/

    Spring security é uma estrutura que fornece autenticação e autorização para aplicativos Java.

    Spring Data JPA

    1.4.0 https://projects.spring.io/spring-data-jpa/

    A Spring Data JPA tem como objetivo melhorar e facilitar a implementação de camadas de acesso a dados.

  • 19

    TIBCO Jaspersoft Studio-

    6.3.1.final

    http://community.jaspersoft.com/

    TIBCO Jaspersoft Studio é um software de edição de relatórios. Ele ajuda a projetar e executar modelos de relatório e criar consultas de relatório.

    Retrofit 2.2.0 http://square.github.io/retrofit/ Um cliente HyperText Transfer Protocol (HTTP) tipo-seguro para Android e Java

    Quadro 1 – Ferramentas e Tecnologias

    3.2 MÉTODO

    As principais atividades realizadas para o desenvolvimento deste trabalho

    foram:

    a) Levantamento de requisitos – O levantamento de requisitos foi realizado

    a partir de reuniões com o professor orientador e com base no entendimento das

    regras de negócio e necessidades dos usuários que utilizam esse tipo de aplicação.

    Os requisitos foram organizados em funcionais e não funcionais.

    b) Análise e Projeto – Com base nos requisitos definidos, foram elaborados

    os diagramas de casos de uso do sistema. Ao gerar os casos de uso foi possível

    obter as informações essenciais para que fossem gerados o diagrama de entidade e

    relacionamento e o diagrama de classes.

    c) Implementação – A implementação iniciou pelos cadastros mais básicos

    do sistema e na sequência, os requisitos que possibilitavam realizar a estruturação

    do projeto.

    d) Testes – Os testes foram informais e gerais, testes unitários realizados

    pelo autor sem um plano definido. Durante o desenvolvimento, o código fonte foi

    constantemente testado para identificar erros de programação e analisar a

    comunicação com a base de dados e o aplicativo.

  • 20

    4 RESULTADOS

    Este capítulo apresenta o resultado deste trabalho que é o desenvolvimento

    de um sistema web para gerenciamento de oportunidade de emprego e currículo

    com interação com dispositivos móveis Android. Neste capítulo também constam

    códigos e reproduções de tela que visam exemplificar com a implementação foi

    realizada.

    4.1 ESCOPO DO SISTEMA

    O sistema se divide em duas partes. Uma é a parte web na qual os

    empregadores cadastram suas oportunidades de emprego na plataforma. A outra

    parte é a aplicação para dispositivos móveis, nela os candidatos visualizam, por

    meio de smartphones, as oportunidades de emprego que estarão cadastradas na

    plataforma web.

    O sistema web gerencia os processos que envolvem da disponibilidade de

    oportunidades de emprego até a escolha do candidato pelo seu currículo, não

    gerando nenhum documento físico para contratação. A empresa terá a possibilidade

    de criar uma lista de candidatos com mais afinidade para a oportunidade de

    emprego que está sendo ofertada. O sistema possibilitará à empresa avisar os

    candidatos pelo celular para que enviem seus currículos ou convida-los para realizar

    entrevista.

    Já a aplicação para dispositivo móvel terá interação com o sistema web

    recebendo todos os avisos ao candidato. A aplicação móvel disponibilizará ao

    candidato a opção de procurar oportunidades de empregos por empresas ou por

    área profissional, também oferecendo ao candidato a possibilidade de criar um

    currículo para enviar para as empresas.

    4.2 MODELAGEM DO SISTEMA

    Esta seção apresenta a análise do sistema web para gerenciamento de

    oportunidades de empregos e currículos com interação com dispositivo móvel,

  • 21

    abordando requisitos funcionais e não funcionais, diagramas de casos de uso, o

    diagrama de classes e o Diagrama de Entidade e Relacionamento (DER).

    4.2.1 Análise da Aplicação Web

    A fim de facilitar o entendimento e a organização dos requisitos, os mesmos

    foram divididos em requisitos da aplicação web e requisitos da aplicação Android. O

    Quadro 2 apresenta os requisitos funcionais para a aplicação web.

    Identificação Nome Descrição RF01 Manter empregador Permitirá que o empregador realize seu

    cadastro, bem como editar e exclui-lo. RF02 Manter empresa Permitirá ao empregador realizar o cadastro da

    empresa, bem como editar e excluir empresa cadastrada.

    RF03 Manter oportunidade de emprego

    Permitirá que o empregador cadastre suas oportunidades de emprego, bem como editar, excluir e visualizá-las.

    RF04 Pesquisar currículo Permitirá ao empregador que pesquise por nome e titulação dos candidatos e oportunidade de emprego.

    RF05 Solicitar entrevista de emprego Permitirá que o empregador possa solicitar uma entrevista de emprego aos candidatos.

    RF06 Manter lista de candidatos favoritos

    Permitirá ao empregador que crie uma lista de candidatos favoritos, ao pesquisar, possibilitando assim adicionar e excluir candidatos nessa lista para posteriormente analisar os currículos.

    RF07 Solicitar currículo Permitirá ao empregador solicitar o currículo do candidato.

    RF08 Visualizar currículo Permitirá que o empregador visualize os currículos dos candidatos.

    Quadro 2 – Aplicação web: requisitos funcionais

    O Quadro 3 apresenta os requisitos não funcionais para a aplicação web.

    Identificação Restrição Categoria RNF01 – Acesso ao sistema

    Para acessar o sistema o empregador deverá fazer login e o sistema deverá disponibilizar ao empregador a possibilidade de lembrar os dados para ele.

    Usabilidade RNF02 – Sincronização de dados

    O sistema deverá sincronizar automaticamente com a aplicação web, os dados inseridos e processados por meio da aplicação Android.

    Confiabilidade Quadro 3 – Aplicação web: requisitos não funcionais

    4.2.2 Análise da Aplicação Android

    Seguindo a mesma ordem realizada na Seção 4.2.1, são exibidos nos

    Quadros 4 e 5 os requisitos funcionais e não funcionais.

  • 22

    Identificação Nome Descrição RF01 Manter candidato Permitirá que o candidato realize seu cadastro,

    bem como editá-lo ou excluí-lo. RF02 Manter currículo Permitirá realizar o cadastro do currículo, bem

    como editar, excluir e visualizar o mesmo. RF03 Pesquisar oportunidade de

    emprego por empresa Permitirá ao candidato que pesquise as oportunidades de emprego por empresa.

    RF04 Pesquisar oportunidade de Emprego por área profissional

    Permitirá que o candidato pesquise oportunidades de emprego por área profissional. Ex: Informática, financeiro.

    RF05 Enviar Currículo Permitirá ao candidato enviar seu currículo cadastrado para as oportunidades de emprego.

    RF06 Confirmar presença entrevista Possibilitará ao candidato confirmar a sua presença em uma entrevista de emprego, quando esta for solicitada por um empregador.

    Quadro 4 – Aplicação Android: requisitos funcionais

    O Quadro 5 apresenta os requisitos não funcionais definidos para a aplicação

    para dispositivos móveis.

    Identificação Restrição Categoria RNF01 – Uso do aplicativo

    O aplicativo deverá ser disponibilizado para a plataforma Android.

    Portabilidade

    RNF02 – Banco de dados

    O aplicativo deverá usar banco de dados SQLite para armazenamento interno.

    Segurança

    RNF03 – Acesso a aplicação

    Para acessar o aplicativo, o candidato deverá fazer login e o aplicativo deverá disponibilizar ao candidato a possibilidade de lembrar os dados para ele.

    Usabilidade RNF04 – Sincronização de dados

    O sistema deverá sincronizar automaticamente com a aplicação Android, os dados inseridos e processados pela aplicação web.

    Confiabilidade Quadro 5 – Aplicação Android: Requisitos Não Funcionais

    O diagrama de casos de uso também foi dividido entre aplicação web e

    aplicação Android. O diagrama apresentado na Figura 3 contém as funcionalidades

    essenciais da aplicação web. O ator Empregador é o que possui acesso ao sistema

    web e pode realizar atividades como: cadastrar oportunidades de emprego,

    visualizar currículos dos candidatos, criar lista de candidatos, solicitar entrevista de

    emprego e entre outras.

  • 23

    Figura 3 – Diagrama de casos de uso – Sistema Web

    Os Quadros 6 a 9 apresentam a expansão dos casos de uso identificados

    como “manter”. A seguinte expansão refere-se à operação de inclusão desse tipo de

    caso de uso.

    Caso de uso: Incluir (operação de inclusão de todos os casos de uso identificados como “manter”). Descrição: Inclusão dos dados cadastrais de um registro no sistema. Atores:

    Empregador ou candidato, de acordo com suas funções definidas no caso de uso. Pré-condição: Não há. Sequência de Eventos:

    1. [IN] O ator solicita um cadastro no sistema. 2. [OUT] O sistema retorna o formulário de cadastro para o ator. 3. [IN] O ator insere as informações solicitadas e clica no botão cadastrar. 4. [OUT] O sistema informa que o cadastro do ator foi realizado. Pós-Condição: Registro inserido no banco de dados. Quadro 6 – Expansão da operação de “inclusão” dos casos de uso do tipo manter

    No Quadro 7 é apresentada a expansão da operação excluir dos casos de uso de

    manter.

    Caso de uso: Excluir (operação de exclusão de todos os casos de uso identificados como “manter”). Descrição: Exclusão de um registro no sistema. Atores:

  • 24

    Empregador ou candidato, de acordo com suas funções definidas no caso de uso. Pré-condição: Não há. Sequência de Eventos: 1. [IN] O ator acessa a tela para visualizar os registros cadastrados. 2. [IN] O ator seleciona registro a ser excluído e clica no botão excluir. 5. [OUT] O sistema exclui o registro selecionado e informa ao usuário que a exclusão foi realizada com sucesso. Pós-Condição: Registro excluído no banco de dados. Nome do fluxo alternativo (extensão) Descrição

    Linha 6: Exclusão de registro com vínculos 6.1 O sistema informa que o registro não pode ser excluído porque possui registros vinculados.

    Quadro 7 – Expansão da operação de “exclusão” dos casos de uso do tipo manter

    A operação de atualização de dados de cadastros já realizados é

    apresentada no Quadro 8 como a expansão do respectivo caso de uso.

    Caso de uso: Atualizar (operação de atualização de todos os casos de uso identificados como “manter”). Descrição: Atualização de um registro no sistema. Atores:

    Empregador ou candidato, de acordo com suas funções definidas no caso de uso. Pré-condição:

    Não há. Sequência de Eventos: 1. [IN] O ator acessa a tela para visualizar o conteúdo de um registro. 2. [OUT] O sistema apresenta o registro para a edição. 3. [IN] O ator atualiza os dados e solicita a alteração do registro. 4. [OUT] O sistema inclui os dados alterados e informa ao usuário que a operação foi realizada com sucesso. Pós-Condição: Registro atualizado no banco de dados. Quadro 8 – Expansão da operação de “atualização” dos casos de uso do tipo manter

    No Quadro 9 é apresentada a operação de consulta de dados de cadastros,

    como expansão de caso de uso.

    Caso de uso: Consultar (operação de consulta de todos os casos de uso identificados como “manter”). Descrição: Consulta de um registro no sistema. Atores:

    Empregador ou candidato, de acordo com suas funções definidas no caso de uso. Pré-condição:

    Não há. Sequência de Eventos: 1. [IN] O ator acessa a tela para consultar de registro. 2. [IN] O ator indica o parâmetro de consulta. 3. [OUT] O sistema apresenta um lista de resultados da consulta. Pós-Condição: Dados da consulta listados ao usuário.

  • 25

    Quadro 9 – Expansão da operação de “consulta” dos casos de uso do tipo manter

    A expansão do caso de uso pesquisar currículo é apresentada no Quadro

    10.

    Caso de uso: Pesquisar currículo Descrição: O empregador poderá pesquisar os currículos dos candidatos pelo nome ou pela área profissional, por exemplo: área da saúde, educação, entre outras. Atores:

    Empregador Pré-condição:

    Candidatos cadastrados no sistema. Sequência de Eventos: 1. [IN] O empregador solicita a pesquisa de currículo por nome do candidato, titulação ou área profissional. 2. [OUT] O sistema retorna a tela de pesquisa por nome do candidato ou área profissional. 3. [IN] O empregador digita o nome do candidato ou a área profissional que deseja pesquisar. 4. [OUT] O sistema realiza a pesquisa dos currículos dos candidatos. 5. [OUT] O sistema apresenta a lista de candidatos por nome de candidatos ou área profissional. Pós-Condição: Pesquisa realizada.

    Quadro 10 – Expansão caso de uso pesquisar currículo

    A expansão do caso de uso visualizar currículo é apresentada no Quadro 11.

    Caso de uso: Visualizar currículo Descrição: O empregador poderá visualizar o currículo dos candidatos que estão sujeitos àsoportunidades de emprego. Atores:

    Empregador Pré-condição:

    Currículos enviados para a oportunidade de emprego. Sequência de Eventos: 1. [IN] O empregador solicita a visualização dos currículos dos candidatos a oportunidade de emprego. 2. [OUT] O sistema retorna uma lista com o nome dos candidatos. 3. [IN] O empregador seleciona o nome do candidato de que deseja visualizar o currículo. 4. [OUT] O sistema apresenta o currículo do candidato selecionado. Pós-Condição: Visualização dos currículos dos candidatos. Quadro 11 – Expansão caso de uso visualizar currículo

    A expansão do caso de uso criar lista de candidatos é apresentada no

    Quadro 12.

    Caso de uso: Criar lista de candidatos favoritos Descrição: O empregador poderá criar uma lista dos candidatos favoritos para uma entrevista de emprego, por exemplo, após o processo de análise de seus currículos. Atores:

  • 26

    Empregador Pré-condição:

    Candidatos e currículos cadastrados para a oportunidade de emprego. Sequência de Eventos: 1. [IN] O empregador solicita a criação de uma lista de candidatos favoritos. 2. [OUT] O sistema retorna para a tela desejada. 3. [IN] O empregador seleciona os candidatos que farão parte da lista, podendo também ordenar os candidatos conforme desejado, após isso, deve selecionar o botão criar. 4. [OUT] O sistema retorna a lista dos candidatos. Pós-Condição: Lista de candidatos criada. Quadro 12 – Expansão caso de uso criar lista de candidatos favoritos

    O Quadro 13 apresenta a expansão do caso de uso solicitar entrevista de

    emprego.

    Caso de uso: Solicitar entrevista de emprego Descrição: O empregador solicita uma entrevista de emprego ao candidato, após a análise do seu currículo. Atores:

    Empregador Pré-condição:

    Currículos enviados para a oportunidade de emprego, currículo visualizado pelo empregador. Sequência de Eventos: 1. [IN] O empregador solicita a visualização do currículo de um candidato. 2. [OUT] O sistema retorna o currículo do candidato selecionado. 3. [IN] O empregador solicita uma entrevista de emprego ao candidato, informando data e hora. 4. [OUT] O sistema salva na avaliação de currículo a data da entrevista do candidato. 5. [OUT] O sistema informa ao empregador que a solicitação foi salva. Pós-Condição: Solicitação de entrevista de emprego enviada. Quadro 13 – Expansão caso de uso solicitar entrevista de emprego

    A Figura 4 apresenta por meio de um diagrama de caso de uso as

    funcionalidades que serão executadas pelo candidato na aplicação Android. O ator

    candidato poderá realizar as funcionalidades de criar currículo, pesquisar empresas,

    pesquisar oportunidades de emprego, enviar currículo e entre outras.

  • 27

    Figura 4 – Diagrama de casos de uso – Aplicação Android

    O Quadro 14 apresenta a expansão do caso de uso pesquisar empresa. Caso de uso: Pesquisar oportunidade de emprego por empresa. Descrição: Possibilita que o candidato pesquise oportunidades de emprego informando o nome da empresa. Atores: Candidato Pré-condição:

    Candidato autenticado e empresas cadastradas. Sequência de Eventos: 1. [IN] O candidato solicita a tela de pesquisa de oportunidades de emprego por empresas. 2. [OUT] O sistema retorna a tela de pesquisa. 3. [IN] O candidato digita o que deseja pesquisar nos campos de filtro. 4. [OUT] O sistema filtra os dados desejados. 5. [OUT] O sistema retorna as informações da pesquisa ao candidato. Pós-Condição: Pesquisa de oportunidades de emprego realizada. Quadro 14 – Expansão caso de uso pesquisar oportunidade de emprego por empresa

    A expansão do caso de uso pesquisar oportunidades de emprego é

    apresentada no Quadro 15.

    Caso de uso: Pesquisar oportunidades de emprego por área profissional. Descrição: Possibilitar que o candidato pesquise as oportunidades de emprego informando a área profissional do cargo. Atores: Candidato

  • 28

    Pré-condição: Candidato autenticado e empresas cadastradas.

    Sequência de Eventos: 1. [IN] O candidato solicita a tela de pesquisa de oportunidades de emprego por área profissional. 2. [OUT] O sistema retorna a tela de pesquisa. 3. [IN] O candidato seleciona o que deseja pesquisar nos campos de filtro. 4. [OUT] O sistema filtra os dados desejados. 5. [OUT] O sistema retorna as informações da pesquisa ao candidato. Pós-Condição: Pesquisa de oportunidades de emprego realizada. Quadro 15 – Expansão caso de uso pesquisar oportunidades de emprego por área profissional

    O Quadro 16 apresenta a expansão do caso de uso enviar currículo.

    Caso de uso: Enviar currículo Descrição: Candidatos enviam currículo para as oportunidades de emprego. Atores: Candidato Pré-condição:

    Candidato autenticado e currículo cadastrado. Sequência de Eventos: 1. [IN] O candidato solicita o envio do seu currículo para uma oportunidade de emprego. 2. [OUT] O sistema retorna a lista de currículos cadastrados pelo candidato na aplicação. 3. [IN] O candidato seleciona o currículo que deseja enviar. 4. [OUT] O sistema solicita a confirmação de envio ao candidato. 5. [IN] O candidato confirma o envio. 6. [OUT] O sistema informa que o currículo foi enviado para a oportunidade de emprego. Pós-Condição: Currículo enviado para a oportunidade de emprego. Quadro 16 – Expansão caso de uso enviar currículo

    A expansão do caso de uso confirmar presença entrevista é apresentada no

    Quadro 17.

    Caso de uso: Confirmar presença entrevista Descrição: O candidato confirma a sua presença em entrevistas solicitadas pelos empregadores. Atores: Candidato Pré-condição:

    Entrevista solicitada pelo empregador por meio do sistema. Sequência de Eventos: 1. [OUT] O candidato recebe a solicitação de uma entrevista de emprego. 2. [IN] O candidato visualiza as informações da entrevista de emprego. 3. [IN] O candidato confirma sua presença na entrevista de emprego. 4. [OUT] O sistema armazena as informações. Pós-Condição: Entrevista de emprego confirmada. Nome do fluxo alternativo (extensão) Descrição

    Linha 3: Candidato não confirma presença 3.1 O sistema informa ao empregador para selecionar outra data para a realização da entrevista.

    Quadro 17 – Expansão caso de uso confirmar presença entrevista A Figura 5 apresenta o diagrama de classes da aplicação web e Android.

  • 29

    Figura 5 – Diagrama de classes

    As classes apresentadas no diagrama da Figura 5 são documentadas a

    seguir. O Quadro 18 apresenta a classe Pessoa, as classes Candidato e

    Empregador herdam os atributos da classe pessoa.

    Identificação:Pessoa Descrição:Apresenta os atributos de pessoa que podem ser do tipo candidatos ou

    empregadores. Requisitos:RF01 (web) e RF01 (Android)

    Atributos:id (número): identificador da pessoa. nome (string): nome da pessoa (candidato ou empregador). sobrenome (string): sobrenome da pessoa. cpf (string): número do documento de CPF. dataNascimento (data): data de nascimento da pessoa. rua (string): nome da rua em que a pessoa reside. numero (número): número da residência. bairro (string): bairro onde se localiza a residência. cep (string): CEP da residência. complemento (string): dados complementares do endereço. telefone 1 (string): número do telefone. telefone 2 (string): segundo número de telefone (caso necessário). celular 1 (string): número do celular. celular 2 (string): segundo número de celular (caso necessário). foto (string): foto da pessoa.

    Quadro 18 – Descrição da classe Pessoa

  • 30

    No Quadro 19 é apresentada a descrição da classe Empregador.

    Identificação:Empregador Descrição:O empregador é o responsável pelo cadastro das oportunidades de emprego e

    visualização dos currículos dos candidatos. Requisitos:RF01 (web)

    Atributos:id (número): identificador do Empregador. Métodos:adicionar(), atualizar(), remover(), listar(), etc.

    Quadro 19 – Descrição da classe Empregador

    No Quadro 20 é apresentada a descrição da classe Candidato.

    Identificação:Candidato Descrição:O candidato pesquisa por oportunidades de emprego disponibilizadas pelas

    empresas. Requisitos:RF01 (Android)

    Atributos:id (número): identificador do Candidato. titulacao (string): titulação do candidato (exemplo: graduado, mestre, doutor) areaProfissional (string): área em que deseja atuar (exemplo: área da saúde, educação e entre outras). isFavoritos (boolean): Indica se o candidato foi adicionado na lista de favoritos.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 20 – Descrição da classe Candidato

    No Quadro 21 é apresentada a descrição da classe ContaUsuario.

    Identificação:ContaUsuario Descrição:A conta de usuário é responsável por permitir o login no sistema do

    empregador e do candidato. Requisitos:RF01 (web) e RF01 (Android)

    Atributos:id (número): identificador da conta de usuário. username (string): nome de usuário para acessar o sistema. senha (string): senha do usuário para acessar o sistema. email (string): e-mail do usuário. pathImagem (string): caminho da imagem de perfil do usuário.

    Métodos:adicionar(), atualizar(), remover(), etc. Quadro 21 – Descrição da classe ContaUsuario

    No Quadro 22 é apresentada a descrição da classe Permissao.

    Identificação:Permissao Descrição:Representa as permissões que o usuário possui no sistema.

    Requisitos:RF01 (web) Atributos:id (número): identificação da permissão.

    permissao (string): nome da permissão. Métodos:listar()

    Quadro 22 – Descrição da classe Permissao

    No Quadro 23 é apresentada a descrição da classe Estado.

    Identificação:Estado Descrição:Representa os estados de um país.

    Requisitos:RF03 (Android) Atributos:id (número): identificação do estado.

    nome (string): nome do estado.

  • 31

    uf (char): sigla do estado, por exemplo: PR, SP e entre outras. Métodos:listar()

    Quadro 23 – Descrição da classe Estado

    No Quadro 24 é apresentada a descrição da classe Cidade.

    Identificação:Cidade Descrição:Representa as cidades de um estado.

    Requisitos:RF03 (Android) Atributos:id (número): identificação da cidade.

    nome (string): nome da cidade. Métodos:listar()

    Quadro 24 – Descrição da classe Cidade

    No Quadro 25 é apresentada a descrição da classe Cargo.

    Identificação:Cargo Descrição:Representa os cargos da empresa.

    Requisitos:RF03 e RF04 (web), RF04 (Android) Atributos:id (número): identificação do cargo.

    nome (string): nome do cargo. descricao (string): descrição do cargo.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 25 – Descrição da classe Cargo

    No Quadro 26 é apresentada a descrição da classe AreaProfissional.

    Identificação:AreaProfissional Descrição:Representa para qual área profissional o cargo será cadastrado.

    Requisitos:RF03 e RF04 (web), RF04 (Android) Atributos:id (número): identificação da área profissional.

    nome (string): nome da área profissional. descricao (string): descrição da área profissional.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 26 – Descrição da classe AreaProfissional

    No Quadro 27 é apresentada a descrição da classe OportunidadeEmprego.

    Identificação:OportunidadeEmprego Descrição:São as oportunidades de emprego disponibilizadas pelas empresas.

    Requisitos:RF03 (web), RF04 e RF05 (Android) Atributos:id (número): identificação da oportunidade de emprego.

    descricao (string): descrição da oportunidade de emprego. isSalario (boolean): especifica se a oportunidade de emprego mostra o valor do salário ao candidato. salario (double): valor do salário. cargaHoraria (string): carga horária. benefícios (string): descreve os benefícios que são concedidos para essa oportunidade de emprego. isFinalizado (boolean): Indica se a oportunidade de emprego já está finalizada.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 27 – Descrição da classe OportunidadeEmprego

    No Quadro 28 é apresentada a descrição da classe AvaliacaoCurriculo.

  • 32

    Identificação:AvaliacaoCurriculo Descrição:É as avaliações dos currículos com base na oportunidade de emprego.

    Requisitos:RF04, RF05, RF07 e RF08 (web), RF02 e RF06 (Android) Atributos:id (número): identificação da avaliação de currículo.

    status (númerico): Status da avaliação. Por exemplo, se o currículo foi aceito, recusado, adicionado em favoritos, etc. favorito (boelan): Indica se o currículo foi adicionado na lista de favoritos. dataCurriculoEnviado (data): data em que o currículo do candidato foi enviado. dataEntrevista (data): data da entrevista do candidato. dataEncerramento (data): data em que o currículo do candidato foi recusado, ou seja, não está mais participando da seleção. isAceitaEntrevista (boelan): Indica se o candidato aceitou o pedido de entrevista.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 28 – Descrição da classe AvaliacaoCurriculo

    No Quadro 29 é apresentada a descrição da classe Empresa.

    Identificação:Empresa Descrição:Empresas que disponibilizam as oportunidades de emprego.

    Requisitos:RF02 e RF03 (web), RF04 e RF05 (Android) Atributos:id (número): identificação da empresa.

    isPessoaJuridica (boolean): identifica se a empresa pertence a uma pessoa jurídica ou física. cpfCnpj (string): número do documento de CPF ou CNPJ. missao (string): missão da empresa. visao (string): visão da empresa. valores (string): valores da empresa. razaoSocial (string): razão social da empresa. nomeFantasia (string): nome fantasia da empresa. inscricaoEstadual (string): Inscrição estadual da empresa.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 29 – Descrição da classe Empresa

    No Quadro 30 é apresentada a descrição da classe Curriculo.

    Identificação:Curriculo Descrição:Representa os currículos dos candidatos.

    Requisitos:RF04, RF05, RF07 e RF08 (web), RF02 e RF06 (Android) Atributos:id (número): identificação do currículo.

    objetivoAreaAtuar (string): objetivo do currículo. conhecimentosGerais (string): especifica os conhecimentos gerais do candidato. conhecimentoInformatica (string): especifica os conhecimentos do candidato em informática.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 30 – Descrição da classe Curriculo

    No Quadro 32 é apresentada a descrição da classe ExperienciaProfissional.

    Identificação:ExperienciaProfissional Descrição:Representa a experiência profissional de cada candidato.

    Requisitos:RF04, RF05, RF07 e RF08 (web), RF02 e RF06 (Android) Atributos:id (número): identificação da experiência profissional.

    nomeEmpresa (string): nome da empresa em que o candidato atuou ou ainda atua. cargo (string): cargo ocupado pelo candidato. isAtual (boolean): especifica se é o emprego atual do candidato.

  • 33

    dataInicial (data): data em que o candidato iniciou o seu trabalho na empresa. dataFinal (data): data em que o candidato parou de trabalhar nessa empresa (caso aplicável). atividades (string): atividades que o candidato desenvolvia nessa empresa.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 31 – Descrição da classe ExperienciaProfissional

    No Quadro 32 é apresentada a descrição da classe CursoComplementar.

    Identificação:CursoComplementar Descrição:Representa os cursos complementares realizados pelo candidato e que fazem

    parte do seu currículo. Requisitos:RF04, RF05, RF07 e RF08 (web), RF02 e RF06 (Android)

    Atributos:id (número): identificação do curso complementar. nomeCurso (string): nome do curso complementar. instituicao (string): nome da instituição em que realizou o curso. isConcluido (boolean): especifica se o curso já foi concluído. dataInicial (data): data em que iniciou o curso. dataFinal (data): data em que finalizou o curso (caso aplicável). período (número): período do curso, caso o candidato esteja cursando ainda.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 32 – Descrição da classe CursoComplementar

    No Quadro 33 é apresentada a descrição da classe Formacao.

    Identificação:Formacao Descrição:Representa a formação acadêmica do candidato.

    Requisitos:RF04, RF05, RF07 e RF08 (web), RF02 e RF06 (Android) Atributos:id (número): identificação da formação.

    nomeCurso (string): nome do curso realizado. instituicao (string): nome da instituição em que realizou o curso. isConcluido (boolean): especifica se o curso já foi concluído. dataInicial (data): data em que iniciou o curso. dataFinal (data): data em que finalizou o curso (caso aplicável). período (número): período do curso caso o candidato esteja cursando ainda.

    Métodos:adicionar(), atualizar(), remover(), listar(), etc. Quadro 33 – Descrição da classe Formacao

    A Figura 6 apresenta o diagrama de entidades e relacionamentos que

    representam o banco de dados da aplicação web e Android.

  • 34

    Figura 6 – Diagrama de entidade e relacionamento

    No Quadro 34 estão os campos da tabela de Pessoa. Uma pessoa poderá

    ser o empregador ou um candidato.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    idCidade Numérico Não Não Sim Da tabela Cidade.

    nome Texto Não Não Não

    sobrenome Texto Não Não Não

    cpf Texto Não Não Não

    dataNascimento Data Não Não Não

    email Texto Não Não Não

    telefone1 Texto Sim Não Não

    telefone2 Texto Sim Não Não

    celular1 Texto Sim Não Não

  • 35

    celular2 Texto Sim Não Não

    rua Texto Não Não Não

    numero Numérico Não Não Não

    bairro Texto Não Não Não

    cep Texto Não Não Não

    complemento Texto Sim Não Não

    foto Texto Sim Não Não

    Quadro 34 – Campos da tabela Pessoa

    O Quadro 35 apresenta os campos da tabela de Empregador. O empregador

    cadastrará as oportunidades de emprego de sua empresa. O empregador herda

    atributos da classe Pessoa.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    idPessoa Numérico Não Não Sim Da tabela Pessoa.

    idCargo Numérico Não Não Sim Da tabela Cargo.

    idContaUsuario Numérico Não Não Sim Da tabela ContaUsuario.

    Quadro 35 – Campos da tabela Empregador

    O Quadro 36 apresenta os campos da tabela de Estado.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    nome Texto Não Não Não

    uf Texto Não Não Não

    Quadro 36 – Campos da tabela Estado

    O Quadro 37 apresenta os campos da tabela da Cidade. Uma cidade

    pertence a um estado.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    idEstado Numérico Não Não Sim Da tabela Estado.

    nome Texto Não Não Não

    Quadro 37 – Campos da tabela Cidade

    O Quadro 38 apresenta os campos da tabela de Cargo.

  • 36

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    idEmpresa Numérico Não Não Sim Da tabela Empresa.

    idAreaProfissional Numérico Não Não Sim Da tabela AreaProfissional.

    nome Texto Não Não Não

    descricao Texto Sim Não Não

    Quadro 38 – Campos da tabela Cargo

    Quadro 39 apresenta os campos da tabela de Candidato. O candidato

    cadastrará os currículos que serão enviados para as oportunidades de emprego. O

    candidato herda atributos da classe pessoa.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    idPessoa Numérico Não Não Sim Da tabela Pessoa.

    idContaUsuario Numérico Não Não Sim Da tabela ContaUsuario.

    areaProfissional Texto Não Não Não

    titulacao Texto Sim Não Não

    isFavorito Boolean Sim Não Não

    Quadro 39 – Campos da tabela Candidato O Quadro 40 apresenta os campos da tabela de OportunidadeEmprego. A

    oportunidade de emprego é cadastrada pelo empregador e deve constar a empresa,

    o cargo, a cidade na qual está sendo oferecida, se possui salário e uma breve

    descrição e requisitos do cargo oferecido. Por meio dela o candidato poderá mandar

    seu currículo para a empresa avaliá-lo.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    idCidade Numérico Não Não Sim Da tabela Cidade.

    idCargo Numérico Não Não Sim Da tabela Cargo.

    idEmpregador Numérico Não Não Sim Da tabela Empregador.

    descricao Texto Não Não Não

    isSalario Boolean Não Não Não Se esta propriedade estiver com o valor true, o campo salario deve constar um valor. Se ela estiver false, o campo salario não precisará ter nenhum valor.

    salario Numérico Sim Não Não

  • 37

    cargaHoraria Texto Não Não Não

    beneficios Texto Sim Não Não

    isFinalizado Boolean Sim Não Não Se esta propriedade estiver com o valor true, a oportunidade de emprego deve está finalizada e não deve mais receber currículo. Se ela estiver false, ela não poderá receber currículo.

    Quadro 40 – Campos da tabela OportunidadeEmprego

    No Quadro 41 são apresentados os campos da tabela de Empresa.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    idCidade Numérico Não Não Sim Da tabela Cidade.

    razaoSocial Texto Não Não Não

    nomeFantasia Texto Não Não Não

    missao Texto Sim Não Não

    visao Texto Sim Não Não

    valores Texto Sim Não Não

    isPessoaJuridica Boolean Não Não Não Se este atributo for trueentão a mascará do campo cpfCnpj será de CNPJ, se for false a mascará no campo cpfCnpj será de CPF.

    cpfCnpj Texto Não Não Não

    inscricaoEstadual Texto Sim Não Não

    Quadro 41 – Campos da tabela Empresa

    O currículo é criado pelo candidato para ser enviado às oportunidades de

    emprego. O candidato pode incluir suas experiências profissionais, cursos

    complementares e formações. No Quadro 42 são apresentado os campos da tabela

    de Currículo.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    idCandidato Numérico Não Não Sim Da tabela Candidato.

    objetivoAreaAtuar Texto Não Não Não

    conhecimentosGerais Texto Sim Não Não

    conhecimentosInformatica Texto Sim Não Não

    Quadro 42 – campos da tabela Curriculo

  • 38

    O Quadro 43 apesenta os campos da tabela de ExperienciaProfissional. Ela

    está vincula a um currículo.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    nomeEmpresa Texto Não Não Não

    cargo Texto Não Não Não

    isAtual Texto Não Não Não

    dataInicial Data Não Não Não

    dataFinal Data Sim Não Não

    atividades Texto Sim Não Não

    Quadro 43 – Campos da tabela ExperienciaProfissional

    Os cursos complementares são vinculados a um currículo. No Quadro 44 é

    apresentado os campos da tabela de CursoComplementar.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    id Numérico Não Sim Não

    nomeCurso Texto Não Não Não

    instituicao Texto Não Não Não

    isConcluido Boolean Não Não Não

    dataInicial Data Não Não Não

    dataFinal Data Sim Não Não

    periodo Numérico Sim Não Não

    Quadro 44 – Campos da tabela CursoComplementar

    O Quadro 45 apresenta os campos da tabela de Formacao. A formação está

    vinculada ao currículo.

    Campo Tipo Nulo Chave primária Chave estrangeira

    Observações

    id Numérico Não Sim Não

    nomeCurso Texto Não Não Não

    instituicao Texto Não Não Não

    isConcluido Boolean Não Não Não O curso está concluído quando este atributo está com o valor true e incompleto ou curso quando o valor do atributo é false.

    dataInicial Data Não Não Não

    dataFinal Data Sim Não Não

  • 39

    Período Numérico Sim Não Não

    Quadro 45 – Campos da tabela Formacao

    O Quadro 46 apresenta os campos da tabela de

    CurriculoExperienciaProfissional. Esta tabela é gerada pelo relacionamento

    ManyToMany entre as tabelas Curriculo e ExperienciaProfissional.

    4.3 APRESENTAÇÃO DO SISTEMA

    Esta seção apresenta de forma geral as funcionalidades do sistema web e

    do aplicativo móvel por meio de cópias (print screen) das telas originais de ambos os

    sistemas. Apenas as telas que são relevantes para o funcionamento dos dois

    sistemas serão apresentadas nesta seção.

    Campo Tipo Nulo Chave primária

    Chave estrangeira

    Observações

    idCurriculo Numérico Não Sim Não Da tabela Curriculo.

    idExperienciaProfissional Numérico Não Não Sim Da tabela ExperienciaProfissional.

    Quadro 46 – Campos da tabela CurriculoExperienciaProfissional

  • 40

    4.3.1 Aplicação Web

    O acesso ao sistema web é feito por meio do nome de usuário e senha. A

    Figura 7 apresenta a tela inicial do sistema web que o usuário utiliza para efetuar o

    login.

    Figura 7 – Tela de login da aplicação web

    A Figura 8 apresenta a tela de cadastro de usuário. Esta tela pode ser

    acessada pelo link Inscrever-se que está na tela de login do sistema web. Ela deverá

    ter todos os campos preenchidos para que o usuário possa se cadastrar e

    posteriormente acessar o sistema web.

  • 41

    Figura 8 – Tela de cadastro de usuário da aplicação web

    Ao acessar o sistema é possível ver a tela de boas vindas representada na

    Figura 9. Nessa e nas demais telas do sistema após o login, é possível visualizar o

    menu do sistema web na parte superior da tela, podendo acessar qualquer tela do

    sistema a partir dele.

    Figura 9 – Tela de boas vindas da aplicação web

    As telas apresentadas nas Figuras 10 a 11 podem ser acessadas pelo menu

    cadastros básicos. É importante ressaltar que o sistema não suporta cadastro de

    cidades, estados e áreas profissionais. Qualquer tela de cadastro que utiliza desses

  • 42

    recursos, lista diretamente as informações cadastradas no banco de dados, sendo

    assim, o usuário não tem controle sobre essas informações.

    A Figura 10 apresenta o cadastro da empresa. Está tela ao abrir terá

    algumas informações preenchidas que foram fornecidas na tela de cadastro de

    usuário.

    Figura 10 – Tela de cadastro de empresa da aplicação web

    Na Figura 11 é possível visualizar o cadastro de cargos. Os cargos serão

    usados para compor o cadastro de oportunidade de emprego. Nesta tela é possível

    informar o nome do cargo, assim como uma breve descrição do mesmo e a área

    profissional que ele pertence.

  • 43

    Figura 11 – Tela de cadastro de cargo da aplicação web

    A Figura 12 é a tela de cadastro de empregador. Os empregadores são os

    responsáveis por cadastrar as oportunidades de emprego e avaliar os currículos dos

    candidatos.

  • 44

    Figura 12 – Tela de cadastro de empregador da aplicação web

    Na Figura 13 é mostrada a tela de cadastro de oportunidade de emprego.

    Nesta tela o empregador poderá escolher em qual estado e cidade a oportunidade

    de emprego estará disponível, poderá informar a carga horária, escolher se deseja

    informar o salário, os benefícios e uma breve descrição do cargo. Também será

    possível o empregador informar a área profissional, que ajudará no aplicativo mobile

    a encontrar oportunidades de emprego usando a função de pesquisa por áreas

    profissionais. É possível acessar essa tela pelo menu de oportunidade de emprego.

  • 45

    Figura 13 – Tela de cadastro de oportunidade de emprego da aplicação web

    A tela para um empregador avaliar um currículo é apresentada na Figura 15.

    É possível acessar essa tela pelo menu candidato – listar e pelo menu candidato –

    favoritos. No menu candidato – listar será apresentado todos os candidatos, com

    exceção dos favoritos. No menu candidato – favoritos, será listados todos os

    candidatos selecionados como favorito na tela de avaliação de currículo. É possível

    ver os menus na Figura 14.

    Figura 14 – Menu de candidato da aplicação web

    Na tela de avalição de currículo o empregador poderá visualizar algumas

    informações do candidato no lado esquerdo. Por exemplo: nome completo, cidade e

    estado, idade, titulação e a foto do candidato se possuir.

  • 46

    No lado direito da tela será possível ao empregador visualizar o currículo do

    candidato.

    Voltando ao lado esquerdo da tela o empregador terá algumas opções que

    poderá utilizar, como por exemplo os botões de aprovar e reprovar o currículo. Se

    aprovar, a oportunidade de emprego será finalizada. Se reprovar, não será mais

    listado o currículo do candidato para esta oportunidade de emprego.

    O empregador poderá ainda usar as outras opções antes de se decidir,

    como adicionar ou remover o candidato dos favoritos, se o candidato se inscreveu

    para a oportunidade de emprego sem um currículo, o empregador poderá usar a

    opção de solicitar currículo. O último recurso que o empregador poderá utilizar nesta

    tela é de solicitar uma entrevista com o candidato.

    Figura 15 – Tela de avalição de currículo da aplicação web

    4.3.2 Aplicativo Mobile

    Ao acessar o aplicativo mobile a primeira tela que o usuário ira visualizar

    será a uma tela de splash. Nessa tela será realiza a sincronização de dados, assim

    como atualizações no banco de dados. A Figura 16 representa esta tela.

  • 47

    Figura 16 – Tela de splash do aplicativo mobile

    Após a tela de splash irá ser apresentado para o usuário a tela de login do

    aplicativo. É possível visualizar a tela na Figura 17.

    Figura 17 – Tela de login do aplicativo mobile

  • 48

    Para usuários novos que não possuem uma conta, será possível o cadastro

    acessando o link de ‘cadastrar-me’ disponibilizado na tela de login. Ao clicar no link

    será mostrado para o usuário a tela de cadastro que é possível visualizar na Figura

    18.

    Figura 18 – Tela de cadastro de usuário do aplicativo mobile

    É possível ver a tela principal do aplicativo na Figura 19 a seguir. A tela

    principal possui um menu lateral que é possível ser acessado ao clicar no menu

    localizado na parte superior a esquerda da tela. Também possui um ícone para fazer

    a sincronização de dados na parte superior à direita da tela.

  • 49

    Figura 19 – Tela inicial do aplicativo mobile

    O menu lateral do aplicativo possui acesso a todas as telas e também é

    possível visualizar algumas informações do usuário como a foto, caso o usuário

    possua, o nome, a data de nascimento e o e-mail do usuário. Nas Figuras 20 e 21 é

    possível ver todas os itens do menu disponibilizados no menu.

    Figura 20 – Visão dos Itens de menu no aplicativo mobile.

  • 50

    Os menus de cadastros de formação, cursos complementares e

    experiências profissionais possuem modelos semelhantes de apresentação, por

    isso, será apresentado apenas o cadastro de formação.

    Ao acessar o menu Formação será exibida a lista de formações que o

    usuário possui. É possível cadastrar uma nova formação por meio do botão flutuante

    posicionado na parte inferir direita na tela. É possível visualizar a listagem na Figura

    22.

    O usuário ao clicar em um item da lista será exibido na parte inferior da tela

    as opções de editar e excluir o item. A Figura 23 representa as opções de editar e

    excluir.

    Figura 21 – Lista de formações do aplicativo mobile. A tela de cadastro de formação possui os campos para informar o nome da

    formação, a instituição em que fui cursada, a data inicial e ao selecionar a opção de

    concluído é exibido o campo data final, mas se não estiver selecionado o campo que

    será exibido será o campo de período. É possível ver a tela de cadastro de formação

    e a troca de campo nas Figuras 24 e 25.

  • 51

    Figura 22 – Tela de cadastro de formação do aplicativo mobile. O aplicativo foi desenvolvido para facilitar a criação de currículos para os

    usuários. O cadastro de currículos foi desenvolvido com navegações por tabs, dessa

    maneira o usuário não precisa ficar alternando entre os menus para cadastrar o

    currículo, facilitando também a visualização das informações cadastradas. Nas tabs

    de formação, curso complementar e experiência profissional as informações são

    apresentadas em forma de listagem, essas informações são cadastradas nos seus

    respectivos menus no menu lateral e o usuário apenas selecionara os itens que ele

    preferir.

  • 52

    Na Figura 26 é representado o cadastro de currículo.

    Figura 23 – Tela de cadastro de currículo do aplicativo mobile

    4.4 IMPLEMENTACAO DO SISTEMA

    A seguir são apresentadas partes da codificação da sincronização da

    aplicação web e mobile. Essas listagens de código são apresentadas com o objetivo

    de mostrar como uma parte da implementação do sistema foi organizada.

    Primeiro será apresentada a codificação que foi desenvolvida no mobile e

    em seguida será apresentada a codificação do web service.

    A Listagem 1 apresenta a codificação de configuração do retrofit. A classe

    RetrofitInicializador é responsável por instanciar o retrofit com as configurações

    predefinidas em seu construtor toda vez que o aplicativo precisar fazer uma

    comunicação com o web service.

  • 53

    Listagem 1 – Classe de configuração do retrofit

    O retrofit trabalha com anotações e interfaces em vez de classes. As

    anotações nos métodos da interface e seus parâmetros indicam como a

    comunicação será feita.

    A Listagem 2 apresenta a interface EstadoService. O método listar retornará

    todos os estados do Brasil. A anotação @GET define que o método HyperText

    Transfer Protocol (HTTP) será do tipo GET.

    Listagem 2 – Interface de serviço da classe Estado.

    Na Listagem 3 é possível ver a interface FormacaoService. Aqui temos o

    método salvar, ele é um exemplo de requisição POST e como é feita a configuração

    pelo retrofit. A anotação @POST define o tipo do método HTTP e a anotação

    @Body indica que será passada uma listagem do tipo Formacao no corpo da

    requisição POST.

    Listagem 3 – Interface de serviço da classe Formacao

  • 54

    Na Listagem 4 é apresentada a classe abstrata SincronizacaoAbstract.

    Todas as classes que são responsáveis por sincronizar alguma informação

    estendem dessa classe. Nesta classe temos as assinaturas dos métodos isPost,

    post, get e salvarSincronizacao como abstract, ou seja, esses métodos precisam ser

    sobrescritos nas classes filhas.

    Listagem 4 – Classe abstrata de sincronização

    A Listagem 5 e a Listagem 6 apresentam a classe SincronizacaoEstado, ela

    é filha da classe abstrata SincronizacaoAbstract. Aqui podemos ver os métodos

    abstratos sendo sobrescritos de acordo com a funcionalidade da classe e as

    requisições sendo feitas com o retrofit.

    Esta classe é um exemplo de como as sincronizações do tipo de requisição

    GET funcionam.

  • 55

    Listagem 5 – Primeira parte da codificação da classe de sincronização de estados.

    Após receber os dados do web service é feita a persistências desses dados

    no banco de dados do mobile. É possível ver a codificação de persistência na

    Listagem 6.

    Listagem 6 – Segunda parte da codificação da classe de sincronização de estados

    Na sincronização de dados entre o mobile e o web service, também ocorre

    sincronizações do tipo de requisição POST, ou seja, dados que foram cadastrados

    no mobile são enviados para serem salvos no web service.

    Nas Listagem 7 e 8 é exibida a codificação da classe

    SincronizacaoFormacao, aqui também os métodos abstratos da classe

    SincronizacaoAbstract foram sobrescritos de acordo com a funcionalidade da classe

    e usado o retrofit para fazer as requisições para o web service.

  • 56

    Listagem 7 – Primeira parte da codificação da classe de sincronização de formações

    Assim como na classe SincronizacaoEstado, a classe

    SincronizacaoFormacao também recebe dados de volta do web service.

    Esses dados recebidos são a mesma lista que foi enviada na requisição para

    o web service, a única diferença que agora eles possuem o ID do banco de dados

    onde o web service salvou. Na Listagem 8 é possível ver a persistências desses

    dados no banco de dados do mobile.

    Listagem 8 – Segunda parte da codificação da classe de sincronização de formações

    A classe ListaSincronização é responsável por reunir todas as classes de

    sincronizações em uma lista e executar cada uma delas dentro de um foreach. Ela

    possui uma variável de controle chamada isCargaInicial. Esta variável identifica

    quando é o primeiro acesso do usuário no aplicativo e executa apenas as

    sincronizações que possuem dados que não se alteram ou dificilmente irão ser

  • 57

    alterados, como exemplo a própria classe SincronizacaoEstado visto anteriormente.

    Na Listagem 9 é possível visualizar a codificação desta classe.

    Listagem 9 – Classe que inicia as sincronizações

    Agora será exibida duas classes no web service, elas ajudaram a

    complementar a explicação até agora e também a entender o funcionamento dessas

    requisições no servidor.

    A classe chamada EstadoApi é responsável por buscar os estados

    cadastrados no banco de dados e enviar para o mobile a partir da sincronização. A

    Listagem 10 demostra como é feita a codificação dessa classe.

  • 58

    Listagem 10 – Classe EstadoApi no web service

    É possível ver a codificação da classe FormacaoApi na Listagem 11. Ela

    possui o método salvar que é responsável por receber as formações cadastradas no

    mobile e grava-las no banco de dados do web service.

    Listagem 11 – Classe FormacaoApi no web service

  • 59

    6 CONCLUSÃO

    O objetivo deste trabalho foi desenvolver um sistema que facilita a

    comunicação entre o empregador e o empregado na hora da contratação e na troca

    de informações entre eles. Os sistemas desenvolvidos e finalizados indicam que os

    objetivos para este trabalho foram alcançados.

    As tecnologias que foram utilizadas permitem que o empregado utilize o

    aplicativo na plataforma Android e o empregador utilize o sistema na plataforma web.

    O usuário empregado poderá utilizar o aplicativo off-line e somente precisa

    de conexão com a Internet quando for sincronizar os seus dados. Contudo, o usuário

    empregador precisará sempre ter uma conexão com o servidor no qual a aplicação

    web está instalada.

    Com a realização deste trabalho foi obtido um grande aprendizado com

    relação aos tipos de modelagens e com as tecnologias utilizadas para o

    desenvolvimento de aplicações web e aplicativos mobile para a plataforma Android.

    Houve a oportunidade de aprimorar os conhecimentos com as tecnologias vistas em

    sala de aula e também com novas tecnologias conhecidas por meio da realização

    deste trabalho.

    Durante o desenvolvimento do software, várias foram as dificuldades

    encontradas. Destacam-se as decorrentes do aprendizado de tecnologias novas

    conhecidas pela realização deste trabalho e elas possuírem uma curva de

    aprendizado.

    Como sugestão para trabalho futuros, ressalta-se a possibilidade de

    aprimorar o aplicativo com as ferramentas e as tecnologias que a empresa Google

    disponibiliza, entre elas destaca-se o Firebase e a API Google Maps.

  • 60

    REFERÊNCIAS CURRICULUM. Curriculum.com.br. Disponível em . Acesso em: 25 out. 2015. DANIELE, Adeline. Profissionais estão usando o smartphone para buscar empregos, diz pesquisa. INFO. Disponível em . Acesso em: 07 set. 2015. FIPE. Procura por emprego aumenta em ritmo maior, aponta Fipe. Disponível em . Acesso em: 16 set. 2015. PATRES, Patrícia. Empresas recrutam e avaliam perfis de candidatos pelas redes sociais. Edição do Brasil. Disponível em . Acesso em: 16 set. 2015. SPRING. Spring Boot. Disponível em . Acesso em: 04 mai. 2017. SPRING. Spring Data JPA. Disponível em . Acesso em: 04 mai. 2017. SPRING. Spring Security. Disponível em . Acesso em: 04 mai. 2017. VAGAS. Vagas.com.br. Disponível em . Acesso em: 25 out. 2015. VELOSO, Ana Clara. Em tempos de crise, busca por emprego cresce na internet e candidaturas a vagas sobem 75%. EXTRA. Disponível em . Acesso em: 28 out. 2015.