Framework utilizando reflexão e aspectos para persistência de objetos em java

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

Download "Framework utilizando reflexão e aspectos para persistência de objetos em java"

Transcrição

1 Framework utilizando reflexão e aspectos para persistência de objetos em java Antonio Carlos Rolloff (UNIPAR) acrolloff@gmail.com Arthur Cattaneo Zavadski (UNIPAR) arthur@datacoper.com.br Maria Aparecida Denardi (UNIPAR) maria@unipar.br Resumo: A maioria das aplicações trabalha com dados e necessita armazenar os mesmos de forma persistente, ou seja, que em uma nova execução possam recuperar e utilizar esses dados, isto causa esforço e preocupação para os desenvolvedores, sendo uma complexidade a mais no desenvolvimento. Com o objetivo de reduzir esta preocupação, este artigo propõe a criação de uma camada que faça essa persistência. A proposta é o desenvolvimento de um framework de persistência para Java, que através das técnicas de Aspectos e Reflexão, consiga fazer o mapeamento objeto relacional, persistir e recuperar objetos em tabelas de um banco de dados relacional. Palavras-chave: Aspectos; Framework; Java; Persistência; Reflexão. 1. Introdução A programação Orientada a Objetos vem sendo muito utilizada e junto com ela a persistência de dados em bancos relacionais. Essa arquitetura é muito utilizada devido a grande difusão e confiabilidade existente nos bancos de dados relacionais. Mas para utilizarmos esta arquitetura é necessária a realização de um mapeamento Objeto-Relacional, o qual vai associar objetos com tabelas. No desenvolvimento de software, realizar essa persistência aumenta ainda mais a complexidade e se torna uma tarefa muito trabalhosa, repetitiva e passível de erros para o desenvolvedor. Com isso surge a necessidade da criação de um mecanismo que auxilie neste processo. Este mecanismo é apresentado na forma de um Framework, ou seja, um conjunto de classes que possuem como objetivo principal realizar a persistência de objetos sem que o desenvolvedor necessite se preocupar com a forma como a persistência será realizada. Para realizar esta persistência, o Framework utiliza recursos de reflexão Computacional para conhecer e manipular o objeto e Aspectos para interceptar mudanças no Objeto. 2. Complexidade de Software O desenvolvimento de software é uma tarefa complexa. Porém é possível dominar essa complexidade, ou seja, aprender como vencer a mesma e encontrar soluções eficientes e viáveis. A complexidade não esta apenas nos requisitos funcionais, mas também nos requisitos não funcionais que geralmente são muito importantes e agregam complexidade ao software (BOOCH 1998). A Orientação a Objetos veio para tentar reduzir essa complexidade, porem existem alguns requisitos/preocupações que estão espalhadas em várias partes do sistema, isso é conhecido como entrelaçamento de código. Para reduzir o entrelaçamento de código e tentar reduzir a complexidade do desenvolvimento de software, surgiu a Programação Orientada a Aspectos. 3. Persistência Persistência é uma palavra utilizada para expressar o armazenamento de dados ou informações de um sistema para uma futura recuperação e utilização. É o ato de persistir, ou 1

2 seja, preservar ou conservar a informação. Um exemplo amplamente utilizado é o armazenamento de informações em bancos de dados relacionais. A persistência é uma das complexidades de softwares citadas por (Booch 1998). No desenvolvimento de software, a persistência pode ficar em uma camada separada, com isso reduzindo a complexidade de desenvolvimento do software em si. Em uma programação orientada a objetos, essa camada de persistência fica responsável pelo recebimento de objetos e o seu armazenamento, de forma que possam ser futuramente recuperados. A forma de armazenamento não importa para a aplicação, quem vai se preocupar com isso é a camada de persistência. Essa camada de persistência pode ser desenvolvida na forma de um framework, ou seja, um conjunto de classes que realizam determinadas tarefas, permitindo a sua fácil reutilização. 4. Programação Orientada a Aspectos A Programação Orientada a Aspectos surgiu com o objetivo de reduzir o entrelaçamento de código, com isso reduzindo a complexidade do desenvolvimento de software. Tem como principal premissa a separação de preocupações, ou seja, cada preocupação do sistema é tratada separadamente (RESENDE 2005). Como o próprio nome já sugere, a programação é separada em aspectos. Em determinado momento é analisado e resolvido determinado aspecto, após esta resolução passa-se ao aspecto seguinte, depois outro aspecto. Por exemplo, primeiro será cuidado cuidamos do aspecto de persistência, depois cuida-se do aspecto de registro de log da aplicação e assim por diante, até resolver todos os aspectos necessários no software em questão (SOARES E BORBA 2004). A Orientação a Aspectos não substitui a Orientação a Objetos, mas complementa seus pontos fracos, resolvendo de forma mais simples alguns problemas que seriam muito complexos de se resolver utilizando apenas a Orientação a Objetos. A principal finalidade é reduzir o espalhamento de código, facilitando, por exemplo, mudanças de banco de dados ou de mecanismos de distribuição, entre outros (RESENDE 2005). Na Programação Orientada a Aspectos, é possível interceptar chamadas e introduzir funcionalidades ou alterar a classe, além disso, na interceptação de chamadas é possível acrescentar códigos, ou seja, acrescentar ou modificar funcionalidades da classe. Com isso também é possível identificar chamadas e saber quando determinado método foi executado (HILSDALE E KERSTEN 2004). 5. Reflexão Computacional Java é uma linguagem reflexiva e oferece uma representação de sua própria estrutura, com isso é possível coletar e utilizar informações sobre qualquer classe (ZAVADSKI 2003). Existe uma Classe que representa as Classes, outra Classe que representa os Métodos, outra que representa os Atributos, com isso é possível conhecer a estrutura de uma Classe e também realizar chamadas a seus métodos e recuperar informações sem um prévio conhecimento do método, com isso também é possível implementar uma solução que funcione mesmo com novas classes que sejam criadas depois dela e que possuam diferentes funcionalidades. (RESENDE 2005) Cita que também é possível utilizar reflexão em Aspectos. 2

