August
1999 QUESTION 1 (Compulsory) Total Marks: 20 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS |
(a) | Define what is meant by the term software engineering. | [3] |
The establishment/use
of sound engineering principles in order to develop functional, reliable, and workable
software.
|
||
(b) | Describe three objectives of requirements analysis. | [3] |
Specify software
function and performance; Indicate software interface with other system elements;
Establish design constraints that the software must meet.
|
||
(c) | Identify the two types of partitioning. | [2] |
Vertical and
horizontal.
|
||
(d) | Define what is meant by the following terms: coupling and cohesion. | [2] |
Coupling : relative
interdependence amongst modules. Cohesion : relative functional strength (or the degree of association between elements of a module).
|
||
(e) | The following is an example of a design
heuristic : Keep the scope of effect of a module within the scope of control of that module. With the aid of a diagram, describe in some detail in your own words why this heuristic makes sense. |
[4] |
There is a diagram
(too complicated to replicate here) on page 6-23 of the study guide, although conceivably
there are may other ways to illustrate the practice of this idea.
|
||
(f) | The following are examples of
software quality factors. Describe what each factor means: (i) Reliability (ii) Testability (iii) Portability (iv) Interoperability |
[4] |
(i) Reliability :
whether software program can perform its intended function with the required precision. (ii) Testability : effort required to test the program; whether the program can be thoroughly/comprehensively tested. (iii) Portability : whether the program can be brought to a different environment and used. (iv) Interoperability : whether the program can be interfaced/coupled (e.g information exchange) with another system.
|
||
(g) | Describe what is meant by each of the following terms : verification and validation. | [2] |
|