Sunteți pe pagina 1din 63

E-ticket System Analysis and Design Specification

-1-

E-ticket System

Analysis and Design Specification

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-

Notation for Entity Relation Diagram

Notation for Data Flow Diagram


E-ticket System Analysis and Design Specification
-3-

Notation for State Transition Diagram

Notation for Structural Chart


E-ticket System Analysis and Design Specification
-4-

Analysis and Design Specification


Table of Contents

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

1.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.1.2 About this project

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.2 System Statement of Scope

1.2.1 General Requirements(functional)

1. The web page (e.g. The time table page, the main page) will be generated
automatically according to the data in database.

2. A way in which the customer can create its own account(member


registration).

3. A way in which the users (both customer and staff) can login to the system
to perform different operation.

4. A way in which the customer can modify its own data.

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.

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.

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-

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 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.

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.

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

2.1 Context Diagram

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-

2.2 Event List

The following are the events triggered by users. For these events, some output action
will be given by the system.

Event name Visitor browse movie information


Event source Visitor
Related action Visitor chooses the movie on the
webpage and the movie information will
be shown to the visitor.

Event name Visitor input his personal data


Event source Visitor
Related action Visitor input his personal data in
registering the account and if the data are
correct a new account will be given.

Event name Member login


Event source Member
Related action Member input their login name and
password and if the records are correct, a
member area page will be shown to the
member.

Event name Member buy ticket


Event source Member
Related action Member chooses the movie, time, seat for
the movie and pay for the tickets by user
credit card or amount in their account. A
ticket reference number will be given.

Event name Member return ticket


Event source Member
Related action If member want to refund for the ticket,
he need to choose the ticket need to
refund and input the ticket reference
number. The refund will transfer to their
account in the member record.

Event name Member update request


Event source Member
Related action Member updates his personal data and if
the data is checked, the record updated.
E-ticket System Analysis and Design Specification
- 10 -

Event name Staff login


Event source Staff
Related action Staff input their login name and password
and if the record is correct, a staff area
page will be shown to the staff.

Event name Staff update request


Event source Staff
Related action Staff updates his personal data and if the
data is checked, the record updated.

Event name Staff show statistics information


Event source Staff
Related action Staff can request the system to auto
generate the statistic information for the
movies.
E-ticket System Analysis and Design Specification
- 11 -

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.

3.1 Level 0 DFD for the system


E-ticket System Analysis and Design Specification
- 12 -

3.2 DFD for buy_ticket

3.2.1 Level 1 DFD for buy_ticket


E-ticket System Analysis and Design Specification
- 13 -

3.2.2 Level 2 DFD for buy_ticket


E-ticket System Analysis and Design Specification
- 14 -

3.2.3 Level3 DFD for buy_ticket


E-ticket System Analysis and Design Specification
- 15 -

3.3 DFD for Member_login

3.3.1 Level 1 DFD for Member_login


E-ticket System Analysis and Design Specification
- 16 -

3.3.2 Level 2 DFD for Member_login


E-ticket System Analysis and Design Specification
- 17 -

3.4 Process Specification

Because the check_data part for Buy_ticket is similar to the check_data in


Member_login, we will not describe the detail in here. And the
Obtain_movie_preference and Obtain_transaction_data parts just involve clicking and
insert data through the webpage, we also do not describe here.

We also didn’t show any detail for all obtain processes, cause obtain data just get data
through web page.

3.4.1 Process detail for the Member_login

Name Member_login (3.0)


Informal Login process of member
description
Input Customer_id and Customer_password
Output Member area page
Related source Customer
Semi-Final Spec BEGIN
Obtain_data
IF (Client_check_data==TRUE )
IF(Server_check_data==TRUE)
Go_to_memberArea
ENDIF
ENDIF
Go_to_mainPage
END

Name Client_check_data (3.2)


Informal Check data on client side
description
Input Customer_id and Customer_password
Output Boolean (T or F)
Related source Customer
Semi-Final Spec BEGIN
IF (Check_empty==TRUE &&Check_range==TRUE)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
END
E-ticket System Analysis and Design Specification
- 18 -

Name Server_check_data (3.3)


