criando framework - conceitos, estratégias e dicas

23
Criando Frameworks Conceitos, Estratégias e Dicas Norton Guimarães @nortoncg

Upload: norton-coelho-guimaraes

Post on 16-Apr-2017

255 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Criando Framework - Conceitos, Estratégias e Dicas

Criando FrameworksConceitos, Estratégias e Dicas

Norton Guimarães@nortoncg

Page 2: Criando Framework - Conceitos, Estratégias e Dicas

Apresentação

Prof. Me. Norton Guimarães - www.ifgoiano.edu.brSCJA|MTA

MTAC – www.facebook.com/MTACBrazilOverride IT community – www.override.net.brGoJava – www.gojava.org

Page 3: Criando Framework - Conceitos, Estratégias e Dicas

Mas... O que é um framework?

É um sistema incompleto; Pode ser adaptado; Reduz o esforço no

desenvolvimento; Projeto de software

reutilizável; Conjunto de classes

cooperantes;

Quanto a orientação: Orientada a objetos; Componentes.

Quanto ao aspecto: frozen spots; hot spots.

(Fayad)

Page 4: Criando Framework - Conceitos, Estratégias e Dicas

Existe alguma coisa assim?

Page 5: Criando Framework - Conceitos, Estratégias e Dicas

Como posso começar?

Page 6: Criando Framework - Conceitos, Estratégias e Dicas

Entender a diferença entre Biblioteca de classe e Framework

Page 7: Criando Framework - Conceitos, Estratégias e Dicas

Entender o Princípio de Hollywood

Page 8: Criando Framework - Conceitos, Estratégias e Dicas

Diferenciar Hot spot de Frozen spot

Frozen-spot

Page 9: Criando Framework - Conceitos, Estratégias e Dicas

Mas... Por que devo criar um framework?

Page 10: Criando Framework - Conceitos, Estratégias e Dicas

Minha recente experiência

Sabença

Sabença - Um arcabouço computacional para aprendizagem semi-automatizada de ontologias a partir de textos (Dissertação de Mestrado - INF/UFG)

Page 11: Criando Framework - Conceitos, Estratégias e Dicas

Minha proposta de criação de um framework? 1 – Defina o domínio da aplicação; 2 – Escolha a arquitetura do framework; 3 – Projete suas classes; 4 – Defina a linguagem de programação 5 – Verifique se existem outros frameworks que auxiliem em pequenas

tarefas (Reuso); 6 – Defina as licenças de uso (Recomendação) 7 – Registre seu software (Recomendação) 8 – Disponibilize para uso (Recomendação)

Page 12: Criando Framework - Conceitos, Estratégias e Dicas

Mas... como assim definir o domínio?

O termo domínio, no contexto da engenharia de software, é utilizado para denotar ou agrupar um conjunto de sistemas ou de áreas funcionais, dentro dos sistemas, que exibem funcionalidades similares.

A engenharia de domínio, abrange as seguintes áreas: Definição do âmbito (definição do domínio) Análise do domínio Desenvolvimento da arquitetura do domínio Construção dos componentes

(LARMAN)

Page 13: Criando Framework - Conceitos, Estratégias e Dicas

Desenhe a arquitetura do framework

Page 14: Criando Framework - Conceitos, Estratégias e Dicas

Projete suas classes

Basicamente, o Projeto Orientado a Objetos. Definição das Classes Abstratas Definição das Interfaces Definição dos Padrões de Projeto Definir as associações entre as classes.

Page 15: Criando Framework - Conceitos, Estratégias e Dicas

Defina a linguagem de programação

Suporte Orientação a Objetos.E a melhor linguagem?Eu prefiro: C# ou Java.

Page 16: Criando Framework - Conceitos, Estratégias e Dicas

Verifique se existem outros frameworks que auxiliem em pequenas tarefas Existem diversos frameworks

prontos. Não devemos reinventar a roda Efetivamos o Reuso de Software Uma boa pesquisa ajuda. Reduz tempo de desenvolvimento.

Page 17: Criando Framework - Conceitos, Estratégias e Dicas

Defina as licenças de uso

Page 18: Criando Framework - Conceitos, Estratégias e Dicas

O seu software está protegido?

A legislação brasileira equipara os programas de computadores às obras literárias.

Natureza jurídica de um direito autoral. O registro no INPI possui reconhecimento internacional. Garante a exploração exclusiva por 50 anos.

Page 19: Criando Framework - Conceitos, Estratégias e Dicas

Disponibilize para uso

Page 20: Criando Framework - Conceitos, Estratégias e Dicas

Considerações finais

Desenvolver um Framework é um trabalho árduo. Requer conhecimentos avançados de programação, arquitetura de

software e padrões de projetos. Definição adequada do domínio. Reutilizar outros softwares causa dependência da aplicação. Procure utilizar injeção de dependência. Boas práticas de programação. Paciência e determinação é fundamental para o sucesso. Registre seus softwares, mostre para o mundo que você existe.

Page 21: Criando Framework - Conceitos, Estratégias e Dicas

Referências

AREVALO, G. B. Object oriented architectural description of frameworks, 2000. Tese (Doutorado em Ciência e Tecnologia da Informação e de Matemática) – École des Mines de Nantes, Nantes, França. Disponível em: <http://www.emn.fr/zinfo/emoose/alumni/>. Acesso em: 18 out. 2014.

AZEVEDO, Ricardo. O seu software está protegido? Disponível em: http://imasters.com.br/infra/seguranca/o-seu-software-esta-protegido/. Acesso em: 01 de dez. 2015.

BEZERRA, E. Princípios de Análise e Projeto de Sistemas com UML 2. Elsevier Brasil, Rio de Janeiro, RJ, Brasil, 2 edition, 2008.

FAYAD, M. E.; SCHMIDT, D. C.; JOHNSON, R. E. Implementing Application Frameworks: Object-oriented Frameworks at Work. John Wiley & Sons, Inc., New York, NY, USA, 1999.

Page 22: Criando Framework - Conceitos, Estratégias e Dicas

GAMMA, E.; JOHNSON, R.; HELM, R.; VLISSIDES, J. Padrões de Projetos: Soluções Reutilizáveis. Bookman, Porto Alegre, RS, Brasil, 2006.

GUIMARÃES, Norton C.. SABENÇA – um arcabouço computacional baseado na aprendizagem de ontologias a partir de textos, 2015. Dissertação (Mestrado em Ciência da Computação) – Instituto de Informática, Universidade Federal de Goiás, Goiânia. Disponível em: <https://repositorio.bc.ufg.br/tede/handle/tede/4712>. Acesso em: 01 dez. 2015.

LARMAN, C. Utilizando UML e Padrões: uma introdução à análise e ao projeto orientados a objetos e ao Processo Unificado. Bookman, Porto Alegre, RS, Brasil, 2 edition, 2004.

Page 23: Criando Framework - Conceitos, Estratégias e Dicas

AGRADECIDO!!!Prof. Me. Norton Guimarães - www.ifgoiano.edu.brSCJA|MTA

e-mail: [email protected]: @nortoncgSocial: facebook.com/nortoncgSkype: nortoncgSlide: pt.slideshare.net/nortoncg1/