Desenvolvimento de software orientado a aspectos

Independentemente do processo de software escolhido, os desenvolvedores de software

complexos, invariavelmente, implementam um conjunto de recursos, funções e conteúdo localizados.

Essas características de software localizadas são modeladas como componentes (por

exemplo, classes orientadas a objetos) e, em seguida, construídas dentro do contexto da arquitetura

do sistema. À medida que os modernos sistemas baseados em computadores se tornam

mais sofisticados (e complexos), certas restrições - propriedades exigidas pelo cliente ou áreas

de interesse técnico - se estendem por toda a arquitetura. Algumas restrições são propriedades

de alto nível de um sistema (por exemplo, segurança, tolerância a falhas). Outras afetam funções

(por exemplo, a aplicação de regras de negócio), sendo que outras são sistêmicas (por exemplo,

sincronização de tarefas ou gerenciamento de memória).

Quando restrições cruzam múltiplas funções, recursos e informações do sistema, elas são,

frequentemente, denominadas restrições cruzadas. Os requisitos de aspectos definem as restrições

cruzadas que têm um impacto por toda a arquitetura de software. O desenvolvimento de

software orientado a aspectos AOSD, Aspect-Oriented Software Development), com frequência

conhecido como programação orientada a aspectos (AOP, Aspect-Oriented Programming), é um

paradigma de engenharia de software relativamente novo que oferece uma abordagem metodológica

e de processos para definir, especificar, projetar e construir aspectos - "mecanismos

além das sub-rotinas e herança para localizar a expressão de uma restrição cruzada" [Elr01]

Um processo distinto orientado a aspectos ainda não atingiu sua maturação. Entretanto,

é provável que um processo desses irá adotar características tanto dos modelos de processo

evolucionário quanto de concorrente. O modelo evolucionário é apropriado quando os aspectos

são identificados e então construídos. A natureza paralela do desenvolvimento concorrente é

essencial, porque os aspectos são criados independentemente de componentes de software localizado

e, apesar disso, os aspectos têm um impacto direto sobre esses componentes. Portanto,

é essencial instanciar comunicação assíncrona entre as atividades de processos de software

aplicadas na engenharia e construção de aspectos e componentes.


.

Tecs.info - Márcio Ruben
Todos os direitos reservados 2021
Desenvolvido por Webnode
Crie seu site grátis! Este site foi criado com Webnode. Crie um grátis para você também! Comece agora