frameworks da web - uma ferramenta de reutilização de software

Post on 04-Jul-2015

437 Views

Category:

Documents

33 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Frameworks Web(Uma ferramenta de reutilização de Software)

Thomas KanzigIFAL – Sistemas de Informação

Frame = Quadro, moldura, estrutura

Work = Trabalho

Frameworks = minha estrutura de trabalho

O que Framework?

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)

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)

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."

Quem usa Framework?

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

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

Reuso de Software

Métodos de Reuso de Software:

• Bibliotecas de Classes• Componentes de Software• Frameworks

Reuso 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

Frameworks – Papeis Envolvidos no Uso e Desenvolvimento

Etapas:• Analise de Requisito• Projeto do Framework• Implementação• Documentação• Aplicações

Frameworks – Papeis Envolvidos no Uso e Desenvolvimento

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

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

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

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.

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.

Frameworks Web – Tecnologias Embutidas

• MVC – Model View Controller• ActiveRecord• Ajax• Internacionalização• ORM – Object-relational mapping• Validation• Auth Module• Modules• Tabeless• Caching• Templates

Frameworks Web– Tecnologias Embutidas

Frameworks – Padrões MVC

• MVC – Model View Controller

Frameworks – Padrões MVC

Frameworks – Vantagens & Desvantagens

Vantagens:• Utilidade • Segurança• Extensibilidade• Economia de tempo• Ajuda Facil

Desvantagens:• Construção• Aprendizado• Atualização

Frameworks – Vantagens & Desvantagens

Frameworks – Exemplos

Frameworks – CakePHP

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

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

Até a próxima...

top related