BIT 2106 SOFTWARE ENGINEERING PRINCIPLES KCA Past Paper

UNIVERSITY EXAMINATIONS: 2011/2012
YEAR 2 EXAMINATION FOR THE BACHELOR OF SCIENCE IN
INFORMATION TECHNOLOGY
BIT 2106 SOFTWARE ENGINEERING PRINCIPLES
DATE: APRIL 2012 TIME: 2 HOURS
INSTRUCTIONS: Answer Question One and Any other Two Questions

QUESTION ONE: 30 MARKS (COMPULSORY)
a) Differentiate between system engineering and software engineering [4 Marks]
b) Using the example of an “employee” and in UML describe the concepts of objects and classes in
the context of Object-Oriented Design [8 Marks]
c) Discuss four software cost estimation techniques [8 Marks]
d) Giving examples discuss the types of non-functional requirements [6 Marks]
e) Discuss four sources of changes in software requirements. [4 Marks]
QUESTION TWO: 20 MARKS
a) Define the term software maintenance [2 Marks]
b) Discuss the importance of maintenance [4 Marks]
c) Describe four types of maintenance [8 Marks]
d) Discuss the following quality factors in software, stating the metric for measuring each one of them
[4 Marks]
i. Portability
ii. Usability
QUESTION THREE: 20 MARKS
a) Describe a critical system [4 Marks]
b) Discuss the “dependability” requirement in critical system. [4 Marks]
c) Discuss three types of critical systems [6 Marks]
d) State and explain three types of failures in critical systems [6 Marks]
QUESTION FOUR: 20 MARKS
a) Suppose that you are carrying out the software validation activity. Differentiate between the
following activities, explaining when each takes place and its importance. Use examples where
applicable. [6 Marks]
i. Verification and Validation
ii. Static verification and dynamic verification
b) Briefly discuss the following testing strategies [4 Marks]
i. Black box testing
ii. White box testing
iii. Unit testing
iv. Stress testing
c) With the help of a well labeled diagram, discuss the component-based (CBSE) approach to
software development. [10 Marks]
QUESTION FIVE: 20 MARKS
a) Describe the following software design approaches [4 Marks]
i. Application Architectures
ii. User-Interface Design
b) Giving examples, describe the following types of application architectures [4 Marks]
i. Data processing systems
ii. Transaction processing systems
c) Discuss the following requirement engineering techniques, citing an advantage of each [6 Marks]
i. Interviews
ii. Use cases
d) State and explain the challenges that are facing software engineers in the 21st Century [6 Marks]

(Visited 109 times, 1 visits today)
Share this:

Written by