Upload
norton-coelho-guimaraes
View
253
Download
0
Embed Size (px)
Citation preview
Criando FrameworksConceitos, Estratégias e Dicas
Norton Guimarães@nortoncg
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
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)
Existe alguma coisa assim?
Como posso começar?
Entender a diferença entre Biblioteca de classe e Framework
Entender o Princípio de Hollywood
Diferenciar Hot spot de Frozen spot
Frozen-spot
Mas... Por que devo criar um framework?
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)
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)
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)
Desenhe a arquitetura do framework
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.
Defina a linguagem de programação
Suporte Orientação a Objetos.E a melhor linguagem?Eu prefiro: C# ou Java.
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.
Defina as licenças de uso
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.
Disponibilize para uso
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.
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.
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.
AGRADECIDO!!!Prof. Me. Norton Guimarães - www.ifgoiano.edu.brSCJA|MTA
e-mail: [email protected]: @nortoncgSocial: facebook.com/nortoncgSkype: nortoncgSlide: pt.slideshare.net/nortoncg1/