DCS 310 – System Analysis
DCS 310 System Analysis Coursework Deadline – Wednesday 2nd December 2009 1)
Pay For Ticket
Sell Ticket Sell Season Ticket
Scan Ticket Override System
Query System
Issue Blacklist
2a) Use Case: Scan Ticket/Present Ticket
Actors: Customer, Ground Operator
Durim Manaj – EM962
DCS 310 – System Analysis Description: The customer presents his/her ticket at the turnstile and the system check that the ticket is valid is for this client, that it has not already been presented and that the customer name associated with the tickets is not blacklisted. If the ticket is successful validated, the customer is let into the stadium. Pre-condition • •
The ticket must be valid The ticket has to be for the right fixture
Normal flow 1. 2. 3. 4. 5.
The customer presents his ticket to be scanned by the turnstile. The system scans the barcode of the ticket. System checks validity of the ticket. The customer name is searched through the blacklist database to check if he’s on it. If the ticket is valid, and the customer is not on the blacklist, the system allows the customer to enter.
Alternative flow – Presenting an invalid ticket At step 3: 1. The system rejects the ticket, displaying the reason to the ground operator. 2. The ground manager operates the override to release the turnstile. 3. If the ticket was invalid, the customer is added to the blacklist. Post condition •
The system records that the ticket has been presented and does not permit a second entry for this fixture.
2b) Use Case: Sell Ticket
Actors: Sales Assistant
Description: A customer requests to buy a ticket for a fixture. The customer pays for the ticket and is authorised by the sales assistant. If the customer is buying at one of the sales offices, then the sales assistant gives him his ticket, if he’s paying over the phone, then the ticket is sent home. Pre-condition • •
The customer has to have a valid form of payment. The fixture has to be a valid event in the stadium.
Normal flow 1. 2. 3. 4.
The customer requests to buy a ticket for a fixture. The customer pays for the ticket. The sales assistant authorises the payment. If the customer paid over the phone then the send is sent to his home.
Alternative flow – Customer visits the sales office. At step 3: 1. Customer pays for ticket. 2. Sales assistant authorises the payment. 3. Ticket is given to the customer.
Durim Manaj – EM962
DCS 310 – System Analysis
Post condition •
The sales system records that a ticket has being sold and generates a unique bar code for that ticket.
3i) Assumption: Blacklist system not completely effective. Action: Clarify how the Blacklist will be enforced The head of operations states that a security officer can blacklist someone who then cannot buy a ticket and tickets already sold to him are flagged in the system. How can this happen when the sales manager tells us that tickets do not show every customer’s name, it only shows the purchasers name. So a person that is blacklisted can simply get someone else to buy a ticket for him and through this he will still have access to the stadium therefore the system is not completely effective. 3ii) Issue: Do the customers know the system is collecting their addresses. Not clear, need further information. How does the system do this, do they ask for permission form the customers or do they automatically do it. How will you collect the customer addresses from the customers who buy tickets at the sales office and don’t have to give you their address? 3iii) Issue: Specification not accomplished. The requirement states that all tickets should show the customer name but according to sales office manager, Jean Gresham, tickets they sell will only show the purchaser’s name unless it’s a season ticket. For visiting fans, it will just show the name of their club. 4)
Durim Manaj – EM962
DCS 310 – System Analysis
5) • • • • • •
• •
Customer class: This class holds information about the customers. It will store customer names and their addresses. Tickets class: this will hold information about all the fixture tickets. It will sore the name of he purchaser, their seat number, cost and the date and time of the event. It will also generate a unique barcode ID for the ticket. Season Tickets class: This class will generate season tickets. It will include information on the different types of season tickets, their start and expiry date and he name of the season ticket holder. Block Bookings class: This class will be used to generate block booking tickets for away teams. It will include the name of the club and the number of seats being reserved. Membership class: This will be used to create memberships for customers. It will ask for the customer names and it will show the cost of the membership. Fixtures class: this will be used to store information about the coming fixtures being held at the stadium. It will include a list of all the fixtures being held at the stadium. IT will also include the date o the fixture and the duration of the event. It will also show how many tickets are being sold at this event. TTS class: This will hold information of the tickets bar codes. It will also include an event ID so that it can be searched by the grounds manager. Blacklist class: This will include a list of all the customers that have being added to the blacklist.
6)
Durim Manaj – EM962
DCS 310 – System Analysis
7a) Scan Ticket/Present Ticket Customer
Ticket
Purchase Ticket
TTS
Security [not valid]
Scan Ticket
[valid] Check Blacklist Allow visitor into stadium
Durim Manaj – EM962
[not blacklist] [blacklist]
DCS 310 – System Analysis 7b) Sell Ticket Customer
Fixture
Choose Fixture
Ticket Check availability of seats
Seat
Payment
Assign seat number Collect Payment
[ticket available] [ticket not available] Pay Ticket given
9a) [when remaining <1] Borrow(); Initial State NonBorrowable
Borrowable Return(); Return();
9b)
[if remaining >1] Borrow();
Initial State
NonBorrowable
Borrowable [if max== remaining]
[if max>remaining] Return(); [if max>remaining] Return();
Durim Manaj – EM962
DCS 310 – System Analysis Return(); Remaining ++
Borrow(); Remaining --
9c)
Return(); Remaining ++ Return(); Remaining ++ Borrow
Durim Manaj – EM962
Return