Software Engineering Questions and Answers Part-21

1. Which of the following examples does not involve dependability engineering ?
a) Medical Systems
b) Power Systems
c) Library Management
d) Telecommunications

Answer: c
Explanation: Software customers expect all software to be dependable. However, for non-critical applications such as certain management systems, they may be willing to accept some system failures.

2. What is the term for development process organised such that faults in the system are detected and repaired before delivery to the customer ?
a) Fault Avoidance
b) Fault detection
c) Fault tolerance
d) None of the mentioned

Answer: a
Explanation: In Fault Avoidance, the system is developed in such a way that human error is avoided and thus system faults are minimised.

3. What is the term for a system that is designed such that the faults in the delivered software do not result in system failure ?
a) Fault Avoidance
b) Fault detection
c) Fault tolerance
d) None of the mentioned

Answer: c
Explanation: Fault tolerance

4. Which process characteristic with respect to Dependability Engineering is mentioned by the statement: “The process should be understandable by people apart from process participants”?
a) Diverse
b) Documentable
c) Auditable
d) None of the mentioned

Answer: c
Explanation: It means that process standards are being followed and make suggestions for process improvement.

5. Which of the following is not a Protection system ?
a) System to stop a train if it passes a red light
b) System to indicate not returning of the library book
c) System to shut down a reactor if temperature/pressure are too high
d) None of the mentioned

Answer: b
Explanation: A Protection system is a specialized system that is associated with some other control system, which can take emergency action if a failure occurs.

6. The use of a well-defined, repeatable process is essential if faults in a system are to be minimized.
a) True
b) False

Answer: a
Explanation: True

7. Which of the following is a Strategy to achieve Software diversity ?
a) Different programming languages
b) Different design methods and tools
c) Explicit specification of different algorithms
d) All of the mentioned

Answer: d
Explanation: Diversity means to provide the same functionality in different ways so that critical components of a dependable system will not fail in the same way.

8. Exception handling is a mechanism to provide some fault avoidance.
a) True
b) False

Answer: b
Explanation: Exception handling is a mechanism to provide some fault tolerance.

9. Which of the following is a bad practice of Dependable programming ?
a) Limit the visibility of information in a program
b) Check array bounds
c) Check all inputs for validity
d) None of the mentioned

Answer: d
Explanation: All the options are good practices to achieve Dependability Engineering.

10. What is a Range check?
a) Check that the input does not exceed some maximum size e.g. 40 characters for a name
b) Check that the input falls within a known range
c) Use information about the input to check if it is reasonable rather than an extreme value
d) None of the mentioned

Answer: b
Explanation: Check that the input falls within a known range