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.

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

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

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

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

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

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

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

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

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

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

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

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

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

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

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

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

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

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

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

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

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

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

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

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

Arquitetura Proposta

Arquitetura Proposta Componentização e Integração de Sistemas de Informação em Saúde de Grande Porte Bianca de Oliveira Spazziani 1, Fabiane Bizinella Nardon 1 1 Fundação Atech / Vidatis Sistemas de Informação em Saúde, São

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

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

Especialização em Arquitetura e Engenharia de Software

Especialização em Arquitetura e Engenharia de Software Especialização em Arquitetura e Engenharia de Software O curso vai propiciar que você seja um especialista para atua atuar na área de Arquitetura de Software em diferentes organizações, estando apto a:

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

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

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

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária

SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária SISTEMA TYR DIAGRAMAS DE CLASSE E SEQUÊNCIA Empresa: Academia Universitária Cascavel Novembro de 2009 Pedro Patitucci Finamore Daniel Bordignon Cassanelli Marco Antonio da Rosa DIAGRAMAS DE CLASSE E SEQUÊNCIA

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

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

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

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

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com

Palavras-chave: i3geo, gvsig, Mapserver, integração, plugin. Contato: edmar.moretti@terra.com.br ou edmar.moretti@gmail.com III Jornada Latinoamericana e do Caribe do gvsig Artigo: Integração do software i3geo com o gvsig Autor: Edmar Moretti Resumo: O i3geo é um software para a criação de mapas interativos para internet qu

Leia mais

GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG

GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG Bruno Alberto Soares Oliveira 1,3 ; Lucas Vieira Murilo 1,3 ; Maik Olher Chaves 2,3 1 Estudante de Engenharia de

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

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

Roteiro 2 Conceitos Gerais

Roteiro 2 Conceitos Gerais Roteiro 2 Conceitos Gerais Objetivos: UC Projeto de Banco de Dados Explorar conceitos gerais de bancos de dados; o Arquitetura de bancos de dados: esquemas, categorias de modelos de dados, linguagens e

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

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Ponta Grossa 2012 ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Trabalho elaborado pelo

Leia mais

Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet

Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet 1. Autores Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet Luciano Eugênio de Castro Barbosa Flavio Barbieri Gonzaga 2. Resumo O custo de licenciamento

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

Unidade IV ADMINISTRAÇÃO DE BANCO DE DADOS. Software livre se refere à liberdade dos usuários com relação ao software, mais precisamente:

Unidade IV ADMINISTRAÇÃO DE BANCO DE DADOS. Software livre se refere à liberdade dos usuários com relação ao software, mais precisamente: ADMINISTRAÇÃO DE BANCO DE DADOS Unidade IV DEFINIR A MELHOR SOLUÇÃO DE BANCO DE DADOS PARA AS NECESSIDADES DA EMPRESA.1 O uso das tecnologias.1.1 O software livre 1 A tecnologia de banco de dados, assim

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS

UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS UNIVERSIDADE FEDERAL DO RIO GRANDE TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS Professor: Adriel Ziesemer Disciplina: Engenharia de Software TRABALHO ACADÊMICO Cristian Santos - nº 45671 Guilherme

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

Frameworks. Pasteur Ottoni de Miranda Junior

Frameworks. Pasteur Ottoni de Miranda Junior Frameworks Pasteur Ottoni de Miranda Junior 1-Definição Apesar do avanço das técnicas de desenvolvimento de software, a construção de software ainda é um processo extremamente complexo.a reutilização tem

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

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

Planejamento da disciplina: Modelagem de processos de negócio

Planejamento da disciplina: Modelagem de processos de negócio UNIVERSIDADE FEDERAL DE MINAS GERAIS / INSTITUTO DE CIÊNCIAS EXATAS DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO Planejamento da disciplina: Modelagem de processos de negócio Professor: Clarindo Isaías Pereira

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

INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA DE COMPUTADORES EM C

INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA DE COMPUTADORES EM C INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA DE COMPUTADORES EM C Prof. Msc. Helio Esperidião PROGRAMAS Um computador nada mais faz do que executar programas. Um programa é simplesmente uma seqüência de instruções

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

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

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

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

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP

Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP UNIVERSIDADE DE SÃO PAULO Instituto de Ciências Matemáticas e de Computação Departamento de Ciências da Computação e Estatística Documentação do Sistema de Reserva de Salas da Intranet do ICMC-USP André

Leia mais

Metodologia de Desenvolvimento de Sistemas

Metodologia de Desenvolvimento de Sistemas Metodologia de Desenvolvimento de Sistemas Aula 1 Ementa Fases do Ciclo de Vida do Desenvolvimento de Software, apresentando como os métodos, ferramentas e procedimentos da engenharia de software, podem

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

ATENAS: Um Sistema Gerenciador de Regras de Negócio

ATENAS: Um Sistema Gerenciador de Regras de Negócio 1. Introdução ATENAS: Um Sistema Gerenciador de Regras de Negócio Geraldo Zimbrão da Silva (IM/UFRJ) Victor Teixeira de Almeida (COPPE/UFRJ) Jano Moreira de Souza (COPPE/UFRJ) Francisco Gonçalves Pereira

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

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

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software

Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Ambiente de workflow para controle de métricas no processo de desenvolvimento de software Gustavo Zanini Kantorski, Marcelo Lopes Kroth Universidade Federal de Santa Maria (UFSM) 97100-000 Santa Maria

Leia mais

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE

O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE O CONCEITO DE TDD NO DESENVOLVIMENTO DE SOFTWARE Renan Leme Nazário, Ricardo Rufino Universidade Paranaense (Unipar) Paranavaí PR - Brasil renazariorln@gmail.com, ricardo@unipar.br Resumo. Este artigo

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

