Delphi2Java-II: ferramenta para conversão de formulários Delphi em código Java

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

Download "Delphi2Java-II: ferramenta para conversão de formulários Delphi em código Java"

Transcrição

1 Delphi2Java-II: ferramenta para conversão de formulários Delphi em código Java Mauro Marcelo Mattos, Joyce Martins, Israel Damásio Medeiros, Janira Silveira Departamento de Sistemas e Computação Universidade Regional de Blumenal (FURB) Blumenau, SC Brasil Caixa Postal Porto Alegre RS Brazil {mattos,joyce,messiah}@inf.furb.br, janira.silveira@gmail.com Resumo. Este artigo apresenta uma solução desenvolvida em forma de ferramenta, para realizar a conversão de formulários elaborados no ambiente de programação Delphi para aplicações na linguagem Java. A ferramenta Delphi2Java-II é capaz de converter componentes de visualização, de visualização de dados e de acesso ao banco de dados. A aplicação convertida segue o padrão Model-View-Controller. 1. Introdução O processo de desenvolvimento de aplicações via de regra está inserido em um ciclo evolutivo e requer constantes modificações, seja para corrigir erros, melhorar desempenho ou adicionar novas funcionalidades. No entanto, segundo DMSNet (2004), para muitas empresas produtoras de software e sistemas corporativos, a grande limitação de seus produtos não se encontra na evolução das regras de negócio do mesmo, mas sim, na plataforma de desenvolvimento e no banco de dados para os quais o produto foi originalmente projetado. Tal limitação afeta seu posicionamento estratégico e mercadológico, pois inviabiliza a comercialização para clientes com outras plataformas ou sistemas operacionais. Mas existem tantos sistemas, que a completa substituição ou a reestruturação radical é financeiramente impensável para a maioria das organizações (SOMMERVILLE, 2003, p. 533). Para solucionar esse problema, foram desenvolvidas várias ferramentas visando apoiar a migração de aplicações para plataformas distintas (FONSECA, 2005; DMSNET, 2004). Atualmente o mercado está polarizado entre duas principais plataformas de desenvolvimento: Java 2 Enterprise Edition (J2EE) e Microsoft.NET. Segundo Gartner (2003 apud CESAR, 2003), juntas, essas tecnologias terão 80% ou mais do mercado de desenvolvimento de aplicações de e-business até Ainda, uma recente pesquisa, que mede o percentual de adoção de tecnologias nas empresas de software, indica que Java cresceu de 72,2% em 2003 para 77,4% hoje. Ou seja, 77,4% das empresas de software usam Java. A pesquisa ainda mostra que 6,3% esperam usar Java até o próximo ano (PAMPLONA, 2006). Considerando esta demanda pela adoção da tecnologia Java, muitas empresas estão reestruturando seu processo de desenvolvimento ou até mesmo migrando os sistemas desenvolvidos. Para realizar a migração de aplicações Delphi para Java, por exemplo, além da necessidade de conversão da interface gráfica, deve-se também converter o código fonte para que seus componentes visuais mantenham a funcionalidade original, incluindo conexão com banco de dados.

2 Dentre as ferramentas que podem auxiliar no processo de migração de aplicações Delphi para a plataforma Java, cita-se Delphi2Java (ROBINSON, 2004). Trata-se de uma ferramenta comercial que se propõe a converter interfaces gráficas, conexões com banco de dados e código fonte de aplicações Delphi. No entanto, Delphi2Java teve seu desenvolvimento e comercialização descontinuados. Com o mesmo objetivo, em 2005 iniciou-se o desenvolvimento da ferramenta Delphi2Java-II (FONSECA, 2005). A partir da análise de formulários Delphi contendo os componentes de interface, são geradas classes Java. Em 2006 a ferramenta foi estendida incluindo a conversão de componentes de visualização de dados, componentes de acesso e conexão ao banco de dados (SILVEIRA, 2006). Assim, neste artigo é apresentada a ferramenta Delphi2Java-II, estando o texto organizado da seguinte forma: a seção 2 trata de migração de código e geradores de código, descrevendo aplicações e etapas de desenvolvimento; a seção 3 apresenta as principais funcionalidades da ferramenta, bem como as técnicas utilizadas na implementação. Por fim, na última seção são apresentados os resultados obtidos e as limitações da ferramenta proposta. 2. Migração de código Uma das dificuldades enfrentadas pelas empresas de tecnologia é a manutenção e a migração de sistemas para as novas plataformas de desenvolvimento. Para reduzir custos na evolução de sistemas, usa-se a reengenharia de software através da tradução dos mesmos, quando um código fonte em uma linguagem de programação é traduzido para um código fonte em uma outra linguagem. A tradução do código fonte só é economicamente viável se um tradutor automatizado estiver disponível para fazer a maior parte da tradução (SOMMERVILLE, 2003). Assim, como recurso para a migração de software, encontram-se os geradores de código. A geração de código é uma técnica de construção de código que utiliza determinadas ferramentas para gerar programas. Estas ferramentas podem variar de scripts de ajuda muito pequenos a aplicações que transformam modelos abstratos de lógica de negócio em sistemas completos, incluindo os geradores de interface com o usuário e os de acesso ao banco de dados. Não há nenhum estilo específico para as ferramentas de geração de código (DALGARNO, 2006): podem trabalhar na linha de comando ou possuir uma Graphical User Interface (GUI); podem gerar código para uma ou mais linguagens; podem gerar código uma vez ou múltiplas vezes; podem ter um número ilimitado de entradas e saídas. Para a construção de um gerador de código, segundo Herrington (2003), podem ser seguidas as seguintes etapas de desenvolvimento: (1º) determinar qual deve ser a saída do gerador, identificando quais informações devem ser recuperadas da entrada; (2º) definir qual será a entrada e como a mesma será analisada; (3º) analisar a entrada, extraindo as informações necessárias para gerar a saída; (4º) gerar a saída a partir das informações extraídas da entrada. 3. A ferramenta Delphi2Java-II Neste contexto, Delphi2Java-II foi desenvolvida como um gerador de interface e de código para acesso ao banco de dados. Em termos de funcionalidades, a ferramenta implementa:

