SlideShare uma empresa Scribd logo
1 de 28
Baixar para ler offline
Frameworks Web

(Uma ferramenta de reutilização de Software)

Thomas Kanzig

IFAL – Sistemas de Informação
O que Framework?
Frame = Quadro, moldura, estrutura
Work = Trabalho

Frameworks = minha estrutura de trabalho
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 Controle

consiste 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 Web
Benefí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 (dynamic
binding) 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.pucrio.br/8623/8623_3.PDF
• http://pt.slideshare.net/aitproeg/framework-usar-ou-nousar

• http://pt.slideshare.net/arlindosantos/frameworks-dedesenvolvimento-web
Até a próxima...

Mais conteúdo relacionado

Mais procurados

Documentação de Arquitetura de Software Aplicando o C4 Model
Documentação de Arquitetura  de Software Aplicando o C4 ModelDocumentação de Arquitetura  de Software Aplicando o C4 Model
Documentação de Arquitetura de Software Aplicando o C4 ModelDouglas Alonso
 
Yazilim Projelerinde Test Sureci
Yazilim Projelerinde Test SureciYazilim Projelerinde Test Sureci
Yazilim Projelerinde Test SureciNecdet Terkes
 
COSMIC Functional Measurement of Mobile Applications and Code Size Estimation
COSMIC Functional Measurement of Mobile Applications and Code Size EstimationCOSMIC Functional Measurement of Mobile Applications and Code Size Estimation
COSMIC Functional Measurement of Mobile Applications and Code Size EstimationPasquale Salza
 
Complete testing@uma
Complete testing@umaComplete testing@uma
Complete testing@umaUma Sapireddy
 
Especificação de requisitos
Especificação de requisitosEspecificação de requisitos
Especificação de requisitosFernando Palma
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
Traceability matrix
Traceability matrixTraceability matrix
Traceability matrixMuthuKumar A
 
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...Igor Rosa Macedo
 
WORKFLOW OF THE PROCESS IN SPM
 WORKFLOW OF THE PROCESS IN SPM WORKFLOW OF THE PROCESS IN SPM
WORKFLOW OF THE PROCESS IN SPMgarishma bhatia
 
Reuso de software
Reuso de softwareReuso de software
Reuso de softwarerebekinha
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic TestingJimi Patel
 

Mais procurados (20)

Iso27001 sgsi
Iso27001 sgsiIso27001 sgsi
Iso27001 sgsi
 
Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)
 
Documentação de Arquitetura de Software Aplicando o C4 Model
Documentação de Arquitetura  de Software Aplicando o C4 ModelDocumentação de Arquitetura  de Software Aplicando o C4 Model
Documentação de Arquitetura de Software Aplicando o C4 Model
 
Yazilim Projelerinde Test Sureci
Yazilim Projelerinde Test SureciYazilim Projelerinde Test Sureci
Yazilim Projelerinde Test Sureci
 
COSMIC Functional Measurement of Mobile Applications and Code Size Estimation
COSMIC Functional Measurement of Mobile Applications and Code Size EstimationCOSMIC Functional Measurement of Mobile Applications and Code Size Estimation
COSMIC Functional Measurement of Mobile Applications and Code Size Estimation
 
Sarbanes Oxley
Sarbanes OxleySarbanes Oxley
Sarbanes Oxley
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Complete testing@uma
Complete testing@umaComplete testing@uma
Complete testing@uma
 
Especificação de requisitos
Especificação de requisitosEspecificação de requisitos
Especificação de requisitos
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Modelos de Engenharia de Software
Modelos de Engenharia de SoftwareModelos de Engenharia de Software
Modelos de Engenharia de Software
 
Software Development Process
Software Development ProcessSoftware Development Process
Software Development Process
 
Traceability matrix
Traceability matrixTraceability matrix
Traceability matrix
 
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
SonarQube - Como avaliar seus fornecedores e garantir a qualidade de suas ent...
 
WORKFLOW OF THE PROCESS IN SPM
 WORKFLOW OF THE PROCESS IN SPM WORKFLOW OF THE PROCESS IN SPM
WORKFLOW OF THE PROCESS IN SPM
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
Iso 12207
Iso 12207Iso 12207
Iso 12207
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
 
Dynamic Testing
Dynamic TestingDynamic Testing
Dynamic Testing
 
Seminario iso 27000 pronto
Seminario iso 27000 prontoSeminario iso 27000 pronto
Seminario iso 27000 pronto
 

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

Reutilização
ReutilizaçãoReutilização
Reutilizaçãoemjorge
 
O que é framework
O que é frameworkO que é framework
O que é frameworkfcdigital
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Adriano Teixeira de Souza
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareNorberto Santos
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento webArlindo Santos
 
