15
Engenharia de Requisitos Orientada a Aspectos EQUIPE: André Pitombeira Fernando Linhares Igor Pimentel

Engenharia de requisitos orientada a aspectos

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.

Técnicas AORE

n  AORE com ARCADE

n  Theme/Doc

n  AORA (Aspect-Oriented Requirements Analysis)

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 (Processos)

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.