SlideShare une entreprise Scribd logo
1  sur  28
Télécharger pour lire hors ligne
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...

Contenu connexe

Tendances

Ferramentas de Segurança
Ferramentas de SegurançaFerramentas de Segurança
Ferramentas de SegurançaAlefe Variani
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvcleopp
 
SCOMと管理パックで DBや仮想環境の監視のお悩みを解決
SCOMと管理パックでDBや仮想環境の監視のお悩みを解決SCOMと管理パックでDBや仮想環境の監視のお悩みを解決
SCOMと管理パックで DBや仮想環境の監視のお悩みを解決株式会社クライム
 
Aprendendo Angular com a CLI
Aprendendo Angular com a CLIAprendendo Angular com a CLI
Aprendendo Angular com a CLIVanessa Me Tonini
 
Aula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de ProjetoAula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de ProjetoVinícius de Paula
 
AWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On GuideAWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On GuideManas Mondal
 
Padrões de Projeto - Observer e Strategy
Padrões de Projeto - Observer e StrategyPadrões de Projeto - Observer e Strategy
Padrões de Projeto - Observer e StrategyJoão Carlos Ottobboni
 
Aula 1. apresentação + frameworks
Aula 1. apresentação + frameworksAula 1. apresentação + frameworks
Aula 1. apresentação + frameworksandreluizlc
 
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Amazon Web Services
 
Product catalog using MongoDB
Product catalog using MongoDBProduct catalog using MongoDB
Product catalog using MongoDBVishwas Bhagath
 
Applications Android - cours 11 : Boites de dialogue
Applications Android - cours 11 : Boites de dialogueApplications Android - cours 11 : Boites de dialogue
Applications Android - cours 11 : Boites de dialogueAhmed-Chawki Chaouche
 

Tendances (20)

Ferramentas de Segurança
Ferramentas de SegurançaFerramentas de Segurança
Ferramentas de Segurança
 
Apresentação mvc
Apresentação mvcApresentação mvc
Apresentação mvc
 
SCOMと管理パックで DBや仮想環境の監視のお悩みを解決
SCOMと管理パックでDBや仮想環境の監視のお悩みを解決SCOMと管理パックでDBや仮想環境の監視のお悩みを解決
SCOMと管理パックで DBや仮想環境の監視のお悩みを解決
 
Aprendendo Angular com a CLI
Aprendendo Angular com a CLIAprendendo Angular com a CLI
Aprendendo Angular com a CLI
 
Arquitetura MVC
Arquitetura MVCArquitetura MVC
Arquitetura MVC
 
Aula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de ProjetoAula 03 - UML e Padrões de Projeto
Aula 03 - UML e Padrões de Projeto
 
AWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On GuideAWS Application Migration Service-Hands-On Guide
AWS Application Migration Service-Hands-On Guide
 
Programacao para Web I Plano de Ensinodoc
Programacao para Web I Plano de EnsinodocProgramacao para Web I Plano de Ensinodoc
Programacao para Web I Plano de Ensinodoc
 
Padrões de Projeto - Observer e Strategy
Padrões de Projeto - Observer e StrategyPadrões de Projeto - Observer e Strategy
Padrões de Projeto - Observer e Strategy
 
Amazed by AWS Series #4
Amazed by AWS Series #4Amazed by AWS Series #4
Amazed by AWS Series #4
 
AWS CloudFormation Masterclass
AWS CloudFormation MasterclassAWS CloudFormation Masterclass
AWS CloudFormation Masterclass
 
POO - 13 - Arrays em Java
POO - 13 - Arrays em JavaPOO - 13 - Arrays em Java
POO - 13 - Arrays em Java
 
Aula 1. apresentação + frameworks
Aula 1. apresentação + frameworksAula 1. apresentação + frameworks
Aula 1. apresentação + frameworks
 
Cours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateurCours design pattern m youssfi partie 3 decorateur
Cours design pattern m youssfi partie 3 decorateur
 
AWS reInvent 2018 recap edition
AWS reInvent 2018 recap editionAWS reInvent 2018 recap edition
AWS reInvent 2018 recap edition
 
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
Monitor All Your Things: Amazon CloudWatch in Action with BBC (DEV302) - AWS ...
 
Algoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e MatrizesAlgoritmo 06 - Array e Matrizes
Algoritmo 06 - Array e Matrizes
 
Product catalog using MongoDB
Product catalog using MongoDBProduct catalog using MongoDB
Product catalog using MongoDB
 
Applications Android - cours 11 : Boites de dialogue
Applications Android - cours 11 : Boites de dialogueApplications Android - cours 11 : Boites de dialogue
Applications Android - cours 11 : Boites de dialogue
 
Cp command in Linux
Cp command in LinuxCp command in Linux
Cp command in Linux
 

Similaire à 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
 
Informática para Internet - Aula 03
Informática para Internet - Aula 03Informática para Internet - Aula 03
Informática para Internet - Aula 03Anderson Andrade
 

Similaire à 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
 
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
 
Escalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLIDEscalando apps com React e Type Script e SOLID
Escalando apps com React e Type Script e SOLID
 

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