3.1 Requirements Engineering Definition
3.1.1 NATURE Framework
The NATURE framework describes the RE process in a three dimensional orthogonal space (Pohl, 1994; Pohl, 1996). The three dimensions of the RE process are (Figure 3.1):
− The requirements representation dimension deals with the degree of representation formality. The dimension has the goal to transform informal requirements model into formal model representation.
− The requirements agreement dimension deals with the degree of requirements agreement. The dimension has the goals to gain a common agreement about the requirements model.
− The requirements specification dimension deals with the degree of requirements understanding at the certain time moment. The dimension has the goal to improve an opaque system comprehension into a complete requirements specification, where completeness is measured by standards and guidelines.
At the beginning of a RE process the knowledge about the system is vague. Therefore the specification is opaque, based on personal views, and mainly informal
representations are used. The desired output of the requirement specification process is
expected to be precise. Therefore, the resulting specification is a complete
specification, which is expressed using formal language, and is commonly agreed by
Figure 3.1 Three Dimensional Framework for the RE process adapted from (Pohl, 1993)
3.1.2 3-activity Model
Loucopoulos and Karakostas (1995) define the RE process consisting of three RE activities (Figure 3.2) – elicitation, specification, and validation. The activities are described in following way:
− Requirements elicitation is the activity of acquiring necessary knowledge which is used to produce a formal requirements model. The main elicitation activities comprise the identification of all the sources of requirements knowledge, acquisition of this knowledge, decision on the relevant parts of the knowledge to the problem at hand, understanding of the elicited knowledge and its impact on the software requirements, and reuse of knowledge acquired in similar problem domains.
− Requirements specification is the activity which receives as input the deliverables of requirements elicitation in order to create a formal model of the requirements. The basic specification activities are to analyse and assimilate the requirements knowledge, synthesize and organise it into a coherent and logical requirements
Informal Semiformal Formal
Opaque Fair Complete Personal view Common view Initial input Desired output Trace of the RE-process Representation Specification Agreement
REQUIREMENTS ENGINEERING
− Requirements validation is the activity which attempts to certify that the produced formal requirements model satisfies the users’ needs. The main validation activities comprise a preparation (e.g. settings for tests, case studies, experiments, and customer evaluations), performance and result analysis. Requirements validation is an ongoing process of RE which aims to ensure that the right problem is being tackled at any time.
Further the RE process model (Loucopoulos and Karakostas, 1995) focuses on in- house development, when the system is developed inside a company for companies own use, and contract development projects, when a supplier company develops a system to the customer company (Lauesen, 2002). In these projects the requirements specification activity and its output could be defined as a contract between customers and developers. However, the RE process model do not address projects, where the customer is not defined (e.g. commercial off-the-shelf development).
The 3-activity RE process model could be compared to the NATURE framework, as both approaches correspond to the fundamental RE concerns – understanding a problem, describing a problem, and attaining an agreement on the nature of the problem.
Figure 3.2 3-activity RE Process Model adapted from (Loucopoulos and Karakostas, 1995)
3.1.3 4-activity Model
Kotonya and Sommerville (1998) separate the RE process into two parts – RE activities and requirements management. According to them the RE process consists of four activities:
− Requirements elicitation that describes the requirements discovery and acquisition process. Requirements are discovered through consultations with stakeholders, from system documents, domain knowledge, and market studies.
User Specification Elicitation Validation Problem domain User requirements Knowledge Request more knowledge Requirements specifications Requirements models Validation results
Domain knowledge Domain knowledge
Models to be validated by user
− Requirements analysis and negotiation characterise the requirements which are accepted to a requirements model. The process helps to solve the requirements conflicts, it deals with requirements completeness and analyses the available budget to develop the system.
− Requirements documentation is the activity, where the requirements model is documented in the appropriate level of detail.
− Requirements validation checks the requirements model for consistency and completeness. This activity is intended to detect problems in the requirements model before it is used for the system development.
The 4-activity model is similar to the three dimensional NATURE framework and the 3-activity model, as it comprises the same RE principles, like formality, agreement, and understandability of the requirements model. In comparison to the 3-activity model, the 4-activity model separate specification into two activity groups – requirements analysis and negotiation, and requirements documentation.
In parallel with the all the RE activities, it is a process of requirements
management which concerns managing changes of the requirements model. Changing
requirements is necessary as errors in the requirements model are discovered, as new requirements emerge. The management activity should keep the track of changes and ensure that changes are made to the requirements model in a controllable way. The other two models – the NATURE frameworks and 3-activity model - do not separate requirements management, but address it as integrated part of the main activities.