Online Movie Ticket System
Online Movie Ticket System
Online Movie Ticket System
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.
1
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 t icketing method that allows us to print t ickets 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
we bs i t e .
B e fo r e t h e y c a n o r d e r t h e y h a v e t o p r o v i d e t h e i r n a m e a n d t h e
ma i l i n g address. Each t icket will be displayed with its movie name, show t
imings, price and t h e s e a t n u m b e r s . T h e c u s t o m e r s c a n b o o k a n y n u
mb e r o f t ic k e t s a t a t ime .
T he 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 t icket is c o nf i r me d f o r pr int i ng .
T h e t i c k e t w i l l b e p r o v i d e d w i t h t h e b a r c o d e f o r t h e security
purposes. The staffs check the barcode on the ticket before the entry.
2
CHAPTER 2
PROCESS 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.
3
We have used Incremental Model because :-
It is flexible and less expensive to change requirements and scope.
Development stages changes can be done.
This model is less costly compared to others.
A customer can respond to each building.
Errors are easy to be identified.
The software will be generated quickly during the software life cycle.
4
CHAPTER 3
PROJECT SCHEDULING
Time-Line Chart
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
5
(Level-2)
Use Case
Diagram
Use Case
Description
Function
Point
Metrics
COCOMO
Model
Risk
Analysis
Testing
6
CHAPTER 4
SYSTEM REQUIREMENTS
SPECIFICATION
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
1. Product Perspective
1. 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.
2. 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.
2. System Interfaces
This system does have one interface with online payment gateway of the existing
systems.
1. System Specifications
Hardware Requirements –
Intel Pentium and Celeron class processor
Processor Speed – 1.2 GHz or above
RAM - 512 MB
HDD - 40 GB
8
Monitor-14”SVGA
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
2. Product Functions
1 Register
Input – Name , email-id , contact No. , Password
Processing – User will be registered
Output – User’s account has been created
successfully
2 Login
Input – Id Name ,Password
9
Processing – credentials will be checked to verify the user or admin
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 .
3. General Constraints
User interface is only in English. No other language option is available.
Our system is confined to only one particular cinema hall of a particular Delhi NCR.
User should carry their mobile phones with registered mobile number.
10
4. User Characteristics
User uses the system to fetch information about available movies, their price, duration,
date and timings and majorly to book tickets.
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.
1. USER INTERFACE
It is a login window that requires user to enter correct ID and password, so
that after authentication of data stored in the user database is approved as a
valid user so that user enter into our application.
11
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
4. DATABASE INTERFACE
All databases for the software will be configured. These databases include
movie’s details database, users’ details database and admin database.
The users’ details database includes user ID, password and previous and
current booking details.
The events’ details database includes information about all listed events,
their organizers, dates, timings, venue, price per ticket and available seats.
The organizers’ details database includes organizers’ ID, password and
previous and current listed events’ details.
12
2. FUNCTIONAL REQUIREMENTS
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. PERFORMANCE REQUREMENTS
1. SECURITY:-
13
The Online Movie Ticket System is fully accessible to only authentic user. It
requires username and password to become member of the app.
2. RELIABILITY:-
The application is highly reliable and it generates all the updated information in
correct order.
3. AVAILABILITY:-
Any information should be quickly available from any computer to the authorized
user.
4. MAINTAINABILITY:-
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.
14
3.4.1 STANDARD COMPLIANCE
Report format: All the reports produced for this project are in compliance with the
standard templates provided in the class by the advisor.
Naming Conventions: All the documents will be named using the standard naming
conventions.
15
CHAPTER 5
1. CONTEXT LEVEL DIAGRAM
16
CHAPTER 6
DFD Level 1 Diagram
17
CHAPTER 7
Register Module:
18
Login
Module:
19
Order Snack Module:
Payment Module:
20
Booking Confirmation Module
21
CHAPTER 8
8 DATA DICTIONARY
Why DD :-
Manage details in large system.
Documentation.
Improved analyst/user communication.
Maintain control information.
Useful to locate errors and omissions.
Important step in building a database.
4. Phone number digit +digit +digit +digit +digit +digit +digit +digit +digit +digit
7. SnackItem {legal_character}*
8. Seat_type {legal_characters}*
23
CHAPTER 9
USECASE DIAGRAM
REGISTER
LOGIN
BOOK MOVIE
TICKET
ORDER SNACK
ADMIN USER
PAYMENT
CANCEL
TICKET
24
CHAPTER 10
USECASE DESCRIPTION
Register
Purpose: It allows users to get registered i.e. to create a new account in the system.
Actors involved: User
Precondition: none
Post condition: User successfully gets registered and the account has been created.
Basic Flow:
1. System requests the user to login or register.
2. User clicks on register.
3. User enters his/her name, password, email id &phone number.
4. The system validates all the details entered by the user, if correct then it creates a
new account of the user.
Alternate Flow: If in the basic flow, the user does not enter any mandatory details or
enters any invalid information, the system displays an error message asking the user to re-
enter the information. User can either return to Home page or cancel the registering
process altogether.
Includes: None
Extends: None
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.
25
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.
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
26
Order Snack
Purpose: It allows the user to order snacks at the time of movie booking.
Actors involved: User
Precondition: User has to first book movie ticket.
Post condition: Snacks has been ordered and user can get it at the time of movie
screening in the cinema hall.
Basic Flow: User selects the type of snacks. If there is any coupons/offers user can
apply it on the total amount and then can make the payment.
Alternate Flow: If the ordered snack is out of stock then error message is displayed to
the user and user can select other item.
Excludes: None
Includes: None
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
27
Cancel Ticket
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
28
CHAPTER 11
PROJECT METRICS
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
30
CHAPTER 12
EFFORT ESTIMATION USING COCOMO MODEL
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
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:
31
Where, NOP = new object points
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
32
NOP= (object points)*[(100-%reuse)/100]
=32[(100-0)/100]
=34
33
CHAPTER 13
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.
34
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
35
CHAPTER 14
ER DIAGRAM
36
CHAPTER 15
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
4. Phone No. Integer 10 Not Null, unique Must be 10 digits long 9812467223
2. Name :Admin
37
least a number or
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
38
S No. Field Name Data Field Constraints Description Example
Type Length
1. Food Item Char 10 Not null Specifies type of food Popcorn
2. Number of Item Integer 10 Not null Specifies its quantity 2
6. Name : Payment
S No. Field Data Type Field Constraints Description Example
Name Length
1 Pid Varchar 20 Primary key, not null Unique 1234
id
for
particula
r
payment
2 pamt Integer 10 Not null Total 500
amount
3. P_date Date 10 yyyy-mm-dd Date 21/3/2019
of
payment
4. P_cid Varchar 20 Not null Payment 233
for
a
specific
S No. Field Name Data Type Field Length Constraints Description Example
1. Userid Varchar 10 Primary key , User id 1234
not null
2 Pid Varchar 10 Primary key , Payment id 245
not null
3. Refund Char 10 null Refund 300
amount
8. Name: Discount
S No. Field Name Data Type Field Length Constraints Description Example
39
1. Price Integer 10 Not null amount 50
2. CouponId varchar 10 Primary , not Coupon id 3454
null for a specific
discount
40
CHAPTER 17
TESTING
Pseudo code
String foodItem , choice;
1
Int Tickets , num , movie;
While(Login_Is_Success)
2
{
cin>>date;
cin>>Time; 3
cin>>Seat_Type;
cin>>No_Of_Ticket;
If( ! HouseFull(movie) )
{ 4
Ticke 5
Book_Ticket( Seat_Type , No_Of_
t
);
updateTickets(_name , date , Time , Seat_Type , No_Of_Ticket);
Cin>>choice;
While(choice ==”yes”) 6
{
Cin>>fooditem; 7
Cout<<”Enter quantity”;
Cin>>num;
41
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
42
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
43
CHAPTER 18
ANNEXURES
Number of Inputs:
0
Number of outputs:
1
Files: 0
Enquiries: 0
External interfaces:
0
44
Number of Inputs:
2
Number of outputs:
1
Files: 1
Enquiries: 0
External interfaces:
0
45
Number of Inputs:
2
Number of outputs:
1
Files: 1
Enquiries: 0
External interfaces:
0
46
Number of Inputs:
5
Number of outputs:
1
Files: 1
Enquiries: 0
External interfaces:
0
47
Number of Inputs:
0
Number of outputs:
1
Files: 1
Enquiries: 0
External interfaces:
0
48
Number of Inputs:
4
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:
6
Number of outputs:
1
Files: 1
Enquiries: 0
External interfaces:
0
51
Number of Inputs:
0
Number of outputs:
1
Files: 1
Enquiries: 0
External interfaces:
0
52
Number of Inputs:
4
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces: 0
53
Number of Inputs:
7
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces:
0
54
Number of Inputs:
1
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces:
0
55
Number of Inputs:
1
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces:
0
56
Number of Inputs:
4
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces:
0
57
Number of Inputs:
0
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces:
0
58
Number of Inputs:
3
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces: 1
59
Number of Inputs:
6
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces: 1
60
Number of Inputs:
6
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces:
1
61
Number of Inputs:
0
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces:
0
62
Number of Inputs:
2
Number of Outputs:
1
Files: 0
Enquiries: 0
External Interfaces:
0
63
Number of Inputs:
4
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces:
0
64
Number of Inputs:
0
Number of Outputs:
1
Files: 1
Enquiries: 0
External Interfaces:
1
65
CHAPTER 19
REFERENCES
66
67