Paradigmas de Linguagens de Programação



Documentos relacionados
Programação Orientada a Aspectos

Aspect-Oriented Programming AOP. Comentários Sérgio Crespo

2 Desenvolvimento de Software Orientado a Aspectos

Separação de Interesses Programação Estruturada e Programação Orientada a Objetos Entrelaçamento de Código Espalhamento de Código

Identificação de Interesses Transversais: Uma Visão Geral

Histórico da Orientação a Objetos Ciclo de vida de Desenvolvimento de SW

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

Manual de Instalação ( Client / Server ) Versão 1.0

ArpPrintServer. Sistema de Gerenciamento de Impressão By Netsource Rev: 02

ProgramaTchê Programação OO com PHP

Prof. Marcelo Machado Cunha

Programação Funcional. Capítulo 1. Introdução. José Romildo Malaquias. Departamento de Computação Universidade Federal de Ouro Preto 2015.

ISO/IEC 12207: Gerência de Configuração

Sistemas Operacionais. Prof. M.Sc. Sérgio Teixeira. Aula 05 Estrutura e arquitetura do SO Parte 2. Cursos de Computação

ANDROID APPLICATION PROJECT

Configuração para o envio das cartas de atraso ou de aviso de vencimento

Manual de Configuração de Ambiente para Utilização do Login via Certificado Digital no Cadastro Web

Projeto de Arquitetura

Tópicos em Engenharia de Software (Optativa III) AULA 2. Prof. Andrêza Leite (81 )

O tutorial do ambiente virtual tem o intuito de abordar e solucionar problemas que venham a existir sobre os seguintes pontos:

Padrões de projeto 1

Introdução ao Paradigma Orientado a Objetos. Principais conceitos

Teste de Software. Ricardo Argenton Ramos Engenharia de Software I

Aprenda como instalar o plugin EclipseUML no Eclipse e como utilizá-lo para fazer engenharia reversa de seu código-fonte.

QUALIDADE DE SOFTWARE. Ian Sommerville 2006 Engenharia de Software, 8ª. edição. Capítulo 27 Slide 1

CURSO DE PROGRAMAÇÃO EM JAVA

Bem-vindo ao Guia de Introdução - Utilitários

PROCEDIMENTO DO CLIENTE

Programação Orientada a Objetos. Introdução à Análise Orientada a Objetos (AOO)

Lógica de Programação

UNIVERSIDADE FEDERAL DO PARANÁ UFPR Bacharelado em Ciência da Computação

Instruções de processo

CONSTRUINDO CONSULTAS NO KOSMO 1.2

Manual de Utilização Autorizador

Sistema Operacional Unidade 8.2 Instalação de aplicativos. QI ESCOLAS E FACULDADES Curso Técnico em Informática

Sistema de Registro de Contratos e Financiamentos

Atualizaça o do Maker

Documento de Análise e Projeto VideoSystem

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

Proposta de Especificação de Software

Engenharia de Requisitos

Solicitação de Manutenção de Veículo. Manual SRM

Adicionar o item de Menu Galeria de Fotos

Projeto CONDIGITAL Mergulhando na Função Guia do Professor

A ajuda é apresentada de seguida, sendo esses os passos necessários para instalar o JAVA.

Manual de Instalação do Softphone (Discador) BVC Telecomunicações.

Histórico de Revisão Data Versão Descrição Autor

A U T O R I Z O R R I GUIA DE INSTALAÇÃO W E B. Versão: 1.02 Agosto/2006 Versão: AW

UNIVERSIDADE FEDERAL DE PELOTAS

PROCEDIMENTO OPERACIONAL PADRÃO. Serviço Administração do CA


Programação Orientada a Objetos

Alertamos que essa é uma configuração avançada e exige conhecimentos técnicos em informática para ser executada.

PIM. CST em Análise e Desenvolvimento de Sistemas. Projeto Integrado Multidisciplinar. 4º/3º Períodos 2010/2 UNIVERSIDADE PAULISTA CURSO

Guia de início rápido do Powersuite

Índice Apresentação... 3 Mensagens... 4 Tickets... 6 Cadastro de Tickets... 6 Acompanhamento de Tickets:...9 Entregas Storage...

OBJECTIVO Quebras de página

Manual de Instalação Gerenciador de Nota Fiscal Eletrônica

Passo-a-Passo para Criação de Conta no site Griaule e Download do Programa SDK e da Licença Fingerprint SDK 2009

Sumário. 1

Witbox. Manual de Repetier-Host. Witbox

Manual INSTALANDO E EXECUTANDO... 1 CONFIGURANDO CLIENTE... 2 CONFIGURAR ACÕES DE GRUPOS... 2 CONTRIBUINDO E LIBERANDO FUNÇÕES... 3.

Manual Xerox capture EMBRATEL

Para que seja instalado o Bematef Total, é necessário que o computador onde seja efetuada a instalação

1.6. Tratamento de Exceções

Procedimento para configuração Exchange de duas contas de no mesmo perfil do Outlook.

PJe Roteiro para configuração do computador Windows 7

OMT-G Design. Instalação por pacotes

Manual de abertura de ano. Gestão Administrativa 2 e 3

INSTALAÇÃO DO SOFTWARE DE PC PARA TRS5000/TRS5000-EVO.

Qualidade de Software

Programação Orientada a Aspectos

Desenvolvendo AOP com Spring.NET Aprenda a desenvolver aspectos para encapsular implementações de arquitetura das implementações de negócio

Passos para importar CNES no Sistema com CDS

Programa Analítico. Introdução. Origens da programação Orientada a Objetos. Paradigma procedural. Paradigma Orientado a Objetos.