Informal Check data on Server side
description
Input Customer_id and Customer_password
Output Boolean (T or F)
Related source Customer
Semi-Final Spec BEGIN
IF (Check_existance==TRUE
&&Check_concurrence==TRUE)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
END

Name Check_empty (3.2.1)


Informal Check the fields are empty or not
description
Input Customer_id and Customer_password
Output Boolean (T or F)
Related source Customer
Semi-Final Spec BEGIN
IF (Customer_id ==NULL || Customer_password ==NULL)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
END

Name Check_range (3.2.2)


Informal Check whether the field out of range
description
Input Customer_id and Customer_password
Output Boolean (T or F)
Related source Customer
Semi-Final Spec BEGIN
IF (Customer_id out of range || Customer_password out of
range)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
END
E-ticket System Analysis and Design Specification
- 19 -

Name Check_existance (3.3.1)


Informal Check existence of Customer_id
description
Input Customer_id
Output Boolean (T or F)
Related source Customer
Semi-Final Spec BEGIN
IF (Customer_id exist in database)
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
END

Name Check_concurrence (3.3.2)


Informal Check the password obtain from user match the password in
description database or not(for a particular user)
Input Customer_id and Customer_password
Output Boolean (T or F)
Related source Customer
Semi-Final Spec BEGIN
IF (Customer_password(from user)==
Customer_password(in database))
RETURN TRUE
ELSE
RETURN FALSE
ENDIF
END
E-ticket System Analysis and Design Specification
- 20 -

3.4.2 Process detail for the Buy_ticket

Name Buy_ticket (4.0)


Informal Process of buying tickets
description
Input Buy Ticket Request
Output Record_id
Related source Record,Customer,Sale,Ticket
Semi-Final Spec BEGIN
IF(Member_login FAIL)
Go_to_mainPage
TmpObtain_movie_preference
Confirm_transactionTmp
IF (Confirm_transaction success)
RETRUN Record_id
ELSE
GOTO(Confirm_transaction)
ENDIF
END

Name Obtain_movie_preference (4.2)


Informal Get the movie and sale detail that customer selected
description
Input Customer_id
Output Customer_id,Sale_id,Record_seat
Related source Record,Customer,Sale,Ticket
Semi-Final Spec BEGIN
TmpObtain_movie
Tmp1Obtain_time_and_venueTmp
Obtain_seatTmp1
RETURN Customer_id,Sale_id,Record_seat
END
E-ticket System Analysis and Design Specification
- 21 -

Name Confirm_transaction (4.3)


Informal Get the transaction info. Check it and save it to database
description
Input Customer_id,Sale_id,Record_seat
Output T or F
Related source Record,Customer,Sale,Ticket
Semi-Final Spec BEGIN
TmpObtain_transaction_data
Check_dataTmp
IF(Check_data==TRUE)
Save_data
RETURN TRUE
ELSE
RETURN FALSE
END

Name Save_data (4.3.3)


Informal Generate Record_id and save Record to database
description
Input Record (without Record_id)
Output Record_id
Related source Record,Customer,Sale,Ticket
Semi-Final Spec BEGIN
Record_idGenerate_record_id
Save_to_db
RETURN Record_id
END

Name Generate_record_id (4.3.3.1)


Informal Generate Record_id
description
Input Record (without Record_id)
Output Record_id
Related source Record,Customer,Sale,Ticket
Semi-Final Spec BEGIN
TMP==FALSE
While(TMP==FALSE)
Generate a record_id
Check it exist in Database or not
IF (EXISTS)
TMP==FALSE
ELSE
TMP==TRUE
ENDWHILE
RETURN Record_id
END
E-ticket System Analysis and Design Specification
- 22 -

Name Save_to_db (4.3.3.2)


Informal save Record to database
description
Input Record
Output Database
Related source Record,Customer,Sale,Ticket
Semi-Final Spec BEGIN
Save Record to database
END
E-ticket System Analysis and Design Specification
- 23 -

3.4.3 Process detail for other unnamed processes

Name Visitor browse movie information


