Você está na página 1de 16

Frameworks e seus Benefcios no Desenvolvimento de Software

Framework and its Beneftis in Software Development


Marco y su Beneftis en Desarrollo de Software
Antonio Henrique dos Santos1
Nelson Ribeiro Carvalho2
Resumo: Este trabalho apresenta as vantagens em relao utilizao de frameworks Open Source,
com prticas de reutilizao de cdigos, possuindo base em programao Orientada a Objetos (OO)
e nfase nas melhores metodologia de desenvolvimento de softwares, em conjunto com os padres
de tecnologias Java Enterprise Edition. Haver um foco maior no Framework Jaguar, onde uma
aplicao ser desenvolvida utilizando arquitetura de software. Afim de possuir melhores resultados
como custo-benefcio e diminuio de erros.
Palavras-chave: Frameworks. Java Enterprise Edition. Open Source. Java Server Faces. Hibernate.
Jaguar.
Abstract: This paper presents the advantages over the use of Open Source frameworks with practical
reuse of code, having basic programming in Object Oriented (OO) methodology and emphasis on
better software development, together with the patterns of technology Java Enterprise Edition. There
will be a greater focus on the Framework Jaguar, where an application will be developed using
software architecture. In order to have better results as cost-benefit and minimize errors.
Keywords: Frameworks. Java Enterprise Edition. Open Source. Java Server Faces. Hibernate.
Jaguar.
Resumen: Este artculo presenta las ventajas sobre el uso de marcos de cdigo abierto con la
reutilizacin de cdigo prctico, que tiene la programacin orientada a objetos de base en la
metodologa y el nfasis en un mejor desarrollo de software (OO), junto con los patrones de la
tecnologa Java Enterprise Edition. Habr un mayor enfoque en el Jaguar Marco, donde se
desarrollar una aplicacin que utiliza la arquitectura de software. Con el fin de tener mejores
resultados como costo-beneficio y minimizar los errores.
Palabras clave: Marcos.Java Enterprise Edition. Open Source. Java Server Faces. Hibernate.
Jaguar.

1 INTRODUO
Este

artigo

tem

como

tema

Framework

seus

benefcios

para

desenvolvimentos de software nas empresas em um cenrio das empresas que


utilizam a Web. As empresas do mercado de tecnologia da informao investem
cada vez mais em inovaes tecnolgicas porm, a qualificao dos profissionais
no acompanha o mesmo ritmo.
A falta de criatividade e sinergia entre tecnologia e negcios tambm
impede as empresas de alavancarem seus lucros e objetivos. Uma vez que,
o trabalho com sistemas tradicionais e a falta de planejamento estratgico
e inovador, provoca a estagnao e impede as empresas visualizarem
novas oportunidades e tendncias de mercado (ALVIM, 2010).

Nesse sentido Alvim (2010, p.12) afirma:

Graduando em Sistemas da Informao pela faculdade Inforium de Tecnologia. E-mail:


tonyhenrysaints@gmail.com
2
Especialista em Desenvolvimento de Software e Professor do curso de Graduao em Sistemas da

O framework um conjunto de classes que colaboram entre si


proporcionando melhores prticas de desenvolvimento e diminuio
repetio de tarefas. Alm disso, evita variaes de solues diferentes
para um mesmo tipo de problema. O que facilita a reutilizao e
customizao dos cdigos.
Porm, os frameworks tambm podem atrasar o trabalho, pois os
desenvolvedores, testers e outros envolvidos no processo de
desenvolvimento tem que dominar no apenas a linguagem de
programao. Mas tambm a utilizao do framework.

