COMP0101 2 CONTINUED
Some of the coursework questions will make reference to the following problem statement
about a self-service bike hiring scheme similar to Transport for London’s. This problem
statement is necessarily incomplete and may contain ambiguities and errors. If needed, state any
assumptions you have made to answer the questions.
The department for transport of a city with 5 million residents has commissioned your
company, ACME, to implement and operate a new self-service bike hire scheme for the city
for the next 5 years. You are in charge of defining the requirements and architecture for all
software needed to operate this service.
The bike hire scheme is part of a wider initiative led by the city’s department for transport
to improve cycling in the city. The aim is to increase the share of cycling journeys from 2%
today to 5% in 5 years.
To use the service, users will have to buy a 24-hour pass that will allow them to rent bikes
as many times as they like within 24 hours. To encourage using bikes for short trips only,
the first 30 minutes of each journey will be free; longer journeys will have an additional
fee for each extra 30 minutes started. This charging scheme, however, might change in the
Bikes will be hired from, and returned to, docking stations spread throughout the city.
Each docking station will have several docking points where bikes can be docked (one
bike per docking point). Each docking station will also have a terminal with a touch screen,
a bank card reader, and network connections to the station’s docking points and to a
central server running the bike hire management system. Each docking point will have a
numerical keypad and three small lights (red, yellow, green).
To rent a bike, users will:
• go to the nearest docking station terminal with a bank card;
• follow instructions from the terminal to enter their bank card and PIN (the 4-digit
code associated with the bank card), buy a 24-hour pass, and retrieve a release
code printed by the terminal – the release code will be valid for 10 minutes and can
only be used at that docking station;
• go to a non-empty docking point, type the release code into the docking point’s
keypad, and pull the bike out when the green light appears.
Users can return the bike at any docking station. To return a bike,
• users must dock the bike back into any empty docking point and wait for the green
light to appear to indicate that the bike has been securely docked;
• if a docking station is full, users will be able to indicate on the station’s terminal
that they were not able to return the bike and they will receive an extra 15 minutes
to find an alternative docking station; the terminal will provide users information
about near docking stations with empty docking points;
• users will also be able to indicate that a bike needs repairing by pressing a ‘Fault’
button on the docking point within 10 seconds of docking the bike.
COMP0101 3 TURN OVER
Key concerns for bike hire users will be to easily find docking stations with available bike
to hire and with empty docking stations to return the bikes. The system will thus have web
and mobile applications to help users locate docking stations on a map and see near realtime
information about the numbers of available bikes and empty docking points at each
station. In addition, the system will use vans to redistribute bikes across docking stations
to minimize the risks that users do not find a bike to hire or a free docking station to
return their bike to. This is necessary because some docking stations are expected to
experience high demands for bikes to hire but rarely have bikes returned to by users. A
key concern for ACME is to minimize the system’s operating cost, including the costs
involved in redistributing bikes by vans across docking stations.
A preliminary system context diagram is shown in Figure 1.
Figure 1. Bike Hire System Context Diagram
COMP0101 4 CONTINUED
1. Goal Modelling
(a) Consider the problem statement for the bike hire system. Identify three important
stakeholders and identify their main goals referenced in the problem statement.
Write your answer in a table with the following structure.
stakeholder X brief description of the stakeholder’s main goals
stakeholder Y …
stakeholder Z …
The goals can be defined informally; you don’t need to write formal behaviour
specifications or measurable criteria but the goals’ meaning must be clear.
(b) Consider the goal refinement
where the parent goal is defined as follows:
G1. Goal Achieve [User Hires Bike When Needed]
Given a user needs a hired bike for a short journey
When the user starts looking for a bike
the user hires a bike from the self-service bike hiring scheme
(i) Write definitions for the subgoals G2 and G3.
(ii) Refine G2 and G3 using the following goals and assumptions as potential
subgoals and supporting assumptions. Not all goals and assumptions in
the table may be needed in the refinements.
COMP0101 5 TURN OVER
ID Goal and assumption names
G4 Achieve [Bike Unlocked From Docking Point When Valid Release
G5 Achieve [User Can Find Locations and Bike Availability of Nearby
G6 Achieve [User Receives Printed Release Code When Bike Hire
Requested With Valid Bank Card]
G7 Avoid [All Nearby Docking Stations Are Empty]
(A docking station is empty when it has no available bike to hire)
A1 Achieve [User Leaves With Unlocked Bike]
A2 Achieve [User Returns Hired Biked to Docking Station]
A3 Achieve [User Types Release Code at Bike Docking Point Within
A4 Maintain [User Has Valid Bank Card]
Write your answer as
G2 is refined into X1, … Xn
G3 is refined into Y1, …, Ym
where Xi and Yi are assertions IDs from the above table. [5 marks]
(iii) Refine goal G7 and indicate which agents from the context diagram in
Figure 1 are responsible for each subgoal and assumption. Write your
answer in a table where each row corresponds to a subgoal or assumption.
Subgoals and assumptions Responsible Agents
You don’t need to write precise definition for the subgoals and
assumptions but their names should be clear enough to convey their
meanings. [5 marks]
[Total for Question 1: 20 marks]
COMP0101 6 CONTINUED
2. Specification by Example and Conceptual Modelling
Consider the following feature:
Feature: Charge Users for Bike Hires
* Users must buy a 24-hour pass to start hiring bikes
* The fee for a 24-hour pass is £2
* Each 24-hour pass has an associated bank card
* The bank card will be charged a single transaction that
includes the 24-hour pass fee plus the cost of all journeys
started during the 24-hour period
* The first 30 minutes of each journey is free; longer
journeys have an additional fee of £2 for each extra 30
(a) Write Gherkin scenarios or scenario outlines that illustrate how the system should
compute the cost of a single journey (i.e. hiring and returning a biking). Write
scenarios that cover three or four different journeys and are helpful to illustrate
The first 30 minutes of each journey is free; longer
journeys have an additional fee of £2 for each extra
30 minutes started
(b) Sketch a conceptual model describing the main domain entities, relationships and
attributes related to all rules describing the feature. Include relationship
multiplicities. If needed, describe any assumptions you have made.
[Total for Question 2: 20 marks]
COMP0101 7 TURN OVER
3. Software Architecture
(a) Architecture Modelling
(i) Draw a functional view for the software architecture of the Bike Hire
Managing System shown in the context diagram in Figure 1. Draw the
functional view as a UML component diagram (as seen in class) where
each functional element has a clear domain-specific name, a short
definition of the component’s responsibility, and a set of provided and
Your architecture must support the following functional areas:
(1) receiving hire, return, and fault reporting events coming from the
docking station terminals, and storing the information into databases;
(2) charging users’ bank cards based on the time at which they hired and
(3) responding to queries about docking points availabilities in nearby
docking stations coming from docking station terminals;
(4) responding to queries about docking stations coming from web and
(5) allowing staff who manage the stations infrastructure to add, remove,
suspend and reopen docking stations and docking points.
(ii) Write a paragraph explaining how your architecture supports the second
functional area: charging users’ bank cards based on the time at which
they hired and returned bikes. (Expected length: 50 to 200 words)
(b) Architecture and Quality Requirements
(i) Choose one functional area for the Bike Hire Management System whose
availability is important for the bike hire service. Justify why high
availability is needed for this functional area. (Expected length: 50 to 100
COMP0101 8 CONTINUED
(ii) Propose suitable availability and failure handling requirements for this
functional area. (Expected length: 50 to 100 words)
(iii) Describe between 1 and 3 architectural tactics that can be used to satisfy
the high availability requirements for the functional area you have chosen
question (i). Your answer should describe the architectural tactics in the
context of the Bike Hire Management System by making reference to
elements of its functional and deployment views. (Expected length: 50 to
[Total for Question 3: 40 marks]
COMP0101 9 TURN OVER
4. Reflection on Industrial Project
Consider the group project you have worked on for this module in November and
The following questions are linked and should be answered in order.
The expected word count for each question is between 50 and 100 words, with an
absolute maximum of 150 words.
(a) Describe the project’s main goal. Focus on the real-world problem that the project
is meant to address.
(b) Summarize the main architecturally significant requirements for this project. Your
answer should be a short summary, not a detailed list of requirements.
(c) Describe one interesting challenge that your team faced when defining the system
requirements and architecture for this project. Give details that are specific to
your project and argue why the challenge is important in your particular project.
For example, if your challenge was that the client’s requirements were vague,
describe what specific requirements were vague and why clarifying these
requirements was important and difficult.
(d) Describe one technique that your team used or could have used to address the
challenge given in answer to the previous section.
You can write about a specific technique studied during the module or any other
relevant techniques not seen in class.
Be specific: explain what the technique is and how it has been applied or could be
applied on the project. For example, if the technique is “interviews”, describe
specifically what information is to be elicited from whom and give examples of
questions asked or of useful information identified during the interviews. Other
examples include other forms of elicitation, modelling and analysis techniques, or
systematic methods to deal with specific quality requirements seen during the
COMP0101 10 END OF PAPER
(e) Critically evaluate how the technique of question (d) did address or could have
addressed the challenge of question (c). Discuss both advantages and limitations
of the technique in the context of your project.
[Total for Question 4: 20 marks]
Such a cheap price for your free time and healthy sleep
All online transactions are done using all major Credit Cards or Electronic Check through PayPal. These are safe, secure, and efficient online payment methods.