1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M

Tamanho: px
Começar a partir da página:

Download "1/26/2009. Metamodelo MMA. Metamodelo MMB. Modelo A2. Modelo A. Modelo B. Transformação M2M"

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 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 mais

CELINE 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 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 mais

Linguagens de Domínio Específico

Linguagens 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 mais

Carlos S. Rodrigues Leonardo Lino Vieira Eric Felipe Barboza Antonio Vasconcellos

Carlos 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 mais

INE 5612 Professor: Frank Siqueira. Leonardo Silva Jean Ercilio Thiago

INE 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 mais

Técnicas para Reutilização de Software

Té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 mais

Análise e Projeto de Sistemas (Cont.) Profª Rafaella Matos

Aná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 mais

Agenda do Curso. Reuso de Software. Agenda da Aula. Tipos de Reuso. Vantagens de Reuso. Reuso de Software. Eduardo Figueiredo

Agenda 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 mais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda 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 mais

ClassGenerator - Desenvolvendo aplicações em PHP com qualidade e eficiência.

ClassGenerator - 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 mais

Polimorfismo. O que é polimorfismo?

Polimorfismo. 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 mais

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

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 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 mais

O CMS JOOMLA! UM GUIA PARA INICIANTES

O 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 mais

ALUNO: RONI FABIO BANASZEWSKI

ALUNO: 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 mais

Banco de Dados. Aula 2 - Prof. Bruno Moreno 19/08/2011

Banco 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 mais

Té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 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 mais

3 Tecnologias Relacionadas

3 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 mais

9 Conclusão e trabalhos futuros

9 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 mais

GERAÇÃO DE ARQUIVOS DE SCRIPT EM PHP. Acadêmico: Leonardo Sommariva Orientador: Alexander Roberto Valdameri

GERAÇÃ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 mais

Model Driven Development (MDD)

Model 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 mais

Linguagens de Domínio Específico

Linguagens 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 mais

Sérgio Koch Van-Dall

Sé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 mais

UNIVERSIDADE 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 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 mais

Model-Driven Architecture

Model-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 mais

Evento: XXV SEMINÁRIO DE INICIAÇÃO CIENTÍFICA

Evento: 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 mais

Web Presentation Patterns - Controllers

Web 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 mais

PROGRAMAÇÃ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. 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 mais

Protó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 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 mais

WebMedia 2009 Minicurso 3 Parte 3: Modelagem Parte 3 MODELAGEM 1

WebMedia 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 mais

Introdução. Parte 01. Desenvolvimento de Programação Orientada a Objetos. Prof. Pedro Neto

Introduçã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 mais

Sergio Roberto de Mello Canovas Carlos Eduardo Cugnasca WTA 2015

Sergio 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 mais

Nesta disciplina aprenderemos. HTML CSS JavaScript Jquery PHP

Nesta 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 mais

Opções de persistência

Opçõ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 mais

Um Tradutor de Esquemas Relacionais em XML para Esquemas SQL

Um 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 mais

5 Conclusão e trabalhos futuros

5 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 mais

Banco de Dados. SGBD - Sistema de Gerenciamento de Banco de Dados Parte 2. Prof. Leonardo Vasconcelos

Banco 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 mais

Sistemas de Banco de Dados

Sistemas 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 mais

Introdução à Análise e Projeto de Sistemas

Introduçã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 mais

Korth Silberschatz Sundarshan. Sistema de Banco de Dados, 5/E

Korth 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 mais

Módulo III Camada de Persistência

Mó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 mais

6.1. Teste Baseado em Gramática e Outras Abordagens de Teste

6.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 mais

7 Conclusão e Trabalhos Futuros

7 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 mais

AVISO 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:

AVISO 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 mais

1/23/2009. Quais as forças que atuam sobre a asa de uma nova aeronave sendo projetada? Onde fica a rua do porto?

1/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 mais

Comentários: Desenvolvimento de Sistemas Rogério Araújo

Comentá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 mais

Grupo: Diogo Furtado Phellipe Perin Stephan Hebeda

Grupo: 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 mais

Arquitetura de Software visão emergente

Arquitetura 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 mais

