# Software Requirements Engineer’s Ability Assessment Method Based on Empirical Software Engineering

Authors: Jingbai Tian; Jianghao Yin; Liang Xiao
Journal: Wireless Communications and Mobile Computing
 (2022)

---

## Abstract

With the expansion of the scale and complexity of modern software systems, the failure rate of software projects remains high. One of the main reasons for the failure of software projects is the defects in processing software requirements. This paper proposes a software requirements engineer’s ability assessment method based on empirical software engineering to measure the matching degree between the software requirements engineer’s ability and industry expectations. First, collect the recruitment information of software requirements engineers from mainstream recruitment websites. Through natural language processing, the words related to the abilities of the software requirements engineer are counted. These words are summarized in the requirements acquisition, requirements analysis, and other SRE activities, then the industry expectations for various abilities are obtained. Later on, the authors collect the teaching settings of representative SRE courses, reflecting the software requirements engineer’s ability to learn the course. After that, this article defines the ratio of the industry expectation weight to the weight of each SRE activity in teaching as the software requirements engineer’s ability coefficient, which can intuitively reflect the matching degree between the software requirements engineer’s ability and industry expectations. Finally, take the national first-class undergraduate course “SRE” of Jinling Institute of Technology as an example to verify the method’s practicality to a certain extent.


---

## Body

## 1. Introduction

Software engineering technology plays an essential role in the development of contemporary society and is closely related to some emerging fields such as three-way decisions, urban hotspots, signal processing, fault detection, and optimization [1–5]. According to the “2020 Software and Information Technology Service Industry Statistical Bulletin” issued by the Operation Inspection Coordination Bureau of the Ministry of Industry and Information Technology, there are more than 40,000 enterprises above designated size in the software and information technology service industry in 2020, and the number of employees reached 7.047 million, a year-on-year increase of 3.1%. Software requirements engineering (SRE) is a crucial part of software engineering. Software requirements need to be accepted by both users and software developers, and the “requirements” must be expressed strictly and formally. Moreover, this tests whether the software requirements engineers are qualified. As a “bridge” role, the software requirements engineer helps the demand and supply sides communicate, from which we can see its significance.Research endeavors in software development have found that the failures and deficiencies of software systems are often rooted in the requirements activities undertaken [6–8]. These problems need to be solved by scientific means, which is the reason for the birth and continuous development of SRE. When teaching the SRE course in universities, teachers will guide students’ knowledge and skills learning based on the textbooks and syllabus, and most of the training programs are based on the general theory of cognitive laws in the academic circle. Therefore, there is a specific cognitive difference between practitioners in related industries and the instructors in schools regarding the role positioning and ability requirements of requirements engineers in the IT market. The difference prevents students from meeting the level standards required by the market in actual employment after completing the course.It is difficult to directly assess the abilities of a software requirements engineer in all aspects, but empirical software engineering is a feasible solution. Empirical software engineering is a quantitative and qualitative scientific measurement of software engineering processes and products using empirical research methods [9]. It has corresponding applications in describing, understanding, evaluating, predicting, controlling, managing, or improving software-related content [10]. This article reflects the ability structure of a software requirements engineer from the side by studying the class structure of SRE in universities and uses the specific recruitment information on 51job [11] and Zhilian [12], which are the current two mainstream online recruitment websites in China, as a reference to analyze the enterprise’s ability requirements for software requirements engineers. Calculate the importance of various abilities of software requirements engineers expected by the industry through word segmentation operations and compare this importance with the abilities of software requirements engineers. It can guide software requirements engineers to develop their abilities. Some present works [13–15] simply divide the ability of requirement engineers into requirements engineering (RE) professional ability and non-RE ability, while our research has (1) divided the ability of requirement engineers according to activities of requirement engineering, realizing the quantitative analysis of SRE ability; (2) an ability evaluation method for software requirements engineers is proposed. Using this method, engineers can obtain objective evaluations that meet industry expectations, which provides convenience for them to adjust their knowledge structure and adapt to work; (3) put forward the SRE ability coefficient, which guides for software requirements engineers to measure the degree of matching between their abilities and industry expectations.In the rest of this paper, Section2 describes the related work, Section 3 proposes research questions, then demonstrates our analysis process of collecting and screening specific recruitment information data, Section 4 displays the results and discusses the statistical results in detail, and Section 5 summarizes the full text and proposes future work.


