GERADOR DE CÓDIGO MULTILINGUAGEM E MULTIPLATAFORMA

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

Download "GERADOR DE CÓDIGO MULTILINGUAGEM E MULTIPLATAFORMA"

Transcrição

1 GERADOR DE CÓDIGO MULTILINGUAGEM E MULTIPLATAFORMA Sandrerley Ramos Pires Universidade Federal de Goiás, Escola de Engenharia Elétrica, Goiânia GO, Tobias Gonçalves Pires Politec Global IT Services, Goiânia GO, Dulcinéia Gonçalves Ferreira Pires e Edna Lúcia Flôres Universidade Federal de Uberlândia, Faculdade de Engenharia Elétrica, Uberlândia MG, e Resumo para a construção de uma ferramenta geradora de código é necessário entender o que já foi feito em termos desse tipo de produto, analisar os problemas nos produtos existentes e com tais subsídios, estruturar um produto que faça significativa parte do trabalho do programador, tornando-o mais produtivo e aumentando a velocidade do processo de desenvolvimento de sistemas. Embora os geradores de código estejam um pouco desgastados no meio da informática, o produto deste trabalho é um gerador de código, mas com capacidades especiais de oferecer ao programador a geração de código que atendam três grandes requisitos: (1) gerar código com a letra do programador; (2) possibilitar a geração de código em diversas linguagens e (3) permitir ao usuário a estruturação de sua arquitetura tecnológica particular. O trabalho detalha os requisitos do gerador, mostra a aplicação projetada e seus resultados. Palavras-Chave Gerador de Código, Multilinguagem, Multiplataforma, Ferramentas CASE. 1 MULTIPLATAFORM AND MULTILANGUAGE CODE GENERATOR Abstract to build a tool able to generate source code is necessary to understand what already exist about this kind of product, to analyze its problems and, with this information, structure a product to do a significant part of the programmer s work, turning the programmer more productive and increasing the development process speed. Although the code generators were a few worn in the informatics context, this work propose the creation of a code generator capable to do three main requisites: (1) to generate code with the letter of programmer; (2) to permit the generation in many languages and platforms; (3) to permit the user to structure his own technologic architecture. This work details the proposed code generator requisites and shows the project of the application and its results. Key-Word Code Generator, Multilanguage, Multiplatform, Tool CASE. I. INTRODUÇÃO Atualmente, grande parte das empresas de software não adota nenhum tipo de padrão de desenvolvimento com relação à padronização de código fonte, dando aos programadores muita liberdade na hora de realizar o seu trabalho, escrevendo o código fonte da maneira que acha melhor. Assim, o software é feito de forma heterogênea e desorganizada [1], sendo que essa desorganização aumenta com o número de pessoas envolvidas. Nesse contexto, quando um programador vai dar manutenção em um código que não foi ele que escreveu, ele se depara com situações totalmente novas e inesperadas, enfrenta grandes dificuldades e leva bastante tempo para entender o que já foi feito. O resultado disso é o aumento do custo do software devido à baixa produtividade e os altos índices de erros, dada a complexidade do código fonte que vai sendo produzido nesse modelo livre [1], [2], [3]. Mesmo as empresas mais estruturadas, que dão lideradas por profissionais experientes em engenharia de software, tem problemas relacionados à produtividade, onde o atraso na entrega do software acontece com certa freqüência. Quando a produtividade é baixa, é inevitável a necessidade de contratação de funcionários. Ao tentar fazer isso, outra dificuldade surge: existem poucos profissionais qualificados e disponíveis no mercado, sendo necessário muito tempo para encontrá-los. Muitas vezes, a única opção que resta é contratar pessoas com pouca ou nenhuma experiência, e treiná-la, mas todo esse processo demora e pode não resolve o problema em um tempo satisfatório. Se analisarmos de perto o trabalho diário de um programador, podemos facilmente perceber que muitas vezes ele é repetitivo e uma das provas disso é o constante uso do Ctrl+C e Ctrl+V. O programador ao receber uma nova tarefa a ser realizada, primeira procura por algo parecido que já foi feito por ele antes, e se encontrar, ele simplesmente copia o conteúdo e faz os ajustes necessários para atender a nova situação. O programador será sempre uma peça importante para o processo de desenvolvimento de software, mas esta

2 importância deve-se centrar na capacidade criativa do ser humano na resolução de problemas algorítmicos. Focar na criatividade para a sua atuação programadores, deixando o restante para o computador gerar, pode resolver uma serie de problemas existentes hoje nas empresas que desenvolvem software, tais como a falta de padrão de desenvolvimento dos códigos fontes e a baixa produtividade. Entretanto, gerar código fonte para qualquer linguagem utilizando qualquer arquitetura é, a principio, uma tarefa desafiadora, já que existe uma grande quantidade de linguagens e padrões [12] de projetos o abre um leque de possibilidades para um gerador de código atender. Desta forma, este trabalho trata o problema de criar um gerador de código aberto à parametrização da linguagem e da arquitetura de software e com flexibilidade suficiente para atender este leque de possibilidades. O gerador terá uma interface gráfica intuitiva e com alta usabilidade, permitindo aumentar de forma significativa a produtividade da atividade de desenvolvimento software. Este artigo apresenta na seção 2 o cenário atual dos geradores de código, na seção 3 o problema da geração automática de código, bem como as soluções propostas por este trabalho, na seção 4 é mostrado o gerador de código, sua interface e uma aplicação gerada por ele e, finalmente na seção 5, são apresentadas as conclusões deste trabalho. II. CENÁRIO ATUAL DOS GERADORES DE CÓDIGO Existe um conjunto de ferramentas que prestam apoio às atividades da engenharia de software, sendo um destes o grupo dos geradores de código. Os geradores de código são ferramentas que a partir de uma entrada estruturada, oferecem como saída o código fonte da aplicação, substituindo o código que o programador iria escrever. A qualidade desse código fonte e a linguagem de programação no qual esse código fonte vai ser gerado dependem da ferramenta geradora de código que está sendo utilizada. Com o passar dos anos, inúmeros produtos surgiram, sendo que alguns deles prometiam verdadeiros milagres, levando ao aparecimento de um preconceito em relação a essas ferramentas. Atualmente é comum ver as pessoas falarem que geração automática de código de forma satisfatória não é possível [4]. Alguns dos geradores mais comuns no mercado são Maker[5], Velocity[6], Genexus[7], MyGeneration[8], GreenBox [9]. A seguir é apresentada uma breve descrição de alguns desses geradores automáticos de código citados: 1) Velocity - é um gerador open source produzido por vários programadores espalhados pelo mundo. Ele é um subprojeto do projeto Jakarta, da Apache Foundation. É usado desenvolvimento WEB no padrão MVC [10], ficando o código fonte separado do código HTML. Ele é um Template-Engine, pois pode ser utilizado para outras coisas como a formatação de mensagens com base em um template, criação de documentos RTF e criação SQL e XML. O Velocity só gera aplicações Java e por se tratar de um gerador antigo (2002), que utiliza o Java/JSP, sendo que atualmente existem frameworks mais produtivos. 2) Maker: foca o ambiente WEB, em plataforma Java ou.net. Foi desenvolvida pela Softwell, uma empresa da Bahia [10]. Desenvolve aplicações de forma totalmente visual, sem a necessidade de escrever uma única linha de código. Os requisitos são representados por fluxogramas e entidades visuais, permitindo uma fácil manutenção no software. O Maker permite a geração em linguagens diferentes, desde que suportadas por ele. Apesar dos recursos, o Maker não teve uma boa aceitação no mercado, isso devido a gerar somente para Java ou.net e devido a ocorrência de erros na geração, levando o programador a manipular o complexo código fonte gerado [11]. A licença de uso do software é cerca de reais, por máquina. 3) Genexus - ferramenta voltada para aplicações WEB, em plataformas Windows e ou móveis. Foi criada pela empresa uruguaia ARTech [ref], sendo que a sua utilização é feita através de especificações em alto nível (majoritariamente de forma declarativa) pelo desenvolvedor, gerando código para múltiplos ambientes, de maneira semelhante ao Maker. O Genexus suporta o Cobol e RPG (plataforma IBM AS/400), Visual Basic, C#, Java e Ruby. Ironicamente, nenhuma das soluções apresentadas tem boa aceitação no mercado, pois apresentam os problemas de gerar códigos complexos, de serem limitados em relação ao suporte de linguagens e banco de dados e de possuir uma arquitetura interna fixa para o software gerado. III. ABORDAGEM PROPOSTA Esta seção enumera um conjunto de requisitos importantes para criar um gerador de código dentro dos padrões atuais de flexibilidade e produtividade exigidos pelo mercado. Um aspecto fundamental para a construção do gerador aqui proposto foi permitir a criação de códigos fontes com a letra da organização usuária, permitindo um trabalho simultâneo de atuação no código, isto é, gerador e programador atuando juntos na construção do sistema. Os requisitos são apresentados a seguir, bem como o protótipo da proposta de solução criada neste trabalho: A. Multilinguagem A maior parte dos geradores é amarrada a uma única linguagem, não oferecendo nenhuma outra opção para o usuário. Caso o programador utilize uma linguagem diferente que o gerador suporta sua única opção é procurar outro gerador que atenda as suas necessidades. A Figura 1 mostra a tela de geração da aplicação onde é carregada as linguagens que foram previamente cadastradas pelo usuário e seus tipos de variáveis. Nessa ferramenta é possível gerar código em qualquer linguagem, desde que se tenham os templates 2 previamente cadastrados pelo usuário. B. Multiarquitetura Deve ser capaz de gerar código em diversos ambientes e arquiteturas diferentes, por exemplo, sistemas desktops são bem diferentes de sistemas web, que por sua vez, são diferentes de aplicativos para celulares e TVs. E, dentro de cada um desses ambientes, existem inúmeras arquiteturas 2 Templates: no contexto de geração de código, trata-se de um modelo textual que serve para a produção em série do código gerado.