Informal Visitor browse movie information
description
Input movie_name
Output movie_director, movie_casting, movie_duration,
movie_category, movie_language, movie_synopsis
Related source Movie
Semi-Final Spec BEGIN
Select movie detail form database
END

Name Visitor Signup


Informal Sign up of Customer
description
Input customer_name, customer_tel, customer_address,
customer_email,
customer_password, customer_creditcard
Output customer_id , set customer_amount = 0
Related source Customer
Semi-Final Spec BEGIN
IF (customer_name!=null)&& (customer_tel==
/dddddddd/) &&( customer_address!=null)&&
(customer_email == /a@b.c/)&&
(customer_password != null)&& (customer_creditcard != null)
== TRUE
THEN CHECK EXISTING IN DATABASE
IF NOT EXIST
SAVE IN DATABASE
ENDIF
ENDIF
END

Name Customer change data


Informal Customer change his own data
description
Input customer_id and customer_password
Output Update record in database
Related source Customer
Semi-Final Spec BEGIN
IF (customer_id ) && (customer_password) == TRUE
THEN
LOGIN
SAVE VALUE
ENDIF
END
E-ticket System Analysis and Design Specification
- 24 -

Name Staff login


Informal Login process of staff
description
Input staff_id and staff_password
Output Checking Status
Related source Staff
Semi-Final Spec BEGIN
If (staff_id ) && (staff_password) == TRUE
THEN
LOGIN
ENDIF
END

Name Statistic info request


Informal Make some statistic information about movie, cinema
description
Input cinema_id , movie_id
Output Statistic of the movie
Related source Cinema, Sales, Vacancy
Semi-Final Spec BEGIN
GET data form database
Calculation
SHOW statistics
END

Name Cinema update


Informal Update the cinema data
description
Input cinema_id , cinema_address, cinema_hall_no
Output Update movie data
Related source Cinema
Semi-Final Spec BEGIN
IF (cinema_id!= null) &&(cinema_address!= null )&&
(cinema_hall_no!= null) == TRUE
THEN
SAVE
ENDIF
END
E-ticket System Analysis and Design Specification
- 25 -

Name Movie update


Informal Update the movie data
description
Input movie_name , movie_director, movie_casting, movie_duration,
movie_category, movie_language,
movie_synosis
Output Update movie data
Related source Movie
Semi-Final Spec BEGIN
If (movie_name!= null)&& (movie_director!= null)&&
(movie_casting!= null) && (movie_duration!= null) &&
(movie_category!= null)&& (movie_language!= null) &&
(movie_synosis!= null) == TRUE
THEN
UPDATE RECORD
ENDIF
END
E-ticket System Analysis and Design Specification
- 26 -

4 Data Modeling

4.1 Entity Relationship Diagram

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 -

4.2 Data Dictionary

4.2.1 Table in the database


Name Customer

Description  Customer detail


Purpose  Keep customer detail
Related/connected From: registration
process To: N.A.
Related: user_login, book_ticket, modify_data, return_ticket
Related data A part of: N.A.
object/item Decomposed into:
Customer_id
Customer_name
Customer_tel
Customer_address
Customer_email
Customer_password
Customer_amount
Customer_creditcard
Type A table in Database

Range N.A.
E-ticket System Analysis and Design Specification
- 28 -

Name Record

Description Each booking ticket record

Purpose  Keep the booking record


 To check the available seat
Related/connected From: buy_ticket
process To: N.A.
Related: return_ticket, check_status
Related data A part of: N.A.
object/item Decomposed into:
Record_id
Customer_id
Sale_id
Ticket_type_id
Record_seat
Type A table in Database

Range N.A.
E-ticket System Analysis and Design Specification
- 29 -

Name Staff

Description Keep staff login name and password

Purpose Validate the login

Related/connected From: account_create


process To: N.A
Related: staff_login
Related data A part of: N.A.
object/item Decomposed into:
Staff_id
Staff_password
Staff_name
Cinema_id
Type A table in Database

Range N.A.

Name Ticket

Description About ticket type and price

Purpose To specify the price and type of ticket

Related/connected From: insert_record


