BIT 4201 ADVANCED SOFTWARE ENGINEERING KCA Past Paper

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

QUESTION ONE
a) Outline two specific laws of Software Evolution as formulated by Lehman and discuss the
empirical evidence supporting the validity of each law. (4 Marks)
b) For each of the key phases of the software development life cycle, discuss the key features and
practices that distinguish the Extreme Programming approach to software development from
traditional software development. (6 Marks)
c) Discuss the importance of the following activities in software engineering (8 Marks)
i.Project Management
ii.Risk management
iii.Configuration Management
iv.Quality management
d) Using relevant examples discuss the levels and types of requirements (3 Marks)
e) Discuss the advantages of using Z specification language (5 Marks)
f) Identifying and considering the needs of all of the different stakeholders can help prevent software
product requirements from being overlooked. Explain (4 Marks)
QUESTION TWO
a) Explain what is meant by the activity of static and dynamic analysis in the context of Software
Engineering and discuss the need for such analysis in the initial development of software and also
during the long-term maintenance of software. (5 Marks)
b) Explain the difference between soft systems and hard systems methodologies. (4 Marks)
c) A project is to be done in one month what is the value of KDSI? [simple :
a=2.4, b=1.05, c=2.5, d= 0.38] (4 Marks)
d) The following types of testing are important within a test plan. Briefly describe each, and discuss
how each is used within an object-oriented systems development project: (6 Marks)
i. Unit testing.
ii. Integration testing.
iii. Validation testing.
e) Define the following terms (1 Mark)
i. Safety Critical system
ii. Pervasive Computing
QUESTION THREE
a) Zave defines Requirements Engineering as “the branch of software engineering concerned with
the real-world goals for, functions of, and constraints on software systems [and] the relationship
of these factors to precise specifications of software behaviour, and to their evolution over time
and across software families”. Why is Requirements Engineering considered to be the most
important part of software engineering? (4 Marks)
b) Requirements should state what a system should do, without stating how it should do it. Why is
this distinction useful? (2 Marks)
c) Structured Analysis proceeds by modelling the current physical system, abstracting a model of
the current logical system, and then modelling the new logical system. What are the advantages
and disadvantages of building these three separate models? What representations are used for
each of these models? (4 Marks)
d) Explain why each of the following is an important property of a software specification, and
explain how it can be achieved when writing specifications:
i. validity;
ii. traceability;
iii. verifiability. (6 Marks)
e) Project managers sometimes regard work put into writing high quality specifications as “gold
plating”, and claim that it is unnecessary as it doesn’t contribute to producing program code.
Under what circumstances is this view sensible, and under what circumstances is it foolish?
(4 Marks)
QUESTION FOUR
Below is the draft specification for a proposed software system:
“A program is required to run the controller of a burglar alarm system. A typical system consists of a
number of sensors connected by individual circuits to a central control box containing the controller.
The control box has a simple keypad and display. Sensors include switches, heat detectors and motion
detectors. Each sensor has an identification code which can be read by the controller to identify the
sensor. The controller allows an operator to select which sensors are active and turn on or off the
system. If a sensor is triggered when the system is active, the controller must activate the alarms (a
siren and a bell) and display a message on the display panel
indicating which sensor is involved. The operator must enter a security code before the system is
turned on or off.”
a) Create a detailed UML class diagram for the alarm program. Make sure each class is
labelled with any key attributes or operations. (10 Marks)
b) Create UML sequence diagrams to show how the program responds to an alarm being triggered,
and how the operator can turn the system off. (10 Marks)
QUESTION FIVE
A bank’s Managing Director has looked at the IT department’s accounts and noted that 80% of its
money is spent maintaining existing software, and only 20% is spent developing new software. He
thinks this is a waste of money and wants to do something about it!
a) Describe three types of software maintenance that the bank’s money is likely to be spent on.
(6 Marks)
b) Discuss whether the Managing Director is correct to think that each of these types of maintenance
is a waste of money. (4 Marks)
c) Discuss the main problems faced by a maintenance engineer. (6 Marks)
d) It is noted that the bank’s software is somewhat unreliable. Discuss what this means in
software engineering terms. (4 Marks)

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

Written by