Practical Application of Dependability Engineering
Software has widespread applications, such as smartphone apps for user communications and deployment of supervisory control systems for monitoring pipeline transmission. Dependability from a user perspective implies the confidence and trust in the software apps for use in smartphones. Dependability from a service provider viewpoint infers the ability of the supervisory control system to perform as specified and the reliability of the software application monitoring the system. The rapid growth of commercial and industrial software applications, Internet services and Web development has affected dramatic changes in the socio-economic landscape. Digital technology has revolutionized the means of communications. Standardized interfaces and protocols have enabled the use of third-party software functionality to permit cross-platform, cross-provider and cross-domain applications. Software has become a driving mechanism to realize complex system operations. It enables the achievement of viable ebusinesses for seamless integration and enterprise process management. Software design has assumed the primary function in data processing, safety monitoring, security protection and communication links in network services. This paradigm shift has put global business communities in a situation of heavy reliance on software systems to sustain business operations. Software plays a dominant role to influence successful system performance and assure the integrity of data. The software dependability focus in this chapter attempts to provide current industry best practices and present relevant methodology to facilitate the achievement of software dependability. It identifies the influence of management on software design and implementation and provides relevant technical processes to engineer software dependability into systems.