Para se trabalhar com um framework especfico (ou qualquer tipo de


tecnologia) necessrio obter conhecimento tcnico, no somente para uso e
acesso as informaes. Mas tambm, aplicar as especialidades que o produto em
fase de desenvolvimento necessita (PRESSMAN, 2006).
Outro fator considervel que o projeto pode no seguir os padres do
framework, levando a criar adaptaes no projeto. Isto pode gerar mais trabalho, que
implica em mais tempo e perde qualidade, pois no se enquadra a padres
definidos.
Assim, o objetivo geral de artigo abordar a eficcia dos frameworks Open
Source no desenvolvimento de aplicaes JEE estabelecendo comparaes entre
um projeto de software que utiliza framework e outro que no utiliza.
Estas comparaes sero para verificar o grande benefcio que um projeto
que utiliza frameworks pode trazer ganhos de qualidade e produtividade .A obteno
de boa estrutura para implementao, os recursos diversos que proporcionam a
facilidade para construir um projeto de software e o cumprimento pleno da
documentao, ajuda a diminuir custos estabelecidos e aumenta a produtividade dos
desenvolvedores em relao construo do projeto de software.
Alm disso, o reuso de componentes, aplicao, objetos e funes,
possibilitam aos projetistas de software o reaproveitamento do contedo utilizado em
outros projetos que j foram construdos e evita o trabalho de calcular a maior parte
das estimativas relacionadas ao novo projeto. Com base no conhecimento da equipe
de desenvolvimento, das tecnologias e quais os recursos que podem ser realmente
utilizados.
Diante do exposto, a pergunta orientadora do estudo no sentido de verificar
se o uso de framework no desenvolvimento de software contribui para agilizar os
processos geis e a lucratividades das empresas.
Justifica-se esta pesquisa tendo em vista em relao desenvolvimento de
Software o framework uma abstrao que une cdigos comuns entre vrios
projetos de software provendo uma funcionalidade genrica.

Os frameworks

ajudam bastante as comunidades de desenvolvimento de

software porque j trazem, prontas e encapsuladas muitas coisas que so muito


trabalhosa de implementar do zero e que precisa ser refeita sempre.

2 ABORDAGEM TERICA
Este

trabalho aborda a eficcia dos frameworks Open Source no

desenvolvimento de

aplicaes JEE3

procura

estabelecer

comparaes

(bibliogrficas e em estudo de caso) entre um projeto de software que utiliza


framework e outro que no utiliza, e qual o auxilio no trabalho, na economia de
tempo e recursos.
Estas comparaes procuram comprovar o grande benefcio que um projeto
que utiliza frameworks pode trazer ganhos de qualidade e produtividade (ALVIM,
2010). A obteno de boa estrutura para implementao, os recursos diversos que
proporcionam a facilidade para construir um projeto de software e o cumprimento
pleno da documentao, ajuda a diminuir custos estabelecidos e aumenta a
produtividade dos desenvolvedores em relao construo do projeto de software
(SOMMERVILLE, 2008).
Alm disso, o reuso de componentes, aplicao, objetos e funes,
possibilitam aos projetistas de software o reaproveitamento do contedo utilizado em
outros projetos que j foram construdos e evita o trabalho de calcular a maior parte
das estimativas relacionadas ao novo projeto. Com base no conhecimento da equipe
de desenvolvimento, das tecnologias e quais os recursos que podem ser realmente
utilizados.
Assim, busca-se apresentar nesta seo as principais caractersticas de um
processo de desenvolvimento de software, o surgimento das ferramentas Open
Source, o conceito de frameworks e quais foram utilizados para a construo do
estudo de caso.
a) Frameworks
Segundo Willemann e Ibarra (2007, p. 41), o framework pode ser definido como:
Um framework ou arcabouo uma estrutura de suporte definida em que
outro projeto de software pode ser organizado e desenvolvido, quando se
analisa o conceito no mbito do desenvolvimento de software. Um
framework pode incluir programas de suporte, bibliotecas de cdigo,
linguagens de script e outros softwares para ajudar a desenvolver e juntar
diferentes componentes de um projeto de software.

Conforme Willemann e Ibarra (2007.p.84), para que um projeto de software seja


considerado um framework, ele deve respeitar algumas caractersticas, como:
a) Ser reutilizvel, para que seja abrangente aos padres
metodologia de desenvolvimento de aplicaes orientada a objetos.
3

da

Sigla de Java Enterprise Edition Antigo J2EE (Java 2 Plataform Enterprise Edition). Segundo Deitel

b) Facilitar o desenvolvimento de sistemas, para que a sua utilizao seja


benfica ao desenvolvimento de uma aplicao.
c) Possuir boa documentao, pois quem utiliza o framework precisa de
formas eficazes e esclarecedoras sobre como utiliz-lo de uma maneira
eficiente e correta, para que possa ajudar o desenvolvimento de um
determinado sistema.
d) Atender com exatido o que foi proposto em sua documentao e ser
eficiente no auxilio a criao de aplicaes com a linguagem
de programao.

