Emerging Requirement Engineering Models: Identifying Challenges is Important and Providing Solutions is Even Better

—Requirement Engineering is one of the most crucial tasks because it serves as the foundation for any software. Four pillars of requirement engineering procedures underpin the entire software. The bricks that make up the software edifice are functional and non-functional needs. Finally, design, implementation, and testing add stories to the foundation, allowing a full software tower to be built on top of it. As a result, the foundation must be strong enough to support the remainder of the software tower. Requirement engineers have various hurdles to design successful software for this purpose. Requirement Engineering (RE) is emerging as an increasingly important discipline to promote the development of web applications, as these are designed to meet various stakeholder requirements, additional functional, information, multimedia, and usability requirements compared to traditional software applications. The requirements of software systems are a very important area in software engineering. The success of software systems depends on how it effectively meets the requirements of users. In this paper, the review of current state of requirements engineering in which requirements from users are checked analyzed with their consistency and correctness is presented, and then identifies the emerging models of requirement engineering. Firstly, the paper highlight the current activities that enable the understanding of goals and objectives for developing proposed software systems, then the focus is on the techniques for improving the precision, accuracy, and variety of requirements. Next, identification of the challenges of emerging requirement engineering models is explained. The challenges like security and global trend that posed by emerging models of the future. Finally, we are trying to suggest some solutions for the mentioned challenges.