3 6. Padrões de Projeto Padrões de Projeto (Design Patterns) são modelos/soluções para diversas situações (GAMMA 2000). Descreve soluções simples para problemas específicos no projeto de software orientado a objetos, essas soluções já foram desenvolvidas e aperfeiçoadas ao longo do tempo e são apresentadas na forma dos padrões, em uma forma sucinta e facilmente aplicável para que novos desenvolvimentos possam aproveitar essas soluções, deixando o código mais otimizado e reduzindo os esforços do desenvolvedor. Com isso pode-se utilizar soluções já existentes sem ter que re-inventar a roda. 7. Framework para Persistência 7.1 Ferramentas Utilizadas Para o desenvolvimento do framework, foi definido a utilização da linguagem de programação Java JDK versão 1.5.0_04, a ferramenta de desenvolvimento Eclipse na versão 3.1.0, a ferramenta de modelagem UML Jude Comunity versão e os bancos de dados relacionais PostgreSql versão e Firebird versão A ferramenta Eclipse vai ser equipada com os seguintes plugins: Visual Editor versão 1.1.0, EMF versão 1.1.0, GEF versão 3.1 e AspectJ versão O Visual Editor, EMF e GEF são responsáveis pelo editor gráfico de tela, embora o framework não seja composto por nenhuma tela, esse plugin foi utilizado para criar a aplicação de teste do framework, pois essa possui tela gráfica. Já o plugin AspectJ é um plugin do Eclipse para programar Orientado a Aspectos. A ferramenta de UML Jude foi utilizada para a criação do diagrama de Classes do framework. Para testes foram utilizados os bancos de dados PostgreSql e Firebird por serem bastante difundidos e também de utilização livre, mas o objetivo do framework é poder trabalhar com outros bancos, talvez sem nenhuma mudança por utilizar apenas comandos simples da linguagem SQL, mas se existirem mudanças elas serão mínimas, desde que o banco de dados tenha suporte a comunicação JDBC. 7.2 Funcionalidades Disponibilizadas O framework de persistência irá disponibilizar as seguintes funcionalidades para o usuário: Receber um Objeto e Incluir as informações no banco de dados relacional. Receber um Objeto e Alterar as informações no banco de dados relacional. Receber um Objeto com pelo menos o atributo "ID" preenchido e Excluir a informação no banco de dados relacional. Recuperar informações do banco de dados relacional, converter em uma Coleção (Collection) de Objetos e retornar essa Collection, com base na classe do Objeto, num parâmetro e no nome da coluna a ser utilizada para ordenação. Para atender essas funcionalidades e ainda incluir alguns recursos de otimização, o framework de persistência será composto pelas seguintes Classes conforme Abaixo: Entity EntityManager 3

4 PersistenceManager PersistenceException SqlHelper SingleConnection Aspecto 7.3 Diagrama de Classes FIGURA 1 Diagrama de Classes do Framework Fonte: Primária (2006). 7.4 Classe Entity Todos os Objetos Persistentes devem estender essa classe, ou seja, ela é a super classe dos Objetos Persistentes, nela é definida uma estrutura de controle para saber quais os Atributos foram modificados, essa estrutura de controle é um atributo do tipo TreeMap chamado "changefields" que armazena os atributos que foram modificados, além deste, é 4

5 definido também um atributo "id" do tipo long que é comum para todas as classes persistentes. Com isso as classes que herdam as funcionalidades desta não precisam declarar o atributo "id". As outras classes do framework utilizam referências desta classe, para receber instâncias dos objetos persistentes. 7.5 Classe EntityManager A Classe EntityManager possui um método público e estático responsável pela manipulação da estrutura de controle que a classe Entity possui dos atributos que foram alterados. Essa classe é quem adiciona no atributo "changefields", do tipo TreeMap, o atributo que foi alterado. Esse método é chamado pela classe Aspecto quando o médoto de alteração de um atributo é disparado. O método recebe como parâmetro, uma instância do objeto, qual o atributo que foi alterado e qual o valor que esta sendo atribuído. Com essas informações o método analisa e verifica se o valor que esta sendo atribuído é diferente do valor existente, e se for diferente ele registra que o atributo em questão foi alterado. Isso faz com que apenas os atributos que realmente foram modificados sejam adicionados na estrutura de controle. 7.6 Classe SingleConnection Classe SingleConnection implementa a interface Connection do pacote java.sql, e possui um atributo desse tipo que executa todas as funcionalidades existentes na interface Connection. Essa classe utiliza o padrão Singleton, que define a forma de se retornar uma única instância, neste caso, a instância única é a instância da Connection (GAMMA 2000). A conexão é realizada utilizando parâmetros cadastrados em um arquivo Properties. Neste arquivo é definido o Driver de conexão ao banco, a Url de conexão, o usuário e a senha. A instanciação da conexão é realizada quando ocorre a primeira chamada "getinstancia()" que é um método estático, as informações do arquivo são carregadas no mesmo método e imediatamente antes da instanciação ser realizada. 7.7 Classe Aspecto Classe Aspecto é responsável pela interceptação das chamadas "set*" das classes que herdam da classe Entity. Ao capturar uma chamada ela verifica se é para atributos persistentes e aciona o método estático da classe EntityManager para registrar a alteração no atributo. Ela passa então como parâmetro a instância do objeto, qual o atributo que foi modificado e qual o valor que esta sendo atribuído. Todos os atributos que herdam de Object e que pertençam à classes que herdam de Entity, são persistentes, ou seja, atributos que são dos tipos de dados primitivos ( int, float, double entre outros) não são persistentes, mas os atributos dos tipos de dados que estendem de Objetos (Integer, Double, Float entre outros). são persistentes, exceto os atributos que possuem o seu nome começando com "_trans_". Isso serve para que o usuário possa ter atributos transientes em suas classes persistentes, desde que comece o nome do atributo com "_trans_". 7.8 Classe SqlHelper A Classe SqlHelper é responsável pela geração dos códigos SQL de manipulação. Ela recebe um objeto que é extensão de Entity, e com esse objeto ela é capaz de retornar uma String contendo o código SQL para Alterar, Incluir ou Excluir a informação no banco de 5

