(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)
|