• Nenhum resultado encontrado

Como mencionado anteriormente, optou-se pelo desenvolvimento de uma aplica¸c˜ao para a

Web. Assim, foram utilizados os frameworks Hibernate e ZK para apoiar a implementa¸c˜ao

do ambiente Peˆonia. Optou-se por utilizar Java (Sun Microsystems, Inc., 1999), por ser uma linguagem de programa¸c˜ao orientada a objetos, simples, robusta, interpretada, port´avel, distribu´ıda, de arquitetura neutra, segura, de alto desempenho, multithreaded e dinˆamica (Sun Microsystems, Inc., 1999).

O framework Hibernate utiliza padr˜oes de projeto como o Session Fa¸cade (Sun Mi- crosystems, Inc., 2003a), que evita que os componentes da camada de neg´ocio sejam acessados diretamente fornecendo uma interface para acesso. Empregando o framework Hibernate n˜ao foi necess´ario se preocupar com aspectos de comunica¸c˜ao com o SBDG. Assim, foi poss´ıvel focar as aten¸c˜oes na Camada de Aplica¸c˜ao do ambiente Peˆonia.

Com rela¸c˜ao aos testes, foram realizados testes unit´arios, funcionais e de integra¸c˜ao. Por causa do pouco tempo dispon´ıvel, n˜ao foi poss´ıvel realizar testes estruturais e de estresse, no entanto, planeja-se utilizar em breve alguma ferramenta de automatiza¸c˜ao de teste para realizar uma avalia¸c˜ao mais robusta da implementa¸c˜ao do ambiente Peˆonia.

Al´em disso, o ambiente Peˆonia foi utilizado por alunos de uma disciplina do curso de p´os-gradua¸c˜ao do ICMC da USP. Esses alunos testaram o funcionamento da aplica¸c˜ao e os erros encontrados foram corrigidos. Adicionalmente, forneceram sugest˜oes que ser˜ao listadas na Se¸c˜ao de 8.4.

7.11

Considera¸c˜oes Finais

Neste cap´ıtulo foi apresentado o projeto executado para desenvolver o ambiente Peˆonia. Optou-se por cri´a-lo como uma aplica¸c˜ao Web para explorar vantagens como facilidade de divulga¸c˜ao, acesso e compartilhamento de informa¸c˜oes, permitindo que usu´arios troque informa¸c˜oes sobre padr˜oes de software.

A partir do problema encontrado por usu´arios no emprego de padr˜oes de software, foram levantadas 168 funcionalidades que foram analisadas por meio dos diagramas de casos de uso, seq¨uˆencia, atividades e classes. Levando em considera¸c˜ao a interface e experiˆencia do usu´ario, foram criados modelos UX para definir o conte´udo das telas e mapa de navega¸c˜ao do ambiente Peˆonia.

Apesar de Conallen (2002) n˜ao ter recomendado em seu processo a cria¸c˜ao de modelos das tabelas de um banco de dados, por causa da complexidade da aplica¸c˜ao, foi necess´ario criar o MER e MRel para poder entender o relacionamento entre as entidades do banco de dados do ambiente Peˆonia.

CAP´ITULO 7. AMBIENTE PE ˆONIA - PROJETO Tomando por base as informa¸c˜oes dos modelos e diagramas criados, foi realizada a implementa¸c˜ao do sistema seguido de teste. O ambiente Peˆonia tamb´em foi testado e avaliado por alunos de uma disciplina de p´os-gradua¸c˜ao do ICMC da USP, permitindo capturar erros e opini˜oes para contribui¸c˜oes futuras.

Cap´ıtulo

8

Conclus˜ao

8.1

Resumo do Trabalho Realizado

Como descrito na Se¸c˜ao 1.3, este trabalho tem por meta fornecer um m´etodo e um am- biente para apoiar o emprego de padr˜oes de software durante a execu¸c˜ao de um processo de desenvolvimento.

Assim, foi desenvolvido o ambiente Peˆonia que auxilia usu´arios na aplica¸c˜ao de padr˜oes de software durante projetos orientados por processos de desenvolvimento. Observando os projetos durante o teste do ambiente Peˆonia, notou-se a repeti¸c˜ao da seq¨uˆencia de atividades desenvolvidas e de como ocorre o est´ımulo ao emprego de padr˜oes de software, sendo proposto o M´etodo Para Desenvolvimento Utilizando Padr˜oes de Software.

