Upload
andre-pitombeira
View
203
Download
1
Embed Size (px)
Citation preview
Engenharia de Requisitos Orientada a Aspectos
EQUIPE: André Pitombeira Fernando Linhares Igor Pimentel
Programação Orientada a Aspectos
n Os paradigmas de programação dão suporte à separação e encapsulamento de interesses.
n O nome interesses diz respeito a requisitos, funcionais ou não, que são relevantes e precisam estar presentes nos sistemas
n Porém, existem interesses que não são possíveis de separar ou encapsular nos métodos providos por paradigmas tradicionais. Estes interesses são chamados de Interesses Transversais
n Exemplo: Logging, persistências, debuging, e gerenciamento de exeções.
Programação Orientada a Aspectos
n A Programação Orientada a Aspectos surge como um complemento ao paradigma de Orientação a Objetos.
n Prover técnicas, métodos e ferramentas para auxiliar o desenvolvedor a identificar, separar, representar e compor interesses transversais.
n Tem por objetivo modularizar esses interesses transversais.
Programação Orientada a Aspectos
n Join Points: São locais, no código, em que podemos alterar o comportamento do programa, por meio dos aspectos.
n Pointcuts: Permitem a seleção de conjuntos de join points. É possível coletar o contexto destes pontos.
n Advice: São elementos onde especificamos o comportamento adicional que um aspecto observará, ao encontrar um join point.
n Inter-type declarations: Declarações de atributos e métodos a serem inseridos em classes, no código resultante.
Programação Orientada a Aspectos
n Estes elementos combinados, na maioria das abordagens, compõem um aspecto, cujo objetivo é encapsular todas as instruções relativas a um interesse.
Engenharia de Requisitos
n As abordagens convencionais de engenharia de requisitos reconhecem a importância da efetiva separação de interesses.
n Porém, tais abordagens não suportam explicitamente requisitos de amplo alcance, como os interesses transversais, bem como não provêem meios para a composição dos mesmos.
n Tais interesses são chamados pela comunidade de early aspects.
Early Aspects
n Dizem respeito a interesses identificados nas fases iniciais de desenvolvimento de um sistema de software.
n O trabalho em early aspects tende a generalizar a definição de aspecto.
n Não é mais apenas um interesse que está espalhado em diversos módulos de uma implementação.
Early Aspects
n Early aspects costumam estar espalhados por vários artefatos das fases iniciais do ciclo de desenvolvimento.
n Localizar e gerenciar esses conceitos permite aumentar a modularidade dos artefatos evitando problemas de manutenção ou mesmo a incapacidade do sistema em alcançar atributos de qualidade.
Engenharia de Requisitos Orientada a Aspectos (AORE)
n A engenharia de requisitos orientada a aspectos visa tratar os problemas acima, fornecendo meios sistemáticos para a identificação, modularização, representação e composição de propriedades transversais, tanto funcionais como não-funcionais, durante a engenharia de requisitos.
n Abordagens AORE consistem de elicitação, análise e especificação, validação, resolução de conflitos e gerenciamento de requisitos (comum às abordagens tradicionais).
Engenharia de Requisitos Orientada a Aspectos (AORE)
n Diferem das abordagens convencionais na: n Existência de meios efetivos para identificar
propriedades transversais em uma especificação de requisitos.
n Capacidade de modularizar propriedades transversais pertencentes a um interesse em particular em um módulo em nível de requisitos.
n O fornecimento de meios adequados para representar aspectos em nível de requisitos.
n A capacidade de compor requisitos aspectuais e não-aspectuais para compreender claramente o efeito cumulativo dos aspectos em nível de requisitos sobre os demais requisitos do sistema.
AORE com ARCADE
n A abordagem tem o apoio de uma ferramenta chamada ARCaDe, daí surge o nome “AORE com ARCaDe”, para diferenciar esta abordagem das demais.
n Esta ferramenta dá suporte à validação dos relacionamentos de composição e identificação de conflitos.
n Um suporte adicional a rastreamento neste modelo é fornecido pelo framework PROBE.
AORE com ARCADE
n As contribuições mais importantes dessa abordagem são: n A capacidade de separação, e posterior composição, de
requisitos aspectuais e não-aspectuais por meio de simples, porém poderosas, regras de composição.
n Profundo suporte a identificação e resolução de conflitos.
n Possibilidade de validar e rastrear os requisitos durante todo o ciclo de vida de desenvolvimento do software
AORE com ARCADE (Artefatos)
n São todos representados usando XML, tonando-se assim estruturados e semi-formalizados, mas ainda simples e de facil entendimento.
n Além destes elementos baseados em XML, a abordagem também usa matrizes para relacionar concerns entre si e entre viewpoints, assim como para assinalar pesos (prioridades) a requisitos conflitantes, durante resolução de conflitos.