I. INTRODUCTION
Requirement engineering is a mechanism in which the development team collects requirements from users and develops a system that satisfies the user's needs. The requirement is a very important activity in product development it's like a blueprint for the product. It is the process that involved identifying the real user of the system their requirement and expectation about a system so it is necessary to understand the requirements and negotiate with users and validate the requirements for successful development of the system [1] [2].] Requirements collection is not simple as it sounds. It is a difficult task but it is important to understand what the user wants. Inappropriate requirements may lead to failure in terms of cost, customer dissatisfaction, and quality [3]. Different ways used to collect requirements even some organization develop their development method [4]. -Requirements invariably contain a mixture of problem information, statements of system behavior and properties, and design and implementation constraints (Sommerville and Sawyer 1997).‖ Requirements are of two types namely: user requirements and system requirements. User requirements referred to user needs that what user wants or what type of system is expected by the user. And what type of activities the user wants to perform on a system. System requirements are divided into functional and non-functional requirements. Functional requirements are those that user needs to perform their work on the system. On-functional requirements are all remaining requirements that are not covered by functional requirements like accessibility, availability, accuracy, error handling, failure management, and maintainability, etc.
Effective requirements are those which completely consistently records user needs. Good qualities of requirements are that they must be traceable, feasible, modifiable, independent, and unambiguous [6]. It must be necessary to develop a plan for requirements collection during the early phase of the proposal. And it helps us to determine how the requirements will evolve because a user may not describe the actual requirements at the beginning. We also face some barriers while collecting requirements like lack of requirement engineering knowledge, management may not understand what is going to be building. For these problems we should develop abilities to think out of the box that how to requirements will be evolved in the future [7], [26]. Requirement validation is also the process of requirement engineering in which we ensure that we going in the right direction for finding solutions to problems. It certifies that it is according to customer intents. Different techniques are used for requirements validation like preparing experiments and analyze the results of experiments [24].
The study's goal is to identify the critical factors that influence RE process model selection from the perspective of business practitioners. Several future options for the RE www.ijacsa.thesai.org process in software engineering are discussed, including application-specific elicitation approaches, requirements preprocessing, and requirements prioritisation, among other things.
The paper is structured as follows: Section 2 summarizes the related work. Section 3 will discuss current requirement engineering models and also elaborated their pros and cons. Then the Section 4 will propose emerging RE models and their challenges. In the next section, we will try to suggest some solutions for the challenges. The last section concludes the whole discussion and suggests some future work as well.
II. RELATED WORK Geshwaree Huzooree & Vimla Devi Ramdoo (February 2015) proposed that many problems occur when the requirements are not correctly defined. Problems may include: customer's dissatisfaction, quality of software may suffer, cost overreach, and increase the cost of maintenance. Requirement Engineering includes four steps: Requirement extraction, requirement arrangements, and analysis, requirement specification, and validation. In requirement extraction, lots of challenges will be occurring. The challenges may include stack holder may not correctly be defined what he wants or he may not be the actual end-user, May the method use for requirement extraction is not effective, minimum involvement of stack holder. Requirements analysis is also a very difficult phase because the development teams may deal with multiple stack holders. So, it creates conflict between requirements, because every stack holder defines requirements in his specific way. Other challenges may also face during requirements analysis like lack of communication skills, lack of time, etc. Requirements specification also includes different key challenges like knowledge sharing, physical distance, incorrect requirements, etc.
Requirements validation also includes different challenges: requirements may not complete and consistent, requirement uncertainty, etc. [5]. Requirement engineering plays a very important role in successful software development, because it's directly related to the quality of product and customer satisfaction. So this paper describes currently challenges that different organization face in requirement engineering but now in the emerging technology era, there are other advanced challenges that different organization face that needs to be addressed like excessive requirements, adopting the technique for elicitation, requirement missing, requirements security. The major challenge in requirement engineering also needs to be addressing that how the requirement is to manage when the development is offshore. Because the development team needs to face the challenge of physical distance, language problems, difficulty to maintain long-distance meetings and it will lead to a lack of communication and cost of rework also difficult to maintain [12].
Mahrukh Umar and Asghar, Sohail, proposed other RE challenges: time constraint, the process of requirement engineering, economic crises, a conflict between users, technical crises. There is no best requirement engineering tool to collect the requirements. Lots of challenges are generating with the advancement of technology. Unsolved challenges increase the cost of the product. External events are another crucial challenge of requirement engineering in which the development team has to consider security, loss of valuable data, viruses, etc. [13].
Requirement engineering is a critical phase in different products development that is demanded from customers. Finding the best technique for the development of a system is very difficult because it may affect the quality of the system. It might be acceptable for a system but not suitable for another system. It may affect the process of requirement engineering. It is mandatory to develop a model that provides guidelines to practitioners regarding the quality of the product and develop a product in a specific time, avoid problems that lead to system failure .SDLC consists of different stages of testing, deployment, maintenance that helps to improve the product quality and meets the needs of user requirements [8]. Developers, the analyst also play a very important role in the process of requirements engineering. They are familiar with problems that may occur while doing the software development process. Even they are familiar with the future direction system related to requirements like modeling, enhancements, and requirements changing. Organizational issues are also important in the process of the requirement engineering process. Issues are like requirements may be collected from malevolence users that may lead to failure of system development [9]. We should also consider the strength and weaknesses of the RE process. The main focus of RE is to find the stack holder's needs, finding the conflict between requirements, specifying the risks that might occur during development, defining requirements in a more concise way that leads to the successful development of a product. The weakness in the requirements engineering process is the guidelines that may not understand by the practitioners. The weaknesses may occur due to fewer reasons. Many IT personnel involved in software developments like programmers, analyst, and designers that have insufficient knowledge of RE that may lead to the problems. So it is necessary to understand the scope of the problem because it is considered to be less technical than other software development processes [10]. Developing a system, the first time without any error is not possible because an error is human. So it is not possible to develop a system without any error. An error may occur because of misunderstanding and ambiguity in documents. And Errors may occur at that stage where is difficult to handle. It is necessary to use a different technique that helps to prevent errors. In this regard, validation ensures the correct functionality of the system. The main focus of requirements validation is to ensure that the specifications of user requirements must be consistent, complete, and have no conflict between requirements [11].
Saleh, Mohammed, et al proposed different challenges that occur in agile Requirements engineering. Currently, there are lots of challenges in advanced product development. The organization wants agile software developments where the development team needs to face many challenges because of rapid changes, many any of projects because of vague requirements. Requirements collected using traditional activities include elicitation, specification, validation are important but agile developments need to adopt some advanced activities include prioritizing requirements, www.ijacsa.thesai.org modeling, the collaboration of the developments team and stack holders. Challenges that arise during advanced product development include minimum involvement of customers, inappropriate architecture, a budget of a project, and contractual issues about the evaluation of the product [14].
Limitation of this paper is that it's only discussed problems during product development like customer involvement, poor requirement traceability but did not provide any alternatives or solution.
Schön, Eva-Maria, et al listed different key challenges that development teams may face in agile requirement engineering. The challenges are: 1) In requirement engineering, different teams involved in development need to coordinate with each other for technical dependencies.
2) Stakeholders have to understand and give a right to the development team that they can take decisions independently.
3) A development team must not lose focus on the final picture or vision of the product.
4) It is a challenge for a development team to be always ready for changes. Change management is important because the product is not final at the beginning.
5) The team must work with end-users who directly going to interact with the system. 6) Continuous involvement of end-users throughout the development of the product will lead to success.
They also proposed some solutions for all listed challenges: Solution 1: coordination problem can be solved by enhancing communication, organizing meetings, provide training to teams. Solution 2: Show the complete picture to stack holders, present problems and solutions, present the consequences of products.
Solution 3: Continuously focus on the product vision; define goals and sub-goals that may help to understand what type of changes can occur. Solution 4: Challenge of change can be handled by continuously communicating with end-users and the team reviews the results regularly.
Solution 5: In friendly environment conduct interviews with end-users, observe user behavior. Solution 6: Involve the minimum number of end-users in the software development procedure. It helps to understand the requirements. Present goals to these users. Involve these users in regular planning to get their feedback [15]. They proposed different challenges and their solution in their paper the major problems that they didn't define are that it is difficult to involve end-user throughout the development. Even endusers may not have the technical knowledge that is required for requirements gathering. He may not be clear about the requirements. It is required technical training is required for end-users who are directly involved in product development.
In different recent papers strength and weakness of RE process model are described, but in our paper we also discuss different key challenges in requirements engineering and proposed possible solution of all these challenges.

