analysis and design specification
TRANSCRIPT
E-ticket System Analysis and Design Specification- 1 -
E-ticket System
Analysis and Design Specification
by
Lai Chi Wa03011674
Chung Wang Leong03011615
Group Number: 3
COMP 2221Lecturer: 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 SpecificationTable of Contents
0 Notation 0.1 Notation for Entity Relation Diagram 0.2 Notation for Data Flow Diagram 0.3 Notation for State Transition Diagram 0.4 Notation for Structural Chart
-2--2--3--3-
1 Introduction 1.1.1 Goals and Objectives 1.1.2 About this project 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
-5--5--5--6--6--7--7-
2 Environmental Modeling 2.1 Context Diagram 2.2 Event List
-8--8--9-
3 Functional Modeling 3.1 Data Flow Diagram Level 1 3.2 Data Flow Diagram Level 2 3.3 Data Flow Diagram Level 3 3.4 Data Flow Diagram Level 4 3.5 Process Specification
-11--11--12--15--17--23-
4 Data Modeling 4.1 Entity Relationship Diagram 4.2 Data Dictionary
-26--26--27-
5 Behavioral Modeling 5.1 State Transition Diagram
-58--58-
6 Implementation Modeling 6.1 Structural Chart
-60--60-
7 Appendix 7.1 Mind Map
-61--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 customer2 To provide refund which is not available in the existing system3 To minimize the number of staff at the ticket box4 To promote the film on the internet5 To increase the profit6 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.
StaffOne 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.
CustomerTo 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.
TransactionWe cannot have a real bank account for the transaction. We can just simulate the process.
TimeLots 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.
CompatibilityThe 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 informationEvent source VisitorRelated 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 VisitorRelated 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 MemberRelated 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 ticketEvent source MemberRelated 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 ticketEvent source MemberRelated 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 requestEvent source MemberRelated 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 StaffRelated 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 requestEvent source StaffRelated action Staff updates his personal data and if the
data is checked, the record updated.
Event name Staff show statistics information Event source StaffRelated 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 description
Login process of member
Input Customer_id and Customer_passwordOutput Member area pageRelated source CustomerSemi-Final Spec BEGIN
Obtain_dataIF (Client_check_data==TRUE ) IF(Server_check_data==TRUE) Go_to_memberArea ENDIFENDIF
Go_to_mainPageEND
Name Client_check_data (3.2)Informal description
Check data on client side
Input Customer_id and Customer_passwordOutput Boolean (T or F)Related source CustomerSemi-Final Spec BEGIN
IF (Check_empty==TRUE &&Check_range==TRUE) RETURN TRUEELSE RETURN FALSEENDIF
END
E-ticket System Analysis and Design Specification- 18 -
Name Server_check_data (3.3)Informal description
Check data on Server side
Input Customer_id and Customer_passwordOutput Boolean (T or F)Related source CustomerSemi-Final Spec BEGIN
IF (Check_existance==TRUE &&Check_concurrence==TRUE)
RETURN TRUEELSE RETURN FALSEENDIF
END
Name Check_empty (3.2.1)Informal description
Check the fields are empty or not
Input Customer_id and Customer_passwordOutput Boolean (T or F)Related source CustomerSemi-Final Spec BEGIN
IF (Customer_id ==NULL || Customer_password ==NULL) RETURN TRUEELSE RETURN FALSEENDIF
END
Name Check_range (3.2.2)Informal description
Check whether the field out of range
Input Customer_id and Customer_passwordOutput Boolean (T or F)Related source CustomerSemi-Final Spec BEGIN
IF (Customer_id out of range || Customer_password out of range)
RETURN TRUEELSE RETURN FALSEENDIF
END
E-ticket System Analysis and Design Specification- 19 -
Name Check_existance (3.3.1)Informal description
Check existence of Customer_id
Input Customer_id Output Boolean (T or F)Related source CustomerSemi-Final Spec BEGIN
IF (Customer_id exist in database) RETURN TRUEELSE RETURN FALSEENDIF
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_passwordOutput Boolean (T or F)Related source CustomerSemi-Final Spec BEGIN
IF (Customer_password(from user)== Customer_password(in database))
RETURN TRUEELSE RETURN FALSEENDIF
END
E-ticket System Analysis and Design Specification- 20 -
3.4.2 Process detail for the Buy_ticket
Name Buy_ticket (4.0)Informal description
Process of buying tickets
Input Buy Ticket RequestOutput Record_idRelated source Record,Customer,Sale,TicketSemi-Final Spec BEGIN
IF(Member_login FAIL)Go_to_mainPage
TmpObtain_movie_preferenceConfirm_transactionTmpIF (Confirm_transaction success)
RETRUN Record_idELSE
GOTO(Confirm_transaction)ENDIF
END
Name Obtain_movie_preference (4.2)Informal description
Get the movie and sale detail that customer selected
Input Customer_idOutput Customer_id,Sale_id,Record_seatRelated source Record,Customer,Sale,TicketSemi-Final Spec BEGIN
TmpObtain_movieTmp1Obtain_time_and_venueTmpObtain_seatTmp1RETURN Customer_id,Sale_id,Record_seat
END
E-ticket System Analysis and Design Specification- 21 -
Name Confirm_transaction (4.3)Informal description
Get the transaction info. Check it and save it to database
Input Customer_id,Sale_id,Record_seatOutput T or FRelated source Record,Customer,Sale,TicketSemi-Final Spec BEGIN
TmpObtain_transaction_dataCheck_dataTmpIF(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_idRelated source Record,Customer,Sale,TicketSemi-Final Spec BEGIN
Record_idGenerate_record_id Save_to_db RETURN Record_idEND
Name Generate_record_id (4.3.3.1)Informal description
Generate Record_id
Input Record (without Record_id)Output Record_idRelated source Record,Customer,Sale,TicketSemi-Final Spec BEGIN
TMP==FALSEWhile(TMP==FALSE)
Generate a record_id Check it exist in Database or not IF (EXISTS) TMP==FALSE ELSE TMP==TRUE ENDWHILE RETURN Record_idEND
E-ticket System Analysis and Design Specification- 22 -
Name Save_to_db (4.3.3.2)Informal description
save Record to database
Input Record Output DatabaseRelated source Record,Customer,Sale,TicketSemi-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 informationInformal description
Visitor browse movie information
Input movie_nameOutput movie_director, movie_casting, movie_duration,
movie_category, movie_language, movie_synopsisRelated source MovieSemi-Final Spec BEGIN
Select movie detail form databaseEND
Name Visitor SignupInformal 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 CustomerSemi-Final Spec BEGIN
IF (customer_name!=null)&& (customer_tel== /dddddddd/) &&( customer_address!=null)&& (customer_email == /[email protected]/)&&(customer_password != null)&& (customer_creditcard != null) == TRUETHEN CHECK EXISTING IN DATABASEIF NOT EXIST SAVE IN DATABASEENDIFENDIF END
Name Customer change dataInformal description
Customer change his own data
Input customer_id and customer_passwordOutput Update record in databaseRelated source CustomerSemi-Final Spec BEGIN
IF (customer_id ) && (customer_password) == TRUETHEN LOGIN SAVE VALUEENDIFEND
E-ticket System Analysis and Design Specification- 24 -
Name Staff loginInformal description
Login process of staff
Input staff_id and staff_passwordOutput Checking StatusRelated source StaffSemi-Final Spec BEGIN
If (staff_id ) && (staff_password) == TRUETHEN LOGINENDIFEND
Name Statistic info requestInformal description
Make some statistic information about movie, cinema
Input cinema_id , movie_idOutput Statistic of the movieRelated source Cinema, Sales, VacancySemi-Final Spec BEGIN
GET data form database Calculation SHOW statisticsEND
Name Cinema updateInformal description
Update the cinema data
Input cinema_id , cinema_address, cinema_hall_no Output Update movie dataRelated source CinemaSemi-Final Spec BEGIN
IF (cinema_id!= null) &&(cinema_address!= null )&& (cinema_hall_no!= null) == TRUETHEN SAVEENDIFEND
E-ticket System Analysis and Design Specification- 25 -
Name Movie updateInformal description
Update the movie data
Input movie_name , movie_director, movie_casting, movie_duration, movie_category, movie_language,movie_synosis
Output Update movie dataRelated source MovieSemi-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) == TRUETHEN UPDATE RECORDENDIFEND
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
Name Customer
Description Customer detail
Purpose Keep customer detail
Related/connected process
From: registrationTo: N.A.Related: user_login, book_ticket, modify_data, return_ticket
Related data object/item
A part of: N.A.Decomposed into: Customer_idCustomer_nameCustomer_telCustomer_addressCustomer_emailCustomer_passwordCustomer_amountCustomer_creditcard
Type A table in Database
Range N.A.
4.2.1 Table in the database
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 process
From: buy_ticketTo: N.A.Related: return_ticket, check_status
Related data object/item
A part of: N.A.Decomposed into: Record_idCustomer_idSale_idTicket_type_idRecord_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 process
From: account_createTo: N.ARelated: staff_login
Related data object/item
A part of: N.A.Decomposed into: Staff_idStaff_passwordStaff_nameCinema_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 process
From: insert_recordTo: N.ARelated: buy_book
Related data object/item
A part of: N.A.Decomposed into: Ticket_type_idTicket_type_nameTicket_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 process
From: insert_new_filmTo: N.ARelated: buy_ticket,check_time,return_ticket
Related data object/item
A part of: N.A.Decomposed into: Sale_idSale_timeCinema_idMovie_id
Type A table in Database
Range N.A.
Name Cinema
Description Cinema and hall number
Purpose Keep record of each hall
Related/connected process
From: insert_recordTo: N.ARelated: check_time, buy_ticket
Related data object/item
A part of: N.A.Decomposed into: Cinema_idCinema_nameCinema_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 process
From: insert_new_filmTo: N.ARelated: buy_ticket, check_time
Related data object/item
A part of: N.A. Decomposed into: Movie_idMovie_nameMovie_directorMovie_castingMovie_durationMovie_categoryMovie_languageMovie_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 process
From: buy_ticketTo: N.ARelated: buy_ticket, check_time
Related data object/item
A part of: N.A. Decomposed into: Sale_idVacancy_sold
Type A table in Database
Range N.A.
E-ticket System Analysis and Design Specification- 32 -
4.2.2 Each field (attribute) in databaseCustomer table
Name Customer_id
Description The login id of the customer
Purpose Used to verify the login
Related/connected process
From: registrationTo: N.ARelated: member_login,buy_ticket
Related data object/item
A part of: CustomerDecomposed into: Related item: Customer_nameCustomer_telCustomer_addressCustomer_emailCustomer_passwordCustomer_amountCustomer_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 process
From: registrationTo: N.ARelated: member_login
Related data object/item
A part of: Customer Decomposed into: N.A.Related item: Customer_idCustomer_telCustomer_addressCustomer_emailCustomer_passwordCustomer_amountCustomer_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 process
From: registrationTo: N.ARelated: member_login
Related data object/item
A part of: CustomerDecomposed into: Related item: Customer_idCustomer_nameCustomer_addressCustomer_emailCustomer_passwordCustomer_amountCustomer_creditcard
Type NUMBER, an attribute in table
Range 8 digit
Name Customer_address
Description The address of customer
Purpose Save addressof customer
Related/connected process
From: registrationTo: N.ARelated: member_login
Related data object/item
A part of: CustomerDecomposed into: Related item: Customer_idCustomer_nameCustomer_telCustomer_emailCustomer_passwordCustomer_amountCustomer_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 process
From: registrationTo: N.ARelated: member_login
Related data object/item
A part of: CustomerDecomposed into: Related item: Customer_idCustomer_nameCustomer_telCustomer_addressCustomer_passwordCustomer_amountCustomer_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 process
From: registrationTo: N.ARelated: member_login,buy_ticket
Related data object/item
A part of: CustomerDecomposed into: Related item: Customer_idCustomer_nameCustomer_telCustomer_addressCustomer_emailCustomer_amountCustomer_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 amountUsed to buy ticket
Related/connected process
From: return_ticketTo: N.ARelated: member_login,buy_ticket
Related data object/item
A part of: CustomerDecomposed into: Related item: Customer_idCustomer_nameCustomer_telCustomer_addressCustomer_emailCustomer_passwordCustomer_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 process
From: registrationTo: N.ARelated: member_login,buy_ticket
Related data object/item
A part of: CustomerDecomposed into: Related item: Customer_idCustomer_nameCustomer_telCustomer_addressCustomer_emailCustomer_passwordCustomer_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 process
From: buy_ticketTo: N.ARelated: eturn_ticket,check_ticket,check_status
Related data object/item
A part of: RecordDecomposed into: Related item: Record_idCustomer_idSale_idTicket_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 process
From: buy_ticketTo: N.ARelated: return_ticket,check_ticket,check_status
Related data object/item
A part of: RecordDecomposed into: Related item: Record_seatCustomer_idSale_idTicket_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 process
From: buy_ticketTo: N.ARelated: return_ticket,check_ticket,check_status,user_registration
Related data object/item
A part of: RecordDecomposed into: Related item: Record_seatRecord_idSale_idTicket_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 process
From: buy_ticketTo: N.ARelated: return_ticket,check_ticket,check_status,inert_new_film
Related data object/item
A part of: RecordDecomposed into: Related item: Record_seatRecord_idCustomer_idTicket_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 process
From: buy_ticketTo: N.ARelated: return_ticket,check_ticket,check_status
Related data object/item
A part of: RecordDecomposed into: Related item: Record_seatRecord_idCustomer_idSale_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: TicketDecomposed into: Related item: Ticket_type_nameTicket_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 process
From: buy_ticketTo: N.ARelated: buy_ticket,check_ticket
Related data object/item
A part of: TicketDecomposed 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 process
From: insert_dbTo: N.ARelated: return_ticket,buy_ticket,check_ticket
Related data object/item
A part of: RecordDecomposed into: Related item: Record_seatRecord_idCustomer_idSale_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: SaleDecomposed into: Related item: Sale_timeCinema_idMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: SaleDecomposed into: Related item: Sale_idCinema_idMovie_id
Type Time
Range [00:00-23:59]
Name Cinema_id
Description The cinema unique id
Purpose Identify each cinema
Related/connected From: insert_data
E-ticket System Analysis and Design Specification- 44 -
process To: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: CinemaDecomposed into: Related item: Sale_timeSale_idMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket,view_movie_detail
Related data object/item
A part of: SaleDecomposed into: Related item: Sale_timeCinema_idSale_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket,check_vacancy
Related data object/item
A part of: SaleDecomposed 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 process
From: buy_ticket,return_ticketTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: VacancyDecomposed 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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: MovieDecomposed into: Related item: Movie_nameMovie_directorMovie_castingMovie_durationMovie_categoryMovie_languageMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: MovieDecomposed into: Related item: Movie_idMovie_directorMovie_castingMovie_durationMovie_categoryMovie_languageMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: MovieDecomposed into: Related item: Movie_idMovie_nameMovie_castingMovie_durationMovie_categoryMovie_languageMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: MovieDecomposed into: Related item: Movie_idMovie_nameMovie_directorMovie_durationMovie_categoryMovie_languageMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: MovieDecomposed into: Related item: Movie_idMovie_nameMovie_castingMovie_directorMovie_categoryMovie_languageMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: MovieDecomposed into: Related item: Movie_idMovie_nameMovie_castingMovie_durationMovie_directorMovie_languageMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: MovieDecomposed into: Related item: Movie_idMovie_nameMovie_directorMovie_castingMovie_durationMovie_categoryMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: MovieDecomposed into: Related item: Movie_idMovie_nameMovie_directorMovie_castingMovie_durationMovie_categoryMovie_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: CinemaDecomposed into: Related item: Cinema_nameCinema_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: CinemaDecomposed into: Related item: Cinema_idCinema_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 process
From: insert_dataTo: N.ARelated: buy_ticket,check_ticket,return_ticket
Related data object/item
A part of: CinemaDecomposed into: Related item: Cinema_idCinema_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 process
From: insert_dataTo: N.ARelated: login_process
Related data object/item
A part of: CinemaDecomposed into: Related item: Staff_nameStaff_passwordCinema_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 process
From: insert_dataTo: N.ARelated: login_process
Related data object/item
A part of: CinemaDecomposed into: Related item: Staff_idStaff_passwordCinema_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 process
From: insert_dataTo: N.ARelated: login_process
Related data object/item
A part of: CinemaDecomposed into: Related item: Staff_idStaff_nameCinema_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 process
From: insert_dataTo: N.ARelated: login_process
Related data object/item
A part of: CinemaDecomposed into: Related item: Staff_idStaff_nameStaff_password
Type String , an attribute in table
Range 8 char
E-ticket System Analysis and Design Specification- 58 -
5 Behavioral ModelingFor 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 MapE-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
Customer
E-ticket System Analysis and Design Specification- 62 -
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
BEGIN IF (Customer_password(from user)== Customer_password(in database)) RETURN TRUE ELSE RETURN FALSE ENDIF END
E-ticket System Analysis and Design Specification- 63 -