process To: N.A
Related: buy_book
Related data A part of: N.A.
object/item Decomposed into:
Ticket_type_id
Ticket_type_name
Ticket_price
Type A table in Database

Range N.A.
E-ticket System Analysis and Design Specification
- 30 -

Name Sale

Description Sale detail about each movie

Purpose To keep track of each movie record in each time slot

Related/connected From: insert_new_film


process To: N.A
Related: buy_ticket,check_time,return_ticket
Related data A part of: N.A.
object/item Decomposed into:
Sale_id
Sale_time
Cinema_id
Movie_id
Type A table in Database

Range N.A.

Name Cinema

Description Cinema and hall number

Purpose Keep record of each hall

Related/connected From: insert_record


process To: N.A
Related: check_time, buy_ticket
Related data A part of: N.A.
object/item Decomposed into:
Cinema_id
Cinema_name
Cinema_hall_no
Type A table in Database

Range N.A.
E-ticket System Analysis and Design Specification
- 31 -

Name Movie

Description Movie detail(not include time table)

Purpose Keep each movie record

Related/connected From: insert_new_film


process To: N.A
Related: buy_ticket, check_time
Related data A part of: N.A.
object/item Decomposed into:
Movie_id
Movie_name
Movie_director
Movie_casting
Movie_duration
Movie_category
Movie_language
Movie_synopsis
Type A table in Database

Range N.A.

Name Vacancy

Description Each show’s vacancy

Purpose Keep each show’s ticket selling record

Related/connected From: buy_ticket


process To: N.A
Related: buy_ticket, check_time
Related data A part of: N.A.
object/item Decomposed into:
Sale_id
Vacancy_sold
Type A table in Database

Range N.A.
E-ticket System Analysis and Design Specification
- 32 -

4.2.2 Each field (attribute) in database


Customer table

Name Customer_id

Description The login id of the customer

Purpose Used to verify the login

Related/connected From: registration


process To: N.A
Related: member_login,buy_ticket
Related data A part of: Customer
object/item Decomposed into:
Related item:
Customer_name
Customer_tel
Customer_address
Customer_email
Customer_password
Customer_amount
Customer_creditcard
Type String, an attribute in table

Range [6-8] char


E-ticket System Analysis and Design Specification
- 33 -

Name Customer_name

Description Name of customer

Purpose Save the name of customer

Related/connected From: registration


process To: N.A
Related: member_login
Related data A part of: Customer
object/item Decomposed into: N.A.
Related item:
Customer_id
Customer_tel
Customer_address
Customer_email
Customer_password
Customer_amount
Customer_creditcard
Type String, an attribute in table

Range [0-50] char


E-ticket System Analysis and Design Specification
- 34 -

Name Customer_tel

Description The telephone number of customer

Purpose Save the telephone number

Related/connected From: registration


process To: N.A
Related: member_login
Related data A part of: Customer
object/item Decomposed into:
Related item:
Customer_id
Customer_name
Customer_address
Customer_email
Customer_password
Customer_amount
Customer_creditcard
Type NUMBER, an attribute in table

Range 8 digit

Name Customer_address

Description The address of customer

Purpose Save addressof customer

Related/connected From: registration


process To: N.A
Related: member_login
Related data A part of: Customer
object/item Decomposed into:
Related item:
Customer_id
Customer_name
Customer_tel
Customer_email
Customer_password
Customer_amount
Customer_creditcard
Type String, an attribute in table

Range [0-30] char


E-ticket System Analysis and Design Specification
- 35 -

Name Customer_email

Description The email of customer with special pattern (a @ inside)

Purpose Save email of customer

Related/connected From: registration


process To: N.A
Related: member_login
Related data A part of: Customer
object/item Decomposed into:
Related item:
Customer_id
Customer_name
Customer_tel
Customer_address
Customer_password
Customer_amount
Customer_creditcard
Type String , an attribute in table

Range [0~50] char

Name Customer_password

Description The password customer

Purpose Save email password of customer for login checking

Related/connected From: registration


process To: N.A
Related: member_login,buy_ticket
Related data A part of: Customer
object/item Decomposed into:
Related item:
Customer_id
Customer_name
Customer_tel
Customer_address
Customer_email
Customer_amount
Customer_creditcard
Type String , an attribute in table

