This document summarizes the results of a study that aimed to identify significant software requirements engineering practices (SREPs) for systems engineering contexts. Researchers surveyed 103 practitioners and analyzed responses from 100 to identify SREPs. They evaluated 57 potential SREPs across 7 categories based on perceived benefits. Practices with over 50% of respondents indicating high or medium perceived benefits were considered significant. The results identified 55 out of 57 as significant SREPs for systems engineering contexts.
2. Rodina Ahmad
Faculty of CS and IT
University of Malaya,
Kuala Lumpur,
Malaysia
Mohd Hairul
Nizam Md Nasir
Faculty of CS and IT
University of Malaya,
Kuala Lumpur,
Malaysia
Muzafar Khan
Department of
Computer Science,
COMSATS Institute
of IT,
Islamabad, Pakistan
ABSTRACT
Utilization of the software is increasing day by day. The
advancement in hardware and software have paved the way
for systems engineering that supports the development of
complex systems encompassing software as a part. Such
systems need more vigorous Requirements Engineering (RE)
3. practices and guidelines to cater the multidimensional needs.
The objective of this study is to identify the significant
software RE practices in the systems engineering context.
Through the questionnaire survey and by employing four
categories for the perceived benefits of RE practices, we have
identified 55 RE practices that are significant for
improvement of RE process in systems engineering context.
Keywords
Requirements Engineering Practices, Requirements
Engineering Process, Software Requirements Engineering,
Systems Engineering.
1. INTRODUCTION
The rapid growth of hardware and software paves the way of
complex systems in which software is just a single component
with many others from different domains e.g. mechanical
engineering. Computer systems are no more standalone
systems with application software. Researchers are working
on smart grids [1], smart homes [2], and many other similar
projects in which data from different sensors/system
4. components is continuously generated and processed to make
decisions. Such systems need more vigorous Requirements
Engineering (RE) practices and guidelines to cater the
interests of multiple parties involved. This whole development
scenario leads towards system engineering.
System engineering is defined as “the multidisciplinary
application of analytical, mathematical, and scientific
principles for formulating, selecting, developing, and
maturing a solution that has acceptable risk, satisfies user
operational need(s), and minimizes development and life
cycle costs while balancing stakeholder interests” [3].
Keeping in view this definition, an important aspect of
system engineering is to satisfy the users’ requirements. RE
deals with analysis, specification, prioritization and
management of user requirements.
In near past, researchers focused developing methods for
elicitation, analysis, documentation, and prioritization of user
requirements in the context of software development. System
5. engineering which involves multidisciplinary development,
demands the wider scope of RE. RE is the most imperative
activity of the software development life cycle [4] and it
affects the other software development activities considerably
[5]. The success or failure of a project is reliant on the RE
process [4]. Cost of removing defects after the deployment of
software can be 10 to 200 times as compared to the cost if
defects are detected and eliminated during RE phase [6].
Therefore, to fulfill the wide-ranging demands of systems
engineering, significant RE practices in systems engineering
context must be identified for the enhancement of RE process.
With this context, this study intends to answer the following
research question:
Research Question: Which RE practices are significant for
software development in systems engineering context?
2. LITERATURE REVIEW
The various approaches to capture, specify and communicate
requirements for safety critical systems have been discussed
6. in [7]. A systematic literature review on requirements for
safety critical systems has been presented in [8]. The study [9]
presents framework to engineer the requirements in case of
adaptive systems. Holtman et al. provide an algorithm for
refinement of the software requirements for model based
systems engineering [10]. Another study [11] defines the
high-level safety requirements for automotive industry by
providing the safe systems requirements engineering process
and OS&SHA method. A case study, about goal-oriented RE
in case of complex systems for research purpose, has been
presented in [12]. Based on emotions, the people-oriented RE
has been discussed in [13] through a case study on emergency
systems. Lutz & Keith emphasis on software requirements
engineering for cloud computing and large-scale systems [14].
The study [15] discusses the impact of volatility of
requirements in case of systems engineering. This can be
observed through literature review that numerous studies
focus on RE in case of systems engineering but no one
7. presents the significant RE practices for systems engineering.
3. RESEARCH METHODOLOGY
To explore the significant Software Requirements
Engineering Practices (SREPs) in systems engineering
context, we have utilized Sommerville and Sawyer’s 57 (n)
RE practices [16] for requirements documentation,
requirements elicitation, requirements analysis and
negotiation, requirements description, system modeling,
requirements validation and requirements management.
This study is based on a questionnaire that contains closed
ended and open-ended questions. Our respondents are system
engineers, requirements engineers, project managers, manger
operations and software engineers who have at least 10 years’
experience regarding software development. The
questionnaire has been emailed to 160 relevant practitioners.
Out of which 103 questionnaires have been sent back.
Keeping in view various parameters like practitioners’
experience and job profile, 100 (TN) questionnaires have been
8. Circulation in Computer Science
International Conference on Engineering, Computing &
Information Technology (ICECIT 2017), pp:14-18
www.ccsarchive.org
15
chosen for data analysis. The practitioners have ranked 57 RE
practices keeping in view the perceived benefits of the RE
practices in the context of systems engineering. The four
categories of the perceived benefits are [17-18]:
a) High Perceived Benefits (HPB): A High Perceived
Benefits RE practice is mandatory and is employed
almost always.
b) Medium Perceived Benefits (MPB): A Medium
Perceived Benefits RE practice is not mandatory but
it is used in case of the most of projects.
c) Low Perceived Benefits (LPB): A Low Perceived
Benefits RE practice is employed in case of some
specific projects.
d) Zero Perceived Benefits (ZPB): A Zero Perceived
Benefits RE practice is used hardly or never.
9. 3.1 Criterion to find Significant Software
Requirements Engineering Practices
If 50% respondents or more select ‘high perceived benefits’ or
‘medium perceived benefits’ category in case of an RE
practice then that RE practice will be considered as significant
in systems engineering context. Several studies [18-20]
successfully employ the same criterion.
The ‘significant’ means ‘important to be worthy of attention’
or ‘important enough to have an effect’. For this study, the
‘high perceived benefits’ and ‘medium perceived benefits’
categories have been considered to select significant SREPs in
systems engineering context as ‘high’ category RE practices
are mandatory almost for each project and ‘medium’ category
RE practices are widely employed. For every RE practice, the
Importance Level (IL) indicates responses’ percentage in
‘high’ and ‘medium’ perceived benefits’ categories. It can be
obtained by using formula:
IL= [(HPB + MPB) / TN] × 100
4. RESULTS AND DISCUSSION
10. Results and discussions have been presented with respect to
seven applicability areas of RE practices which are: i).
Requirements documentation practices, ii) Requirements
elicitation practices, iii). Requirements analysis and
negotiation practices, iv). Requirements description practices,
v). System modeling practices, vi). Requirements validation
practices and vii). Requirements management practices.
We have denoted each SREP through a unique Practice
IDentification (PID) from SREP1, SREP2, SREP3…to SREP57.
The number of responses for various ranks/categories have
been denoted by HPBI, MPBI, LPBI and ZPBI (I = 1, 2,…, 57)
for high, medium, low and zero perceived benefits
respectively.
Whereas n
NTZPBLPBMPBHPB
n
I
11. 1
)( and
n
I
IIII
TNnZHBLPBMPBHPB
1
)()(0
4.1 Requirements Documentation Practices
Table 1 shows that there are 8 requirements documentation
practices represented by SREP1, SREP2, …, SREP8. The
number of responses in various categories are denoted by
HPBI, MPBI, LPBI, and ZPBI (I = 1, 2, …, 8). The SREPs in
case of which IL is 50 or more, are considered as significant
RE practices in systems engineering context.
12. By applying significance criterion, this can be observed that
out of 8 RE practices, 7 are significant RE practices whereas 1
RE practice (SREP3) is unimportant in the systems
engineering context. The IL in case of SREP3 is 45 which is
less than 50, therefore, SREP3 does not meet the significance
criterion. In case of the rest of 7 requirements documentation
practices the ILs are 69, 71, 60, 89, 63, 70 and 74. All these
ILS are more than 50, therefore, these requirements
documentation RE practices are significant for RE process.
Table 1. Requirements documentation practices
PID Software Requirements Engineering Practice (SREP)
Ranking
IL
HPBI MPBI LPBI ZPBI
SREP1 Defining standard document structure 41 28 21 10 69
SREP2 Explaining how to use document 47 24 17 12 71
SREP3 Including requirements’ summary 30 15 50 05 45
SREP4 Making business case for necessity of system 52 08 38
02 60
13. SREP5 Providing definitions for special terms 50 39 07 04 89
SREP6 Designing document to support readability 43 20 29 08
63
SREP7 Assisting reader in finding required information 40 30
21 09 70
SREP8 Making changes in requirements’ document easy 35 39
20 06 74
4.2 Requirements Elicitation Practices
Table 2 shows that there are 13 requirements elicitation
practices. By applying significance criterion, this can be
observed that out of 13 practices, 12 are significant RE
practices whereas 1 RE practice (SREP16) is insignificant in
the systems engineering context. The IL in case of SREP16 is
48 which is less than 50 and hence does not meet the
significance criterion. In case of the remaining 12
requirements elicitation practices i.e. SREP9, SREP10,
SREP11, SREP12, SREP13, SREP14, SREP15, SREP17,
SREP18,
SREP19, SREP20, SREP21, the ILs are 60, 62, 59, 76, 88, 69,
56, 60, 71, 58, 90, 70 respectively. This can be observed that
14. all the ILs are more than 50. Thus, according to the opinion of
practitioners, these RE elicitation practices fulfil the
significance criterion and are significant to address the
requirements elicitation issues.
Circulation in Computer Science
International Conference on Engineering, Computing &
Information Technology (ICECIT 2017), pp:14-18
www.ccsarchive.org
16
Table 2. Requirements elicitation practices
PID Software Requirements Engineering Practice (SREP)
Ranking
IL
HPBI MPBI LPBI ZPBI
SREP9 Assessing feasibility of system 47 13 31 09 60
SREP10 Considering organizational and political factors 42 20
28 10 62
SREP11 Finding and consulting potential stakeholders of the
system 45 14 27 14 59
15. SREP12 Recording sources of the requirements 39 37 16 08 76
SREP13 Considering operating environment of the system 46 42
09 03 88
SREP14 Using business goals for deriving elicitation of the
requirements 39 30 26 05 69
SREP15 Considering constraints of domain 36 20 38 06 56
SREP16 Knowing rationale for the requirements 25 23 30 22 48
SREP17 Gathering requirements keeping in view various
viewpoints 46 14 35 05 60
SREP18 Prototyping the requirements that are unclear 44 27 17
12 71
SREP19 Employing scenarios for eliciting requirements 41 17
29 13 58
SREP20 Documenting the operational processes of business 40
50 08 02 90
SREP21 Reusing requirements from alike systems 48 22 25 05
70
4.3 Requirements Analysis and Negotiation
Practices
Table 3 shows that there are 8 requirements analysis and
negotiation practices. By applying significance criterion, this
can be observed that all the 8 practices are significant RE
16. practices in the systems engineering context.
Table 3. Requirements analysis and negotiation practices
PID Software Requirements Engineering Practice (SREP)
Ranking
IL
HPBI MPBI LPBI ZPBI
SREP22 Outlining boundaries of computer based system 50 44
05 01 94
SREP23 Developing and using checklist for analyzing
requirements 30 36 27 07 66
SREP24 Facilitating requirements negotiation by using software
35 20 35 10 55
SREP25 Anticipating requirements conflicts and planning for
resolving the conflicts 46 47 04 03 93
SREP26 Assigning requirements priorities 40 27 22 11 67
SREP27 Classifying requirements with respect to different
dimensions 40 29 19 12 69
SREP28 Employing Interaction Matrices for identifying
requirements conflicts and
overlapping
44 24 29 03 68
SREP29 Assessing potential risks related to requirements 51 10
33 06 61
17. 4.4 Requirements Description Practices
Table 4 shows that there are 5 requirements description
practices. By applying significance criterion, this can be
observed that all the 5 practices are significant RE practices in
the systems engineering context.
Table 4. Requirements description practices
PID Software Requirements Engineering Practice (SREP)
Ranking
IL
HPBI MPBI LPBI ZPBI
SREP30 Defining and using standard templates to describe
requirements 44 48 06 02 92
SREP31 Describing requirements by applying simple, consistent
and brief language 38 20 32 10 58
SREP32 Describing requirements through apposite utilization of
diagrams 35 32 19 14 67
SREP33 Supplementing the natural language description with
the other descriptions 30 37 29 04 67
SREP34 Specifying requirements through quantitative values
40 23 36 01 63
4.5 System Modelling Practices
18. Table 5 shows that there are 6 system modeling practices. By
applying significance criterion, this can be observed that all
the 6 practices are significant RE practices in the systems
engineering context.
Circulation in Computer Science
International Conference on Engineering, Computing &
Information Technology (ICECIT 2017), pp:14-18
www.ccsarchive.org
17
Table 5. System modelling practices
PID Software Requirements Engineering Practice (SREP)
Ranking
IL
HPBI MPBI LPBI ZPBI
SREP35 Developing various complementary models of the
system 47 40 11 02 87
SREP36
Developing numerous models to show the system’s
19. environment
50 47 02 01 97
SREP37 Developing the system architecture 42 44 10 04 86
SREP38 Employing structured methods to model the system 33
37 23 07 70
SREP39 Using data dictionary 41 31 19 09 72
SREP40
Mentioning association between requirements and system
models
40 40 15 05 80
4.6 Requirements Validation Practices
Table 6 shows that there are 8 requirements validation
practices. By applying significance criterion, this can be
observed that all the 8 practices are significant RE practices in
the systems engineering context.
Table 6. Requirements validation practices
PID Software Requirements Engineering Practice (SREP)
Ranking
IL
HPBI MPBI LPBI ZPBI
SREP41 Checking that requirements specification document is
20. according to standards 34 20 38 08 54
SREP42 Arranging for the inspections of the requirements 31 38
20 11 69
SREP43 Employing multi-disciplinary teams for sake of
reviewing requirements 40 43 10 07 83
SREP44 Preparing checklists for validating requirements 40 27
27 06 67
SREP45 Developing prototypes for requirements’ animation 30
32 28 10 62
SREP46 Writing user manual 42 40 12 06 82
SREP47 Suggesting test cases for checking requirements 40 29
11 20 69
SREP48 Paraphrasing the various models of system through
natural language 48 32 18 02 80
4.7 Requirements Management Practices
Table 7 shows that there are 9 requirements management
practices. By applying significance criterion, this can be
observed that all the 9 practices are significant RE practices in
the systems engineering context.
Table 7. Requirements management practices
PID Software Requirements Engineering Practice (SREP)
Ranking
21. IL
HPBI MPBI LPBI ZPBI
SREP49 Assigning identifier to each requirement 30 30 33 07
60
SREP50 Formulating policies to manage requirements 43 40 15
02 83
SREP51 Defining policies for requirements’ traceability 41 45
09 05 86
SREP52 Maintaining manual for traceability of the requirements
39 28 26 07 67
SREP53 Developing database for requirements management 41
31 19 09 72
SREP54 Defining policies to support requirements change
management 30 33 31 06 63
SREP55 Detecting global system requirements 44 43 09 04 87
SREP56 Detecting requirements that are expected to change 47
24 17 12 71
SREP57 Keeping track of requirements that are rejected 31 39
27 03 70
Thus (7 + 12 + 8 + 5 + 6 + 8 + 9) 55 RE practices are
significant in systems engineering context.
5. CONCLUSION
22. This study aims at improving the RE process in systems
engineering context. For this purpose, survey research method
has been employed. One hundred practitioners have
participated in the study through the emailed questionnaire.
The respondents have been solicited to rank the Sommerville
and Sawyer’s 57 RE practices for the seven areas of
requirements documentation, elicitation, analysis and
negotiation, description, modeling, validation and
management.
The practitioners have ranked the given RE practices
according to the perceived benefits of the practices in systems
engineering context. The four ranks or categories of the
perceived benefits are high, medium, low and zero. By
analyzing the data and applying the 50% criterion for
significance, we have explored 55 software RE practices that
are significant for RE process in systems engineering context.
The study suggests to adopt the identified significant RE
practices to ensure an effective RE process in systems
23. engineering context
Circulation in Computer Science
International Conference on Engineering, Computing &
Information Technology (ICECIT 2017), pp:14-18
www.ccsarchive.org
18
6. REFERENCES
[1] Feng, S., Setoodeh, P., & Haykin, S. (2017). Smart
home: cognitive interactive people- centric internet
of things. IEEE Communications Magazine, Volume 55,
No. 2, pp. 34–39.
[2] Stojmenovic, I., Wen, S., Huang, X., & Luan, H. (2016).
An overview of fog computing and its security issues.
Concurrency and Computation: Practice and Experience,
Volume 28, No. 10, pp. 2991–3005.
[3] Wasson, C. S. (2015). System engineering analysis,
design, and development: concepts, principles, and
practices. Wiley, 2nd edition, pp. 2.
[4] Bhat, J. M., Gupta, M., & Murthy, S. N. (2006).
Overcoming requirements engineering challenges:
24. lessons from offshore outsourcing. IEEE Software,
Volume 23, No. 5, pp.38–44.
[5] Sommerville, I., & Ransom, J. (2005). An empirical
study of industrial requirements engineering process
assessment and improvement. ACM Transaction on
Software Engineering and Methodology, Volume 14, No.
1, pp. 85–117.
[6] Mead, N. R. (2007). How to compare the Security
Quality Requirements Engineering (SQUARE) method
with other methods. Report No. CMU/SEI-2007-TN-021,
Software Engineering Institute, Carnegie-Mellon
University, Pittsburgh.
[7] Martins, L. E. G., & Gorschek, T. (2017). Requirements
engineering for safety-critical systems: overview and
challenges. IEEE Software, Volume 34, No. 4, pp. 49–
57.
[8] Martins, L. E. G. & Gorschek, T. (2016). Requirements
engineering for safety-critical systems: a systematic
literature review. Information and Software Technology,
Volume 75, pp. 71–89.
25. [9] Morandini, M., Penserini, L., Perini, A., & Marchetto, A.
(2017). Engineering requirements for adaptive systems.
Requirements Engineering, Volume 22, No. 1, pp. 77–
103.
[10] Holtmann, J., Bernijazov, R., Meyer, M., Schmelter, D.,
& Tschirner, C. (2016). Integrated and iterative systems
engineering and software requirements engineering for
technical systems. Journal of Software: Evolution and
Process, Volume 28, No. 9, pp. 722–743.
[11] Mauborgne, P., Deniaud, S., Levrat, E., Bonjour, E., &
Micaëlli, J. P., Loise, D. (2016). Operational and system
hazard analysis in a safe systems requirement
engineering process – application to automotive industry.
Safety Science, Volume 87, pp. 256–268.
[12] Woldeamlak, S., Diabat, A., Svetinovic, D. (2016). Goal-
oriented requirements engineering for research-intensive
complex systems: a case study. System Engineering,
Volume 19, No. 4, pp. 322–333.
26. [13] Miller, T., Pedell, S., Lopez-Lorca, A. A., Mendoza, A,
Sterling, L., & Keirnan, A. (2015). Emotion-led
modelling for people-oriented requirements engineering:
the case study of emergency systems. Journal of Systems
and Software, Volume 105, pp. 54–71.
[14] Schubert, L., & Jeffery, K. (2015). New software
engineering requirements in clouds and large-scale
systems. IEEE Cloud Computing, Volume. 2, No. 1, pp.
48–58.
[15] Peña, M., & Valerdi, R. (2015). Characterizing the
impact of requirements volatility on systems engineering
effort. System Engineering, Volume 18, No. 1, pp. 59–
70.
[16] Sommerville, I., & Sawyer, P. (1997). Requirements
engineering- a good practice guide. Practical Process
Improvement, Wiley, 1997, pp. 15–36.
[17] Niazi, M., Attar, M. E., Usman, M., & Ikram, N. (2012).
GlobReq: a framework for improving requirements
engineering in global software development projects:
preliminary results. Proceeding of 16
th
27. International
Conference on Evaluation & Assessment in Software
Engineering, pp. 166–170.
[18] Cox, K., Niazi, M., & Verner, J. (2009). Empirical study
of Sommerville and Sawyer’s requirements engineering
practices. IET Software, Volume 3, No. 5, pp. 339–355.
[19] Rainer, A., & Hall, T. (2002). Key success factors for
implementing software process improvement: a maturity-
based analysis. Journal of Systems and Software,
Volume 62, No. 2, pp.71–84.
[20] Niazi, M., Wilson, D., & Zowghi, D. (2005). A maturity
model for the implementation of software process
improvement: an empirical study. Journal of Systems and
Software, Volume 74, No. 2, pp. 155–172.
CCS | 2018 | ISSN 2456-3692
Published by: CSL Press, USA