O Sistema de Controle de Ocorrências foi utilizado como base para a aplicação do objetivo principal deste projeto. Sem um desafio claro, de desenvolvimento de software, seria impossível simular de forma real a aplicação dos diversos design patterns, lightweight frameworks, W3C Web Standards e demais ferramentas e metodologias. O produto final, embora inacabado, atende em partes as necessidades da CELEPAR em registrar e atender, de forma rápida e eficiente, as solicitações de serviços geradas a partir de seus clientes internos ou externos. A solução desenvolvida possui um código-fonte robusto, reutilizavél, inteiramente orientado a objetos, seguro, de manutenção simplificada, eficiente e eficaz, tornando trivial a finalização da aplicação e a implementação de módulos futuros que venham a surgir. 77 4 CONCLUSÃO O desenvolvimento aplicações normalmente é componente crítico da missão de qualquer empresa. As equipes de desenvolvimento precisam construir aplicações em curto espaço de tempo, porém tem que construí-las corretamente, de forma a facilitar sua manutenção e maximizar o reuso de código. A utilização de lightweight frameworks como o Struts e o Hibernate auxiliam as equipes de desenvolvimento nesta missão. O Struts possibilita o desenvolvimento de aplicações web, utilizando-se do Sun’s Model 2. Este modelo prevê uma definição bem clara das camadas em uma aplicação, permitindo a distribuição do trabalho, de forma que o web designer possa concentrar-se unicamente no desenvolvimento das páginas JSPs, enquanto o restante da aplicação está na vanguarda dos desenvolvedores, analistas de sistemas e arquitetos de software. Ele auxilia na redução do acoplamento entre as páginas JSP permitindo que a o fluxo da aplicação seja altamente flexível. O Hibernate facilita o desenvolvimento de aplicações que acessam bancos de dados relacionais, permitindo aos desenvolvedores preocuparem-se com a consistência de sua camada de modelo (regras de negócio) ao invés de gastarem tempo no desenvolvimento dos mecanismos de persistência de dados. Afora os lightweight frameworks, a utilização de design patterns encaixa-se perfeitamente no processo de deencaixa-senvolvimento de software. Eles incentivam a formação de um vocabulário comum para uma melhor comunicação entre os desenvolvedores, a maior exploração das alternativas de projeto, redução da complexidade de entendimento da aplicação através da definição de abstrações, constituição de uma base de experiências reutilizáveis para a construção de software, atuação como peças na construção de projetos de software mais complexos podendo ser considerados como micro-arquiteturas 78 que contribuem para arquitetura geral do sistema, reduzem o tempo de aprendizado de uma determinada biblioteca de classes e quanto mais cedo são usados, menor será o re-trabalho em etapas mais avançadas do projeto. Concluímos que a união entre design patterns e lightweight frameworks permitem sem dúvida alguma o desenvolvimento de aplicações de fácil manutenção, portáveis, de componentes rastreáveis, de alta reusabilidade de código e altamente modularizadas. 79 5 REFERÊNCIAS BIBLIOGRÁFICAS GAMMA, Enrich; HELM, Richar; JHONSON, Ralph; VLISSIDES, John, Design patterns, Elements of Reusable Object-Oriented Software. Addison-Wesley Professional, 1995. HUSTED, Ted N.; DUMOULIN, Cedric; FRANCISCUS, George; WINTERFELDT, David, Struts in Action, Building web applications with the leading Java framework. Manning Publications Co., 2002. RICHARDSON, Chris, POJOs in Action, Developing Enterprise Applications With Lightweight Frameworks. Manning Publications Co., 2006. BAYERN, Shawn, JSTL in Action. Manning Publications Co., 2003. BAUER, Christian; KING, Gavin, Hibernate in Action. Manning Publications Co., 2005. QUADROS, Moacir, Gerência de Projetos, Técnicas e Ferramentas. Florianópolis:Visual Books, 2002. PRESSMAN, Roger S, Engenharia de software. São Paulo: Pearson Makron Books, 1995. ECKEL, Bruce, Thinking in Java. Pearson Education, Inc, 2003. RUMBAUGH, James, UML Guia do Usuário. Campus. INC, Sun Microsystems. FOUNDATION, The Apache Software, Struts. http://struts.apache.org/struts-doc-1.2.7/userGuide/index.html. Acesso em 05/09/2005. CORPORATION,JasperSoft, Jasper Reports Documentation. http://jasperreports.sourceforge.net/documentation.html. Acesso em 15/05/2006. GARNIER, Jean-Michel, Struts 1.1 Controller UML diagrams. França. http://rollerjm.free.fr/pro/Struts11.html#3. Acesso em 25/03/2006. INC, Sun Microsystems, jGuru: Fundamentals of the JavaMail API. Sun Developer Network. http://java.sun.com/developer/onlineTraining/JavaMail/contents.html. Acesso em 18/03/2006. 80 GUJ. Java e Desenvolvimento Web, http://www.guj.com.br/forums/list.java. Acesso em 02/03/2006. FREITAS, Katiúcia, Criar uma aplicação utilizando Eclipse, Struts e o FrameWork DBFW4J. Imasters – Programação Java. http://www.imasters.com.br/artigo/3336. Acesso em 24/04/2006. MICHELAZZO, Paulino, A liberdade dos bancos de dados. Imasters – Software Livre. http://www.imasters.com.br/artigo/3990/livre/a_liberdade_dos_bancos_de_dado s. Acesso em 24/04/2006. ALECRIM, Emerson, Banco de dados PostgreSQL e MySQL. Info Wester. http://www.infowester.com/postgremysql.php. Acesso em 24/04/2006. JEVEAUX, Matheus, Incremente suas aplicações Web com Servlets e Java Server Pages. Portal Java. http://www.portaljava.com.br/home/modules.php?name=News&file=article&sid= 41. Acesso em 25/04/2006. DEBONI, José Eduardo Zindel, Breve Introdução aos Diagramas da UML. Voxxel – Conceito em Tecnologia da Informação desde 1988. http://www.voxxel.com.br/pages/introdiauml.html#estados. Acesso em 230/03/2006. ALVES, Maria Bernardete Martins; ARRUDA, Susana Margareth, Elaboração Referenciais. UFSC – New Page 8. Brasil. http://www.bu.ufsc.br/framerefer.html. Acesso em 26/08/2006. ZANETTI, Eni Maria de Souza Pinto, Como fazer referências: bibliográficas, eletrônicas e demais formas de documentos. FUNCAB. Brasil. http://www.funcab.br/Paginas/referencias.htm. Acesso em 26/08/2006. CONTE, S.D, Software engineering metrics and models. Califórnia: Benjamin/Cummings Publishing, 1985. CAVANNES, Chuck, Programming Jakarta Struts. Greenwich: O ' Reilly Publications, 2003. DUDNEY, Bill, LEHR, Jonathan, Jakarta Pitfalls - Time-saving Solutions for 81 82 No documento UNIVERSIDADE FEDERAL DO PARANÁ APLICAÇÃO DE DESIGN PATTERNS E LIGHTWEIGHT FRAMEWORKS NO DESENVOLVIMENTO DE APLICAÇÕES ORIENTADAS A OBJETOS REUTILIZÁVEIS: S.C.O. – SISTEMA DE CONTROLE DE OCORRÊNCIAS CURITIBA 2007 (páginas 88-94)