Research Questions:
1) What are the emerging requirement engineering models?
2) What are the challenges in emerging requirement engineering models that we are facing?
3) What are the solutions to these challenges?

A. GORE's Method (Goal-oriented Requirement Engineering)
A method which is called (A new Requirements Engineering Approach for Manufacturing based on Petri Nets) presented here is based on the combination of GORE's Method (goal-oriented requirement engineering) and Petri Nets as a substitute to the requirements for manufacturing a system that is capable to deal with digital twins. Using these two a new approach of RE is developed which is more sophisticated and service-oriented because it is based on a systematic approachit means though each and every one will be goal-oriented but also will be in a systematic way. As an example, a car sequencing system presented in Fig. 1 is used here to solve the real problem [16]. Petri Nets of car sequencing problem is presented in Fig. 1.  1) Realistic manufacturing products or projects will be done using this model 2) Rather than small projects this model can be applied to large scale.

Cons:
1) In case of any deviation from steps an alarm system is activated which will activate the detailed verification process?

B. MBSE (Model-based System Engineering)
The 2 nd method is used for the product development, here a conventional system is converted into a modular system, which as a result will produce increases the complexity and will have so many modules to handle. So, the MBSE (modelbased system engineering) approach is being used for the development of modular kits to reduce the complexity [17].
Four key challenges were observed during the development of the modular kit. Structure of the system of objectives for modular kits is shown in Fig. 2. 1) The scheme of the objectives is scrappy (due to large requirements, it is likely to have the situation that some of the requirements were not fulfilled).
2) Not every stakeholder is familiar with the latest version of the system of objective (which can be the reason for the complexity i-e it will be challenging to keep all stakeholders up to date).
3) Paucity of analysis about the consequences of the systems of objectives (stakeholders must inquire and fully understand all the objectives, requirements, and constraints).
4) Varying degree of maturity and inflexibility (investment of more and more time which will result in lacking more and more information).
To resolve these challenges a hybrid module was structured, diagram of that model can be shown in Fig. 2, [17] according to the hybrid module one requirement s can have multiple values or aspects, also reusability of the requirements can be acquired. Another feature of the structure is to identify the highest or technically most provocation value of each requirement.
Pros 1) This model can represent the large scale, interdependency, and variety of the module's system of objectives.
2) Reusability of the requirements can be acquired and due to this a lot of time can be saved for the next challenge/ innovation.