## 2. Related Work

Due to the complexity and theoretical nature of SRE, it is difficult for students to understand relevant knowledge. In addition, due to the influence of limited hours and resources in colleges and universities, lecturers find it very challenging to make students fully master the ability of SRE to achieve employment. At the same time, Nguyen et al. [16] also pointed out that the knowledge taught in universities did not necessarily match the needs of the industry. Gibson [17] argued that RE is the most challenging stage for students and lecturers to teach in software development. The main task of RE is to capture customer requirements, analyze, model, and verify these requirements, then present them in a software specification, which is the final output of RE. Finally, develop software based on these requirements. Failure to accurately identify requirements will fail to meet project objectives and satisfy customers. Although there are many problems in the cultivation of software requirements engineer ability, there is not much domestic and foreign research on the above problems. Wang et al. [13] and Calazans et al. [18] summarized the basic skills required by requirements engineers by analyzing the recruitment information of software requirement engineers in China, Brazil, Mexico, and other countries, respectively. Memon et al. [19] systematically compiled, reviewed, and analyzed all the issues of requirements engineering education that appeared in the previous literature. Hertz and Spoletini [20] analyzed the content taught in courses related to requirements engineering offered by more than 40 universities in the United States, and they revealed potential deviations between the content offered by the courses and the needs of the industry.However, the above literature does not give specific methods for software requirements engineers to evaluate and adjust themselves according to these phenomena. Shao [21] proposed a capability framework and evaluation system for safety engineering talents. In this system, 24 indicators were selected from 4 perspectives, then the expert membership analysis and AHP methods were used to carry out further indicator empowerment. However, this method exists an inevitable subjectivity. Mkpojiogu et al. [22] proposed an evaluation method for students’ performance in SRE courses, but in this method, two examiners were required to evaluate students’ requirements work, which is not suitable for software requirements engineers. There is no method to guide software requirements engineers to effectively mine and evaluate their abilities in massive amounts of information. In order to provide software requirements engineers with a method to evaluate and adjust their abilities according to market demands, this article proposes a software requirements engineer’s ability assessment method based on empirical software engineering.This article considers that enterprises will describe the abilities and responsibilities of software requirements engineers according to the needs of enterprises when publishing recruitment information. To a certain extent, the frequency of keywords is a mapping of the importance of each stage of SRE in industry expectations. The recruitment information extracted from the Internet is segmented, and the weight of each SRE activity in the industry expectation is calculated through keyword statistics. Moreover, the SRE ability coefficient is introduced, which provides a feasible solution for software requirement engineers to measure their ability.


## 3. Research Process

### 3.1. Research Questions

The primary purpose of our work is to use the recruitment information we collected on the recruitment website to guide software requirements engineers to develop their abilities. For this reason, we have formulated two research questions:RQ1: how to measure the importance of all aspects of SRE through the recruitment information collected from the recruitment website? In order to ensure that candidates can adapt to the job content more quickly after entering the job, online recruitment advertisements usually describe the technical requirements and job responsibilities of the recruiter. This study will quantify each activity of SRE by analyzing the descriptions of online job advertisements related to SRE.RQ2: how to compare the training programs of universities and the importance of each activity of SRE to guide software requirements engineers to develop their abilities? “Software requirements engineer,” one of the emerging professions, has emerged since the 1990s. At this stage, there is a gap between the SRE courses set up by universities and market demand, and students cannot learn skills that can meet industry expectations in this type of course. Furthermore, there may be problems with abilities that deviate from industry expectations when entering the workplace. This research will guide software requirements engineers to develop their abilities by comparing college training programs and recruitment information.


### 3.2. Data Collection

This article will collect recruitment information for the second quarter of 2021 from two websites for analysis. Here, we select two mainstream online recruitment websites in China, 51job and Zhilian, as the data source for the research. The two major recruitment websites have the characteristics of large volume and a large number of users, which can meet the basic requirements of this research for data volume and data coverage to a higher degree.Since these two recruitment websites are comprehensive, we select “software requirements analysis” as a keyword to search. Provide a nationwide search on the 51job recruitment website, returning a total of 2,217 recruitment information. When several recruitment advertisements with low relevance to the keyword are continuously returned, the collection will be stopped. This article collected the first 842 recruitment information on 51job. However, the search scope of the whole country is not provided on the Zhilian website, so this article selects the most developed cities Chinese Internet industry: Beijing, Shanghai, Guangzhou, Shenzhen, and Wuhan to search and then collects 402, 452, 210, 629, and 145 recruitment information, respectively. The results are shown in Table1.Table 1
Recruitment information collection results.
WebsiteSearch scopeNumber of job postingsTotal51jobNationwide842842ZhilianBeijing4021838Shanghai452Guangzhou210Shenzhen629Wuhan145


