SlideShare una empresa de Scribd logo
1 de 28
Descargar para leer sin conexión
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...

Más contenido relacionado

La actualidad más candente

Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionaisalexculpado
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)Alex Camargo
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de DadosDaniel Brandão
 
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxDesenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxAlmir Neto
 
CVE-2015-8562の脆弱性について
CVE-2015-8562の脆弱性についてCVE-2015-8562の脆弱性について
CVE-2015-8562の脆弱性についてYu Iwama
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresGilvan Latreille
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indroduçãoRafael Pinheiro
 
Aula05 android persistencia
Aula05 android persistenciaAula05 android persistencia
Aula05 android persistenciaRoberson Alves
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnetRick van den Bosch
 
VMware Advance Troubleshooting Workshop - Day 5
VMware Advance Troubleshooting Workshop - Day 5VMware Advance Troubleshooting Workshop - Day 5
VMware Advance Troubleshooting Workshop - Day 5Vepsun Technologies
 
Banco de dados atividade de sala
Banco de dados atividade de salaBanco de dados atividade de sala
Banco de dados atividade de salaCarlos Melo
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchDaniel Brandão
 

La actualidad más candente (20)

Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados RelacionaisBanco de Dados Não Relacionais vs Banco de Dados Relacionais
Banco de Dados Não Relacionais vs Banco de Dados Relacionais
 
Banco de Dados (parte 01)
Banco de Dados (parte 01)Banco de Dados (parte 01)
Banco de Dados (parte 01)
 
Banco De Dados
Banco De DadosBanco De Dados
Banco De Dados
 
.Net Core
.Net Core.Net Core
.Net Core
 
Introdução a Banco de Dados
Introdução a Banco de DadosIntrodução a Banco de Dados
Introdução a Banco de Dados
 
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e AjaxDesenvolvimento em Três Camadas com PHP, MVC e Ajax
Desenvolvimento em Três Camadas com PHP, MVC e Ajax
 
CVE-2015-8562の脆弱性について
CVE-2015-8562の脆弱性についてCVE-2015-8562の脆弱性について
CVE-2015-8562の脆弱性について
 
Aula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de ComputadoresAula Introdução a Arquitetura e Organização de Computadores
Aula Introdução a Arquitetura e Organização de Computadores
 
SQL
SQLSQL
SQL
 
Banco de Dados - Conceitos Básicos
Banco de Dados - Conceitos BásicosBanco de Dados - Conceitos Básicos
Banco de Dados - Conceitos Básicos
 
Fundamentos de banco de dados 01 indrodução
Fundamentos de banco de dados   01 indroduçãoFundamentos de banco de dados   01 indrodução
Fundamentos de banco de dados 01 indrodução
 
정보구조 및 화면설계
정보구조 및 화면설계정보구조 및 화면설계
정보구조 및 화면설계
 
Microsoft Hyper-V
Microsoft Hyper-VMicrosoft Hyper-V
Microsoft Hyper-V
 
Aula05 android persistencia
Aula05 android persistenciaAula05 android persistencia
Aula05 android persistencia
 
MongoDB e Bancos de Dados Orientados a Documentos
MongoDB e Bancos de Dados Orientados a DocumentosMongoDB e Bancos de Dados Orientados a Documentos
MongoDB e Bancos de Dados Orientados a Documentos
 
.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet.Net Core - not your daddy's dotnet
.Net Core - not your daddy's dotnet
 
VMware Advance Troubleshooting Workshop - Day 5
VMware Advance Troubleshooting Workshop - Day 5VMware Advance Troubleshooting Workshop - Day 5
VMware Advance Troubleshooting Workshop - Day 5
 
Banco de dados atividade de sala
Banco de dados atividade de salaBanco de dados atividade de sala
Banco de dados atividade de sala
 
Tutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL WorkbenchTutorial - Criando Banco com MySQL Workbench
Tutorial - Criando Banco com MySQL Workbench
 
VSICM8_M02.pptx
VSICM8_M02.pptxVSICM8_M02.pptx
VSICM8_M02.pptx
 

Similar 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
 

Similar 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