Discovering early aspects

Elisa L.A. Baniassad, Paul C. Clements, João Baptista da Silva Araújo Júnior, Ana Maria Diniz Moreira, Awais Rashid, Bedir Tekinerdoǧan

Research output: Contribution to journalArticlepeer-review

139 Citations (Scopus)


Traditionally, aspect-oriented software development (AOSD) has focused on the software life cycle's implementation phase: aspects are identified and captured mainly in code. But aspects are evident earlier in the life cycle, such as during requirements gathering and architecture development. Identifying these early aspects ensures that you can appropriately capture aspects related to the problem domain (as opposed to merely the implementation). Additionally, it offers opportunities for early recognition and negotiation of trade-offs and allows forward and backward aspect traceability. This makes requirements, architecture, and implementation more seamless and lets you apply aspects more systematically. Many techniques exist for dealing with early aspects in practice, but a holistic approach is lacking. This article is an overview of how to exploit early aspects and charts aspects as they move from project inception to development.
Original languageEnglish
Pages (from-to)61-70
Number of pages10
JournalIeee Software
Issue number1
Publication statusPublished - 1 Jan 2006


  • Aspect oriented software development
  • Software life cycle


Dive into the research topics of 'Discovering early aspects'. Together they form a unique fingerprint.

Cite this