3 a) a conversão de formulários Delphi (arquivos com extensão DFM) para classes Java; b) a conversão de 22 componentes de visualização (TButton, TChebckBox, TComboBox, TCoolBar, TEdit, TForm, TLabel, TListBox, TMainMenu, TMemo, TMenuItem, TPageControl, TPanel, TProgressBar, TRadioButton, TRadioGroup, TScrollBar, TSpinEdit, TStatusBar, TStringGrid, TTabSheet, TToolBar); c) a conversão de 7 componentes de visualização de dados (TDBCheckBox, TDBComboBox, TDBEdit, TDBGrid, TDBMemo, TDBRadioGroup, TDBText); d) a conversão de 4 componentes de acesso ao banco de dados (TTable, TQuery, TDatabase, TDataSource), implementando suas principais funcionalidades; e) a interligação dos componentes de acesso ao banco de dados com os componentes de visualização de dados, implementada em Delphi através do componente TDataSource; f) a geração de uma classe contendo a assinatura dos métodos para os principais eventos (oncreate, ondestroy, onclick, onchange, onenter, onexit, oncloseup, onkeypress) habilitados na aplicação Delphi, permitindo que o código seja futuramente inserido. O diagrama de caso de uso representa a interação do usuário com a ferramenta, destacando as ações que podem ser realizadas. A Figura 1 mostra o diagrama de caso de uso da ferramenta e no Quadro 1 é apresentado o detalhamento deste caso de uso. Figura 1 Diagrama de caso de uso UC01 UC01 - Converter código Pré-condição: O(s) arquivo(s).dfm não pode(m) estar corrompido(s). Cenário principal: 1. A ferramenta apresenta as opções para carregar o(s) arquivo(s) e o diretório para salvar os arquivos gerados. 2. O usuário seleciona o(s) arquivo(s) que deseja carregar e o diretório onde deseja salvar os arquivos gerados. 3. A ferramenta apresenta a relação de arquivos carregados. 4. O usuário seleciona o(s) arquivo(s) que deseja converter. 5. A ferramenta apresenta as opções para gerar código para arquivo(s) selecionado(s) e para gerar código para todos os arquivos carregados. 6. O usuário seleciona a opção desejada. 7. A ferramenta faz a conversão do código. Pós-condição: Dois ou mais arquivos com a extensão.java gerados para cada arquivo selecionado Especificando a saída Quadro 1 Detalhamento do caso de uso. Como saída da ferramenta são geradas classes Java, usando componentes da biblioteca

4 Swing similares aos componentes Delphi de visualização e de visualização de dados, e fazendo a conexão com o banco de dados através da API JDBC. Para padronizar e dividir em camadas a saída gerada, é utilizado o padrão Model-View-Controller (MVC). Assim, deve-se criar um projeto e dispor as classes geradas em pacotes (Quadro 2). CLASSE DESCRIÇÃO PACOTE Classe com os componentes de xxxxxxfrm.java visualização e visualização de dados view (layout da interface), sendo xxxxxx o nome do arquivo DFM convertido. Classe de eventos de interface, sendo xxxxxxevent.java xxxxxx o nome do arquivo DFM controller convertido. Classe de conexão com o banco de ConnectionManager.Java model dados. Classe que representa os campos das tabelas acessadas, incluindo os BeanTByyyyyy.java métodos de inclusão, alteração e model/bean exclusão, sendo yyyyyy o nome da tabela. É gerada uma classe Bean para cada tabela acessada. Classe que contém as consultas a serem executadas, sendo yyyyyy o nome CursorTByyyyyy.java do componente de acesso ao banco de model/cursor dados. É gerada uma classe desse tipo para cada componente de acesso ao banco de dados. Quadro 2. Estrutura das classes geradas pela ferramenta Delphi2Java-II Tendo em vista que a versão atual do Delphi2Java-II foi desenvolvida para acesso ao banco de dados Oracle8i, deverão ser adicionadas, nas propriedades do projeto, as bibliotecas da API JDBC (classes12.jar, classes12dms.jar, nls_charset12.jar) para acesso ao banco de dados Analisando formulários Delphi A entrada da ferramenta são formulários Delphi. Para cada formulário de uma aplicação desenvolvida em Delphi tem-se um arquivo com extensão DFM, contendo todas as informações dos componentes da interface. object Form1: TForm1 Left = 192 Top = 114 Width = 213 Height = 169 object Button1: TButton Left = 64 Top = 48 Width = 75 Height = 25 Caption = 'Abrir' TabOrder = 0 end end nome do objeto lista de propriedades Quadro 3. Exemplo de um arquivo DFM objeto componente Figura 2. Formulário Cada componente tem uma identificação, uma lista de propriedades com valores associados e outros possíveis objetos componentes (SASSE, 2005). O Quadro 3 mostra um arquivo DFM e a Figura 2 mostra o formulário correspondente. Como um arquivo DFM é organizado de uma maneira hierárquica, sua estrutura

5 pode ser descrita usando a notação Extended Backus-Naur-Form (EBNF), conforme o Quadro 4, onde os símbolos entre chaves podem ocorrer zero ou mais vezes e os símbolos entre colchetes são opcionais. Para analisar os arquivos DFM e extrair as informações necessárias para gerar a saída foram utilizados os analisadores léxico, sintático e semântico, módulos componentes de um compilador, implementados na solução proposta por Souza (2005). No modelo implementado, o analisador léxico identifica as palavras reservadas (OBJECT, END, FALSE, TRUE), os identificadores, as constantes (integer, real, string) e os símbolos especiais (:., < > [ ] ( )). O analisador sintático verifica se as unidades léxicas estão dispostas de acordo com estrutura gramatical definida no Quadro 4. E o analisador semântico extrai e armazena as informações do arquivo DFM necessárias para gerar a saída. <dfm>::= <object> <object>::= OBJECT identifier ":" identifier { <property> } { <object> } END <property>::= identifier ["." identifier] "=" <value> <value>::= ["+" "-"] (integer real) string FALSE TRUE identifier ["." identifier] "<" { <collectionitem> } ">" "[" [ <value> { "," <value> } ] "]" "(" <value> { <value> } ")" "{" <value> { <value> } "}" <collectionitem>::= identifier { <property> } END Fonte: adaptado de Souza (2005). Quadro 4. Gramática 3.3. Gerando classes Java Depois de extraídas as informações do formulário principal da aplicação, inicia o processo de conversão. Buscando simplicidade e flexibilidade na construção da ferramenta, optou-se pelo uso de templates, de forma a manter a formatação do código separada da lógica que determina o que deve ser construído. No Quadro 5 tem-se o código gerado pela ferramenta para o objeto Button1 do Quadro 3, usando o template do Quadro 6. Button1.setBackground(new java.awt.color(199,199,199)); Button1.setBounds(64, 48, 75, 25); Button1.setFont(new java.awt.font("ms Sans Serif", 0,12)); Button1.setForeground(new java.awt.color(0, 0, 0)); Button1.setText("Abrir"); Button1.setFocusable(false); Button1.setVisible(true); Quadro 5. Código gerado para o componente TButton Com a Velocity Template Language (VTL), linguagem do motor de templates Velocity (MOURA; CRUZ, 2002), foram definidos 10 templates que possuem, além do conteúdo estático, um código dinâmico composto por variáveis e comandos estruturados que são substituídos quando do seu processamento. Assim, para a implementação de Delphi2Java-II foi necessário: criar uma instância do VelocityEngine; criar um esquema de mapeamento entre os objetos Java que contêm as informações extraídas do arquivo DFM e os elementos dos conteúdos dinâmicos definidos nos

