Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Programação Orientada a Aspectos, Teses (TCC) de Metodologias de Desenvolvimento de Software

AOP, JPA, Hibernate, Programação Orientada a Aspectos, Apresentação TCC

Tipologia: Teses (TCC)

Antes de 2010

Compartilhado em 12/08/2021

forever-be-young
forever-be-young 🇧🇷

4 documentos

1 / 28

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
FUNDAÇÃO EDUCACIONAL JAYME DE ALTAVILA – FEJAL
CENTRO DE ESTUDOS SUPERIORES DE MACEIÓ – CESMAC
FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS – FACET
ADAILTON PIMENTEL REIS
PROGRAMAÇÃO ORIENTADA A ASPECTOS COM PERSISTÊNCIA
NO DESENVOLVIMENTO DE SISTEMAS
ARAPIRACA, 18 DE DEZEMBRO DE 2007
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c

Pré-visualização parcial do texto

Baixe Programação Orientada a Aspectos e outras Teses (TCC) em PDF para Metodologias de Desenvolvimento de Software, somente na Docsity!

FUNDAÇÃO EDUCACIONAL JAYME DE ALTAVILA – FEJAL

CENTRO DE ESTUDOS SUPERIORES DE MACEIÓ – CESMAC

FACULDADE DE CIÊNCIAS EXATAS E TECNOLÓGICAS – FACET

ADAILTON PIMENTEL REIS PROGRAMAÇÃO ORIENTADA A ASPECTOS COM PERSISTÊNCIA NO DESENVOLVIMENTO DE SISTEMAS ARAPIRACA, 18 DE DEZEMBRO DE 2007

SUMÁRIO

INTRODUÇÃO

1 PERSISTÊNCIA DE DADOS

1.1 CONCEITO 1.2 PERSISTÊNCIA VIA JDBC X PERSISTÊNCIA AUTOMATIZADA

2 PROGRAMAÇÃO ORIENTADA A ASPECTOS

2.1 PROBLEMAS DA ORIENTAÇÃO A OBJETOS 2.2 CONCEITO, OBJETIVO E BENEFÍCIOS 2.3 SEPARAÇÃO DE INTERESES 2.4 COMPONENTES PRINCIPAIS DA ORIENTAÇÃO A ASPECTOS 2.5 COMBINAÇÃO ASPECTUAL

3 ESTUDO DE CASO UTILIZANDO OS CONCEITOS DE PERSISTÊNCIA

E AOP

3.1 FERRAMENTA HIBERNATE 3.2 FERRAMENTA ASPECTJ 3.3 ESTUDO DE CASO

1 PERSISTÊNCIA DE DADOS

1.1 CONCEITO

Persistência de dados significa inserir alguma informação em um banco

de dados, para que futuramente essa informação possa ser recuperada, atualizada ou

até mesmo excluída.

Outro conceito importante é o de mapeamento objeto-relacional.

2 PROGRAMAÇÃO ORIENTADA A ASPECTOS

2.1 PROBLEMAS DA ORIENTAÇÃO A OBJETOS

A programação orientada a objetos foi criada com o intuito de trazer uma

maior abstração no desenvolvimento de sistemas e alguns benefícios como

reusabilidade, portabilidade, manutenabilidade, etc. Porém, apresenta alguns

problemas:

1) Entrelaçamento de código;

2) Espalhamento de código.

EXEMPLO DE CÓDIGO ESPALHADO public class Conta { private String num; protected double saldo; public double getSaldo (){ Log.registrar(“Conta”,num, “getSaldo”); return saldo; } public void sacar (double valor){ if(saldo >= valor && valor > 0) Log.registrar(“Conta”,num, “sacar”); saldo = saldo – valor; } public void depositar (double valor){ if(valor > 0) Log.registrar(“Conta”,num, “depositar”); Saldo = saldo + valor; } }

CÓDIGOS ESPALHADOS

2.2 CONCEITO, OBJETIVO E BENEFÍCIOS

É uma nova metodologia de programação desenvolvida com o intuito de

complementar o paradigma da orientação a objetos.

Tem como objetivo principal separar os códigos referentes as unidades de

negócio dos códigos referentes aos interesses transversais.

Através deste objetivo são proporcionados os seguintes benefícios:

1) Maior nível de abstração;

2) Maior grau de reusabilidade;

3) A manutenabilidade mais facilitada.

Figura 2 – Interesses de Login no TomCat Fonte: JUNIOR, Vicente Goetten; WINCK, Diogo Vinícius

2.4 COMPONENTES PRINCIPAIS DA ORIENTAÇÃO A

ASPECTOS

Os principais componentes da orientação a aspectos são:

1) Combinador de aspectos;

2) Linguagem de aspectos;

3) Linguagem de componentes;

4) Progamas escritos em linguagem de componentes;

5) Programas escritos em linguagem de aspectos;

ESTUDO DE CASO UTILIZANDO OS CONCEITOS DE

PERSISTÊNCIA E AOP

3.1 Ferramenta Hibernate

É uma ferramenta madura, muito utilizada na indústria e na comunidade

de desenvolvimento de sistemas. É composta pelos seguintes componentes:

Configuration;

SessionFactory;

Session;

Transaction;

Criteria;

Query.

Configuration cfg = new AnnotationConfiguration() ; cfg. configure (“hibernate.cfg.xml”); SessionFactory sessions = cfg. buildSessionFactory() ; Session session = sessions. openSession() ; Transaction tx = null; tx = session. beginTransaction() ; Criteria criteria = session.createCriteria (User.class); criteria. add (Expression. like (“firstname”,”Max”)); List result = criteria. list (); Query q = session.createQuery (“from User u where u.firstname = :fname”); q. setString (“fname”,”Max”); List result = q. list() ;

public class Pessoa { private int cod_cliente; private String nome; public Pessoa ( ) { } public String getNome() { return nome; } public void setNome (String nome) { this .nome = nome; } public int getCod_cliente() { return cod_cliente; } }

Anotações ( Annotations )

@Entity Indica que a classe é um entity bean (classe entidade) a ser persistida @Id Declara o identificador da entidade. Se refere à chave primária na tabela. @Table Mapeia o nome da tabela. @Column Mapeia os atributos da classe entidade para colunas na tabela. @ManyToOne Associação “muitos para um”, define a chave estrangeira de uma tabela, tendo como referência a tabela de destino. @OneToMany Associação “um para muitos”, tendo como referência a tabela de origem. @JoinColumn Define qual é a coluna que fará a ligação entre as tabelas, onde o atributo name se refere ao nome da coluna indicado no modelo relacional.