6 dados relacional. Essa classe utiliza o atributo "changefields" da classe Entity para saber quais os atributos foram alterados, e gera o código SQL respectivo apenas para os atributos alterados no caso de Incluir e de Alterar, porém no caso do Excluir a classe utiliza apenas o "id". O nome da tabela também é adquirido com base no objeto recebido. Para que isso funcione o nome da Classe de objeto persistente deve ter o mesmo nome da tabela, pois é através do método "getsimplename()" da classe do objeto que é extraído o nome da tabela. 7.9 Classe PersistenceException A Classe PersistenceException é proveniente da extenção da classe Exception, e é utilizada pela classe PersistenceManager para disparar exceções. Esta exceção é disparada sempre que a classe PersistenceManager encontrar algum problema. Com isso as classes, do usuário, que utilizarem métodos da classe PersistenceManager que disparam exceções, terão que tratar a exceção da forma que acharem mais conveniente Classe PersistenceManager Classe PersistenceManager é a classe responsável pela persistência dos dados. É ela quem fornece as funcionalidades do framework de persistência para o usuário, disponibilizando métodos para inserir um objeto através do método insert(), alterar um objeto através do método update(), excluir um objeto através do método delete(), localizar uma coleção de objetos através do método find(), confirmar uma transação através do método commit() e cancelar a transação através do método rollback(). Essa classe é capaz de utilizar as informações de uma tabela do banco de dados e através de chamadas reflexivas enviar as informações para dentro do objeto correspondente. Ela utiliza o padrão Singleton para retornar uma única instância, também segue o padrão Factory, pois é ela quem gera as instâncias dos objetos persistentes que são extendidos de Entity Arquivo Properties Foi criado um arquivo Properties para o armazenamento das informações de conexão com o banco de dados. Basta o usuário alterar os parâmetros para que a persistência seja feita da forma que o usuário deseja. Os parâmetros são: driver Para definir qual o driver de conexão com o banco de dados. url Para definir a url de conexão com o banco de dados(servidor, banco, etc.). user Para definir o nome do usuário de conexão. password Para definir a senha de conexão Restrições para Utilização do Framework Para usufruir dessas funcionalidades, o usuário deve programar as suas classes de Objetos Persistentes seguindo algumas restrições e padrões. As restrições são relacionadas abaixo: A classe persistente deve herdar da classe Entity, ou seja, deve conter em sua declaração extends Entity ; O nome da classe persistente deve ser o mesmo nome utilizado na tabela no banco 6

7 de dados; Os nomes dos atributos da classe persistente também devem ser exatamente iguais aos nomes utilizados nos atributos na tabela do banco de dados; Os atributos persistentes devem ser dos tipos de dados que estendem de Object, por exemplo Double, Float, Integer, Boolean, String, entre outros. Mas não podem ser de tipos primitivos como double, float, int, boolean ; Na classe persistente, para utilizar atributos globais que não sejam persistentes, o nome do atributo deve começar com _trans_ ou ser de um tipo de dado que não estenda de Object, ou seja, tipos de dados primitivos, que é o critério utilizado pelo framework para ignorar o atributo; Ao recuperar um objeto persistente, o usuário deve fazer um cast para o tipo de objeto desejado pois o framework vai retornar o objeto através de uma referência de Entity, claro que essa referencia do tipo Entity vai conter um objeto do tipo que foi solicitado ao método com o primeiro parâmetro Classe ; O framework desabilita a função de commit automático, com isso o usuário deve executar a chamada ao método commit para confirmar a operação realizada; As classes do framework devem ser copiadas e adicionadas ao projeto que pretende utilizar o mesmo. As classes devem permanecer no pacote de origem, pois o Aspecto utiliza o nome do pacote para não interceptar as chamadas do próprio framework, o que geraria um loop infinito Dificuldades Encontradas A idéia inicial seria a criação de um arquivo ".jar" que seria composto pelas classes do framework, bastando o desenvolvedor da aplicação adicionar o JAR do framework no ClassPath da sua aplicação e utilizar os seus recursos. Porém após testes foi constatado que apenas adicionando o JAR no ClassPath não funcionava, as classes do framework podiam ser utilizadas normalmente, mas o aspecto responsável pela interceptação das chamadas aos objetos persistentes não era disparado, com isso a gravação não funcionava, apenas a leitura. A forma encontrada para resolver o problema foi deixar as classes do framework abertas, fora do JAR. Para a utilização do framework é necessário a copia das classes para dentro do projeto que vai utilizar o mesmo, mesmo com essa copia, as classes do framework não vão se misturar as classes do usuário, pois elas ficam em um pacote separado. Essa é uma das restrições, ou melhor, procedimento necessário para possibilitar a utilização do framework. Uma dificuldade encontrada foi capturar as chamadas set nos atributos das classes persistentes, inicialmente pareceu fácil, porem estavam sendo capturadas todas as chamadas, inclusive as chamadas do próprio framework, com isso gerava um loop infinito, pois ao capturar uma chamada o framework executava uma chamada no objeto para registrar o atributo que foi modificado. Após vários testes de diferentes formas, chegou-se ao modelo de captura conforme a figura 2 abaixo. Com esse modelo, são capturadas todas as chamadas aos métodos das classes que Herdam da classe Entity e que são iniciados com a palavra set que recebem como parâmetro um Object ou uma classe que herde de Object e que não pertencem ao pacote org.acr.fraper que é o pacote do framework. FIGURA 2 Pointcut de Interceptação de Alterações nos Atributos Fonte: Primária (2006). 7