### 3.3. Data Selection

Some of the recruitment copywriting deviates from the SRE topic discussed in this article through data analysis. This phenomenon shows that there is some useless information in the collected information. This research needs to ensure that the positions described in the online recruitment advertisement samples strongly correlate with the positions of software requirements engineers. Therefore, the data should be filtered before statistical analysis.First, the collected text information is segmented, and the third-party jieba library is used. However, when the jieba library is used directly for segmentation, it is based on the Chinese thesaurus, which does not contain proper nouns in the field of SRE. For example, when using Chinese thesaurus to segment words, “requirements analysis” will be divided into two words, “requirements” and “analysis,” or “requirements research” will be divided into two words, “requirements” and “research.” A custom dictionary needs to be introduced before word segmentation to solve this problem. Combining fixed collocations in the field of SRE and collecting recruitment information, we summarize 38 words, including software requirements analysis, software requirements analysts, requirements analysis, requirements specifications, requirements research, and requirements testing, which are written into the lexicon. Then, two schemes to filter out the information that has strong relevance to SRE are proposed:(1)
Forward Matching. Define a forward thesaurus, which stores active nouns related to SRE. When at least one of the job descriptions in the job information matches the content in the forward thesaurus, the job information is considered valid information(2)
Reverse Matching. Define a reverse thesaurus, which stores nouns in different fields from SRE, such as finance, banking, and automobile. When at least one of the words in the recruitment information matches the content in the reverse thesaurus, the job information is considered invalid informationSubsequently, the author randomly selected 100 recruitment information from the collected information, then used forward and reverse matching to conduct test experiments. When the forward matching rule is used for filtering, one invalid data is filtered out of the 100 pieces of data, and when the reverse matching rule is used, four invalid data are filtered out of the 100 pieces of data. Comparing the invalid information filtered by the two types of matching, it is found that when using the reverse matching rule, three of the invalid information filtered out still describe the SRE-related positions, but they are specifically used in a specific field, such as the software requirements analyst for financial software, so this information is still valid in this article. Therefore, this article selects forward matching to filter data, and the results after screening are shown in Table2.Table 2
Recruitment information after screening.
WebsiteSearch scopeNumber of job postingsInvalid informationValid informationTotal51jobNationwide84211831831ZhilianBeijing402423601240Shanghai452195257Guangzhou2102981Shenzhen629273356Wuhan1455986


### 3.4. Word Frequency Statistics