3 possíveis de serem utilizadas. Algumas delas foram descritas anteriormente como o MVC ou a arquitetura em três camadas, mas existem também arquiteturas em 4 ou n camadas, que podem ser a utilizadas por um programador que queira utilizar uma aplicação geradora de código. Dentro desses arquivos estão as definições de coisas simples como a sintaxe de um comando até o número de camadas e o que a arquitetura deve ter. Abaixo segue um exemplo de como criar um template: 1. O primeiro passo é definir a estrutura do sistema, como mostra a Figura 3 foram definidas três camadas: Interface, Negócio e Persistência. Onde cada camada possui apenas um tipo de classe, poderiam existir mais camadas e mais tipos de classes dentro de uma camada, isso só depende da arquitetura que foi montada. 2. Após definir as classes que vão existir em cada camada, clicando duas vezes na classe, o sistema abre uma janela para o detalhamento e configurações dela, onde o mínimo a ser definido é um template para o nome da classe, o diretório onde ela vai ser criada, e um template para o seu conteúdo interno. A Figura 4.0 mostra um exemplo de como definir um template para uma classe simples Java. Fig.1. Mostra as linguagens cadastradas e seus tipos. Pode ser que o programador não use uma das arquiteturas já conhecidas, talvez ele queira criar arquitetura própria. Mas ainda sim ele quer utilizar um gerador de código. Então seja qual for a arquitetura, a ferramenta deve ser capaz de prover recursos para o usuário gerar o código fonte. A Figura 2 ilustra uma arquitetura simples de três camadas, onde cada camada possui apenas um tipo de arquivo ou classe, a função de cada uma dessas camadas segue o padrão de arquitetura de três camadas já descrito anteriormente. C. Baseado em Templates Tratando-se de um gerador flexível a ponto de oferecer suporte a qualquer linguagem e arquitetura, toda a flexibilidade se resume ao esquema de templates. É com base nisso que se organiza o código que vai ser gerado. Os templates são arquivos textos que servem como entradas para o gerador. Eles são escritos pelo usuário. O conteúdo de cada um dos arquivos definidos representa um pedaço da uma arquitetura e do código a ser gerado, ou seja, eles funcionam como um exemplo ou modelo a ser seguido para a geração de todo o código. Fig. 3: tela de detalhamento de dados de uma classe da interface. Esta classe possui apenas dois métodos, incluir() e excluir(). Sua função é apenas invocar a classe de negócio que possui os serviços de incluir e excluir a entidade. Cada entidade no sistema possui um nome, por exemplo, Pessoa. Se usarmos esse template para gerar uma classe utilizando também como base uma entidade chamada Pessoa o resultado é mostrado na Figura 5. O texto Xxx que estava no template foi substituído pelo nome da entidade com o primeiro caractere maiúsculo, e com o texto xxx foi feito a mesma coisa, mas com o primeiro caractere minúsculo. O template do nome da classe que foi definido anteriormente era TemplView.java, o texto Templ foi substituído pelo nome da entidade, resultando em PessoaView.java. Os componentes mostrados são uma representação visual do modelo de dados do sistema, e ela deve seguir um padrão, por exemplo, campos varchar em um banco e dados são representados por campos de entrada de texto na interface, um campo booleano costuma ser uma checkbox, e um relacionamento Many to One costuma ser uma ComboBox, um relacionamento Many to Many é representado por um pequeno grupo e componentes trabalhando em conjunto. Fig. 2. Exemplo de arquitetura cadastrada na ferramenta.

