G6046 SOFTWARE ENGINEERING

联系我们: 手动添加方式: 微信>添加朋友>企业微信联系人>13262280223 或者 QQ: 1483266981

G6046
THE UNIVERSITY OF SUSSEX
BSc SECOND YEAR EXAMINATION
May/June 2021 (A2)
SOFTWARE ENGINEERING
Assessment Period:
DO NOT TURN OVER UNTIL INSTRUCTED
TO BY THE LEAD INVIGILATOR
Candidates should answer TWO questions out of THREE.
If all three questions are attempted only the first two answers will be marked.
The time allowed is TWO hours.
Each question is worth 50 marks.
At the end of the examination the question paper and any answer
books/answer sheets, used or unused, will be collected from you before you
leave the examination room.
Do not write any answers on the question papers. All answer should be written
in the answer books.
2
G6046 Software Engineering
1. Grace Brothers Ltd has provided you with a text statement of their user
requirements for a project. The text statement reads as follows:
“Grace Brothers Ltd are a family run high-street department store chain with a
proud 100-year history of selling high quality clothing and hardware goods. But as
the high street is having a hard time, we have decided to develop an on-line
presence to provide a modern experience for our customers. We intend to
embrace on-line shopping whereby customers can try on clothes in a virtual
environment and then shop either for delivery or by ‘click and collect’.
Customers will need to register to use Grace OnLine and provide their name,
physical address and email address. They will also need to provide a credit card
number in their name to prove they are at least 18 years old. Once registered,
customers can browse through our clothing collections and our ranges of
hardware. In each case we want to provide no more than 500 characters of text
description, and between 2 and 5 images of each item for sale, with details of
stock levels and delivery times for despatch from our warehouse. For the clothing
range, customers will be able to select items in different styles and colours and
then either generate a virtual catwalk model where the clothing will be
demonstrated on an animated 3D virtual model, or they will be able to upload
their own still images and then place an image of the selected clothing item on
them. For image upload, the resolution must be no less than 500 x 500 pixels and
no more than 2000 x 2000 pixels. JPEG image formats must be supported, but it
would be helpful to support TIF and PNG also. Customers can upload up to 4
images to their account to help them model their selected clothing items.
It would be helpful if customers could bookmark up to 10 items on the system,
and if the Grace Brothers IT support team could see how many customers are
browsing individual items. Once a customer makes a purchase, they should be
taken to a secure checkout page where funds can be paid by credit card or bank
transfer. The system must determine postage costs using the addresses to pass
to our delivery team, or provide a definite pickup time from any one of our stores
(customers should be able to quickly select the store that works best for them
based on their postcode).
The system interface must offer all functionality across Mac and PC platforms
and must work on Microsoft Edge, Chrome and Safari browsers. Ideally the
interface would conform to ISO-IEC 40500 for accessibility. The interface must
work on both desktop and mobile devices (phone and tablet). Ideally there could
be an app store version for both Apple iOS and Android.
The core software will be built using C/C++ although the front end interface
should be built using an appropriate front end technology. As this is a key piece
of business software, it must offer a mean time between failure of no less than
one in 1,000 hours, but closer to the one in 4,000 hours would be preferred.
3
Ideally the system should be 100% reliable as we have an excellent industry
reputation to maintain. The software should be easy to use, especially for our
older customers. Back end persistent data storage will be provided using a SQL
server. The tone and style of the site needs to be consistent with our core
company values.”

