UNIVERSITY EXAMINATIONS: 2020/2021
EXAMINATION FOR THE DEGREES OF BACHELOR OF SCIENCE IN
APPLIED COMPUTING/ BACHELOR OF SOFTWARE DEVELOPEMNT
BAC 2301/BSD 3206: ADVANCED SOFTWARE ENGINEERING
FULLTIME/ PART TIME/DISTANCE LEARNING
DATE: DECEMBER, 2021 TIME: 2 HOURS
INSTRUCTIONS: QUESTION ONE IS COMPULSORY, CHOOSE TWO OTHER
QUESTIONS
QUESTION ONE (20 Marks) Compulsory
a). A software company would like to adopt a new software process improvement framework
to enhance the quality of their software, reduce costs and accelerate their development
processes. Discuss the various process improvement frameworks available that can help
the company quality and productivity objectives. (8 Marks)
b). For EACH of the following software development approaches, provide an overview of
the approach and explain to which development situations the approach is most suited.
(6 Marks)
• Prototyping
• Software reuse
• Design patterns
ii) A company wishes to develop a safety-critical patient monitoring system for a
hospital. Discuss the benefits and potential problems of combining the above
approaches in the development and delivery of such a system. (6 Marks)
QUESTION TWO (15 Marks)
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 behavior, 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) 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)
c) 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. (3 Marks)
d) 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)
QESTION THREE (15 Marks)
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. (7 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. (8 Marks)
QUESTION FOUR (15 Marks)
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. (3 Marks)
b) Discuss whether the Managing Director is correct to think that each of these types of
maintenance is a waste of money. (3 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. (3 Marks)