December
1998 QUESTION 2 Total Marks: 20 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS
|
(a) | The following statement has been
given as a definition of software engineering: "The establishment and use of sound
engineering principles in order to develop software that is functional, reliable,
and economical." For each of the three underlined words, describe what you understand each word to mean in relation to software. |
[3] | ||||||||||||
Functional:
software should be workable or compliant to requirements (1 mark). Reliable: software should be failure-free (1 mark). Economical: software development should be affordable (1 mark).
|
||||||||||||||
(b) | Two skills which are essential for software engineers to perform adequately their roles in software development are software skills and project management skills. In your own words, describe briefly each of these two skills. | [2] | ||||||||||||
Software
skills: the basic technical programming skills required to create the software (1 mark) Project management skills: the management skills required to control the use and maintenance of software (1 mark). Other correct alternative answers should also be given credit.
|
||||||||||||||
(c) | Three examples of software developments methods are : the classic life-cycle; prototyping; and 4th generation techniques. In addition, it is possible to combine the major advantages of each of these three methods, at the same time eliminating their respective weakness, and producing a fourth possible method, usually termed the combination life-cycle. | |||||||||||||
(i) Describe one major advantage and one major disadvantage of each of the three methods: classic; prototyping; and 4th generation techniques. | [6] | |||||||||||||
Correct alternative answers should also be given credit.
|
||||||||||||||
(ii) Based on your list of advantages and disadvantages, analyse and describe how one advantage from one method can eliminate or circumvent the disadvantage faced in some other method. Do this for all three of the methods. | [3] | |||||||||||||
The correct
response here depends upon the answer given to the previous part, and since there might be
several correct ways of matching up the three pairs. The following are therefore suggestions only: please ensure that valid alternative answers are given credit. Classic disadvantage to prototyping advantage: a model can help to clarify requirements (1 mark). Prototyping disadvantage to 4th GT advantage: the refinement of a prototype created using 4th GT would be quicker and easier (1 mark). 4th GT disadvantage to classic advantage: classic life-cycle is an established method of development and can be used for general software development (1 mark).
|
||||||||||||||
(iii) Draw a diagram of the combination life-cycle, and ensure that you demonstrate clearly how the individual advantages of the three methods have been combined. Describe the different steps that you have included in your diagram. | [6] | |||||||||||||
2 marks should be awarded for a correct diagram: 1 mark for illustrating the iterative nature of prototyping and 4th GT, and 1 mark for showing the correct sequence of the life-cycle. 4 marks are then available for a suitable description of the various steps included in the diagram provided that this explains how the individual advantages of the three methods have been combined. |