Working from this statement of user requirements:
a) State two mandatory functional requirements and two desirable functional
requirements.
[8 marks]
b) State two mandatory non-functional requirements and two desirable non_x005f functional requirements.
[8 marks]
c) Give an example of a domain requirement and explain what needs to be done
with the domain requirement so that it can be acted upon.
[8 marks]
d) Grace Brothers Ltd project management team have no technical development
experience, and have decided to specify C/C++ as the development language
as another company they work with, Slocombe and Peacock Ltd, had a very
positive and successful experience producing some game applications to
keep children occupied in store whilst their parents were shopping. They have
opted to use SQL for back end persistent data storage as that is what the
company already use to control their stock. They have asked you to provide
your technical opinion on their selection of technologies. What advice might
you give them You answer must explain the reasons for your advice.
[8 marks]
e) The statement of user requirements from Grace Brother Ltd is all the
information that the company have provided for you to guide your
development team. They do have a good project management team though
who are keen on the development and the benefits it can bring the company,
and a good idea of what makes for a good shopping experience. What
development process model do you think would be appropriate for this
project You answer should include your reasons (up to 8 marks for four clear
reasons), and a description of the key elements of the selected software
development process model (10 marks).
[18 marks]
/Turn over
G6046 Software Engineering
4
2.
Your company has been looking at a brand new technology development stack
called “KLICK!”. KLICK! Allows for the development of applications for desktop and
mobile platforms using a single codebase. The codebase can support multiple
development languages working together such as C/C++ and Python. The company
that developed KLICK! are a new startup (just 2 years old) but they are well funded
by investors. Their main support and development team consist of 7 people with an
average age of 25 years, but they are also supported and mentored by an
experienced technical project management team who used to work for Google. That
team are retained on a part-time contract as they also continue to have other
consultancy interests. Your boss is keen to use KLICK! on your latest project for a
long-time customer, and has offered the customer a discount on the development
process, as it may take a little time to get used to the new technology stack. You
have been asked to perform a risk assessment.
a) Identify two different risks that are relevant to this assessment. In each case,
you should explain your answer in terms of the key parameters needed to
understand the risk.
[10 marks]
b) Modern Software Engineering makes extensive use of “software design
patterns”. One example of such a design pattern is the “Subject Observer
Pattern”. Explain what is meant by the “Subject Observer Pattern” and explain
what problem it can be used to solve in practical software development. Your
answer must include a high-level class diagram to explain the key parts of the
design pattern.
[10 marks]
c) A project is to be executed using a planned Waterfall development process.
Using the information in the table below, assuming that the project team will
work a standard working week (5 working days in 1 week) and that all tasks
will start as soon as possible:
Task Description Duration
(Working days)
Predecessor(s)
A Hire project managers 10 None
B Requirements analysis 20 A
C Prototype design 15 B
D Create final design 25 C
E Hire coding team 10 A
5
F Buy hardware 10 A, C
G Coding 40 B, E, D
H Hardware testing 30 F
I Software testing 30 G
J Hardware and software
integration
20 H, I
K Delivery 10 J
i. Produce a PERT analysis of this project (showing the earliest and
latest start and finish times) and determine the critical path of the
project, and state the planned duration of the project in weeks.
[10 marks]
ii. Identify any non-critical tasks and the float (free slack) on each.
[5 marks]
d) The 3-tier architectural design pattern is commonly used to create dynamic
web sites and layered software applications. There are many technology
stacks that can be used to build such systems. Two examples of such stacks
include:
HTML, PHP and SQL
HTML/JavaScript/JSON, NodeJS and SQL
What are the relative advantages and/or disadvantages of either technology
stack. Your answer should include a description of the main elements of each
approach and how they work together to provide a potential solution for 3-tier
application development.
[15 marks]
/Turn over
6
G6046 Software Engineering
3. Consider the following informal requirements specification for a computerised
booking system:
“Virtualise2020 is a company that sells streaming and Virtual Reality (VR)
experience for public events like concerts and exhibitions for people who cannot
make the events in person. They sell their products all over the world and they are
especially popular with young people. They want to build a new computer system to
manage their on-line sales system for the experiences they offer.
Customers must register to use the new system. To register, customers need to
provide their name, age, telephone number and email address. The company then
needs to verify these details before a customer can make any bookings. Once the
customer has been verified, they are free to book as many experiences as they like.
The company sells a range of products for popular music concerts. The cheapest
option is a live audio stream option. The next package includes a live single curated
video stream (there is a professional camera crew on site) with a chat feed where
users can share text messages as they enjoy their experience. The top package
adds a VR experience using a rented headset or a mobile with a suitable device to
attach to your head that allows you to enjoy the experience as if you were there. For
each concert, information is stored about the time and date it occurs, what city it
takes place in and the local time the event begins.
The company also sells products for museums. The options here are a curated
stream (with knowledgeable staff taking you through the museum on a virtual tour),
or the VR experience. In each case, information is stored about the name of the
museum, where it is located and an information service email address that the
customer can use to contact the museum staff.
The company also sells vouchers so that people can buy an experience as a gift.
Vouchers are available for any amount in excess of £10 and are issued by email.
Some experiences are age-limited and can only be enjoyed by people over the age
of 18. There is a 10% discount for any order made with a value of £100 or more.
Customers can browse the range of experiences on offer (you do not need to know
how this is done). A single customer can book multiple experiences on different days
on a single order. Once a booking is made, Virtualise2020 need to keep a record in
case the customer loses any of the information about the bookings they have made,
or the gift vouchers they have purchased. To help customers in that event,
Virtualise2020 need to be able to recover information about customer purchases
using the customer name on their system.”
a) Identify the main object classes involved in the system, and for each class
briefly describe the primary attributes and operations (methods)
associated with it.
[20 marks]
7
b) What is meant by the terms “high cohesion” and “low coupling” in the
context of Object Oriented Program (OOP) design and coding
[5 marks]
c) Explain the difference between unit testing, component testing and system
level testing.
[15 marks]
A Java class has been developed to represent a Painting:
public class Painting
{
private String name;
private String painter;
private boolean onDisplay;
private double value;
public Painting(String name, String painter, double value) {
this.name = name;
this.painter = painter;
onDisplay = false;
this.value = value;
}
public String getName() {
return name;
}
public String getPainter() {
return painter;
}
public boolean getOnDisplay() {
return onDisplay;
}
public double getValue() {
return value;
}
// Returns true if the item is put on display – false if
// it is already on display …
public boolean putOnDisplay() {
if (onDisplay == true) {
System.out.println(“Already on display”);
return false;
}
else {
onDisplay = true;
return true;
}
}

// Returns true if the item is taken off display – false if
// it is already not on display …
public boolean takeOffDisplay() {
if (onDisplay == false) {
System.out.println(“Not on display”);
return false;
}
else {
onDisplay = false;
return true;
}
}
// Increase the painting value by extra pounds
public void increaseValue(double extra) {
value += extra;
}

// Decrease value by extra subject to a minimum of 0
// Returns true if OK, false otherwise
public boolean decreaseValue(double reduction)
{
double newValue;
newValue = value – reduction;
if (newValue >= 0) {
value = newValue;
return true;
}
else {
return false;
}

}
}
d) Write a simple JUnit test class that performs the following operations and
tests on the Painting class. Minor syntax errors will not be penalised.
Create a test method test1() (forming part of a unit test class) that will:
Create an instance of the painting class with an initial value of
£1,000,000.
Check that the value is £1,000,000.
Put the painting on display.
8
Check that the painting is on display.
Take the painting off display.
Check that the painting is off display.
Take the painting off display again.
Check that the painting is still off display.
Add an extra £500,000 to the value of the painting
Check that the painting value is now £1,500,000.
Try to decrease the value of the painting by £2,000,000.
Check that the value of the painting is still £1,500,000.
Decrease the value of the painting by £1,000,000.
Check that the value of the painting is now £500,000.
[10 marks]
End of paper
9

发表评论

了解 KJESSAY历史案例 的更多信息

立即订阅以继续阅读并访问完整档案。

继续阅读