Você está na página 1de 70

E-ticket System Analysis and Design Specification1

TMA 01 T471
Fuad AL- Smadi ID 020888
Tarek AL-Soudani ID 020782

E-ticket Cinema System

Analysis and Design Specification


E-ticket System Analysis and Design Specification2

Analysis and Design Specification


Table of Contents

2 Introduction -3-
2.1.1 Goals and Objectives -3-
2.1.2 About this project -3-
2.2 System Statement of Scope -4-
2.2.1 General Requirements(functional) -4-
2.2.2 Interface Enhancements -5-
2.3 System Context -5-
2.4 Major Constraints -5-
4 Environmental Modeling -6-
4.1.1 Context Diagram -6-
4.1.2 Event List -7-
4.2 Functional Modeling(The System Basic component(Subsystem) -10-
4.2.2.1 Data Flow Diagram Level 1 -11-
4.2.2.2 Data Flow Diagram Level 2 -12-
4.2.2.3 Data Flow Diagram Level 3 -13-
4.2.3 Data Flow Diagram For Member_login -14-
4.2.4 Process Specification -16-
4.2.4.1 Process Detail For The Member_login -16-
4.2.4.2 Process Detail For The Buy_ticket -19-
4.2.4.3 Process Detail For Other Unnamed Processes -22-
5 Use Case Diagram -26-
5.1 Overview -26-
5.2 Use Case Diagram For Buying Ticket -27-
5.3 Class Diagram -28-
5.3.1Class Diagram For Buying Ticket -28-
5.4 Sequence Diagram -29-
5.4.1Sequence Diagram For Buying Ticket -29-
6 Behavioral Modeling -31-
6.1 State Transition Diagram -31-
7 Data Modeling -33-
7.1 Entity Relationship Diagram -33-
7.2 Scheme -34-
7.3 Data Dictionary -35-
7.3.1 Table In The Database -35-
7.3.2 Each Field (Attribute) In The Database -40-
8 Implementation Modeling -67-
8.1 Structural Chart -67-
9 Appendix -68-
9.1 Mind Map -68-
E-ticket System Analysis and Design Specification3

2 Introduction

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

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

2.2 System Statement of Scope

2.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 before
one day from the show.

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 Specification5

2.2.2 Interface Enhancements

Our web-based system needs about from (15 to 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:

Customer divided into two types:


• Visitor:
Visitor can be browsing on the Web site and inquire about all the films that will
be presented in theaters and ticket prices.

• Member:
can be browsing on the Web site and inquire about all the films that will be
presented in theaters and ticket prices and can booking a ticket and purchase it.

2.3 System Context

Our online E-Ticket Cinema System (ETCS) is a web-based system. The customers can
buy ticket online and cancel the seat at a suitable time. 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.

2.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.
E-ticket System Analysis and Design Specification6

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.

Program language:

The Project code will make by Visual basic 2005 (Asp.net) the web site design with
Visual basic tools and the database with MS SQL server 2005.
E-ticket System Analysis and Design Specification7

4 Environmental Modeling

4.1.1 Context Diagram (System tiers)

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 Specification8

4.1.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.
E-ticket System Analysis and Design Specification9

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 Specification10

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 Specification11

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

4.2.1 LEVEL 0 DFD for the system:


E-ticket System Analysis and Design Specification12

4.2.2 DFD for buy_ticket

4.2.2.1 Level 1 DFD for buy_ticket


E-ticket System Analysis and Design Specification13

4.2.2.2 Level 2 DFD for buy_ticket


E-ticket System Analysis and Design Specification14

4.2.2.3 Level3 DFD for buy_ticket


E-ticket System Analysis and Design Specification15

4.2.3DFD for Member_login

4.2.3.1 Level 1 DFD for Member_login


E-ticket System Analysis and Design Specification16

4.2.3.2 Level 2 DFD for Member_login


E-ticket System Analysis and Design Specification17
E-ticket System Analysis and Design Specification18

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

4.2.4.1 Process detail for the Member_login

Name Member_login (3.0)


Informal description Login process of member
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 description Check data on client side
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 Specification19

Name Server_check_data (3.3)


Informal description Check data on Server side
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 description Check the fields are empty or not
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 description Check whether the field out of range
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 Specification20

Name Check_existance (3.3.1)


Informal description Check existence of Customer_id
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 description Check the password obtain from user match the password in
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 Specification21

4.2.4.2 Process detail for the Buy_ticket

Name Buy_ticket (4.0)


Informal description Process of buying tickets
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 description Get the movie and sale detail that customer selected
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 Specification22

Name Confirm_transaction (4.3)


Informal description Get the transaction info. Check it and save it to database
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 description Generate Record_id and save Record to database
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 description Generate Record_id
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
E-ticket System Analysis and Design Specification23

END

Name Save_to_db (4.3.3.2)


Informal description save Record to database
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 Specification24

4.2.4.3 Process detail for other unnamed processes

Name Visitor browse movie information


Informal description Visitor browse movie information
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 description Sign up of Customer
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 description Customer change his own data
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 Specification25

Name Staff login


Informal description Login process of staff
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 description Make some statistic information about movie, cinema
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 description Update the cinema data
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 Specification26

Name Movie update


Informal description Update the movie data
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 Specification27

5 Use case diagram


5.1 Overview

For the following Diagram, we will show overall view of our system. We just
show the basic function of our system without any detail.
E-ticket System Analysis and Design Specification28

5.2 Use case diagram for buying ticket

In the following diagram, a sequence of buying ticket will be shown. Some


alternative choice are also shown in the diagram.
E-ticket System Analysis and Design Specification29

5.3 Class diagram


5.3.1 Class diagram for buying ticket

In the following diagram, we will show relation between classes when buying
ticket. The attributes and the functions are also shown.
E-ticket System Analysis and Design Specification30

5.4 Sequence diagram


5.4.1 Sequence diagram for buying ticket

In the following diagram, a sequence of buying ticket are demonstrated . There is


some more things I need to state, this is just one of the sequences of buying ticket. There
are some more alternative sequence for buying ticket. For example, we can choice
cinema before choice movie. But the overall structures of all buying ticket sequence are
similar, so, others sequence will not be shown.
E-ticket System Analysis and Design Specification31

6 Behavioral Modeling
E-ticket System Analysis and Design Specification32

For the activity 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.
6.1 activity Diagram Diagram
activity Diagram of Buy_ticket
E-ticket System Analysis and Design Specification33

activity Diagram of login process


E-ticket System Analysis and Design Specification34

7 Data Modeling

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

7.2 Scheme:
E-ticket System Analysis and Design Specification36

7.3 Data Dictionary

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

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 Specification38

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 Specification39

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 Specification40

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 Specification41

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

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 Specification43

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 Specification44

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 Specification45

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 Specification46

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 Specification47

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 Specification48

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 Specification49

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 -
E-ticket System Analysis and Design Specification50

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 -

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 -
E-ticket System Analysis and Design Specification51

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 -
E-ticket System Analysis and Design Specification52

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 Specification53

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 Specification54

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 Specification55

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 Specification56

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 Specification57

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 Specification58

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 Specification59

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 Specification60

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 Specification61

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 Specification62

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 Specification63

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 Specification64

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 Specification65

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 Specification66

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 Specification67

8 Implementation Modeling

8.1 Structural Chart


E-ticket System Analysis and Design Specification68

9 Appendix

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

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 Specification70

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


RETURN TRUE ELSE RETURN FALSE ENDIF END

Você também pode gostar