December
1999 QUESTION 1 (Compulsory) Total Marks: 30 Marks |
Click here to access other
questions
SUGGESTED SOLUTIONS |
(a) |
There are two types of skills required
for software engineers to adequately perform their roles in software
development.Identify and describe these two types of skills. Project management skills:how to control the development and subsequent maintenance of software. In each case:one mark for identification of skill;one mark for good elaboration upon skill.
|
[4] |
(b) |
Explain why an analyst must be able to
‘understand the customer environment ’. •0marks:if candidate clearly demonstrates no understanding of the material,or simply copies down the question statement without explaining it in his/her own words •1 mark:if candidate attempts to explain the capability but demonstrates no understanding of the necessity of it •2 marks:if candidate clearly has shown sound understanding,and can relate this capability to the needs of software development
|
[2] |
(c) |
One of the two types of data flows possible
in a data flow diagram is transaction flow . With the aid of a diagram,describe
what is meant by this term.
Up to two marks for a correct diagram;one mark for structure and some labelling, another for full and appropriate labelling. Up to four marks for this part of the question,combining explanation and diagram; candidates may gain up to two marks for the diagram,and up to three marks for a very good textual explanation.
|
[4] |
(d) |
The three types of procedural design are: •graphical design •tabular design •program design Explain exactly what is involved in each
type of design,using simple illustrations or examples to support your
explanation.
|
[6] |
(e) |
Give suitable definitions of the following
terms:cohesion and coupling . Cohesion:measures the relative functional strength of a module One mark for each explanation
|
[2] |
(f) |
Identify two objectives of a formal technical
review. To verify that the software under review meets the requirements. To ensure that the software has been represented according to predefined standards. To ensure that the software is being developed in a uniform manner. To make projects more manageable. Any two objectives,one mark each.
|
[2] |
(g) |
The following are all characteristics of programming languages;Explain what is meant by each of them: One mark for each explanation: •uniformity •ambiguity •tradition •source code portability •compiler efficiency
|
[5] |
(h) |
(i)Explain,in your own words,what makes
a good or successful test of a program? [1 mark ] | (ii)What are the advantages of having a program tested by somebody else?(That is, someone other than the person who wrote it.)[2 marks ] The advantages are:the other person may bring a different perspective (1 mark); the other person will not have the same personal investment in the correctness (1 mark). (iii)Explain what is meant by the following
types of system testing:recovery testing and stress testing .[2 marks
] |
[5] |