b) Desenvolvimento de software
O processo de desenvolvimento de um software implica na converso da
especificao em um sistema executvel. Atravs de um projeto que passa por
diversas iteraes, o software vai adquirindo suas caractersticas com base na
anlise de requisitos em conjunto com o planejamento do sistema.
Um projeto de software a descrio da estrutura de software a ser
implementada, dos dados que so parte de um sistema, das interfaces entre
os componentes do sistema e, s vezes, dos algoritmos usados(
Sommerville 2008, p. 50).

Os frameworks de maneira geral precisam de uma boa estrutura, pois seu


principal

objetivo

simplificar

trabalhos,

tanto

para

usurios quanto

desenvolvedores. E uma das principais caractersticas dos frameworks que utilizam


o paradigma da orientao a objetos, trabalhar com a reutilizao de cdigos.
Alm disso, o trabalho com subsistemas exige que o framework possua
controle dos mesmos e tambm realize a identificao e comunicao dos
componentes do sistema. Esta a denominao para projeto de arquitetura.
O projeto de arquitetura um processo criativo em que se tenta
estabelecer uma organizao de sistema que satisfaa os requisitos
funcionais e no funcionais do sistema. (Segundo Sommerville 2008,
p.163).

Por trabalhar com as melhores prticas e eliminar trabalhos desnecessrios,


os frameworks possuem papel importante para o desenvolvimento de software.
Alvim (2010) explica que o bom framework interage com o sistema de forma
agradvel, proporcionando altos ndices de produtividade e qualidade para o projeto.
c) Hibernate
Conforme Bauer e King (2005), o desenvolvimento de software utilizando o
paradigma Orientado a Objetos e Banco de Dados Relacionais pode ser complexo e

Os custos de desenvolvimento so significativamente altos, devido a uma


incompatibilidade entre o paradigma relacional dos dados com s representao em
objetos para ambientes Java.
O Hibernate uma soluo Object/Relational Mapping que se refere tcnica
de mapeamento de dados entre uma representao do modelo de objeto em uma
representao de dados do modelo relacional.
Conforme Bauer e King (2005), o Hibernate mede a interao do aplicativo com
o banco de dados relacional. Alm disso, o Hibernate um framework no intrusivo.
Ou seja, permite que o desenvolvedor faa suas modificaes em relao a modelos
de negcio e classes persistentes, de acordo com suas necessidades.
Pois, o Hibernate integra-se facilmente as adaptaes no aplicativo e tambm
pode trabalhar com aplicativos novos. Sem a necessidade de grandes alteraes no
aplicativo inicial.
Conforme Bauer e King (2005), Hibernate pode no ser a melhor soluo para
aplicaes centradas em dados que utilizam apenas os procedimentos armazenados
para implementar a lgica de negcios no banco de dados, mais til com modelos
orientados a objetos de domnio e lgica de negcios no Java baseada em middletier.
Entretanto, o Hibernate pode certamente ajud-lo a remover ou encapsular
fornecedor especfico cdigo SQL e simplifica a tarefa comum de traduzir conjuntos
de resultados de uma representao tabular de um grfico de objetos.
d) Open Source e sua histria
Na dcada de 1960, os computadores eram despendidos para serem utilizados
individualmente. Somente programadores utilizavam e os mesmos resolviam a
maioria dos problemas nos sistemas operacionais (KUMAR, 2006).
Por volta de 1970, os fabricantes comearam a desagregao do cdigo do
software. Porm, as

informaes no eram publicadas. Normalmente, os

programadores faziam acordos para preservar as informaes.


O ponto de partida do movimento Open Source foi iniciado atravs de uma
impressora. Richard Stallman, que trabalhava no Instituto de Tecnologia de
Massachusetts (MIT), sofria com um problema que ocorria na impressora. Devido
tantos acessos p/ impresso de diferentes mquinas, a impressora congestionava.
Stallman pretendia alterar o driver da impressora para enviar mensagens para o
computador conectado informando o congestionamento da impressora. Porm, a
Xerox recusou o fornecimento do cdigo fonte. Porque a pessoa que criou o driver

