April 2000
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)The following are principles proposed by Wasserman that help specify and design data. Describe each of these principles in your own words, clearly indicating how each principle relates to design.
(i)Low-level data design decisions should be deferred until late in the design
process.[1 mark ]
A top-down approach should be used in data design.The overall data
organisation is de .ned during requirement analysis,re .ned during preliminary
design work,and speci .ed in detail only during the detail design step.
(ii)A software design and programming language should support the specfication
and realization of abstract data types.[1 mark ]

A programming language that does not directly support data structures like a linked list structure,and should be avoided if the data organisation contains linked list structures.
(iii)The representation of data structure should be known only to those modules
that must make direct use of the data contained within the structure.[1 mark ]

Some form of information hiding will need to be practised in the implementation of data structures.

iv)A data dictionary should be established andu sed to define both data and
program design.[1 mark ]

A data dictionary should be established and sed to de .ne both data and
program design.[1 mark ] A data dictionary explicitly represents the relationships among data objects and the limitations on the elements of a data structure. 1 mark each. As explanations are likely to vary, some discretion in marking will be necessary here.


(b)The procedural design activity is primarily concerned with translating structural
components, defined in architectural design, into procedural representations.
Describe in some detail each of the three types of procedural design notation.For
each type, illustrate your explanation with a simple example how procedure is
represented in the notation.[6 marks ]

The three different notation are: graphical (flow-charting); tabular (decision-table); and program design language (pseudo-code). An explanation of each notation should be awarded 1 mark, with the other 1 mark awarded to the quality of the illustration.
(c)The following are various levels of cohesion and coupling.Describe each level.
(i)Procedural cohesion.[1 mark ]
Procedural Cohesion:When the processing elements of a module are related and must be executed in a specific order.(1 mark)
(ii)Temporal cohesion.[1 mark ]
Temporal Cohesion: A module that performs tasks that are related by that all must be executed with the same span of time.(1 mark)
(iii)Data coupling.[1 mark ]
Data coupling:When two modules pass simple data like an argument list. (1 mark)
(iv)Common coupling.[1 mark ]

Common Coupling:Occurs when a number of modules reference a global data area.(1 mark)

(v)Content coupling.[1 mark ]

Content Coupling:Occurs when one module makes use of data or control information maintained within the boundary of another module.(1 mark)