1)
If the modular kits remain stick to the same questionnaire for a long period, it will be difficult for the innovation.
2) Securely extending the modular kits with new ones will change the whole beauty of the original ones.

C. CREWS Method
The main concern is to be looked upon as a reusable component. Their concern was described in 2 ways i-e scenario-based approach is represented at first in a modular way, identification of the design context at second in which these approaches can become reusable to facilitate. To achieve this, scenario-based approach is represented as method components called scenario method chunks. These chunks are divided into 2 levels; [18] a) Method knowledge level-it deals with the knowledge that is necessary for the chunk selection and retrieval, here knowledge is captured and presented in SGML (Standard Generalized Markup Language) b) Method meta knowledge level-it means dealing with the representation of the reclaimable knowledge to the method base users and is described in HTML format which can be graphical or in informal explanation of guidelines. Fig. 3 represents the SGML part of the CREWS method base on the tree. The structure of SGML part of the method base is elaborated in Fig. 3.
Pros 1) By dividing into 2 parts it will be easy for the developers to retrieve the exact information (representation and description of the products).
2) Reusability of the chunks can be time-saving and helpful for the new developers.  650 | P a g e www.ijacsa.thesai.org Cons 1) It will be much expedient if this model has some kind of instruction set or guidelines because its effectiveness can also bothersome of the new developers as well as customers.

D. Multidisciplinary Modeling
A multidisciplinary modeling technique is used in (A multi-disciplinary modeling technique for requirements management in mechatronic system engineering) [19] which allows modeling and evaluation of the requirements throughout the engineering process, how to model the requirements and test them using simulations. The main objective to present these techniques is to keep the number of concepts as minimum as it can be possible to understand at the early stages. Tasks that have been performed for modeling and testing were: Conception-the creation and elaboration of components with the defined concepts.
Simulation-system behavior testing with an integrated physics simulation.
Refinement-a refinement of the modeling aspects using discipline-specific tools (constraints are checked during the process execution) [19].The workflow of the multidisciplinary model is visualized in Fig. 4.

1) Researchers have tried their best to minimize the techniques for modeling.
2) For the proper system functionality continuous integration system was introduced. Cons 1) For the academic case study, this technique is useful, but as compared to the industrial system the complexity will be limited.
2) Quality measurement for the modeling an ore finegrained assessment of the system behavior is not included

E. Agile RE
Agile Requirement Engineering aims to capture the current state of the art of the literature related to Agile RE while keeping because of stakeholders and users' collaboration. As agile software development has gone with online delivery and customer satisfaction thus its main aim is to deliver business values in short iterations. As the old Agile methodologies (Scrum, Kanban, and Extreme Programming) lacks in defining the right kind of products, to overcome this situation for good user experience a hybrid development approach including Human-Centred Design (UCD) are applied. Three important approaches have been raised in this process: 1) What approach exists, which involves stakeholders in the process of RE and is compatible with Agile Software Development (ASD). For this, some of the sub-categories were made to check which approach will be compatible:  Stakeholders must collaborate.
 The user must be involved directly.
 Using a process to involve the stakeholders  Possibility of the existence of the iterations during the development process  A specific method is used to retrieve data [20].