No inicio da dcada de 1980, Stallman criou o GNU (ou GPL General Public
License). Com o objetivo de ser um sistema livre que vem o cdigo fonte em aberto.
Oferecendo oportunidade para o usurio (usar, modificar e distribuir) de acordo com
suas necessidades. Nesse projeto, Stallmann contou com a ajuda de diversos
programadores voluntrios.
Porm, houve um desentendimento por parte desses usurios. Conforme
Kumar (2006), as pessoas confundiram software livre com software sem custos. E
isso causou graves consequncias ao projeto de Stallmann.
O grande diferencial que um software que obtm licena GPL no
somente o software que ganhou liberdade para uso. Mas sim todos os programas
que utilizam software GPL.
Outros parceiros que tambm ajudaram na ideia da utilizao foram Linus
Torvalds (Criador do Sistema Operacional Linux) e Open Source Initiative (OSI). Nos
dias atuais, existem milhares de colaboradores e defensores dessa prtica
colaborativa para melhorias em cdigos fonte (KUMAR, 2006).
e) Tecnologia Java Enterprise Edition
Os desenvolvedores encontram desafios cada vez maiores. E o JEE uma
opo vivel para atender as necessidades dos desenvolvedores. Pois, tem como
objetivo oferecer um poderoso conjunto de APIs4. Dessa maneira, o tempo gasto
com desenvolvimento menor, tambm h diminuio em relao complexidade
da aplicao e o aplicativo possui melhor desempenho.
Esta a razo de utilizar frameworks Java Server Faces, Hibernate e Jaguar.
Pelo fato de agregar a tecnologia JEE e facilitar o processo de desenvolvimento de
software.
Possui um modelo de aplicao que inicia atravs da linguagem de
programao e mquina virtual Java. Alm disso, apresenta recursos indispensveis
em relao qualidade de desenvolvimento do produto. Como confiabilidade,
segurana e produtividade. Pois o JEE suporta diversas aplicaes. Isto torna a
plataforma necessariamente complexa. Em compensao, os usurios que agem
diretamente com o JEE ganham maior acessibilidade aos dados a partir da variao
de fontes e aplicaes.
Bodoff (2005) explica que a Plataforma JEE define os padres para o
desenvolvimento de aplicaes empresariais com multicamadas e os diversos
componentes do aplicativo que compem a plataforma, so instalados em mquinas

diferentes. Simplificando o desenvolvimento, pois baseando em componentes


modulares padronizados, oferecendo um conjunto completo de servios para esses
componentes.
A plataforma JEE aproveita muitos recursos do Java Standard Edition (JSE),
como "Write Once, Run Anywhere", portabilidade JDBC/API para acesso de banco
de dados, tecnologia CORBA para a interao com os recursos existentes na
empresa, e um modelo de segurana que protege os dados, mesmo em aplicaes
de internet.
Partindo desta base a plataforma JEE adiciona suporte completo para
componentes Enterprise JavaBeans, Java Servlets5 API, JavaServer Pages (JSP) e
tecnologia XML.
Segundo Bodoff (2005, p. 13), um componente Enterprise JavaBeans (EJB),
um corpo de cdigo [bloco de construo] que possui campos e mtodos para
implementar mdulos de lgica de negcios.
O padro JEE inclui as especificaes completas e testes de conformidade
para garantir a portabilidade de aplicaes em toda a vasta gama de sistemas
empresariais existentes, capazes de suportar a plataforma J2EE. Alm disso, a
especificao JEE agora garante a interoperabilidade de servios Web, atravs do
apoio para o perfil de WSI-Basic.
Embora a Sun Microsystems tenha criado a linguagem de programao Java
e tenha sido a pioneira no uso para servios corporativos, o padro J2EE representa
uma colaborao entre lderes de toda a rea de software corporativo. As parcerias
incluem sistema operacional e banco de dados de provedores de gerenciamento de
sistemas, fornecedores de middleware e ferramentas, e aplicaes de mercado
vertical e desenvolvedores de componentes.
Medeiros (2009) explica que middleware um software desenvolvido para
disponibilizar aplicaes J2EE. Sua execuo feita em servidores para que os
clientes (usurios) possam utilizar via conexo de rede.
3 Framework Jaguar
O Jaguar um framework composto por uma quantidade razovel de projetos
JEE especficos, plug-ins Eclipse, mtodos e padres, solues de integrao e
gerncia

de

configurao

extremamente

trabalhosa,

dentre

vrios

outros

suplementos de alto valor agregado, mantidos pela equipe de desenvolvimento


dedicada da Powerlogic.
O Jaguar uma soluo bastante eficaz para o aprimoramento dos resultados
5