This article divides SRE into two stages: requirements development and requirements management. Requirements development includes requirements acquisition, requirements analysis, requirements specification, and requirements verification. Requirements management is divided into baseline management, change management, and requirements tracking. In traditional teaching, the three requirements management tasks tend to take up less space. This research will classify them into one category as requirements management. According to the meaning and function of words, this article will classify them into five activities: requirements acquisition, requirements analysis, requirements specification, requirements verification, and requirements management. The author uses the jieba library to realize the word frequency statistics of the segmented information through programming, and the statistical results are in Table3.Table 3
Word frequency statistics.
KeywordWord frequencyExplanationExampleRequirements acquisitionRequirements research796A method of requirements acquisition.Master the working methods of requirements collection and analysis and conduct requirements research, analysis, and design on IoT systems or products.Axure613Prototyping software.Have relevant work experience in internet product requirements analysis and use Axure, Xmind, project, Visio, and other software proficiently.Prototype design503Design the prototype according to the requirements, and negotiate the requirements with the customer.Participate in R&D-related requirements work: including requirements research plan formulation, collection, sorting customer needs, requirements prototype design.Define131The product of requirements definition directly impacts the work of SRE.Collect and define business goals, rules, and processes, form “business requirements” and “user requirements” with clear and accurate requirements, and complete the confirmation process with customers.Requirements collection88The process of demand acquisition includes collecting requirements information on the spot.Communicate with customers and complete the requirements collection.Requirements acquisition70Obtain user’s requirements information.Understand relevant business knowledge, be responsible for the requirements acquisition, complete records of survey content, and coordinate user requirements;Requirements analysisRequirements analysis2685The word is used as the keyword for job searching, so it is not considered.Responsible for the requirements analysis of the company’s communications industry software, with rich experience in program writing and good at communicating with customers.Software requirements analysis959An overall summary of the requirements analysis.Participate in the construction of software requirements analysis process, maintenance of software requirement-related toolchain, and maintenance of software requirement-related documents.Model256Results of requirements modeling.Communicate with customers, determine requirements boundaries, conduct requirements research work, collect customer needs, conduct in-depth analysis, and establish business models.Visio549Modeling software.Proficiency in using design tools such as Visio.Function design130Design software functions according to requirements.Responsible for requirements investigation and requirements analysis of the internal management system and participated in system function design and data-driven model design.Flow chart117Auxiliary tool for demand analysis.Sort out the business function flow chart according to the requirements of the company’s business department.Modeling114It is an essential task of requirements analysis, and the logical model of the system is established according to the requirements.Able to complete system module modeling, technical preresearch, database design, and so on.Architecture design142Participate in requirements research, acquire and analyze customer requirements, discuss business requirements, conduct requirements analysis, and business architecture design.Xmind128Software for mappingAbility to use tools, such as Visio, Xmind, or UML for business process modeling.UML76Method for object-oriented needs analysisProficient in business requirement analysis methods such as UML.Requirements specificationRequirements document375Requirements document needs to be written during the requirements specification phase.Strong document writing ability, capable of a high-quality output of document materials such as requirements documents and solutions.Requirements specification manual276Requirements specifications need to be written during the requirements specification manual stage.Independently responsible for dismantling and transforming software requirements according to user needs and writing the specification manual.Manual157Different terms in different recruitment information, same as requirements specification manual.Responsible for designing product modules and functions, completing product requirements detailed specification manual, and producing high-fidelity and low-fidelity prototypes.Requirements manual110Different terms in different recruitment information, same as requirements specification manual.Able to write high-quality business analysis documents and requirements manuals.Requirements verificationTest case562Write test cases to provide a sufficient foundation for further software development and testing.Writing test cases, providing sufficient support for further software development.Verify288Verify software requirements specification.Verify that the output of the system is consistent with the requirements.Test plan150Specify a plan for requirements verification.Cooperate with testers to write test plans.Requirements review128Nonsoftware developers check the software system to find out the problems in the system.Participate in internal and external requirements reviews, and finalize or correct the requirements based on the review comments.Acceptance239One of the tasks of requirement verification.Participate in the acceptance of software functions and write product manuals.Requirements managementKeep track of614One of the tasks of requirements management is to document the connection between each requirement and system element.Keep track of product development, find problems, propose optimization and improvement plans.Requirements change228Requirements change is inevitable, and requirements change control needs to be carried out in the requirements management stage.Participate in the entire project development process, responsible for requirements tracking, requirements change management, and work with the project team to ensure the final delivery.Follow up234Responsible for the follow-up of problems after the project goes online, summarizing and analyzing the application effect according to the operation of the project, proposing optimization and improvement suggestions.Requirements management167Compile relevant documents and conduct requirements management by the software process.The life cycle103Responsible for managing the entire life cycle of requirements, forming user requirements, independently organizing functional communication with customers, and ensuring the final effect of requirements.


## 3.1. Research Questions

The primary purpose of our work is to use the recruitment information we collected on the recruitment website to guide software requirements engineers to develop their abilities. For this reason, we have formulated two research questions:RQ1: how to measure the importance of all aspects of SRE through the recruitment information collected from the recruitment website? In order to ensure that candidates can adapt to the job content more quickly after entering the job, online recruitment advertisements usually describe the technical requirements and job responsibilities of the recruiter. This study will quantify each activity of SRE by analyzing the descriptions of online job advertisements related to SRE.RQ2: how to compare the training programs of universities and the importance of each activity of SRE to guide software requirements engineers to develop their abilities? “Software requirements engineer,” one of the emerging professions, has emerged since the 1990s. At this stage, there is a gap between the SRE courses set up by universities and market demand, and students cannot learn skills that can meet industry expectations in this type of course. Furthermore, there may be problems with abilities that deviate from industry expectations when entering the workplace. This research will guide software requirements engineers to develop their abilities by comparing college training programs and recruitment information.


