MODEL ANSWERS AND MARKING SCHEME COMP291201
Page 1 of 3 TURN OVER
This question paper consists
of 3 printed pages each
of which is identified by the Code
Number (COMP291201)
This is an open book examination.
Any written or printed material is permitted.
© UNIVERSITY OF LEEDS
School of Computing
January, 2019
COMP291201
Software Engineering Principles
Answer all three questions
Time allowed: 2 hours
MODEL ANSWERS AND MARKING SCHEME COMP291201
Page 2 of 3 TURN OVER
Question 1
(a) A computer programmer complains that she has not done lots of programming in her
software engineering course. Identify three software engineering principles she
should have learnt that will make her a better programmer. [3 marks]
(b) An enthusiast for XP (Extreme Programming) has offered to do pair programming
with you for your next software development project. He says he is very experienced.
Give two reasons why you might accept or decline his offer. [2 marks]
(c) You have been asked to review a 900 page requirements specification written four
years ago by a programmer who has now left the company. What advice can you
give immediately without looking at the specification? [3 marks]
(d) In the Agile Manifesto, why is“customer collaboration”considered more important
than“contract negotiation”? [2 marks]
(e) Briefly explain why the process of project planning is iterative and why a plan must
be continually reviewed during a software project. [3 marks]
(f) Give an example of an ethical issue that is particularly important for medical and
health software. What additional tasks would you recommend for a project
developing a medical or health software product? [2 marks]
(g) Give an example to illustrate your understanding of the difference between software
code reuse and software refactoring. [2 marks]
(h) Imagine a situation where two developers are simultaneously modifying three
different software components. What difficulties might arise when they try to merge
the changes they have made? [3 marks]
[question 1 total: 20 marks]
Question 2
(a) Draw a use case diagram (with between five and nine use cases) for a software
development tool that you are familiar with. [5 marks]
(b) A senior government official is shocked to learn that many software engineering
projects fail. She has just agreed to fund a very large 10 year software engineering
project. What actions could she take now to reduce the chance of failure? [5 marks]
(c) You have been asked to investigate the requirements for a system that is expected to
make half of the client company’s staff redundant. Bearing in mind the sensitivities of
this project explain how you would approach a two week initial investigation. You
may choose to use the SQIRO headings (Sample Documents, Questionnaires,
Interviews, Reading and Observation) to structure your answer. [5 marks]
MODEL ANSWERS AND MARKING SCHEME COMP291201
Page 3 of 3 TURN OVER
(d) A group of students are about to start a group software engineering project. They
have decided to appoint the most talkative student as Scrum Master and the laziest
student as product owner. They have decided to use a Kanban (Scrum Board) list
based on requirements they brainstormed the first time they met each other and have
decided to do the whole development in one sprint. Identify five things that could go
wrong and for each of these, advise the students on a better approach. [5 marks]
[question 2 total: 20 marks]
Question 3
Scenario: A University plans to install an automated attendance monitoring system which will
use simple, battery powered Bluetooth devices installed in each lecture room that broadcast
a unique number. Students will be told to download an App on their smartphones that, when
they press“Confirm Attendance”, will read the unique number and use the central
timetabling system to check that the student is in the right room at the right time. If they are it
will update the central attendance system to confirm their attendance.
a) Draw a UML implementation diagram (deployment and component) described in the
above scenario. You can assume that the central timetabling and attendance
systems are on separate university servers that can be accessed via WiFi. [5 marks]
b) The most common use case for this system will be Confirm Attendance performed by
an actor called Student.
(i) Write a user story for this use case describing the simplest path to a
successful outcome. [2 marks]
(ii) Draw the Use case realisation as a UML sequence diagram (using the
components from your answer to part a) to show the sequence of messages
for the same successful outcome. [3 marks]
c) The system designers have now proposed an alternative candidate design option for
checking the central timetabling system. Their initial plan was for the App to check
the central timetabling system in real time (i.e. when the student presses the
“Confirm Attendance”button). The designers have proposed an alternative design
which would be to download the details of the student’s timetable when they first
download the App and hold this data locally on the student’s smartphone. Both of
these candidate solutions have design issues. Briefly summarise the design issues
presented by the two options and suggest a compromise solution. [5 marks]
d) You have been asked to lead a group of students to test a working prototype of the
system. Describe a set of five tests that you might conduct to test the system’s
reliability, dependability, usability, scalability and security respectively. [5 marks]
[question 3 total: 20 marks]
http://www.6daixie.com/conten…