Range [6~8] char


E-ticket System Analysis and Design Specification
- 36 -

Name Customer_amount

Description Amount of money that the customer have returned

Purpose Used to store the return ticket amount


Used to buy ticket
Related/connected From: return_ticket
process To: N.A
Related: member_login,buy_ticket
Related data A part of: Customer
object/item Decomposed into:
Related item:
Customer_id
Customer_name
Customer_tel
Customer_address
Customer_email
Customer_password
Customer_creditcard
Type NUMBER , an attribute in table

Range 4 digit
E-ticket System Analysis and Design Specification
- 37 -

Name Customer_creditcard

Description The password customer

Purpose Save email password of customer for login checking

Related/connected From: registration


process To: N.A
Related: member_login,buy_ticket
Related data A part of: Customer
object/item Decomposed into:
Related item:
Customer_id
Customer_name
Customer_tel
Customer_address
Customer_email
Customer_password
Customer_amount
Type String , an attribute in table

Range 16 digit
E-ticket System Analysis and Design Specification
- 38 -

Record table

Name Record_seat

Description The booked seat number

Purpose Save seat number of a booked ticket

Related/connected From: buy_ticket


process To: N.A
Related: eturn_ticket,check_ticket,check_status
Related data A part of: Record
object/item Decomposed into:
Related item:
Record_id
Customer_id
Sale_id
Ticket_type_id
Type String , an attribute in table

Range 3 char

Name Record_id

Description The record unique id

Purpose Identify each record

Related/connected From: buy_ticket


process To: N.A
Related: return_ticket,check_ticket,check_status
Related data A part of: Record
object/item Decomposed into:
Related item:
Record_seat
Customer_id
Sale_id
Ticket_type_id
Type String , an attribute in table

Range 20 char
E-ticket System Analysis and Design Specification
- 39 -

Name Customer_id

Description The customer unique id

Purpose Identify the customer who book this ticket

Related/connected From: buy_ticket


process To: N.A
Related:
return_ticket,check_ticket,check_status,user_registration
Related data A part of: Record
object/item Decomposed into:
Related item:
Record_seat
Record_id
Sale_id
Ticket_type_id
Type String , an attribute in table

Range [6-8] char


E-ticket System Analysis and Design Specification
- 40 -

Name Sale_id

Description The movie unique id(each time slot)

Purpose Identify which movie in a record

Related/connected From: buy_ticket


process To: N.A
Related:
return_ticket,check_ticket,check_status,inert_new_film
Related data A part of: Record
object/item Decomposed into:
Related item:
Record_seat
Record_id
Customer_id
Ticket_type_id
Type String , an attribute in table

Range 20 char

Name Ticket_type_id

Description The ticket_type unique id(each time slot)

Purpose Identify ticket type of a ticket

Related/connected From: buy_ticket


process To: N.A
Related: return_ticket,check_ticket,check_status
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

Range [0|1|2] =>[Child | Elderly | Adult ]


E-ticket System Analysis and Design Specification
- 41 -

Ticket Table

Name Ticket_type_id

Description The ticket type unique id

Purpose Identify each ticket type

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Ticket
object/item Decomposed into:
Related item:
Ticket_type_name
Ticket_price
Type Number , an attribute in table

Range [0|1|2] =>[Child | Elderly | Adult ]

Name Ticket_type_name

Description The name of each ticket type

Purpose Save the name of a ticket type

Related/connected From: buy_ticket


process To: N.A
Related: buy_ticket,check_ticket
Related data A part of: Ticket
object/item Decomposed into:
Related item:
Ticket_id
Ticket_price
Type String , an attribute in table

Range [Child | Elderly | Adult ]


E-ticket System Analysis and Design Specification
- 42 -

Name Ticket_price

Description The price of each ticket type

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

Range [0|1|2] =>[Child | Elderly | Adult ]


E-ticket System Analysis and Design Specification
- 43 -

Sale Table

Name Sale_id

Description The sale unique id

Purpose Identify each sale record

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Sale
object/item Decomposed into:
Related item:
Sale_time
Cinema_id
Movie_id
Type String , an attribute in table

