Abstract
Applying Software Engineering (SE) processes is vital to critical and complex systems including security and networking systems. Nowadays, Wireless Sensor Networks (WSNs) and their applications are found in many military and civilian systems which make them attractive to security attackers. The increasing risks and system vulnerabilities of WSNs have encouraged researchers and developers to propose many security solutions including software-based Intrusion Detection Systems (IDSs). The main drawbacks of current IDSs are due to the lack of clear, structured software development processes. Unfortunately, a substantial gap has been observed between WSN and SE research communities. Integrating SE and WSNs is an emerging topic that will be expanded as technology evolves and spreads in all life aspects. Consequently, this paper highlighted the importance of Requirement Engineering, Software Design, and Testing when developing IDSs for WSNs. Three software IDS designs were proposed in this study: Scheduling, Broadcast, and Watchdog designs. The three designs were compared in terms of consumed energy and network lifetime. Although the same IDS approach was used, but, by highlighting the design phase and implementing different designs, the network lifetime was increased by 73.6% and the consumed energy was reduced by 20% in some of the designs. This is a clear indication of how following a proper SE process could affect the performance of the IDS in WSN. Moreover, conclusions were drawn in regard to applying software engineering processes to IDSs to deliver the required functionalities, with respect to operational constraints, with an improved performance, accuracy and reliability.
Highlights
Software engineering (SE) is an important discipline when developing software systems, especially in large-scale systems [1,2]
The same Intrusion Detection Systems (IDSs) approach was used, but, by highlighting the design phase and implementing different designs, the network lifetime was increased by 73.6% and the consumed energy was reduced by 20% in some of the designs
Energy Consumption: This metric is defined as the amount of energy used and spent by the Consumption: ThisThe metric defined asisthe amount nodes in Wireless Sensor Networks (WSNs)
Summary
Software engineering (SE) is an important discipline when developing software systems, especially in large-scale systems [1,2]. SE is concerned with all processes of software production. It is “a systematic approach to the analysis, design assessment, implementation, test, maintenance and reengineering of software” [1]. It is clear that the engineering of a software is an important problem-solving activity. SE ensures control over software functionalities, quality, and resources [1,2]. It ensures complete software development and requirement satisfaction
Published Version (Free)
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have