UNIVERSITY EXAMINATIONS: 2016/2017
EXAMINATION FOR THE DEGREE OF BACHELOR OF SCIENCE IN
INFORMATION TECHNOLOGY
BIT2106 BCT 2104 SOFTWARE ENGINEERING PRINCIPLES
BCT 2104: PRINCIPLES OF SOFTWARE ENGINEERING
FULL TIME/PART TIME/DISTANCE LEARNING
DATE: AUGUST, 2017 TIME: 2 HOURS
INSTRUCTIONS: Answer Question One & ANY OTHER TWO questions.
QUESTION ONE
a) What is software engineering? Specify the attributes of good software. (6Marks)
b) List the fundamental activities, which are common to all software process. (4Marks)
c) What do you mean by separation of concepts in software designing? (4Marks)
d) Distinguish between functional and non-functional requirements with examples. (4Marks)
e) Differentiate between Software Correctness, Software Robustness and Software Reliability.
(4Marks)
f) Explain the importance of stress testing. (4Marks)
g) What are the user interface design principles? What are the components of GUI? (4Marks)
QUESTION TWO
a) Explain with a neat diagram, the Boehm spiral model of software development process. What
are the merits of spiral model? (10 Marks)
b) With a neat diagram explain RAD techniques. (10 Marks)
QUESTION THREE
a) What do you mean by requirement elicitation and analysis? What are the problems associated
with that? Explain. (10 Marks)
b) Explain reverse engineering process. What do you mean by abstraction level and
completeness of a reverse engineering process? (10 Marks)
QUESTION FOUR
a) What is Architectural design? Explain the repository model and client – server model, with an
example for each. (10 Marks)
b) Describe DFD as structured analysis and UML as object oriented analysis tool giving suitable
examples. (10 Marks)
QUESTION FIVE
a) Explain in detail COCOMO model used for software cost estimation. (10 Marks)
b) What are CASE tools? Classify CASE tools based on the function. (10 Marks)