6 templates; carregar os templates; substituir adequadamente as referências definidas nos templates pelos valores dos objetos Java de acordo com o contexto; e, gerar o arquivo de saída. #foreach ($TButton in $arraybutton) código dinâmico ${TButton.getName()}.setBackground(new java.awt.color(${tbutton.setarbackground()})); ${TButton.getName()}.setBounds(${TButton.getLeft()}, ${TButton.getTop()}, ${TButton.getWidth()}, ${TButton.getHeight()}); ${TButton.getName()}.setFont(new java.awt.font(${tbutton.getfontjava()})); ${TButton.getName()}.setForeground(new java.awt.color(${tbutton.getforeground()})); ${TButton.getName()}.setText("${TButton.getCaption()}"); ${TButton.getName()}.setFocusable(${TButton.isFocusable()}); ${TButton.getName()}.setVisible(${TButton.getVisible()}); #if ($TButton.getEnabled()) #end #end ${TButton.getName()}.setEnabled(${TButton.getEnabled()}); Quadro 6. Template com definição do componente TButton 3.4. usando o Delphi2Java-II código estático A Figura 3 apresenta uma seqüência de telas que permitem a visualização do funcionamento da ferramenta. passo 01: selecionar arquivos para conversão passo 02: selecionar diretório para salvar arquivos gerados passo 03: selecionar opção de conversão Figura 3. Delphi2Java-II

7 O primeiro passo para realizar a conversão dos formulários é identificar a sua localização num diretório qualquer. Todos os arquivos com extensão DFM são listados para que o usuário faça a seleção daqueles que deseja converter. Em Arquivos.DFM é apresentada a relação de arquivos selecionados para a conversão. O próximo passo é identificar o diretório onde os arquivos gerados serão armazenados. Para realizar a conversão de formulários existem duas opções: gerar código Para arquivo(s) selecionado(s) e gerar código Para todos os arquivos carregados (em Arquivos.DFM). Os componentes que a ferramenta não reconhece e cuja conversão para Java ainda não foi contemplada, são listados em Componentes não convertidos. Delphi2Java-II foi implementada na linguagem Java, utilizando o ambiente de desenvolvimento Eclipse 3.0, a biblioteca gráfica Swing e o JDK na versão O motor de templates Velocity foi utilizado através da biblioteca velocity-dep- 1.3.jar Validando a ferramenta Para validar a ferramenta, foram desenvolvidos vários formulários utilizando o ambiente Delphi 7.0. Nos testes foi utilizado o banco de dados Oracle8i. Como exemplo de utilização de Delphi2Java-II, a Figura 4(a) mostra um arquivo DFM contendo vários componentes possíveis de serem convertidos e a Figura 4(b) mostra a interface correspondente em Java. Figura 4. Formulários Delphi e Swing com componentes de banco de dados. 4. Resultados e limitações O presente trabalho descreveu as principais características da versão atual da ferramenta Delphi2Java-II. Esta versão faz parte de um projeto iniciado em 2005 (FONSECA, 2005) e expandido para produzir interfaces web - projeto DelphiToWeb (SOUZA, 2005). As interfaces geradas pelas três ferramentas apresentam muita semelhança no que se refere à conversão dos componentes de visualização. No entanto, a 1a versão de Delphi2Java-II (FONSECA, 2005) e DelphiToWeb (SOUZA, 2005) não convertem formulários que contenham componentes de visualização de dados e componentes de acesso ao banco de dados.

8 Quanto aos eventos encontrados no arquivo DFM, as duas versões de Delphi2Java-II geram código para manipulá-los. A 1a versão de Delphi2Java-II disponibiliza uma classe de eventos contendo apenas as assinaturas dos métodos que estão habilitados na aplicação original em Delphi. A versão atual, além de gerar as assinaturas desses métodos, inclui outros para carregar valores para os componentes de visualização de dados. Cabe ressaltar que, devido ao fato de apenas a versão de Delphi2Java-II descrita nesse trabalho efetuar a geração de mais de dois arquivos de saída, é a única que padroniza e divide o código gerado em camadas, utilizando o padrão MVC. No que se refere às técnicas utilizadas no desenvolvimento das ferramentas, DelphiToWeb lê e recupera as informações dos formulários Delphi a partir de analisadores léxico, sintático e semântico. Essa solução, descrita em Souza (2005), foi reutilizada para implementar a ferramenta proposta nesse trabalho. Por fim, foram especificados templates, modelos que servem como guia para a geração de código de saída. No Quadro 7 é apresentada uma comparação entre as ferramentas levando em consideração suas principais características. CARACTERÍSTICAS Delphi2Java-II (FONSECA,2005) DelphiToWeb (SOUZA,2005) Delphi2Java-II (SILVEIRA,2006) conversão de componentes de visualização conversão de componentes de visualização de dados conversão de componentes de acesso ao banco de dados tratamento de eventos sim - sim geração de código de saída no padrão MVC - - sim uso de analisadores (léxico, sintático e semântico) para - sim sim leitura do arquivo DFM uso de templates para geração de código - - sim Quadro 7. Comparação entre ferramentas Atualmente, através de um projeto do PIBIC/CNPq, está sendo desenvolvida uma nova versão que envolve a conversão de código fonte object pascal dos tratadores de evento de componentes de interface já convertidos. Posteriormente pretende-se explorar o projeto para conversão do código fonte Pascal (incluindo código de acesso ao banco de dados). Como extensões da ferramenta estão sendo consideradas as seguintes possibilidades: efetuar a conversão de outros componentes de acesso ao banco de dados; e gerar código utilizando outros drivers JDBC ou em outras linguagens, como HTML ou JavaScript, bastando definir o template que servirá de modelo para o código a ser gerado. Agradecimentos Parte deste trabalho foi financiada com bolsas de iniciação científica do PIBIC/CNPq.

