Na área de desenvolvimento de sistemas, o desenvolvimento de software orientado a aspectos é baseado na ideia de
separação de assuntos, porém em módulos de sistema separados. A separação de assuntos é um princípio
fundamental do projeto e da implementação de software. Diversos termos são utilizados no desenvolvimento de
software orientado a aspectos. Um desses termos tem a seguinte definição, segundo Sommerville (2007): “abstração
de programa que define um assunto transversal. Inclui a definição de um ponto de corte e a recomendação associada
a esse assunto”. A definição apresentada trata-se de: