Assignment title: Information
Vision (30 marks)
Analyse the case study and produce a Vision document for a software system to solve the business issue identified in the case study (use template provided in Resources section).
The Vision document should address the following points:
a) It should spell out the business case for development of the proposed system, identifying both the problem it is intended to solve, and the benefits to be expected from solving it.
b) It should identify all the stakeholders relevant to the system and their interest in it.
c) It should identify the key needs the system should satisfy and the key features by which the proposed system will satisfy those needs.
d) It should identify key qualities and characteristics that the system should exhibit
e) It should identify key considerations and constraints which affect the technical solution to be developed.
Use Case Model (30 marks)
Analyse the case study to determine the high level functional requirements for the new system. Express your understanding of those requirements with:
a) A use case diagram capturing at least all critical and significant use cases that the system will have to support
b) A document containing short use case descriptions for the use cases identified in the use case diagram.
Domain Model (20 marks)
Analyse the case study to determine the classes required to express the problem domains structure and operation. Express your understanding of the problem domain in:
a) A domain model.
State Machine (20 marks)
Analyse the lifecycle and behaviour of the most complex stateful object* identified in your domain model and express its behaviour in:
a) A state machine diagram
*Note: a list of appropriate domain objects will be made available during semester. Please contact the lecturer to confirm your selection if you wish to complete this task before that list is available.
Rationale
This assignment is motivated by and related to the following subject learning outcomes:
be able to analyse and verify system requirements;
be able to produce and verify analysis and design models for a system;
be able to demonstrate use of a Computer Aided Software Engineering (CASE) tool to document the models in a system
The aim of the assignment is to articulate taught concepts and exercise skills related to the Requirements discipline.
CASE STUDY:
Barchester City Council Car Park System
Barchester City Council operates seven car parks in the centre of Barchester.
The Council has a requirement for a new system to control its car parks. This
system must provide for the day-to-day operation of each car park—issuing
tickets, handling payment and controlling barriers—and the management of
car parks—recording problems, issuing season tickets and monitoring service
level agreements with the security company that guards the car parks.
Operational System
The car park operational system controls entry to and exit from a car park and
payment for car parking.
There are two types of users: ordinary customers, who pay for their use of
each car park at the time they use it, and season ticket holders, who pay a
fixed amount in advance for parking for three, six or twelve months in a
specific car park. Season ticket holders are allocated parking spaces in
designated areas that are not available to ordinary customers from Monday to
Friday. Season tickets are for weekdays only; the designated spaces are
available to all customers at week-ends. No more than 10% of the spaces in
a car park are allocated to season ticket holders.
Entry to the Car Park
When a car approaches an entry barrier, its presence is detected by a sensor
under the road surface, and a 'Press Button' display is flashed on the control
pillar.
The ordinary customer must press a button on the control pillar, and a ticket is
printed and issued. The ticket must be printed within five seconds. A 'Take
Ticket' display is flashed on the control pillar. If the car park is full, no ticket is
issued, and a 'Full' display is flashed on the control pillar. If a vehicle leaves
the car park, then the 'Press Button' display is activated again where there is
a vehicle waiting.
When the customer pulls the ticket from the control pillar, the barrier is raised.
The season ticket holder does not press the button, but inserts his or her
season ticket into a slot on the control pillar. A check is made that the season
ticket is valid for this car park and has not expired, that it is a weekday and
that the season ticket holder is not recorded as having already entered this
car park and not left. If all these checks are passed, then the barrier is raised.
The checks must take no longer than five seconds. A record is made of the
time of entry for that season ticket holder.
A sensor on the other side of the barrier detects when the car has passed and
the barrier is lowered.
The ticket issued to each ordinary customer has a bar code on it. The bar
code has a number on it and the date (ddmmyyyy) and time (hhmmss) of
Barchester City Council Car Park System 2 © Simon Bennett, Steve McRobb, Ray Farmer 2002, 2010
entry to the car park. The number, date and time of entry are also printed on
the ticket in human readable form.
The details of the ticket are stored: ticket no., issue date, issue time, issuing
machine.
The number of vehicles in the car park is incremented by 1 and a check is
made against the capacity of the car park. If the car park is full, then a display
near the entrance is switched on to say 'Car Park Full', and no further tickets
are issued until a vehicle leaves the car park.
Payment
When the ordinary customer is ready to leave, he or she must go to a pay
station to pay. The ticket is inserted into a slot, and the bar code is read. The
ticket bar code information is compared with the stored information. If the
dates or times are not the same, the ticket is ejected, and the customer is told
(via an LCD display) to go to the office. In the office, the attendant has a bar
code reader and can check a ticket. Typically the problem is damage to the
bar code on the ticket, and the attendant can use the office system to
calculate the charge, take payment and validate the ticket (see below).
At the pay station, if the ticket dates and times are the same as the bar code
dates and times, then the current date and time are obtained, and the duration
of the stay in the car park is calculated. From this the car park charge is
calculated and displayed on the LCD display. Calculation and display of the
charge must take no more than two seconds.
There are two tariffs: a short-stay tariff and a long-stay tariff. These include
the rates for weekdays from 8.00 am to 6.00 pm, and lower rates for entry
after 6.00 pm and at week-ends. Each car park uses either the short-stay
tariff or the long-stay tariff.
If no change is available, this information is displayed on the LCD display.
The customer must then insert notes or coins to at least the amount of the
charge. Each note or coin is identified as it is inserted and the value added to
an accumulated amount and displayed on the LCD display. Invalid notes are
ejected from the note slot. Invalid coins are dropped through into the return
tray. A message is displayed on the LCD display.
As soon as the amount accumulated exceeds the charge, the ticket is
validated. The current date and time are added to the stored data for that
ticket (payment date, payment time).
If the amount entered exceeds the charge and change is available, then the
amount of change is calculated and that amount of change is released into
the return tray. Otherwise, no change is given. In either case, a message is
displayed on the LCD display.
Barchester City Council Car Park System 3 © Simon Bennett, Steve McRobb, Ray Farmer 2002, 2010
The ticket has the payment date and time printed on it and is ejected from the
ticket slot.
A message is displayed telling the customer to press the 'Receipt' button if
they need a receipt. If they press this button, a receipt is printed and ejected
into the receipt tray. The receipt shows the Council address, address of the
car park, VAT number, date and amount paid.
A message is displayed for the customer telling them to take the ticket back to
their car and leave the car park within 15 minutes.
Leaving the Car Park
When the customer drives up to the exit barrier, the car is detected by a
sensor, and an 'Insert Ticket' display is flashed on the control pillar. The
customer must insert the ticket. The bar code is read and a check is made
that no more than 15 minutes have elapsed since the payment time for that
ticket. If more than 15 minutes have elapsed, an intercom in the control pillar
is activated and connected to the attendant in the car park office. The
customer can talk to the attendant, and the attendant can view the details of
the ticket on his or her computer. The attendant can activate the barrier
remotely, for example if there is a queue to get out and the customer is likely
to have been reasonably delayed.