20
E-ticket System Requirements Specification Page - 1 - E-ticket System Requirements Specification by Lai Chi Wa 03011674 Chung Wang Leong 03011615 Group 3 COMP 2221 Lecturer : Prof. Jiming Liu October 11, 2004

Requirements Specification

Embed Size (px)

Citation preview

Page 1: Requirements Specification

E-ticket System Requirements SpecificationPage - 1 -

E-ticket System

Requirements Specification

by

Lai Chi Wa

03011674

Chung Wang Leong

03011615

Group 3

COMP 2221

Lecturer : Prof. Jiming Liu

October 11, 2004

Page 2: Requirements Specification

E-ticket System Requirements SpecificationPage - 2 -

Software Requirement Specification

TABLE OF CONTENTS

1.0 Introduction

1.1 Goals and Objectives

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

2.0 Usage Scenario

2.1 User Profiles

2.2 Use-case

2.3 Special Usage Considerations

3.0 Functional Requirements

3.1 Customer

3.1.1 Buying ticket

3.1.2 Return ticket(refund/cancel seat)

3.2 Staff

3.2.1 Insert film data

3.2.2 Delete film data

3.2.3 Modify film data

3.2.4 Adding new section to current showing film

4.0 Assumptions and Constraints

4.1 Assumptions

4.2 Constraints

5.0 Data Model and Description

5.1Data Description

5.11Data Objects and Dictionary

5.12 Relationships

Appendix

-3-

-3-

-3-

-3-

-4-

-4-

-4-

-6-

-6-

-6-

-6-

-7-

-7-

-8-

-8-

-9-

-9-

-10-

-10-

-10-

-11-

-11-

-11-

-12-

-12-

-12-

-14-

Page 3: Requirements Specification

E-ticket System Requirements SpecificationPage - 3 -

1.1 Goals and Objectives

The main purpose of our online ticket booking system is to provide another way for

the customer to buy cinema ticket. It is an automatic system. After inserting the data

to database, staff need not to due with the order receive through the system. In fact,

there is similar system on the internet, but there is no refund method found in the

existing system. The goals of our system are:

1 To provide a anytime anyplace service for the customer

2 To provide refund which is not available in the existing system

3 To minimize the number of staff at the ticket box

4 To promote the film on the internet

5 To increase the profit

6 To obtain statistic information from the booking record.

1.2 System Statement of Scope

1.2.1 General Requirements(functional)

