relatÓrio de estÁgio supervisionado sistema para .2016-10-05 · relatório de estágio...

Download RELATÓRIO DE ESTÁGIO SUPERVISIONADO SISTEMA PARA .2016-10-05 · Relatório de estágio apresentado

Post on 11-Nov-2018

213 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

  • UNIVERSIDADE FEDERAL DE MATO GROSSOINSTITUTO DE COMPUTAO

    COORDENAO DE ENSINO DE GRADUAO EM

    CINCIA DA COMPUTAO

    RELATRIO DE ESTGIO SUPERVISIONADOSISTEMA PARA ELABORAO DE TERMOS DE

    REFERNCIA

    JORGE ARAJO BEZERRA

    CUIAB - MT

    2016

  • UNIVERSIDADE FEDERAL DE MATO GROSSOINSTITUTO DE COMPUTAO

    COORDENAO DE ENSINO DE GRADUAO EM

    CINCIA DA COMPUTAO

    RELATRIO DE ESTGIO SUPERVISIONADOSISTEMA PARA ELABORAO DE TERMOS DE

    REFERNCIA

    JORGE ARAJO BEZERRA

    Orientador: Prof. Dr. Raphael de Souza Rosa Gomes

    Relatrio de estgio apresentado ao Curso deCincia da Computao, do Instituto de Compu-tao da Universidade Federal de Mato Grosso,como requisito para obteno do ttulo de Ba-charel em Cincia da Computao

    CUIAB - MT

    2016

  • UNIVERSIDADE FEDERAL DE MATO GROSSOINSTITUTO DE COMPUTAO

    COORDENAO DE ENSINO DE GRADUAO EMCINCIA DA COMPUTAO

    CERTIFICADO DE APROVAO

    Ttulo: RELATRIO DE ESTGIO SUPERVISIONADO SISTEMAPARA ELABORAO DE TERMOS DE REFERNCIA

    Autor: JORGE ARAJO BEZERRA

    Trabalho aprovado em 28 de setembro de 2016.

    Comisso examinadora:

    Prof. Dr. Raphael de Souza Rosa GomesOrientador

    Leonardo Luiz BraunSupervisor

    Prof. Dr. Allan Gonalves de OliveiraInstituto de Computao - UFMT

  • Este trabalho dedicado a minhas duas filhas,

    minha companheira, meu pai, minha me, mi-

    nha irm, a toda minha famlia, a meus colegas

    de trabalho e a todos que sempre me apoiaram

    durante o curso.

  • AGRADECIMENTOS

    A Deus pelo dom da vida, pelo entusiasmo e a fora que me fez seguir emfrente e chegar at esse momento.

    A meu av Francisco que a pesar da distncia, sempre me apoiou.

    A meu tio Lucdio pela fora em todos os momentos e a toda minha famliapelo apoio.

    Aos professores do Instituto de Computao, em especial, ao professor Raphaelde Souza Gomes, meu coordenador, pela dedicao na correo desse trabalho.

    Agradecimentos especiais so direcionados a Lucia Antnia Beserra, Juvenale Leonardo Luiz Braun, pessoas que me ajudaram a continuar no curso e deram todo apoiopossvel.

    A todos que de alguma forma contriburam para meu sucesso durante o curso,o meu muito obrigado.

  • No acredite em algo simplesmente porque ouviu.

    No acredite em algo simplesmente porque todos falam a respeito...

    No acredite em algo simplesmente porque est escrito em seus livros religiosos.

    No acredite em algo s porque seus professores e mestres dizem que verdade.

    No acredite em tradies s porque foram passadas de gerao em gerao.

    Mas depois de muita anlise e observao, se voc v que algo concorda com a razo, e

    que conduz ao bem e benefcio de todos, aceite-o e viva-o.

    Buda

  • RESUMO

    Para atender necessidades do setor pblico, em especial o Hospital Universitrio JlioMuller, a elaborar termos de referncia com rapidez, padronizao, reduzir uso de papele impresses, o presente trabalho tem como objetivo o desenvolvimento de um sistemaque auxilie a elaborao de Termos de Referncia, para isso foi utilizado as tecnologiaspadres do Setor de Gesto de Processos e Tecnologia da Informao (SGPTI), dentre elas:arquitetura MVC, Framework JSF e PrimeFaces, Apache Maven e servidor de aplicaoWildfly10. Para a camada de persistncia utiliza-se o padro JPA implementado peloHibernate que o responsvel pela persistncia dos dados em uma base PostgreSQL.

    Palavras chaves: MVC, Framework, JSF, PrimeFaces, Apache Maven, Wildfly10, JPA,Hibernate, PostgreSQL.

  • SUMRIO

    1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

    1.1 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Objetivos Gerais . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Objetivos Especficos . . . . . . . . . . . . . . . . . . . . . . . . . 21.4 Organizao do trabalho . . . . . . . . . . . . . . . . . . . . . . . . 2

    2 REVISO DA LITERATURA . . . . . . . . . . . . . . . . . . . . 3

    2.1 Termo de Referncia . . . . . . . . . . . . . . . . . . . . . . . . . . 32.2 Engenharia de software . . . . . . . . . . . . . . . . . . . . . . . . 42.2.1 Engenharia de requisitos . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.2 Requisitos funcionais . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2.3 Requisitos no funcionais . . . . . . . . . . . . . . . . . . . . . . . . 42.3 Modelagem de Sistema . . . . . . . . . . . . . . . . . . . . . . . . . 52.3.1 UML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.3.1.1 Diagrama de classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.3.2 Modelo Conceitual - DER . . . . . . . . . . . . . . . . . . . . . . . . 62.3.3 Modelo Lgico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.4 Desenvolvimento gil de Software . . . . . . . . . . . . . . . . . . 72.5 Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.6 Java EE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.6.1 Servlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.6.1.1 Ciclo de Vida de um Servlet . . . . . . . . . . . . . . . . . . . . . . . . . 92.6.2 Contexts and Dependency Injection - CDI . . . . . . . . . . . . . . . . 102.6.2.1 Beans CDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.6.2.2 Escopos de beans CDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.7 JSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.8 MVC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.9 JSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.9.1 Ciclo de vida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.10 ORM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.10.1 JPA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.10.1.1 Java Persistence Query . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.10.2 Hibernate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.10.2.1 HQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

  • 2.11 AJAX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    3 MATERIAIS, TCNICAS E MTODOS . . . . . . . . . . . . . . . 18

    3.1 Estrutura do projeto . . . . . . . . . . . . . . . . . . . . . . . . . . 193.2 Engenharia de requisitos . . . . . . . . . . . . . . . . . . . . . . . 203.3 Jboss Developer Studio . . . . . . . . . . . . . . . . . . . . . . . . 203.4 PgAdmin III . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.5 Maven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.6 Primefaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.7 PrettyFaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.8 GIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    4 RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    4.1 O processo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.2 Os requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264.3 A modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.4 Estrutura da aplicao . . . . . . . . . . . . . . . . . . . . . . . . . 324.4.1 Observer com CDI . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.5 Telas do sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

    5 CONCLUSES . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    5.1 Dificuldades encontradas . . . . . . . . . . . . . . . . . . . . . . . 455.2 Verses futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    REFERNCIAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

  • LISTA DE ILUSTRAES

    Figura 1 Desenvolvimento gil (SOMMERVILLE, 2011) . . . . . . . . . . . . 8Figura 2 Ciclo de vida do Servlet . . . . . . . . . . . . . . . . . . . . . . . . . 10Figura 3 Arquitetura Model 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Figura 4 Arquitetura Model 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 13Figura 5 Ciclo de vida do JSF . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Figura 6 Estrutura Analtica do Projeto . . . . . . . . . . . . . . . . . . . . . . 20Figura 7 JBoss Developer Studio . . . . . . . . . . . . . . . . . . . . . . . . . 20Figura 8 PgAdminIII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Figura 9 Projeto Maven Pai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22Figura 10 Fluxo de desenvolvimento do sistema . . . . . . . . . . . . . . . . . . 25Figura 11 Diagrama Entidade Relacionamento . . . . . . . . . . . . . . . . . . 31Figura 12 Diagrama de classes pacote PDE . . . . . . . . . . . . . . . . . . . . 33Figura 13 Diagrama de Classes pacote TR . . . . . . . . . . . . . . . . . . . . . 34Figura 14 Mdulo administrativo-model . . . . . . . . . . . . . . . . . . . . . . 35Figura 15 Mdulo administrativo-service e Hibernate.cfg.xml . . . . . . . . . . 37Figura 16 Observer mtodo dispara evento . . . . . . . . . . . . . . . . . . . . 38Figura 17 Observer mtodo ouvinte . . . . . . . . . . . . . . . . . . . . . . . . 39Figura 18 Tela de Login . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Figura 19 Cadastro do PDE Institucional . . . . . . . . . . . . . . . . . . . . . 40Figura 20 Wizard termo de referncia - passo 1 . . . . . . . . . . . . . . . . . . 41Figura 21 Wizard termo de referncia - passo 2 . . . . . . . . . . . . . . . . . . 41Figura 22 Wizard termo de referncia - passo 3 . . . . . . . . . . . . . . . . . . 42Figura 23 Wizard - Termo de Referncia - passo 4 . . . . . . . . . . . . . . . . 43Figura 24 Salvar Cot