Range 8 char

Name Sale_time

Description The sale time

Purpose Identify each movie’s starting time

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Sale
object/item Decomposed into:
Related item:
Sale_id
Cinema_id
Movie_id
Type Time

Range [00:00-23:59]
E-ticket System Analysis and Design Specification
- 44 -

Name Cinema_id

Description The cinema unique id

Purpose Identify each cinema

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Cinema
object/item Decomposed into:
Related item:
Sale_time
Sale_id
Movie_id
Type String , an attribute in table

Range 8 char

Name Movie_id

Description The movie unique id

Purpose Identify each sale record

Related/connected From: insert_data


process To: N.A
Related:
buy_ticket,check_ticket,return_ticket,view_movie_detail
Related data A part of: Sale
object/item Decomposed into:
Related item:
Sale_time
Cinema_id
Sale_id
Type String , an attribute in table

Range 8 char
E-ticket System Analysis and Design Specification
- 45 -

Vacancy table

Name Sale_id

Description The sale unique id

Purpose Identify each sale record

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket,check_vacancy
Related data A part of: Sale
object/item Decomposed into:
Related item:
Vacancy_sold
Type String , an attribute in table

Range 20 char

Name Vacancy_sold

Description The vacancy of the movie

Purpose Identify each movie vacancy record

Related/connected From: buy_ticket,return_ticket


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Vacancy
object/item Decomposed into:
Related item:
Sale_id
Type NUMBER

Range [0-300]
E-ticket System Analysis and Design Specification
- 46 -

Movie table

Name Movie_id

Description The movie unique id

Purpose Identify each movie record

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Movie
object/item Decomposed into:
Related item:
Movie_name
Movie_director
Movie_casting
Movie_duration
Movie_category
Movie_language
Movie_synopsis
Type String , an attribute in table

Range 8 char
E-ticket System Analysis and Design Specification
- 47 -

Name Movie_name

Description The movie name

Purpose Identify each movie’s name

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Movie
object/item Decomposed into:
Related item:
Movie_id
Movie_director
Movie_casting
Movie_duration
Movie_category
Movie_language
Movie_synopsis
Type String , an attribute in table

Range [0-300] char


E-ticket System Analysis and Design Specification
- 48 -

Name Movie_director

Description The movie’s director

Purpose Identify each movie’s director

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Movie
object/item Decomposed into:
Related item:
Movie_id
Movie_name
Movie_casting
Movie_duration
Movie_category
Movie_language
Movie_synopsis
Type String , an attribute in table

Range [0-50] char


E-ticket System Analysis and Design Specification
- 49 -

Name Movie_casting

Description The movie’s casting

Purpose Identify each movie’s casting

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Movie
object/item Decomposed into:
Related item:
Movie_id
Movie_name
Movie_director
Movie_duration
Movie_category
Movie_language
Movie_synopsis
Type String , an attribute in table

Range [0-1000] char


E-ticket System Analysis and Design Specification
- 50 -

Name Movie_duration

Description The movie’s duration

Purpose Identify each movie’s duration

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Movie
object/item Decomposed into:
Related item:
Movie_id
Movie_name
Movie_casting
Movie_director
Movie_category
Movie_language
Movie_synopsis
Type Time , an attribute in table

Range [0:00-6:00]
E-ticket System Analysis and Design Specification
- 51 -

Name Movie_category

Description The movie’s category

Purpose Identify each movie’s category

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Movie
object/item Decomposed into:
Related item:
Movie_id
Movie_name
Movie_casting
Movie_duration
Movie_director
Movie_language
Movie_synopsis
Type Char , an attribute in table

Range [1 | 2 | 3 | 4 ] = [ I | IIA | IIB | III ]


E-ticket System Analysis and Design Specification
- 52 -

Name Movie_language

Description The movie’s language

Purpose Identify each movie’s language

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Movie
object/item Decomposed into:
Related item:
Movie_id
Movie_name
Movie_director
Movie_casting
Movie_duration
Movie_category
Movie_synopsis
Type Character , an attribute in table

Range [0-60] char