1. The web page (e.g. The time table 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.

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.

Page 4: Requirements Specification

E-ticket System Requirements SpecificationPage - 4 -

1.2.2 Interface Enhancements

Our web-based system needs about 30 interfaces to handle all the functions.

Staff

One of the main purpose of our system is to reduce the number of staff in

the ticket box. So, most of the job is done by the system automatically. Staff

only need to insert new film data and due with the refund part.

Customer

To make the system more user-friendly, customer need not to enter lots of

data. An order will be commit step by step with guideline (request about 7

webpage for an order).

1.3 System Context

Our online Ticket Booking System (TBS) is a web-based system. The customers can

buy ticket online and cancel the seat at a suitable time (2 days before the show to

1hour before the show). To enhance the refund function, all the customers have to

registration become a member before buying ticket.

Staff can use the system to insert and delete data (e.g. film description , time table)

which will update the webpage(webpage are dynamic page, changing according to the

data in database). Also, staff can check the statistic information from the system.

1.4 Major Constraints

Data concurrence

Since two or more customers may request for the same seat at the same time. So, the

system needs to remove the chance for two customer get the same seat.

Transaction

We cannot have a real bank account for the transaction. We can just simulate the

process.

Page 5: Requirements Specification

E-ticket System Requirements SpecificationPage - 5 -

Time

Lots of the customer will buy tickets in ticket box and the customer use our web-

based system still need to take the ticket in ticket box. So, the online ticket booking

service and refund service will be stopped 1 hour before the show time. To do so, we

can reduce the chance of 2 people book the same seat, also reduce the time for buying

a ticket.

Compatibility

The new system need to be compatible with the existing ticket selling

system(original) in the ticket box, because the web-base system and the original

system will run on the same time and use the same database.

Page 6: Requirements Specification

E-ticket System Requirements SpecificationPage - 6 -

2.0 Usage Scenario

2.1 User Profiles

There will be three levels of users:

1. Full Control(IT Support)

2. Read/Write/Modify Own(Customer/Staff)

3. Read Only(General Public)

2.2 Use-case

The Read/Write/Modify own group are the main user of this software.

Full Control Group(IT Support)

IT Support is a team which manipulates and maintains the system. Since further

improvement and testing of the system is needed, the team will be inside the full

control group.

Read/Write/Modify Own Group

Customer

1. Create member account

2. Modify its own data(e.g. address)

3. Ticket booking

4. Cancel booking

Staff

1. Insert data to database(film name, description)

2. Delete data from database

3. Modify data in the database.(adding new movie section, changing

movie description)

4. Obtain statistic information

Read Only Group(General Public)

All the people can browse the webpage but cannot make any change to the system.

2.3 Special Usage Considerations

Customers need a credit card to complete a transaction.

Page 7: Requirements Specification

E-ticket System Requirements SpecificationPage - 7 -

3.0 Functional Requirements

Since the staff and the customer are the main target group of our software, we will

only concern about some important functions for the staff and the customer.

3.1 Customer

The following diagram is the main page of the system, which most of the customer

will start using the system from this page. In this page, the customer can check the

film detail by clicking on each film(e.g. film description, seat booking situation). The

customer can start the buy ticket process after checking the film detail. Also, the

customer can register as a member of the system. After registration, customer can

login to its own account to modify its own data and return ticket if they have order a

ticket before.

Fig.1 The main page

Page 8: Requirements Specification

E-ticket System Requirements SpecificationPage - 8 -

Fig.2 The overall state diagram for customer’s action

3.1.1 Buying ticket

The buying ticket process is the most important function in our system. We will

describe this process in detail.

1. Choose the film ,time and venue

2. Check the status of select venue at certain time.(by system)

(Since the above function is open to public, customer need to login before they can

choose a seat)

3. Login to the system

4. Choosing the seat position.

5. Enter data like ticket type and payment method (money in the account<from

refund> or credit card), if the customer pay by credit card, credit card number

need to be insert too.

6. Validation the data entered by the customer.(e.g. credit card number) (by system)

7. Ask the user to confirm the transaction. (by system)

8. Show the transaction number to the customer. (by system)

3.1.2 Return ticket(refund/cancel seat)

This is one important feature of our system. By examine the existing system on the

internet, we found that there is no such function available at this moment, so we try to

include it in our system. To protect the benefit the cinema, we will not give the money

back to the customer, but insert a record to database, write down how much the

customer is remain in the system. So, the customer can use the remaining money. To

do so, both the customer and the cinema can satisfy the win condition. Also, customer

will come to the website more frequently, since they have some money remain in the

system. The steps of performing return ticket process:

1. Customer login into the system from the main page.

2. Customer information will be shown in the user main page (including the

information about booked seat).

3. Customer cancel the seat by clicking some button

Page 9: Requirements Specification

E-ticket System Requirements SpecificationPage - 9 -

4. System check the time weather it is possible for the customer to cancel the seat(by

system)

5. If the seat is cancelled successfully, increase the cancelled amount of money to

customer’s record. (by system)

6. Return to the user main page.

3.2 Staff

The system for the staff part is not shown in the main page. Before the staff to

perform any operation, he/she must login to the system first. Once the staff login to

the system, the statistic information will be shown. And the staff can choose function

by clicking the button on left hand side. The functions are:

1. Insert film data.

2. Delete film data.

3. Modify film data.

4. Add new section to current showing film.

The function ‘Obtain the statistic information’ just like reading data from database,

we will not describe here.

3.2.1 Insert film data

Since the webpage is dynamic generated according to the data in database, the data in

the database will be updated frequently. For this reason, we provide a easy way for the

staff to enter data through the system(but not input data to the database directly).

Because the length of each film is different, we provide two modes for the staff to

insert time table. The process of inserting film data:

1. Login to the system

2. Insert movie data(e.g. movie name, director)

3. Insert cinema data(by choosing from the list of cinema)

4. Choose mode to insert time table. (Automatic mode or Manual mode)

Automatic mode

In this mode, the time table will generate automatically according to the length of the

movie. The system will show the time table and then ask the staff to confirm. After

confirm, the data will insert to the database.

Manual mode

Page 10: Requirements Specification

E-ticket System Requirements SpecificationPage - 10 -

In this mode, staff need to insert the begin time of movie one by one. Using this

mode, the cinema can make special arrangement.

3.2.2 Delete film data

To minimize the size of the database and improve the speed of searching, staff should

delete the film data that is outdated. The steps are listed below:

1. Login to the system.

2. Choose the delete film data function.

3. Choose the movie that we want to remove from the system.

4. System check whether it is possible to be deleted (The film is outdated or not?).

5. Popup a confirm box if the film is possible to be deleted.

6. If staff click yes, the related data of the film will be deleted.

3.2.3 Modify film data

Since the staff may make mistakes, we provide a function to modify the movie

data(but not the time table). Therefore, staff can easily changing the movie data

without knowledge about the database. The steps are listed below:

1. Login to the system.

2. Choose the modify film data function.

3. Choose the movie that we want to modify.

4. Information of the selected movie are shown and staff can modify it directly

5. Choose save after the modification is finished.

3.2.4 Adding new section to current showing film

If a film is popular, the cinema may want to add new section, so that they can earn

more money. As a result, we provide this function, let the staff to insert new time

section for a certain film easily. The steps are listed below:

1. Login to the system.

2. Choose the adding new section to the current showing film function.

3. Choose the movie that we want to add new section.

4. Move to the page that we descript in the 3.2.1 to insert record to time table.

5. Choose save after adding.

Page 11: Requirements Specification

E-ticket System Requirements SpecificationPage - 11 -

4.0 Assumptions and Constraints

4.1 Assumptions

Ticket type

Every film has 3 ticket types(adult /student /elderly or children). That means there are

3 different prices for each film. Also, this assumption is work in the whole year, even

in Tuesday and public holiday.

Web server

We need to have a real web server to run the system. This server must able to support

dynamic webpage(E.g. php). And we must associate enough bandwidth for this

server, so multi-user (customer) can use the system at the same time.

DBMS compatibility

We need to have a real DBMS to run the system. Since multi-user will use the system

at the same time, the DBMS must able to due with the data concurrency problem.

Hardware compatibility

Since we cannot use a machine to read the card information and print the ticket to the

customer, we just assume the cinema have such device. So, staff in the ticket box need

not to handle the booking through the web.

4.2 Constraints

Transaction

We cannot do a real transaction, so we can only simulate the process of transaction

and save the necessary data in the database

System requirement and performance

Since our system is a web-based system, almost all the popular perform can use the

system if a web browser is included. We will sure use some java script and java applet

in the system, so the browser must enable these functions to use the system normally.

In addition, to improve the security, a browse support SSL is needed. Also, users’

computer must able to connect to internet.

Page 12: Requirements Specification

E-ticket System Requirements SpecificationPage - 12 -

5.0 Data Model and Description

5.1 Data Description

5.1.1 Data Objects and Dictionary

Cinema information

Cinema_id:

The key for each cinema.

Cinema_name:

The name of the cinema.

Cinema_hall_no:

The hall number of that cinema.

Customer information

Customer_id:

The key for each customer.

Customer_name:

The customer’s name.

Customer_tel:

The customer’s telephone number.

Customer_address:

The customer’s address.

Customer_email:

The customer’s email address.

Customer_password:

The customer’s password for login the system.

Customer_amount:

The amount of money that the customer have refund and will be use in next time.

Customer_creditcard:

The customer’s credit card number.

Movie information

Movie_id:

The key for each movie.

Movie_name:

The name of the movie.

Movie_director:

The director of the movie.

Page 13: Requirements Specification

E-ticket System Requirements SpecificationPage - 13 -

Movie_casting:

The actor of the movie.

Movie_duration:

The length of the movie.

Movie_cateory:

The cateory of movie like I,II,III.

Movie_language:

The language of the movie.

Movie_synopsis:

The main description of the movie.

Record Information:

Record_id:

The key for each record.

Record_seat:

The seats which is sold in this record.

Sale Information

Sale_id:

The key for each record.

Sale_time:

The time for this sale.

Sale_seat_sold

The seat which is sold.

Sale_seat_available:

The seat which is available.

Staff Information

Staff_id:

The key for each record.

Staff_name:

The name of the staff

Staff_password:

The password of the staff.

Ticket Information

Ticket_type_id:

The key for each record.

Page 14: Requirements Specification

E-ticket System Requirements SpecificationPage - 14 -

Ticket_type_name:

The name of each ticket type.

Ticket_price:

The price for each ticket type.

5.1.2 Relationships

Page 15: Requirements Specification

E-ticket System Requirements SpecificationPage - 15 -

Appendix

Shakeholder and Win conditions

Customer Boss I T support Staff

Ad-hoc respond

Convience

Don’t need to

queue

Easy to check

available seat

Return ticket

Increase

population

Decrease number

of staff

Increase the

income

Better promotion

Backup easily Decrease workload

Ease to learn the

system