## 3.2. Data Collection

This article will collect recruitment information for the second quarter of 2021 from two websites for analysis. Here, we select two mainstream online recruitment websites in China, 51job and Zhilian, as the data source for the research. The two major recruitment websites have the characteristics of large volume and a large number of users, which can meet the basic requirements of this research for data volume and data coverage to a higher degree.Since these two recruitment websites are comprehensive, we select “software requirements analysis” as a keyword to search. Provide a nationwide search on the 51job recruitment website, returning a total of 2,217 recruitment information. When several recruitment advertisements with low relevance to the keyword are continuously returned, the collection will be stopped. This article collected the first 842 recruitment information on 51job. However, the search scope of the whole country is not provided on the Zhilian website, so this article selects the most developed cities Chinese Internet industry: Beijing, Shanghai, Guangzhou, Shenzhen, and Wuhan to search and then collects 402, 452, 210, 629, and 145 recruitment information, respectively. The results are shown in Table1.Table 1
Recruitment information collection results.
WebsiteSearch scopeNumber of job postingsTotal51jobNationwide842842ZhilianBeijing4021838Shanghai452Guangzhou210Shenzhen629Wuhan145


## 3.3. Data Selection

Some of the recruitment copywriting deviates from the SRE topic discussed in this article through data analysis. This phenomenon shows that there is some useless information in the collected information. This research needs to ensure that the positions described in the online recruitment advertisement samples strongly correlate with the positions of software requirements engineers. Therefore, the data should be filtered before statistical analysis.First, the collected text information is segmented, and the third-party jieba library is used. However, when the jieba library is used directly for segmentation, it is based on the Chinese thesaurus, which does not contain proper nouns in the field of SRE. For example, when using Chinese thesaurus to segment words, “requirements analysis” will be divided into two words, “requirements” and “analysis,” or “requirements research” will be divided into two words, “requirements” and “research.” A custom dictionary needs to be introduced before word segmentation to solve this problem. Combining fixed collocations in the field of SRE and collecting recruitment information, we summarize 38 words, including software requirements analysis, software requirements analysts, requirements analysis, requirements specifications, requirements research, and requirements testing, which are written into the lexicon. Then, two schemes to filter out the information that has strong relevance to SRE are proposed:(1)
Forward Matching. Define a forward thesaurus, which stores active nouns related to SRE. When at least one of the job descriptions in the job information matches the content in the forward thesaurus, the job information is considered valid information(2)
Reverse Matching. Define a reverse thesaurus, which stores nouns in different fields from SRE, such as finance, banking, and automobile. When at least one of the words in the recruitment information matches the content in the reverse thesaurus, the job information is considered invalid informationSubsequently, the author randomly selected 100 recruitment information from the collected information, then used forward and reverse matching to conduct test experiments. When the forward matching rule is used for filtering, one invalid data is filtered out of the 100 pieces of data, and when the reverse matching rule is used, four invalid data are filtered out of the 100 pieces of data. Comparing the invalid information filtered by the two types of matching, it is found that when using the reverse matching rule, three of the invalid information filtered out still describe the SRE-related positions, but they are specifically used in a specific field, such as the software requirements analyst for financial software, so this information is still valid in this article. Therefore, this article selects forward matching to filter data, and the results after screening are shown in Table2.Table 2
Recruitment information after screening.
WebsiteSearch scopeNumber of job postingsInvalid informationValid informationTotal51jobNationwide84211831831ZhilianBeijing402423601240Shanghai452195257Guangzhou2102981Shenzhen629273356Wuhan1455986


## 3.4. Word Frequency Statistics

