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.