A literature review is a developmental research question that uses organised and explicit techniques to evaluate, select and appraise relevant works of literature. A review allows the researcher to test and determine the gaps in the research literature. Thus, an articulated research question is critical to a practical search analysis. Based on this context, the research reviewed several works of literature on the impact of requirement engineering to access the complexity of administrative communication systems at Hail University. The study will collect and analyse data on the existing system to understand its nature in terms of complexity and usability.
This study will be conducted using both primary and secondary data collection methods. In the case of primary data, information will be gathered from the employees of the University. Secondary data will be collected from previous assessments of the systems to identify any problems or strengths that that might be useful in the current study. As found in figure 1, the study will review 30 articles from reputable databases to answer the research questions.
The review was conducted in accordance with academic research standards. As a result, journals and articles were chooses from Google scholar, simulation data language (SDL), university library, IEEE Xplore digital library and Ebsco database. Although the articles were randomly selected, the study adopted specific keywords, search string and publication date. As fund in table 1, the literature review process shows the search string and keywords.
|Article Selection Guideline|
|RE- Requirement engineering|
|Software development lifecycle|
Table 1. Search string: Google. Articles selected: Articles published from 2009-2019.
Communication methods are formal and informal procedures, where data are transferred between supervisors and workers within a company, institution, school, government agency, or involving the company and its customers (Osman & Sahraoui, 2018). The fundamental procedure of communicating begins when an individual detects an idea. That individual (the sender) can interpret the idea into a message and transmit the message via a communication medium to another person (the recipient).
The recipient must translate the message and supply responses to the sender showing the message was decoded, and proper actions were taken. The aim of communication is to transmit a clear comprehension of a decoded message (Osman & Sahraoui, 2018). However, disruptions in communication may happen at any stage in the procedure. The causes of communication disruptions include poor language skills, employee resistance, selectivity or the trend for individuals to choose what they encode and decode (Osman & Sahraoui, 2018).
Communicating is the procedure for establishing commonness throughout the motion of ideas and feelings between the two parties. Communication is a market of information, opinions, advice, emotions leading to a shared comprehension (Osman & Sahraoui, 2018). The management of an organisation is intricate, and the entire body of government is growing with the advancement of time. To deal with this situation, the company, public, university and commercial institutions must prepare. Thus, the method of communication has to be well prepared because it has a distinctive part in the discipline of human relationships.
Saudi’s 2030 Vision
Saudi’s vision of 2030 is a determined blueprint establishing long-term targets and expectations. The government accepted to support public-private partnerships and continue to ease the circulation of private investment and enhance the country’s competitiveness using innovation strategy. Legislative authorities are tasked with reviewing existing regulations to improve the business market. Under the context of communication systems, the Saudi Emirate plans to deploy digital infrastructures and E-commerce.
Creating digital infrastructure
The government believes that digital infrastructure is essential to the complex industrial pursuits. Digital infrastructure brings investors and improves the overall competitiveness of their market. Because of these advantages, the authorities will associate with the private sector and encourage local investments to build communication direct the electronic market. The federal council and enhanced regulations will bolster the control of digital transformation. Vision 2030 provides an excellent prospect for the evolution of Saudi’s information technologies to profit from digital infrastructure. The goal of Vision 2030 relies on the collaboration between government entities and private industry to enhance the trade environment by altering the regulatory framework.
The Saudi government intends to expand its online services and enhancing its governance criteria. Such contributions will improve transparency and decrease delays in license review and business conditions. Noticeably, the magnitude of e-government is clear with the rise in online services to incorporate job applications, e-learning solutions, civic events, payment solutions and internet issuance of the commercial invoice. The government will improve service quality by streamlining procedures and diversifying communicating channels. The authorities will also encourage the broader use of internet software systems in government agencies, universities and commercial institutions. The software architecture will include cloud solutions, information sharing infrastructure and human resource management methods.
Requirement engineering (RE) is the practice of establishing the services which the customer needs from a system and the constraints under which it operates (Yousuf & Asger, 2015). The term requirements are the descriptions of the system services, functions and limitations. Requirements vary from a general statement to a comprehensive operational specification. Requirements could be the basis for a contract, which must be transparent, informed and defined (Yousuf & Asger, 2015).
If an investor funds a contract for a software development project, he or she must specify its needs, which is pre-defined. When a bid is chosen and approved, the contractor provides detailed requirements for investors to understand the operations and functions of the infrastructure. These documents might be known as the requirements file for the machine. RE is among the most important areas within the system life cycle and the basis for a successful job or program. Therefore, requirements can be assessed, tracked and monitored, and adjustments could be listed and audited.
Importance of Requirements Engineering
RE can be used to translate the imprecise demands of end-users into comprehensive specifications. The requirements act as the arrangement between the application users and the programmers. Thus, the significance of RE is vital to build efficient applications and reduce systematic errors. Since RE support different phases of software development, it is essential in administrative system projects. The importance of requirement engineering can be described based on its characteristics. Therefore, the features of functional requirements emphasise its importance in software development.
Features of Good Requirements
More frequently, communication disruptions and deficiencies in processes are influenced by RE, and many works of literature advocated the need to adjust the prerequisite rather than overhaul the system of communication (Shafiq et al., 2018; Shah & Patel, 2014; Yousuf & Asger, 2015). Thus, well-articulated requirements are critical to the system improvement procedure. Prerequisites must meet the stakeholders’ needs in a consistent, organised and precise procedure. Requirements must be atomic, attainable, cohesive, complete, current, feasible, traceable, modifiable, necessary and independent. A good requirement should communicate the investor’s need and attribute. Thus, requirements must have specific details of each step and procedure.
A functional requirement must be achievable and replicable. The prerequisites of a project should be cohesive and consistent. The gaps and errors within the requirement can be identified and adjusted when the report is clear and specific. As indicated in various works of literature, a good requirement must be complete (Hasan, Miah, Bao, & Hoque, 2019).
Definition of Terms
- Atomic: When the requirement reveals specific needs of each component.
- Cohesive: Following a standard pattern of specification.
- Traceable: Describes a requirement that can be linked from different sections.
- Modifiable: The report can be modified to accomplish new objectives.
Types of Requirements Engineering
The end-user requirements, system requirements, functional and non-functional requirements are the common forms of RE. Regardless of requirement type, software engineers depend on the specifications of the project to assess the effectiveness of the systems (Hasan et al., 2019). During the initial stages of the software development, requirement involves defining the purpose of the system and its specifications to ensure there are pre-defined explanations for future reference (Alsaqaf, Daneva, & Wieringa, 2019). These requirements must be documented for evaluation purposes, referrals, adjustment, and to test the effectiveness of the system.
User and systems requirements
User and system requirements are components of RE that provides system information, specifications and solutions for errors. User and system requirements are components of RE that provide information and solutions about a system (Hasan et al., 2019). User requirements are statements documented in simple formats with corresponding diagrams of the units of each infrastructure that explain the functions of a system or what it should deliver to end users (Maalem & Zarour, 2016).
In addition, they provide the constraints that may affect its operation. According to studies in system development, different levels of specifications ensures that readers and users of the information being developed can understand them (Hasan et al., 2019; Maalem & Zarour, 2016). While the users might not need details about the system, the developers rely on the details to assess the functioning and operations of the system (Hess, Diebold, & Seyff, 2019).
Notably, while the user requirements are meant for the end-users, system requirements are specifically for developers. Given that both requirements are prepared for different end-users, the report contains information that relates explicitly to the needs of the user. User requirements describe the functions of the system or what it should deploy to end-users (Maalem & Zarour, 2016). In addition, this requirement provides the constraints that may affect the operations of the systems. System requirements are generic since customers might not understand the details of requirement engineering.
A system requirement is a structured report that provides details of the function of each unit of software development (Maalem & Zarour, 2016). The report shows the overall functions and operations of the administrative communication system. The report can be used as a binding agreement between the stakeholder and the contractor.
Functional and non-functional requirements
Functional requirements could be informative graphs or explanations of system units and their operations (Katina, Keating, & Jaradat, 2014). Functional reports describes the machining process, an input command and behavioural patterns. End users and managers can use a functional requirement to test the functionality of the infrastructure (Katina et al., 2014). A technical requirement describes the system’s processes and operations. Requirements engineering rely on the user attribute, software infrastructure and specifications (Katina et al., 2014). Non-functional requirements reveal the limitations and constraints of the project.
It elaborates on the constraints of the system as it affects service delivery (Katina et al., 2014). In contrast, non-functional requirements are constraints on the functions of the system. These constraints are measured based on performance because they describe the number of tasks the system can handle. The report also describes the system vulnerability and types of attacks (Katina et al., 2014).
Non-functional requirements also involve a detailed description of the system, which depends on the system failure (Khan, Jan, Tahir, Khan, & Ullah, 2016). In addition, it involves the tools used in developing existing legislation to support the project (Eckhardt, Vogelsang, & Fernández, 2016). Unlike the functional requirements were the organisation and the system can find an alternative, failure to meet non-functional requirements render the system unusable. According to experts, non-functional requirements should be measurable and written in a quantitative format (Eckhardt et al., 2016).
Impact of Requirement Engineering
Many researchers have studied the impact of requirement engineering in software development (Eckhardt et al., 2016; Katina et al., 2014; Mogk, 2014). Their findings were used to investigate the current research objectives. Specifically, the cost of fixing errors and cause of project failures are some areas of emphasis. A survey on RE revealed its impact on software engineering development (Mogk, 2014).
The study findings showed that RE determined the scope, project management, communication, technical tasks and legal requirements of a project. Hafeez, Rasheed, and Khan (2017) suggested business trend and variations in technology as factors that support requirements engineering. Surveys show that quality is a significant reason systems fail project evaluations (Shah & Patel, 2014). If the requirements are incorrect, the project will fail because the requirements are the toughest aspects to fix and no other component of the design affects the system as far as prerequisites do (Mogk, 2014). Errors in project requirements cause system failure because the programs do not match the consumers or stakeholders’ need (Shah & Patel, 2014).
Errors Requirements Engineering
Alla (2017), who studied the role of requirements for administrative projects, suggested the need for proper documentation to improve task performance and quality. Poor documentation, validation and elicitation negatively affect project success (Alla, 2017). Based on the findings, software developers must incorporate requirement engineering to eliminate the cost of fixing errors and the cause of project failures (Alla, 2017).
Rao, Tariq, Haq, and Gill (2018) studied the influence of project management in RE. The authors conducted a web analysis of software development. The findings revealed the need for effective project management. The authors suggested the need for a comprehensive model for researchers and project managers (Rao et al., 2018). The cost of fixing errors or project failure is higher than the cost of building an integrated system (Alla, 2017). Thus, requirement engineering reduces the cost of project failures and fixing mistakes.
Bormane, Gržibovska, Bērziša, and Grabis (2016) investigated the influence of requirement engineering on project outcomes. The author used the case study approach to conclude that RE plays a vital role in software development. The findings showed that a project’s success relies on the quality of RE. Thus, the cost of a project development grows exponentially when the contractor uses inadequate requirements (Bormane et al., 2016).
Thus, when the job is approved, the contractors will face cost issues and project failure. In cases of requirement underestimation or overestimation, the organisation does not understand the role of RE. The causes of underestimation and overestimation in budgeting includes requirement modifications, user comprehension, a bad specification of demands and inadequate analysis (Askarinejadamiri, Azim, Zulzallil, & Tieng, 2017).
Problems in Requirements Engineering
As stated in relevant studies, requirements affect system performance and implementation (Dinkar, 2014). A survey by Dinkar (2014) on the challenges of inadequate requirements revealed that managers must contend several factors that influence poor documentation. The factors include incomplete or hidden requirements, unclear responsibilities, stakeholder’s issues, weak communication channel, unfeasible requirements and ambiguous requirements (Bormane et al., 2016). Another survey listed the salient issues as fluctuating and contradictory requirements, communication disruptions and the lack of domain knowledge (Rao et al., 2018).
Inayat, Salim, Marczak, Daneva, and Shamshirband (2015) used a systematic literature review to study the challenges of agile development. The results listed consumer availability, contractual limitations, project timeline and inappropriate design as the challenges on agile systems. Schön, Thomaschewski, and Escalona (2017) studied the challenges in agile software development. The authors used the controlled feedback technique and iterative approach to investigate the challenges in agile systems.
The research findings revealed key challenges in software development. The challenges include user involvement, functional dependencies, poor requirement management and minimal documentation. The study by Alam, Nazir, Asim, and Amr (2017) listed direct communication, negligence, conflicting requirements, team size and changes in requirements as common factors that affect system implementation. The results were consistent with other works of literature on agile software development. Agile software development is a procedure that combines system specifications and solutions (Alam et al., 2017).
Review on the Research Topic
The study questions seek to understand the characteristics of complex systems and the steps in managing complex challenges. The features of complex systems could be perceptual, temporal, contextual, behavioural and structural. A survey conducted on the role of RE in complex systems listed three challenges of the elicitation process (Alam et al., 2017). The problems include the machine observer, program demands in complicated scenarios and the impact of the machine atmosphere. The findings show that changes in paradigm support the management of complex systems (Alam et al., 2017). Thus, administrative communication systems are influenced by effective management practice, resource allocation and requirements engineering.
Requirements Engineering Process
According to studies on requirements engineering, developing an information system is a complex process that requires expertise (Bormane et al., 2016). Requirements engineering is considered as a good starting point because of its support for organisation communications (Kassab, 2015). An effective administrative communication system ensures that components of the information network are maintained to improve customer satisfaction (Bormane et al., 2016).
Requirements specification combines the system and application domains, which means it highly depends on the domain knowledge that can either be functional, social, administrative or technical (Mehmood & Ijaz, 2018). In software development, domain knowledge describes the system environment. Thus, the domain knowledge can be social when it describes the attributes of the end user. The development teams must be selected from several people with different levels of knowledge in requirement engineering to ensure effective management of all the components of the system.
As shown in Figure 2, the RE process includes requirement elicitation, analysis, specification, documentation, and validation. The process of software development can be achieved under proper management. The diagram aims to present a summary of the entire process. RE can be used to translate the imprecise demands of end-users into comprehensive specifications. The requirements act as the arrangement between the application users and the programmers (Bormane et al., 2016). Requirements documentation is used to convey stakeholder’s need.
Feasibility analysis is a conventional method of project development. Most analysts in engineering design have used the procedure (Mehmood & Ijaz, 2018). The feasibility study is an investigation of the viability of notion and concentrates on the fundamental question of the project deliverables (Mehmood & Ijaz, 2018). Feasibility studies may be utilised in several ways, but mostly focus on business ventures. As a result, agencies and government institutions conduct a feasibility analysis to determine the viability of an idea before proceeding with its implementation. Feasibility analysis depends on strategy, economic analysis, legal framework, operational feasibility and program schedules.
Requirement elicitation is a significant action in the RE process, which cannot be separated by other pursuits. Software developers use project specifications to recognise the machine boundaries and define the operational and behavioural aspects of communication architecture to fit the project purpose (Buzuku, Farfan, Harmaa, Kraslawski, & Kässi, 2019). The success of the course of action is predicated on identifying the target audience and finding their requirements.
End-users create cultural diversity. Therefore it is essential to incorporate data gathering that covers the entire population. The populations under this phase include end-users, client demand specifications, information on pre-existing system users and new customers (Mughal, Abbas, Ahmad, & Khan, 2018). The software developer needs to consider different variables such as software domain, system limitations, business need and sponsors. Software developers must guarantee effective communication among team members to enhance the elicitation of implicit understanding (Mehmood & Ijaz, 2018). Requirement elicitation clarify the elicited demands. The methods of data collection in the elicitation process could be conversational, synthetic, analytical and observational (Yousuf & Asger, 2015).
The findings recorded in the elicitation procedure are analysed and modelled. The elicitation procedure is an input signal to demand analysis, and the outcome of the procedure is a set of prerequisites. Requirement analysis is utilised to discover the inconsistency in the information supplied by the investors with the intention of responsibility, incisiveness and feasibility. Various methods are used in requirements analysis.
However, prioritisation and accreditation are the most crucial and frequent techniques (Mughal et al., 2018). Clients and programmers offer input for this procedure by expressing their reservations and approval ratings. Modelling functions as a link between the design and analysis stage. Strategies like data-flow solutions and schematic designs are utilised to describe the project requirements (Osman & Sahraoui, 2018).
When an investor’s demand is elicited, modelled and examined, it is recorded in a structured format. Requirement analysis is an input signal to documentation, and the outcome is a defined resource. Requirements documentation is used to convey stakeholder’s need. An accurate, concise and transparent description is a model for validating the specified demands and solving the end-user requirements (Shafiq et al., 2018). Requirements document covers user need, system demands, functional and non-functional requirements (Maalej, Nayebi, Johann, & Ruhe, 2016). Requirements documents are described with graphical notations, language, design pattern, structural notation and natural language.
This procedure clarifies the structure, language and the specification of the requirement. It confirms the feasibility of each timeline, the process of implementation, product quality and user need (Kassab, Neill, & Laplante, 2014). Requirement documentation, benchmarks and domain knowledge are input signals to validation (Mani & Prasanna, 2017). The software developer used the inspection file, demand checklist and testing to identify and adjust any flaw within the timeline.
Engineering Complex Systems
The design of an administrative communication system is a complex system. Elements that make up the design have its functions and characteristics. A complex system cannot be inferred from the properties of individual elements (Albers, Peglow, Powelske, Birk, & Bursac, 2018).
The components that make up the system can adjust its characteristic properties due to pressure from other components. Software developers use the requirements to build a complex system that is managed by engineering. Under complex systems, enterprises differ in properties, boundaries, complexity and development. To operate a complex system beyond its capabilities, it is important to integrate individual elements in a continuous pattern (Fraccascia, Giannoccaro, & Albino, 2018). Thus, complex systems can be managed using a continuous regimen engineering.
The regimen engineering includes the developmental environment, developmental precepts, human judgment, continuous characterisation, safety regulations and duality. The characteristics of complex systems vary with individual elements (Tuffin, 2016). However, most complex systems exhibit cascading failure, open, nested, dynamic, and contain feedback loops. Some studies suggest that complex systems could have sensitive dependence, fractal variation, mathematical simplicity, emergent order and negative entropy (Hodiamont et al., 2019). Sensitive dependence describes the characteristics of a complex system to alter its behaviour due to slight changes. Thus, complex systems requirement engineering improves administrative communication services.
Field Study on Hail University
Hail University is an educational institution with over 30,000 student population. The university was established in 2005. The university offers careers in engineering, education, information technology, operations, administrative, healthcare sciences, research, human resources, sales and support. Hail University uses technology to deliver affordable services to the people. Management seeks to drive career initiatives through communication systems and innovation. The researcher selected the study location based on its relevance to the research topic. The institution has an excellent design in administrative communication systems. Based on this context, the researcher seeks to investigate the impact of requirements engineering in administrative communication systems in Hail University.
Alam, S., Nazir, S., Asim, S., & Amr, J. (2017). Impact and challenges of requirement engineering in agile methodologies: A systematic review. International Journal of Advanced Computer Science and Applications, 8(4), 411-419. Web.
Albers, A., Peglow, N., Powelske, J., Birk, C., & Bursac, N. (2018). Coping with complex systems of-systems in the context of PGE: Product generation engineering. Procedia CIRP, 70(1), 457-462. Web.
Alla, S. (2017). Role of requirements engineering in software project’s success. Web.
Alsaqaf, W., Daneva, M., & Wieringa, R. (2019). Quality requirements challenges in the context of large-scale distributed agile: An empirical study. Information and Software Technology, 110, 39-55. Web.
Askarinejadamiri, Z., Azim, A., Zulzallil, H., & Tieng, K. (2017). Impact propagation of human errors on software requirements volatility. International Journal of Advanced Computer Science and Applications, 8(2), 227-236. Web.
Bormane, L., Gržibovska, J., Bērziša, S., & Grabis, J. (2016). Impact of requirements elicitation processes on success of information system development projects. Information Technology and Management Science, 19(1), 57-64. Web.
Buzuku, S., Farfan, J., Harmaa, K., Kraslawski, A., & Kässi, T. (2019). A case study of complex policy design: The systems engineering approach. Complexity, 2019(1), 1-23. Web.
Dinkar, S. K. (2014). Requirement engineering errors: Errors and ambiguities of visualization. International Journal of Computer Applications, 92(12), 19-23. Web.
Eckhardt, J., Vogelsang, A., & Fernández, D. M. (2016). Are non-functional requirements really non-functional?: An investigation of non-functional requirements in practice. Proceedings of the 38th International Conference on Software Engineering – ICSE ’16, 832-842. Web.
Fraccascia, L., Giannoccaro, I., & Albino, V. (2018). Resilience of complex systems: State of the art and directions for future research. Complexity, 2018(1), 1–44. Web.
Hafeez, M., Rasheed, F., & Khan, M. (2017). An improved model for requirement management system. Journal of Information Technology & Software Engineering, 07(01), 1-3. Web.
Hasan, N., Miah, S. J., Bao, Y., & Hoque, R. (2019). Factors affecting post-implementation success of enterprise resource planning systems: A perspective of business process performance. Enterprise Information Systems, 13(9), 1-28. Web.
Hess, A., Diebold, P., & Seyff, N. (2019). Understanding information needs of agile teams to improve requirements communication. Journal of Industrial Information Integration, 14, 3-15. Web.
Hodiamont, F., Jünger, S., Leidl, R., Maier, B. O., Schildmann, E., & Bausewein, C. (2019). Understanding complexity: The palliative care situation as a complex adaptive system. BMC Health Services Research, 19(1), 1-14. Web.
Inayat, I., Salim, S. S., Marczak, S., Daneva, M., & Shamshirband, S. (2015). A systematic literature review on agile requirements engineering practices and challenges. Computers in Human Behavior, 51(1), 915-929. Web.
Kassab, M. (2015). The changing landscape of requirements engineering practices over the past decade. 2015 IEEE Fifth International Workshop on Empirical Requirements Engineering (EmpiRE), 1–8. Web.
Kassab, M., Neill, C., & Laplante, P. (2014). State of practice in requirements engineering: Contemporary data. Innovations in Systems and Software Engineering, 10(4), 235-241. Web.
Katina, P. F., Keating, C. B., & Jaradat, R. M. (2014). System requirements engineering in complex situations. Requirements Engineering, 19(1), 45-62. Web.
Khan, F., Jan, S. R., Tahir, M., Khan, S., & Ullah, F. (2016). Survey: Dealing non-functional requirements at architecture level. VFAST Transactions on Software Engineering, 9(2), 7. Web.
Maalej, W., Nayebi, M., Johann, T., & Ruhe, G. (2016). Toward data-driven requirements engineering. IEEE Software, 33(1), 48-54. Web.
Maalem, S., & Zarour, N. (2016). Challenge of validation in requirements engineering. Journal of Innovation in Digital Ecosystems, 3(1), 15-21. Web.
Mani, P., & Prasanna, M. (2017). Validation of automated test cases with specification path. Journal of Statistics and Management Systems, 20(4), 535-542. Web.
Mehmood, M., & Ijaz, B. (2018). A review of requirement engineering process models. Journal of Architectural Engineering Technology, 07(01), 1-10. Web.
Mogk, N. W. (2014). A requirements management system based on an optimization model of the design process. Procedia Computer Science, 28, 221-227. Web.
Mughal, S., Abbas, A., Ahmad, N., & Khan, U. (2018). A social network based process to minimize in-group biasedness during requirement engineering. IEEE Access, 6, 66870-66885. Web.
Osman, N., & Sahraoui, A. (2018). A software requirement engineering framework to enhance critical success factors for ERP implementation. International Journal of Computer Applications, 180(10), 32-37. Web.
Rao, T., Haq, E., Tariq, S., & Gill, H. (2018). Influence of project management in requirement engineering process for global software development. International Journal of Computer Applications, 181(28), 28-35. Web.
Schön, M., Thomaschewski, J., & Escalona, J. (2017). Agile requirements engineering: A systematic literature review. Computer Standards & Interfaces, 49, 79-91. Web.
Shafiq, M., Zhang, Q., Akbar, M. A., Khan, A. A., Hussain, S., Amin, F.-E., … Soofi, A. A. (2018). Effect of project management in requirements engineering and requirements change management processes for global software development. IEEE Access, 6, 25747-25763. Web.
Shah, T., & Patel, S. (2014). A review of requirement engineering issues and challenges in various software development methods. International Journal of Computer Applications, 99(15), 36-45. Web.
Tuffin, R. (2016). Implications of complexity theory for clinical practice and healthcare organization. BJA Education, 16(10), 349-352. Web.
Yousuf, M., & Asger, A. (2015). Comparison of various requirements elicitation techniques. International Journal of Computer Applications, 116(4), 8–15. Web.