8 Outra dificuldade encontrada foi verificar se o valor que esta sendo atribuído era realmente novo, para que fosse possível controlar as alterações verdadeiras, ou seja, as alterações que realmente modificavam o valor do atributo. Para suprir essa necessidade foi definido que todos os atributos fossem de tipos de dados que herdem de Object, pois com isso é possível capturar o valor alterado utilizando uma referencia de Object e fazer a comparação com o valor atual e verificar se ocorreu alguma mudança. 8. Conclusão As dificuldades do desenvolvimento de aplicações em Java que fazem armazenamento de dados, de forma persistente, podem ser amenizadas com a utilização de uma camada que faça essa persistência. Com a definição do seguinte pointcut: pointcut ponto():!(within(entity)) && call(* Entity+.set*(Object+) &&!(within(org.acr.fraper.*));, é possível capturar as chamadas desejadas para saber quando esta sendo atribuído um valor a um atributo de um objeto persistente. Ao capturar a chamada também é capturado o valor que esta sendo atribuído, antes da atribuição, com isso é possível fazer uma comparação entre o valor antigo e o novo valor para saber se o valor esta realmente sendo modificado ou é o mesmo valor que esta sendo atribuído. Com esta informação de quais atributos foram realmente modificados, é possível para o framework fazer a persistência dos dados. Esta persistência é otimizada, o que faz melhorar a performance de gravação dos dados ou de trafego na rede, pois apenas os atributos realmente alterados serão gravados, com isso mesmo que uma tabela possua n campos, apenas as informações que realmente foram alteradas vão ser enviadas ao banco de dados para a gravação. 9. Referências Bibliográficas BOOCH, Grady Object-oriented analysis and design with applications. 2nd ed. California: The Benjamin/Cummings Publishing Company, ZAVADSKI, Arthur C. Utilizando Reflexão Computacional no Desenvolvimento de Aplicações Distribuídas. UFSC, Disponível em < Acesso em: 10 de nov. de GAMMA, Erich Padrões de Projeto: soluções reutilizáveis de software orientado a objetos. Porto Alegre: Bookman, RESENDE, Antonio M. P. de Programação orientada a aspectos em Java. Rio de Janeiro: Brasport, HILSDALE, Erik; KERSTEN, Mik Aspect-Oriented Programming with AspectJ Disponível em: < Acesso em: 10 de nov. de SOARES, Sergio; BORBA, Paulo Desenvolvimento de Software Orientados a Aspectos Utilizando RUP e AspectJ Disponível em: < Talks/TutorialSBES2004_soares_borba.pdf>. Acesso em: 10 de nov. de

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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

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

Manual Captura S_Line

Manual Captura S_Line Sumário 1. Introdução... 2 2. Configuração Inicial... 2 2.1. Requisitos... 2 2.2. Downloads... 2 2.3. Instalação/Abrir... 3 3. Sistema... 4 3.1. Abrir Usuário... 4 3.2. Nova Senha... 4 3.3. Propriedades

Leia mais

HIBERNATE EM APLICAÇÃO JAVA WEB

HIBERNATE EM APLICAÇÃO JAVA WEB HIBERNATE EM APLICAÇÃO JAVA WEB Raul Victtor Barbosa Claudino¹, Ricardo Ribeiro Rufino¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil victtor.claudino@gmail.com, ricardo@unipar.br Resumo: Este

Leia mais

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki

Prevayler. Perola. André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Perola André Luís Sales de Moraes Juliana Keiko Yamaguchi Tatiana Yuka Takaki Prevayler Prevayler é a implementação em Java do conceito de Prevalência. É um framework que prega uma JVM invulnerável

Leia mais

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS

ATRIBUTOS PRIVADOS 6. ENCAPSULAMENTO MÉTODOS PRIVADOS MÉTODOS PRIVADOS ATRIBUTOS PRIVADOS Podemos usar o modificador private, para tornar um atributo privado, obtendo um controle centralizado Definimos métodos para implementar todas as lógicas que utilizam ou modificam o

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

Programação com Acesso a Banco de Dados

Programação com Acesso a Banco de Dados Campus Ipanguaçu Curso: Técnico em Informática Programação com Acesso a Banco de Dados AULA 17 ACESSO A BANCO DE DADOS COM JDBC PROF.: CLAYTON M. COSTA 2 011.2 Introdução Aplicação + Banco de Dados: Funcionalidade

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Engenharia de Software Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 9 Mapeamento em JPA Introdução O mapeamento objeto-relacional

Leia mais

3 SCS: Sistema de Componentes de Software

3 SCS: Sistema de Componentes de Software 3 SCS: Sistema de Componentes de Software O mecanismo para acompanhamento das chamadas remotas se baseia em informações coletadas durante a execução da aplicação. Para a coleta dessas informações é necessário

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Curso: Sistemas de Informações Arquitetura de Software Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 7 JPA A Persistência com JPA Para configurar o JPA

Leia mais

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Manipulação de Banco de Dados com Java Ms. Bruno Crestani Calegaro (bruno.calegaro@ifsc.edu.br) Maio/ 2015 Acesso a um SGBD Em sistemas mais simples o uso de arquivos pode ser usado mas para aplicações

Leia mais

UFG - Instituto de Informática

UFG - Instituto de Informática UFG - Instituto de Informática Especialização em Desenvolvimento de Aplicações Web com Interfaces Ricas EJB 3.0 Prof.: Fabrízzio A A M N Soares professor.fabrizzio@gmail.com Aula 10 Persistência de Dados

Leia mais

Entendendo como funciona o NAT

Entendendo como funciona o NAT Entendendo como funciona o NAT Vamos inicialmente entender exatamente qual a função do NAT e em que situações ele é indicado. O NAT surgiu como uma alternativa real para o problema de falta de endereços

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

2 Diagrama de Caso de Uso

2 Diagrama de Caso de Uso Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Diagrama de Caso de Uso (Use Case) Autoria:Aristófanes Corrêa

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE ESCOLA AGRÍCOLA DE JUNDIAÍ EAJ - PRONATEC / REDE etec MÓDULO III DESENVOLVIMENTO PROFESSOR ADDSON COSTA RESUMO DE AULA CRIAÇÃO E MANIPULAÇÃO DO BANCO DE DADOS

Leia mais

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles:

Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles: Instalação do Netz Para funcionamento do Netz, alguns programas devem ser instalados e alguns procedimentos devem ser seguidos. São eles: Instalação do Java SE 6, que pode ser instalado através da JDK.

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

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Acessando um Banco de Dados

Acessando um Banco de Dados Acessando um Banco de Dados Introdução Agora que você já está craque em JSP e já instalou seu servidor, vamos direto para a parte prática! Neste tutorial vamos aprender a acessar um banco de dados. Para

Leia mais

Manual Módulo Livro Caixa Livro Caixa Atualizada com a versão 1.3.0

Manual Módulo Livro Caixa Livro Caixa Atualizada com a versão 1.3.0 Manual Módulo Livro Caixa Livro Caixa Atualizada com a versão 1.3.0 Noções Gerais: Pg. 02 Instruções para instalação Pg. 02 Ferramentas úteis Pg. 04 Menu Arquivos Empresas Usuárias Pg. 05 Ativar Empresa

Leia mais

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

Leia mais

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira

Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre César M de Oliveira Unified Modeling Language (UML) Universidade Federal do Maranhão UFMA Pós Graduação de Engenharia de Eletricidade Grupo de Computação Assunto: Introdução Autoria:Aristófanes Corrêa Silva Adaptação: Alexandre

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

Wilson Moraes Góes. Novatec

Wilson Moraes Góes. Novatec Wilson Moraes Góes Novatec Copyright 2014 Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução desta obra, mesmo parcial, por qualquer processo,

Leia mais

MÓDULO 5 Movimentações

MÓDULO 5 Movimentações MÓDULO 5 Movimentações Bem-vindo(a) ao quinto módulo do curso. Agora que você já conhece as entradas no HÓRUS, aprenderá como são feitas as movimentações. As movimentações do HÓRUS são: Requisição ao Almoxarifado:

Leia mais

SUMÁRIO Acesso ao sistema... 2 Atendente... 3

SUMÁRIO Acesso ao sistema... 2 Atendente... 3 SUMÁRIO Acesso ao sistema... 2 1. Login no sistema... 2 Atendente... 3 1. Abrindo uma nova Solicitação... 3 1. Consultando Solicitações... 5 2. Fazendo uma Consulta Avançada... 6 3. Alterando dados da

Leia mais

Aula 1 Acesso a Banco de Dados

Aula 1 Acesso a Banco de Dados Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores

Leia mais

Análise e Projeto Orientado a Objetos. Modelagem de Domínio

Análise e Projeto Orientado a Objetos. Modelagem de Domínio + Análise e Projeto Orientado a Objetos Modelagem de Domínio Introdução 2 n A modelagem do domínio está relacionada à descoberta das informações que são gerenciadas pelo sistema. O resultado dessa investigação

Leia mais

LINGUAGEM DE BANCO DE DADOS

LINGUAGEM DE BANCO DE DADOS LINGUAGEM DE BANCO DE DADOS Gabriela Trevisan Bacharel em Sistemas de Informação Universidade Federal do Rio Grande Pós-Graduanda Formação Pedagógica de Professores (FAQI) Conceito de BD Um banco de dados

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

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC

Módulo 5 JPATransaction Camadas Turma Turma TurmaBC .business @BusinessController TurmaBC TurmaBC TurmaBC Módulo 5 No módulo anterior adaptamos nosso projeto para persistir as informações no banco de dados utilizando as facilidades da extensão demoiselle-jpa. Experimentamos o controle transacional do Framework

Leia mais

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma:

Apesar de existirem diversas implementações de MVC, em linhas gerais, o fluxo funciona geralmente da seguinte forma: 1 Introdução A utilização de frameworks como base para a construção de aplicativos tem sido adotada pelos desenvolvedores com três objetivos básicos. Primeiramente para adotar um padrão de projeto que

Leia mais

Manual de Administração

Manual de Administração Manual de Administração Produto: n-mf Lexmark Versão: 4.0.3 Versão do Doc.: 1.0 Autor: Bruno Nercolini Ceron Data: 22/11/2010 Aplica-se à: Clientes e Revendas Alterado por: Release Note: Detalhamento de

Leia mais

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate

Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Desenvolvimento de aplicação web com framework JavaServer Faces e Hibernate Tiago Peres Souza 1, Jaime Willian Dias 1,2 ¹Universidade paranaense (Unipar) Paranavaí PR Brasil tiagop_ti@hotmail.com 2 Universidade

Leia mais

ruirossi@ruirossi.pro.br

ruirossi@ruirossi.pro.br Persistência Com JPA & Hibernate Rui Rossi dos Santos ruirossi@ruirossi.pro.br Mediador: Rui Rossi dos Santos Slide 1 Mapeamento Objeto-Relacional Contexto: Linguagem de programação orientada a objetos

Leia mais

Persistência de Classes em Tabelas de Banco de Dados

Persistência de Classes em Tabelas de Banco de Dados UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Persistência de Classes em Tabelas de Banco de Dados 1) Introdução! Em algumas situações, pode ser necessário preservar os objetos

