Professional Documents
Culture Documents
INTRODUCTION
1. INTRODUCTION
This project is aimed to provide the customers facility to book tickets for cinema halls
online, through which they can book tickets anytime, anywhere. E-ticket system is
basically made for providing the 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
choice. In this project, we will illustrate our system by providing DFD(Data FLOW
Diagrams) on some functions. And we will also provide some process description and
data dictionary.
2.
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 todue 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 customer the complete information of
the movie, according to which the customer can book the tickets and the refund
facility provides more flexibility to the system.
The goals of our system are:
SURVEY OF TECHNOLOGY
3.SURVEY OF TECHNOLOGY
HTML (Hypertext Markup Language) :HTML is creating documents that could be displayed consistently on computers of between
and operating System.HTML is used to construct formatted pages for the web know as
Webpages.
Today HTML pages are the standard interface to the internet. They can include
animated graphics, sound and video complete interactive programs, and good old fashioned
text. Millions of Web pages are retrieve each day from thousand of Web server computers
around the world.
Structure of html documents
The skeleton of HTML document is:
<HTML>
<HEAD>
.
</HEAD>
<BODY>
.
</BODY>
</HTML>
This project is completed with JSP as front end and MY SQL is used for backend site.
JSP
It is used for providing a server side application for internet so that the dynamic work
can be done. It is used to authenticate the users and security and to show the records
as per users.
MYSQL
MYSQL Server 2005 is a family of products that meet the data storage
requirements of the largest data processing systems and commercial Web sites, yet at the
same time can provide easy-to-use data storage services to an individual or small business.
MySQL, the most popular Open Source SQL database management system, is developed,
distributed, and supported by MySQL AB. MySQL AB is a commercial company, founded by
the MySQL developers. It is a second generation Open Source Company that unites Open
Source values and methodology with a successful business model.
MYSQL Server 2005 features include:
1. Internet Integration.
2. Scalability and Availability.
3. Enterprise-Level Database Features.
JDBC is a Java-based data access technology (Java Standard Edition platform) from Oracle
Corporation. This technology is an API for the Java programming language that defines how
a client may access a database. It provides methods for querying and updating data in a
database. JDBC is oriented towards relational databases. A JDBC-to-ODBC bridge enables
connections to any ODBC-accessible data source in the JVM host environment.
Java database connectivity (JDBC) is the JavaSoft specification of a standard application
programming interface (API) that allows Java programs to access database management
systems. The JDBC API consists of a set of interfaces and classes written in the Java
programming language.
Using these standard interfaces and classes, programmers can write applications that connect to
databases, send queries written in structured query language (SQL), and process the results.
The JDBC API is consistent with the style of the core Java interfaces and classes, such
as java.lang and java.awt. The following table describes the interfaces, classes, and
exceptions (classes thrown as exceptions) that make up the JDBC API. In the table, interfaces
belonging to the javax.sql package are extensions to the standard JDBC interfaces and are
contained in the Java 2 SDK, Enterprise Edition.
FEATURES
REQUIREMENT SPECIFICATION
4.bREQUIREMENT
SPECIFICATION
The requirement for the proposed system is that, it would be less vulnerable to the mistakes
being made due to entry at two or three levels and calculations. Moreover, thecontrol of the
administrator would be centralized. This will provide the support for ONLINE TICKET
BOOKING FOR CINEMA HALLworking process.
General Description
Project function Overview
We believe that movie tickets should be something that is easily accessible for everyone. To
this end, we have created the ONLINE TICKET BOOKING FOR CINEMA HALLin order to
provide movie tickets
based application, where the server application will list the number of movies.only selected
users can access that list, the user should log on to the server with the user name password.
On the click button, user should be able to fill details on when we want to watch the item.
User Characteristics
The user can become a member of this by registering himself. After that user can access the
facilities provided byportal. A user can book tickets by registering in it.
General Constraints
The back-end has to be either SQL Server 2000 or 2005 and the system should run on the
Windows Operating System.
Specific Requirements
Input and Output
User Registration, User id & password, Requisition Entry, Item to be searched can serve as
input & Requested item, searched item are the output of this software. Also watching
audio/video serve as an output.
Functional Requirement
There should be no manual entry in the database table by directly accessing the tables
i.e. there should be security at database server.
Only valid user can Input, or request file and only administrator can perform any
operation on master database and add/update module.
IDENTIFICATION OF NEED
4.b.iIDENTIFICATION OF NEED
The main purpose of conducting system analysis is to study the various processes and to find
out its requirements. These may include ways of capturing or processing data, producing
information, controlling an activity or supporting management. The determination of
requirements entails studying the existing details about it to find out what these requirements
are.
System analysis has been conducted with the following objectives in mind.
1). Identify the user needs.
2). Evaluate the system concept for feasibility.
3). Perform economic and technical analysis.
4). Allocate functions to hardware, software, people, data base, and other
System elements.
5). Establish cost and schedule constraints and create system definition that forms the
foundation for all subsequent engineering work.
PRELIMINARY INVESTIGATION
4.b.ii.PRELIMINARY INVESTIGATION
The preliminary investigation is the process of studying the systems request and preparing a
recommendation. The purpose of the preliminary investigation is to determine if the systems
request is worth pursuing into the analysis phase and to perform some initial project
management planning tasks.
The preliminary investigation should also detail the scope of the project. The scope details the
boundaries of the project. If the system request was to redesign the user registration system,
the review team would need to decide if that included the user database, the user interface,
the administrator's interface, the computer infrastructure, the software and/or the underlying
business process. Although the scope will probably be adjusted in the analysis phase when
the detailed fact finding is completed, it is important that the systems analyst and the users
are in agreement on an initial scope.
One of the biggest issues with systems projects is scope creep. This is when the project
requirements are slowly increased over time. A fundamental concept of any project is that
scope, cost and schedule are interrelated. When any one of these items is changed, it affects at
least one of the other items. For example, if the scope is increased, the cost must be increased
and/or the schedule must be adjusted. Unfortunately in many cases, managers allow for the
increase in scope but do not adjust the cost or the schedule. This usually results in significant
issues down the line.
FEASIBILITY STUDY
4.b.iiiFEASIBILITY STUDY
A feasibility study is an evaluation and analysis of the potential of the proposed project
which is based on extensive investigation and research to give full comfort to the decisions
makers. Feasibility studies aim to objectively and rationally uncover the strengths and
weaknesses of an existing business or proposed venture, opportunities and threats as
presented by the environment, the resources required to carry through, and ultimately the
prospects for success. In its simplest terms, the two criteria to judge feasibility
are cost required and value to be attained. A feasibility study evaluates the project's potential
for success; therefore, the perceived objectivity is an important factor in the credibility to be
placed on the study by potential investors and lending institutions. It must therefore be
conducted with an objective, unbiased approach to provide information upon which decisions
can be based.
The three areas of feasibility
Technical Feasibility
Economic Feasibility
Operational feasibility
TECHNICAL FEASIBILITY
4. B.iii.aTECHNICAL FEASIBILITY
The technical feasibility assessment is focused on gaining an understanding of the present
technical resources of the organization and their applicability to the expected needs of the
proposed system. It is an evaluation of the hardware and software and how it meets the need
of the proposed system.
The aim of the Technical Feasibility Grant is to support the cost of a company to undertake a
technical study into;
Cost analysis
ECONOMICAL FEASIBILITY
4.b.iii.bECONOMICAL FEASIBILITY
The purpose of the economic feasibility assessment is to determine the positive economic
benefits to the organization that the proposed system will provide. It includes quantification
and identification of all the benefits expected. This assessment typically involves a cost/
benefits analysis.
This feasibility study present tangible and intangible benefits from the project by comparing
the development and operational cost. The technique of cost benefit analysis is often used as
a basis for assessing economic feasibility. This system needs some more initial investment
than the existing system, but it can be justifiable that it will improve quality of service.Thus
feasibility study should center along the following points:
Improvement resulting over the existing method in terms of accuracy, timeliness.
Cost comparison
Estimate on the life expectancy of the hardware.
Overall objective
Our project is economically feasible. It does not require much cost to be involved in the
overall process. The overall objective is in easing out the monitoring process.
OPERATIONAL FEASIBILITY
4.b.iii.cOPERATIONAL FEASIBILITY
Operational feasibility is a measure of how well a proposed system solves the problems, and
takes advantage of the opportunities identified during scope definition and how it satisfies the
requirements identified in the requirements analysis phase of system development.The
operational feasibility assessment focuses on the degree to which the proposed development
projects fits in with the existing business environment and objectives with regard to
development schedule, delivery date, corporate culture, and existing business processes.
This analysis involves how it will work when it is installed and the assessment of
political and managerial environment in which it is implemented. People are inherently
resistant to change and computers have been known to facilitate change. The new proposed
system is very much useful to the users and therefore it will accept broad audience from
around the world.
SOFTWARE ENGINEERING
PARADIGM APPLIED
4.c.SOFTWARE
The development strategy that encompasses the process, methods, and tools and the generic
phases is called Software Engineering Paradigm. The s/w paradigm for software is chosen
based on the nature of the project and application, the method and tools to be used, and the
controls and deliverables that are required. All software development can be characterized as
a problem-solving loops in which four distinct stages are encountered: status quo, problem
definition, technical development, and solution integration.
Spiral Model
The spiral
model is
a software
development
process combining
elements
of
and
risk is
assessed. Each
subsequent
spiral
builds
on
the
baseline
spiral. Requirements are gathered during the planning phase. In the risk analysis phase, a
process is undertaken to identify risk and alternate solutions. A prototype is produced at the
end of the risk analysis phase.
Software is produced in the engineering phase, along with testing at the end of the phase.
The evaluation phase allows the customer to evaluate the output of the project to date before
the project continues to the next spiral.
2. Project Execution-In this stage, the team develops the product. In case of online
national polling team, will develop the Online National Polling.
Task Name
Duration
Start
Finish
1.
Project Initiation
2 days
Mon 17/02/14
Tue 18/02/14
2.
Analysis Phase
7 days
Wed 19/02/14
Tue 25/02/14
3.
System Design
2 days
Wed 26/02/14
Thu 27/02/14
4.
Coding Phase
15 days
Fri 28/02/14
Fri 11/03/14
5.
Testing Phase
9 days
Sat 12/03/14
Thu 20/03/14
6.
Implementation
5 days
Fri 21/03/14
Tue 25/03/14
7.
Post-Implementation
2 days
Wed 26/03/14
Thu 27/03/14
Hardware Requirement:
1. Processor
Pentium IV
2. RAM
256 MB
Mouse
4. Monitor
3. Keyboard/
resolution monitors
5. LAN Connection
Yes
Software Requirement:
SERVER SYSTEM
1. Operating System:
Windows 7
a) Dreamweaver
b) Ecclipse
c) MySql Workbench
CLIENT SYSTEM
1. Operating System:
Windows XP,7
PRELIMINARY PRODUCT
DESCRIPTION
The working manually in that system is very difficult because the client have not
time.
Functionality of new project
Some of the prime benefits that would arise from the proposed system are listed
below: The main purpose of our online ticket booking system is to provide another way for
the customer to book cinema ticket. It is an automatic system.
After inserting the data to database, staff need not todue 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 customer the complete information of
the movie, according to which the customer can book the tickets and the refund
facility provides more flexibility to the system.
The goals of our system are:
CONCEPTUAL MODEL
4.gCONCEPTUAL MODEL
Data model
A data model is an abstract model that describes how data is represents and
accessed.
A data model theory, i.e. a formal description of how data may be structured and
accessed. See also List of database models.
A data model instance, i.e. applying a data model theory to create a practical data
model instance for some particular application. See data modelling.
The structural part: a collection of data structures which are used to create databases
representing the entities or objects modelled by the database.
The integrity part: a collection of rules governing the constraints placed on these data
structures to ensure structural integrity.
The manipulation part: a collection of operators which can be applied to the data
structures, to update and query the data contained in the database.
Entity-relationship model
The entity-relationship model or entity-relationship diagram (ERD) is a data model or
diagram for high-level descriptions of conceptual data model, and it provides a graphical
notation for representing such data models in the form of entity-relationship diagrams. Such
models are typically used in the first stage of information-system design; they are used, for
example, to describe information needs and/or the type of information that is to be stored in
the database during the requirement analysis. The data modeling technique, however, can be
used to describe any ontology (i.e. an overview and classifications of used terms and their
relationships) for a certain universe of discourse (i.e. area of interest). In the case of the
design of an information system that is based on a database, the conceptual data model is, at a
later stage (usually called logical design), mapped to a logical data model, such as the
relational model; this in turn is mapped to a physical model during physical design. Note that
sometimes, both of these phases are referred to as "physical design".
DIAGRAMS (DFD)
The first step is to draw a data flow diagram (DFD). The DFD was first developed by Larry
Constantine as a way of expressing system requirements in a graphical form this led to a
modular design. A DFD, also known as a bubble chart, has the purpose of clarifying system
requirements and identifying major transformations that will become programs in system
design. So it is the starting point of the design phase that functionally decomposes the
requirements specifications down to the lowest level of detail. A DFD consists of a series of
bubbles joined by lines. The bubbles represent data transformations and the lines represent
data flows in the system.
DFD Symbols
In the DFD there are four symbols, as shown in following:
Information flows.
Process that transforms incoming data flow(s) into outgoing data flow(s).
Data.
Data Flow Diagram (a) Basic Symbols and (b) General Format
Meaning
(b)
Source or destination
Data flow
Data store
E-R DIAGRAM
A graphical representation of entities and their relationships to each other, typically used in
computing in regard to the organization of data within databases or information systems.An
ER model is an abstract way of describing a database. In the case of a relational database,
which stores data in tables, some of the data in these tables point to data in other tables. An
entity is a piece of data-an object or concept about which data is stored. A relationship is how
the data is shared between entities. There are three types of relationships between entities:
one-to-one: one instance of an entity (A) is associated with one other instance of
another entity (B). For example, in a database of employees, each employee name (A) is
associated with only one social security number (B).
one-to-many: one instance of an entity (A) is associated with zero, one or many
instances of another entity (B), but for one instance of entity B there is only one instance of
entity A. For example, for a company with all employees working in one building, the
building name (A) is associated with many different employees (B), but those employees all
share the same singular association with entity A.
many-to-many: one instance of an entity (A) is associated with one, zero or many
instances of another entity (B), and one instance of entity B is associated with one, zero or
many instances of entity A. For example, for a company in which all of its employees work
on multiple projects, each instance of an employee (A) is associated with many instances of a
project (B), and at the same time, each instance of a project (B) has multiple employees (A)
associated with it.
E-R DIAGRAM
SYSTEM DESIGN
5. SYSTEM DESIGN
The design of the system is the most critical factor affecting the quality of the
software; it has major impact on the later phases, particularly testing and maintenance.
The output of this phase is the design document. This document is similar to blueprint
or plan for the solution.
The design activity is often divided into two phases:
System Design
Detailed Design
System design aims to identify the modules that should be in the system, the
specifications of these modules and how they interact with each other to produce the
desired results. At the end of system design all the major data structures, file formats
and the major modules in the system and their specifications are decided.
During Detailed Design, the internal logic of each of the modules specified in system
design is decided. During this phase further details of the data structures and
algorithmic design of each of the modules is specified. The logic of a module is
usually specified in a high-level design description language, which is independent of
the target language, in which the software will eventually be implemented.
BASIC MODULE
5.a
BASIC MODULE
Login Module
Customer Module
Hall Module
Booking Module
Payment Module
Online Ticket Booking for Cinema Halls
BY: - ADITI PANDEY
11065106004
Page 50
Login Module:
This module is for both type of users(customers and admin).In this module
according to the type of user(customer or admin) the further links and
operations will be provided.
Customer Module:
As soon as a visitor registers himself as a customer, the customer can now book
the movie tickets and pay for them online.
Hall Module:
This module deals with the information about the hall. There are several
multiplexes and each of them has 4 halls and according to the vacancy of seats
in the hall the booking takes place.
Booking Module:
In this module movie ticket is booked for a customer. This module contains all
the information related to booking. As soon as the customer request is complete,
all the booking details are displayed to him.
Payment Module:
This is the most important module because it deals with the payment of the
tickets booked in the booking module. The customer can pay for the tickets
before the show by cash payment and if he wants to pay online, he can pay for
the tickets by credit card.
DATABASE DESIGN
5.b DATABASE
DESIGN
A database to store the details about the items in the antique store should be designed. A
unique code should be given for each item in the inventory. This will be the key of the
database.
A database to store the sales details should be there. The key for this database is the
unique sale_id generated when producing the bill. Some example fields in this database are:
the list of items bought under the sale id (a maximum of up to 30 item codes can be there),
the date and time of the transaction, the total amount of the transaction, whether the customer
paid by cash or card, whether any item was returned later etc.
A database to store the user details should be there. The key for this database is the userid.
This database will have the user details like his encrypted password, his leave/shift details
etc.
Some example fields and the range of valid values for those fields for the inventory database
are given below. These need not be taken as such. They can be modified by the team
Table Structure
Credit information:
Attributes
Data type
Number
Type
Varchar
Name
Varchar
User Id
Varchar
ExpDate
Varchar
Ticket
Number
Movie
Varchar
User Information:
Attributes
Data type
First Name
Varchar
Last Name
Varchar
User Id
Varchar
Password
Varchar
Contact
Numeric
E_mail Id
Varchar
Booking:
Attributes
Data type
Movie Id
Varchar
Name of movie
Varchar
Show Time
Varchar
Screen Id
Varchar
Location:
Attributes
Data type
ZipCode
Number
State
Varchar
City
Varchar
Street Address
Varchar
Country
Varchar
Theatre Id
Number
Movie:
Attributes
Data type
Movie Id
Varchar
Name of movie
Varchar
Detail
Varchar
Screen:
Attributes
Data type
Movie Id
Varchar
Screen Id
Varchar
Theatre Id
Varchar
Theatre:
Attributes
Data type
Theatre Id
Varchar
Number of screen
Number
Name of theatre
Varchar
Show time:
Attributes
Data type
Movie Id
Varchar
Screen Id
Varchar
Theatre Id
Varchar
5.c
USER LOGIN
HOME PAGE
ADMIN LOGIN
USER REGISTRATION
MOVIE BOOKING
SCHEDULE
MOVIES DETAILS
MOVIES
SECURITY ISSUE
All users had there access level. They can work on this software according to there
access level.
Any user who logs in this software and makes any changes in the database, all the
entries [loginid, date, time] are maintained in log files managed by the sql transaction log
files and can be tracked any time by the DBA of the MYSQL.
There are log files maintained for Transaction of information which may be used in
any case of data loss.
MAINTENANCE
After training while the client moves into the new system, the software organization has to
maintain high degree of support to the client that decreases with time. A project briefing
session is vital to evaluate the success and failure of the project so as to provide a basis for
future efforts.
Test cases should be written by a team member who understands the function or technology
being tested, and each test case should be submitted for peer review.
Organizations take a variety of approaches to documenting test cases; these range from
developing detailed, recipe-like steps to writing general descriptions. In detailed test cases,
the steps describe exactly how to perform the test. In descriptive test cases, the tester decides
at the time of the test how to perform the test and what data to use.
Most organizations prefer detailed test cases because determining pass or fail criteria is
usually easier with this type of case. In addition, detailed test cases are reproducible andare
easier to automate than descriptive test cases. This is particularly important if you plan to
Online Ticket Booking for Cinema Halls
BY: - ADITI PANDEY
11065106004
Page 72
compare the results of tests over time, such as when you are optimizing configurations.
Detailed test cases are more time-consuming to develop and maintain. On the other hand, test
cases that are open to interpretation are not repeatable and can require debugging, consuming
time that would be better spent on testing.
Create test cases which are as simple as possible. They must be clear and concise as author of
test case may not execute them.
Use assertive language like go to home page, enter data, click on this and so on. This makes
the understanding the test steps easy and test execution faster.
Ultimate goal of any software project is to create test cases that meets customer requirements
and is easy to use and operate. A tester must create test cases keeping in mind the end user
perspective
Do not repeat test cases. If a test case is needed for executing some other test case , call the
test case by its test case id in the pre-condition column
4. Do not Assume
Do not assume functionality and features of your software application while preparing test
case. Stick to the Specification Documents.
Make sure you write test cases to check all software requirements mentioned in the
specification document. Use Traceability Matrix to ensure no functions/conditions is left
untested.
Name the test case ids such that they are identified easily while tracking defects or
identifying a software requirement at a later stage.
8. Peer Review.
After creating test cases, get them reviewed by your colleagues. Your peers can uncover
defects in your test case design, that you may easily miss.
Having extensively discussed each module in our face detection, normalization and
recognition system, we shall now describe an implementation of the complete system. We
shall also briefly discuss the software design and the constraints on performance and
efficiency.
The system's user-friendly interface is then described. It facilitates the control of the
algorithm and displays the localization and recognition results visually. To test the feature
detection capabilities of the system, the localization results are verified for a few arbitrary
input images. A large, standard database of faces is then used to test the recognition rates of
the system. We follow the recognition and localization tests with a sensitivity analysis that
provides us with some insight on the inter-dependence of these two components (recognition
and localization) in the overall algorithm.
The first part considers how the activities of a project start. Although planning and action run
side by side, it is often difficult to initiate action to progress the first tasks. Once things start
to happen, the project enters a new stage. Management of the project changes, from
stimulating the initial action to monitoring and reviewing it in order to control the project's
progress. Control systems are essential in managing a project of any size, to ensure that the
project achieves its intended outcomes. It is very rare for a project to run smoothly, however,
and anyone managing a project can expect to have to keep up the momentum and to solve
problems that arise. Good communications contribute a great deal to the process, and help all
the stakeholders in developing a shared understanding of how the project is progressing.
CODING DETAILS
LOGIN DETAILS
<%@include file="connect.jsp"%>
<%
String uname=request.getParameter("uname");
String passw =request.getParameter("passw");
String suid =(String)session.getAttribute("uid");
Boolean isLogin=false;
String last="";
rs=st.executeQuery("select uname ,passw,id,Format(lastvisit,'dd mmmm,yyyy hh:nn AM/PM'),crid from
Customer where uname='"+uname +"'");
if(rs.next()){
if(rs.getString(1).equals(uname) && rs.getString(2).equals(passw)){
String uid=rs.getString(3);
if(uid.equals(suid)){%>
<div style='color:cyan'>You Are Already Logged In</div>
<%
}else{
session.setAttribute("uid",uid);
last=rs.getString(4);
session.setAttribute("crid",rs.getString(5));
st.executeUpdate("update Customer set noofvisits=noofvisits+1 where id=" +uid);
java.util.Date dt=new java.util.Date();
st.executeUpdate("update Customer set lastvisit='"+ dt.toLocaleString() + "' where
id=" +uid);
rs=st.executeQuery("select fname,mname,lname from Customer where id="+uid);
if(rs.next()){
String name=rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3);
System.out.println(name);
name="Welcome "+name;
String messageright="<div>Last Visit : " + last +" | <a
href='javascript:editProfile()'>Edit Profile</a> | " ;
messageright+="<a href='javascript:logout()'>Logout</a>";
session.setAttribute("messagecenter",name);
session.setAttribute("messageright",messageright);
}%>
<div style="color:cyan">You Have succesfully Logged in.<br>You last visited on <
%=last%></div>
<%
}
}else{%>
<div style="color:red;">Username Or Password is Incorrect</div>
<%
}
}else{%>
<div style="color:red;">Username Or Password is Incorrect</div>
<%}
conn.close();
%>
REGISTRATION
<%@include file="connect.jsp"%>
<%
String fname=request.getParameter("fname");
String mname=request.getParameter("mname");
String lname=request.getParameter("lname");
String uname=request.getParameter("uname");
String passw=request.getParameter("passw");
String email=request.getParameter("email");
String phno=request.getParameter("phno");
String address=request.getParameter("address");
String city=request.getParameter("City");
String crno=request.getParameter("crno");
boolean valid=true;
st.executeUpdate("insert into credit(crno) values('"+crno+"')");
rs=st.executeQuery("select id from credit where crno='"+ crno +"'");
rs.next();
int crid=rs.getInt(1);
String sql="insert into
Customer(fname,mname,lname,uname,passw,email,phno,address,cityid,crid)
values(";
sql+="'"+fname+"','"+
mname+"','"+lname+"','"+uname+"','"+passw+"','"+email+"',"
+phno+",'"+address+"',"+city+","+crid+")";
//out.println(sql);
try{
st.executeUpdate(sql);%>
<h1>You Have registered successfully.Now you may login.</h1>
<%}
catch(Exception e){
System.out.println(e);
}
conn.close();
%>
ADMIN
<%@include file="connect.jsp"%>
<%
String req=request.getParameter("do");
String uid= (String)session.getAttribute("uid");
if(uid!=null&&req!=null&&uid.equals("1")){%>
<form name="frmAdmin">
<table>
<tr><td height="20px"></td>
</tr>
<tr><td id='datainfo' align="center" class="pageName"></td></tr>
<tr><td><table id='admintable'>
<%
if(req.equals("viewcustomers")){
rs=st.executeQuery("select * from viewcustomer");%>
<tr><th>ID</th><th>User Name</th><th>EmailID</th><th>Address</th><th>Phone</th><th>City</th><th>Credit card No.</th><th>Balance</th><th>Last
Visited</th><th>No of Visits</th><th>Tickets Bought</th><th></th></tr>
<tr id='insert'></tr>
<%
while(rs.next()){
String id=rs.getString(1);
out.println("<tr id=c"+id+" class='adminRow'>");
out.println("<td>"+id+"</td>");
for(int i=2;i<=11;i++){
String data=rs.getString(i);
if(data==null) data="";
out.println("<td>"+data+"</td>");
}
out.println("<td><a href=\"javascript:editCustomer('c"+id+"')\">edit</a> <a
href=\"javascript:deleteCustomer('c"+id+"')\">delete</a></td>");
out.println("</tr>");
}%>
<%
}else if(req.equals("viewcinema")){
rs=st.executeQuery("select *from viewcinema");%>
<tr><th>ID</th><th>Name</th><th>Address</th><th>City</th><th>No of
Screens</th><th>Capacity</th><th>Established</th><th></th></tr>
<tr id='insert'></tr>
<%
while(rs.next()){
String id=rs.getString(1);
out.println("<tr id=c"+id+" class='adminRow'>");
out.println("<td>"+id+"</td>");
for(int i=2;i<=7;i++){
String data=rs.getString(i);
if(data==null) data="";
out.println("<td>"+data+"</td>");
}
out.println("<td><a href=\"javascript:editCinema('c"+id+"')\">edit</a> <a
href=\"javascript:deleteCinema('c"+id+"')\">delete</a></td>");
out.println("</tr>");
}
}else if(req.equals("viewmovie")){
rs=st.executeQuery("select * from viewmovie");%>
<tr><th>ID</th><th>Name</th><th>Story line</th><th>Image File</th><th>Trailer
File</th><th>Casting</th><th>Category</th><th></th></tr>
<tr id='insert'></tr>
<%
while(rs.next()){
String id=rs.getString(1);
String data=rs.getString(i);
if(data==null) data="";
out.println("<td>"+data+"</td>");
}
out.println("</tr>");
}
}
%>
</table></td></tr></table>
</form>
<%}else{%>
<div style="color:red;"><h2>You should be logged in as Administrator</h2></div>
<%}
conn.close();
%>
BOOK TICKET
<%@include file="connect.jsp"%>
<%
String scheduleid=request.getParameter("Date");
String time=request.getParameter("Time");
String crno=request.getParameter("crno");
String uid=(String)session.getAttribute("uid");
String crid=(String)session.getAttribute("crid");
String seats=request.getParameter("seats");
String film=request.getParameter("Film");
String cinema=request.getParameter("Cinema");
String address="",screenid="",showdate="",solddate=(new java.util.Date()).toLocaleString();
long balance=0,cost=0,ticket=0;
String name="",seatstr="";
String sql;
if(uid==null){%>
<div style='color:red'><h2>You must be logged in to buy tickets</h2></div>
<%}else{
rs=st.executeQuery("select crno,balance from Credit where id="+crid);
if(rs.next()){
if(rs.getString(1).equals(crno)){
balance=rs.getLong(2);
rs=st.executeQuery("select fname,mname,lname from Customer where id="+uid);
if(rs.next())
name=rs.getString(1)+" "+rs.getString(2)+" "+rs.getString(3);
String[] seatlist=seats.split(";");
String alpha="ABCDE";
int seat[]=new int[seatlist.length];
for(int i=0;i<seatlist.length;i++) seat[i]=Integer.parseInt(seatlist[i]);
for(int i=0;i<seat.length;i++){
if(seat[i] < 41) cost+=75;
else if(seat[i] < 81) cost+=100;
else cost+=125;
}
if(balance>cost){
balance-=cost;
for(int i=0;i<seatlist.length;i++) seatstr+=
Character.toString(alpha.charAt(seat[i]/20))+ seat[i]%20 + ",";
rs=st.executeQuery("select Name from Film where id="+ film);
if(rs.next()) film=rs.getString(1);
rs=st.executeQuery("select Address from Cinema where id="+ cinema);
if(rs.next()){ address=rs.getString(1); }
rs=st.executeQuery("select Format(Showdate,'dd mmmm,yyyy'), screenid
from Schedule where id="+scheduleid );
if(rs.next()){showdate=rs.getString(1);screenid=rs.getString(2);}
rs=st.executeQuery("Select Format(Slot,'hh:nn AM/PM') from ttime,screen
where ttime.id=screen.timeid and screen.id="+screenid +" and slotno='"+time+"'");
if(rs.next()){showdate+=" "+ rs.getString(1);}
rs=st.executeQuery("select max(id) from Ticket");
if(rs.next()) ticket=rs.getInt(1)+1;
String insert="INSERT INTO Ticket( ID, customerid, ScheduleID, Seats,
Quantity, amount, SoldDate, Timeslot) values("+ticket+","+uid+",";
insert+=scheduleid+",'"+seats+"',"+seatlist.length+","+cost+",'"+solddate+"','"+time+"')";
System.out.println (insert);
st.executeUpdate(insert);
st.executeUpdate("update credit set balance="+balance+" where id="+crid);
st.executeUpdate("update Customer set totaltkt=totaltkt+"+seat.length+"
where id="+uid);%>
<table><tr><td>
<div id="ticket"><table border="1">
<tr align="center"><td><h1>Dream World Cinemas</h1></td></tr>
<tr><td><table>
<tr><td>Ticket No. <%=ticket%></td><td>Customer No. <%=uid
%></td></tr>
<tr><td>Customer Name</td><td><%=name%></td></tr>
<tr><td>Booked seats</td><td><%=seatstr%></td></tr>
<tr><td>Show Time</td><td><%=showdate%></td></tr>
<tr><td>Movie</td><td><%=film%></td></tr>
<tr><td>Venue</td><td><%=address%></td></tr>
<tr><td>Sold On</td><td><%=solddate%></td></tr>
<tr><td>Total Cost</td><td><%=cost%></td></tr>
<tr><td>Balance Remaining</td><td><%=balance%>
INR</td></tr>
</table></td></tr>
</table></div></td></tr>
<tr><td align="center"><a href="javascript:printTicket()"
class="navigation">Print</a></td></tr>
</table>
<%
}else{%>
<div style='color:red'><h2>You don't have sufficient balance to buy
tickets.<br>
Please recharge your Account<br>Your current balance is <
%=balance%></h2></div>
<%
}
}else{%>
<form name='regform'><table><tr><td colspan='2' align="center"><h2>Confirm
Ticket Book</h2></td></tr>
<tr><td>Creditcard No</td><td><input type='text' id='crno' value='<%=crno%>'
onkeyup='javascript:checkcrno()'/>
<label id='m_crno' style="color:red;">Your Credit Card No do not
match</label></td></tr>
<tr><td><a href='javascript:confirmBookTicket()'
class='navigation'>Confirm</a></td>
<td><a href='#schedule' class='navigation'>Cancel</a></td></tr></table></form>
<%
}
}
}
conn.close();
%>
SCHEDULE
<%@include file="connect.jsp" %>
<%
String showby =request.getParameter("showby");
String showvalue=request.getParameter("showvalue");
String sql="select id, Name from "+showby+" ";
String show ="";
if(showby.equals("Country")){
show="State";
}else if(showvalue!=null){
if(showby.equals("State")){
sql+=" where countryid="+showvalue;
show="City";
}else if(showby.equals("City")){
sql+=" where stateid="+showvalue;
show="Cinema";
}else if(showby.equals("Cinema")){
sql+=" where cityid="+showvalue;
show="Film";
}else if(showby.equals("Film")){
String subquery="(Select FilmID FROM schedule where ShowDate>=Date() and ScreenID
=(select ID from screen where CinemaID ="+showvalue+"))";
sql+="where ID="+2+"";
session.setAttribute("cinema",showvalue);
show="Date";
}else if(showby.equals("Date")){
sql="select ID ,ShowDate from schedule";
show="Time";
}else if(showby.equals("Time")){
sql="select SlotNo ,Format(Slot,'hh nn AM/PM') from ttime where id =(select timeid from
screen where id=(select screenid from schedule where id="+showvalue+")) order by slot";
}
}
try{
System.out.println (sql);
rs=st.executeQuery(sql);
String eventhandler="";
if(showby.equals("Time"))
eventhandler="onchange=\"loadseat()\"";
else
eventhandler="onchange=\"loadschedule('"+ show +"',this.value)\"";
System.out.println (eventhandler);
%>
<select name=<%=showby%> <%=eventhandler%> >
<option value=0>Select A <%=showby%></option>
<%while(rs.next()){%>
<option value="<%=rs.getString(1)%>"><%=rs.getString(2)%></option>
<%}
}
catch(Exception e){
System.out.println(e);
}
conn.close();
%></select>
VALIDATE
var nameAvail=false;
function register()
{
isAvailName();
if(document.regform.passw.value!=document.regform.passw2.value)
alert("Your passwords do not match");
else if(document.regform.fname.value.length<1){
alert("You must enter your First Name");
document.regform.fname.focus();
}else if(document.regform.lname.value.length<1){
alert("You must enter your Last Name");
document.regform.lname.focus();
}else if(checkpassw()&& checkemail()&& checkphno()){
if(nameAvail){
if(agree){
showmessage("register.jsp"+getSubmitQuery(document.regform),"databar");
}else{
alert("You must agree to our Terms and Policy")
}
}
}
}
function checkname(){
if(document.regform.uname.value.length<6){
document.getElementById("m_uname").innerHTML="Name must be atleast 6
characters long";
document.getElementById("m_uname").style.color="red" ;
document.regform.uname.focus();
return false;
}else{
document.getElementById("m_uname").innerHTML="Name OK";
document.getElementById("m_uname").style.color="green" ;
return true;
}
}
function checkpassw(){
var len=document.regform.passw.value.length
if(len<5){
document.getElementById("m_passw").innerHTML="Too Short (Min 5 chars)";
document.getElementById("m_passw").style.color="red" ;
document.regform.passw.focus();
return false;
}else if(len <8){
document.getElementById("m_passw").innerHTML="Weak";
document.getElementById("m_passw").style.color="Yellow";
return true ;
}else{
document.getElementById("m_passw").innerHTML="Strong" ;
document.getElementById("m_passw").style.color="cyan";
return true ;
}
}
function checkemail(){
var str=document.regform.email.value
var len=str.length
var iat=str.indexOf("@")
var idot=str.indexOf(".")
var idot2=str.indexOf(".",iat)
if(iat<1||(iat>idot2)|| idot2>=len-1){
document.getElementById("m_email").innerHTML="Enter valid email";
document.getElementById("m_email").style.color="red" ;
document.regform.email.focus();
return false;
}else{
document.getElementById("m_email").innerHTML="Email ok";
document.getElementById("m_email").style.color="green";
return true;
}
}
function checkLuhn(crno){
var sum = 0
var nDigits = crno.length
var parity = nDigits % 2
for(i=0;i<nDigits;i++){
var digit=crno.charAt(i)
if (i%2==parity)
digit = digit * 2
if (digit > 9)
digit=digit%10+parseInt(digit/10)
sum = sum + digit
}
if(sum%10==0)
return true;
else
return false;
}
function checkcrno(){
var crno=document.regform.crno.value
var valid=false
var cardtype
var len=crno.length
if(len>12&&len<17){
switch(crno.charAt(0)){
case "5": //Master Card
var c2=crno.charAt(1)
if(len==16 && c2<=5 && c2>=1 && checkLuhn(crno)){
valid=true
cardtype="Master Card"
}
break;
case "4": //VISA
if((len==16 || len==14)&& checkLuhn(crno)){
valid=true
cardtype="VISA"
}
}
}
if(valid){
document.getElementById("m_crno").innerHTML=cardtype;
document.getElementById("m_crno").style.color="green" ;
}else{
document.getElementById("m_crno").innerHTML="Enter valid Credit Card No.";
document.getElementById("m_crno").style.color="red" ;
document.regform.crno.focus();
}
return valid
}
function checkphno(){
var len=document.regform.phno.value.length
if(len==0){
document.getElementById("m_phno").innerHTML="";
return true;
}
else if(isNumber(document.regform.phno.value)){
if(len>9&&len<13){
document.getElementById("m_phno").innerHTML="Phone No
OK";
document.getElementById("m_phno").style.color="green" ;
return true;
}else{
document.getElementById("m_phno").innerHTML="Phone No
should only contain 10 to 12 digits or leave empty";
document.getElementById("m_phno").style.color="red" ;
}
}else{
document.getElementById("m_phno").innerHTML="Phone No should
contain only digits";
document.getElementById("m_phno").style.color="red" ;
}
return false;
}
function isNumber(char){
TESTING APPROACH
Top Down TestingTop Down Testing is an approach to integrated testing where the top integrated modules are
tested and the branch of the module is tested step by step until the end of the related module.
UNIT TESTING
6.c.i.UNIT TESTING
Unit testing, also known as component testing, refers to tests that verify the functionality of a
specific section of code, usually at the function level. In an object-oriented environment, this
is usually at the class level, and the minimal unit tests include the constructors and
destructors.
These types of tests are usually written by developers as they work on code (white-box style),
to ensure that the specific function is working as expected. One function might have multiple
tests, to catch corner cases or other branches in the code. Unit testing alone cannot verify the
functionality of a piece of software, but rather is used to assure that the building blocks the
software uses work independently of each other.
Unit testing is a software development process that involves synchronized application of a
broad spectrum of defect prevention and detection strategies in order to reduce software
development risks, time, and costs. It is performed by the software developer or engineer
during the construction phase of the software development lifecycle. Rather than replace
traditional QA focuses, it augments it. Unit testing aims to eliminate construction errors
before code is promoted to QA; this strategy is intended to increase the quality of the
resulting software as well as the efficiency of the overall development and QA process.
Depending on the organization's expectations for software development, unit testing might
include static code analysis, data flow analysis metrics analysis, peer code reviews, code
coverage analysis and other software verification practices.
INTEGRATION TESTING
6.c.ii.INTEGRATION TESTING
Integration testing is any type of software testing that seeks to verify the interfaces between
components against a software design. Software components may be integrated in an iterative
way or all together ("big bang"). Normally the former is considered a better practice since it
allows interface issues to be localised more quickly and fixed.
Integration testing works to expose defects in the interfaces and interaction between
integrated components (modules). Progressively larger groups of tested software components
corresponding to elements of the architectural design are integrated and tested until the
software works as a system.
Integration testing exposes defects in the interfaces and interaction between integrated
components (modules). Progressively larger groups of tested software components
corresponding to elements of the architectural design are integrated and tested until the
software works as a system.
Integration testing' (sometimes called Integration and Testing, abbreviated I&T) is the
phase of software testing in which individual software modules are combined and
tested as a group. It follows unit testing and precedes system testing.
Integration testing takes as its input modules that have been unit tested, groups them in larger
aggregates, applies tests defined in an integration test plan to those aggregates, and delivers
as its output the integrated system ready for system testing
For researchers working on system-level validation and testing, for tool vendors involved in
developing hardware-software co-design tools and for graduate students working in
embedded systems and SOC design and implementation, System-level Test and Validation of
Hardware/Software Systems will be an invaluable source of reference.
Open Microsoft Visual Studio 2008 and click the run button.
Enter the login & password, click on the OK button. If either the login or
password is only entered without entering the other one & ok button is
clicked, message will be displayed prompting to enter the other one.
Refresh button empties the textboxes for next entries to be made.
Click on the Administrator on the menu bar. Create new user display is
highlight it means that login & password entered belongs to either the
administrator or the authorized user.
If you want to create the user then enter the data required and click on
CREATE button. If you have not entered the required data then you will be
prompted to do so.
If main form is opened and the options like create user, change password,
drop user, and add/remove privileges are disabled then it means that you
have logged in by the user that is not DBA.
You can insert data using the insert& update records option.
Enter the data & click on the update button. Message your data has been
saved is displayed. The data on being checked in the database was found
saved there.
Conclusions
8.a.Conclusions
The project will be great help to small consultancies and firm who cannot effort to buy large
project which cost huge money can implement this small software in their work. This website
provides facility to conduct information online blood bank worldwide. It saves time and
automatically generated by the server. Administrator has a privilege to create, modify and
delete the records and its particular data. User can register, login and give their information
with his specific id, and can see the results as well.
In this project submitted by us. I have tried to show that the package developed by us would
able to solve all problems regarding maintaining the record of each student.
The project E-ticket System for Cinema Hall is flexible enough to meet the
requirements of the Customers. This project also has the scope of enhancements
like:
1- Home delivery of tickets may be provided.
2-Online Booking of Purchases of eatables(coldrinks, popcorn etc) can be
provided.
3-Corporate booking: Multimedia support for corporate presentation can
beprovided. Conference facility can be provided for corporate meetings in the
hall. This will increase the profit of cinema halls as well as the company
organizing event.
4- Group booking :Any institute/company can book the tickets for
students/clients and special discount will be provided to them
BIBLIOGRAPHY
9.BIBLIOGRAPHY
REFERENCES:-
REFERENCE BOOKS:-
TH
edition, Pregti
nd
rd
edition by
AN
Jalote.
REFERENCE WEBSITES
www.stardeveloper.cn
www.javaskyline.com
Online Ticket Booking for Cinema Halls
BY: - ADITI PANDEY
11065106004
Page 107
www.novocode.com
www.songsmp3.com
www.apl.jhu.edu