E-ticket System Requirements Specification Page - 1 - E-ticket System Requirements Specification by Lai Chi Wa 03011674 Chung Wang Leong 03011615 Group 3 COMP 2221 Lecturer : Prof. Jiming Liu October 11, 2004 E-ticket System Requirements Specification Page - 2 - Software Requirement Specification TABLE OF CONTENTS 1.0 Introduction 1.1 Goals and Objectives 1.2 System Statement of Scope 1.2.1 General Requirements(functional) 1.2.2 Interface Enhancements 1.3 System Context 1.4 Major Constraints -3-3-3-3-4-4-4- 2.0 Usage Scenario 2.1 User Profiles 2.2 Use-case -6-6-6- 2.3 Special Usage Considerations 3.0 Functional Requirements 3.1 Customer 3.1.1 Buying ticket 3.1.2 Return ticket(refund/cancel seat) 3.2 Staff 3.2.1 Insert film data 3.2.2 Delete film data 3.2.3 Modify film data 3.2.4 Adding new section to current showing film -6-7-7-8-8-9-9-10-10-10- 4.0 Assumptions and Constraints 4.1 Assumptions 4.2 Constraints -11-11-11- 5.0 Data Model and Description 5.1Data Description 5.11Data Objects and Dictionary 5.12 Relationships -12-12-12-14- Appendix E-ticket System Requirements Specification Page - 3 - 1.1 Goals and Objectives The main purpose of our online ticket booking system is to provide another way for the customer to buy cinema ticket. It is an automatic system. After inserting the data to database, staff need not to due with the order receive through the system. In fact, there is similar system on the internet, but there is no refund method found in the existing system. The goals of our system are: 1 To provide a anytime anyplace service for the customer 2 To provide refund which is not available in the existing system 3 To minimize the number of staff at the ticket box 4 To promote the film on the internet 5 To increase the profit 6 To obtain statistic information from the booking record. 1.2 System Statement of Scope 1.2.1 General Requirements(functional) 1. The web page (e.g. The time table page) will be generated automatically according to the data in database. 2. A way in which the customer can create its own account(member 3. 4. 5. 6. 7. 8. registration). A way in which the users (both customer and staff) can login to the system to perform different operation. A way in which the customer can modify its own data. A way in which the customer can commit order by just clicking the seat (which is shown on the screen) and insert some card data. A way in which the customer can cancel the order and get the refund A way in which the customer can check the ticket record according to the transaction number. A way in which the staff can use the system to add data(e.g. film description) to the database. 9. The system can verify the data before transaction. 10. The system can generate the time table automatically(by just input the length of the film) or the time table is set by the staff.(2 operating mode for the staff to insert data). 11. The system can generate some statistic information according booking and ticket selling record. E-ticket System Requirements Specification Page - 4 - 1.2.2 Interface Enhancements Our web-based system needs about 30 interfaces to handle all the functions. Staff One of the main purpose of our system is to reduce the number of staff in the ticket box. So, most of the job is done by the system automatically. Staff only need to insert new film data and due with the refund part. Customer To make the system more user-friendly, customer need not to enter lots of data. An order will be commit step by step with guideline (request about 7 webpage for an order). 1.3 System Context Our online Ticket Booking System (TBS) is a web-based system. The customers can buy ticket online and cancel the seat at a suitable time (2 days before the show to 1hour before the show). To enhance the refund function, all the customers have to registration become a member before buying ticket. Staff can use the system to insert and delete data (e.g. film description , time table) which will update the webpage(webpage are dynamic page, changing according to the data in database). Also, staff can check the statistic information from the system. 1.4 Major Constraints Data concurrence Since two or more customers may request for the same seat at the same time. So, the system needs to remove the chance for two customer get the same seat. Transaction We cannot have a real bank account for the transaction. We can just simulate the process. E-ticket System Requirements Specification Page - 5 - Time Lots of the customer will buy tickets in ticket box and the customer use our web-based system still need to take the ticket in ticket box. So, the online ticket booking service and refund service will be stopped 1 hour before the show time. To do so, we can reduce the chance of 2 people book the same seat, also reduce the time for buying a ticket. Compatibility The new system need to be compatible with the existing ticket selling system(original) in the ticket box, because the web-base system and the original system will run on the same time and use the same database. E-ticket System Requirements Specification Page - 6 - 2.0 Usage Scenario 2.1 User Profiles There will be three levels of users: 1. Full Control(IT Support) 2. Read/Write/Modify Own(Customer/Staff) 3. Read Only(General Public) 2.2 Use-case The Read/Write/Modify own group are the main user of this software. Full Control Group(IT Support) IT Support is a team which manipulates and maintains the system. Since further improvement and testing of the system is needed, the team will be inside the full control group. Read/Write/Modify Own Group Customer 1. Create member account 2. 3. 4. Modify its own data(e.g. address) Ticket booking Cancel booking Staff 1. Insert data to database(film name, description) 2. Delete data from database 3. Modify data in the database.(adding new movie section, changing movie description) 4. Obtain statistic information Read Only Group(General Public) All the people can browse the webpage but cannot make any change to the system. 2.3 Special Usage Considerations Customers need a credit card to complete a transaction. E-ticket System Requirements Specification Page - 7 - 3.0 Functional Requirements Since the staff and the customer are the main target group of our software, we will only concern about some important functions for the staff and the customer. 3.1 Customer The following diagram is the main page of the system, which most of the customer will start using the system from this page. In this page, the customer can check the film detail by clicking on each film(e.g. film description, seat booking situation). The customer can start the buy ticket process after checking the film detail. Also, the customer can register as a member of the system. After registration, customer can login to its own account to modify its own data and return ticket if they have order a ticket before. Fig.1 The main page E-ticket System Requirements Specification Page - 8 - Fig.2 The overall state diagram for customer’s action 3.1.1 Buying ticket The buying ticket process is the most important function in our system. We will describe this process in detail. 1. Choose the film ,time and venue 2. Check the status of select venue at certain time.(by system) (Since the above function is open to public, customer need to login before they can choose a seat) 3. Login to the system 4. Choosing the seat position. 5. Enter data like ticket type and payment method (money in the account<from refund> or credit card), if the customer pay by credit card, credit card number need to be insert too. 6. Validation the data entered by the customer.(e.g. credit card number) (by system) 7. Ask the user to confirm the transaction. (by system) 8. Show the transaction number to the customer. (by system) 3.1.2 Return ticket(refund/cancel seat) This is one important feature of our system. By examine the existing system on the internet, we found that there is no such function available at this moment, so we try to include it in our system. To protect the benefit the cinema, we will not give the money back to the customer, but insert a record to database, write down how much the customer is remain in the system. So, the customer can use the remaining money. To do so, both the customer and the cinema can satisfy the win condition. Also, customer will come to the website more frequently, since they have some money remain in the system. The steps of performing return ticket process: 1. Customer login into the system from the main page. 2. Customer information will be shown in the user main page (including the information about booked seat). 3. Customer cancel the seat by clicking some button E-ticket System Requirements Specification Page - 9 - 4. System check the time weather it is possible for the customer to cancel the seat(by system) 5. If the seat is cancelled successfully, increase the cancelled amount of money to customer’s record. (by system) 6. Return to the user main page. 3.2 Staff The system for the staff part is not shown in the main page. Before the staff to perform any operation, he/she must login to the system first. Once the staff login to the system, the statistic information will be shown. And the staff can choose function by clicking the button on left hand side. The functions are: 1. Insert film data. 2. Delete film data. 3. Modify film data. 4. Add new section to current showing film. The function ‘Obtain the statistic information’ just like reading data from database, we will not describe here. 3.2.1 Insert film data Since the webpage is dynamic generated according to the data in database, the data in the database will be updated frequently. For this reason, we provide a easy way for the staff to enter data through the system(but not input data to the database directly). Because the length of each film is different, we provide two modes for the staff to insert time table. The process of inserting film data: 1. Login to the system 2. Insert movie data(e.g. movie name, director) 3. Insert cinema data(by choosing from the list of cinema) 4. Choose mode to insert time table. (Automatic mode or Manual mode) Automatic mode In this mode, the time table will generate automatically according to the length of the movie. The system will show the time table and then ask the staff to confirm. After confirm, the data will insert to the database. Manual mode E-ticket System Requirements Specification Page - 10 - In this mode, staff need to insert the begin time of movie one by one. Using this mode, the cinema can make special arrangement. 3.2.2 Delete film data To minimize the size of the database and improve the speed of searching, staff should delete the film data that is outdated. The steps are listed below: 1. Login to the system. 2. Choose the delete film data function. 3. Choose the movie that we want to remove from the system. 4. System check whether it is possible to be deleted (The film is outdated or not?). 5. Popup a confirm box if the film is possible to be deleted. 6. If staff click yes, the related data of the film will be deleted. 3.2.3 Modify film data Since the staff may make mistakes, we provide a function to modify the movie data(but not the time table). Therefore, staff can easily changing the movie data without knowledge about the database. The steps are listed below: 1. Login to the system. 2. Choose the modify film data function. 3. Choose the movie that we want to modify. 4. Information of the selected movie are shown and staff can modify it directly 5. Choose save after the modification is finished. 3.2.4 Adding new section to current showing film If a film is popular, the cinema may want to add new section, so that they can earn more money. As a result, we provide this function, let the staff to insert new time section for a certain film easily. The steps are listed below: 1. Login to the system. 2. Choose the adding new section to the current showing film function. 3. Choose the movie that we want to add new section. 4. Move to the page that we descript in the 3.2.1 to insert record to time table. 5. Choose save after adding. E-ticket System Requirements Specification Page - 11 - 4.0 Assumptions and Constraints 4.1 Assumptions Ticket type Every film has 3 ticket types(adult /student /elderly or children). That means there are 3 different prices for each film. Also, this assumption is work in the whole year, even in Tuesday and public holiday. Web server We need to have a real web server to run the system. This server must able to support dynamic webpage(E.g. php). And we must associate enough bandwidth for this server, so multi-user (customer) can use the system at the same time. DBMS compatibility We need to have a real DBMS to run the system. Since multi-user will use the system at the same time, the DBMS must able to due with the data concurrency problem. Hardware compatibility Since we cannot use a machine to read the card information and print the ticket to the customer, we just assume the cinema have such device. So, staff in the ticket box need not to handle the booking through the web. 4.2 Constraints Transaction We cannot do a real transaction, so we can only simulate the process of transaction and save the necessary data in the database System requirement and performance Since our system is a web-based system, almost all the popular perform can use the system if a web browser is included. We will sure use some java script and java applet in the system, so the browser must enable these functions to use the system normally. In addition, to improve the security, a browse support SSL is needed. Also, users’ computer must able to connect to internet. E-ticket System Requirements Specification Page - 12 - 5.0 Data Model and Description 5.1 Data Description 5.1.1 Data Objects and Dictionary Cinema information Cinema_id: The key for each cinema. Cinema_name: The name of the cinema. Cinema_hall_no: The hall number of that cinema. Customer information Customer_id: The key for each customer. Customer_name: The customer’s name. Customer_tel: The customer’s telephone number. Customer_address: The customer’s address. Customer_email: The customer’s email address. Customer_password: The customer’s password for login the system. Customer_amount: The amount of money that the customer have refund and will be use in next time. Customer_creditcard: The customer’s credit card number. Movie information Movie_id: The key for each movie. Movie_name: The name of the movie. Movie_director: The director of the movie. E-ticket System Requirements Specification Page - 13 - Movie_casting: The actor of the movie. Movie_duration: The length of the movie. Movie_cateory: The cateory of movie like I,II,III. Movie_language: The language of the movie. Movie_synopsis: The main description of the movie. Record Information: Record_id: The key for each record. Record_seat: The seats which is sold in this record. Sale Information Sale_id: The key for each record. Sale_time: The time for this sale. Sale_seat_sold The seat which is sold. Sale_seat_available: The seat which is available. Staff Information Staff_id: The key for each record. Staff_name: The name of the staff Staff_password: The password of the staff. Ticket Information Ticket_type_id: The key for each record. E-ticket System Requirements Specification Page - 14 - Ticket_type_name: The name of each ticket type. Ticket_price: The price for each ticket type. 5.1.2 Relationships E-ticket System Requirements Specification Page - 15 - Appendix Shakeholder and Win conditions Customer Boss I T support Staff Ad-hoc respond Convience Don’t need to queue Easy to check available seat Increase population Decrease number of staff Increase the income Backup easily Decrease workload Ease to learn the system Return ticket Better promotion