Online Movie Ticket System1
Online Movie Ticket System1
TABLE OF CONTENTS
ABSTRACT
The online movie ticket system provides a website for a cinema hall where any internet user can
access it. User is required to login to the system and needs a Credit / Debit card for booking the
tickets. Watching movies with family and friends in theatres is one of the best medium of
entertainment after having a hectic schedule. But all this excitement vanishes after standing in
hours in long queues to get tickets booked.
The customer will need to enter the information related to film after which the system will
provide complete information regarding currently running movies with details of show timings
and available seats. The user can order his favorite snacks in app which will be served to them in
the cinema hall. If seats are available, the customer can change the position of the seats while
they will get an option to cancel of tickets .If cancellation request is before three hours of their
movie timing then refund facility is also provided to that user.
Our online movie ticket system is one of the best opportunities for those who cannot afford
enough time to get their tickets reserved standing in long queue.
In this system, the staff of the cinema hall won’t have to do anything for the ticket booking as the
process will be done by the customer through the app which will reduce the amount of staff
required in the booking counter.
3
PROBLEM STATEMENT
The main objective of “MOVIE BASKET” is to provide a convenient way to the users to book
the tickets for cinema hall online, through which they can book tickets anytime and anywhere.
Our app will also give the facility to let the user select any timing slot and they have the
authority to choose any seat according to their convenience . This app is basically made for
providing customer an anytime and anywhere service for booking the seat in the cinema hall and
to gather information about the movies online. The user can easily be able to know about the
movies released and then make the choices.
User can wish to see the trailer of movie released and did not need to browse to other websites.
Features:
Register – User have to create their account in our app .So that they get the
notificationabout the latest movies released.
Login – Both user and admin can login in app with their respective credentials .On
Success Login, home page will be open.
Change password – User can change his/her password by providing appropriate details.
Book Ticket - User can book their favourite movie ticket.
Order Snacks – Apart from buying movie ticket, User can also buy snacks at the time of
ticket booking.
Payment – User should pay the money after booking ticket and If user ordered snacks
then its payment is also done together with ticket payment.
Send Ticket- After successful payment, user get ticket together with QR Code, seat
number and other essential information by email and sms.
Cancel Ticket - In some situation, if user want to cancel the ticket then user can do this if
and only if certain terms and conditions (such as cancellation should be before 3 hours of
movie time and some other information) are fulfilled.
4
This app adopts a comprehensive approach to minimize the manual work and schedule
resources, time in a cogent manner.
E-ticket is a brand new ticketing method that allows us to print tickets at home using
your local printer connected to the computer. Internet customers will be presented
with a custom ordering program that allows them to book tickets from a list of movies in the
website.
Before they can order they have to provide their name and the mailing
address. Each ticket will be displayed with its movie name, show timings, price and
the seat numbers. The customers can book any number of tickets at a
time.
T h e system computes the total price. The User has to enter the valid credit card
information to confirm their booking.
After completing all the necessary criteria, the original information is added to
the database and the ticket i s c o n f i r m e d f o r p r i n t i n g .
INCREMENTAL MODEL
Incremental Model is a process of software development where requirements are broken down
into multiple standalone modules of software development cycle. Incremental development is
done in steps from analysis design, implementation, testing/verification, maintenance.
Each iteration passes through the requirements, design, coding and testing phases. And each
subsequent release of the system adds function to the previous release until all designed
functionality has been implemented.
6
PROJECT SCHEDULING
Time-Line Chart
Work
January February March April
Tasks
W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3 W4 W1 W2 W3 W4
Problem
Statement
Process
Model
SRS
ERD
Data
Dictionary
Context
Level
Diagram
DFD
(Level-1)
DFD
(Level-2)
8
Use Case
Diagram
Use Case
Description
Function
Point
Metrics
COCOMO
Model
Risk
Analysis
Testing
9
PROJECT TABLE
Problem G
Jan,w1 Jan,w1 Jan,w2 Jan,w2 2 pw
Statement a
h
Process model Jan,w2 Jan,w3 Jan,w3 Jan,w3 2 p-w
R
Project S
Jan,w4 Jan,w4 Jan,w4 Jan,w4 2 p-w
Scheduling G
Software
Requirement Jan,w3 Jan,w3 Feb,w1 Feb,w1 2 p-w
specification
Entity
Relationship Feb,w2 Feb,w2 Feb,w2 Feb,w2 2 p-w
Diagram
DataDictionary Feb,w2 Feb,w2 Feb, w3 Feb,w3 2 p-w
ContextLevel
Feb,w3 Feb,w4 Feb,w4 Feb,w4 2 p-w
Diagram
Data Flow
Diagram (level Feb, w4 March,w1 March,w1 March,w2 2 p-w
1)
Data Flow
March
Diagram March,w3 March,w4 April,w1 2 p-w
w2
(Level 2)
User March,
March,w4 March,w4 March,w4 2 p-w
caseDescription w4
Functionalpoint
April,w1 April,w1 April,w1 April,w1 2 p-w
Metrics
10
Effort estimation
using COCOMO April,w2 April,w2 April,w2 April,w2 2 p-w
model
1. Introduction
This document gives detailed functional and non-functional requirements for the Online Movie
Ticket Booking System. This app is basically made for providing customer an anytime and
anywhere service for booking the seat in the cinema hall and to gather information about the
movies online.
The main purpose of our online ticket booking system is to provide another way for the
user 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.
This system is basically aimed to provide the user the complete information of the movie,
according to which the user can book the tickets and along with can order snacks and the
refund facility provides more flexibility to the system.
The goals of our system are:
1. To provide an anytime anyplace service for the user.
2. To minimize the number of staff at the ticket box.
3. To promote the film on the internet.
4. To increase the profit to obtain statistic information from the booking record.
1.3 OVERVIEW
This app adopts a comprehensive approach to minimize the manual work and schedule
resources, time in a cogent manner. The software controls redundancy so that no two users can
access the same seat at the same time and transactions should be independent.
2, PROJECT DESCRIPTION
Hardware Requirements –
Intel Pentium and Celeron class processor
Processor Speed – 1.2 GHz or above
RAM - 512 MB
HDD - 40 GB
Monitor-14”SVGA
13
Printer
Mouse- Normal
Keyboard- Normal
Software Requirements –
o Front-end Tool: - Microsoft ASP.NET 2.0
User friendly
Low Cost Solution
GUI feature
Better designing aspects
3 Book Ticket
Input – Movie name , date , time , seat type , No. of tickets
Processing – credentials of movie will be checked that desired seat is available or not .
Output – movie will be booked
4 Order Snacks
Input – Food item ,No. of Item
Processing – snack will be check that it is available or not
Output – snack will be ordered
5 Payment
Input – Card No. , CVV No.
Processing – details are verified
Output – payment done successfully
6 Send Notification
Input – none
Processing – sends conformational message
7 Cancel Ticket
Input – user Id , Password , Ticket Id
Processing – cancellation process is start by checking that it fulfill cancellation constraint
Output – Ticket will be cancelled with/without refund .
Data should not become corrupted incase of system crash or power failure.
User should carry their mobile phones with registered mobile number.
15
Admin manages the system and keeps it up-to-date. Admin also looks over user
requirements.
User can also give feedback of the movie watched, in the form of ratings.
Central server of the system must be able to handle all the incoming requests
simultaneously.
Back up of the databases in case of hardware failure, disaster, natural calamities.
3. SPECIFIC REQUIREMENTS.
If the user does not exist, then the user must register in order to access the
system functionalities. ID and password will be stored in the database for
future login purpose.
User login to book movie tickets by selecting movie name, date, time,
venue and number of tickets required.
1. Touch screen/Monitor
2. Keypad
3. Continuous battery backup
New users can see the movie details but cannot book it until they are registered
in the system.
Registered users should be able to login to the system through the first page of
the Application.
Registered users can change the password after logging into the system.
No reservation for movie ticket, before 2 days can be done.
See his/her current reservations on different movies along with the details.
Able to choose the seats which are available for a certain class like silver, gold,
platinum.
Able to order snacks at the time of movie booking.
Along with the snacks, user can apply coupons in order to avail discount.
Give details about the credit card for the payment like account number, CVV
number.
A message and mail should be sent to the concerned person about the
confirmation of the ticket to the specified mobile number.
The login Id and password should be sent to the mentioned email address if a
new account is created.
The system should automatically show the fare for the corresponding movies
and amount of money needs to be paid for selected seats.
User can cancel the movie ticket anytime but with a limitation, if he/she cancels
before 3 hours of show timing than 50% money is refunded back into his/her
account otherwise only ticket will be cancelled without any refund.
3.3.1 SECURITY:-
18
The Online Movie Ticket System is fully accessible to only authentic user. It
requires username and password to become member of the app.
3.3.2. RELIABILITY:-
The application is highly reliable and it generates all the updated information in
correct order.
3.3.3. AVAILABILITY:-
Any information should be quickly available from any computer to the authorized
user.
3.3.4. MAINTAINABILITY:-
3.3.5. PORTABILITY:-
Database Design-
In our database design, we give names to data flows, processes and data stores. Although
the names are descriptive of data, they do not give details. Our interest is to build some
details of the contents of data flow, processes and data store. A data dictionary is a
structured repository of data about data. It is a set of rigorous definitions of all DFD data
elements and structures.
19
Naming Conventions: All the documents will be named using the standard naming
conventions.
Register Module:
Login Module:
Payment Module:
Bo
oking Confirmation Module
24
Documentation.
Improved analyst/user communication.
Maintain control information.
Useful to locate errors and omissions.
Important step in building a database.
1 Name {legal_characters}*
4. Phone number digit +digit +digit +digit +digit +digit +digit +digit +digit +digit
7. SnackItem {legal_character}*
8. Seat_type {legal_characters}*
3.7 USECASES
3.7.1 UseCase Diagram
REGISTER
LOGIN
BOOK MOVIE
TICKET
ORDER
ADMIN SNACK USER
PAYMENT
CANCEL
TICKET
Register
Purpose: It allows users to get registered i.e. to create a new account in the system.
27
Login
Purpose: It allows the user to use the online movie ticket booking system –“Movie
Basket “, with the help of an already existing unique id.
Actors involved: Admin, User
Precondition: Users must have an already existing account in the system. In case of
no prior account, user must first register themselves and then log into the system.
Post condition:
1. On successful login, actor gets logged into the system.
2. If the actor has a role of an admin then he/she would have access to accept user’s
request and make required updation in the database register, login, change
password, payment and cancel ticket.
28
3. If the actor has a role of user then he/she would have access to register, login,
change password, book movie ticket, order snack, payment and cancel ticket.
Basic Flow: 1. User or admin enters his/her id and password.
2. Then their id and password will be checked for authentication.
Alternate Flow: If the user enters an invalid id and password then the error message
will be displayed asking the user to re-enter the details or cancel the login process.
If the user selects the latter option, the use case ends.
Extends: None
Includes: None
Order Snack
Purpose: It allows the user to order snacks at the time of movie booking.
29
Payment
Purpose: Allows the user to pay the movie ticket bill and snacks bill.
Actors involved: Admin, User
Precondition: User has booked movie ticket and ordered some snacks.
Post condition: After the bill is paid online then the user gets movie ticket and snacks
payment confirmation on his/her registered mobile number as well as mail is sent on
his/her registered email id.
Basic Flow: User pays the total bill generated through credit card or debit card.
Alternate Flow: If the user enters incorrect CVV no. or credit/debit card no. then
error message is displayed to the user to re-enter all the details.
Includes: None
Excludes: None
Cancel Ticket
Post condition: If the user cancels the movie ticket before 3 hours of the movie time
then only 50% refund is being transacted into user’s account and the ticket is cancelled
otherwise only ticket is cancelled without any refund.
Basic Flow: User raises the request for the movie ticket cancellation by providing
details such as date, time and ticket id. Admin checks the details and confirms the
request.
Alternate Flow: If the user does not cancel his/her ticket before 3 hours of the movie
time then the ticket will not get cancel.
Excludes: None
Includes: None
Project Metrics are used to control and coordinate software engineering process and to improve
quality of the software to be produced. Project specific metrics provide indication of productivity
and insight into the technical activities. Project metrics are used by a project manager and a
software team to adapt project work flow and technical activities.
Function Oriented Metrics: Function Oriented Metrics use function point as normalization
value. Function points are derived using an empirical relationship based on countable (direct)
measure of software`s information domain and assessments of software complexity.
Factor Value
1. Does the system require reliable backup and recovery? 5
2. Are specialized data communications required to transfer information to or from the
application? 2
3. Are there distributed processing functions? 5
4. Is performance critical? 2
5. Will the system run in an existing, heavily utilized operational environment? 4
6. Does the system require online data entry? 5
7. Does the online data entry require the input transaction to be built over multiple screens or
operations? 3
8. Are the ILFs updated online? 5
9. Are the inputs, outputs, files, or inquiries complex? 1
10. Is the internal processing complex? 0
11. Is the code designed to be reusable? 5
12. Are conversion and installation included in the design? 3
13. Is the system designed for multiple installations in different organizations? 0
14. Is the application designed to facilitate change and ease of use by the user? 5
∑(fi) 45
32
Application composition model. It was used during the early stages of software engineering,
when prototyping of user interfaces, consideration of software and system interaction,
assessment of performance, and evaluation of technology maturity are paramount.
Early design stage model. Used once requirements have been stabilized and basic software
architecture has been established.
Post-architecture-stage model. Used during the construction of the software.
COCOMO II model requires sizing information for which three different sizing options are
available as part of the model hierarchy: object points, lines of source code and function points.
Like function points, the object point is an indirect software measure that is computed using counts
of the number of
33
2. Reports
Each object instance (e.g., a screen or report) is classified into one of three complexity levels (i.e.,
simple, medium, or difficult) using criteria suggested by Boehm. In essence, complexity is a
function of the number and source of the client and server data that are required to generate the
screen or report and the number of views or sections presented as part of the screen or report. The
object point count then determined by multiplying the original number of object instances by the
weighting factor in the figure and summing to obtain a total object point count. When general
software reuse is to be applied, the percent of reuse (%reuse) is estimated and the object point is
adjusted:
To derive an estimate of effort based on the computed NOP value, a “productivity rate” must be
derived.
PROD= NOP\person-month
Where PROD = productivity, After productivity rate determination, an estimate of project effort is
computes using,
Estimate Effort=NOP/PROD
Screens :- Total = 22
Reports :- 1.Total Visitors on the site
2. Total Tickets Booked
3. Total Snacks Ordered
4. Total Payment & Profit
5. Total Refund made
6. Total Cancelled Tickets
3GL Components :- 0
RISK ANALYSIS
Uncertainty - The risk may or may not happen; that is, there are no 100 percent probable
risks.
Loss - If the risk becomes a reality, unwanted consequences or losses will occur.
When risks are analyzed, it is important to quantify the level of uncertainty and the degree of
loss associated with each risk.
Performance Risk – The degree of uncertainty that the product will meet its
requirements and be fit for the intendeduse.
Support Risk – The degree of uncertainty that the resultant software will be easy to
correct, adapt, and enhance.
Schedule Risk – The degree of uncertainty that the project schedule will be
maintained and that the product will be delivered on time.
Cost Risk – The degree of uncertainty that the product budget will be maintained.
2. Are end users enthusiastically committed to the project and the system product
to be built? YES
3. Are requirements fully understood by the software engineering team and its
customers? YES
4. Have customers been involved fully in the definition of requirements? YES
5. Do end users have realistic expectations? YES
6. Is the project scope stable? YES
7. Does the software engineering team have the right mix of skills? YES
8. Are project requirements stable? YES
9. Does the project team have experience with the technology to be implemented?
YES
10. Is the number of people on the project team adequate to do the job? YES
11. Do all customer/user constituencies agree on the importance of the project and
on the requirements for the system/product to be built? YES
RISK TABLE
ER DIAGRAM
39
DATA DESIGN
A Data Design is a collection of names, definitions, and attributes about data elements that
are being used or captured in this software project. It describes the meanings and purposes of
data elements within the context of this project, and provides guidance on interpretation,
accepted meanings and representation so that user and analyst will have a common
understanding of inputs, outputs and other project components.
1. Name :Register
2. Name :Admin
special character
3. Name : Login
4. Name : Movie
Field Field
S No. Data Type Constraints Description Example
Name Length
Movie Primary
1. Char 30 Name of movie Simba , Kalank
name key, not null
2. Date Date 10 Not null yyyy-mm-dd 2019-04-17
Specifies movie
3. Time Varchar 10 Not null 12 pm
screening time
Different types of Silver, gold,
3. Seat Type Char 10 Not null
seats platinum
Number
4. Integer 20 Not null Specifies quantity 2
of Tickets
5. Name : Snacks
6. Name : Payment
S No. Field Data Type Field Constraints Description Example
Name Length
1 Pid Varchar 20 Primary key, not null Unique id 1234
for
particular
payment
2 pamt Integer 10 Not null Total 500
amount
3. P_date Date 10 yyyy-mm-dd Date of 21/3/2019
payment
4. P_cid Varchar 20 Not null Payment 233
for a
specific
customer
8. Name: Discount
S No. Field Name Data Type Field Length Constraints Description Example
1. Price Integer 10 Not null amount 50
2. CouponId varchar 10 Primary , not Coupon id 3454
null for a specific
42
discount
3. M_name varchar 15 Not null Movie name Abc
TESTING
Pseudo code
While(Login_Is_Success)
2
{
cin>>date;
cin>>Time; 3
cin>>Seat_Type;
cin>>No_Of_Ticket;
If( ! HouseFull(movie) )
4
{ Book_Ticket( Seat_Type , No_Of_Ticket ); 5
updateTickets(_name , date , Time , Seat_Type , No_Of_Ticket);
Cin>>choice;
While(choice ==”yes”) 6
Cin>>fooditem; 7
Cout<<”Enter quantity”;
43
Cin>>num;
8 9
Order_Snack(fooditem , num);
Update_foodstock(fooditem , num); 10
Check =”No” ;
Else
Go for payment 12
}
Else
13
Cout<<” Select any other movie”;
14
//end of program
44
Test cases
1. 1-2-14
2. 1-2-3-4-13-14
3. 1-2-3-4-5-6-12-14
4. 1-2-3-4-5-6-7-8-11-12-14
5. 1-2-3-4-5-6-7-8-9-11-12-14
6. 1-2-3-4-5-6-7-8-9-10-11-12-14
REFERENCES
ANNEXURES
Number of Inputs: 0
Number of outputs: 1
Files: 0
Enquiries: 0
External interfaces: 0
47
Number of Inputs: 2
Number of outputs: 1
Files: 1
Enquiries: 0
External interfaces: 0
48
Number of Inputs: 2
Number of outputs: 1
Files: 1
Enquiries: 0
External interfaces: 0
49
Number of Inputs: 5
Number of outputs: 1
Files: 1
Enquiries: 0
External interfaces: 0
50
Number of Inputs: 0
Number of outputs: 1
Files: 1
Enquiries: 0
External interfaces: 0
51
Number of Inputs: 4
Number of outputs: 1
Files: 1
Enquiries: 0
External interfaces: 0
52
Number of Inputs: 5
Number of outputs: 1
Files: 1
Enquiries: 0
External interfaces: 0
53
Number of Inputs: 6
Number of outputs: 1
Files: 1
Enquiries: 0
External interfaces: 0
54
Number of Inputs: 0
Number of outputs: 1
Files: 1
Enquiries: 0
External interfaces: 0
55
Number of Inputs: 4
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 0
56
Number of Inputs: 7
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 0
57
Number of Inputs: 1
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 0
58
Number of Inputs: 1
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 0
59
Number of Inputs: 4
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 0
60
Number of Inputs: 0
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 0
61
Number of Inputs: 3
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 1
62
Number of Inputs: 6
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 1
63
Number of Inputs: 6
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 1
64
Number of Inputs: 0
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 0
65
Number of Inputs: 2
Number of Outputs: 1
Files: 0
Enquiries: 0
External Interfaces: 0
66
Number of Inputs: 4
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 0
67
Number of Inputs: 0
Number of Outputs: 1
Files: 1
Enquiries: 0
External Interfaces: 1