28
Frameworks Web (Uma ferramenta de reutilização de Software) Thomas Kanzig IFAL – Sistemas de Informação

Frameworks da web - Uma ferramenta de reutilização de software

Embed Size (px)

Citation preview

Page 1: Frameworks da web - Uma ferramenta de reutilização de software

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

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

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

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

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

Quem usa Framework?

Pessoas que dominam uma determinada linguagem......

Page 7: Frameworks da web - Uma ferramenta de reutilização de software

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

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

Reuso de Software

Page 10: Frameworks da web - Uma ferramenta de reutilização de software

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

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

Frameworks – Papeis Envolvidos no Uso e Desenvolvimento

Page 13: Frameworks da web - Uma ferramenta de reutilização de software

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

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

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

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

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

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

Frameworks Web– Tecnologias Embutidas

Page 20: Frameworks da web - Uma ferramenta de reutilização de software

Frameworks – Padrões MVC

• MVC – Model View Controller

Page 21: Frameworks da web - Uma ferramenta de reutilização de software

Frameworks – Padrões MVC

Page 22: Frameworks da web - Uma ferramenta de reutilização de software

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

Frameworks – Vantagens & Desvantagens

Page 24: Frameworks da web - Uma ferramenta de reutilização de software

Frameworks – Exemplos

Page 25: Frameworks da web - Uma ferramenta de reutilização de software

Frameworks – CakePHP

Page 26: Frameworks da web - Uma ferramenta de reutilização de software

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

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

Até a próxima...