December 1998
SE203: SOFTWARE ENGINEERING

QUESTION 3

Total Marks: 20 Marks

Click here to access other questions

Click to access
SUGGESTED SOLUTIONS
for Question 3

 

(a) (i) Define what is meant by the term software design. [2]
(ii) The design process is often broken down into two major steps. Identify and explain what is involved in each of these steps.

 

[4]
(b) One of the design activities is data design, in which the objective is to transform the information domain into data structures. A number of principles have been proposed by Wasserman in order to help specify and design data. For each of the three principles listed below, explain in your own words what they mean and why the principle makes sense.
  • A data dictionary should be established and used to define both data and program design.
  • A library of useful data structures and the operations that may be applied to them should be developed.
  • A representation of a data structure should be known only to those modules that must make direct use of the data contained within that structure.

 

[6]
(c) Three further design activities are architectural, procedural and interface design. Explain what is involved in each of these three activities.

 

[3]
(d) In design theory, modularity is one of the most popular issues in the development of software today. However, the implementation of modularity has important implications in terms of cost. Explain, with the aid of an appropriate diagram, the conflicting nature of cost and modularity. In your answer, indicate what you consider might provide a possible solution to this conflict. [5]