December 1998
SE203: SOFTWARE ENGINEERING

QUESTION 2

Total Marks: 20 Marks

Click here to access other questions

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

 

(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]
 
  Advantage Disadvantage
Classic life-cycle Established method of development (1 mark), or sequential and systematic method of development (1 mark). Difficult to determine requirements so explicity early in the development (1 mark).
Prototyping Allows user and developer to refine requirements (1 mark). Time consuming if prototyping becomes iterative (1 mark)
4th GT Allows for fast and easy modification (1 mark). Limited application domain (1 mark).

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.