Framework: diferenças entre revisões
Conteúdo apagado Conteúdo adicionado
m adicionou Categoria:Engenharia de software usando HotCat |
cd |
||
Linha 1:
{{mais fontes|data=Dezembro de 2008}}
Um '''''framework''''' em [[desenvolvimento de software]], é uma [[abstração]] que une [[código]]s 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 [[biblioteca (computação)|bibliotecas]], é o ''framework'' quem dita o fluxo de controle da aplicação, chamado de [[Inversão de Controle]].<ref name="ufcg" >{{citar web|url=http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/frame/oque.htm|titulo=O que é um framework?|obra=dsc.ufcg.edu.br|lingua=inglês|acessodata=30/11/2015}}</ref>
== Conceito ==
Um ''
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 ser utilizado em várias aplicações.
Linha 9 ⟶ 11:
{{quote|''Framework'' é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.|Fayad e Schmidt<ref name="ufcg" />}}
''Frameworks'' possuem vantagens, tais como: maior facilidade para a detecção de erros, por serem peças mais concisas de [[software]]; concentração na abstração de soluções do problema que estamos tratando; eficiência na resolução dos problemas e otimização de recursos.
=== Partes ===▼
''Frozenspots'' são as partes fixas de um ''framework'', também conhecidos como ''hook points''. São serviços já implementados pelo framework. Normalmente realizam chamadas indiretas aos ''hotspots''.▼
''Hotspots'' são as partes flexíveis de um ''framework''. São pontos extensíveis, necessitam de complementação por funcionalidades/serviços que devem ser implementados. ''Hotspots'' são partes nas quais os programadores que usam o ''framework'' adicionam o seu código para especificar uma funcionalidade de sua aplicação. São invocados pelo ''framework'', ou seja, [[classe (programação)|classes]] (implementadas pelo programador da aplicação) recebem mensagens de uma classe do ''framework'' (''frozenspot''). Isso geralmente é implementado através de [[herança (programação)|herança]] e de [[método (programação)|métodos]] [[abstração (programação)|abstratos]]
== Tipos ==
''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. Tentam resolver problemas de um domínio e são usados em vários softwares do mesmo domínio. Exemplos: ''framework'' financeiro, recursos humanos.
Após alguns projetos em um domínio específico, serão percebidos pontos semelhantes entre estes projetos; E é com base nesses pontos que será construído o framework vertical (especialista).
''Frameworks'' horizontais não dependem do domínio da aplicação e podem ser usados em diferentes domínios. Exemplos: Interfaces gráficas, persistência, transação.
=== Orientação a objetos ===
{{Técnico|seção}}
Especificamente em [[orientação a objetos]], ''framework'' é um conjunto de [[classe (programação)|classes]] com objetivo de reutilização de [[arquitetura de software]], provendo um guia para uma solução em um domínio específico de ''software''.
Muitos engenheiros acreditam que a arquitetura é determinada pelos requisitos e por isso esperam que a fase de [[engenharia de requisitos]] esteja finalizada para então iniciar sua. 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.
== Administração de empresas ==
▲== Partes ==
▲''Frozenspots'' são as partes fixas de um ''framework'', também conhecidos como ''hook points''. São serviços já implementados pelo framework. Normalmente realizam chamadas indiretas aos ''hotspots''.
▲''Hotspots'' são as partes flexíveis de um ''framework''. São pontos extensíveis, necessitam de complementação por funcionalidades/serviços que devem ser implementados. ''Hotspots'' são partes nas quais os programadores que usam o ''framework'' adicionam o seu código para especificar uma funcionalidade de sua aplicação. São invocados pelo ''framework'', ou seja, [[classe (programação)|classes]] (implementadas pelo programador da aplicação) recebem mensagens de uma classe do ''framework'' (''frozenspot''). Isso geralmente é implementado através de [[herança (programação)|herança]] e de [[método (programação)|métodos]] [[abstração (programação)|abstratos]];
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 para cada objeto de negócio.
Linha 35 ⟶ 40:
Exemplos de frameworks para gestão: [[ISO 9000]], [[ISO 14000]], [[OHSAS 18000]], [[ITIL]], [[COBIT]], [[CMM]], [[HACCP]], [[SCRUM]].
== Ver também ==▼
{{referências}}▼
▲== Ver também ==
* [[Django (framework web)|Django]]▼
* [[jQuery]]▼
* [[.NET]]
* [[Framework para aplicações web]]
▲* [[jQuery]]
▲{{referências}}
{{título em itálico}}
{{Portal3|Tecnologias de informação}}
[[Categoria:Terminologia informática]]
[[Categoria:Framework| ]]
[[Categoria:Programação orientada a objetos]]▼
[[Categoria:Engenharia de software]]
▲[[Categoria:Programação orientada a objetos]]
|