Curso da Ciência da Computação Disciplina Desenvolvimento de Aplicações Web

Curso da Ciência da Computação Disciplina Desenvolvimento de Aplicações Web Curso da Ciência da Computação Disciplina Desenvolvimento de Aplicações Web Semestre 2011.02 Turma 852 Trabalho Final 1. Descrição dos Requisitos da Aplicação Construir uma aplicação Java que implemente

Leia mais

Introdução. Nesta guia você aprenderá:

Introdução. Nesta guia você aprenderá: 1 Introdução A criação de uma lista é a primeira coisa que devemos saber no emailmanager. Portanto, esta guia tem por objetivo disponibilizar as principais informações sobre o gerenciamento de contatos.

Leia mais

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural

Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Resumo: Perguntas a fazer ao elaborar um projeto arquitetural Sobre entidades externas ao sistema Quais sistemas externos devem ser acessados? Como serão acessados? Há integração com o legado a ser feita?

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

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano

Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Programação Servidor para Sistemas Web 1 Unidade 8: Padrão MVC e DAO Prof. Daniel Caetano Objetivo: Apresentar a teoria por trás dos padrões na construção de aplicações Web. INTRODUÇÃO Nas aulas anteriores

Leia mais

Introdução ao IDE Netbeans (Programação Java)

Introdução ao IDE Netbeans (Programação Java) Universidade Federal do ABC (UFABC) Disciplina: Processamento da Informação (BC-0505) Assunto: Java e Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas necessários...

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

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

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

Modelo de dados do Data Warehouse

Modelo de dados do Data Warehouse Modelo de dados do Data Warehouse Ricardo Andreatto O modelo de dados tem um papel fundamental para o desenvolvimento interativo do data warehouse. Quando os esforços de desenvolvimentos são baseados em

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

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

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

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

Powerlogic Agosto / 2011.

Powerlogic Agosto / 2011. Formação de Profissionais para Desenvolvimento Java EE/Web 2.0 Orientações para capacitação de mão de obra especializada para atividades de Especificação, Arquitetura e Implementação de Aplicações Java

Leia mais

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop

MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop MANUAL DE UTILIZAÇÃO Aplicativo Controle de Estoque Desktop 1 1 INICIANDO O APLICATIVO PELA PRIMEIRA VEZ... 3 2 PÁGINA PRINCIPAL DO APLICATIVO... 4 2.1 INTERFACE INICIAL... 4 3 INICIANDO PROCESSO DE LEITURA...

Leia mais

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior

Reuso. Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reuso Curso de Especialização DEINF - UFMA Desenvolvimento Orientado a Objetos Prof. Geraldo Braz Junior Reutilização de Software Na maioria das áreas de engenharia de software, sistemas são desenvolvidos

Leia mais

Desenvolvimento de um aplicativo básico usando o Google Android

Desenvolvimento de um aplicativo básico usando o Google Android Desenvolvimento de um aplicativo básico usando o Google Android (Organização do Ambiente) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus

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

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

Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de 2009. Rafael Polo e Sabrina Arêas

Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de 2009. Rafael Polo e Sabrina Arêas Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de 2009 Rafael Polo e Sabrina Arêas Contexto 60 s - Primeiros sistemas de informação corporativos. 70 s Desenvolvimento e comercialização

Leia mais

Framework para jogos de cartas

Framework para jogos de cartas Framework para jogos de cartas por André Luís Knabben e Thiago Robert Professor Doutor Ricardo Pereira e Silva Orientador Resumo Projetar artefatos de software visando a reusabilidade é uma tarefa complexa.

Leia mais

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br

Linguagens de. Aula 02. Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação III Aula 02 Profa Cristiane Koehler cristiane.koehler@canoas.ifrs.edu.br Linguagens de Programação Técnica de comunicação padronizada para enviar instruções a um computador. Assim

Leia mais

Gerenciamento de Configuração de Software

Gerenciamento de Configuração de Software Gerenciamento de Configuração de Software Prof. Ricardo Argenton Ramos [Baseado na apresentação do prof. Masiero ICMC-USP] Contexto para Gerência de Configuração 2 Problema dos Dados Compartilhados Desenvolvedor

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

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

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 6 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM MARÇO / 2015 2 de 6 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

Programação Orientada a Objetos. Padrões de Criação

Programação Orientada a Objetos. Padrões de Criação Programação Orientada a Objetos Padrões de Criação Cristiano Lehrer, M.Sc. Objetivos Apresentar cada um dos 23 padrões clássicos descrevendo: O problema que solucionam. A solução. Diagramas UML (Unified

Leia mais

DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES

DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES DESENVOLVIMENTO DE APLICATIVO MÓVEL PARA AUXÍLIO NA PREVENÇÃO DE TRAGÉDIAS EM DECORRÊNCIA DE ENCHENTES Autores: Luciano GONÇALVES JUNIOR, Natália Maria Karmierczak DA SILVA, Paulo César Rodacki GOMES,

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

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

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br

Padrões GoF. Leonardo Gresta Paulino Murta leomurta@ic.uff.br Padrões GoF Leonardo Gresta Paulino Murta leomurta@ic.uff.br Agenda Introdução Padrões de Criação Padrões de Estrutura Padrões de comportamento Leonardo Murta Padrões GoF 2 Introdução Os padrões GoF (Gamma

Leia mais

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS

SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS SISTEMA DE AGENDAMENTO E GERENCIAMENTO DE CONSULTAS CLÍNICAS Pablo dos Santos Alves Alexander Roberto Valdameri - Orientador Roteiro da apresentação Introdução Objetivos Motivação Revisão bibliográfica

Leia mais