4 O gerador munido com este modelo de dados ele é capaz de gerar a DDL para a definição do BD em uma SGBD qualquer. Outro subsídio dado pelo modelo de dados é a capacidade de alimentar o módulo de configuração de uma aplicação. Fig. 4. Template de uma classe Java. Assim, para cada um desses tipos de campos e relações possíveis deve existir um template. Cada template possui um nome, que nesta ferramenta é chamado de marcador, quando se coloca o marcador do template dentro do Template Pai, esse marcador é substituído pelo conteúdo do template, e que nesse caso seria o código fonte que desenha na tela cada um dos componentes necessários para representar essa entidade de uma forma visual. Fig. 6. Banco com três tabelas e o detalhamento da tabela Pessoa. E. Interface gráfica e boa usabilidade Como o objeto principal das ferramentas geradoras de código é a produtividade, uma interface gráfica com boa usabilidade que irá facilitar o seu uso é requisito obrigatório. O resultado de se definir uma arquitetura complexa é vários arquivos de templates complexos, várias camadas e vários tipos desses arquivos, então uma interface gráfica é necessária para representar toda essa arquitetura de uma forma intuitiva não só para quem a criou, mas para as outras pessoas que vão estudá-la e modificá-la na ferramenta. Fig. 5. Código gerado a partir do template mostrado na Figura 4. São com base nessas substituições, algumas simples como a mostrada anteriormente, e outras bem mais complexas que o esquema de templates permite a flexibilidade de se gerar código para qualquer linguagem e arquitetura. D. Mecanismos para representar um banco de dados Algumas das entradas para o gerador é uma representação do banco de dados, afinal o código, aplicação ou sistema que vai ser gerado é baseado em tabelas de um banco de dados. Então todos os nomes de campos, tipos destes campos, relacionamentos 1..1, 1..*, *..1 e *..* entre as tabelas deve ser representado e enviado como entrada para o gerador usar isso como base para a geração do código. A Figura 6 mostra a definição de um banco de dados, ao clicar em uma das tabelas o sistema abre uma janela onde é definido os campos, os tipos dos campos, e outros detalhes como o tamanho máximo, se pode ser nulo ou não, se é chave primária etc. Procedimento muito similar aos já oferecidos nos diversos CASES de modelagem de dados. F. Permitir geração parcial e customização do código Após definir uma arquitetura inteira e um banco de dados, na primeira geração de código certamente o usuário vai querer gerar tudo de uma vez, mas depois de um tempo ele vai querer modificar apenas alguns arquivos, como por exemplo, inverter a ordem alguns campos em uma única tela. Gerar tudo de novo novamente pode ser perigoso, afinal ele pode ter feito alguma modificação nos arquivos que foram gerados anteriormente, e se ele gerar tudo de novo, a nova geração vai sobrescrever os arquivos que já estão prontos. Então a ferramenta deve oferecer recursos para que ele possa fazer isso com segurança. A Figura 7 mostra o local na aplicação onde se pode fazer esse tipo de customização. Nesta tela o usuário pode definir quais tabelas e arquivos vão ser gerados em uma aplicação e ele pode definir a ordem que os campos vão aparecer na tela. G. Permitir customizações de alto nível Por mais que uma ferramenta geradora de código baseada em templates tente ser flexível, ela sempre segue o padrão definido por seus templates. Assim, não há como prever situações específicas que surgem nos projetos. Se alguns dessas situações ocorrerem em um projeto e o gerador de

5 código conseguir atendê-las, o trabalho manual do programador será reduzido e a diferença no final será grande. Fig. 7. Tabelas envolvidas em uma aplicação específica. Um exemplo: em determinado sistema para os campos do tipo booleano utilizado na interface gráfica, por padrão, o CheckBox, mas se o nome do campo for status, o RadioBox é utilizado com duas opções, ativo e inativo. O gerador de código feito nesse trabalho permite que os templates sejam definidos por tipo de campo, isto é, um campo texto tem um template diferente de um booleano. No exemplo descrito anteriormente, se o campo status que é booleano foge do padrão, uma solução é a criação de um código escrito pelo usuário que é compilado e executado durante a geração do código fonte, que modifica o resultado final do código fonte. Figura 8 mostra um código escrito pelo usuário para tratar essa exceção. Fig. 8. Exemplo de verificação de validade de um campo status. A única coisa que o código faz é verificar se o nome do campo é status, caso for ele modifica o template usado para a criação do componente na tela. Se utilizar o mesmo template mostrado anteriormente para gerar uma classe a partir da tabela Pessoa, que possui três campos booleanos, ativo, administrador e status, por exemplo, o resultado seria o ilustrado pela Figura 9. manualmente o programador prefere regerar esse arquivo a partir da ferramenta de código, mas é claro que ele não quer perder as modificações que ele já fez. Então é necessária uma comparação visual entre as duas versões do arquivo, para que o programador possa ajustar a nova versão que foi gerada pela ferramenta com a versão que já estava no seu sistema. Suponhamos que na classe PessoaView, foi acrescentado um código pelo programador, e que o requisito mudou, o campo que antes se chamava status agora é chefe, mas ainda é do mesmo tipo booleano. É necessário que a ferramenta mostre quais são as mudanças que vão existir no código regerado, a Figura 10 mostra a tela que faz isso. Fig. 10. Diferença entre a versão nova e a antiga dos códigos gerados. O que está em vermelho é que foi excluído, e o que está de azul é o que vai foi adicionado. Nesse caso o código que o programador adicionou seria perdido, mas nesse momento ele pode copiar o código que seria perdido e colocar no arquivo do lado esquerdo que é o arquivo que vai ser gerado. IV. RESULTADOS DO GERADOR Para demonstrar as funcionalidades implementadas para o gerador de código, este artigo apresenta a descrição dos requisitos de uma aplicação para demonstrar da capacidade de geração do gerador de código criado neste trabalho. Seja um sistema denominado de Loja de Consignação, cuja especificação visa dar à loja um sistema para automatizar o processo de venda de veículos. Nesse contexto as entidades Carro e Fabricante são elementos importantes, e servirão para ilustrar o exemplo de aplicação gerada. A. A especificação da Arquitetura Fig. 9. Código fonte da classe gerada. H. Comparação entre duas versões do mesmo arquivo Depois que um arquivo é gerado, certamente os requisitos da aplicação vai mudar. Por exemplo, pode ser necessário adicionar um campo novo em uma tela. Mas, imagine que essa tela tenha sido gerada a um mês atrás, e depois disso o programador modificou algumas coisas nessa tela. E agora que o requisito mudou para não ter que adicionar esse campo Fig. 11 Arquitetura divida em 3 partes principais (MVC). Para gerar parte dessa aplicação criou-se uma arquitetura que segue o modelo MVC [10], o sistema será WEB, na linguagem Java [3], utilizando os frameworks JSF para

