$35
SCHOOL OF COMPUTER SCIENCE
MODULE CODE: CS5030
MODULE TITLE: Software Engineering Principles
TIME TO HAND IN: 8 hours
EXAM
INSTRUCTIONS
a. Answer all three questions
b. Each question carries 20 marks
This assessment consists of exam-style questions and you should answer as you
would in an exam. As such, citations of sources are not expected, but your answers
should be from your own memory and understanding and significant stretches of text
should not be taken verbatim from sources. Any illustrations or diagrams you include
should be original (hand or computer drawn). You may word-process your answers,
or hand-write and scan them. In either case, please return your answers as a single
PDF. If you handwrite, please make sure the pages are legible, the right way up and
in the right order. Your submission should be your own unaided work. While you are
encouraged to work with your peers to understand the content of the course while
revising, once you have seen the questions you should avoid any further discussion
until you have submitted your results. You must submit your completed assessment
on MMS within 8 hours of you downloading the exam. Assuming you have revised the
module contents beforehand, answering the questions should take no more than three
hours.
Page 2 of 4
1. Software processes:
Consider the scenario in which you are an employee of a small start-up company,
which has won the contract to build a software system for the local police force.
This police force already has a software system that stores data about its police
officers, including their work arrangements (part time, flexible working, etc
indicating working hours) and approved annual leave periods. It also logs
incidents reported to the force or handled by the force. Police officers regularly
patrol the area covered by the force either on foot or in cars. The new system will
produce a weekly schedule of patrols for the area. The schedule will contain
details of patrol routes, dates, times, officers allocated to each route and patrol
mode (on foot or in a car). The new system should allow the frequency of patrols
to be customised by the user. It will interact with the existing local system and
the national crime agency database in producing patrol schedules. The
Superintendent of the force is the only person who will have access to the new
system. Police officers can view their own weekly schedules via the existing
system. The system will also produce an analysis report for a given time period
to help explore the impact of patrols on crime numbers in the area.
(a) Specify 3 functional and 3 non-functional requirements for this system.
[6 marks]
(b) Identify 2 potential ethical concerns for this development and specify 2
further requirements or constraints that would address these concerns.
[4 marks]
(c) Which software development process would you adopt for this system?
Justify your answer. [3 marks]
(d) Identify an overall software architecture style that would be suitable for
this system, describing its elements and interaction patterns and justifying
your choice of style. [7 marks]
[Total marks 20]
Page 3 of 4
2. Software maintenance, evolution and reuse:
The Fife Ornithology Society has a web-based application that allows members
of the public to report sightings of rare birds in Fife. The Society commissioned
a professional freelance developer to build this application a number of years
ago. The associated website publishes a non-exhaustive list of rare birds that
have been or may be observed locally. The online form for reporting sightings
requires people to identify themselves with their name and email address. They
can then submit details of the sighting, including characteristics of the bird,
location, up to 3 photographs and a provisional identification. Club officials will
then take action to confirm the sighting. The club database is updated with
reported and confirmed sightings. In addition to this system, the club now
wishes to release a free app with similar functionality that people can use on
their mobile devices to report sightings.
Note: Ornithology is the study of birds.
(a) Briefly outline 2 advantages and 2 disadvantages of offering 2 different
systems for the same purpose. [4 marks]
(b) Identify 2 components of the original system that can be reused or shared
by the new app. Justify your choices. [3 marks]
(c) Outline 4 factors that could lead to changes to the systems used by the
Society following the release of the app. [4 marks]
(d) The Society has the option of creating a product line of applications with
functional specialisation based on the existing system. Describe 2
additional products (other than the proposed app) that could be created to
form such a product line and explain how they form a product line.
[6 marks]
(e) Sometime later, the Society is considering whether it should replace the
existing systems and create a new one. Outline 3 factors it should take into
account when making this decision. [3 marks]
[Total marks 20]
Page 4 of 4
3. Software quality:
A bank wishes to augment the online personal banking services it provides to its
customers. The existing online banking functionality allows customers to view
their accounts, open new accounts, close existing accounts, transfer money
between accounts, set up standing orders and pay bills. The main purpose of the
new service is to automatically maximise the interest customers can earn based
on current interest rates offered by the bank as well as any penalties associated
with withdrawals or early closures. If customers sign up for this optional service,
the banking system allows them to specify information such as regular outgoings
each month, the minimum amounts to be kept in current and instant access
savings accounts at any time and the maximum period to which money can be
tied up in fixed term savings accounts. Based on this data, the system will
automatically distribute the money the customer has into different types of
account on a specified date each month. The customer can opt out of the service
at the end of a chosen month.
(a) Identify the dependability attributes applicable to this system and briefly
describe what they mean in this specific context. [8 marks]
(b) Outline 3 potential threats to the dependability of this system. [3 marks]
(c) For each threat from question 3 (b), describe one tactic that can prevent or
reduce the threat. [3 marks]
(d) Assuming that the standard online banking functionality already exists and
you have developed the new service to incorporate into the system,
describe 3 kinds of testing that are important, justifying your answer.
[6 marks]
[Total marks 20]
*** END OF PAPER ***