9 Referências CESAR, R. Java X.NET: disputa acirrada no mercado nacional. ComputerWorld, São Paulo, n. 387, jun Disponível em: < adcmsdocumentshow.aspx?documentid=75187>. Acesso em: 26 mar DALGARNO, M. Frequently asked questions about code generations. [S.l.], Disponível em: < Acesso em: 29 abr DMSNET. Migração / conversão de sistemas para Java (J2EE). [S.l.], Disponível em: < Acesso em: 15 mar FONSECA, F. Ferramenta conversora de interfaces gráficas: Delphi2Java-II f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. HERRINGTON, J. Code generation in action. California: Manning, MOURA, M.F.; CRUZ, S.A.B. Formatação de dados usando a ferramenta Velocity. Campinas, Disponível em: < Acesso em: 9 abr PAMPLONA, V. F. Continua aumentando o índice de adoção do Java nas empresas. [S.l.], Disponível em: < >. Acesso em: 02 fev ROBINSON, S. L. Delphi to Java conversions. [S.l.], [2004?]. Disponível em: < Acesso em: 31 maio SASSE, E. Convertendo arquivos DFM binários para texto. [S.l.], [2005?]. Disponível em: < Acesso em: 8 maio SOMMERVILLE, I. Engenharia de software. 6. ed. Tradução André Maurício de Andrade. São Paulo: Addison Wesley, SILVEIRA, J. Extensão da ferramenta Delphi2Java-II para suportar componentes de banco de dados f. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. SOUZA, A. Ferramenta para conversão de formulários Delphi em páginas HTML f. Trabalho de Conclusão de Curso (Bacharelado em Sistemas de Informação) Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau.

COBOL Query 1.0. Ferramenta para extração de dados em arquivos COBOL. Aluno: André Luiz Jacinto Orientador: Adilson Vahldick

COBOL Query 1.0. Ferramenta para extração de dados em arquivos COBOL. Aluno: André Luiz Jacinto Orientador: Adilson Vahldick COBOL Query 1.0 Ferramenta para extração de dados em arquivos COBOL Aluno: André Luiz Jacinto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

FERRAMENTA DE APOIO À AUTOMATIZAÇÃO DE TESTES ATRAVÉS DO TESTCOMPLETE PARA PROGRAMAS DESENVOLVIDOS EM DELPHI

FERRAMENTA DE APOIO À AUTOMATIZAÇÃO DE TESTES ATRAVÉS DO TESTCOMPLETE PARA PROGRAMAS DESENVOLVIDOS EM DELPHI UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO FERRAMENTA DE APOIO À AUTOMATIZAÇÃO DE TESTES ATRAVÉS DO TESTCOMPLETE PARA PROGRAMAS DESENVOLVIDOS

Leia mais

FERRAMENTA CONVERSORA DE INTERFACES GRÁFICAS DELPHI2JAVA-II

FERRAMENTA CONVERSORA DE INTERFACES GRÁFICAS DELPHI2JAVA-II UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO FERRAMENTA CONVERSORA DE INTERFACES GRÁFICAS DELPHI2JAVA-II FABRICIO FONSECA BLUMENAU

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

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE

PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO Nº 006/2016 CONTRATO DE GESTÃO IGAM Nº 002/IGAM/2012 09/2017 1 PLATAFORMA SIGA RIO DAS VELHAS MANUAL DO CÓDIGO FONTE ATO CONVOCATÓRIO

Leia mais

EXTENSÃO DA FERRAMENTA DELPHI2JAVA-II PARA SUPORTAR COMPONENTES DE BANCO DE DADOS

EXTENSÃO DA FERRAMENTA DELPHI2JAVA-II PARA SUPORTAR COMPONENTES DE BANCO DE DADOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO BACHARELADO EXTENSÃO DA FERRAMENTA DELPHI2JAVA-II PARA SUPORTAR COMPONENTES DE BANCO DE DADOS JANIRA

Leia mais

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang

Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES. Introdução. Geovane Griesang Universidade de Santa Cruz do Sul UNISC Departamento de informática COMPILADORES Introdução geovanegriesang@unisc.br Processadores de linguagem Linguagens de programação são notações para se descrever

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA ELÉTRICA

Leia mais

Introdução ao Desenvolvimento de

Introdução ao Desenvolvimento de Introdução ao Desenvolvimento de Aplicações Web com JSF e PrimeFaces Marcelo Vinícius Cysneiros Aragão ICC Inatel Competence Center marcelovca90@inatel.br Santa Rita do Sapucaí, 15 de março de 2016 Conteúdo

Leia mais

GERAÇÃO DE INTERFACES ANDROID A PARTIR DO DELPHI

GERAÇÃO DE INTERFACES ANDROID A PARTIR DO DELPHI UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE CIÊNCIA DA COMPUTAÇÃO GERAÇÃO DE INTERFACES ANDROID A PARTIR DO DELPHI DOUGLAS JÚLIO REZINI PROF. MARCEL HUGO, MESTRE Roteiro: Introdução e Objetivos Fundamentação

Leia mais

Algoritmos e Programação

Algoritmos e Programação ESTADO DE MATO GROSSO SECRETARIA DE ESTADO DE CIÊNCIA E TECNOLOGIA UNIVERSIDADE DO ESTADO DE MATO GROSSO CAMPUS UNIVERSITÁRIO DE SINOP FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS Algoritmos e Programação

Leia mais

Componentes gráficos para prototipagem e documentação rápid a em Delphi. Aluno: Reinoldo Krause Junior Orientadora: Luciana Pereira de Araújo

Componentes gráficos para prototipagem e documentação rápid a em Delphi. Aluno: Reinoldo Krause Junior Orientadora: Luciana Pereira de Araújo Componentes gráficos para prototipagem e documentação rápid a em Delphi Aluno: Reinoldo Krause Junior Orientadora: Luciana Pereira de Araújo Roteiro Introdução Objetivos Fundamentação Teórica Trabalhos

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

5 Arquitetura de implementação

5 Arquitetura de implementação Arquitetura de implementação 103 5 Arquitetura de implementação 5.1 Visão geral Nossa arquitetura é caracterizada pela construção de um ambiente para execução de aplicações hipermídia definidas segundo

Leia mais

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001

PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO. Projeto de Programas PPR0001 PROJETO ARQUITETURAL PARTE II: PADRÕES DE PROJETO Projeto de Programas PPR0001 QUALIDADE DO PROJETO 2 3 Qualidade do Projeto de Software Modularidade: gerar particionamento em elementos que executam funções

