1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M
|
|
- Vinícius Camilo Borja
- 5 Há anos
- Visualizações:
Transcrição
1 Abstrações do mundo real Sistema e seu ambiente Com um propósito específico Simulação, geração de código No MDD Quem lê e entende o modelo é o computador Uma vez que o computador entenda o modelo... O que fazer? MMA MMB 2 Modelo B Transformação M2M 1
2 Modelo OO Modelo E-R Mapeamento Objeto-Relacional Modelo de classes Modelo específico de plataforma Modelo EJB MMA Java, SQL, XML, HTML... Texto Transformação M2T Modelo E-R Scripts de definição de dados (CREATE TABLE...) Modelo de classes Estrutura das classes (esqueletos) Atributos, heranças, protótipos dos métodos 2
3 Tipos de transformações M2M Fusão (merging) Modificação Transformação Correlação (weaving) Marcações externas Modelo X (A+B) Modelo B Fácil de implementar s são os mesmos Útil para modularizar os modelos no desenvolvimento Um modelo é estendido durante a geração O modelo permanece seguindo o mesmo metamodelo Relativamente pouca dificuldade de implementação Complicado para mudanças mais complexas 3
4 Modelo B O modelo original permanece inalterado Separação é clara: modelos diferentes, metamodelos diferentes Os domínios podem evoluir independentemente Modelo B Modelo de correlação W Os modelos originais permanecem inalterados É necessário especificar as regras de correlação Pouco suportado pelas ferramentas atuais Exemplo: Classes e Tabelas Informações adicionais (ex: qual atributo é chave) Modelo B Informações específicas da plataforma/metamodelo destino Mas que iriam poluir o modelo de origem Informação auxiliar aos transformadores Aspectos externos 4
5 Procedural Um programa realiza as transformações Declarativa As transformações são especificadas em uma DSL Um mecanismo interpreta e executa as transformações Programação (Java, C++, C# ) Procedural Utilizando API de metamodelagem (EMF, MetaGME) XSLT Declarativa Para modelos baseados em XML Limitado pois não há um metamodelo explícitio Opera em nível de XML Eclipse ATL Declarativa, textual, prática QVT Declarativa, padrão OMG, implementações ainda estão surgindo Eclipse xtend (oaw) Declarativa, concisa, prática, suporte de IDE Código Modelo B Dificuldades: Ler arquivo de origem Escrever arquivo de destino Manter consistência e formato do arquivo gerado Lidar com as referências internas 5
6 MMA API Metamodelagem MMB Código Modelo B Vantagens: Leitura / escrita fica por conta da API / Framework Formato de saída é consistente Referências são garantidas É possível realizar transformações na memória Demonstração Utilizando Eclipse / xtext MMA MMT MMB Transformação Modelo B Vantagens (mesmas DSL): Alto nível de abstração Próximo aos metamodelos / problema Permite análises, otimizações, etc... 6
7 Demonstração Utilizando Eclipse / xtend Exemplo: Modelo OO para Modelo E-R 7
8 public class GeradorDeCodigo { System.out.println( ); System.out.println( ); for(int i=1;i<=5;i++) { System.out.println( System.out.println(\ Código gerado +i+ \ ); ); System.out.println( ); System.out.println( ); System.out.println( Código gerado 1 ); System.out.println( Código gerado 2 ); System.out.println( Código gerado 3 ); System.out.println( Código gerado 4 ); System.out.println( Código gerado 5 ); Código gerado 1 Código gerado 2 Código gerado 3 Código gerado 4 Código gerado 5 8
9 Demonstração GME public class GeradorDeCodigo { System.out.println( ); System.out.println( ); System.out.println( System.out.println(\ Código gerado\ ); ); System.out.println( ); System.out.println( ); System.out.println( Código gerado! ); Difícil modificar o código dentro das aspas Código gerado! public class GeradorDeCodigo { System.out.println( ); System.out.println( ); System.out.println( System.out.println(\ Código gerado\ ); ); System.out.println( ); System.out.println( ); System.out.println( Código gerado! ); O código final só pode ser visto após a geração Código gerado! 9
10 public class GeradorDeCodigo { System.out.println( ); System.out.println( ); System.out.println( System.out.println(\ Código gerado\ ); ); System.out.println( ); System.out.println( Consulta ao ); metamodelo deve ser feita manualmente System.out.println( Código gerado! ); Código gerado! Templates Estilo JSP, ASP, PHP, etc... Inversão: Ao invés de colocar System.out.println( no começo de cada linha, criar um arquivo separado, só com o texto a ser gerado e inserir System.out.println( automaticamente System.out.println( Código gerado! ); public class GeradorDeCodigo { System.out.println( ); System.out.println( ); System.out.println( System.out.println(\ Código gerado\ ); ); System.out.println( ); System.out.println( ); System.out.println( Código gerado! ); Código gerado! 10
11 <% for(int i=1;i<=5;i++) { %> System.out.println( Código gerado <%=i%> ); <% %> public class GeradorDeCodigo { System.out.println( ); System.out.println( ); for(int i=1;i<=5;i++) { System.out.println( System.out.println(\ Código gerado +i+ \ ); ); System.out.println( ); System.out.println( ); System.out.println( Código gerado 1 ); System.out.println( Código gerado 2 ); System.out.println( Código gerado 3 ); System.out.println( Código gerado 4 ); System.out.println( Código gerado 5 ); Independente do formato de saída Pode-se fazer de tudo! Desde que seja possível em uma linguagem de programação Flexibilidade Maior legibilidade do código gerado Facilidade de manutenção Diversas possibilidades Modularização Um template para cada metaclasse Um template para cada arquivo de saída Agrupar templates Dividir um template em vários 11
12 Templates GME Tags / macros Vantagens Código mais limpo Focado no problema Desvantagem Dependência das funções existentes Abordagem Visitante Template A Template B Template C 12
13 Abordagem metamodelo Template A Template B Template C? Modelo B1 Modelo Bn - Nível de abstração + Detalhes sobre plataforma + Complexidade Templates Código A Código B Código C? Modelo B1 Modelo Bn Templates Código A Código B Código C 13
14 ? Modelo B1 Modelo Bn Templates Código A Código B Código C? Modelo B1 Modelo Bn Templates Código A Código B Código C? Modelo B1 Modelo Bn Templates Código A Código B Código C 14
15 Transformações M2M Apenas para modularizar/facilitar a geração de código! Customizações/informações adicionais Arquivos/modelos externos Modificar código gerado Evitar! Planejar a integração com código manual Mais sobre isso nos próximos capítulos! Sugestões: Além dos templates, quais outras abordagens existem? Quais as desvantagens dos templates? É possível utilizar mais de um metamodelo em um template? Alguém mais está com fome além de mim? Quando eu vou começar a entender isso tudo? O teste de Poincaré identifica esferas no espaço quadridimensional? As liberdades política e econômica estão intimamente ligadas? Por que a pobreza aumentou e a expectativa de vida diminuiu na África subsaariana? 15
Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas. Prof. Valdemar Neto INF-UFG
Desenvolvimento Dirigido por Modelos: Conceitos, Aplicações, e Perspectivas Prof. Valdemar Neto INF-UFG Agenda Introdução Conceitos Ferramentas Aplicações Perspectivas Engenharia de Software Convencional
Leia maisCELINE LIP: UM FRAMEWORK QUE UTILIZA O MODELO IMS LIP EM APLICAÇÕES WEB JEE. Marcelo Gonzaga. Orientador: Prof. Adilson Vahldick
CELINE LIP: UM FRAMEWORK QUE UTILIZA O MODELO IMS LIP EM APLICAÇÕES WEB JEE. Marcelo Gonzaga Orientador: Prof. Adilson Vahldick Roteiro da Apresentação Introdução Fundamentação teórica Desenvolvimento
Leia maisLinguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Por que DSLs? Melhorar a produtividade dos programadores input =~ /\d{3}-\d{3}-\d{4}/ Facilitar a escrita e
Leia maisCarlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos
Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos Introdução Necessidade de diminuir a complexidade na interação código-banco de dados para o programador,além de diminuir
Leia maisINE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago
INE 5612 Professor: Frank Siqueira Alunos: Gustavo de Geus Leonardo Silva Jean Ercilio Thiago DESENVOLVEDORES JAVA EM TODO MUNDO LIDER GAVIN KING JBOSS MANTEVE O SUPORTE História Hibernate foi criado por
Leia maisTécnicas para Reutilização de Software
DCC / ICEx / UFMG Técnicas para Reutilização de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de
Leia maisAnálise e Projeto de Sistemas (Cont.) Profª Rafaella Matos
Análise e Projeto de Sistemas (Cont.) Profª Rafaella Matos Modelando classes A dinâmica de troca de mensagens do diagrama de sequência forçará a existência de um relacionamento prévio entre as classes
Leia maisAgenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo
Engenharia de Software Aula 21 Agenda do Curso Reuso de Software Aula 23 Data 28/05 Assunto Desenv. Orientado a Aspectos 24 30/05 Laboratório 25 04/06 Apresentações do TP (1) Eduardo Figueiredo 26 06/06
Leia maisAgenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software
Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso
Leia maisClassGenerator - Desenvolvendo aplicações em PHP com qualidade e eficiência.
ClassGenerator - Desenvolvendo aplicações em PHP com qualidade e eficiência. Marcelio Leal 1 Porto Alegre, Abril, 2006 Apresentação Engenheiro de software do SEPRO Graduado em C. da Computação Mestrando
Leia maisPolimorfismo. O que é polimorfismo?
O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus
Leia maisM V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O
M V C, J S O N E X M L P R O F. M E. H É L I O E S P E R I D I Ã O A P L I C A Ç Õ E S M O N O L Í T I C A S Na época dos computares independentes um aplicativo era desenvolvido para ser usado em uma única
Leia maisO CMS JOOMLA! UM GUIA PARA INICIANTES
O CMS JOOMLA! UM GUIA PARA INICIANTES 25/04/2016 Daniel Picon dpicon@sc.usp.br 1 INTRODUÇÃO REDE DE COMPUTADORES E INTERNET O que acontece quando tentamos acessar um site da internet? Computadores se comunicam
Leia maisALUNO: RONI FABIO BANASZEWSKI
Model-View-Controller ALUNO: RONI FABIO BANASZEWSKI Objetivo Separar dados ou lógica de negócios (Model) da interface do usuário (View) e do fluxo da aplicação (Control) A idéia é permitir que uma mesma
Leia maisBanco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011
Banco de Dados Aula 2 - Prof. Bruno Moreno 19/08/2011 Aula passada.. Apresentação do professor e disciplina Definição de Banco de Dados Sistema de BD vs Tradicional Principais características de BD Natureza
Leia maisTécnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira
Técnicas para Reutilização de Software Prof. Eduardo Figueiredo Estagiário: Johnatan Oliveira Panorama de Reutilização Frameworks Padrões de projeto Aplicações configuráveis Padrões de arquitetura Linha
Leia mais3 Tecnologias Relacionadas
Tecnologias Relacionadas 31 3 Tecnologias Relacionadas O objetivo deste capítulo é apresentar um resumo de cada tecnologia relacionada ao processo proposto nesta dissertação, mostrando suas principais
Leia mais9 Conclusão e trabalhos futuros
255 9 Conclusão e trabalhos futuros O aumento da complexidade das aplicações de software de hoje em dia e o advento de tecnologias inovadoras e recentes fazem com que os sistemas de software incorporem
Leia maisGERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri
FERRAMENTA VISUAL PARA GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri ROTEIRO Introdução Objetivos Motivação Fundamentação Teórica Desenvolvimento
Leia maisModel Driven Development (MDD)
Model Driven Development (MDD) Mestrado em Engenharia de Produção e Sistemas Computacionais Profa. Adriana Pereira de Medeiros adrianamedeiros@puro.uff.br Sumário Introdução Desenvolvimento de Software
Leia maisLinguagens de Domínio Específico
Linguagens de Domínio Específico Fabio Mascarenhas 2017.1 http://www.dcc.ufrj.br/~fabiom/dsl Definindo DSLs Linguagem específica de domínio: uma linguagem de programação de computadores de expressividade
Leia maisSérgio Koch Van-Dall
PROTÓTIPO PARA ATUALIZAÇÃO ASSÍNCRONA DE DADOS UTILIZANDO WEB SERVICES Sérgio Koch Van-Dall sergiod@inf.furb.br Orientador: Prof. Paulo Fernando da Silva UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIAS
Leia maisUNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES
UNIVERSIDADE FEDERAL DO PIAUÍ DEPARTAMENTO DE COMPUTÇÃO DISCIPLINA: ENGENHARIA DE SOFTWARE II PROFESSOR: ARMANDO SOARES TUTORIA DE USO DO HIBERNATE NA IDE ECLIPSE KEPLER DISCENTE: JOANA DARC CARVALHO DE
Leia maisModel-Driven Architecture
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Model-Driven Architecture Guilherme Potenciano Ricardo Cacheta Waldemarin SSC5944 - Arquitetura de Software (...) it might be
Leia maisEvento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA
INTEGRAÇÃO DE APLICAÇÕES APLICADA À EXTRAÇÃO E QUALIFICAÇÃO AUTOMÁTICA DE PUBLICAÇÕES DE PESQUISADORES: UM CASO BASEADO NO CURRÍCULO LATTES 1 APPLICATION INTEGRATION APPLIED TO AUTOMATIC EXTRACTION AND
Leia maisWeb Presentation Patterns - Controllers
Instituto Superior Técnico 29 de Novembro de 2004 1 2 3 Page Controller Front Controller 4 5 Porquê Usar Web Applications Não necessita instalar software no cliente. Acesso universal fácil. Interface comum
Leia maisPROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES. Prof. Angelo Augusto Frozza, M.Sc.
PROGRAMAÇÃO ORIENTADA A OBJETOS I -CONCEITOS PRELIMINARES Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO O que é programação Linguagens de Programação Paradigmas de Programação História
Leia maisProtótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator
Protótipo de uma ferramenta de apoio para desenvolvimento de sistemas web para WebIntegrator Ederson Evaristo Jantsch Orientador: Marcel Hugo 09/07/2002 Roteiro Introdução Aplicação multicamadas Tecnologias
Leia maisWebMedia 2009 Minicurso 3 Parte 3: Modelagem Parte 3 MODELAGEM 1
Parte 3 MODELAGEM 1 Antes, uma pergunta Onde fica a rua do porto? Siga reto nessa rua mesmo, depois vire à direita no semáforo. Passe um posto de gasolina, é a terceira rua! www.oliverdominguez.com 2 Outra
Leia maisIntrodução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto
Introdução Parte 01 Prof. Pedro Neto Aracaju Sergipe - 2011 Conteúdo 1. Introdução i. Paradigmas de ii. Motivação da OO iii. Desafio das novas tecnologias iv. Ambientes de Desenvolvimento Modernos v. OO
Leia maisSergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015
Sergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015 1 Introdução Motivação; MDE; Programas Adaptativos. SBMM; Metamodelo para Programas Adaptativos; Ferramenta CASE para Programas Adaptativos;
Leia maisNesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP
Introdução Nesta disciplina aprenderemos HTML CSS JavaScript Jquery PHP HTML é a abreviatura de HyperText Mark-up Language. O HTML foi inventado em 1990, por um cientista chamado Tim Berners-Lee. A finalidade
Leia maisOpções de persistência
Opções de Persistência Tratamos aqui apenas dos aspectos arquiteturais da persistência Não tratamos do mapeamento de projetos OO para esquemas de BD relacionais Três grandes pontos devem ser tratados com
Leia maisUm Tradutor de Esquemas Relacionais em XML para Esquemas SQL
UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA SISTEMAS DE INFORMAÇÃO Resumo do Trabalho de Conclusão de Curso Entitulado Um Tradutor de Esquemas Relacionais
Leia mais5 Conclusão e trabalhos futuros
5 Conclusão e trabalhos futuros Neste capítulo fazemos uma retrospectiva do trabalho realizado, uma avaliação da proposta de solução de integração de dados ou conhecimentos mostrada na dissertação e também
Leia maisBanco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos
Banco de Dados Parte 2 Prof. Leonardo Vasconcelos - Conceitos e Arquiteturas de SBD Modelos de dados: conjunto de conceitos que podem ser usados para descrever a estrutura de um banco de dados. Permitem
Leia maisSistemas de Banco de Dados
Sistemas de Banco de Dados Fundamentos em Bancos de Dados Relacionais Wladmir Cardoso Brandão www.wladmirbrandao.com Departamento de Ciência da Computação (DCC) Instituto de Ciências Exatas e Informática
Leia maisIntrodução à Análise e Projeto de Sistemas
Introdução à I. O Que vamos fazer na Disciplina? Saber uma linguagem de programação orientada a objeto (OO) não é suficiente para criar sistemas OO Tem que saber Análise e Projeto OO (APOO) Isto é, Análise
Leia maisKorth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E
Sistema de Banco de Dados, 5/E Capítulo 1: Introdução Finalidade dos sistemas de banco de dados Visão dos dados Linguagens de banco de dados Bancos de dados relacionais Projeto de banco de dados Bancos
Leia maisMódulo III Camada de Persistência
Módulo III Camada de Persistência Prof. Ismael H F Santos April 05 Prof. Ismael H. F. Santos - ismael@tecgraf.puc-rio.br 1 Ementa Modulo III Camada de Persistência Persistência de Objetos Mecanismo de
Leia mais6.1. Teste Baseado em Gramática e Outras Abordagens de Teste
6 Discussão Além das técnicas de teste usando modelos gramaticais, existem outras abordagens de teste funcional de sistemas que estão sendo estudadas pela comunidade científica. Algumas delas se dedicam
Leia mais7 Conclusão e Trabalhos Futuros
7 Conclusão e Trabalhos Futuros Como um novo e poderoso paradigma para o design e a implementação de sistemas de software (Lind, 2001;Wooldridge et al., 2001), o SMA requer metodologias, linguagens de
Leia maisAVISO Nº 02 - RETIFICAÇÃO. A Companhia de Processamento de Dados do Estado do Rio Grande do Sul PROCERGS, torna público, por este Aviso, o que segue:
1 GOVERNO DO ESTADO DO RIO GRANDE DO SUL COMPANHIA DE PROCESSAMENTO DE DADOS DO ESTADO DO RIO GRANDE DO SUL - PROCERGS CONCURSOS PÚBLICOS EDITAL DE ABERTURA Nº 01/2018 AVISO Nº 02 - RETIFICAÇÃO A Companhia
Leia mais1/23/2009. Quais as forças que atuam sobre a asa de uma nova aeronave sendo projetada? Onde fica a rua do porto?
Onde fica a rua do porto? Siga reto nessa rua mesmo, depois vire à direita no semáforo. Passe um posto de gasolina, é a terceira rua! www.oliverdominguez.com Quais as forças que atuam sobre a asa de uma
Leia maisComentários: Desenvolvimento de Sistemas Rogério Araújo
Comentários: Desenvolvimento de Sistemas Rogério Araújo rgildoaraujo@gmail.com 1 Técnico de informática no Ministério Público Federal Professor da Equipe Itnerante Desenvolvimento de Sistemas Certificações
Leia maisGrupo: Diogo Furtado Phellipe Perin Stephan Hebeda
Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda INTRODUÇÃO Scala é uma linguagem de programação de propósito geral projetado para expressar padrões de programação comuns de uma forma concisa. Foi desenvolvido
Leia maisArquitetura de Software visão emergente
Arquitetura de Software visão emergente Objetivos Visão abstrata do software através de componentes e interfaces Independência de plataforma Independência de paradigma de programação Técnicas Estilos Arquiteturais
Leia maisJADEX: A BDI REASONING ENGINE. Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp.
JADEX: A BDI REASONING ENGINE Alexander Pokahr, Lars Braubach e Winfried Lamersdorf Springer US - Multi-Agent Programming 2005 pp. 149-174 Volume 15 Motivação Existem muitas plataformas para desenvolvimento
Leia maisProf. Me. Sérgio Carlos Portari Júnior
Prof. Me. Sérgio Carlos Portari Júnior Ambientes que visam desenvolver aplicações que precisam de um processamento paralelo e distribuído deverão saber lidar com algumas dificuldades. Isto decorre da heterogeneidade
Leia maisProgramação com Objectos 2º Teste Tipo 1º Semestre (120 minutos)
1/8 Programação com Objectos 2º Teste Tipo 1º Semestre (120 minutos) Nome: Primeira Parte (7 valores) PERGUNTA NOTA 1.1.1 1.1.2 1.1.3 1.2 1.3 1.4 Segunda Parte (3 valores) PERGUNTA RESPOSTA 2.1 2.2 2.3
Leia maisA diferença entre um site que implementa CSS e outro que não o usa é gigantesca e notável.
Aula 02 - Introdução ao css ( folhas de estilo ) CSS é a sigla para o termo em inglês Cascading Style Sheets que, traduzido para o português, significa Folha de Estilo em Cascatas. O CSS é fácil de aprender
Leia maisUniversidade de São Paulo Escola de Artes, Ciências e Humanidades Disciplina: Laboratório de Banco de Dados Profa. Fátima Nunes
Universidade de São Paulo Escola de Artes, Ciências e Humanidades Disciplina: Laboratório de Banco de Dados Profa. Fátima Nunes Trabalho de Laboratório de Banco de Dados Este trabalho deve ser desenvolvido
Leia mais15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos
DCC / ICEx / UFMG Pensar Orientado a Objetos Projeto Orientado a Objetos Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Onde quer que você olhe no mundo real, você vê objetos Pessoas, animais, plantas,
Leia maisLeonardo Zorzo Carbone. Orientador: Adilson Vahldick
WebCode Componente web para edição de código fonte Leonardo Zorzo Carbone Orientador: Adilson Vahldick Roteiro da Apresentação Introdução Fundamentação Teórica Desenvolvimento Conclusão Extensões Introdução
Leia maisIntrodução a Programação Web com PHP
AULA: Introdução a Programação Web com PHP Programação para Internet http://docentes.ifrn.edu.br/albalopes alba.lopes@ifrn.edu.br Breve histórico A primeira versão surgiu em meados de 1995, escrita por
Leia maisSEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão
SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO Luiz Leão luizleao@gmail.com http://www.luizleao.com Conteúdo Programático 4.1. Aplicações utilizando Programação Estruturada e Programação Orientada a Objeto.
Leia maisOrientação a Objetos Parte I. Introdução a POO (Programação Orientada a Objetos)
Orientação a Objetos Parte I Introdução a POO (Programação Orientada a Objetos) Histórico Gerações de Linguagens de Programação Primeira Geração: Linguagem de máquina Segunda Geração: Linguagem de montagem
Leia maisBCD29008 Banco de dados
BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 21 de fevereiro de 2018 1/24 Apresentação
Leia maisCapítulo 5. Nomes, Vinculações e Escopos
Capítulo 5 Nomes, Vinculações e Escopos Tópicos do Capítulo 5 Introdução Nomes Variáveis O conceito de vinculação Escopo Escopo e tempo de vida Ambientes de referenciamento Constantes nomeadas Introdução
Leia maisMaquetes Tridimensionais Interativas
XVIII ENIC - Encontro Nacional de Iniciação Científica da UFPB Maquetes Tridimensionais Interativas Eduardo L. Falcão e Liliane S. Machado Sumário 1. Objetivos Gerais 2. Objetivos Específicos 3. Campus
Leia maisCURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS
CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS Planificação Anual de Programação e Sistemas de Informação 11º ano Ano Lectivo 2013/2014 Turma: 11º H Professor: João Barbosa
Leia maisEspecificação do Trabalho Prático
Especificação do Trabalho Prático O trabalho prático da disciplina consiste em desenvolver o mesmo sistema computacional para solução do problema descrito abaixo nas duas linguagens de programação apresentadas
Leia maisSISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA
SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA Julio Cesar do Carmo Junior 1, Osvaldo Cesar Pinheiro de Almeida 2 1 Informática para Gestão, Faculdade de Tecnologia, Botucatu, SP, Brasil. E-mail:
Leia maisSOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS
Universidade Regional de Blumenau Centro de Ciências Exatas e Naturais Trabalho de Conclusão de Curso Ciências da Computação SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS AS Acadêmico: Fabricio
Leia maisLINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS
Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS Disciplina: Banco de Dados Prof: Márcio Palheta,
Leia maisGERADOR DE CÓDIGO HTML BASEADO EM DICIONÁRIO DE DADOS UTILIZANDO BANCO DE DADOS. Acadêmico :Luis Fernando Coelho Orientador: Jomi Fred Hübner
GERADOR DE CÓDIGO HTML BASEADO EM DICIONÁRIO DE DADOS UTILIZANDO BANCO DE DADOS Acadêmico :Luis Fernando Coelho Orientador: Jomi Fred Hübner Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento
Leia maisCapítulo 1. Aspectos Preliminares
Capítulo 1 Aspectos Preliminares Tópicos do Capítulo 1 Razões para estudar conceitos de linguagens de programação Domínios de programação Critérios de avaliação de linguagens Influências no projeto de
Leia mais7.1 Trabalhos Relacionados
7 Conclusões O desenvolvimento de aplicações adaptáveis traz novos desafios em relação ao desenvolvimento de software convencional. Em parte, isso está relacionado às diferentes características das diversas
Leia mais6 Conclusão. 6.1 Trabalhos relacionados
Conclusão 112 6 Conclusão 6.1 Trabalhos relacionados A primeira versão do método SHDM apresentada por Lima (2003) empregava um modelo orientado a objetos como a base estrutural do modelo conceitual de
Leia maisFerramenta para auxílio na análise de impacto e rastreabilidade de requisitos na gestão de mudanças
Ferramenta para auxílio na análise de impacto e rastreabilidade de requisitos na gestão de mudanças Aluno: José Alberto Zimermann Orientador: Marcel Hugo Banca: Everaldo Artur Grahl Joyce Martins Roteiro
Leia mais7 Conclusão e Trabalhos Futuros
Conclusão e Trabalhos Futuros 123 7 Conclusão e Trabalhos Futuros Esta dissertação apresenta a linguagem X-SMIL para autoria declarativa de documentos hipermídia. Nessa direção, o primeiro passo do trabalho
Leia maisA composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)
Desenvolvimento de Sistemas Web A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos) Prof. Mauro Lopes 1-31 24 Objetivos Dando continuidade aos estudos sobre JSP,
Leia mais3.1 Reflexão Computacional
3 Adaptação Dinâmica Adaptação dinâmica é a capacidade de um sistema ser modificado durante sua execução para se adequar a novas necessidades. Recentemente, esse tem se tornado um tópico de pesquisa proeminente
Leia maisLinguagens de Programação Classificação
Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda
Leia maisPopularidade das Linguagens
Popularidade das Linguagens Utilização em projetos de desenvolvimento de software fonte: TIOBE index http://www.tiobe.com 300 million lines of software Code, world-wide, real-time, each day Dados de Fevereiro/2016
Leia mais1/26/2009. Como é feito Análise de um problema/processo/sistema Desenvolvimento de uma solução Software + não-software. Testes/validação.
Como é feito Análise de um problema/processo/sistema Desenvolvimento de uma solução Software + não-software Testes/validação Problema Solução 1 Problema Solução Implementação Arquitetos (algumas vezes)
Leia maisEngenharia de Aplicações Sistemas Interactivos 2009/10! JAVASERVER FACES 1.2. Mestrado em Informática Universidade do Minho! 31!
JAVASERVER FACES 1.2 Mestrado em Informática Universidade do Minho! 31! Java Server Faces (JSF) JSP uma tecnologia" JSF uma framework MVC(-like)" - JSP para a apresentação (ou não)" utilização da JSF tag
Leia maisFundamentos de Programação 1
Fundamentos de Programação 1 Slides N. 2 E / Prof. SIMÃO Slides elaborados pelo Prof. Robson Linhares elaborados pelo Prof. Robson Linhares http://www.dainf.ct.utfpr.edu.br/~robson/ Jean Marcelo SIMÃO
Leia maisProgramação I Apresentação
Programação I Apresentação Prof. Carlos Alberto carlos.batista@facape.br carlos36_batista@yahoo.com.br Referências JUNIOR, D. P.; NAKAMITI, G. S.; ENGELBRECHT, A. de M. E.; BIANCHI, F. Algoritmos e Programação
Leia maisAULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.
AULA 02 OBJETIVO: Características da Linguagem Orientada a Objetos. HABILIDADES TRABALHADAS: Comparação das características das linguagens orientadas a objetos frente às linguagens estruturadas. Conhecimentos
Leia maisRequisitos de Software
Engenharia de requisitos Requisitos de Software Estabelece os serviços que o cliente requer de um sistema e as restrições sob as quais tal sistema operará e será desenvolvido. Tais serviços e restrições
Leia maisCompiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores
Motivação Prof. Sérgio Faustino Compiladores Conhecimento das estruturas e algoritmos usados na implementação de linguagens: noções importantes sobre uso de memória, eficiência, etc. Aplicabilidade freqüente
Leia maisData Warehouse ETL. Rodrigo Leite Durães.
Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações,
Leia maisAula 10 Modularização Cleverton Hentz
Aula 10 Modularização Cleverton Hentz Sumário de Aula Introdução Funções Exemplos 2 Introdução Na resolução de problemas maiores e mais complicados a forma atual de criação dos algoritmos não é tão boa:
Leia maisInjeção de Dependências e Spring
Injeção de Dependências e Spring Daniel Cukier Prof. Fabio Kon IME-USP Conteúdo Exemplo Melhor maneira de aprender Injeção de Dependência (DI) Spring Service Locator Daniel Cukier - IME/USP 2/29 Exemplo
Leia maisPLANO DE UNIDADE DIDÁTICA- PUD
Professor: Marcus Vinícius Midena Ramos Coordenação: Ricardo Argenton Ramos Data: 03/08/2010 Página: 1 de 5 EMENTA: Conceitos básicos de linguagens. Histórico, classificação e principais aplicações de
Leia maisBCD29008 Banco de dados
BCD29008 Banco de dados Prof. Emerson Ribeiro de Mello Instituto Federal de Santa Catarina IFSC campus São José mello@ifsc.edu.br http://docente.ifsc.edu.br/mello/bcd 31 de julho de 2017 1/24 Apresentação
Leia maisAtribuições: Valores, Ponteiros e Referências
Atribuições: Valores, Ponteiros e Referências Estruturas de Dados Prof. Vilson Heck Junior Sobre Variáveis Aprendemos, em introdução à programação, que possuem 3 partes mais importantes: Nome; Tipo de
Leia maisProjeto de Sistemas para Internet
Slide 02 03/08/2018 Projeto de Sistemas para Internet Prof. Cleziel Franzoni da Costa 1 /cleziel cleziel@hotmail.com 42 Agenda O.NET Framework e o CLR O que posso fazer com o.net Framework? Plataforma
Leia maisDrools Desacoplando as regras de negócio do código da aplicação. Raphael Duarte Paiva
Drools Desacoplando as regras de negócio do código da aplicação Raphael Duarte Paiva Agenda Motivação Alguns Problemas Acoplamento Dificuldade de acesso O Motor de Regras Como Funciona? Alguns Conceitos
Leia maisIntrodução à Programação para Dispositivos Móveis
Introdução à Programação para Dispositivos Móveis Aula 03 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... Aplicações
Leia maisDESENVOLVIMENTO DE UMA SOLUÇÃO DE INTEGRAÇÃO DE APLICAÇÕES PARA AUTOMATIZAR RESERVAS DE VIAGEM 1
DESENVOLVIMENTO DE UMA SOLUÇÃO DE INTEGRAÇÃO DE APLICAÇÕES PARA AUTOMATIZAR RESERVAS DE VIAGEM 1 Edinaldo Gaspar Da Silva 2, Fabricia Roos Frantz 3, Rafael Z. Frantz 4, Sandro Sawicki 5. 1 Projeto de pesquisa
Leia maisTécnico em Informática. Web JavaScript. Profª Ana Paula Mandelli
Técnico em Informática Web JavaScript Profª Ana Paula Mandelli anapaula_mandelli@hotmail.com Para o JavaScript - NetBeans O NetBeans é um ambiente de desenvolvimento integrado (IDE) Java desenvolvido pela
Leia mais3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks
48 3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks Este capítulo apresenta uma visão geral da contribuição principal deste trabalho: uma abordagem orientada a aspectos para o
Leia mais2 Versão 1: Funcionalidade Básica e Interface Web
Técnicas de Projeto e Implementação de Sistemas II Descrição do Projeto da Disciplina 1 Introdução O projeto da disciplina consiste na implementação de um sistema de busca de tarifas de passagens aéreas.
Leia maisLEIC-T LERC MEIC-T 2011/2012 1º Semestre Programação com Objetos 2012/01/07 11h00m 3/10
2/10 1.1. (1.5 val.) Os mecanismos de herança entre classes e de composição de objetos são, por vezes, apresentados como alternativos, face à disponibilização de funcionalidade a uma classe. Compare-os,
Leia maisINF1013 MODELAGEM DE SOFTWARE
INF1013 MODELAGEM DE SOFTWARE Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 1 O Paradigma Orientado a Objetos A Linguagem UML Descrição da Arquitetura 1 Programa
Leia maisTrabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão
15/07/2013 Trabalho de LP Prof. Flávio Miguel Varejão OBSERVAÇÃO IMPORTANTE: LEIA ATENTAMENTE TODA A ESPECIFICAÇÃO DO TRABALHO E INSTRUÇÕES DE SUBMISSÃO DE MODO A NÃO COMETER ENGANOS POR DESATENÇÃO E SER
Leia mais