Leia mais

Orientação a Objetos

Orientação a Objetos Orientação a Objetos 1. Sobrecarga (Overloading) Os clientes dos bancos costumam consultar periodicamente informações relativas às suas contas. Geralmente, essas informações são obtidas através de extratos.

Leia mais

Especificação do 3º Trabalho

Especificação do 3º Trabalho Especificação do 3º Trabalho I. Introdução O objetivo deste trabalho é abordar a prática da programação orientada a objetos usando a linguagem Java envolvendo os conceitos de classe, objeto, associação,

Leia mais

INSTRUMENTO NORMATIVO 004 IN004

INSTRUMENTO NORMATIVO 004 IN004 1. Objetivo Definir um conjunto de critérios e procedimentos para o uso do Portal Eletrônico de Turismo da Região disponibilizado pela Mauatur na Internet. Aplica-se a todos os associados, empregados,

Leia mais

TOTVS BA Guia de Customização Linha Logix

TOTVS BA Guia de Customização Linha Logix TOTVS BA Guia de Customização Linha Logix Guia de Customização Sumário Título do documento 1. Objetivo... 3 2. Introdução... 3 3. Customização... 3 2 TOTVS BA Linha Logix Guia de Customização Projeto/Versão:

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Modelagemde Software Orientadaa Objetos com UML

