The role of requirement engineering phase in the development of software product servers as a strong base for the successful completion. There have been numerous models presented so far, in this phase, to improve the mistakes that are supposed to be the part of requirement engineering process. It is also to make the further development of the product targeted. The notion of goal oriented requirement engineering (GORE) is one such modeling language that has gained importance in the previous era.
The phase of requirement engineering itself can be divided into two phases (Kavakli, 2002). The first phase is concerned with identifying and resolving issues among stakeholders on requirements and the second phase is connected with identifying objectives, resolving conflicts, making ultimate goals for the system to be developed. The notion of the goal becomes important in this context when the roles are clearly identified and the analyst wants to achieve the ultimate objective for the developed project.
The phase of software requirement elicitation consists of gathering requirements from stakeholders, clarify the problems and deciding on the solution on which the system will be built (Kaiya et al., 2002). This phase requires the participation of the number of stakeholders and thus it becomes an issue on how to agree on a mutual undertaing to have a set of requirements which doesn’t produce any disagreement (Kavakli and Loucopoulos, 2003).
If appropriate consideration is not given then incomplete requirements provides a weak base that affects the quality and the acceptance of the software by the end users (Pohl, 2010). Although the phase of requirement engineering has introduced certain methodologies to cope with such situations, GORE makes good attempt in addressing key issues in early phase (Vinay et al., 2014).
It is concerned with
‘ Modifying Requirements
Above mostly are turned to goals (Lamsweerde, 2004). GORE is apprehensive about asking how and why questions from available documents or negotiating with users.
In short, the GORE provides certain modeling language to support each phase of requirement engineering for the sake of absolute and successful completion of that phase (Anwer and Ikram, 2006).
1.1. INTRODUCTION TO GOAL ORIENTED REQUIREMENT ENGINEERING (GORE)
The GORE is a vast modeling language that has provided certain languages in specific context. It provides an incremental approach for the refinement of the requirements in terms of goals. There are certain phases associated with the GORE process through which the requirement is turned to the goal specifically named as elicitation, analysis and the management of the requirement (Anwer and Ikram, 2006).
There are certain terms that are used in GORE. In order to gain full understanding of the process it’s necessary to explain the terms that are most commonly used in it.
The term of goal is concerned with the intended outcome which is supposed to be achieved by the analyst (Lamsweerde, 2004). It’s the shape of requirement which tells what is the ultimate advantage or outcome for performing certain process.
1.1.2 SUB GOAL
There are certain goals which are not clearly defined. These are most commonly referred to as the non functional requirements. For the completion of the parent goals, no such criteria is provided to make sure how the soft goals can contribute in achieving the parent goal. Such goals are known as soft goals.
1.1.3 CONTRIBUTION LINKS
The term of contribution refers to the concept of achieving goals in terms of positive and negative relationship. The contribution links define how much feasible and possible it is to achieve that particular goal. Goal modeling provides a number of ways in which contribution links are used to demonstrate objectives to be achieved given by certain stakeholders (Akhigbe et al., 2014).
Goals are supposed to have different level of abstraction for the sake of clearance of concepts. They are usually divided into certain hierarchy levels such as high level goals related to the specific concerns for the survival of the product work and low level goals which describes the factors that helps to achieve the high level goals. The weighted definition of goals for certain alternatives is also provided in GORE family (Mussbacher and Nuttall, 2014).
1.2 GOAL ORIENTED REQUIREMENT ENGINEERING MODLEING LANGUAGES
Many techniques are presented in GORE which deal with different aspects of requirement engineering phase such as GBRAM, AGORA, i* etc (Horkoff and Yu, 2011). Each technique has certain advantage associated with it. The most commonly known and preferred languages in practical use by GORE are KAOS, TROPOS and i* framework (Shukla and Auriol, 2013).
The Gore family has mostly the top down approach in which the requirements are elaborated to have goals at the end in concrete form to implement those requirements according to the need of the stakeholders. The and/or graph is the most common term which is used in such methodologies.
The use of i* confirms the use of strategic relationship between stakeholders where as the tree structure of goals is well handled in KAOS. While each of the language becomes a disadvantage for the other language advantage consequently.The use of TROPOS confirms the early and late level requirement engineering process in terms of goals at detailed level (Giorgini et al., 2005).
Another approach which is mostly used for making decisions about goals and prioritization them is the use of AHP and use case based points that helps to objectify the quality of the goals(Park and Kim, 2004).
Even though the GORE provides an approach to have requirements in terms of goals but that is not the soul requirement of the system to be developed.
...(download the rest of the essay above)