Leia mais

Delphi 2010 Plano de Aula 24 Aulas (Aulas de 1 Hora)

Delphi 2010 Plano de Aula 24 Aulas (Aulas de 1 Hora) 4596 - Delphi 2010 Plano de Aula 24 Aulas (Aulas de 1 Hora) Aula 1 Capítulo 1 - Introdução aodelphi 2010 1.1. O IDE do Delphi......... 21 1.1.1. Barra de Menus...... 22 1.1.2. Barras de Ferramentas.........

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

Ferramenta para conversão de interfaces gráficas desenvolvidas em Delphi para a biblioteca GTK+ Acadêmico: Josimar Zimermann

Ferramenta para conversão de interfaces gráficas desenvolvidas em Delphi para a biblioteca GTK+ Acadêmico: Josimar Zimermann Ferramenta para conversão de interfaces gráficas desenvolvidas em Delphi para a biblioteca GTK+ Acadêmico: Josimar Zimermann Orientadora: Joyce Martins Roteiro Introdução Objetivos Fundamentação teórica

Leia mais

Especificações Gerais do Compilador e Definição de FRANKIE

Especificações Gerais do Compilador e Definição de FRANKIE Especificações Gerais do Compilador e Definição de FRANKIE 1. Especificações Gerais do Compilador (Decisões de projeto) 2. Especificações da Linguagem Fonte Definição Informal Considerações Léxicas Considerações

Leia mais

Identificadores Nome de variáveis, constantes, métodos, etc...

Identificadores Nome de variáveis, constantes, métodos, etc... IV.2 Aspectos Léxicos Convencionais Classes de símbolos Genéricos Token genérico / Lei de formação bem definida Podem possuir limitações de tamanho e/ou valor Possuem valor semântico o token deve ser acompanhado

Leia mais

Desenvolvimento de Aplicações Desktop

Desenvolvimento de Aplicações Desktop Desenvolvimento de Aplicações Desktop Conceitos Básicos de Programação Professor: Charles Leite O Desenvolvimento de Programas A programação consiste em indicar como o computador (hardware) deve trabalhar

Leia mais

FACULDADE LEÃO SAMPAIO

FACULDADE LEÃO SAMPAIO FACULDADE LEÃO SAMPAIO Paradigmas de Programação Curso de Análise e Desenvolvimento de Sistemas Turma: 309-5 Semestre - 2014.2 Paradigmas de Programação Prof. MSc. Isaac Bezerra de Oliveira. 1 PARADIGMAS

Leia mais

FERRAMENTA PARA CONVERSÃO DE INTERFACES GRÁFICAS DESENVOLVIDAS EM DELPHI PARA A BIBLIOTECA GTK+

FERRAMENTA PARA CONVERSÃO DE INTERFACES GRÁFICAS DESENVOLVIDAS EM DELPHI PARA A BIBLIOTECA GTK+ UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO FERRAMENTA PARA CONVERSÃO DE INTERFACES GRÁFICAS DESENVOLVIDAS EM DELPHI PARA A BIBLIOTECA

Leia mais

Programação de Computadores:

Programação de Computadores: Instituto de C Programação de Computadores: Introdução a Linguagens de Programação Luis Martí Instituto de Computação Universidade Federal Fluminense lmarti@ic.uff.br - http://lmarti.com Seis Camadas Problema