Tecnologia Java que permite a utilizao de uma classe servlet especfica para HTTP (Protocolo de

quando se trata de desenvolvimento de aplicaes de software para Web em escala


corporativa.
Trata-se de uma sute de produtos multidimensional conforme figura 1 que
trabalha a problemtica da produtividade e qualidade por diversos ngulos.
Figura 1 Dimenses de atuao de sute do jCompany

.
Fonte: ALVIM, 2010, p.7

JCompany IDE6: um ambiente onde as organizaes desenvolvem seus


sistemas. Conforme Deitel (2005) o IDE possibilita a construo de sistemas de
informao duradouros e confiveis. E tambm auxiliam os desenvolvedores ao
construrem seus projetos de software, por possuir diversas ferramentas como
suporte no processo de desenvolvimento.
O Jaguar tem em sua sute de solues a IDE Eclipse, com a maioria de seus
plug-ins. Esta a ferramenta disponvel para codificao, construo e distribuio
de cdigos executveis.
JCompany Patterns & Methods: Christopher Alexander afirma: cada padro
descreve um problema em nosso ambiente e o cerne da sua soluo, de tal forma
que voc possa usar essa soluo mais de um milho de vezes, sem nunca faz-lo
da mesma maneira [...].
Muito embora Alexander estivesse falando acerca de padres em construes
e cidades, o que ele diz verdadeiro em relao aos padres de projeto orientado a
objeto. Nossas solues so expressas em termos de objetos e interfaces em vez de
paredes e portas, mas no cerne de ambos os tipos de padres est soluo para
um problema num determinado contexto (GAMMA, 2000).
JCompany Patterns & Methods um conjunto de boas prticas, padres e
passo e passo que auxiliam o desenvolvedor na codificao.

No JCompany Test for Developer a garantia de qualidade de software


definida da seguinte maneira: Conformidade a requisitos funcionais e
desempenho explicitamente declarado a padres de desenvolvimento
claramente documentados e a caractersticas implcitas que so esperadas
do software profissional. (Pressman 2007, p. 724).

O JCompany Test for Developer atua na rea de testes de unidade,


procurando garantir a qualidade do processo de desenvolvimento de software,
visando que a codificao manual esteja em conformidade (ALVIM, 2010).
JCompany Configuration Management: O mdulo JCompany Configuration
Management procura garantir a integridade dos itens de configurao (cdigos,
planilhas, CSU,...) e controlar a as iteraes destes itens (Controle de verso).
Por ser um ambiente de produo, o JCompany Configuration Management
necessita de monitoramento contnuo. O trabalho com altas tecnologias prope uma
infraestrutura slida que evitas quedas de rendimento no desenvolvimento de
software. Alm disso, a integridade e estabilidade so fatores primordiais ao longo
do processo.
A figura 2 exibe um diagrama em camadas que representa o esquema bsico
da Viso de Componentes da Arquitetura de Software Corporativa, conforme
sugerida pelo Jaguar. A arquitetura em si representada pelas camadas marcadas
com os nmeros (2), (3) e (4).
Conforme Alvim (2010), a figura 2 representa a arquitetura em camadas de
uma aplicao JEE, desenvolvida com o framework Jaguar.
Figura 2 - Arquitetura em camadas de uma aplicao JEE com o JCompany Full Stack Framework

Fonte: ALVIM, 2010, p.10

As camadas de uma aplicao JEE conforme Alvim (2010,p.10) so:


Camada 1 - Representa a infraestrutura onde a aplicao ser alocada.

caso, pode ser qualquer sistema operacional), uma JVM para execuo de
um programa Java e o servidor de aplicao, onde estar aplicao JEE.
Camada 2 - Esta camada apresenta os frameworks e utilitrios Open
Source inclusos no Jaguar, estes frameworks so muito utilizados no
mercado e divididos no Jaguar cada um em sua camada apropriada
(Modelo MVC).
Camada 3 - Esta a camada de software provida pelo framework Jaguar, esta
camada se integra com os insumos da camada 2 e as disponibiliza para
os nveis mais altos. chamada de commodity, pois prove boas
praticas do mercado (Design Patterns, padres de formulrios, gerncia de
transaes, etc.). Que so comuns em diversos projetos.
Camada 4 nesta camada que a empresa pode generalizar e customizar o
projeto onde se aplica o framework Jaguar. Podem ser citados como
exemplo, as alteraes em layout, segurana corporativa e outros ajustes
que o padro do framework no atenda. Esta a ultima camada de arquitetura
do framework.
Camada 5 a camada de negcio, onde os profissionais que trabalham
no ramo podem reutilizar mdulos de negcio, ganhando padronizao da
arquitetura.

