• Nenhum resultado encontrado

Comentários/anotações da atividade

3 FERRAMENTAS PARA GESTÃO DE PROJETOS

3.7.13 Comentários/anotações da atividade

Figura 17 - Caso de Uso - Comentário/Anotação da atividade

Descrição do caso de uso: Permite ao usuário cadastrar comentários ou anotações

sobre o andamento da atividade.

Pré-requisito: Atividade deve já existir e o usuário estar vinculado a atividade. Cenário Primário:

 Seleciona atividade

 Realiza o apontamento de acordo com a necessidade.

Cenário Secundário

 Usuário não estar vinculado a atividade. Solicitar ao superior para ser incluído na atividade.

 Usuário não consegue adicionar a anotação. Solicitar ao superior para verificar as suas permissões.

4 DESENVOLVIMENTO DO SOFTWARE

Nesta sessão será abordado o desenvolvimento do software para gestão de projetos, de acordo com a modelagem apresentada na sessão 3, enfatizando as tecnologias utilizadas e o protótipo das telas descrevendo as suas funcionalidades.

Nas sessões 4.1.1 à 4.1.5 apresenta descrição detalhada das tecnologias e frameworks utilizados no processo de desenvolvimento do software.

4.1 Tecnologia utilizadas

O sistema para gestão de projetos é projetado na plataforma web, o que permite o acesso ao sistema de qualquer lugar do mundo desde que tenha um dispositivo com acesso à internet e um navegador moderno instalado.

No desenvolvimento do sistema foi utilizada linguagem Java, pois utiliza o paradigma de orientação a objeto, proporcionando inúmeras vantagem como por exemplo modularidade, hierarquia e polimorfismo, permitindo assim criar sistemas complexos bem estruturados. Para agilizar e facilitar a construção e manutenção do sistema foi utilizado frameworks que são:

Hibernate, Vrpator, Twitter bootstrap e o servidor de aplicação glassfish.

4.1.1 Linguagem Java

“A inovação nas linguagens de computador é impulsionada por dois fatores: melhorias na arte de programar e alterações no ambiente de computação” (Schildt, 2013, p. 3). Em função disso a linguagem Java proporciona recursos muito poderosos como: paralelismos, modularidade, fácil aprendizagem entre outras. Pelo fato de ser orientada a objeto a forma de programar em Java é mais próxima da realidade proporcionando uma curva de aprendizagem maior.

A Linguagem Java foi criada por James Gosling, Patrick Naughton, Chris Warth, Ed Frank e Mike Sheridan em 1991 na Sun Microsystems, primeiramente denominada “Oak” sendo renomeada em 1995 para “Java” tendo como principal objetivo a portabilidade do programa desenvolvido, ou seja, ter o mesmo programa para arquiteturas diferentes, porque na época as linguagens eram compiladas para uma arquitetura especifica (Schildt, 2013, p. 3).

Para facilitar a aprendizagem da linguagem Java, a sua sintaxe foi baseada nas linguagens de programação C/C++ por ser a mais utilizada na época. A linguagem C/C++ não tinha a portabilidade do programa, para podermos utilizar em outra arquitetura era necessário compilarmos novamente o código para o seu destino. Pensando nisso a linguagem Java possui uma Máquina Virtual Java (JVM, Java Virtual Machine), que é responsável em executar o código.

A compilação do código Java não gera um executável, invés disso é gerado um

bytecode, consiste em um conjunto de instruções otimizadas, projetado para ser executado na JVM, permitindo que o mesmo código seja executado em diversas arquiteturas, possibilitando

a portabilidade do código, ou seja, invés de compilarmos o código específico para cada arquitetura temos a JVM para cada arquitetura.

Java é uma linguagem de programação Orientada a Objeto (OO). Para representar um objeto define-se os seus atributos e comportamentos, os atributos são as características do objeto, e os comportamentos compreendem as ações do objeto. O objeto é representado através de uma classe, que contém toda a estrutura do objeto, e através da classe são criados os objetos que são alocados em memória.