Modelagemde Software Orientadaa Objetos com UML Modelagemde Software Orientadaa Objetos com UML André Maués Brabo Pereira Departamento de Engenharia Civil Universidade Federal Fluminense Colaborando para a disciplina CIV 2802 Sistemas Gráficos para

Leia mais

ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS

ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS ENGENHARIA DE SOFTWARE DESENVOLVIMENTO EM CAMADAS Uma estrutura para um projeto arquitetural de software pode ser elaborada usando camadas e partições. Uma camada é um subsistema que adiciona valor a subsistemas

Leia mais

Manual de Utilização

Manual de Utilização Manual de Utilização Versão 1.0 18/01/2013 Sempre consulte por atualizações deste manual em nossa página. O Cotação Web está em constante desenvolvimento, podendo ter novas funcionalidades adicionadas

Leia mais

JDBC Java Database Connectivity

JDBC Java Database Connectivity 5 JDBC Java Database Connectivity Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Trabalhar com bancos de dados em aplicações web em JSP através das classes

Leia mais

Engenharia de Software III

Engenharia de Software III Engenharia de Software III Casos de uso http://dl.dropbox.com/u/3025380/es3/aula6.pdf (flavio.ceci@unisul.br) 09/09/2010 O que são casos de uso? Um caso de uso procura documentar as ações necessárias,

Leia mais

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br

Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados. Prof. Josenildo Silva jcsilva@ifma.edu.br Laboratório de Banco de Dados Aula 1 Acesso a Banco de Dados Prof. Josenildo Silva jcsilva@ifma.edu.br Introdução O JDBC (Java Database Connectivity) foi criado com o intuito de fornecer aos programadores

Leia mais

WorkFlow WEB Caberj v20150127.docx. Manual Atendimento Caberj

WorkFlow WEB Caberj v20150127.docx. Manual Atendimento Caberj Manual Atendimento Caberj ÍNDICE CARO CREDENCIADO, LEIA COM ATENÇÃO.... 3 ATENDIMENTO... 3 FATURAMENTO... 3 ACESSANDO O MEDLINK WEB... 4 ADMINISTRAÇÃO DE USUÁRIOS... 5 CRIANDO UM NOVO USUÁRIO... 5 EDITANDO

Leia mais

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate

Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Uma Abordagem sobre Mapeamento Objeto Relacional com Hibernate Luis Gustavo Zandarim Soares 1, Késsia Rita da Costa Marchi 1 1 Universidade Paranaense (Unipar) Paraná PR Brasil luisgustavo@live.co.uk,

Leia mais

Guia de Atualização TOTVS Segurança e Acesso 12.1

Guia de Atualização TOTVS Segurança e Acesso 12.1 06/2015 Sumário 1 Prefácio... 3 1.2 Finalidade... 3 1.3 Público Alvo... 3 1.4 Organização deste Guia... 3 1.5 Documentações Importantes... 3 2 Atualização... 4 2.1 Executando o Updater de Atualização...

Leia mais

Integrando Java com Banco de Dados