4 Discusso sobre o tema abordado


Neste

estudo

de

caso,

realizaremos

um

comparativo

utilizando

desenvolvimento com frameworks e sem o mesmo. Com o objetivo de demonstrar os


pontos positivos e negativos, em relao s duas formas de construir o projeto de
software. Principalmente, nos quesitos tempo gasto para desenvolvimento, possveis
vulnerabilidades

que

um

framework

pode

oferecer

suas

vantagens e

desvantagens.
Basicamente, os frameworks Java (JSF, Hibernate e Jaguar) que sero
utilizados, possuem projeto e programao orientada a objetos. Com o intuito de
implementar os requisitos que o sistema exige e atravs de classes e objetos, propor
solues que possam resolver determinado tipo de problema (SOMMERVILLE,
2008).
Classe em terminologia Java so unidades de programa onde abrigam um ou
mais mtodos. Mtodos so utilizados para realizar tarefas da classe, e tambm
podem retornar um resultado. J os objetos tem como finalidade armazenar atributos
(caractersticas) que esto relacionadas diretamente a classe (DEITEL, 2005).
Reforando a idia de programao e projeto orientado a objetos,
importante lembrar que o reuso de componentes pode facilitar e otimizar sistemas.
Uma vez que a complexidade est sempre em evidncia na construo de
softwares.
Assim, possvel dizer que os objetos podem ser reaproveitados. Pois, um
objeto pode utilizar as caractersticas e relacionamentos de uma classe e atribu-los
em outra classe e tambm, implementar caractersticas especficas na nova classe

que foi criada. Isso condiz com a reduo de gastos com projeto, programao e
validao (DEITEL, 2005; SOMMERVILLE, 2008).
Entretanto, se no houver ferramentas disponveis, manuteno que d o
devido suporte para reuso de componentes e desenvolvedores com experincia e
compreenso de quais os recursos podem ser reutilizados, ser ineficiente o
trabalho. Abaixo seguem tabelas comparativas mostrando as vantagens e
desvantagens do reuso de componentes em um software.
a) Telas do caso de uso desenvolvidas com e sem frameworks
Figura 3 Tela de Pesquisa no caso de uso desenvolvido sem Framework

Fonte: Autoria prpria


Figura 4 Tela de Pesquisa no caso de uso desenvolvido com Framework Jaguar

Fonte: Autoria prpria

As figuras 3 e 4 mostram como o usurio realiza uma pesquisa e como so


exibidos os resultados. Sem framework notvel que questes como usabilidade e
design no atende os padres estabelecidos. J com o uso framework Jaguar, o
aproveitamento da interface de usurio, a visualizao de campos e comandos,
tamanho e separao de labels, torna a visualizao do sistema mais fcil e
agradvel.
Figura 5 Cadastro de novo produto efetuado desenvolvido sem Framework

Figura 6 Cadastro de novo produto efetuado desenvolvido com Framework Jaguar

Fonte: Autoria prprio

As imagens acima demonstram o resultado do desenvolvimento do caso de


uso com a utilizao do Framework Jaguar e do mesmo caso de uso sem
framework. Em relao s figuras 5 e 6 mostram o mesmo fluxo, mas o framework
Jaguar divide em abas caso de uso onde se tem uma agregao de classes.
b)Tabela comparativa
Tabela 3 Aspectos Relacionados a desenvolvimento de software
Itens relativos ao
desenvolvimento de software
Tempo de desenvolvimento

2 horas

8 horas

Linhas de cdigo digitadas

88

388

Modelo MVC

Sim

No

Tecnologias Utilizadas

JSF, Hibernate, Jaguar, Jquery,


CDI, RestEasy, Maven, AJAX
Alta

Servlet,HTML

Baixa

Alta

Alta

Baixa

Interoperabilidade

Sim

No

Compatibilidade com todos


navegadores
Quantidade de Papis

No

Sim

1 (Desenvolvedor)

Tempo gasto no processo de


Arquitetura do software
Segurana da aplicao