Identificando requisitos comuns e variantes em linhas de produtos de software
Identificando requisitos comuns e variantes em linhas de produtos de softwareIdentificando requisitos comuns e variantes em linhas de produtos de software
Identificando requisitos comuns e variantes em linhas de produtos de softwareAndré Agostinho
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwareTiago Barros
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksJonata Weber
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Adriano Teixeira de Souza
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKRyan Padilha
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Flávio Lisboa
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03Anderson Andrade
 

Semelhante a Frameworks da web - Uma ferramenta de reutilização de software (20)

Reutilização
ReutilizaçãoReutilização
Reutilização
 
O que é framework
O que é frameworkO que é framework
O que é framework
 
Aula05 frameworks
Aula05 frameworksAula05 frameworks
Aula05 frameworks
 
Desenvolvimento baseado em componentes
Desenvolvimento baseado em componentesDesenvolvimento baseado em componentes
Desenvolvimento baseado em componentes
 
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
Paradigmas de Linguagens de Programação - Biblioteca de Classes e Frameworks
 
Tendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de SoftwareTendências e Dicas para o Desenvolvimento de Software
Tendências e Dicas para o Desenvolvimento de Software
 
Framework usar ou não usar
Framework usar ou não usarFramework usar ou não usar
Framework usar ou não usar
 
Oficina cake php
Oficina cake phpOficina cake php
Oficina cake php
 
Frameworks de desenvolvimento web
Frameworks de desenvolvimento webFrameworks de desenvolvimento web
Frameworks de desenvolvimento web
 
Identificando requisitos comuns e variantes em linhas de produtos de software
Identificando requisitos comuns e variantes em linhas de produtos de softwareIdentificando requisitos comuns e variantes em linhas de produtos de software
Identificando requisitos comuns e variantes em linhas de produtos de software
 
Práticas de Desenvolvimento de Software
Práticas de Desenvolvimento de SoftwarePráticas de Desenvolvimento de Software
Práticas de Desenvolvimento de Software
 
Curso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – FrameworksCurso PHP UNIFACS 2014.1 – Frameworks
Curso PHP UNIFACS 2014.1 – Frameworks
 
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
Ferramentas para desenvolvimento web com produtividade - Artigo Final - Pos-G...
 
Plataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDKPlataforma Android: Produtividade Além do SDK
Plataforma Android: Produtividade Além do SDK
 
Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011Palestra Zend Framework na Campus Party 2011
Palestra Zend Framework na Campus Party 2011
 
Frameworks em Java
Frameworks em JavaFrameworks em Java
Frameworks em Java
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
PHP 10 CodeIgniter
PHP 10 CodeIgniterPHP 10 CodeIgniter
PHP 10 CodeIgniter
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03
 
Padrões de Projeto de Software
Padrões de Projeto de SoftwarePadrões de Projeto de Software
Padrões de Projeto de Software
 

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

  • 1. Frameworks Web (Uma ferramenta de reutilização de Software) Thomas Kanzig IFAL – Sistemas de Informação
  • 2. O que Framework? Frame = Quadro, moldura, estrutura Work = Trabalho Frameworks = minha estrutura de trabalho
  • 3. 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)
  • 4. 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)
  • 5. 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."
  • 6. Quem usa Framework? Pessoas que dominam uma determinada linguagem......
  • 7. 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
  • 8. Reuso de Software Métodos de Reuso de Software: • Bibliotecas de Classes • Componentes de Software • Frameworks
  • 10. 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
  • 11. Frameworks – Papeis Envolvidos no Uso e Desenvolvimento Etapas: • Analise de Requisito • Projeto do Framework • Implementação • Documentação • Aplicações
  • 12. Frameworks – Papeis Envolvidos no Uso e Desenvolvimento
  • 13. 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
  • 14. Frameworks - Características • • • • Modularidade Reusabilidade Extensibilidade Inversão de Controle consiste 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
  • 15. 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
  • 16. 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 Web Benefício: • Oferece uma arquitetura reutilizável de aplicações para Web que poupe o programador dos detalhes comuns a esse tipo de software. •
  • 17. 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 (dynamic binding) 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.
  • 18. Frameworks Web – Tecnologias Embutidas • • • • • • • • • • • MVC – Model View Controller ActiveRecord Ajax Internacionalização ORM – Object-relational mapping Validation Auth Module Modules Tabeless Caching Templates
  • 20. Frameworks – Padrões MVC • MVC – Model View Controller
  • 22. Frameworks – Vantagens & Desvantagens Vantagens: • Utilidade • Segurança • Extensibilidade • Economia de tempo • Ajuda Facil Desvantagens: • Construção • Aprendizado • Atualização
  • 23. Frameworks – Vantagens & Desvantagens
  • 26. 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
  • 27. 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.pucrio.br/8623/8623_3.PDF • http://pt.slideshare.net/aitproeg/framework-usar-ou-nousar • http://pt.slideshare.net/arlindosantos/frameworks-dedesenvolvimento-web