JADEX: 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. 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 mais

Prof. Me. Sérgio Carlos Portari Júnior

Prof. 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 mais

Programação com Objectos 2º Teste Tipo 1º Semestre (120 minutos)

Programaçã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 mais

A diferença entre um site que implementa CSS e outro que não o usa é gigantesca e notável.

A 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 mais

Universidade 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 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 mais

15/04/2013. Pensar Orientado a Objetos. Projeto Orientado a Objetos. Características de Objetos. Classe de Objetos. Comunicação entre Objetos

15/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 mais

Leonardo Zorzo Carbone. Orientador: Adilson Vahldick

Leonardo 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 mais

Introdução a Programação Web com PHP

Introduçã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 mais

SEMINÁRIOS INTEGRADOS EM SISTEMAS DE INFORMAÇÃO. Luiz Leão

SEMINÁ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 mais

Orientaçã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) 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 mais

BCD29008 Banco de dados

BCD29008 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 mais

Capítulo 5. Nomes, Vinculações e Escopos

Capí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 mais

Maquetes Tridimensionais Interativas

Maquetes 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 mais

CURSO 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 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 mais

Especificação do Trabalho Prático

Especificaçã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 mais

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADA À GESTÃO PÚBLICA

SISTEMA 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 mais

SOFTWARE DE APOIO A GESTÃO DE SOLICITAÇÃO DE MUDANÇAS

SOFTWARE 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 mais

LINGUAGEM, TIPOS DE USUÁRIOS DE SGBD E MODELOS DE DADOS

LINGUAGEM, 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 mais

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

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 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 mais

Capítulo 1. Aspectos Preliminares

Capí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 mais

7.1 Trabalhos Relacionados

7.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 mais

6 Conclusão. 6.1 Trabalhos relacionados

6 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 mais

Ferramenta 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 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 mais

7 Conclusão e Trabalhos Futuros

7 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 mais

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

A 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 mais

3.1 Reflexão Computacional

3.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 mais

Linguagens de Programação Classificação

Linguagens 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 mais

Popularidade das Linguagens

Popularidade 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 mais

1/26/2009. Como é feito Análise de um problema/processo/sistema Desenvolvimento de uma solução Software + não-software. Testes/validação.

1/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 mais

Engenharia de Aplicações Sistemas Interactivos 2009/10! JAVASERVER FACES 1.2. Mestrado em Informática Universidade do Minho! 31!

Engenharia 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 mais

Fundamentos de Programação 1

Fundamentos 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 mais

Programação I Apresentação

Programaçã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 mais

AULA 02. OBJETIVO: Características da Linguagem Orientada a Objetos.

AULA 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 mais

Requisitos de Software

Requisitos 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 mais

Compiladores. Motivação. Tradutores. Motivação. Tipos de Tradutores. Tipos de Tradutores

Compiladores. 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 mais

Data Warehouse ETL. Rodrigo Leite Durães.

Data 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 mais

Aula 10 Modularização Cleverton Hentz

Aula 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 mais

Injeção de Dependências e Spring

Injeçã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 mais

PLANO DE UNIDADE DIDÁTICA- PUD

PLANO 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 mais

BCD29008 Banco de dados

BCD29008 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 mais

Atribuições: Valores, Ponteiros e Referências

Atribuiçõ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 mais

Projeto de Sistemas para Internet

Projeto 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 mais

Drools 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 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 mais

Introdução à Programação para Dispositivos Móveis

Introduçã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 mais

DESENVOLVIMENTO 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 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 mais

Técnico em Informática. Web JavaScript. Profª Ana Paula Mandelli

Té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 mais

3 Uma Abordagem Orientada a Aspectos para o Desenvolvimento de Frameworks

3 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 mais

2 Versão 1: Funcionalidade Básica e Interface Web

2 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 mais

LEIC-T LERC MEIC-T 2011/2012 1º Semestre Programação com Objetos 2012/01/07 11h00m 3/10

LEIC-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 mais

INF1013 MODELAGEM DE SOFTWARE

INF1013 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 mais

Trabalho de LP 15/07/2013. Prof. Flávio Miguel Varejão

Trabalho 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