This article divides SRE into two stages: requirements development and requirements management. Requirements development includes requirements acquisition, requirements analysis, requirements specification, and requirements verification. Requirements management is divided into baseline management, change management, and requirements tracking. In traditional teaching, the three requirements management tasks tend to take up less space. This research will classify them into one category as requirements management. According to the meaning and function of words, this article will classify them into five activities: requirements acquisition, requirements analysis, requirements specification, requirements verification, and requirements management. The author uses the jieba library to realize the word frequency statistics of the segmented information through programming, and the statistical results are in Table3.Table 3
Word frequency statistics.
KeywordWord frequencyExplanationExampleRequirements acquisitionRequirements research796A method of requirements acquisition.Master the working methods of requirements collection and analysis and conduct requirements research, analysis, and design on IoT systems or products.Axure613Prototyping software.Have relevant work experience in internet product requirements analysis and use Axure, Xmind, project, Visio, and other software proficiently.Prototype design503Design the prototype according to the requirements, and negotiate the requirements with the customer.Participate in R&D-related requirements work: including requirements research plan formulation, collection, sorting customer needs, requirements prototype design.Define131The product of requirements definition directly impacts the work of SRE.Collect and define business goals, rules, and processes, form “business requirements” and “user requirements” with clear and accurate requirements, and complete the confirmation process with customers.Requirements collection88The process of demand acquisition includes collecting requirements information on the spot.Communicate with customers and complete the requirements collection.Requirements acquisition70Obtain user’s requirements information.Understand relevant business knowledge, be responsible for the requirements acquisition, complete records of survey content, and coordinate user requirements;Requirements analysisRequirements analysis2685The word is used as the keyword for job searching, so it is not considered.Responsible for the requirements analysis of the company’s communications industry software, with rich experience in program writing and good at communicating with customers.Software requirements analysis959An overall summary of the requirements analysis.Participate in the construction of software requirements analysis process, maintenance of software requirement-related toolchain, and maintenance of software requirement-related documents.Model256Results of requirements modeling.Communicate with customers, determine requirements boundaries, conduct requirements research work, collect customer needs, conduct in-depth analysis, and establish business models.Visio549Modeling software.Proficiency in using design tools such as Visio.Function design130Design software functions according to requirements.Responsible for requirements investigation and requirements analysis of the internal management system and participated in system function design and data-driven model design.Flow chart117Auxiliary tool for demand analysis.Sort out the business function flow chart according to the requirements of the company’s business department.Modeling114It is an essential task of requirements analysis, and the logical model of the system is established according to the requirements.Able to complete system module modeling, technical preresearch, database design, and so on.Architecture design142Participate in requirements research, acquire and analyze customer requirements, discuss business requirements, conduct requirements analysis, and business architecture design.Xmind128Software for mappingAbility to use tools, such as Visio, Xmind, or UML for business process modeling.UML76Method for object-oriented needs analysisProficient in business requirement analysis methods such as UML.Requirements specificationRequirements document375Requirements document needs to be written during the requirements specification phase.Strong document writing ability, capable of a high-quality output of document materials such as requirements documents and solutions.Requirements specification manual276Requirements specifications need to be written during the requirements specification manual stage.Independently responsible for dismantling and transforming software requirements according to user needs and writing the specification manual.Manual157Different terms in different recruitment information, same as requirements specification manual.Responsible for designing product modules and functions, completing product requirements detailed specification manual, and producing high-fidelity and low-fidelity prototypes.Requirements manual110Different terms in different recruitment information, same as requirements specification manual.Able to write high-quality business analysis documents and requirements manuals.Requirements verificationTest case562Write test cases to provide a sufficient foundation for further software development and testing.Writing test cases, providing sufficient support for further software development.Verify288Verify software requirements specification.Verify that the output of the system is consistent with the requirements.Test plan150Specify a plan for requirements verification.Cooperate with testers to write test plans.Requirements review128Nonsoftware developers check the software system to find out the problems in the system.Participate in internal and external requirements reviews, and finalize or correct the requirements based on the review comments.Acceptance239One of the tasks of requirement verification.Participate in the acceptance of software functions and write product manuals.Requirements managementKeep track of614One of the tasks of requirements management is to document the connection between each requirement and system element.Keep track of product development, find problems, propose optimization and improvement plans.Requirements change228Requirements change is inevitable, and requirements change control needs to be carried out in the requirements management stage.Participate in the entire project development process, responsible for requirements tracking, requirements change management, and work with the project team to ensure the final delivery.Follow up234Responsible for the follow-up of problems after the project goes online, summarizing and analyzing the application effect according to the operation of the project, proposing optimization and improvement suggestions.Requirements management167Compile relevant documents and conduct requirements management by the software process.The life cycle103Responsible for managing the entire life cycle of requirements, forming user requirements, independently organizing functional communication with customers, and ensuring the final effect of requirements.


## 4. Results and Discussion

