![Page 1: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/1.jpg)
Frameworks Web(Uma ferramenta de reutilização de Software)
Thomas KanzigIFAL – Sistemas de Informação
![Page 2: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/2.jpg)
Frame = Quadro, moldura, estrutura
Work = Trabalho
Frameworks = minha estrutura de trabalho
O que Framework?
![Page 3: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/3.jpg)
O que Framework?
• Um framework é um conjunto de classes que constitui um projeto abstrato para solução de uma familia de problemas. Fayad et al (1999b) e Johnson & Foote (1988)
• Um framework é uma arquitetura desenvolvida com o objetivo de atingir a maxima reutilização, representada como um conjunto de classes abstratas e concretas, com grande potencial de especialização. Mattson (1996, 2000)
![Page 4: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/4.jpg)
O que Framework?• Um framework é um conjunto de objetos que
colaboram com o objetivo de atender a um conjunto de responsabilidades para uma aplicação especifica ou um dominio de aplicação.
Johnson(1991) e Gamma et al (1995)
• Um framework é definido como um software parcialmente completo projetado para ser instanciado.
Buschmann et al. (1996), Pree (1995) e Pinto (2000)
![Page 5: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/5.jpg)
O que Framework?Definição pessoal:
"Um framework é uma aplicação “semicompleta”, reutilizável, que pode ser especializada para produzir aplicações
Personalizadas.”
“Framework é um conjunto de scripts feitos por pessoas mais inteligentes que para eu programar de forma mais rápida, fácil e
eficiente."
![Page 6: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/6.jpg)
Quem usa Framework?
Pessoas que dominam uma determinada linguagem......
![Page 7: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/7.jpg)
Reuso de Software• É um conjunto de técnicas que objetivam obter parte
do projeto e da construção de software, como um padrão, para uso em diferentes situações.
(D'Souza e Wills, 1998)
Objetivo:• Produzir mais em menos tempo• Mais qualidade e menor custo de manutenção
![Page 8: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/8.jpg)
Reuso de Software
Métodos de Reuso de Software:
• Bibliotecas de Classes• Componentes de Software• Frameworks
![Page 9: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/9.jpg)
Reuso de Software
![Page 10: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/10.jpg)
Frameworks – Papeis Envolvidos no Uso e Desenvolvimento
• Projetista - responsavel pela estrutura interna do framework, pelo levantamento de requisitos e pela definição dos pontos do framework
• Mantenedor - responsavel por redefinir e acrescentar novas funcionalidades aos projeto do framework
• Desenvolvedor - instancia o framework com os requisitos especificos
![Page 11: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/11.jpg)
Frameworks – Papeis Envolvidos no Uso e Desenvolvimento
Etapas:• Analise de Requisito• Projeto do Framework• Implementação• Documentação• Aplicações
![Page 12: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/12.jpg)
Frameworks – Papeis Envolvidos no Uso e Desenvolvimento
![Page 13: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/13.jpg)
Frameworks – Estrutura
• Frozen-spots diz respeito à parte “congelada” do framework, ou seja, uma parte fixa, que aglutina as funcionalidades e regras comuns de uma família de aplicações.
• Hot-spots são os pontos de extensão do framework, onde são contempladas as características particulares de cada aplicação da família. Os pontos de extensão são os responsáveis por uma grande característica dos frameworks, a inversão de controle
![Page 14: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/14.jpg)
Frameworks - Características
• Modularidade• Reusabilidade• Extensibilidade• Inversão de Controleconsiste em garantir que o código da aplicação que está sendo desenvolvido use o
código fixo predefinido do framework, ou seja, é o framework quem dita o fluxo de controle da aplicação. A arquitetura “executável” do framework
![Page 15: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/15.jpg)
Frameworks – Instanciação
• Uso dos pontos de extensão da arquitetura do framework(classes de herança e abstratas) Fase de implementação do código especifico da aplicação. É o que falta para completar a aplicação
Existe 4 etapas na Instanciação:• Analise do sistema• Mapeamento• Implementação• Teste do Sistema
![Page 16: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/16.jpg)
Frameworks para Web
Definição:• É um software projetado para dar suporte ao
desenvolvimento de websites e sistemas de conteúdo dinâmico
Objetivo Geral:• Diminuir a sobrecarga de codificação necessária para
atividades comuns relacionadas ao desenvolvimento WebBenefício:• Oferece uma arquitetura reutilizável de aplicações para
Web que poupe o programador dos detalhes comuns a esse tipo de software.
![Page 17: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/17.jpg)
Frameworks para Web –Classificação
Orientação a Objetos• Os frameworks caixa-branca baseiam-se nos
mecanismos de herança e ligação dinâmica (dynamicbinding) presentes em orientação a objetos. O programador deve criar subclasses herdadas das classes abstratas para criar aplicações específicas.
Componentes• Um Framework de componentes é uma entidade de
software que prove suporte a componentes que seguem um determinado modelo e possiblita que instancias destes componentes sejam plugadas no framework de componentes.
![Page 18: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/18.jpg)
Frameworks Web – Tecnologias Embutidas
• MVC – Model View Controller• ActiveRecord• Ajax• Internacionalização• ORM – Object-relational mapping• Validation• Auth Module• Modules• Tabeless• Caching• Templates
![Page 19: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/19.jpg)
Frameworks Web– Tecnologias Embutidas
![Page 20: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/20.jpg)
Frameworks – Padrões MVC
• MVC – Model View Controller
![Page 21: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/21.jpg)
Frameworks – Padrões MVC
![Page 22: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/22.jpg)
Frameworks – Vantagens & Desvantagens
Vantagens:• Utilidade • Segurança• Extensibilidade• Economia de tempo• Ajuda Facil
Desvantagens:• Construção• Aprendizado• Atualização
![Page 23: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/23.jpg)
Frameworks – Vantagens & Desvantagens
![Page 24: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/24.jpg)
Frameworks – Exemplos
![Page 25: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/25.jpg)
Frameworks – CakePHP
![Page 26: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/26.jpg)
Frameworks – Antes de Usar....
• Domine a linguagem nativa• Entender os requisitos e especialidades do
framework• Saiba programar com framework, mas saiba fazer
sem ele• Conheça diferentes tipos de padrões de projetos
![Page 27: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/27.jpg)
Referências
• http://www.scielo.br/pdf/gp/v12n2/26087.pdf• http://tcc.ecomp.poli.br/20111/TCC_Final(corrigida)_Lor
enaLopes.pdf• http://www.maxwell.lambda.ele.puc-
rio.br/8623/8623_3.PDF• http://pt.slideshare.net/aitproeg/framework-usar-ou-no-
usar• http://pt.slideshare.net/arlindosantos/frameworks-de-
desenvolvimento-web
![Page 28: Frameworks da web - Uma ferramenta de reutilização de software](https://reader030.vdocuments.net/reader030/viewer/2022020716/5597c35e1a28abc1718b45d4/html5/thumbnails/28.jpg)
Até a próxima...