One of the most important principles in Software Engineering is the separation of concerns. When this principle is correctly applied, it helps to promote comprehensibility, maintainability and reusability of software system artifacts. However, often, the specification of non-functional requirements is scattered and tangled with functional artifacts they affect. Hence, in order to produce better requirements specifications, this paper presents an approach to improve the separation of concerns in requirements artifacts, providing a way to represent non-functional concerns apart from the requirements they affect and to specify the composition between them in a noninvasive way.
Geórgia Maria C. de Sousa, Jaelson Castro