0% found this document useful (0 votes)
6 views

SE Lecture 03

Complete chapter 3 of software engineering

Uploaded by

meharrrabiaa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

SE Lecture 03

Complete chapter 3 of software engineering

Uploaded by

meharrrabiaa
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Software

Engineering
Dr. Muhammad Waqar Ashraf
Assistant Professor
Department of Computer Engineering
Bahauddin Zakariya University Multan, Pakistan
Objectives
To explain what is meant by a critical system where system failure
can have severe human or economic consequence.
To explain four dimensions of dependability - availability,
reliability, safety and security.
To explain that, to achieve dependability, you need to avoid
mistakes, detect and remove errors and limit damage caused by
failure.

Software Engineering 2
Critical Systems
Safety-critical systems
 Failure results in loss of life, injury or damage to the environment
 Chemical plant protection system
Mission-critical systems
 Failure results in failure of some goal-directed activity
 Spacecraft navigation system
Business-critical systems
 Failure results in high economic losses
 Customer accounting system in a bank

Software Engineering 3
System Dependability
For critical systems, it is usually the case that the most important
system property is the dependability of the system.
The dependability of a system reflects the user’s degree of trust in
that system. It reflects the extent of the user’s confidence that it will
operate as users expect and that it will not ‘fail’ in normal use.
Usefulness and trustworthiness are not the same thing.
 A system does not have to be trusted to be useful.

Software Engineering 4
Development methods for critical systems
The costs of critical system failure are so high that development
methods may be used that are not cost-effective for other types of
system.
Examples of development methods
 Formal methods of software development
 Static analysis
 External quality assurance

Software Engineering 5
Dependability
The dependability of a system connects to its trustworthiness.
A dependable system is a system that is trusted by its users.
Principal dimensions of dependability are:
 Availability
 Reliability
 Safety
 Security

Software Engineering 6
Dimensions of dependability

Software Engineering 7
Other dependability properties
Repairability
 Reflects the extent to which the system can be repaired in the event of a failure
Maintainability
 Reflects the extent to which the system can be adapted to new requirements;
Survivability
 Reflects the extent to which the system can deliver services while under hostile
attack;
Error tolerance
 Reflects the extent to which user input errors can be avoided and tolerated.

Software Engineering 8
Maintainability
A system attribute that is concerned with the ease of repairing the
system after a failure has been discovered or changing the system to
include new features
Very important for critical systems as faults are often introduced into
a system because of maintenance problems.

Software Engineering 9
Survivability
The ability of a system to continue to deliver its services to users in
the face of deliberate or accidental attack
This is an increasingly important attribute for distributed systems
whose security can be compromised
Survivability considers the concept of resilience
 The ability of a system to continue in operation in spite of component failures

Software Engineering 10
Availability and reliability
Reliability
 The probability of failure-free system operation over a specified time in a given
environment for a given purpose
Availability
 The probability that a system, at a point in time, will be operational and able to
deliver the requested services

Software Engineering 11
Faults and failures
Failures are a usually a result of system errors that are derived from
faults in the system
However, faults do not necessarily result in system errors
 The faulty system state may be temporary and ‘corrected’ before an error arises

Software Engineering 12
Security
The security of a system is a system property that reflects the system’s
ability to protect itself from accidental or deliberate external attack
Security is becoming increasingly important as systems are networked
so that external access to the system through the Internet is possible
Security is an essential pre-requisite for availability, reliability and
safety

Software Engineering 13
Security terminology

Software Engineering 14
Key points
A critical system is a system where failure can lead to high economic
loss, physical damage or threats to life.
The dependability in a system reflects the user’s trust in that system
The availability of a system is the probability that it will be available to
deliver services when requested
The reliability of a system is the probability that system services will
be delivered as specified
Reliability and availability are generally seen as necessary but not
sufficient conditions for safety and security

Software Engineering 15
Key points
Reliability is related to the probability of an error occurring in
operational use. A system with known faults may be reliable
Safety is a system attribute that reflects the system’s ability to operate
without threatening people or the environment
Security is a system attribute that reflects the system’s ability to
protect itself from external attack

Software Engineering 16
For Your Attention

You might also like