E-ticket System Analysis and Design Specification
- 53 -

Name Movie_synopsis

Description The movie’s language

Purpose Identify each movie’s language

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Movie
object/item Decomposed into:
Related item:
Movie_id
Movie_name
Movie_director
Movie_casting
Movie_duration
Movie_category
Movie_synopsis
Type Character , an attribute in table

Range [0-3000] char


E-ticket System Analysis and Design Specification
- 54 -

Cinema Table

Name Cinema_id

Description The cinema unique id

Purpose Identify each cinema record

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Cinema
object/item Decomposed into:
Related item:
Cinema_name
Cinema_hall_no
Type String , an attribute in table

Range 8 char

Name Cinema_name

Description The cinema’s name

Purpose Identify each cinema’name

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Cinema
object/item Decomposed into:
Related item:
Cinema_id
Cinema_hall_no
Type String , an attribute in table

Range [0~50] char


E-ticket System Analysis and Design Specification
- 55 -

Name Cinema_hall_no

Description The cinema’s hall number

Purpose Identify each cinema’s hall number

Related/connected From: insert_data


process To: N.A
Related: buy_ticket,check_ticket,return_ticket
Related data A part of: Cinema
object/item Decomposed into:
Related item:
Cinema_id
Cinema_hall_no
Type String , an attribute in table

Range 1 char
E-ticket System Analysis and Design Specification
- 56 -

Staff Table

Name Staff_id

Description The staff unique id

Purpose Identify each staff record

Related/connected From: insert_data


process To: N.A
Related: login_process
Related data A part of: Cinema
object/item Decomposed into:
Related item:
Staff_name
Staff_password
Cinema_id
Type String , an attribute in table

Range 8 char

Name Staff_name

Description The staff’s name

Purpose Identify each staff’s name

Related/connected From: insert_data


process To: N.A
Related: login_process
Related data A part of: Cinema
object/item Decomposed into:
Related item:
Staff_id
Staff_password
Cinema_id
Type String , an attribute in table

Range [0~50] char


E-ticket System Analysis and Design Specification
- 57 -

Name Staff_password

Description The staff’s password

Purpose Identify each staff’s password

Related/connected From: insert_data


process To: N.A
Related: login_process
Related data A part of: Cinema
object/item Decomposed into:
Related item:
Staff_id
Staff_name
Cinema_id
Type String , an attribute in table

Range 8 char

Name Cinema_id

Description The cinema unique id

Purpose Identify each cinema record

Related/connected From: insert_data


process To: N.A
Related: login_process
Related data A part of: Cinema
object/item Decomposed into:
Related item:
Staff_id
Staff_name
Staff_password
Type String , an attribute in table

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 -

State Transition Diagram of login process


E-ticket System Analysis and Design Specification
- 60 -

6 Implementation Modeling

6.1 Structural Chart


E-ticket System Analysis and Design Specification
- 61 -

7 Appendix

7.1 Mind Map


E-ticket System

• Data Dictionary
o Customer
 Customer detail

Keep customer detail

Customer_id Customer_name Customer_tel Customer_address


Customer_email Customer_password Customer_amount
Customer_creditcard

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)

Keep each movie record

Movie_id Movie_name Movie_director Movie_casting Movie_duration


Movie_category Movie_language Movie_synopsis

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_id and Customer_password

Member area page


E-ticket System Analysis and Design Specification
- 62 -

Customer

BEGIN Obtain_data IF (Client_check_data==TRUE )


IF(Server_check_data==TRUE) Go_to_memberArea
ENDIF ENDIF Go_to_mainPage END

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

Customer_id and Customer_password

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

Customer_id and Customer_password

Boolean (T or F)

Customer

BEGIN IF (Customer_id out of range || Customer_password out of


range) RETURN TRUE ELSE RETURN FALSE ENDIF END

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)

Customer_id and Customer_password

Boolean (T or F)

Customer
E-ticket System Analysis and Design Specification
- 63 -

BEGIN IF (Customer_password(from user)== Customer_password(in


database)) RETURN TRUE ELSE RETURN FALSE ENDIF END

S-ar putea să vă placă și