Integrando Java com Banco de Dados Especialização em Engenharia de Software Programação Orientada a Objetos JDBC Java Database Connectivity Sérgio Soares scbs@cin.ufpe.br Objetivos Apresentar os conceitos básicos da especificação de Java

Leia mais

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 11-1. INTRODUÇÃO TRIGGERS (GATILHOS OU AUTOMATISMOS) Desenvolver uma aplicação para gerenciar os dados significa criar uma aplicação que faça o controle sobre todo ambiente desde a interface, passando

Leia mais

Conceitos de Banco de Dados

Conceitos de Banco de Dados Conceitos de Banco de Dados Autor: Luiz Antonio Junior 1 INTRODUÇÃO Objetivos Introduzir conceitos básicos de Modelo de dados Introduzir conceitos básicos de Banco de dados Capacitar o aluno a construir

Leia mais

Manual BitFarmácia Popular Versão 2 Software Autorizador Farmácia Popular

Manual BitFarmácia Popular Versão 2 Software Autorizador Farmácia Popular Manual BitFarmácia Popular Versão 2 Software Autorizador Farmácia Popular Bitshop Informática Ltda Todos os Direitos Reservados www.bitshop.com.br Conteúdo 1. A Quem se Destina o BitFarmácia Popular 2.

Leia mais

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 ArpPrintServer Sistema de Gerenciamento de Impressão By Netsource www.netsource.com.br Rev: 02 1 Sumário INTRODUÇÃO... 3 CARACTERÍSTICAS PRINCIPAIS DO SISTEMA... 3 REQUISITOS DE SISTEMA... 4 INSTALAÇÃO

Leia mais

Persistência e Banco de Dados em Jogos Digitais

Persistência e Banco de Dados em Jogos Digitais Persistência e Banco de Dados em Jogos Digitais Prof. Marcos Francisco Pereira da Silva Especialista em Engenharia de Software Jogos Digitais - Computação Gráfica 1 Agenda Vantagens de usar a abordagem

Leia mais

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

Leia mais

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA

SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA SISTEMAS OPERACIONAIS CAPÍTULO 3 CONCORRÊNCIA 1. INTRODUÇÃO O conceito de concorrência é o princípio básico para o projeto e a implementação dos sistemas operacionais multiprogramáveis. O sistemas multiprogramáveis

Leia mais

Documento de Análise e Projeto VideoSystem

Documento de Análise e Projeto VideoSystem Documento de Análise e Projeto VideoSystem Versão Data Versão Descrição Autor 20/10/2009 1.0 21/10/2009 1.0 05/11/2009 1.1 Definição inicial do documento de análise e projeto Revisão do documento

Leia mais

Dadas a base e a altura de um triangulo, determinar sua área.

Dadas a base e a altura de um triangulo, determinar sua área. Disciplina Lógica de Programação Visual Ana Rita Dutra dos Santos Especialista em Novas Tecnologias aplicadas a Educação Mestranda em Informática aplicada a Educação ana.santos@qi.edu.br Conceitos Preliminares

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br Introdução O computador como ferramenta indispensável: Faz parte das nossas vidas; Por si só não faz nada de útil; Grande capacidade de resolução

Leia mais

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1 1 Sumário 1 - Instalação Normal do Despachante Express... 3 2 - Instalação do Despachante Express em Rede... 5 3 - Registrando o Despachante Express...

Leia mais

Cenários do CEL. Acessar ao sistema

Cenários do CEL. Acessar ao sistema Cenários do CEL Acessar ao sistema Permitir que o usuário acesse ao Sistema de Léxicos e Cenários nas seguintes condições: logando-se, quando já estiver cadastrado; ou incluindo usuário independente, quando

Leia mais

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com

Persistência de dados com JPA. Hélder Antero Amaral Nunes haanunes@gmail.com Persistência de dados com JPA Hélder Antero Amaral Nunes haanunes@gmail.com O que é persistência? A persistência de dados é o fato de pegar um dado e torná-lo persistente, ou seja, salvar em algum banco

Leia mais

Manual de Operação do Sistema de Tickets Support Suite

Manual de Operação do Sistema de Tickets Support Suite Manual de Operação do Sistema de Tickets Support Suite Sumário Acessando a página do HelpDesk helpdesk.virtuem.com.br... 3 Criando um Ticket... 6 Visualizando Tickets Existentes... 9 Respondendo um Ticket...

Leia mais

Guia de Especificação de Caso de Uso Metodologia CELEPAR

Guia de Especificação de Caso de Uso Metodologia CELEPAR Guia de Especificação de Caso de Uso Metodologia CELEPAR Agosto 2009 Sumário de Informações do Documento Documento: guiaespecificacaocasouso.odt Número de páginas: 10 Versão Data Mudanças Autor 1.0 09/10/2007

Leia mais

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2.

1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. 1. Introdução pág.3 2. Apresentação do sistema Joomla! pág.4 3. Acessando a administração do site pág.4 4. Artigos 4.1. Criando um Artigo 4.2. Editando um Artigo 4.3. Excluindo um Artigo 4.4. Publicar

Leia mais

Documento de Projeto de Sistema

Documento de Projeto de Sistema Documento de Projeto de Sistema 1 IFES / Serra Projeto: Gerenciador de Pelada - Oasis Registro de Alterações: Versão Responsável Data Alterações 0.1 Eduardo Rigamonte, Geann Valfré, João Paulo Miranda,

Leia mais

Rock In Rio - Lisboa