RQ1: the authors use the jieba library to realize the word frequency statistics of the segmented information through programming, and the statistical results are shown in Figure1.Figure 1
Word frequency statistics for each SRE activity. (a) Requirements acquisition. (b) Requirements analysis. (c) Requirements specification. (d) Requirements verification. (e) Requirements management.Requirements acquisition is the early activity of SRE, and it is also the most critical and error-prone step in SRE. The most frequently occurring word in the requirements acquisition is “requirements research,” which shows that companies pay more attention to the applicant’s requirements research ability in the requirements acquisition stage. Therefore, a high degree of cooperation and communication between developers and users is required, which is also the task of requirements research. The most frequent occurrence in the requirements analysis is “software requirements analysis,” but this term is more general and summarizes all tasks in the requirements analysis, so consider the word “Visio” with the second most frequent occurrence. Visio is a commonly used software for requirements modeling. Requirements modeling is an integral part of requirements analysis. It mainly uses a specific modeling method to establish a logical system model based on the requirements to be developed, which is also in line with the company’s requirements for applicants. The keywords appearing in the requirements specification are all around “requirements specifications,” but they are different in different job advertisements, indicating that the core task in the requirements specification is to write requirements specifications. The most frequently occurring word in the requirements verification phase is “test case.” This keyword corresponds to providing a sufficient foundation for further software development and testing in the requirements verification phase, which explains most of the tasks. Enterprises have requirements for the ability of candidates to write test cases in the requirements verification phase. The most frequently occurring word in the requirements management stage is “ keep track of.” Requirements change will inevitably be encountered in the software development process, so software requirements engineers must keep track of the project.Next, the five activities will be analyzed as a whole, and the weight of each part will be determined. The proportion of the number of keywords in each activity to the total number of keywords is used as the weight of each activitywi:
(1)wi=ni∑ni,where wi is the weight of each SRE activity in the industry expectation, and ni is the number of words in each activity.The calculation result is shown in Figure2.Figure 2
The proportion of various SRE activities in the industry expectationst.The weights of requirements acquisition, requirements analysis, requirements specification, requirements verification, and requirements management are 0.2651, 0.2976, 0.1106, 0.1646, and 0.1621 in order, the order of importance from high to low is requirements analysis, requirements acquisition, requirements management, requirements verification, and requirements specification.RQ2: as one of the professional courses in software engineering, SRE has attracted wide attention from universities. However, there is a gap between the SRE courses set up by universities and market demand at this stage. In the first question, this article uses the keywords in the recruitment information to establish an assessment standard. This article will use this set of standards to measure the matching degree between the software requirements engineer’s ability and industry expectations.It is not easy to quantify the ability of a software requirements engineer directly. However, the courses the engineer received can reflect his ability to a certain extent, so the authors collect the SRE courses produced by Jinling Institute of Technology from the MOOC software, which has been selected into the first batch of national first-class undergraduate courses in 2020, and the number of learners has exceeded 10,000. So this course can represent the current situation of this course in China to a certain extent.In this research, the ratio of the teaching time of each SRE activity of the university’s SRE course to the total class time is the weight of each activity in the syllabuski:
(2)ki=ti∑ti,where ki is the weight of each SRE activity in teaching, and ti is the teaching time of each activity.According to the above calculation method, the weight of each stage of the “SRE” course produced by Jinling Institute of Technology is shown in the following Table4.Table 4
The weight of requirements engineering activities in class.
SRE activitiesRequirements acquisitionRequirements analysisRequirements specificationRequirements verificationRequirements managementClass hours (min)74.3479.2121.1723.3239.98ki0.31230.33280.08890.09800.1680Table5 shows the weight of each activity of the SRE course produced by the Jinling Institute of Technology and the weight of each activity in the recruitment information. Through comparison, it can be found that enterprises and universities have the same ranking of the importance of these five activities. The weights from high to low are requirements analysis, requirements acquisition, requirements management, requirements verification, and requirements specification. However, there is a deviation in the specific weight.Table 5
Weight comparison.
SRE activitieswikiRequirements acquisition0.26510.3123Requirements analysis0.29760.3328Requirements specification0.11060.0889Requirements verification0.16460.0980Requirements management0.16210.1680In order to more clearly reflect the matching degree between the software requirements engineer’s ability and the industry expectations, this artilce defines the ratio of the weight of each SRE activity in the industry expectationswi to the weight of each SRE activity in teaching ki as the SRE ability coefficient (θi), the specific calculation formula is
(3)θi=wiki,where wi is the weight of each SRE activity in the industry expectations, and ki is the weight of each SRE activity in teaching.This coefficient reflects the matching degree between the software requirements engineer’s ability and industry expectations. Whenwi>ki, it means that certain aspects of the industry expectations are higher than the engineer’s ability. At this time, the SRE coefficient is greater than 1, and the engineer needs to focus on cultivating one’s own ability in this area; whenwi=ki, it means that a particular aspect of the industry expected ability matches the engineer’s ability, and the software requirement engineering coefficient at this time is equal to 1; when wi<ki, it means that the engineer’s ability of specific aspects has already exceeded the ability expected by the industry, and the SRE coefficient at this time is less than 1. The closer θi is to 1, the higher the matching degree between the software requirements engineer’s ability and the industry expectation, and the more deviating from 1, the lower the matching degree between the software requirements engineer’s ability and the industry expectation.According to the definition, we can calculate the SRE ability coefficient of engineers who study the SRE course by Jinling Institute of Technology. The calculation results are shown in Table6.Table 6
SRE ability coefficient calculation results.
SRE activitiesθiRequirements acquisition0.85Requirements analysis0.89Requirements specification1.24Requirements verification1.68Requirements management0.96The calculation results show that the SRE ability coefficient is not one. It means that the abilities in the five SRE activities deviate to varying degrees from industry expectations. Among them, the SRE ability coefficient of requirements acquisition, requirements analysis, and requirements management are less than one, which means that the content of these three parts are more critical in classroom teaching, and the corresponding software requirements engineers have more potent abilities in these aspects. The SRE coefficient of requirements management is the closest to one, indicating that software requirements engineers’ requirements management ability is highly matched to industry expectations. The SRE ability coefficients of requirements specification and requirements verification are higher than one, indicating that the time spent on these three parts in classroom teaching is insufficient. The corresponding requirements engineers’ abilities in these two parts are lower than industry expectations. The difference between the SRE ability coefficient of the requirements verification and one reached 0.68. It is the most significant deviation from industry expectations among the five activities, reflecting that engineers need to invest more time in training. The importance of requirements verification is finding and fixing the requirements specification documents’ problems and avoiding rework in the software and implementation. Many experiences show that if errors and problems can be found at this stage, many costs can be saved later. The main problem with requirements verification is no practical method to prove that a requirement specification is correct. At present, most of the methods for verifying requirement specifications can only be tested manually. In addition, some project personnel is unwilling to spend time on requirements verification. Although arranging for some time in the plan to improve the quality of requirements specifications seems to affect the time to deliver the software system, the time invested in requirements verification can reduce rework and speed up system testing, thereby shortening development time and reducing costs.


