Documente Academic
Documente Profesional
Documente Cultură
-1-
E-ticket System
by
Lai Chi Wa
03011674
Chung Wang Leong
03011615
Group Number: 3
COMP 2221
Lecturer: Prof. Jiming Liu
November 5, 2004
E-ticket System Analysis and Design Specification
-2-
0 Notation
0.1 Notation for Entity Relation Diagram -2-
0.2 Notation for Data Flow Diagram -2-
0.3 Notation for State Transition Diagram -3-
0.4 Notation for Structural Chart -3-
1 Introduction
1.1.1 Goals and Objectives -5-
1.1.2 About this project -5-
1.2 System Statement of Scope -5-
1.2.1 General Requirements(functional) -6-
1.2.2 Interface Enhancements -6-
1.3 System Context -7-
1.4 Major Constraints -7-
2 Environmental Modeling -8-
2.1 Context Diagram -8-
2.2 Event List -9-
3 Functional Modeling -11-
3.1 Data Flow Diagram Level 1 -11-
3.2 Data Flow Diagram Level 2 -12-
3.3 Data Flow Diagram Level 3 -15-
3.4 Data Flow Diagram Level 4 -17-
3.5 Process Specification -23-
4 Data Modeling -26-
4.1 Entity Relationship Diagram -26-
4.2 Data Dictionary -27-
5 Behavioral Modeling -58-
5.1 State Transition Diagram -58-
6 Implementation Modeling -60-
6.1 Structural Chart -60-
7 Appendix -61-
7.1 Mind Map -61-
E-ticket System Analysis and Design Specification
-5-
1 Introduction
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:
In this project, we will illustrate our system by providing DFD, STD on some
functions. And we will also provide some process description and data dictionary. For
simply, we just focus on two processes (Buy_ticket & Member_login) in our project.
E-ticket System Analysis and Design Specification
-6-
1. The web page (e.g. The time table page, the main page) will be generated
automatically according to the data in database.
3. A way in which the users (both customer and staff) can login to the system
to perform different operation.
5. 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.(some simple
operation)
6. A way in which the customer can cancel the order and get the refund.
7. A way in which the customer can check the ticket record according to the
transaction number.
8. A way in which the staff can use the system to add data(e.g. film
description) to the database.
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.
12. Users can check film data by clicking on a certain film on main page(e.g.
The cinema which will show this films).
13. Users can check a cinema data by clicking on a certain cinema on main
page(e.g. which film is now showing)
E-ticket System Analysis and Design Specification
-7-
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).
Our online E-Ticket System (ETS) 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.
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.
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 Analysis and Design Specification
-8-
2 Environmental Modeling
There are three parts in our context diagram, we will deal with a kind of user in a part.
We hope it is more clear to identify the functions of each user.
E-ticket System Analysis and Design Specification
-9-
The following are the events triggered by users. For these events, some output action
will be given by the system.
3 Functional Modeling
The dotted line”-- --” represent the function will be further decomposed.
The dotted line”- - -” represent the function has been decomposed from the above
level.
We also didn’t show any detail for all obtain processes, cause obtain data just get data
through web page.
4 Data Modeling
Our E-ticket system is highly related to the database, most of the fields and variables
used in the webpage will also appear in the database (except some flags and
temporary variables ). So, in our Data Modeling part, we will only concern about the
data appear in the database.
E-ticket System Analysis and Design Specification
- 27 -
Range N.A.
E-ticket System Analysis and Design Specification
- 28 -
Name Record
Range N.A.
E-ticket System Analysis and Design Specification
- 29 -
Name Staff
Range N.A.
Name Ticket
Range N.A.
E-ticket System Analysis and Design Specification
- 30 -
Name Sale
Range N.A.
Name Cinema
Range N.A.
E-ticket System Analysis and Design Specification
- 31 -
Name Movie
Range N.A.
Name Vacancy
Range N.A.
E-ticket System Analysis and Design Specification
- 32 -
Name Customer_id
Name Customer_name
Name Customer_tel
Range 8 digit
Name Customer_address
Name Customer_email
Name Customer_password
Name Customer_amount
Range 4 digit
E-ticket System Analysis and Design Specification
- 37 -
Name Customer_creditcard
Range 16 digit
E-ticket System Analysis and Design Specification
- 38 -
Record table
Name Record_seat
Range 3 char
Name Record_id
Range 20 char
E-ticket System Analysis and Design Specification
- 39 -
Name Customer_id
Name Sale_id
Range 20 char
Name Ticket_type_id
Ticket Table
Name Ticket_type_id
Name Ticket_type_name
Name Ticket_price
Purpose Save the price of each ticket type(easy to calculate the total
price)
Related/connected From: insert_db
process To: N.A
Related: return_ticket,buy_ticket,check_ticket
Related data A part of: Record
object/item Decomposed into:
Related item:
Record_seat
Record_id
Customer_id
Sale_id
Type Number , an attribute in table
Sale Table
Name Sale_id
Range 8 char
Name Sale_time
Range [00:00-23:59]
E-ticket System Analysis and Design Specification
- 44 -
Name Cinema_id
Range 8 char
Name Movie_id
Range 8 char
E-ticket System Analysis and Design Specification
- 45 -
Vacancy table
Name Sale_id
Range 20 char
Name Vacancy_sold
Range [0-300]
E-ticket System Analysis and Design Specification
- 46 -
Movie table
Name Movie_id
Range 8 char
E-ticket System Analysis and Design Specification
- 47 -
Name Movie_name
Name Movie_director
Name Movie_casting
Name Movie_duration
Range [0:00-6:00]
E-ticket System Analysis and Design Specification
- 51 -
Name Movie_category
Name Movie_language
Name Movie_synopsis
Cinema Table
Name Cinema_id
Range 8 char
Name Cinema_name
Name Cinema_hall_no
Range 1 char
E-ticket System Analysis and Design Specification
- 56 -
Staff Table
Name Staff_id
Range 8 char
Name Staff_name
Name Staff_password
Range 8 char
Name Cinema_id
Range 8 char
E-ticket System Analysis and Design Specification
- 58 -
5 Behavioral Modeling
For the State Transition Diagram, we just illustrate the state transition of
Buy_ticket process and Member_login process. In the following diagram, we show
the process state step by step.
5.1 State Transition Diagram
State Transition Diagram of Buy_ticket
E-ticket System Analysis and Design Specification
- 59 -
6 Implementation Modeling
7 Appendix
• Data Dictionary
o Customer
Customer detail
o Record
Each booking ticket record
Keep the booking record, To check the available seat
Record_id Customer_id Sale_id Ticket_type_id Record_seat
o Staff
Keep staff login name and password
Validate the login
Staff_id Staff_password Staff_name Cinema_id
o Ticket
About ticket type and price
To specify the price and type of ticket
Ticket_type_id Ticket_type_name Ticket_price
o Sale
Sale detail about each movie
To keep track of each movie record in each time slot
Sale_id Sale_time Cinema_id Movie_id
o Cinema
Cinema and hall number
Keep record of each hall
Cinema_id Cinema_name Cinema_hall_no
o Movie
Movie detail(not include time table)
o Vacancy
Each show’s vacancy
Keep each show’s ticket selling record
Sale_id Vacancy_sold
• Process Specification
o Member Login
Login process of member
Customer
o Client_check_data
Check data on client side
Customer_id and Customer_password
Boolean (T or F)
Customer
BEGIN IF (Check_empty==TRUE &&Check_range==TRUE)
RETURN TRUE ELSE RETURN FALSE ENDIF END
o Server_check_data
Check data on Server side
Boolean (T or F)
Customer
BEGIN IF (Check_existance==TRUE
&&Check_concurrence==TRUE) RETURN TRUE ELSE
RETURN FALSE ENDIF END
o Check_range
Check whether the field out of range
Boolean (T or F)
Customer
o Check_existance
Check existence of Customer_id
Customer_id
Boolean (T or F)
Customer
BEGIN IF (Customer_id exist in database) RETURN TRUE ELSE
RETURN FALSE ENDIF END
o Check_concurrence
Check the password obtain from user match the password in
database or not(for a particular user)
Boolean (T or F)
Customer
E-ticket System Analysis and Design Specification
- 63 -