Rock In Rio - Lisboa Curso de Engenharia Informática Industrial Rock In Rio - Lisboa Elaborado por: Ano Lectivo: 2004/05 Tiago Costa N.º 4917 Turma: C Gustavo Graça Patrício N.º 4757 Turma: C Docente: Professora Maria Estalagem

Leia mais

Docas do Pará - Guia de Instalação

Docas do Pará - Guia de Instalação Docas do Pará - Guia de Instalação Procedimento para instalar em um novo porto Primeiro faça a instalação no computador servidor do porto (v. abaixo), depois instale em cada máquina de cadastro/acompanhamento

Leia mais

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO AVANÇADA -CONCEITOS DE ORIENTAÇÃO A OBJETOS Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br ROTEIRO 1. Conceitos de Orientação a Objetos Introdução O paradigma da POO Classes

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

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

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

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

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET

IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET 1 IMPLEMENTAÇÃO DE SOCKETS E THREADS NO DESENVOLVIMENTO DE SISTEMAS CLIENTE / SERVIDOR: UM ESTUDO EM VB.NET Daniel da Silva Carla E. de Castro Franco Diogo Florenzano Avelino daniel.silva1@ext.mpsa.com

Leia mais

Programação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage

Programação para Android. Aula 07: Persistência de dados Shared Preferences, Internal e External Storage Programação para Android Aula 07: Persistência de dados Shared Preferences, Internal e External Storage Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados.

Leia mais

Figura 1. A Classe Java

Figura 1. A Classe Java Conexã o com MySQL Connection Factory Para criar as conexões com o banco de dados será utilizado um padrão chamado Factory, onde através dele se terá uma única classe que proverá uma fábrica de conexão

Leia mais

Manual do usuário. Softcall Java. versão 1.0.5

Manual do usuário. Softcall Java. versão 1.0.5 Manual do usuário Softcall Java versão 1.0.5 Sumário Iniciando SoftCall...3 Tela Principal...3 Configurando o SoftCall...4 Agenda...5 Incluindo um contato...5 Procurando um contato...6 Apagando um contato...6

Leia mais

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education

Slide 1 Deitel/Deitel, 8e. Java Como programar Copyright 2010 Pearson Education Java Como Programar, 8/E Slide 1 Slide 2 Slide 3 Métodos genéricos e classes genéricas (e interfaces) permitem especificar, com uma única declaração de método, um conjunto de métodos relacionados ou, com

Leia mais

Processo de Controle das Reposições da loja

Processo de Controle das Reposições da loja Processo de Controle das Reposições da loja Getway 2015 Processo de Reposição de Mercadorias Manual Processo de Reposição de Mercadorias. O processo de reposição de mercadorias para o Profit foi definido

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

Especificação de Requisitos

Especificação de Requisitos Projeto/Versão: Versão 11.80 Melhoria Requisito/Módulo: 000552 / Conector Sub-Requisito/Função: Multas Tarefa/Chamado: 01.08.01 País: Brasil Data Especificação: 13/05/13 Rotinas Envolvidas Rotina Tipo

Leia mais

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior

Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Guia do Demoiselle Audit Demoiselle Audit Paulo Gladson Ximenes Pinheiro Clóvis Lemes Ferreira Júnior Demoiselle Audit... v 1. Auditor... 1 1.1. Auditor de Persistência... 1 1.2. Auditor de Visão... 1

Leia mais

OCOMON PRIMEIROS PASSOS

OCOMON PRIMEIROS PASSOS OCOMON PRIMEIROS PASSOS O OCOMON ainda não possui um arquivo de Help para atender a todas questões relacionadas ao sistema. Esse arquivo serve apenas para dar as principais instruções para que você tenha

Leia mais

Manual de configuração do sistema

Manual de configuração do sistema Manual de configuração do sistema (v.1.5.x Beta) Rua México, 119 Sala 2004 Centro Rio de Janeiro, RJ www.doctors-solution.com.br www.simdoctor.com.br contato@simdoctor.com.br Sumário 1. Fazendo seu primeiro

Leia mais

Oficina. Praça das Três Caixas d Água Porto Velho - RO

Oficina. Praça das Três Caixas d Água Porto Velho - RO Oficina Praça das Três Caixas d Água Porto Velho - RO Oficina Ministrante: Marcel Leite Rios Apresentação Pessoal Marcel Leite Rios Prof. de Informática IFRO Graduado: Sistemas de Informação - ULBRA MBA

Leia mais

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio

3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio 32 3 Um Framework Orientado a Aspectos para Monitoramento e Análise de Processos de Negócio Este capítulo apresenta o framework orientado a aspectos para monitoramento e análise de processos de negócio

Leia mais

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

Construtor de sites SoftPixel GUIA RÁPIDO - 1 - GUIA RÁPIDO - 1 - Sumário Introdução...3 Por que utilizar o Construtor de Sites?...3 Vantagens do Construtor de Sites...3 Conceitos básicos...3 Configuração básica do site...5 Definindo o layout/template

Leia mais

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT.

Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT. Tutorial WEB CONTENT MANAGEMENT [WCM] Obtenha benefícios a partir das aplicações customizadas da ADMT. PÁGINA: 2 de 21 Nenhuma parte deste documento pode ser utilizado ou reproduzido, em qualquer meio

Leia mais

Engenharia de Requisitos Estudo de Caso

Engenharia de Requisitos Estudo de Caso Engenharia de Requisitos Estudo de Caso Auxiliadora Freire Fonte: Engenharia de Software 8º Edição / Ian Sommerville 2007 Slide 1 Engenharia de Requisitos Exemplo 1 Reserva de Hotel 1. INTRODUÇÃO Este

Leia mais