## 5. Conclusion and Future Work

This article first collects a large amount of recruitment information and calculates the weight of each activity in the SRE through word segmentation. In order to obtain a more intuitive result, we define the ratio of the weight of each SRE activity in the industry expectations to the weight of each SRE activity in teaching as the SRE ability coefficient, which can reflect the degree of matching between the software requirements engineer’s ability and industry expectations. The closer the calculated coefficient is to 1, the more closely the software requirements engineer’s ability matches industry expectations. Then take the SRE course of Jinling Institute of Technology as an example which is selected into the first batch of national first-class undergraduate courses. The SRE ability coefficient of software requirements engineers who studied this course is calculated, and we find the following three features: (1) in the five SRE activities, the ranking of industry expectations and classroom teaching weights are the same; (2) the five aspects of requirements acquisition, requirements analysis, requirements specification, requirements verification, and requirements management have different degrees of deviation from industry expectations. The SRE ability coefficient of requirements acquisition, requirements analysis, and requirements management are less than one, and the SRE ability coefficient of requirements specification and requirements verification are higher than one; (3) the difference between the SRE ability for requirements verification and one is the largest, which means it significantly deviates from industry expectations.In the future, we plan to collect and analyze more recruitment advertisements from the portal websites specified in this work and other popular recruitment websites in China. In addition, we will collect more school syllabuses to deeply explore the relationship between industry expectations in the Chinese market and the abilities of software requirements engineers.



---

*Source: 3617140-2022-03-11.xml*