December 1999
SE203 : SOFTWARE ENGINEERING

QUESTION 3

Total Marks: 15 Marks

Click here to access other questions

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

(a)

Explain what is meant by software design .
Software design is a process that translates (1 mark)customer requirements into a representation of software (1 mark)

 

[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.
The basic premise here is that as the number of parts increases,the number of interfaces increases as well,since one interface is required for each pair of parts.For the second statement,unit testing/integration testing should be considered.

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]