SAV Sistema de Aluguel de Veículos I - DOCUMENTO DE REQUISITOS Versão 1.00

Programação para Web Artefato 01. AT5 Conceitos da Internet

Como Configurar Caixas de Entradas Separadas.

Software de segurança em redes para monitoração de pacotes em uma conexão TCP/IP

10 DICAS DE TECNOLOGIA PARA AUMENTAR SUA PRODUTIVIDADE NO TRABALHO

JobScheduler Empresa: Assunto: Responsável: Dados de Contato: Suporte: Comercial: Financeiro:

UML 01. Curso Superior de Tecnologia em Banco de Dados Disciplina: Projeto de Banco de Dados Relacional 1 Prof.: Fernando Hadad Zaidan

Manual de Instalação e Configuração. Módulo Remote. (G2KA) para NFSE. v1.0

TOTVS BA Guia de Customização Linha Logix

Manual do Assinador de Documentos

Desenvolvimento para Android

Política de privacidade do Norton Community Watch

Objetivo. Este documento tem como objetivo demonstrar o conceito, o processo de instalação e o funcionamento do SITEF (Tef dedicado).

Versão 3.0 CARBON SYSTEM. Manual do Software Controla Tudo. Manual do Controla Tudo

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE.

Introdução ao Design

Smart Laudos 1.9. A Forma Inteligente de Criar seus Laudos Médicos. Manual do Usuário

Introdução ao Processamento de Imagens com o IRIS Por Rodolfo Barros

V CONGRESSO DE ADMINISTRAÇÃO DA UFF/VOLTA REDONDA. Chamada de Trabalhos para as Sessões Temáticas

NESSE MANUAL VÃO SER SOLUCIONADAS AS SEGUINTES DÚVIDAS DE USO:

PROCEDIMENTO Cadastro de Produtos. Café com Arte Móveis

TOTVS Série 1 Varejo (Simples) - Módulo e-commerce

Transcrição:

Paradigmas de Linguagens de Programação Faculdade Nova Roma Cursos de Ciências da Computação (6 Período) Prof Adriano Avelar - Site: wwwadrianoavelarcom Email: edsonavelar@yahoocombr

PROGRAMAÇÃO ORIENTADA A ASPECTOS

Programação Orientada a Objetos Acoplamento Acoplamento é o nível de dependência entre classes; Deve-se tentar minimizar o acoplamento para evitar a propagação de mudanças e para possibilitar a reutilização de classes; Coesão Coesão é o nível de integridade interna de uma classe; Classes com alta coesão têm responsabilidades bem definidas e são difíceis de dividir em duas ou mais classes; Classes com baixa coesão tratam de responsabilidades diversas e em geral podem ser divididas

Módulos Os termos desenvolvimento estruturado e orientação a objetos dizem respeito à modularidade do sistema São formas distintas de se dividir um sistema em partes A divisão em partes é importante para se reduzir a complexidade de um sistema O termo separação de interesses foi cunhado por Dijkstra em 1974 para denotar o princípio que guia a divisão em partes:

Separação de Interesses O ideal seria que a parte do programa dedicada a satisfazer a um determinado interesse estivesse concentrada em uma única localidade física, separada de outros interesses

Separação de Interesses O desenvolvimento estruturado realizou a separação de interesses orientando-se através das diferentes funcionalidades oferecidas pelo software A POO definiu que a separação deveria acontecer em duas dimensões primeiro dividido em termos de dados e depois em termos das funções que utilizam cada tipo de dados

Programação Estruturada Um problema é dividido em funções Função B Função D Função A Função F Função C Função E

POO Um problema é dividido em Objetos Objeto A Atributos (Dados) Objeto B Atributos (Dados) Objeto C Atributos (Dados) Métodos (Funções) Métodos (Funções) Métodos (Funções)

POO (Problema) Objeto A Métodos logmessage() Outros Métodos Objeto B Métodos logmessage() Outros Métodos Objeto C Métodos logmessage() Outros Métodos

Interesse Entre-Cortante (Cross-cutting concern) Objeto A Métodos LoglogMessage() Outros Métodos Objeto B Métodos LoglogMessage() Outros Métodos Objeto C Métodos LoglogMessage() Outros Métodos << depende >> Log << depende >> << depende >> Métodos logmessage() Não faz parte da Lógica de Negócio

Problemas Muitas relacionamentos com objetos entrecortantes O código ainda é requerido em todos os métodos Dificultado de mudanças

Aspecto Objeto A Objeto B Objeto C Métodos Outros Métodos Métodos Outros Métodos Métodos Outros Métodos Configuração de Aspecto Transação Aspecto Log Aspecto Segurança Aspecto

POA (AOP) Pontos de junção (joinpoints): É um ponto específico de um objeto Ex: Entrada e saída de métodos Pontos de Corte (pointcuts): são conjunto de pontos de junção eles detectam em que ponto do programa os aspectos deverão interceptar Conselhos (advice): um trecho de código que deve ser executado em pontos de junção selecionados por um ponto de corte

POA (AOP) Advisor Logger Objeto Método A Método B Método C Joinpoint

Aspecj Plugin eclipse Versão Kepler http://downloadeclipseorg/tools/ajdt/43/update/ Outras versões (download plugin ) http://eclipseorg/ajdt/downloads/

Exemplos (Classe Java comum)

Aspecto

Pointcuts

Pointcuts

Exemplo 02 Capturando exceção Parametrojava ParametroAspectoaj

Exemplo 02 Obtendo parâmetros ParametroAspectoaj

Exemplo 02 Obtendo Objetos ParametroAspectoaj

Exemplo 02 Reflexão Pegando nome do método e da classe do joinpoint