1 hora

3 (Designer, Desenvolvedor e
Arquiteto de software)
2 horas

Sim

No

Internacionalizao

Sim

No

Nvel de complexidade para o


desenvolvimento
Nvel de complexidade para
evoluo/manuteno
Usabilidade

Com Framework

Fonte: Autoria
prpria

c) Desvantagens da utilizao de framework

Sem Framework

Baixa

Gerao de muitos cdigos na aplicao

Desempenho comprometido, pois a aplicao desenvolvida com framework


Jaguar vai ter muitas camadas conforme figura 2.

Curva muito alta de aprendizado, pois os profissionais que trabalharem


com os

frameworks citados nesta

aprender a utilizar
desenvolvimento
Programao

os

mesmos

OO (Orientado

JAVA

monografia tero
dominarem
Objetos)

o
e

que

antes

de

paradigma

de

linguagem

de

mais especificamente a tecnologia Java Enterprise

Edition.

Nem todo projeto o framework vai trazer bons resultados, exemplo o


Hibernate, pois onde se h um projeto que se utiliza grandes nmeros de
Stored Procedure no recomendado utilizao do Hibernate.

5 CONCLUSO
Para compreenso do tema deste estudo, framework e seus benefcios no
desenvolvimento de softwares, buscou-se inicialmente rever a base conceitual e
terica sobre esta questo.
Destacou-se evidenciamos, que utilizao de frameworks em projetos de
desenvolvimento de softwares se torna uma prtica atrativa, pois se constituem uma
das mais promissoras correntes tecnolgicas para suportar reutilizao de software
em grande escala, modelando tanto a parte genrica como as partes variveis de
um sistema.
Essa boa prtica de utilizao dos frameworks no desenvolvimento de
software deve ser implementada fazendo uso dos padres de projetos design
patterns para melhor documentar a sua arquitetura e proporcionar um melhor
vocabulrio nico entre os desenvolvedores.
Desta forma, caracterizou-se os frameworks com um potencial que se impe,
e sua aplicao em projetos impacta em alto ganho de produtividade, possui
mdulos bastante completos para desenvolvedores de aplicaes, e permite ao
programador dedicar-se implementao da regra de negcio deixando que o
framework se encarregue do resto do trabalho.
Assim, pode-se concluir que os framework reduzem significativamente o
tempo de construo de softwares, bem como a manuteno do mesmo.As
empresas que usam este recurso como ferramenta de trabalho podem se tornar
mais competitivas no mercado, pois reduzem seu custo sem perder em qualidade.
Diante do exposto, pode-se afirmar que a pergunta de pesquisa do estudo foi

REFERNCIAS
ALVIM, Paulo. Tirando o Mximo do Java EE 6 Open Source com jCompany
Developer Suite. 3. Ed. Belo Horizonte: Powerlogic Publishing, 2010.
BAUER, Christian; KING, Gavin. Hibernate in Action. Greenwich: Manning
Publications, 2005.
BEZZERRA, Eduardo. Princpios de Anlise e Projeto de Sistemas com UML. Rio de
Janeiro: Elservier, 2007.
BODOFF, Stephanie et al. Tutorial do J2EETM. Rio de Janeiro: Editora Cincia
Moderna Ltda., 2005.
DEITEL, H. M. Java: como programar. 6. Ed. So Paulo: Pearson, 2005.
FAYAD, M.E.; SCHIMIDT, D.C.; JONHSON, R.E. Building Application Frameworks:
Object-Oriented Foundations of Framework Design. New York: J. Miley, 1999.
GAMMA, et al. Padres de Projeto: Solues Reutilizveis de Software Orientado a
Objetos. Porto Alegre: Bookman, 2005.
KUMAR, Sahaaj et al. Fast Track to Open Source Software. Jasubhai Digital Media.
Novembro, 2006. 209p.
LARMAN, Craig. Utilizando UML e Padres: Uma Introduo a Analise e ao Projeto
Orientados a Objetos e ao Processo Unificado. 2 ed. Porto Alegre: Bookman, 2004.
PRESSMAN, Roger. S., Engenharia de Software, 6 edio McGraw-Hill, 2006
SOMMERVILLE, Ian. Engenharia de Software. 8. Ed. So Paulo: Pearson, 2008.

Revista Pensar Tecnologia, v. 4, n. 1, jan. 2015