Leia mais

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores

Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores Universidade Federal de Goiás Bacharelado em Ciências da Computacão Compiladores 2013-2 Compilador para a Linguagem Cafezinho Especificação dos trabalhos: T2 (Geração da Representação Intermediária e Análise

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

Introdução à Programação

Introdução à Programação Introdução à Programação Linguagens de Programação: sintaxe e semântica de linguagens de programação e conceitos de linguagens interpretadas e compiladas Engenharia da Computação Professor: Críston Pereira

Leia mais

PROPOSTA PARA O TRABALHO DE CONCLUSÃO DE CURSO FERRAMENTA PARA CONVERSÃO DE INTERFACES GRÁFICAS DESENVOLVIDAS EM DELPHI PARA A BIBLIOTECA GTK+

PROPOSTA PARA O TRABALHO DE CONCLUSÃO DE CURSO FERRAMENTA PARA CONVERSÃO DE INTERFACES GRÁFICAS DESENVOLVIDAS EM DELPHI PARA A BIBLIOTECA GTK+ TURNO: MATUTINO VERSÃO: 1 ANO / SEMESTRE: 2011.2 N o UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO CURSO DE CIÊNCIA DA COMPUTAÇÃO BACHARELADO

Leia mais

Compiladores Análise Semântica

Compiladores Análise Semântica Compiladores Análise Semântica Fabio Mascarenhas - 2013.1 http://www.dcc.ufrj.br/~fabiom/comp Árvores Sintáticas Abstratas (ASTs) A árvore de análise sintática tem muita informação redundante Separadores,

Leia mais

FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS

FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS FERRAMENTA DE AUXÍLIO AO PROCESSO DE DESENVOLVIMENTO DE SOFTWARE INTEGRANDO TECNOLOGIAS OTIMIZADORAS Acadêmico: Roger Anderson Schmidt Orientador : Marcel Hugo Supervisor : Ricardo de Freitas Becker Empresa

Leia mais

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins

GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD. Acadêmico: Maicon Klug Orientadora: Joyce Martins GERADOR DE CÓDIGO JSP BASEADO EM PROJETO DE SGBD Acadêmico: Maicon Klug Orientadora: Joyce Martins Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento do trabalho Conclusão Extensões

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

Extensão da ferramenta Delphi2Java-II para suportar a tradução dos tratadores de eventos. Carlos Henrique Marian. Orientador: Mauro Marcelo Mattos

Extensão da ferramenta Delphi2Java-II para suportar a tradução dos tratadores de eventos. Carlos Henrique Marian. Orientador: Mauro Marcelo Mattos Extensão da ferramenta Delphi2Java-II para suportar a tradução dos tratadores de eventos Carlos Henrique Marian Orientador: Mauro Marcelo Mattos Blumenau, 10 de julho de 2008 Sumário Introdução Objetivos

Leia mais

Projeto de Compiladores

Projeto de Compiladores Projeto de Compiladores FIR Faculdade Integrada do Recife João Ferreira 26 e 27 de fevereiro de 2007 Agenda da Aula Revisão Linguagem de Programação Tradutores Compilador As Fases de Um Compilador Linguagem

Leia mais

Projeto de Compiladores

Projeto de Compiladores Projeto de Compiladores FIR Faculdade Integrada do Recife João Ferreira 12 e 13 de fevereiro de 2007 Questionário 1. Em quais linguagens de programação você já programou? 2. O que você sabe sobre compiladores?

Leia mais

Trabalho de Linguagens Formais e Compilação

Trabalho de Linguagens Formais e Compilação Trabalho de Linguagens Formais e Compilação Desenho de uma linguagem simples e do seu compilador para MIPS. (cod. 5387) Departamento de Informática Universidade da Beira Interior Ano lectivo 2012/2013

Leia mais

Compiladores Análise Semântica

Compiladores Análise Semântica Compiladores Análise Semântica Fabio Mascarenhas - 2013.2 http://www.dcc.ufrj.br/~fabiom/comp Árvores Sintáticas Abstratas (ASTs) A árvore de análise sintática tem muita informação redundante Separadores,

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

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO

SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO SISTEMA DE INFORMAÇÃO GEOGRÁFICA APLICADO AO GERENCIAMENTO DE INFORMAÇÃO DE TRANSPORTE URBANO Edilene de Fátima Vetorato 1, Osvaldo Cesar Pinheiro de Almeida 2 1 Fatec, Botucatu, SP, Brasil. E-mail: edilenefv@hotmail.com

Leia mais

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes

Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Ferramenta MVCASE - Estágio Atual: Especificação, Projeto e Construção de Componentes Antônio Francisco do Prado Daniel Lucrédio e-mail: prado@dc.ufscar.br Resumo Este artigo apresenta a ferramenta CASE

Leia mais

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s Introdução Contribuição do Capítulo 2: discutir modelos de dados definir conceitos de esquemas e instâncias descrever os tipos de interfaces e linguagens oferecidas por um SGBD mostrar o ambiente de programas

Leia mais

Acadêmico: Mateus Artur Schneiders Prof. Orientador: Dr. Mauro Marcelo Mattos

Acadêmico: Mateus Artur Schneiders Prof. Orientador: Dr. Mauro Marcelo Mattos Adoção de JBoss Drools no desenvolvimento de sistemas Acadêmico: Mateus Artur Schneiders Prof. Orientador: Dr. Mauro Marcelo Mattos Roteiro da apresentação Introdução Objetivos Fundamentação Teórica Trabalhos

Leia mais

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONSTRUÇÃO DE COMPILADORES CARGA HORÁRIA: 75 H. A. ANO/SEMESTRE: 2017/02 PROFESSOR: EDUARDO FERREIRA DOS SANTOS

Leia mais

Compiladores. Introdução à Compiladores

Compiladores. Introdução à Compiladores Compiladores Introdução à Compiladores Cristiano Lehrer, M.Sc. Introdução (1/2) O meio mais eficaz de comunicação entre pessoas é a linguagem (língua ou idioma). Na programação de computadores, uma linguagem

Leia mais

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl

Marilan Ricardo Tagliari - TCC Marilan Ricardo Tagliari - TCC Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl Orientando: Marilan Ricardo Tagliari Orientador: Everaldo Artur Grahl UNIVERSIDADE REGIONAL DE BLUMENAU Introdução Objetivos Especificação Estruturada Especificação Orientada a Objetos Estratégia de Mapeamento

Leia mais

6 Conclusão. 6.1 Contribuições

6 Conclusão. 6.1 Contribuições 91 6 Conclusão O uso dos padrões da Web Semântica, como o RDF e RDFa, na publicação de informações na Web vêm demonstrando ser a única forma viável de garantir a interoperabilidade [34][53][80-83] de dados

Leia mais

Visões Arquiteturais. Visões Arquiteturais

Visões Arquiteturais. Visões Arquiteturais Visões Arquiteturais Separar diferentes aspectos em visões separadas com o objetivo de gerenciar complexidade. Cada visão descreve diferentes conceitos da Engenharia. Visões permitem reduzir a quantidade

Leia mais

UNIVERSIDADE REGIONAL DE BLUMENAU

UNIVERSIDADE REGIONAL DE BLUMENAU UNIVERSIDADE REGIONAL DE BLUMENAU PLUGIN PARA O EA: GERAÇÃO DE INTERFACES DE USUÁRIO A PARTIR DE UM PROJETO DE TELAS Acadêmico: Cleiton Eduardo Saturno Orientadora: Fabiane Barreto Vavassori Benitti sexta-feira,

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

A linguagem Java foi projetada tendo em vista os seguintes objetivos:

A linguagem Java foi projetada tendo em vista os seguintes objetivos: Java Disciplina: Programação II Professora: Mai-Ly Vanessa Histórico do Java Em 1991 a Sun Microsystems financiou uma pesquisa sobre o que seria a nova onda digital. Desta pesquisa resultou a criação da

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

IV.2 Aspectos Léxicos Convencionais

IV.2 Aspectos Léxicos Convencionais IV.2 Aspectos Léxicos Convencionais Classes de símbolos Genéricos - Token genérico / Lei de formação bem definida - Limitações de tamanho e/ou valor - Possuem valor semântico o token deve ser acompanhado

Leia mais

TRABALHO DE CONCLUSÃO DE CURSO

TRABALHO DE CONCLUSÃO DE CURSO UNIVERSIDADE FEDERAL DE SANTA CATARINA DEPARTAMENTO DE INFORMÁTICA E ESTATÍSTICA CURSO DE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO TRABALHO DE CONCLUSÃO DE CURSO Resumo Artigo I Desenvolvimento de Aplicações

Leia mais

Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação

Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação Universidade Estadual da Paraíba - UEPB Curso de Licenciatura em Computação Análise Semântica Disciplina: Compiladores Equipe: Luiz Carlos dos Anjos Filho José Ferreira Júnior Compiladores Um compilador

Leia mais

O código do modelo de mapeamento sintático-conceitual do sistema ConPor

O código do modelo de mapeamento sintático-conceitual do sistema ConPor Universidade de São Paulo - USP Universidade Federal de São Carlos - UFSCar Universidade Estadual Paulista - UNESP O código do modelo de mapeamento sintático-conceitual do sistema ConPor Lucia Specia Lucia

Leia mais

Conclusões. Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown

Conclusões. Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown Conclusões Baseado no Capítulo 9 de Programming Language Processors in Java, de Watt & Brown QUESTÕES FUNDAMENTAIS 1. Correção do código gerado 2. Desempenho do compilador: a. Notificação de erros; b.

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

Padrão para Especificação de Requisitos de Produto de Multimídia

Padrão para Especificação de Requisitos de Produto de Multimídia Padrão para Especificação de Requisitos de Produto de Multimídia 1 Introdução 1.1 Escopo do documento Sugere-se aqui uma estrutura para a Especificação de Requisitos de Produto de Multimídia (ERPM). Esta

Leia mais

Proposta de Trabalho de Conclusão de Curso

Proposta de Trabalho de Conclusão de Curso UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO TECNOLÓGICO CURSO DE BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO Proposta de Trabalho de Conclusão de Curso Gerador de Código Automático Baseado em Diagramas de

Leia mais

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS

GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS GERADOR DE INTERFACES GRÁFICAS PARA IOS GABRIEL SEBASTIAN RAMIREZ JOYCE MARTINS Introdução Objetivos Fundamentação teórica Especificação Implementação Operacionalidade Resultados e discussão Conclusão

Leia mais

Paradigmas de Programação

Paradigmas de Programação Paradigmas de Programação Sintaxe e semântica Aula 4 Prof.: Edilberto M. Silva http://www.edilms.eti.br Prof. Edilberto Silva / edilms.eti.br Sintaxe A sintaxe de uma linguagem de programação é a forma

Leia mais

Mineração de Dados em Biologia Molecular

Mineração de Dados em Biologia Molecular Mineração de Dados em Biologia Molecular WEKA Tópicos Introdução Simuladores de MD Principais módulos André C. P. L. F. de Carvalho Monitor: Váléria Carvalho André Ponce de Leon de Carvalho 2 Usando MD

Leia mais

5 Implementação 5.1 Plataforma 5.2 Arquitetura

5 Implementação 5.1 Plataforma 5.2 Arquitetura 5 Implementação Neste capítulo são apresentados os detalhes sobre a implementação da ferramenta. São discutidas as tecnologias envolvidas, assim como as limitações e problemas encontrados durante o desenvolvimento.

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

AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO. Rodrigo Ferreira da Silva

AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO. Rodrigo Ferreira da Silva AMBIENTE DIDÁTICO GRÁFICO PARA A COMPREENSÃO DE LÓGICA DE PROGRAMAÇÃO Rodrigo Ferreira da Silva rodrigoferreira2002@hotmail.com Klaus Schlünzen Junior klaus@prudente.unesp.br Universidade Estadual Paulista

Leia mais

Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education

Reúso de Software. Adaptado de. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide by Pearson Education Reúso de Software Adaptado de Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 18 Slide 1 Reúso de Software Na maioria das disciplinas de engenharia, os sistemas são projetados por meio

Leia mais

MODELAGEM DE PROCESSOS MÓDULO 9

MODELAGEM DE PROCESSOS MÓDULO 9 MODELAGEM DE PROCESSOS MÓDULO 9 Índice 1. Processo de Desenvolvimento de Sistemas - Continuação..3 1.1. Diagramas de Casos de Uso... 3 2 1. PROCESSO DE DESENVOLVIMENTO DE SISTEMAS - CONTINUAÇÃO 1.1. DIAGRAMAS

Leia mais

3 Processo de Teste. 3.1.Visão Geral do Processo

3 Processo de Teste. 3.1.Visão Geral do Processo 3 Processo de Teste Nesse capítulo será apresentado um processo de teste que foi desenvolvido para que diminua o retrabalho e o esforço gasto no processo de teste tradicional. Inicialmente é mostrada uma

Leia mais

PROGRAMAÇÃO I. Introdução

PROGRAMAÇÃO I. Introdução PROGRAMAÇÃO I Introdução Introdução 2 Princípios da Solução de Problemas Problema 1 Fase de Resolução do Problema Solução na forma de Algoritmo Solução como um programa de computador 2 Fase de Implementação

Leia mais

FERRAMENTA PARA CONVERSÃO DE FORMULÁRIOS DELPHI EM PÁGINAS HTML

FERRAMENTA PARA CONVERSÃO DE FORMULÁRIOS DELPHI EM PÁGINAS HTML UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO BACHARELADO FERRAMENTA PARA CONVERSÃO DE FORMULÁRIOS DELPHI EM PÁGINAS HTML ARIANA SOUZA BLUMENAU

Leia mais

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan

Introdução aos computadores, à Internet e à World Wide Web. Prof. Marcelo Roberto Zorzan Introdução aos computadores, à Internet e à World Wide Web Prof. Marcelo Roberto Zorzan História do Java Origem Linguagem desenvolvida pela Sun Microsystems Sintaxe similar ao C++ Inicialmente chamada

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

PROTÓTIPO PARA SUMARIZAÇÃO AUTOMÁTICA DE TEXTOS ESCRITOS EM LÍNGUA PORTUGUESA ALEXANDRE BUSARELLO JOYCE MARTINS

PROTÓTIPO PARA SUMARIZAÇÃO AUTOMÁTICA DE TEXTOS ESCRITOS EM LÍNGUA PORTUGUESA ALEXANDRE BUSARELLO JOYCE MARTINS PROTÓTIPO PARA SUMARIZAÇÃO AUTOMÁTICA DE TEXTOS ESCRITOS EM LÍNGUA PORTUGUESA ALEXANDRE BUSARELLO JOYCE MARTINS Roteiro Introdução Objetivos Fundamentação Teórica Especificação Implementação Operacionalidade

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/2 Como construir um compilador utilizando ferramentas Java Aula 1 - Introdução Prof. Márcio Delamaro delamaro@icmc.usp.br Como construir um

Leia mais

Classes e Objetos. Sintaxe de classe em Java

Classes e Objetos. Sintaxe de classe em Java Classes e Objetos Classes e Objetos A Programação Orientada a Objetos (POO) é uma técnica de programação que se baseia na construção de classes e utilização de objetos. Os objetos são formados por dados

Leia mais

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO. Profª Danielle Casillo UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: CIÊNCIA DA COMPUTAÇÃO 9º PERÍODO Profª Danielle Casillo Ambiente de software desenvolvido para a programação, configuração, depuração e documentação de programas

Leia mais

Utilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet. Kleber Taffarel Novembro de 2008

Utilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet. Kleber Taffarel Novembro de 2008 Utilizando o Framework SubMacro no Desenvolvimento de Aplicações Java para Internet Kleber Taffarel Novembro de 2008 klebertaffarel@yahoo.com.br Palestrante Especialista em Engenharia de Websites pela

Leia mais

CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010

CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010 CT 200 Fundamentos de Automata e Linguagens Formais Propostas de Projetos para o Primeiro período de 2010 Prof. Carlos Henrique Q. Forster Estagiário Wesley M. Telles Instruções Gerais 1o. Bimestre Para

Leia mais

UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO - BACHARELADO. Eduardo Cesar Eberle Prof. Wilson Pedro Carli, Orientador

UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO - BACHARELADO. Eduardo Cesar Eberle Prof. Wilson Pedro Carli, Orientador UNIVERSIDADE REGIONAL DE BLUMENAU CURSO DE SISTEMAS DE INFORMAÇÃO - BACHARELADO FERRAMENTA PARA PLANEJAMENTO E CONTROLE DE TESTES -SISCONTROLTEST Eduardo Cesar Eberle Prof. Wilson Pedro Carli, Orientador

Leia mais

Informática I. Aula 14. Aula 14-10/10/2007 1

Informática I. Aula 14.  Aula 14-10/10/2007 1 Informática I Aula 14 http://www.ic.uff.br/~bianca/informatica1/ Aula 14-10/10/2007 1 Ementa Noções Básicas de Computação (Hardware, Software e Internet) HTML e Páginas Web Internet e a Web Javascript

Leia mais

WARGEN: Gerador de Aplicações em Realidade Aumentada na Web

WARGEN: Gerador de Aplicações em Realidade Aumentada na Web WARGEN: Gerador de Aplicações em Realidade Aumentada na Web Prof. Dr. Robson Augusto Siscoutto Faculdade de Informática de Presidente Prudente - FIPP Universidade do Oeste Paulista - UNOESTE Presidente

Leia mais

Compiladores I Prof. Ricardo Santos (cap 1)

Compiladores I Prof. Ricardo Santos (cap 1) Compiladores I Prof. Ricardo Santos (cap 1) Compiladores Linguagens de programação são notações que permitem descrever como programas devem executar em uma máquina Mas, antes do programa executar, deve

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

Teclado. PdP. Autor: Tiago Lone Nível: Básico Criação: 20/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Teclado. PdP. Autor: Tiago Lone Nível: Básico Criação: 20/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Teclado Autor: Tiago Lone Nível: Básico Criação: 20/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br contato@maxwellbohr.com.br http://www.automato.com.br

Leia mais

Objetos e Componentes Distribuídos: EJB e CORBA

Objetos e Componentes Distribuídos: EJB e CORBA : EJB e CORBA Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA

SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Fundação Centro de Análise, Pesquisa e Inovação Tecnológica Instituto de Ensino Superior - FUCAPI SISTEMAS DE BANCOS DE DADOS: CONCEITOS E ARQUITETURA Disciplina: Banco de Dados Prof: Márcio Palheta, Esp.

Leia mais

Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal

Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal Ferramenta para cálculo de métricas em softwares orientados a objetos codificados em Object Pascal Patrícia Regina Ramos da Silva Seibt (FURB) patrícia@benner.com.br Marcel Hugo (FURB) marcel@furb.br Everaldo

Leia mais

Compiladores. Análise Semântica

Compiladores. Análise Semântica Compiladores Análise Semântica Cristiano Lehrer, M.Sc. Atividades do Compilador Arquivo de origem Análise léxica Análise semântica Síntese Análise sintática Análise Gramáticas Estruturas internas Arquivo

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

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

COMPILAÇÃO. Ricardo José Cabeça de Souza

COMPILAÇÃO. Ricardo José Cabeça de Souza COMPILAÇÃO Ricardo José Cabeça de Souza www.ricardojcsouza.com.br Programas Código-fonte escrito em linguagem de programação de alto nível, ou seja, com um nível de abstração muito grande, mais próximo

Leia mais

V.2 Especificação Sintática de Linguagens de Programação

V.2 Especificação Sintática de Linguagens de Programação V.2 Especificação Sintática de Linguagens de Programação Deve ser baseada: No planejamento da Linguagem / Compilador Objetivos, Filosofia, Potencialidades,... Nos critérios de projeto/avaliação Legibilidade,

Leia mais

INCLUSÃO DO ALGORITMO DE TRANSFORMAÇÃO DE UM AUTÔMATO FINITO EM EXPRESSÃO REGULAR NO AMBIENTE EDITOR DE AUTÔMATOS FINITOS

INCLUSÃO DO ALGORITMO DE TRANSFORMAÇÃO DE UM AUTÔMATO FINITO EM EXPRESSÃO REGULAR NO AMBIENTE EDITOR DE AUTÔMATOS FINITOS INCLUSÃO DO ALGORITMO DE TRANSFORMAÇÃO DE UM AUTÔMATO FINITO EM EXPRESSÃO REGULAR NO AMBIENTE EDITOR DE AUTÔMATOS FINITOS Acadêmico: Fernando Rafael Piccini Orientador: José Roque Voltolini da Silva Roteiro

Leia mais

VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica

VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica VISEDU-CG: Aplicação Didática para Visualizar Material Educacional, Módulo de Computação Gráfica James Perkison Montibeler Orientador: Dalton Solano dos Reis FURB Universidade Regional de Blumenau Grupo

Leia mais

Informática Parte 23 Prof. Márcio Hunecke

Informática Parte 23 Prof. Márcio Hunecke Escriturário Informática Parte 23 Prof. Márcio Hunecke Informática Json (ECMA-404) JSON (JavaScript Object Notation), é um formato compacto, de padrão aberto independente, de troca de dados simples e

Leia mais

EXTENSÃO DA FERRAMENTA DELPHI2JAVA-II PARA SUPORTAR A TRADUÇÃO DOS TRATADORES DE EVENTOS

EXTENSÃO DA FERRAMENTA DELPHI2JAVA-II PARA SUPORTAR A TRADUÇÃO DOS TRATADORES DE EVENTOS UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE CIÊNCIAS DA COMPUTAÇÃO BACHARELADO EXTENSÃO DA FERRAMENTA DELPHI2JAVA-II PARA SUPORTAR A TRADUÇÃO DOS TRATADORES DE EVENTOS

Leia mais

Introdução à Computação

Introdução à Computação Introdução à Computação Jordana Sarmenghi Salamon jssalamon@inf.ufes.br jordanasalamon@gmail.com http://inf.ufes.br/~jssalamon Departamento de Informática Universidade Federal do Espírito Santo Agenda

Leia mais

Criação de Aplicações GUI. Java JFC / Swing

Criação de Aplicações GUI. Java JFC / Swing Criação de Aplicações GUI Java JFC / Swing JFC Java Foundation Classes Inclui um conjunto de funcionalidades para desenvolver graphical user interfaces (GUIs) e adicionar funcionalidades gráficas e interativas

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