If these categories exist in the project, then for the stakeholders and users' involvement weekly meetings, conceptual model representation, and surveys, etc. will be the best approach.
2) What are those agile methodologies, which are capable of presenting the user's viewpoint to stakeholders? Some sub-categories were also made to check the agile methodology. It is concluded here that the ad-hoc nature of the user collaboration and design feedback methodology will be suitable and capable for the representation of users' perspectives to stakeholders. 3) What is the common way for requirement management in ASD? [20]. These artifacts are changeable according to the project requirement. Using artifacts, a lot of hidden possibilities of error in projects can be resolved to some extent. It will be more accurate if a guideline/instruction set is added here Fig. 5 shows the requirement engineering phases.

1)
To avoid the problems that can be aroused by users' inappropriate involvement some of the methods are identified that aims to increase the knowledge regarding user's needs.

1) A shared understanding of the user's perspective is not well established.
2) Inappropriate user involvement can arise a lot of miscommunication.

IV. EMERGING MODELS OF REQUIREMENT ENGINEERING
We are living in a digital environment where software evaluation is important to meet the stack holder's requirements. So it is required to evaluate the requirement engineering methods and models for handling the challenges that occur in the requirement engineering process. Marcelino-Jesus, Elsa, present in their paper that requirement engineering consists of four phases that are used to access the requirements. And the common four phases that include in the requirement engineering process are requirement elicitation, analysis, specification, and validation [21], [25].
The elicitation phase is used to find the appropriate requirements that provide the solution for the development. In the analysis phase, requirements are analyzed in such a way that continuous negotiation with stack holders to identify which requirements is to need to be considered for development. In the specification phase, the requirements arrange in a documented form that is understandable, readable by anyone. The validation phase is used to validate that requirements are complete and consistent and clearly express the stack holder's needs. In Requirement engineering methodology there is the additional phase that is included in RE processing that is a preparation of information [22], [28]. The 8 requirement engineering process modelsare presented in Fig. 6.
Requirement engineering methodologyis drafted in Fig. 7. Mehmood M and Ijaz BB [23] define different requirement engineering process models that were presented by different researchers. Requirement engineering process models are shown:

A. Linear RE Process Model
Sommerville and Kotonyapresented that model. This model includes different activities that are repeatable perform. The activities are requirements elicitation, analysis of requirements, negotiation, documentation, and validation of requirements. This model is very useful where requirements are accurate. The model includes the repetition of the activities until all the stack holders satisfy as presented in Fig. 8. www.ijacsa.thesai.org  (IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 12, No. 11, 2021 653 | P a g e www.ijacsa.thesai.org Challenges: 1) Difficult to handle the risk.

2) No concept supports the user feedback.
3) It does not provide a facility for requirements validation.
4) It does not support when requirements continuously change.
5) It does provide preprocessing activities for requirements.
6) It cannot estimate the effort based on requirements.

B. Macaulay Linear Requirements Engineering Process Model
The overall challenges of requirements engineering process models are summarized in Table I. This model is presented by Macaulay. This model work in a linear fashion in which all activities are performed sequentially [27]. It includes five activities that are: problems analysis, concepts, analysis of feasibility study, and modeling and documentation of requirements as shown in the Fig. 9.

Challenges:
1) It does not provide the facility of reversing the engineering process.
2) This model also does not support user feedback.
3) There are no preprocessing activities for requirements. 4) It does not support dynamic requirements.

5)
There is no concept of effort estimation. 6) It does not provide any method for risk management.

C. Iterative Requirements Engineering Process Model
This model was proposed by -Karakostas and Loucopoulos‖. The model includes the different phases are: Elicitation, specification, and problem domain. This model follows the iterative development shown in Fig. 10.   Challenges: 1) It does not support the concept of effort estimation.
2) It does not support when requirements frequently change.
3) It does not support preprocessing activities for requirements.
4) It does not provide the criteria for finding applicationspecific requirements.

5)
No method can handle the risk.