Para cumprir esses objetivos foi feita uma pesquisa na literatura a respeito de padr˜oes que auxiliem o desenvolvimento de aplica¸c˜oes voltadas para a Web, como por exemplo, os mencionados em Bonura et al. (2002); Danculovic et al. (2001); Garzotto et al. (1999); Koch e Rossi (2002); Weiss (2003), al´em de estudos sobre processos e m´etodos de desenvol- vimento e arquiteturas desse tipo de aplica¸c˜oes, para compreender o seu comportamento. Tamb´em foram feitos estudos sobre a linguagem Java, utilizada para o desenvolvimento do ambiente Peˆonia, al´em de frameworks que ap´oiam a implementa¸c˜ao de aplica¸c˜oes Web. Para avaliar as funcionalidades comumente oferecidas por ferramentas de automatiza- ¸c˜ao, foram realizados estudos sobre ferramentas que apoiam a utiliza¸c˜ao de padr˜oes de software (Bolchini et al., 2002; Braga, 2003; Braga e Masiero, 2000; Garzotto et al., 1999;

CAP´ITULO 8. CONCLUS ˜AO Hakala et al., 2001b; Marinho et al., 2003), auxiliam a aplica¸c˜ao de processos de desen- volvimento (Bertollo et al., 2006; Lima et al., 2006); ou forne¸cam suporte ao emprego de m´etodos de desenvolvimento Web (Brito, 2003; Knapp et al., 2003, 2004a, 2005, 2004b; Schwabe e Pontes, 1998; Schwabe et al., 1999; Turine et al., 1998, 1999; Web Models, 2006).

De acordo com esse levantamento, foram realizados estudos sobre as funcionalidades que j´a s˜ao oferecidas atualmente e as que n˜ao s˜ao implementadas, permitindo averiguar quais devem ser inclu´ıdas no ambiente proposto neste trabalho. Ferramentas que auxiliam o teste de software tamb´em foram pesquisadas, mas sem a inten¸c˜ao de realizar uma an´alise profunda sobre as funcionalidades de automatiza¸c˜ao de teste, pois a prioridade era o apoio dado ao emprego de processos de desenvolvimento e padr˜oes de software.

Foram feitos estudos de estrat´egias de teste da t´ecnica funcional ou caixa-preta (Myers, 2004; Pressman, 2002), que focaliza os requisitos funcionais do software, tomando por base a especifica¸c˜ao e n˜ao a implementa¸c˜ao, e da t´ecnica estrutural ou caixa-branca (Myers, 2004; Pressman, 2002), que utiliza a estrutura de controle do projeto procedimental para derivar casos de teste, verificando se atendem aos detalhes do c´odigo e solicitando a execu¸c˜ao de partes ou componentes elementares do programa (Pressman, 2002; Rocha et al., 2001).

Pesquisas sobre crit´erios de testes espec´ıficos de aplica¸c˜oes Web, como os citados em Ricca e Tonella (2001); Xu et al. (2005), foram realizadas para levantar os requisitos necess´arios para criar um conjunto de testes que validasse adequadamente o ambiente Peˆonia. No entanto, n˜ao foi poss´ıvel concluir o levantamento para realizar o planejamento do teste das caracter´ısticas espec´ıficas de aplica¸c˜oes Web.

Para compreender e desenvolver um mecanismo de associa¸c˜ao de requisitos de teste a padr˜oes de software, como proposto por (Cagnin et al., 2005), fez-se a an´alise das t´ecnicas funcionais de Particionamento de Equivalˆencia, An´alise do Valor Limite e Teste Funcio- nal Sistem´atico. Nesse projeto foi considerado apenas o teste funcional, pois padr˜oes de software possuem obrigatoriamente ao menos uma descri¸c˜ao do problema e solu¸c˜ao, for- necendo as condi¸c˜oes para a cria¸c˜ao dos requisitos de teste que validem a parte funcional dos projetos desenvolvidos utilizando o padr˜ao.

Como o ambiente Peˆonia foi desenvolvido como uma aplica¸c˜ao Web, optou-se por explorar as vantagens oferecidas pela linguagem de programa¸c˜ao Java. Assim, foi feita uma busca por frameworks que apoiassem a implementa¸c˜ao do ambiente Peˆonia utilizando Java.

Com rela¸c˜ao `a parte de persistˆencia, os frameworks Hibernate e iBATIS foram analisa- dos quanto `as suas vantagens e desvantagens. Ao final do estudo, o framework Hibernate foi eleito para realizar o gerenciamento da comunica¸c˜ao com o SGBD.

CAP´ITULO 8. CONCLUS ˜AO Diversos frameworks podem ser encontrados na literatura para auxiliar a implementa- ¸c˜ao da interface visual de aplica¸c˜oes Web, no entanto, optou-se por utilizar o framework ZK principalmente, pois permite que informa¸c˜oes sejam adicionadas dinamicamente em uma p´agina j´a renderizada, al´em da facilidade de aprendizado e a rica documenta¸c˜ao disponibilizada sobre os seus componentes.

Por causa da integra¸c˜ao com outras ferramentas foi iniciado o estudo do padr˜ao XMI (Extensible Markup Language Metadata Interchange) (World Wide Web Consor- tium, 2007a), permitindo realizar a exporta¸c˜ao e importa¸c˜ao de diagramas.