6 interface, String e Hibernate [13] para controle de transações e persistência. A Figura 11 mostra a arquitetura desenhada na ferramenta geradora de código criada com este trabalho. A parte da aplicação que será gerada vai ser relacionada ao cadastro dos carros, para cadastrar os carros é necessário que os possíveis fabricantes também já estejam cadastrados. Abaixo, mostrado na Figura 12, segue as tabelas criadas no case da ferramenta para a geração das aplicações. Após a geração do código, é possível começar a cadastrar os fabricantes e os carros. A Figura 13 mostra a tela de listagem dos fabricantes. Além de mostrar todos os fabricantes cadastrados, permite filtrar os fabricantes pelo nome, após encontrar o fabricante desejado basta clicar no seu nome que o usuário será redirecionado para a tela de consulta que possui os outros dados desse fabricante. Todo esse padrão de funcionamento está mapeado nos templates. Carro e Carro, depois que a arquitetura está montada e definida na ferramenta geradora de código, ao invés do desenvolvedor perder horas programando, ele pode gerar tudo em alguns minutos. Fig. 14. Tela de cadastro de um Carro Observou-se também um alto nível de geração obtido, não apenas em aplicações meramente cadastrais. O processo de construção de cada aplicação de forma individualizada permite agrupar informações que potencializam do processo de geração de código. Ressalta-se, finalmente, que a ferramenta criada que não herda os principais problemas dos geradores de códigos atuais, levando à sua principal conquista que é incrementar de forma real o processo de desenvolvimento e de manutenção de sistemas nas organizações. Fig. 12. Aplicação com duas tabelas FabricanteCarro e Carro. A Figura 14 mostra a tela de cadastro de Carro, que depende dos fabricantes cadastrados. A ComboBox aberta mostra os fabricantes que foram cadastrados anteriormente. Os campos com * são os campos obrigatórios, caso um campo obrigatório não for preenchido uma mensagem com a descrição do problema parece para o usuário. Fig. 13. Tela de listagem e busca de fabricante. O processo de criação do sistema se dá de forma gradual, aplicação a aplicação, permitindo uma atuação mais efetiva do programador. O template é gerado apenas uma vez e a partir daí pode-se gerar vários sistemas para a organização, prezando fortemente para a padronização de código. V. CONCLUSÕES Conclui-se que o aumento de produtividade é considerável. Por exemplo, nos casos de uso de Fabricante de REFERÊNCIAS BIBLIOGRÁFICAS [1] Deepak A., Crupi, J., Malks, D., J2EE Patterns: Best Practices and Design Strategies, ed. Campus, [2] Bates, B., Sierra, K., Use a Cabeça! Java, Alta Books, [3] Barclay, K., Savage, J., Object-Oriented Design with UML and Java, Elsevier, [4] Craig, J. C., Building Application Generators, IEEE Software, Vol 88, pp.25-33, [5] Softwell Solution, Acedido em 15/05/2010, em: [6] The Velocity Apache Project, Acedido em 15/03/2011, em: [7] Genexus TM, Acedido em 20/05/2010, em: [8] MyGeneration - Code Generation, Acedido em 10/03/2011, em: [9] Java.net The Source for Java Technology Collaboration, Acedido em 15/05/2011, em: [10] Ladd, S., Davison, D., Devijver, S., Yates, C., Expert Spring MVC and Web Flow, ed. Apress, [11] Java Frequent Asked Question, Acedido em 10 de maio de 2010, em:www.java.com/pt_br/download/faq [12] Design Patterns: Elements of Reusable Object-Oriented Software, 1995, Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides [13] Bauer, C., King, G., Hibernate em Ação, Ciência Moderna, 2003.

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl

SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE. Aluno: Roberto Reinert Orientador: Everaldo A. Grahl SISTEMA DE WORKFLOW PARA MODELAGEM E EXECUÇÃO DE PROCESSOS DE SOFTWARE Aluno: Roberto Reinert Orientador: Everaldo A. Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Workflow Processo

Leia mais

Figura 1 - Arquitetura multi-camadas do SIE

Figura 1 - Arquitetura multi-camadas do SIE Um estudo sobre os aspectos de desenvolvimento e distribuição do SIE Fernando Pires Barbosa¹, Equipe Técnica do SIE¹ ¹Centro de Processamento de Dados, Universidade Federal de Santa Maria fernando.barbosa@cpd.ufsm.br

Leia mais

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson

Padrões de Projeto. Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Padrões de Projeto Prof. Jefersson Alex dos Santos (jefersson@dcc.ufmg.br) http://www.dcc.ufmg.br/~jefersson Apresentação Conceitos Definição Ponto de vista prático História Padrões de Projeto Conhecidos

Leia mais

SISTEMA GERENCIAL TRATORPLAN

SISTEMA GERENCIAL TRATORPLAN SISTEMA GERENCIAL TRATORPLAN SIGET Fabrício Pereira Santana¹, Jaime William Dias¹, ², Ricardo de Melo Germano¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil fabricioblack@gmail.com germano@unipar.br

Leia mais

Introdução à Padrões de Projeto. Glauber Magalhães Pires

Introdução à Padrões de Projeto. Glauber Magalhães Pires Introdução à Padrões de Projeto Glauber Magalhães Pires Agenda O que são padrões de projeto? Para que servem e por que utilizá-los? Elementos constituintes Como escolher o padrão a ser usado? Como são

Leia mais

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração Ambiente Web É o ambiente formado

Leia mais

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Ambiente Web É o ambiente

Leia mais

Microsoft Visual Studio Express 2012 for Windows Desktop

Microsoft Visual Studio Express 2012 for Windows Desktop Microsoft Visual Studio Express 2012 for Windows Desktop Apresentação da ferramenta Professor: Danilo Giacobo Página pessoal: www.danilogiacobo.eti.br E-mail: danilogiacobo@gmail.com 1 Introdução Visual

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET

MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET MedEl: Uma solução de E-Learning utilizando tecnologia Microsoft ASP.NET Átila Correia Cunha 1, 2, Glaucon Henrique Mauricio Maia 1, 2, Waner Ferreira Tavares 1, 2, Jorge Bergson¹, Rui Gomes Patrício 3

Leia mais

TEMA TECNOLOGIA DA INFORMAÇÃO -Tipos de SI e Recursos de Software parte2. AULA DE SISTEMAS DE INFORMAÇÃO PROFa. ROSA MOTTA

TEMA TECNOLOGIA DA INFORMAÇÃO -Tipos de SI e Recursos de Software parte2. AULA DE SISTEMAS DE INFORMAÇÃO PROFa. ROSA MOTTA TEMA TECNOLOGIA DA INFORMAÇÃO -Tipos de SI e Recursos de Software parte2 AULA DE SISTEMAS DE INFORMAÇÃO PROFa. ROSA MOTTA CONTEÚDO DA AULA Tipos de Software Serviços Web Tendências 2 OBJETIVOS ESPECÍFICOS

Leia mais

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS.

