Requirements engineering aims at eliciting, analyzing, specifying, validating and managing system requirements. When eliciting system requirements, it is possible to use various approaches, including goal-oriented and aspect-oriented approaches. Although those are two well-known approaches, they are seldom used in conjunction. On the other hand, when using goal-oriented approaches, one common and usual problem is the fact that some of the goals repeat themselves all over the system. This makes goal-oriented models to have a boost in complexity because of the repeating goals, and thus, making the evolution of this model harder than necessary. This complexity could be minimized if an aspect-oriented approach would be used. The big advantage of using a hybrid approach, in our case goal-oriented and aspect-oriented one is the possibility to identify all the scattered goals and modularize them as aspects. In this way we can represent this kind of goal (now an aspect) only once in the model. This means the complexity of the model will be greatly reduced and the readability of the model will also be improved. The final result will be an evolution that could be easily controlled, thus minimizing errors. Although this seems a good idea, there are some challenges to overcome when merging goals and aspects. First of all, a notation and a set of rules must be built in order to compose the model. In order to do this we will use patterns based on roles, as these will help elaborating the model. This work will present an approach that will make possible after modeling the system with a goal-oriented approach, identify aspects and then refine the model taking into account the aspects. In order to accomplish this, the KAOS methodology will be extended with aspects.