December
1998 QUESTION 3 Total Marks: 20 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS
|
(a) | (i) Define what is meant by the term software design. | [2] |
Software design: A
process that translates a customers requirements (1 mark) into a representation of
software (1 mark).
|
||
(ii) The design process is often broken down into two major steps. Identify and explain what is involved in each of these steps. | [4] | |
Preliminary design:
concerned with the transformation of requirements ( 1 mark) into data and software
architecture (1 mark).Detailed design: refining the architectural
representation (1 mark)., leading to detailed data structure and algorithmic
representations (1 mark) of software.
Correct alternative answers should also be given credit.
|
||
(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.
|
[6] |
For each principle, the
following, mark allocation should be used: 0 marks for complete lack of understanding, or
beating around the bush with no demonstration of knowledge; 1 mark for minimal
understanding, and ability to explain rather superficially what the principle entails; 2
marks for good understanding, and demonstration of knowledge in how the principle is
relevant to data specification.
|
||
(c) | Three further design activities are architectural, procedural and interface design. Explain what is involved in each of these three activities. | [3] |
Architectural:
involves the development of a modular program structure and the representation of the
control relationship between modules (1 mark). Procedural: involves transforming the structural components into a procedural description of the software. (1 mark). Interface: involves establishing the layout and interaction mechanisms for human-machine interaction (1 mark). Correct alternative answers should also be given credit.
|
||
(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] |
2 marks should
be awarded for a correctly labelled diagram, and 3 marks for a suitable explanation which
should include the following points: Cost/effort and number of modules are two conflicting factors. As the number of modules increases, the cost per module decreases, but the cost to interface these modules increases (1 mark). Explanation and identification of the region of minimum cost (1 mark).Explanation of the ideal point, i.e. the intersection (or lowest point) between the cost/module and cost to interface curves ( 1 mark). |