April 1999
SE203: SOFTWARE ENGINEERING

QUESTION 4

Total Marks: 20 Marks

Click here to access other questions

GRADE A
Sample student's solutions are indicated in green.
Return to Question 4

 

(a) The following is an example of a design heuristic:

Keep the scope of effect of a module within the scope of control of that module.

Describe in your own words what this design heuristic means, and explain why it is a good idea to implement such a heuristic. You should make use of diagrams to illustrate your discussion.

[3]
The scope of effect of a module refers to the range of modules that can be affected by some decision made in a module, as compared to the scope of control, which refers to the subordinate modules under that of the module making the decision. Logically, we should not be able to affect objects that are not beyond our control, i.e. outside our scope of control. Hence, if a module is to be able only to affect objects within its control, these objects must be subordinate to that module, i.e. within the scope of control.

 

(b) The Faculty of Engineering at the Gotham State University is made up of four different divisions: the Medical Engineering Division; the Chemical Engineering Division; the Computer Engineering Division; and the Civil and Structural Engineering Division. There are multiple laboratories in each Division, and multiple technicians could work in each laboratory at any time. The database used by the Faculty contains an unsorted file of records of these laboratory technicians.

A program is required to do the following: print out a report - sorted by laboratory within division - detailing the names of technicians in each laboratory. The report should also print out the total number of technicians in each laboratory, and the total number of technicians in each division.

 

(i) Based on the scenario above, draw both the input and output data structures for the system, making use of Jackson's notation. [13]
(ii) Identify any possible points of correspondence. [2]

pic2.gif (21032 bytes)

 

(iii) Jackson Structured Programming belongs to a broad category of design methods known as Data-Oriented Design Methods. Identify two application areas of this particular design method. [2]
  • Business information systems applications
  • System applications
  • CAD/CAE/CIM applications