Analysis and Design Specification

75
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

Transcript of Analysis and Design Specification

Page 1: Analysis and Design Specification

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

Page 2: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 2 -

Notation for Entity Relation Diagram

Notation for Data Flow Diagram

Page 3: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 3 -

Notation for State Transition Diagram

Notation for Structural Chart

Page 4: Analysis and Design Specification

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-

Page 5: Analysis and Design Specification

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.

Page 6: Analysis and Design Specification

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)

Page 7: Analysis and Design Specification

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.

Page 8: Analysis and Design Specification

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.

Page 9: Analysis and Design Specification

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.

Page 10: Analysis and Design Specification

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.

Page 11: Analysis and Design Specification

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

Page 12: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 12 -

3.2 DFD for buy_ticket

3.2.1 Level 1 DFD for buy_ticket

Page 13: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 13 -

3.2.2 Level 2 DFD for buy_ticket

Page 14: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 14 -

3.2.3 Level3 DFD for buy_ticket

Page 15: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 15 -

3.3 DFD for Member_login

3.3.1 Level 1 DFD for Member_login

Page 16: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 16 -

3.3.2 Level 2 DFD for Member_login

Page 17: Analysis and Design Specification

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

Page 18: Analysis and Design Specification

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

Page 19: Analysis and Design Specification

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

Page 20: Analysis and Design Specification

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

Page 21: Analysis and Design Specification

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

Page 22: Analysis and Design Specification

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

Page 23: Analysis and Design Specification

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

Page 24: Analysis and Design Specification

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

Page 25: Analysis and Design Specification

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

Page 26: Analysis and Design Specification

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.

Page 27: Analysis and Design Specification

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

Page 28: Analysis and Design Specification

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.

Page 29: Analysis and Design Specification

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.

Page 30: Analysis and Design Specification

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.

Page 31: Analysis and Design Specification

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.

Page 32: Analysis and Design Specification

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

Page 33: Analysis and Design Specification

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

Page 34: Analysis and Design Specification

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

Page 35: Analysis and Design Specification

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

Page 36: Analysis and Design Specification

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

Page 37: Analysis and Design Specification

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

Page 38: Analysis and Design Specification

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

Page 39: Analysis and Design Specification

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

Page 40: Analysis and Design Specification

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 ]

Page 41: Analysis and Design Specification

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 ]

Page 42: Analysis and Design Specification

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 ]

Page 43: Analysis and Design Specification

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

Page 44: Analysis and Design Specification

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

Page 45: Analysis and Design Specification

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]

Page 46: Analysis and Design Specification

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

Page 47: Analysis and Design Specification

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

Page 48: Analysis and Design Specification

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

Page 49: Analysis and Design Specification

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

Page 50: Analysis and Design Specification

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]

Page 51: Analysis and Design Specification

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 ]

Page 52: Analysis and Design Specification

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

Page 53: Analysis and Design Specification

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

Page 54: Analysis and Design Specification

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

Page 55: Analysis and Design Specification

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

Page 56: Analysis and Design Specification

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

Page 57: Analysis and Design Specification

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

Page 58: Analysis and Design Specification

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

Page 59: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 59 -

State Transition Diagram of login process

Page 60: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 60 -

6 Implementation Modeling 6.1 Structural Chart

Page 61: Analysis and Design Specification

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

Page 62: Analysis and Design Specification

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

Page 63: Analysis and Design Specification

E-ticket System Analysis and Design Specification- 63 -