D. Spiral Model of RE Process
This model is recommended by Summerville and Kontoya. This model works on spirals. It includes four activities are: elicitation, analysis, and negotiation, documentation, validations of Requirements as shown in Fig. 11.

Challenges:
1) It does not provide any method that is used to find requirements priorities.
2) It does not provide any mechanism that supports finding the application-specific requirements.
3) It does not provide preprocessing activities for requirements.

4)
There is no concept of cost estimation.
(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 12, No. 11, 2021 654 | P a g e www.ijacsa.thesai.org 2) If there is a minimum number of stockholders use the interview method. Fig. 12 and 13 has shown this model.

Challenges:
1) In the beginning, product cost may not be accurate.

2) Difficult to find requirements priorities.
3) This model also not supports the preprocessing activities.

F. Dhirendra Pandey and U. Suman an Effective Requirements Engineering Process Model
This requirement engineering process includes: Business, Customer requirements, User requirements, Constraints of Security requirements, requirements of Information, Standards as Fig. 12 is presenting this model.

Challenges:
1) This model also not provides any method that how to estimates the efforts.
2) It does not provide any effective method for managing the risk.
3) It does not provide any method to find applicationspecific requirements.

G. P.B.F. Arts Requirements Development & Management Model in Highly Turbulent Environments
This model has three aspects are intake, startup, initiation. In the startup phase, it provides a technical method for elicitation of requirements. In initiation phase is used to prioritize the requirements and get feedback from stack holders and also validate the requirements as shown in Fig. 14. www.ijacsa.thesai.org

Challenges:
1) Difficult to manage the requirements.
2) It uses only the brainstorming method for elicitation of requirements.
3) It does not provide any method for documentation of requirements.
4) It does not provide any effective mechanism to handle the risk.
5) Difficult to measure the efforts that are required for requirements.

H. Bee Hive Model
This model is presented by -K S Swarnalatha, G.N Srinivasan, and Pooja S Bhandary‖. This model includes the following phases: Background Research Elicitation, Analysis of requirements, Prototyping, Verification of requirements, Validation of Requirement Specification. Bee Hive model help to find the actual time required for gathering requirements from stack holders for designing the prototype of a product.

Challenges:
1) Required a large amount of time for the feasibility study.
2) There is no preprocessing activity for requirements.
3) Risk management is difficult 4) It does not support application-specific requirements.
V. SOLUTIONS TO OVERCOME THESE CHALLENGES

VI. CONCLUSION
The paper shows several issues in the domain of requirement engineering. These issues have been researched using a variety of sources. Requirements are the first step for a project and this may increase the possibility that project estimates may be inaccurate if they are not explicitly and unambiguously specified, since the nature of the project/activity has not been established. Even if there are several existing models and structures for handling requirements, each model represents only one possible insight on the inner truth that will be captured and reused: The slogan "one size does not fit all" may be rephrased as "one style does not fit all". Thus, in the areas of issues needed, at least 2 (or more) models/frameworks should be considered for improving www.ijacsa.thesai.org your processes (whatever they are). In these paper firstly current requirements engineering models has explained and then their pros and cons are presented. After that, emerging RE models is presented and discusses their challenges, at the end we try to give some solutions to overcome the challenges that are facing in emerging RE models. In the future, we further plan to work more on emerging models and techniques our future research will discuss the key characteristics of many Requirement Engineering Process models, which aid in the selection of the most appropriate model for Requirement Engineers and practitioners in the industry, We will offer an effective requirements engineering process model for producing high-quality software requirements, with a focus on providing a full overview of Elicitation methodologies, including their characteristics, strengths, and weaknesses. Some of the strengths and weaknesses discovered during the extensive analysis are also ordered and scheduled, which aids in the proper selection of the RE Process model and explain solutions in a better way. On the basis of current literature, this study covers a wide range of research topics, allowing other scholars to expand on the work. In terms of cost and time, the appropriate choice of Process Model combined with the right technique is beneficial to any professional.