December
1999 QUESTION 3 Total Marks: 15 Marks |
Click here to access
other questions
SUGGESTED SOLUTIONS |
(a) |
Explain what is meant by software design
.
|
[2] |
(b) |
The concept of modularity is often discussed in relation to software design.Consider the following two statements: (i)As modularity increases,interface costs increase exponentially. (ii)Modularity allows for more structured,and ultimately more complete,testing to be done. Based on your understanding of software
design,discuss in some detail each of the two statements.Explain the
extent to which you agree with them,or not.You may use diagrams to
illustrate your answers. As answers for both parts can be quite wide,the following mark allocation should be used in each case: •0marks if the candidate demonstrates no understanding,or simply copies the statement from the question •1 mark if the candidate succeeds superficially but either the explanations or the illustrations (if used)are incomplete and inconclusive •2 marks if the candidate demonstrates good understanding;good candidates should be able to get one or two marks here.
|
[4] |
(c) |
Type checking is concerned with the manner in which different data types can appear in the same statement.Consider the following,simplified scenario,involving three new programming languages: •PL/U :a programming language without type-checking •PL/M :a programming language in which different but compatible data types can be mixed;operands are converted into matching types if possible •PL/S :a programming language with strong type-checking:operands must be of exactly the expected type and a collection of four variables: •integers a and b •floating point number c •character d Copy the following table into your answer script.For each of the following arithmetic operations,indicate or state whether the operation will be allowed in each of the languages.Mention any conversions that will occur.
one mark for each correct entry
|
[9] |