Geralmente os sistemas orientados a objetos são menores mais fáceis de escrever e realizar manutenção do que as linguagens não orientadas a objetos, além de aumentar a produtividade através da reutilização de código (Schildt, 2013, p. 8).

4.1.2 Framework Hibernate

O hibernate é um framework de Mapeamento Objeto-Relacional (ORM) open source atualmente mantido pela JBoss, que auxilia para tirarmos proveito dos recursos presentes no modelo de objetos com a tecnologia Java e por outro lado conseguirmos tirar proveito do modelo relacional utilizado pelos sistemas de gerenciamento de banco de dados (SGDB).

Sendo assim podemos persistir os objetos para tabelas relacionais utilizando metadados o qual descrevem o mapeamento (Guruzu & Mak, 2011, p. 4).

Segundo (Neto, 2011, p. 4) a principal característica do hibernate é a transformação das classes e seus tipos de dados em Java para tabelas de dados. Sendo assim tirando do desenvolvedor o trabalho de mapeamento e conversão dos resultados de SQL para objeto.

Hibernate é um dos frameworks ORM mais amplamente usados no setor. Ele oferece todos os benefícios de uma solução ORM e implementa a Java Persistence API (JPA) definida na especificação Enterprise JavaBeans (EJB)3.0 (Guruzu & Mak, 2011, p. 4).

O framework possui vários benefícios como: a) aumento de produtividade, porque reduz a complexidade de desenvolvimento, consequentemente também reduz o tempo, b) facilita a manutenção, porque todo o mapeamento do banco de dados relacional é mapeado para objeto através de configurações utilizando anotações ou XML. Também temos desvantagens segundo (Neto, 2011) em determinados sistemas em que a complexidade de controle do banco de dados é maior é aconselhável analisar os requisitos do sistema porque o

framework pode não suprir as necessidades.

4.1.3 Framework Vraptor

O VRaptor é um framework open source brasileiro desenvolvido e mantido pela Caelum, com o objetivo de desenvolver aplicações web com base nos protocolos HTTP/REST. É um dos poucos frameworks mais extensível em Java por ser construído baseado no CDI que é a especificação de dependência do Java EE (Cavalcanti, 2014, p. 3).

O framework VRaptor foi criado pelos irmãos Paulo Silveira e Guilherme Silveira em 2004, na Universidade de São Paulo, com o objetivo de facilitar o desenvolvimento web em Java, porque na época a construção de sistemas web era uma tarefa árdua. A sua primeira versão estável definida como VRaptor 2, foi criado contando com a ajuda do Fabio Kung, Nico Steppat entre outros desenvolvedores, trazendo as boas ideias e práticas do Ruby on Rails para o framework.

Para versão 3 o VRaptor foi totalmente reformulado, tendo como base a experiência dos erros e acertos da versão anterior e de outros frameworks da época. Nesta versão os

conceitos e padrões de convenção e injeção de dependência foram levados ao extremo, além de utilizar ideias de serviços REST-full auxiliando a comunicação entre sistemas.

Com a grande facilidade e poder de programação do Java EE 7, o VRaptor em meados de 2013 foi novamente reformulado, porém com um grande diferencial sendo projetado com base na especificação do Java EE 7 utilizando CDI, validação de dados com base na especificação JPA e reduzindo a utilização de bibliotecas de terceiros. Sua versão estável VRaptor 4 ficou disponível em março de 2014.

Além da facilidade e agilidade no desenvolvimento web em Java o VRaptor permite adicionar outros frameworks para auxiliar no desenvolvimento como: JSF, Velocity e Freemarker. Também pode ser utilizado bibliotecas externas como jQuery e AngularJS permitindo criar interfaces mais ricas para o usuário (Cavalcanti, 2014, p. 5).

Documentos relacionados