PADRÕES DE SOFTWARE. Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade. Grupo de Padrões de Software da UECE (GPS. PADRÕES DE SOFTWARE 1 Jerffeson Teixeira de Souza, Ph.D. Tarciane de Castro Andrade Grupo de Padrões de Software da UECE (GPS.UECE) Julho-2009 CONTEÚDO Introdução aos Padrões de Software O quê são padrões?

Leia mais

Gestão Administrativa

Gestão Administrativa Sistemas de Gestão Administrativa Flávia Silva (Chefe do Serviço de Informática da Diretoria de Administração da Fiocruz) Diná Herdi de Medeiros Araújo (Analista de Sistemas do Serviço de Informática da

Leia mais

Padrões de Requisitos para Especificação de Casos de Uso em Sistemas de Informação

Padrões de Requisitos para Especificação de Casos de Uso em Sistemas de Informação Padrões de Requisitos para Especificação de Casos de Uso em Sistemas de Informação Gabriela T. de Souza 1, 2, Carlo Giovano S. Pires 2 e Arnaldo Dias Belchior 1 1 Universidade de Fortaleza Av. Washington

Leia mais

WebApps em Java com uso de Frameworks

WebApps em Java com uso de Frameworks WebApps em Java com uso de Frameworks Fred Lopes Índice O que são frameworks? Arquitetura em camadas Arquitetura de sistemas WEB (WebApps) Listagem resumida de frameworks Java Hibernate O que são frameworks?

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CAMPUS AVANÇADO DE ARACATI PROJETO DE PESQUISA IMPLEMENTAÇÃO DE SOLUÇÃO PARA AUTOMATIZAR O DESENVOLVIMENTO DE SOFTWARE UTILIZANDO A LINGUAGEM C#.NET

Leia mais

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código

GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código GeCA: Uma Ferramenta de Engenharia Reversa e Geração Automática de Código Igor Steinmacher 1, Éderson Fernando Amorim 1, Flávio Luiz Schiavoni 1, Elisa Hatsue Moriya Huzita 1 1 Departamento de Informática

Leia mais

Controle de Estoque. Configuração e personalização do módulo

Controle de Estoque. Configuração e personalização do módulo Controle de Estoque O objetivo do módulo de Controle de Estoque á ajudar a controlar a quantidade de produtos no estoque da empresa, avisar sobre problemas com quantidades mínimas, lotes e validades vencendo.

Leia mais

TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS

TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS TECNOLOGIAS E FRAMEWORKS UTILIZADAS NO DESENVOLVIMENTO DE SISTEMAS GERENCIAIS Janderson Fernandes Barros ¹, Igor dos Passos Granado¹, Jaime William Dias ¹, ² ¹ Universidade Paranaense (UNIPAR) Paranavaí

Leia mais

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características:

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características: Cerne Tecnologia www.cerne-tec.com.br Conhecendo o NSBASIC para Palm Vitor Amadeu Vitor@cerne-tec.com.br 1. Introdução Iremos neste artigo abordar a programação em BASIC para o Palm OS. Para isso, precisaremos

Leia mais

Análise e Projeto Orientados por Objetos

Análise e Projeto Orientados por Objetos Análise e Projeto Orientados por Objetos Apresentação da Disciplina Edirlei Soares de Lima Objetivos da Disciplina Apresentar e discutir técnicas avançadas de Análise e Projeto de

Leia mais

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013

ORDEM DE SERVIÇO OS 003/DINFO/2013 16/09/2013 A DIRETORIA DE INFORMÁTICA DINFO DA UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO -UERJ, no uso de suas atribuições legais, estabelece: Art. 1º: Para fins de normatização do Desenvolvimento Tecnológico na UERJ

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

Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots

Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots Diretrizes para criação de um padrão de desenvolvimento de sistemas de informação baseados em cots Roosewelt Sanie Da Silva¹ 1 Ciência da Computação Universidade Presidente Antônio Carlos (UNIPAC) Rodovia

Leia mais

FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES

FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES FERRAMENTA PARA CONSTRUÇÃO DE INTERFACES DE SOFTWARE A PARTIR DE DIAGRAMA DE CLASSES Aluno: André Luis Becker Orientador: Prof. Everaldo Artur Grahl. Mestre Orientador, FURB Roteiro da Apresentação Introdução;

Leia mais

15 Conceitos de Bancos de Dados com o LibreOffice Base

15 Conceitos de Bancos de Dados com o LibreOffice Base Introdução a Informática - 1º semestre AULA 14 Prof. André Moraes Objetivos desta aula: Explorar as propriedades na criação de bancos de dados no LibreOffice Base; Criar e explorar tabelas; Criar e explorar

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ÍNDICE INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ACESSO ÀS FERRAMENTAS 9 FUNÇÕES 12 MENSAGENS 14 CAMPOS OBRIGATÓRIOS

Leia mais

4 Desenvolvimento da ferramenta

4 Desenvolvimento da ferramenta direcionados por comportamento 38 4 Desenvolvimento da ferramenta Visando facilitar a tarefa de documentar requisitos funcionais e de gerar testes automáticos em uma única ferramenta para proporcionar

Leia mais

Tutorial SD. Mobile and Smart devices Development Solution - Página 1

Tutorial SD. Mobile and Smart devices Development Solution - Página 1 Mobile and Smart devices Development Solution - Página 1 Introdução Hoje em dia, está claro para a indústria de TI a relevância que têm os smartphones, tablets e dispositivos inteligentes (os chamados

Leia mais

Table 1. Dados do trabalho

Table 1. Dados do trabalho Título: Desenvolvimento de geradores de aplicação configuráveis por linguagens de padrões Aluno: Edison Kicho Shimabukuro Junior Orientador: Prof. Dr. Paulo Cesar Masiero Co-Orientadora: Prof a. Dr. Rosana

Leia mais

Padrões de Projeto de Software Orientado a Objetos

Padrões de Projeto de Software Orientado a Objetos Padrões de Projeto de Software Orientado a Objetos Ricardo Argenton Ramos [Baseado nos slides do professor Fabio Kon - USP] 1 Padrões de Projeto de Software OO Também conhecidos como Padrões de Desenho

Leia mais

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo

Conteúdo. Disciplina: INF 02810 Engenharia de Software. Monalessa Perini Barcellos. Centro Tecnológico. Universidade Federal do Espírito Santo Universidade Federal do Espírito Santo Centro Tecnológico Departamento de Informática Disciplina: INF 02810 Prof.: (monalessa@inf.ufes.br) Conteúdo 1. Introdução 2. Processo de Software 3. Gerência de

Leia mais

Documento de Arquitetura

Documento de Arquitetura Documento de Arquitetura A2MEPonto - SISTEMA DE PONTO ELETRÔNICO A2MEPonto - SISTEMA DE PONTO ELETRÔNICO #1 Pág. 1 de 11 HISTÓRICO DE REVISÕES Data Versão Descrição Autor 28/10/2010 1 Elaboração do documento

Leia mais

Design Patterns STRATEGY EMERSON BARROS DE MENESES

Design Patterns STRATEGY EMERSON BARROS DE MENESES Design Patterns STRATEGY EMERSON BARROS DE MENESES 1 Breve Histórico Sobre Design Patterns A origem dos Design Patterns (Padrões de Desenho ou ainda Padrões de Projeto) vem do trabalho de um arquiteto

Leia mais

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa Agenda Introdução Aplicações interativas de TV Digital Desafios de layout e usabilidade Laboratório de usabilidade Desafios

Leia mais

Introdução a Servlets

Introdução a Servlets Linguagem de Programação para Web Introdução a Servlets Prof. Mauro Lopes 1-31 21 Objetivos Iniciaremos aqui o estudo sobre o desenvolvimento de sistemas web usando o Java. Apresentaremos nesta aula os

Leia mais

Excel 2010 Modulo II

Excel 2010 Modulo II Excel 2010 Modulo II Sumário Nomeando intervalos de células... 1 Classificação e filtro de dados... 3 Subtotais... 6 Validação e auditoria de dados... 8 Validação e auditoria de dados... 9 Cenários...

Leia mais

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick Roteiro Introdução Objetivos do trabalho Fundamentação teórica Desenvolvimento

Leia mais

e-vent-br: Proposta de um Sistema Web de Gerenciamento de Eventos Acadêmicos

e-vent-br: Proposta de um Sistema Web de Gerenciamento de Eventos Acadêmicos e-vent-br: Proposta de um Sistema Web de Gerenciamento de Eventos Acadêmicos Luis Paulo da Silva Carvalho, Moara Sousa Brito, Pablo Freire Matos, Lucas Amparo Barbosa, Cremildo Lima Gomes, Ivick Roberta

Leia mais

DESENVOLVIMENTO DE SISTEMAS COM GRAILS + IREPORT

DESENVOLVIMENTO DE SISTEMAS COM GRAILS + IREPORT DESENVOLVIMENTO DE SISTEMAS COM GRAILS + IREPORT Prof. Marcos Vinicius Fidelis Universidade Tecnológica Federal do Paraná Campus Ponta Grossa Universidade Estadual de Ponta Grossa ROTEIRO O Legado Vitórias

Leia mais

PictureFrame: Um padrão para criação de imagens reutilizáveis

PictureFrame: Um padrão para criação de imagens reutilizáveis PictureFrame: Um padrão para criação de imagens reutilizáveis Paulo A. S. Costa 1,2,3, Ismayle S. Santos 1,2,3, Rossana M. C. Andrade 1,2,4 1 Grupo de Redes, Engenharia de Software e Sistemas - GREaT 2

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 BAIXA DE CONTAS A PAGAR RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

Introdução à Plataforma Eclipse. Leandro Daflon daflon@les.inf.puc-rio.br

Introdução à Plataforma Eclipse. Leandro Daflon daflon@les.inf.puc-rio.br Introdução à Plataforma Eclipse Leandro Daflon daflon@les.inf.puc-rio.br Agenda Introdução Arquitetura da Plataforma Componentes da Plataforma JDT PDE Visão Geral do Projeto Eclipse.org 2 Introdução O

Leia mais

Prof. Omero, pág. 63. Banco de Dados InterBase.

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

Leia mais

Linguagem de Programação Visual

Linguagem de Programação Visual Linguagem de Programação Visual Unidade 1 Ambiente de desenvolvimento Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 SOBRE O JAVA... 3 AMBIENTE DE DESENVOLVIMENTO... 5 RECURSOS DA FERRAMENTA NETBEANS...

Leia mais

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software

UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO. Contribuições do MDA para o desenvolvimento de software UNIVERSIDADE FEDERAL DE SANTA CATARINA CURSO DE GRADUAÇÃO EM SISTEMAS DE INFORMAÇÃO Contribuições do MDA para o desenvolvimento de software Anna Carla Mohr Verner Helder Eugenio dos Santos Puia Florianópolis,

Leia mais

AUTOR(ES): VINICIUS RUIZ PONTES SILVA, JAQUELINE CRISTINA DA SILVA, JOÃO PAULO DE OLIVEIRA HONESTO

AUTOR(ES): VINICIUS RUIZ PONTES SILVA, JAQUELINE CRISTINA DA SILVA, JOÃO PAULO DE OLIVEIRA HONESTO Anais do Conic-Semesp. Volume 1, 2013 - Faculdade Anhanguera de Campinas - Unidade 3. ISSN 2357-8904 TÍTULO: IMPLEMENTAÇÃO DE UM SISTEMA PARA INTERCÂMBIOS ESTUDANTIS CATEGORIA: CONCLUÍDO ÁREA: ENGENHARIAS

Leia mais

Correção de cartões de respostas utilizando análise e processamento de imagens digitais

Correção de cartões de respostas utilizando análise e processamento de imagens digitais Correção de cartões de respostas utilizando análise e processamento de imagens digitais Vantuil José de OLIVEIRA NETO¹, Caroline Julliê de Freitas RIBEIRO¹, Samuel Pereira DIAS² ¹ Tecnólogos em Análise

Leia mais

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação

Universidade Federal Rural de Pernambuco. Bacharelado em Sistemas de Informação. Disciplina: Análise e Projeto de Sistemas de Informação Universidade Federal Rural de Pernambuco Bacharelado em Sistemas de Informação Disciplina: Análise e Projeto de Sistemas de Informação Docente: Rodrigo Aluna: Thays Melo de Moraes Diagramas do Projeto

Leia mais

Automação do Processo de Instalação de Softwares

Automação do Processo de Instalação de Softwares Automação do Processo de Instalação de Softwares Aislan Nogueira Diogo Avelino João Rafael Azevedo Milene Moreira Companhia Siderúrgica Nacional - CSN RESUMO Este artigo tem como finalidade apresentar

Leia mais

Desenvolva rapidamente utilizando o frame work CakePHP. Elton Luí s Minetto

Desenvolva rapidamente utilizando o frame work CakePHP. Elton Luí s Minetto Desenvolva rapidamente utilizando o frame work CakePHP Elton Luí s Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Demonstração Ambiente Web É o ambiente formado por algumas tecnologias: Servidor

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

WF Processos. Manual de Instruções

WF Processos. Manual de Instruções WF Processos Manual de Instruções O WF Processos é um sistema simples e fácil de ser utilizado, contudo para ajudar os novos usuários a se familiarizarem com o sistema, criamos este manual. Recomendamos

Leia mais

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl

Ferramenta de apoio a gerência de configuração de software. Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Ferramenta de apoio a gerência de configuração de software Aluno: Rodrigo Furlaneto Orientador: Everaldo Artur Grahl Roteiro de apresentação Introdução Objetivos Fundamentação Teórica Gerência de Configuração

Leia mais

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho

Banco de Dados de Músicas. Andre Lima Rocha Campos Osório Pereira Carvalho Banco de Dados de Músicas Andre Lima Rocha Campos Osório Pereira Carvalho Definição Aplicação Web que oferece ao usuário um serviço de busca de músicas e informações relacionadas, como compositor, interprete,

Leia mais

PRD Tecnologia de Gestão Ltda. Julho/2008

PRD Tecnologia de Gestão Ltda. Julho/2008 O Processo de Desenvolvimento Telescope Julho/2008 Página 1 Sumário Introdução...3 O desenvolvimento de software tradicional...3 O problema da produtividade...3 O problema da portabilidade...6 O problema

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

Programação com Objectos. Programação Centrada em Objectos. Home Page. Ano Lectivo 2008/2009 1º Semestre. Objectivos Programa Bibliografia Avaliação

Programação com Objectos. Programação Centrada em Objectos. Home Page. Ano Lectivo 2008/2009 1º Semestre. Objectivos Programa Bibliografia Avaliação Última actualização: 25 de Outubro de 2008 Ano Lectivo 2008/2009 1º Semestre ção com Objectos ção Centrada em Objectos Docente: Paulo Leocádio Web: www.uac.pt/~pleocadio E-mail: pleocadio@uac.pt : Competências:

Leia mais

MANUAL DO ADMINISTRADOR DO MÓDULO

MANUAL DO ADMINISTRADOR DO MÓDULO MANUAL DO ADMINISTRADOR DO MÓDULO ÍNDICE Relatórios Dinâmicos... 3 Requisitos de Sistema... 4 Estrutura de Dados... 5 Operadores... 6 Tabelas... 7 Tabelas x Campos... 9 Temas... 13 Hierarquia Relacionamento...

Leia mais

EAI Manual do Administrador

EAI Manual do Administrador EAI Manual do Administrador 1 Definição de Host Application O que é um Host Application? Significa Aplicativo Hospedeiro, é o nome dado ao ambiente EAI que estará executando no seu computador ou em um

Leia mais

J. M. Silveira Neto. Sun Campus Ambassador. silveiraneto@gmail.com jose.neto@sun.com http://silveiraneto.net

J. M. Silveira Neto. Sun Campus Ambassador. silveiraneto@gmail.com jose.neto@sun.com http://silveiraneto.net Uma olhada no Netbeans 6 J. M. Silveira Neto Sun Campus Ambassador silveiraneto@gmail.com jose.neto@sun.com http://silveiraneto.net Agenda O que é o Netbeans? Adquira o Netbeans Editor de Código Mais Funcionalidades

Leia mais

Linguagem de Programação JAVA

Linguagem de Programação JAVA Linguagem de Programação JAVA Curso Técnico em Informática Modalida Integrado Instituto Federal do Sul de Minas, Câmpus Pouso Alegre Professora: Michelle Nery Agenda JAVA Histórico Aplicações Pós e Contras

Leia mais

CURSO DESENVOLVEDOR JAVA Edição 2009

CURSO DESENVOLVEDOR JAVA Edição 2009 CURSO DESENVOLVEDOR JAVA Edição 2009 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos e com o uso

Leia mais

Um Framework MVC para. Aplicações em Java utilizando Swing.

Um Framework MVC para. Aplicações em Java utilizando Swing. Um Framework MVC para Aplicações em Java utilizando Swing. Alessandro Lemser Curso de Ciência da Computação Universidade do Vale do Itajaí Campus São José São José, SC 88115-100, Brasil alemser@brturbo.com

Leia mais

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br

Tecnologia Java. Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Tecnologia Java Daniel Destro do Carmo Softech Network Informática daniel@danieldestro.com.br Origem da Tecnologia Java Projeto inicial: Oak (liderado por James Gosling) Lançada em 1995 (Java) Tecnologia

Leia mais

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML

WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Carlos Henrique Pereira WebUML: Uma Ferramenta Colaborativa de Apoio ao Projeto e Análise de Sistemas Descritos em Classes UML Florianópolis - SC 2007 / 2 Resumo O objetivo deste trabalho é especificar

Leia mais

FACULDADE DE CIÊNCIAS SOCIAIS E APLICADAS DO PARANÁ. Sistema de Gestão Escolar PROJETO FINAL Schola Ratio Versão 8

FACULDADE DE CIÊNCIAS SOCIAIS E APLICADAS DO PARANÁ. Sistema de Gestão Escolar PROJETO FINAL Schola Ratio Versão 8 FACULDADE DE CIÊNCIAS SOCIAIS E APLICADAS DO PARANÁ Sistema de Gestão Escolar PROJETO FINAL Schola Ratio Versão 8 CURITIBA Nov 2012 DJULLES IKEDA OSNIR FERREIRA DA CUNHA Sistema de Gestão Escolar PROJETO

Leia mais

VERIFICAR PORTABILIDADE DE APLICAÇÕES. NET QUANDO EXECUTADAS EM AMBIENTES DIVERSOS (WINDOWS, WEB E MOBILE)

VERIFICAR PORTABILIDADE DE APLICAÇÕES. NET QUANDO EXECUTADAS EM AMBIENTES DIVERSOS (WINDOWS, WEB E MOBILE) VERIFICAR PORTABILIDADE DE APLICAÇÕES. NET QUANDO EXECUTADAS EM AMBIENTES DIVERSOS (WINDOWS, WEB E MOBILE) Alexandre Coutinho Evangelista 1 Luiz Gustavo Galves Mählmann 2 Newton Cunha Muller 3 RESUMO Este

Leia mais

Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso

Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso Uma Ferramenta para Geração Automática de Testes Funcionais e Protótipos de Interface a partir de Casos de Uso Ernesto C. Brasil 1, Thiago C. de Sousa 2 1 Centro de Ensino Unificado de Teresina (CEUT)

Leia mais

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC

DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC DESENVOLVENDO APLICAÇÕES UTILIZANDO JAVASERVER FACES E MVC Felipe Moreira Decol Claro 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil felipe4258@hotmail.com, kessia@unipar.br

Leia mais

SISTEMA DE GERENCIAMENTO PARA EMPRESAS DE SUPRIMENTOS DE INFORMÁTICA

SISTEMA DE GERENCIAMENTO PARA EMPRESAS DE SUPRIMENTOS DE INFORMÁTICA Resumo SISTEMA DE GERENCIAMENTO PARA EMPRESAS DE SUPRIMENTOS DE INFORMÁTICA Felipe Marques Limonta 1 limonta8@gmail.com Rafael Lucas Monteiro 2 rafaelmonteiro100@hotmail.com Carlos Alberto Lucas 3 profcarloslucas@gmail.com

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional

Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Aplicativo web para definição do modelo lógico no projeto de banco de dados relacional Juarez Bachmann Orientador: Alexander Roberto Valdameri Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA

APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA APLICATIVO WEB PARA O SETOR DE EXTENSÃO IFC VIDEIRA Autores: Claudiléia Gaio BANDT; Tiago HEINECK; Patrick KOCHAN; Leila Lisiane ROSSI; Angela Maria Crotti da ROSA Identificação autores: Aluna do Curso

Leia mais

3 Estudo de Ferramentas

3 Estudo de Ferramentas 3 Estudo de Ferramentas Existem diferentes abordagens para automatizar um processo de desenvolvimento. Um conjunto de ferramentas pode ser utilizado para aperfeiçoar o trabalho, mantendo os desenvolvedores

Leia mais

INTERLIMS SISTEMA DE GERENCIAMENTO DE INFORMAÇÕES PARA LABORATÓRIOS DE ANÁLISES DE ÁGUA

INTERLIMS SISTEMA DE GERENCIAMENTO DE INFORMAÇÕES PARA LABORATÓRIOS DE ANÁLISES DE ÁGUA INTERLIMS SISTEMA DE GERENCIAMENTO DE INFORMAÇÕES PARA LABORATÓRIOS DE ANÁLISES DE ÁGUA INTERLIMS SISTEMA DE GERENCIAMENTO DE INFORMAÇÕES PARA LABORATÓRIOS DE ANÁLISES DE ÁGUA O InterLIMS se apresenta

Leia mais

Semântica para Sharepoint. Busca semântica utilizando ontologias

Semântica para Sharepoint. Busca semântica utilizando ontologias Semântica para Sharepoint Busca semântica utilizando ontologias Índice 1 Introdução... 2 2 Arquitetura... 3 3 Componentes do Produto... 4 3.1 OntoBroker... 4 3.2 OntoStudio... 4 3.3 SemanticCore para SharePoint...

Leia mais

O Primeiro Programa em Visual Studio.net

O Primeiro Programa em Visual Studio.net O Primeiro Programa em Visual Studio.net Já examinamos o primeiro programa escrito em C que servirá de ponto de partida para todos os demais exemplos e exercícios do curso. Agora, aprenderemos como utilizar

Leia mais

SIGWeb Builder: Um Software Livre para Desenvolvimento de SIG Webs

SIGWeb Builder: Um Software Livre para Desenvolvimento de SIG Webs SIGWeb Builder: Um Software Livre para Desenvolvimento de SIG Webs Helder Guimarães Aragão 1,2,3, Jorge Campos 1 1 GANGES Grupo de Aplicações e Análises Geoespaciais Mestrado em Sistemas e Computação -

Leia mais

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS

FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS FERRAMENTA WEB PARA MODELAGEM LÓGICA EM PROJETOS DE BANCOS DE DADOS RELACIONAIS PAULO ALBERTO BUGMANN ORIENTADOR: ALEXANDER ROBERTO VALDAMERI Roteiro Introdução Objetivos Fundamentação teórica Desenvolvimento

Leia mais

Sistema de Automação Comercial de Pedidos

Sistema de Automação Comercial de Pedidos Termo de Abertura Sistema de Automação Comercial de Pedidos Cabana - Versão 1.0 Iteração 1.0- Release 1.0 Versão do Documento: 1.5 Histórico de Revisão Data Versão do Documento Descrição Autor 18/03/2011

Leia mais

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011

CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 CURSO DESENVOLVEDOR JAVA WEB E FLEX Setembro de 2010 à Janeiro de 2011 O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o.

UNIVERSIDADE FEDERAL DO PARANÁ. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 08 APRESENTAÇÃO Na aula de hoje vamos apresentar e discutir como definir

Leia mais

Análise e Projeto de. Aula 01. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Análise e Projeto de. Aula 01. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Análise e Projeto de Sistemas I Aula 01 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Análise e Projeto de Sistemas I Horário das Aulas: 2as feiras das 10h10 às 11h40 e 5as feiras das 08h25

Leia mais

Sistemas de controle para processos de bateladas

Sistemas de controle para processos de bateladas Sistemas de controle para processos de bateladas Por Alan Liberalesso* Há algum tempo os processos de batelada deixaram de ser um mistério nas indústrias e no ambiente de automação. O cenário atual nos

Leia mais

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias

CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias CURSO DESENVOLVEDOR JAVA Edição Intensiva de Férias O curso foi especialmente planejado para os profissionais que desejam trabalhar com desenvolvimento de sistemas seguindo o paradigma Orientado a Objetos

Leia mais

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem

Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Ontologia Aplicada ao Desenvolvimento de Sistemas de Informação sob o Paradigma da Computação em Nuvem Luiz Cláudio Hogrefe Orientador: Prof. Roberto Heinzle, Doutor Roteiro Introdução Fundamentação teórica

Leia mais

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS

SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS SISTEMA DE GESTÃO DE PROJETOS DE SOFTWARE - SGPS Lilian R. M. Paiva, Luciene C. Oliveira, Mariana D. Justino, Mateus S. Silva, Mylene L. Rodrigues Engenharia de Computação - Universidade de Uberaba (UNIUBE)

Leia mais

Processos de Compras. Tecinco Informática Ltda. Av. Brasil, 5256 3º Andar

Processos de Compras. Tecinco Informática Ltda. Av. Brasil, 5256 3º Andar Processos de Compras Tecinco Informática Ltda. Av. Brasil, 5256 3º Andar 1 Centro Cascavel PR www.tecinco.com.br Sumário Controle de Compras... 4 Parametrização... 4 Funcionamento... 4 Processo de Controle...

Leia mais

ANÁLISE COMPARATIVA ENTRE OS PRINCIPAIS FRAMEWORKS DE DESENVOLVIMENTO JAVA COMPARATIVE ANALYSIS BETWEEN MAIN DEVELOPMENT FRAMEWORKS IN JAVA

ANÁLISE COMPARATIVA ENTRE OS PRINCIPAIS FRAMEWORKS DE DESENVOLVIMENTO JAVA COMPARATIVE ANALYSIS BETWEEN MAIN DEVELOPMENT FRAMEWORKS IN JAVA 1 ANÁLISE COMPARATIVA ENTRE OS PRINCIPAIS FRAMEWORKS DE DESENVOLVIMENTO JAVA COMPARATIVE ANALYSIS BETWEEN MAIN DEVELOPMENT FRAMEWORKS IN JAVA Erik Aceiro Antonio 1 Universidade Estadual Paulista Júlio

Leia mais

3 OOHDM e SHDM 3.1. OOHDM

3 OOHDM e SHDM 3.1. OOHDM 32 3 OOHDM e SHDM Com a disseminação em massa, desde a década de 80, de ambientes hipertexto e hipermídia, principalmente a Web, foi identificada a necessidade de elaborar métodos que estruturassem de

Leia mais

Notas de Aula 05: Aplicação de um caso de uso

Notas de Aula 05: Aplicação de um caso de uso Notas de Aula 05: Aplicação de um caso de uso Objetivos da aula: Aprender a aplicar a técnica de casos de uso em um pequeno problema real Identificar as variáveis relevantes a serem consideradas Modelar

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

ÍNDICE. Sobre o SabeTelemarketing 03. Contato. Ícones comuns à várias telas de gerenciamento. Verificar registros 09. Tela de relatórios 09

ÍNDICE. Sobre o SabeTelemarketing 03. Contato. Ícones comuns à várias telas de gerenciamento. Verificar registros 09. Tela de relatórios 09 ÍNDICE Sobre o SabeTelemarketing 03 Ícones comuns à várias telas de gerenciamento Contato Verificar registros 09 Telas de cadastro e consultas 03 Menu Atalho Nova pessoa Incluir um novo cliente 06 Novo

Leia mais

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org

Conectando Bancos de Dados Microsoft Access no BrOffice.org Base. fornecido pelo Projeto de Documentação do BrOffice.org Conectando Bancos de Dados Microsoft Access no BrOffice.org Base fornecido pelo Projeto de Documentação do BrOffice.org Índice 1 Introdução...2 1.1 Versão... 2 1.2 Licenciamento...2 1.3 Mensagem do Projeto

Leia mais

Documento de Requisitos Projeto SisVendas Sistema de Controle de Vendas para Loja de Informática.

Documento de Requisitos Projeto SisVendas Sistema de Controle de Vendas para Loja de Informática. Documento de Requisitos Projeto SisVendas Sistema de Controle de Vendas para Loja de Informática. 1 Introdução 1.1 Propósito O propósito deste documento de especificação de requisitos é definir os requisitos

Leia mais

Tutorial. O Trade e a Nota Fiscal Eletrônica

Tutorial. O Trade e a Nota Fiscal Eletrônica Tutorial O Trade e a Nota Fiscal Eletrônica Este tutorial explica como configurar o Trade Solution e realizar as principais atividades relacionadas à emissão e ao gerenciamento das Notas Fiscais Eletrônicas

Leia mais

Ambientes Visuais. Ambientes Visuais

Ambientes Visuais. Ambientes Visuais Ambientes Visuais Inicialmente, apenas especialistas utilizavam os computadores, sendo que os primeiros desenvolvidos ocupavam grandes áreas e tinham um poder de processamento reduzido. Porém, a contínua

Leia mais