Dimitrakopoulos G. The Future of Intelligent Transport Systems 2020

(National Geographic (Little) Kids) #1
43

The Future of Intelligent Transport Systems. http://dx.doi.org/10.1016/B978-0-12-818281-9.00004-8
Copyright © 2020 Elsevier Inc. All rights reserved.


Chapter 4


User requirements and


preferences for ITS


4.1 Requirements engineering


Requirements engineering is the first and most important activity of the soft-
ware engineering process. It involves eliciting the various stakeholders needs
and defines the prospective system in terms of an agreed-upon set of specifica-
tions that drive the subsequent tasks of software development (Shinde, 2017).
Requirements engineering begins with the identification and specification of
requirements. It continues with requirements analysis and solution development
and concludes with the validation and evaluation of each requirement in order to
ensure that the developed system satisfies the requirements of its users. The out-
come is the specification of a clear, consistent, and complete set of requirements,
and the requirements engineering guides the software developers in producing
accurate software (Lawrence, Wiegers and Ebert 2001 ). Detailed requirements
cover users’ needs and drive the software development process, guaranteeing
the quality of the final system that it will successfully meet users’ expectations
(Bano & Zowghi, 2015). The requirements also help to increase productivity
and provide high-quality products (Fernández, Lochmann, Penzenstadler, &
Wagner, 2011). Conversely, unclear requirements may prolong the software
development life-cycle and result in defective software (Hofmann & Lehner,
2001 ). This shows that that requirement-engineering processes are of utmost
importance in software systems development (Komi-Sirviö & Tihinen, 2003).
Nuseibeh & Easterbrook (2000) coined the term “requirements engineer-
ing” as a well-structured process for discovering the purpose for which a soft-
ware system is developed and for evaluating the degree of compliance to this
purpose. The process identifies the needs of the various stakeholders, records
them in a form that facilitates further analysis and communication, guides the
implementation process and allows for measuring the success of the software
system. According to the same authors, there exist several difficulties that must
be overcome, including:


• The various stakeholders (e.g., end-users, developers, paying customers,
etc.) can be geographically distributed.

Free download pdf