August 1997
SE203: SOFTWARE ENGINEERING

QUESTION 5

Total Marks: 20 Marks

Click here to access other questions

SUGGESTED SOLUTIONS
Solutions and allocated marks are indicated in green.
Return to Question 5

5. (a) Software Quality has been defined as a software product's conformance to certain things. In this context, define what is meant by Software Quality. [3]
conformance to functional requirements
conformance to performance requirements
conformance to explicitly documented development standards
one mark each
[3 marks]
(b) McCall's list of Software Quality factors is a popular checklist for measuring software quality. There are three broad categories in the list of factors. Explain what each of these categories is, and give two examples of factors from each category. You should also give a brief explanation of each example. [9]
The three categories are:
Product operations: a software product's operational characteristics
Examples: correctness, reliability, efficiency, integrity, usability
Product revision: its ability to undergo change
Examples: maintainability, flexibility, testability
Product transition: its adaptability to new environments.
Examples: portability, reusability, interoperability
For each category, 0.5 marks for identification, 0.5 marks for explanation. For each example, 0.5 marks for identification, 0.5 marks for explanation. Max 2 examples for each category.
[9 marks]
(c) What is the difference between verification and validation? [2]
verification: 'are we building the product right?' [1]
validation: 'are we building the right product?' [1]
(d) System Testing covers a range of tests that are conducted near the end of a typical software product life-cycle. Describe any three tests which might be conducted during the System Testing Phase. [6]
recovery testing: system test that forces software to fail in a variety of ways and verifies that recovery is properly performed
stress testing: designed to confront programs with abnormal situations where unusual quantity, frequency or volume of resources is demanded
performance testing: used to test the run-time performance of software
security testing: attempts to verify that protection mechanisms built into a system will protect it from improper penetration
Any three of the above: 1 mark for identification and one mark for explanation
[6 marks]