Framework

Origem: Wikipédia, a enciclopédia livre.

Este artigo ou seção precisa ser wikificado (desde Julho de 2008).
Por favor ajude a formatar este artigo de acordo com as diretrizes estabelecidas no livro de estilo.
Esta página precisa ser reciclada de acordo com o livro de estilo (desde Outubro de 2008)
Sinta-se livre para editá-la para que esta possa atingir um nível de qualidade superior.
Este artigo ou secção não cita as suas fontes ou referências (desde Outubro de 2008)
Ajude a melhorar este artigo providenciando fontes fiáveis e independentes, inserindo-as no corpo do texto ou em notas de rodapé. Encontre fontes: Googlenews, books, scholar, Scirus

Em desenvolvimento de software, um framework ou arcabouço é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Um framework pode atingir uma funcionalidade específica, por configuração, durante a programação de uma aplicação. Ao contrário das bibliotecas, é o framework quem dita o fluxo de controle da aplicação, chamado de Inversão de Controle.

Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.
 
FAYAD e SCHMIDT


Índice

[editar] Framework de software X Framework conceitual

Framework conceitual é um conjunto de conceitos usado para resolver um problema de um domínio específico. Framework conceitual não se trata de um software executável, mas sim de um modelo de dados para um domínio.[carece de fontes?]

Framework de software compreende de um conjunto de classes, implementadas em uma linguagem específica, usadas para auxiliar o desenvolvimento de software.

O framework atua onde há funcionalidades em comum a várias aplicações, porém para isso as aplicações devem ter algo razoavelmente grande em comum para que o mesmo possa atingir a várias aplicações.

[editar] Diferenças entre Framework e Design Pattern

  • Design Pattern são mais abstratos que framework
  • Um framework inclui código, diferentemente de um design pattern
  • Um framework pode conter vários design patterns, mas o contrário nunca ocorrerá
  • Frameworks sempre terão um domínio de aplicação particular, enquanto design patterns não ditam uma arquitetura de aplicação particular

[editar] Vantagens de utilização de Frameworks

  • Existe uma maior facilidade para a detecção de erros, visto que frameworks são peças mais concisas de software.
  • Podemos nos concentrar mais com a abstração de soluções do problema que estamos tratando.
  • Torna mais eficiente a resolução dos problemas.
  • Como todos os itens acima ocasionam uma maior produtividade, podemos garantir que também teremos um maior lucro, pois teremos uma antecipação da entrega, e uma maior satisfação dos clientes.
  • Otimização de recursos

[editar] Tipos de Framework[carece de fontes?]

[editar] Framework Vertical

  • Tenta resolver problemas de um domínio;
  • Usado em vários software do mesmo domínio;
  • Exemplos: Framework financeiro, recursos humanos.

Frameworks verticais são confeccionados através da experiência obtida em um determinado contexto específico. Esses são mais comumente chamados de Frameworks especialistas.

Após alguns projetos em um domínio específico serão percebidos pontos semelhantes entre estes projetos. E são nestes pontos que será construido o Framework vertical(especialista).

[editar] Framework Horizontal

  • Não depende do domínio da aplicação;
  • Pode ser usado em diferentes domínios;
  • Exemplos: Interfaces gráficas, persistência, transação.

[editar] Orientação a Objeto

Especificamente em orientação a objeto, framework é um conjunto de classes com objetivo de reutilização de um design, provendo um guia para uma solução de arquitetura em um domínio específico de software.[carece de fontes?]

Framework se diferencia de uma simples biblioteca (toolkit), pois esta se concentra apenas em oferecer implementação de funcionalidades, sem definir a reutilização de uma solução de arquitetura (design).

Muitos engenheiros acreditam que a arquitetura é determinada pelos requisitos e por isso esperam que a fase de engenharia dos requisitos esteja finalizada para então iniciar a definição da arquitetura. Porém, apenas uma fração dos requisitos específicos do sistema têm influência na arquitetura.

A identificação dos requisitos que são significantes para a arquitetura pode ser respondida através de um framework conceitual desenvolvido especialmente para um domínio específico, uma vez que esta resposta é muito dependente do domínio.

Avançar para a fase de projeto ou mesmo iniciar a implementação do sistema não quer dizer que a definição da arquitetura esteja finalizada. Isto significa que o detalhamento obtido até então já é suficiente para prosseguir com o projeto de uma parte do sistema.

[editar] Parte de um Framework (Hotspots e frozenspots)

[editar] Frozenspots

  • Partes fixas de um framework;
  • Também conhecidos como hook points;
  • Serviços já implementados pelo framework;
  • Normalmente realizam chamadas indiretas aos hotspots.

[editar] Hotspots

  • Partes flexíveis de um framework;
  • Pontos extensíveis, necessitam de complementação;
  • Funcionalidades/serviços que devem ser implementado;
  • Partes nos quais os programadores que usam o framework adicionam o seu código para especificar uma funcionalidade de sua aplicação;
  • Hotspots são invocados pelo framework, ou seja, classes (implementadas pelo programador da aplicação) recebem mensagens de uma classe do framework (frozenspot).Isso geralmente é implementado através de herança e de métodos abstratos;

[editar] Framework em administração de empresas

Em administração, um framework é uma estrutura conceitual básica que permite o manuseio homogêneo de diferentes objetos de negócio. Serve para incrementar a disciplina de gestão e predefinir entregáveis comuns de e para cada objeto de negócio. Pode ser visto também como uma tática bem definida para manipular com destreza ambientes organizacionais complexos. Um framework dever prover sugestões de solução para uma família de problemas semelhantes. Exemplos de frameworks para gestão : ISO 9.000, ISO 14.000, OHSAS 18.000, ITIL, COBIT, CMM, HACCP

[editar] Ligações externas

[editar] Ver também

[editar] Referências

  • FAYAD, Mohamed; Schmidt, Douglas. Object-Oriented Application Frameworks. Communications of the ACM, New York, v. 40, n. 10, p. 32-38, Oct. 1997.
Ferramentas pessoais
Criar um livro