Hall Booking Report

Download as pdf or txt
Download as pdf or txt
You are on page 1of 83
At a glance
Powered by AI
The key takeaways are that the project report discusses developing an online hall booking system. It covers aspects like introduction, requirements analysis, design, implementation and testing.

The purpose of the project is to develop a web application for online hall booking and management system to help organizations reduce overhead of manual booking procedures and save time and money.

The main components/chapters discussed in the report are company profile, introduction, requirement analysis, design, implementation, testing, scope, limitations and conclusion.

PROJECT REPORT

On

“ONLINE HALL BOOKING SYSTEM”

Project work carried out at

NETCOM COMPUTERS

Submitted in partial fulfillment of Bachelor of Computer Applications Degree program

SUBMITTED TO SUBMITTED BY

D.S.B CAMPUS Sanjay Singh Adhikari


NAINITAL Roll no- 161233OO41

1
2
DECLARATION

I hereby declare that the work which is being present in this project report “Online
Hall Booking Management System”, in partial fulfilment of the requirement for the
award od the degree of BACHELOR OF COMPUTER APPLICATION,
submitted at AMRAPALI INSTITUTE OF MANAGEMENT AND COMPUTER
APPLICATION is an authentic work done by me during period fromst 1January
2019 to 15th May 2019

Project Guide: Signature of the Student:

Mr. Dhiren Dalakoti santoshi

Director Roll No. 1612330041

Netcom Computers D.S.B Campus

Haldwani nainital

3
ACKNOWLEDGEMENT

I would like to extend our thanks and appreciation to all those who have assisted us either
directly or indirectly and participated in the success of this project.

I would like to thank to my guide Mr. Dhiren Dalakoti for his constant support in the
making of the project. As a part of University Curriculum, a final year project is a paramount
importance to an BCA student’s curriculum and being our native effort into this project
undertook by us, we faced a lot of impediments on our way to the completion of this project
but constant guidance and able support of concerned software engineer members lend us a
great help in successful completion of the project.

I am thankful to all staff members of Netcom Computers who helped me whenever


required, during my project.

Even though I expressed my gratitude to every person, who helped me in reaching this stage,
but there might be a few, who’d been left out, who helped me without my knowledge, I
would like to thank all of them.

Last but not least, to all my friends and fellow students for giving me suggestions and helping
us in debugging the code errors and above all the faculty of my Department of Computer
Science (D.S.B Campus Nainital) who have always provided their guidance, support
and well wishes.

Santoshii

4
Table of Contents

CHAPTER 1 - COMPANY PROFILE 7


1.1 History …………………………………………………………..…….…………7

CHAPTER 2 - INTRODUCTION OF PROJECT 8-9

2.1 Live Project on Hall Ticket Booking And Management System ……………..….8

2.1.1Introduction……………………………………………………….……..8

2.1.2 Purpose of The web Application..............................................................8

2.1.3 Scope of the Proposed web Application...……………….… …….........9

2.1.4 Overview of Proposed overview Application………...…………...……9

CHAPTER 3 - REQUIREMENTANALYSIS 10-11

3.1 Functional Requirements......................................................................................10

3.2 Non Functional Requirements………………………………....………………..10

3.3 Hardware Requirements…………………………………………………….......10

3.4 Software Requirement………………………………..........................................10

3.5 Tools and Environment…………………………………………………...……..11

CHAPTER 4- REQUIREMENT SPECIFICATION DOCUMENT 12-13

4.1 General description of project…………………………………………………..12

4.2 Certain specific requirements……………………………………………….......13

CHAPTER 5 - SOFTWARE DESIGN 14-22

5.1 Introduction………………………………………………………………..........14

5.3 DFD………………………………………………………………………….….15

5.4 User Interface Design………………………………..…………………….……17

5.5 ER Diagram…………………………………………………………….….…....20

5.6 Use Case Diagram………………………………………..………….….…….…21

5
CHAPTER 6 - TOOLS AND LANGUAGES 23-42

6.1 HTML………………………………………………………..…………………23

6.2 CSS………………………………………………………………..………..…..24

6.3 JavaScript……………………..………………………………..….……………27

6.4 Bootstrap………………………………………………………………………..30

6.5 Php………………………………………………………………...……….........33

6.6 Ajax……...………………………………………………….……...……...…....36

6.7 XAMPP Server….………………………………………………………………38

CHAPTER 7 - DATABASE DESIGN 43-46

7.1 Tables for Project…………….…………………………….……………....….... 43

CHAPTER 8 - CODING 47-59

8.1 Approach used……………………….……………………….…………………..47

8.2 Module and Explanation………….…………………….………………….….....50

CHAPTER 9 - TESTING 60-67

9.1 Test criteria…………………...………………………………………………….60

9.2 Levels of testing……………………………………………………………..…...62

9.3 Test information flow…………………………..……………………………..…63

9.4 Test Cases………………………………….………..………………………...…65

9.5 Application Security………………………………….………..…………..…….66

CHAPTER 10 - IMPLEMENTATION 68-69

CHAPTER 11 - MAINTENANCE 70-79

CHAPTER 12 - SCOPE OF THE PROJECT 80

CHAPTER 13 - LIMITATIONS 81

CHAPTER 14 - CONCLUSION 82

CHAPTER 15 - BIBLIOGRAPHY 83

6
Chapter1 Company Profile

1.1 History:

Netcom Computers Private Ltd. is a one of the oldest it solutions company and a subsidiary
of Netcom India Pvt. Ltd. New Delhi and is one of the leading information technology and
graphics and designing, services. It is providing services in the field of software development,
maintenance, business process outsourcing, and IT Education, Networking and Government
undertakings for the state of Uttarakhand.

Netcom started its life in mid 1997 with the purpose of imparting IT based education to the
masses with core intention of providing it information in the regional language. In this regard
it tied a joint venture with CDAC Gist Pace a Govt. of India Enterprise and became one of
India’s leading IT education provider. On the other had Netcom with its subsidiary Samvad
Prikrama Pvt. Ltd at New Delhi introduced its hands in the field of Graphic and designing
and produced many TV serials and advertisements for DD national Television.

Today Netcom Computers Pvt. Ltd is a wholly owned company in the state of Uttarakhand
with offices at major cities of India and it running successfully. It also provide services like
systems consultancy, hardware and software maintenance, systems integration and
reengineering, countrywide network s3ervices, education and training as well as offshore
project development.

7
Chapter2 Introduction of Project

2.1. Live Project Profile of Hall Booking System

This web application is the best application for company, this application provide the best
features and facilities to the customer.

Through this customer can easily book the hall which is they want for his function . With the
help of this application admin can manage the booking functionality and can view the
booking details of the user.

And employees can easily see their booking system on their id after login.After completing
the task employee can update their status on their id.

2.1.1 Introduction to Project

Introduction:
This web application is a service to provide various functionality to the customer &
employee. It is also useful to save the precious time and energy. This application offers
different services like employees management, booking system ,booking details hall details.

2.1.2- Purpose of the Web Application:


1. SECURITY: Security is the main criteria for the proposed system. Since illegal access may
corrupt the database. So security has to be given in this project.

2. EFFICIENCY: The basic need of this application is efficiency. The application should be
efficient so that whenever a new user submits his/her details the database is updated
automatically. This record will be useful for other users instantly.

3. CONTROL: The complete control of the project is under the hands of authorized person
who has the password to access this project and illegal access is not supposed to deal with.
All the control is under the administrator and the other members have the rights to just see the
records not to change any transaction or entry.

8
2.1.3-Scope of the proposed Application :
Though there are many application available on system but this can compete with them with
some advancement in its functionality and can be used by any authenticate admin to
maintain their customer’s and employee’s account.

The basic functionalities of the system are:

 User Registration

 Login

 Update Profile

 View Profile

 Logout

2.1.4-Overview of proposed Application:

1. MENU DRIVEN:
The project uses menu throughout which we can choose required options. Menus are self-
explanatory, as they are very easy to use and user can go to any other web page using the menu

2. USER CONFIRMATION:
Whenever the user tries to delete or edit the data, the system asks for the confirmation. This
issued to avoid the accidental changes to the database.

A confirmation is also provided for the exit of the application.

3. GRAPHICAL USER INTERFACE:


User is provided with a graphical interface in which user can select from various options and
can perform for desired operations with perfect understanding of the menu selected.

4. MULTIPLE DOCUMENT INTERFACE:


The package provides a multiple document interface to the user. The user can view more than
one package or pages at the same time.

5. SECURITY AND ACCESS:


A password form has been provided at the beginning of the package. Entering the correct
password will take user to the main user page

9
Chapter3 Requirement Analysis

3.1-Functional Requirements:

 Customer can request details of the service available.


 Employee can view Hall details .
 Customer can cancel the service also.

3.2-Non-functional Requirements:

Those requirements which are not the functionalities of a system but are the characteristics of
a system are called the non-functionalities.

 Security access.
 24X7 availability.
 Better component design to get better performance at peak time.
 Flexible service based architecture will be highly desirable for future extensions.

3.3 Hardware Requirements:

Minimum Hardware Requirement


RAM – 256 MB or More
PROCESSOR – P IV 2.6 GHz

3.4 Software Requirements:

Minimum Software Requirements:-

Operating System –Windows NT/XP/7 and Other Versions

Server - Xampp and wampp server

10
3.5 Tools and Environment:

WEB Server –Apache Server


Server- xampp server and wammp server
Client Side – HTML5
Server Side- PHP

11
Chapter4 Requirement Specification
Document

Purpose of this Document:


The purpose of this SRS document is providing a detailed overview of our software product,
its parameters and goals. This document describes the project's target audience and its user
interface, hardware and software requirements. It defines how an organization handles
customers.

Scope of the Development Project:


Our project goals are to create a Web Application for booking the hall by the user and get
details about the hall in the following manner:-

Applicant: The applicant can register his information and desired information about the hall
and book them in a particular date.

User: user can register his information and can check hall availability on their id.

Administrator: Control the whole application.

The searching of record has been made quite simple as all the details of the customer
can be obtained by simply keying in the identification of that customer. Similarly, record
maintenance and update can also be accomplished by using the identification of the customer
with all the details being automatically generated. These details are also being promptly
automatically updated in the master file thus keeping the record absolutely up-to-date.

4.1 General description of project:

4.1.1 Characteristics:
A computer based management system is to maintain each customer record.
Separate database is maintained to handle all the details required for all the customers. This
project intends to introduce more user friendliness in the
Various activities such as record updation , maintenance, and searching

12
4.1.2 Constraints:
Some tables have primary key and foreign key. Relationships are created between tables in
the database. All tables are related with each-other.

To view information, user must have valid username and password. Only valid users can
logged successfully and view information available on the database.

4.2 Certain specific requirements:

4.2.1 Inputs and Outputs:

Input Data: the software will be keyboard and mouse driven, all input data are from left
mouse clicks on context buttons such as directional buttons or menu options. Incase of filling
information keyboard is required.

Output Data: Facts and graphics will be displayed to the monitor.

4.2.2 User interface:


The user interface for this product will be graphical and relatively simple in order to
accommodate the target audience. All input to our program will be achieved through a mouse
as well as keyboard while all output would be via a monitor.

4.2.3 Hardware interaction:

OS: Windows server 2003

HDD: Minimum 20GB

RAM: 256 MB

Color: 16 bit

Platform: xampp,wampp server

4.2.4 Software interaction: - Apache xammp server

13
Chapter5 Software Design

5.1-Introduction:
The web Application registers the user or the applicant then confirms the user or credentials
like username and password for further work. If the user credentials are validated then allow
the user in website otherwise reject it. All the information related to user credentials is stored
in the database. The entire system can be shown with the help of Data Flow Diagram. A Data
Flow Diagram (DFD) is a diagrammatic representation of the information flows within a
system, showing:

 how information enters and leaves the system,


 what changes the information,
 Where information is stored.

5.2-Scope:
Though there are many application available on market but this can compete with them with
some advancement in its functionality and can be used by any user and college, organization
to maintain their Hall management system and services.

The basic functionalities of the system are:

 User Registration
 Login
 Update profile
 View booking details
 View profile
 Logout

14
5.3 -Data Flow Diagram (DFD):

CONTEXT [0-Level] Diagram DFD:

User Login/ registration Hall details Admin

Login user details

Cancle

Hall details

Login admin

User management

Open booking

Hall Booking View booking inf.

System

15
1-LEVEL DFD:

Admin
User
login /registration info.

Hall information

Cancle request response

Authentication authentication status View hall details

Admin info.

Admin login /registration user booking

response

request
Hall booking
Admin

booking details

Open booking
Check
booking

Booking details open booking


User
management
Admin

User details

User Information

16
5.4 User Interface Design:

User interface design is the design of application with the focus on user’s experience and
interaction. The goal of user interface design is to make the user's interaction as simple and
efficient as possible the goal of user interface design is to make the user's interaction as
simple and efficient as possible. Web page is used for user interface which is built in Xampp
Apache. It has a server side platform which contains MariaDB , PHP ,Perl contains which is
use for srver side coding , data controls (gridview, detailview, sqldatasource etc).

XAMPP is meant only for development purposes. It has certain configuration settings that
make it easy to develop locally but that are insecure if you want to have your installation
accessible to others. If you want have your XAMPP accessible from the internet, make sure
you understand the implications and you checked the FAQs to learn how to protect your site.
Alternatively you can use WAMP, MAMP or LAMP which are similar packages which are
more suitable for production .

Fig. 5.1

17
Application Design:
Xampp server:

XAMPP is by a free and open-source cross-platform web server solution stack package
developed Apache Friends,consisting mainly of the Apache HTTP
Server, MariaDB database, and interpreters for scripts written in
the PHP and Perl programming languages. Since most actual web server deployments use the
same components as XAMPP, it makes transitioning from a local test server to a live server
possible.

XAMPP ployment means a WAMP or LAMP stack can be installed quickly and simply on an
operating system by a developer. With the advantage a number of common add-in
applications such as Wordpress and Joomla! can also be installed with similar ease
using Bitnami.

Etymology :

The term XAMPP is an apparent acronym. However, there is no official acronym expansion
specified on the Apache Friends website. Their homepage header reads "XAMPP Apache +
MariaDB + PHP + Perl", indicating that this abbreviation is a recursive acronym.

The term can be unofficially broken down as follows:

Letter Meaning

X as an ideographic letter referring to cross-platform

A Apache or its expanded form, Apache HTTP Server

M MariaDB

P PHP

P PERL

MySQL was replaced with MariaDB on 2015-10-19 and beginning with XAMPP versions
5.5.30 and 5.6.14effectively altering the meaning of the acronym.

18
Features :

XAMPP is regularly updated to the latest releases of Apache, MariaDB, PHP and Perl. It also
comes with a number of other modules
including OpenSSL, phpMyAdmin, MediaWiki, Joomla, WordPress and more. Self-
contained, multiple instances of XAMPP can exist on a single computer, and any given
instance can be copied from one computer to another. XAMPP is offered in both a full and a
standard version (Smaller version).

Usage:

The most obvious characteristic of XAMPP is the ease at which a WAMP webserver stack
can be deployed and instantiated. Later some common packaged applications that could be
easily installed were provided by Bitnami.

Officially, XAMPP's designers intended it for use only as a development tool, to allow
website designers and programmers to test their work on their own computers without any
access to the Internet. To make this as easy as possible, many important security features are
disabled by default.] XAMPP has the ability to serve web pages on the World Wide Web. A
special tool is provided to password-protect the most important parts of the package.

XAMPP also provides support for creating and manipulating databases


in MariaDB and SQLite among others.

Once XAMPP is installed, it is possible to treat a localhost like a remote host by connecting
using an FTP client. Using a program like FileZilla has many advantages when installing
a content management system (CMS) like Joomla or WordPress [. It is also possible to
connect to localhost via FTP with an HTML editor.

19
5.5 ER-DIAGRAM:
User_name

password
Security que.

Departmt.
Registration

Que.answer

Retype
password

p
User_name Slot_id

B_id
User_name
cc
hall
Booking B_id
management

Status

B_id
B_date hall_id

Hall name
B_id

Hall_id

B_id
Slot_id

date
Slot

20
5.6 USE- CASE DIAGRAM:

5.6.1 USE- CASE DIAGRAM FOR USER:

REGISTRSTION

USER

LOGIN

BOOKING

BOOKING_DATES

HALL_ID

SLOAT_ID

21
5.6.2 USE- CASE DIAGRAM FOR ADMIN:

LOGIN

ADMIN

MANAGE_BOOKING

User
mangement

MANAGE
HALL_DETAILS

CHECK

BOOKING_DETAIL
S

22
Chapter6 Tools and Languages Used

6.1 HTML:

HTML stands for Hyper Text Markup Language, which is the most widely used language on
Web to develop web pages. HTML was created by Berners-Lee in late 1991 but "HTML 2.0"
was the first standard HTML specification which was published in 1995. HTML 4.01 was a
major version of HTML and it was published in late 1999. Though HTML 4.01 version is
widely used but currently we are having HTML-5 version which is an extension to HTML
4.01, and this version was published in 2012.

HTML stands for Hypertext Markup Language, and it is the most widely used language to
write Web Pages.

 Hypertext refers to the way in which Web pages (HTML documents) are linked
together. Thus, the link available on a webpage is called Hypertext.

 As its name suggests, HTML is a Markup Language which means you use HTML
to simply "mark-up" a text document with tags that tell a Web browser how to
structure it to display.

 HTML stands for Hyper Text Markup Language


 HTML describes the structure of Web pages using markup
 HTML elements are the building blocks of HTML pages
 HTML elements are represented by tags
 HTML tags label pieces of content such as "heading", "paragraph", "table", and so on.
 Browsers do not display the HTML tags, but use them to render the content of the
page.

Heading Tags:
Any document starts with a heading. You can use different sizes for your headings. HTML
also has six levels of headings, which use the elements <h1>, <h2>, <h3>, <h4>,
<h5>, and <h6>. While displaying any heading, browser adds one line before and one line
after that heading.

23
Paragraph Tag:
The <p> tag offers a way to structure your text into different paragraphs. Each paragraph of
text should go in between an opening <p> and a closing </p> tag

Line Break Tag:


Whenever you use the <br /> element, anything following it starts from the next line. This
tag is an example of an empty element, where you do not need opening and closing tags, as
there is nothing to go in between them.

The <br /> tag has a space between the characters br and the forward slash. If you omit this
space, older browsers will have trouble rendering the line break, while if you miss the
forward slash character and just use <br> it is not valid in XHTML.

6.2 CSS (Cascading Style Sheets):

Cascading Style Sheets, fondly referred to as CSS, is a simple design language intended to
simplify the process of making web pages presentable.

CSS handles the look and feel part of a web page. Using CSS, you can control the color of
the text, the style of fonts, the spacing between paragraphs, how columns are sized and laid
out, what background images or colors are used, layout designs, variations in display for
different devices and screen sizes as well as a variety of other effects.

CSS is easy to learn and understand but it provides powerful control over the presentation of
an HTML document. Most commonly, CSS is combined with the markup languages HTML
or XHTML.

Advantages of CSS:
 CSS saves time − You can write CSS once and then reuse same sheet in multiple
HTML pages. You can define a style for each HTML element and apply it to as many
Web pages as you want.

 Pages load faster − If you are using CSS, you do not need to write HTML tag
attributes every time. Just write one CSS rule of a tag and apply it to all the
occurrences of that tag. So less code means faster download times.

 Easy maintenance − To make a global change, simply change the style, and all
elements in all the web pages will be updated automatically.

24
 Superior styles to HTML − CSS has a much wider array of attributes than HTML,
so you can give a far better look to your HTML page in comparison to HTML
attributes.

 Multiple Device Compatibility − Style sheets allow content to be optimized for


more than one type of device. By using the same HTML document, different
versions of a website can be presented for handheld devices such as PDAs and cell
phones or for printing.

 Global web standards − Now HTML attributes are being deprecated and it is being
recommended to use CSS. So its a good idea to start using CSS in all the HTML
pages to make them compatible to future browsers.

A CSS rule-set consists of a selector and a declaration block:

The selector points to the HTML element you want to style.

The declaration block contains one or more declarations separated by semicolons.

Each declaration includes a CSS property name and a value, separated by a colon.

A CSS declaration always ends with a semicolon, and declaration blocks are surrounded by
curly braces.

In the following example all <p> elements will be center-aligned, with a red text color:

25
CSS Selectors:
CSS selectors are used to "find" (or select) HTML elements based on their element name, id,
class, attribute, and more.

The element Selector:

The element selector selects elements based on the element name.

You can select all <p> elements on a page like this (in this case, all <p> elements will be
center-aligned, with a red text color):

Example
p{
text-align: center;
color: red;
}

The id Selector:

The id selector uses the id attribute of an HTML element to select a specific element.

The id of an element should be unique within a page, so the id selector is used to select one
unique element!

To select an element with a specific id, write a hash (#) character, followed by the id of the
element.

The style rule below will be applied to the HTML element with id="para1":

Example
#para1 {
text-align: canter;
colour: red;
}

26
The class Selector:

The class selector selects elements with a specific class attribute.

To select elements with a specific class, write a period (.) character, followed by the name of
the class.

In the example below, all HTML elements with class="center" will be red and center-aligned:

Example
canter {
text-align: canter;
colour: red;
}

6.3 Java Script:


What is JavaScript ?

JavaScript is a dynamic computer programming language. It is lightweight and most


commonly used as a part of web pages, whose implementations allow client-side script
to interact with the user and make dynamic pages. It is an interpreted programming
language with object-oriented capabilities.
JavaScript was first known as LiveScript, but Netscape changed its name to JavaScript,
possibly because of the excitement being generated by Java. JavaScript made its first
appearance in Netscape 2.0 in 1995 with the name LiveScript. The general-purpose core of
the language has been embedded in Netscape, Internet Explorer, and other web browsers.

The ECMA-262 Specification defined a standard version of the core JavaScript language.

 JavaScript is a lightweight, interpreted programming language.


 Designed for creating network-centric applications.
 Complementary to and integrated with Java.
 Complementary to and integrated with HTML.
 Open and cross-platform.

Client-Side JavaScript:
Client-side JavaScript is the most common form of the language. The script should be
included in or referenced by an HTML document for the code to be interpreted by the
browser.

27
It means that a web page need not be a static HTML, but can include programs that interact
with the user, control the browser, and dynamically create HTML content.

The JavaScript client-side mechanism provides many advantages over traditional CGI
server-side scripts. For example, you might use JavaScript to check if the user has entered a
valid e-mail address in a form field.

The JavaScript code is executed when the user submits the form, and only if all the entries
are valid, they would be submitted to the Web Server.JavaScript can be used to trap user-
initiated events such as button clicks, link navigation, and other actions that the user initiates
explicitly or implicitly.

Advantages of JavaScript:
The merits of using JavaScript are −

 Less server interaction − You can validate user input before sending the page off to
the server. This saves server traffic, which means less load on your server.

 Immediate feedback to the visitors − They don't have to wait for a page reload to
see if they have forgotten to enter something.

 Increased interactivity − You can create interfaces that react when the user hovers
over them with a mouse or activates them via the keyboard.

 Richer interfaces − You can use JavaScript to include such items as drag-and-drop
components and sliders to give a Rich Interface to your site visitors.

JavaScript is used to create interactive websites. It is mainly used for:

o Client-side validation,
o Dynamic drop-down menus,
o Displaying date and time,
o Displaying pop-up windows and dialog boxes (like an alert dialog box, confirm dialog
box and prompt dialog box),
o Displaying clocks etc.

The biggest advantages to a JavaScript having a ability to produce the same result on all
modern browsers.

Client-Side execution: No matter where you host JavaScript, Execute always on client
environment to save a bandwidth and make execution process fast.

User Interface Interactivity: JavaScript used to fill web page data dynamically such as
drop-down list for a Country and State. Base on selected Country, State drop down list

28
dynamically filled. Another one is Form validation, missing/incorrect fields you can alert to a
users using alert box.

Rapid Development: JavaScript syntax's are easy and flexible for the developers. JavaScript
small bit of code you can test easily on Console Panel (inside Developer Tools) at a time
browser interpret return output result. In-short easy language to get pick up in development.

Browser Compatible: The biggest advantages to a JavaScript having a ability to support all
modern browser and produce the same result.

Limitations of JavaScript:
We cannot treat JavaScript as a full-fledged programming language. It lacks the following
important features –

 Client-side JavaScript does not allow the reading or writing of files. This has been
kept for security reason.

 JavaScript cannot be used for networking applications because there is no such


support available.

 JavaScript doesn't have any multi-threading or multiprocessor capabilities.Biggest


disadvantages to a JavaScript, code visible to everyone.

Code Always Visible: The biggest disadvantages is code always visible to everyone anyone
can view JavaScript code.

Bit of Slow execute: No matter how much fast JavaScript interpret, JavaScript DOM
(Document Object Model) is slow and will be a never fast rendering with HTML.

Stop Render: JavaScript single error can stop to render with entire site. However browsers
are extremely tolerant of JavaScript errors.

Once again, JavaScript is a lightweight, interpreted programming language that allows you to
build interactivity into otherwise static HTML pages.

JavaScript Development Tools:


One of major strengths of JavaScript is that it does not require expensive development
tools. You can start with a simple text editor such as Notepad. Since it is an interpreted
language inside the context of a web browser, you don't even need to buy a compiler.

To make our life simpler, various vendors have come up with very nice JavaScript editng
tools. Some of them are listed here –

29
Microsof FrontPage − Microsof has developed a popular HTML editor called FrontPage.
FrontPage also provides web developers with a number of JavaScript tools to assist in the
creaton of interactve websites.

Macromedia Dreamweaver MX − Macromedia Dreamweaver MX is a very popular HTML


and JavaScript editor in the professional web development crowd. It provides several handy
prebuilt JavaScript components, integrates well with databases, and conforms to new
standards such as XHTML and XML.

Macromedia HomeSite5 − HomeSite5 is a well-liked HTML and JavaScript editor from


Macromedia that can be used to manage personal websites efectvely.

Where is JavaScript Today?

The ECMAScript Edition 5 standard will be the first update to be released in over four years.
JavaScript 2.0 conforms to Edition 5 of the ECMAScript standard, and the difference
between the two is extremely minor.

The specification for JavaScript 2.0 can be found on the following


site: http://www.ecmascript.org/

Today, Netscape's JavaScript and Microsoft's JScript conform to the ECMAScript standard,
although both the languages still support the features that are not a part of the standard.

6.4 Bootstrap:
Bootstrap is the most popular front end framework in the recent time. It is sleek, intuitive,

and powerful mobile first front-end framework for faster and easier web development. It

uses HTML, CSS and Javascript. This tutorial will teach you the basics of Bootstrap

Framework using which you can create web projects with ease. The tutorial is divided into

sections such as Bootstrap Basic Structure, Bootstrap CSS, Bootstrap Layout Components

and Bootstrap Plugins.

30
History:
Bootstrap was developed by Mark Otto and Jacob Thornton at Twitter. It was

released as an open source product in August 2011 on GitHub.

Why Use Bootstrap?

 Mobile first approach − Bootstrap 3, framework consists of Mobile first styles


throughout the entire library instead them of in separate files.

 Browser Support − It is supported by all popular browsers.

 Easy to get started − With just the knowledge of HTML and CSS anyone can get
started with Bootstrap. Also the Bootstrap official site has a good documentation.

 Responsive design − Bootstrap's responsive CSS adjusts to Desktops, Tablets and


Mobiles.

 Provides a clean and uniform solution for building an interface for developers.

 It contains beautiful and functional built-in components which are easy to customize.

31
 It also provides web based customization.

 And best of all it is an open source.

What Bootstrap Package Includes?

 Scaffolding − Bootstrap provides a basic structure with Grid System, link styles,
and background. This is is covered in detail in the section Bootstrap Basic
Structure

 CSS − Bootstrap comes with the feature of global CSS settings, fundamental HTML
elements styled and enhanced with extensible classes, and an advanced grid system.
This is covered in detail in the section Bootstrap with CSS.

 Components − Bootstrap contains over a dozen reusable components built to provide


iconography, dropdowns, navigation, alerts, pop-overs, and much more. This is
covered in detail in the section Layout Components.

 JavaScript Plugins − Bootstrap contains over a dozen custom jQuery plugins. You
can easily include them all, or one by one. This is covered in details in the
section Bootstrap Plugins.

 Customize − You can customize Bootstrap's components, LESS variables, and


jQuery pluging to get your very own version.

Bootstrap is a powerful front-end framework for faster and easier web development. It
includes HTML and CSS based design templates for creating common user interface
components like forms, buttons, navigations, dropdowns, alerts, modals, tabs, accordions,
carousels, tooltips, and so on.

Bootstrap gives you ability to create flexible and responsive web layouts with much less
efforts.

Bootstrap was originally created by a designer and a developer at Twitter in mid-2010.


Before being an open-sourced framework, Bootstrap was known as Twitter Blueprint.

You can save a lot of time and effort with Bootstrap. So bookmark this website and continue
on.

32
Advantages of Using Bootstrap:

If you have had some experience with any front-end framework, you might be wondering
what makes Bootstrap so special. Here are some advantages why one should opt for
Bootstrap framework:

 Save lots of time — You can save lots of time and efforts using the Bootstrap predefined
design templates and classes and concentrate on other development work.
 Responsive features — Using Bootstrap you can easily create responsive websites that
appear more appropriately on different devices and screen resolutions without any change in
markup.
 Consistent design — All Bootstrap components share the same design templates and styles
through a central library, so the design and layout of your web pages will be consistent.
 Easy to use — Bootstrap is very easy to use. Anybody with the basic working knowledge of
HTML, CSS and JavaScript can start development with Bootstrap.
 Compatible with browsers — Bootstrap is created with modern web browsers in mind and
it is compatible with all modern browsers such as Chrome, Firefox, Safari, Internet Explorer,
etc.
 Open Source — And the best part is, it is completely free to download and use.

6.5 PHP (Hyper Text Preprocessor):

The PHP Hypertext Preprocessor (PHP) is a programming language that allows web
developers to create dynamic content that interacts with databases. PHP is basically used for
developing web based software applications. This tutorial helps you to build your base with
PHP.

PHP started out as a small open source project that evolved as more and more people found
out how useful it was. Rasmus Lerdorf unleashed the first version of PHP way back in 1994.

 PHP is a recursive acronym for "PHP: Hypertext Preprocessor".

 PHP is a server side scripting language that is embedded in HTML. It is used to


manage dynamic content, databases, session tracking, even build entire e-commerce
sites.

 It is integrated with a number of popular databases, including MySQL, PostgreSQL,


Oracle, Sybase, Informix, and Microsoft SQL Server.

 PHP is pleasingly zippy in its execution, especially when compiled as an Apache


module on the Unix side. The MySQL server, once started, executes even very
complex queries with huge result sets in record-setting time.

33
 PHP supports a large number of major protocols such as POP3, IMAP, and LDAP.
PHP4 added support for Java and distributed object architectures (COM and
CORBA), making n-tier development a possibility for the first time.

 PHP is forgiving: PHP language tries to be as forgiving as possible.

 PHP Syntax is C-Like.

Common uses of PHP:


 PHP performs system functions, i.e. from files on a system it can create, open, read,
write, and close them.

 PHP can handle forms, i.e. gather data from files, save data to a file, through email
you can send data, return data to the user.

 You add, delete, modify elements within your database through PHP.

 Access cookies variables and set cookies.

 Using PHP, you can restrict users to access some pages of your website.

 It can encrypt data.

Characteristics of PHP:
Five important characteristics make PHP's practical nature possible −

 Simplicity
 Efficiency
 Security
 Flexibility
 Familiarity

"Hello World" Script in PHP:

To get a feel for PHP, first start with simple PHP scripts. Since "Hello, World!" is an
essential example, first we will create a friendly little "Hello, World!" script.

34
As mentioned earlier, PHP is embedded in HTML. That means that in amongst your normal
HTML (or XHTML if you're cutting-edge) you'll have PHP statements like this –

<html>

<head>

<title>Hello World</title>

</head>

<body>

<?php echo "Hello, World!";?>

</body>

</html>

It will produce following result –

Hello, World!
If you examine the HTML output of the above example, you'll notice that the PHP code is
not present in the file sent from the server to your Web browser. All of the PHP present in
the Web page is processed and stripped from the page; the only thing returned to the client
from the Web server is pure HTML output.

All PHP code must be included inside one of the three special markup tags ATE are
recognised by the PHP Parser.

What is a PHP File?


 PHP files can contain text, HTML, CSS, JavaScript, and PHP code
 PHP code are executed on the server, and the result is returned to the browser as plain
HTML
 PHP files have extension ".php"

What Can PHP Do?


 PHP can generate dynamic page content
 PHP can create, open, read, write, delete, and close files on the server
 PHP can collect form data
 PHP can send and receive cookies
 PHP can add, delete, modify data in your database
 PHP can be used to control user-access
 PHP can encrypt data

35
With PHP you are not limited to output HTML. You can output images, PDF files, and even
Flash movies. You can also output any text, such as XHTML and XML.

Why PHP?
 PHP runs on various platforms (Windows, Linux, Unix, Mac OS X, etc.)
 PHP is compatible with almost all servers used today (Apache, IIS, etc.)
 PHP supports a wide range of databases
 PHP is free. Download it from the official PHP resource: www.php.net
 PHP is easy to learn and runs efficiently on the server side.

6.6 Ajax:
AJAX is a developer's dream, because you can:

 Update a web page without reloading the page


 Request data from a server - after the page has loaded
 Receive data from a server - after the page has loaded
 Send data to a server - in the background

AJAX = Asynchronous JavaScript And XML.

AJAX is not a programming language.

AJAX just uses a combination of:

 A browser built-in XMLHttpRequest object (to request data from a web server)
 JavaScript and HTML DOM (to display or use the data)

AJAX allows web pages to be updated asynchronously by exchanging data with a web server
behind the scenes. This means that it is possible to update parts of a web page, without
reloading the whole page.
How AJAX Works:

36
 1. An event occurs in a web page (the page is loaded, a button is clicked)
 2. An XMLHttpRequest object is created by JavaScript
 3. The XMLHttpRequest object sends a request to a web server
 4. The server processes the request
 5. The server sends a response back to the web page
 6. The response is read by JavaScript
 7. Proper action (like page update) is performed by JavaScript

XMLHttpRequest Object Properties:

Property Description

Onreadystatechange Defines a function to be called when the readyState


property changes

readyState Holds the status of the XMLHttpRequest.


0: request not initialized
1: server connection established
2: request received
3: processing request
4: request finished and response is ready

responseText Returns the response data as a string

responseXML Returns the response data as XML data

Status Returns the status-number of a request


200: "OK"
403: "Forbidden"
404: "Not Found"
For a complete list go to the Http Messages Reference

Example:

37
<script>

function loadDoc() {

var xhttp = new XMLHttpRequest();

xhttp.onreadystatechange = function()

if (this.readyState == 4 && this.status == 200) {

document.getElementById("demo").innerHTML = this.responseText;

};

xhttp.open("GET", "ajax_info.txt", true);

xhttp.send();

</script>

6.7 XAMPP Server:

XAMPP stands for Cross-Platform (X), Apache (A), MySQL (M), PHP (P) and Perl (P). It
is a simple, lightweight Apache distribution that makes it extremely easy for developers to
create a local web server for testing purposes. Everything you need to set up a web server –
server application (Apache), database (MySQL), and scripting language (PHP) – is
included in a simple extractable file. XAMPP is also cross-platform, which means it works
equally well on Linux, Mac and Windows. Since most actual web server deployments use
the same components as XAMPP, it makes transitioning from a local test server to a live
server is extremely easy as well.

38
What’s Included in XAMPP?
XAMPP has four primary components. These are:

1.Apache: Apache is the actual web server application that processes and delivers web
content to a computer. Apache is the most popular web server online, powering nearly 54%
of all websites.

2. MySQL: Every web application, howsoever simple or complicated, requires a database


for storing collected data. MySQL, which is open source, is the world’s most popular
database management system. It powers everything from hobbyist websites to professional
platforms like WordPress.

3. PHP: PHP stands for Hypertext Preprocessor. It is a server-side scripting language that
powers some of the most popular websites in the world, including WordPress and
Facebook. It is open source, relatively easy to learn, and works perfectly with MySQL,
making it a popular choice for web developers.

4. Perl: Perl is a high-level, dynamic programming language used extensively in network


programming, system admin, etc. Although less popular for web development purposes,
Perl has a lot of niche applications.

Different versions of XAMPP may have additional components such as phpMyAdmin,


OpenSSL, etc. to create full-fledged web servers.

Working with XAMPP:


XAMPP is an AMP stack which lets you install Apache, MySQL and PHP in your computer
together with some other useful software. It has been designed to provide you an easy
installation experience. It’s free and available for Windows, Mac OS and Linux.

Downloading and Installing XAMPP:


Go to XAMPP web site and download the installer based on your operating system.
Installation should be similar to a normal software installation you do in your operating
system.

When installing, there would be an option to select whether you want to run Apache and
MySQL as services. If you chose it, Apache and MySQL will start at system boot-up which
may not need if your computer is tight with memory resources or if you are not doing PHP
development frequently. You can change these settings after installation.

Starting Apache and MySQL:


Instructions provided in this article are based on Windows operating system but the
approaches should be similar for other operating systems.

39
Go to the location where you installed XAMPP (usually C:\Program Files\xampp)
and double click on XAMPP Control Panel (xampp-control.exe). This will bring you
following screen. Click on Start buttons next to Apache and MySQL for starting them.

Once opened, you would see XAMPP icon on the right of your task bar. Clicking on that icon
will show/hide XAMPP control panel. To exit from XAMPP, click on Exit button in
XAMPP Control Panel.

Apache Is Not Starting Error:


Sometimes you would experience that even after clicking Start button several times, Apache
is not starting. This is usually because some other service is running at the port required by
Apache which is 80 by default. An easy reproducible way for this error is
starting Skype before starting Apache.

In such a case, you would need to stop other service temporary and restart it after starting
Apache. For an example, if you do so for Skype, it will find another port for working after
restarting.

In the installation directory, you would see a program called Port Check (xampp-
portcheck.exe). Double click on it and it will show you status of required port for Apache,
MySQL and other software that comes with XAMPP. If required ports are already occupied,
it will show the names of services that run on those ports.

Making Requests to the Server:


Once you started Apache in control panel, type http://localhost in your web browser. This
would bring you a web page that lists XAMPP related details.

40
Putting Stuff in Web Folder:
Under XAMPP root directory there is a folder called htdocs. That’s where you should put
your web site related stuff. For each web site you create, it’s better to create a folder
inside htdocs folder and then put content inside that to avoid conflicts.

For an example, you can create a folder called learnphp inside htdocs folder and
put welcome.php inside that. Then you can access it via the
URL http://localhost/learnphp/welcome.php.

Root URL and Home Page Content:


In above example, root URL of your web site is http://localhost/learnphp/ and it’s generally
expected to see home page of the web site once root URL is typed in the web browser.

Usually web servers have been configured to look for an index file (can be index.htm,
index.html, index.php etc) in the root of the web site folder and show its content for the
home page of the site. So, if you had a file called index.php inside learnphp, you would see
its output once you typed http://localhost/learnphp/.

Locations of Configuration Files:


Based on your requirements, sometimes you would need to change default settings of your
web and database servers. Usually this is done by altering their configuration files. In
XAMPP, Apache, PHP and MySQL configurations files are located in following locations
(This assumes XAMPP installation directory as C:\Program Files\xampp).

Apache Conf File (httpd.conf): C:\Program Files\xampp\apache\conf\httpd.conf

PHP Conf File (php.ini): C:\Program Files\xampp\apache\bin\php.ini

MySQL Conf File (my.cnf): C:\Program Files\xampp\mysql\bin\my.cnf

In XAMPP, some Apache configuration settings have been moved to sub configuration files
under xampp\apache\conf\extra.

To open my.cnf, double clicking on it may not work sometimes. In that case, open Notepad
and then locate my.cnf file by setting Files of Type to All Files as below.

41
Restarting Apache and MySQL:
To take effect any configuration change, it’s required to restart Apache and/or
MySQL. In XAMPP, if these two are already running, stop them and start again in the
Control Panel.

42
Chapter7 DataBase Design

In our data flow diagram, we give names to data flows, processes and data stores. Although
the names are descriptive of data, they do not give details .So following DFD, our interest is
to build some details of the contents of data flows, 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 data structures .The data dictionary for the current system has been given as
under

7.1 Tables for Project:

7.1.1 login table: This table maintains details of loginuser.

43
7.1.2 Hall details Table: This table maintains details of Halls.

44
7.1.3 Booking dates table: This table show the booking details.

45
7.1.4 Booking Table:

46
Chapter8 Coding

The coding step of the development phase translates the software design into a programming
language that can be executed by a computer .

8.1 Approaches Used:

Top- down and bottom-up approach are strategies of information processing and knowledge
ordering.

A top-down approach is essentially breaking down a system to gain insight into its
compositional sub-systems. In a top-down approach an overview of the system is first
formulated, specifying but not detailing any first-level subsystems. Each subsystem is then
refined in yet greater detail, sometimes in many additional subsystem levels, until the entire
specification is reduced to base elements.

A bottom-up approach is essentially piecing together systems to give rise to grander systems,
thus making the original systems sub-systems of the emergent system. In a bottom-up
approach the individual base elements of the system are first specified in great detail. These
elements are then linked together to form larger subsystems, which then in turn are linked,
sometimes in many levels, until a complete top-level system is formed.

47
On hall ticket booking system web application has used top-down approach. In this
system, firstly understand the problem. The major step in the development process is to
realize exactly what the problem to be solved is really about. These first thoughts give us
valuable information about the purpose of the application. Another valuable source of
information is the end users that are going to use the application. It is always a good idea to
involve the end users at an early stage of the development process to make sure that your
application solves the correct problem.Create a database. In this database, create tables for all
subsystems Specifying each and every field of all these tables in detail. Specify the primary
key and foreign keys of each table in the database. Now specify the relationships between
these tables in the database. Specify which field of which table is related with which field of
another table and how. In this way, link each table of the database with each-other. Thus, the
development of Management System follows top-down approach.

By identifying how the application is going to be used and which routines the users will
perform with the system, we get a good idea of the data our application is going to handle.
Designing the tables will often be the most difficult part of the entire application development
process. Getting our table design right is crucial as the rest of the application is built on top of
the tables.

It is also important that we identify the forms and reports that are needed. This is the only
way we can design the underlying system to provide the information necessary in them.

The most important results of this step are a clear picture of...

I. the problem the system is going to solve


II. the functionality of the system, that is, how will the application solve the problem
III. who is going to use the system

Other results of this step are first ideas of...

 which tables are necessary (and relations between them)


 which forms and reports the users need
 the structure of the menus that gives access to the entire application

When you have completed this step, test your results with the users/customers. Create a
requirements specification together with your customer. The requirements specification can
be made as a description of criteria which must be fulfilled.

Create tables to hold our data

48
Our tables and the relations between them make up the foundation of our application. A bad
table design affects the whole application. This is why it is important to analyze our data and
break it into tables before you create any other application objects

Defining relations between our tables are very important. You should make sure that our
tables adhere to the first three normal forms. This brings many benefits, such as an increase in
consistency and maintainability, a reduction in data redundancy and better search
performance from smaller tables (with narrower rows).

Create forms for interacting with the customer’s

To the users of our application the forms are the application, as it makes up most of the
application’s user interface. Forms are the most important way for our users to interact with
the application. By interacting with forms, the users control the flow of our application. Start
by creating a form that is used to enter data in our application. Add a few sample records of
sample data to our tables. This makes it easier to see whether our (forms and reports) display
the data you want.

For each form, determine what data you want on it, and then create a data source that
contains the data. This is also a test of our tables because you will be able to see if you can
get the data you want from the tables.

Create reports to extract information and present surveys Reports are used to get printed
overview of information extracted from our application’s Data. Typically you produce
applicant list, time period list etc. If you want to check that which Employee has done work
for which client and how much then you can take its report.

Create menus and menu items for accessing the functionality in our application

Creating menus and menu items is the final step before our application development process
is finished. The end users access the functionality in our application through menus. Menus in
hall ticket booking system is very flexible compared to other systems. This application
normally has several menus that are customized specifically to certain uses of the systems.

The Menu items serve as a layer between the end users and the application objects. The menu
items are also used to limit access to the application, based on the privileges defined for the
user.

49
8.2 Modules & Explanation:

Modules:

Overall Description of Application:

 Login
 Registration
 User’s profile
 Hall details
 Check booking details
 Booking date management

8.2.1Module description:

1.Home Page:

50
2. Login Form:

51
3.Registration form:

52
4. Admin profile:

53
5. Hall Booking details:

54
6. Hall details:

55
7. Manage user details:

56
8. View Booking details:

8.1 Based on user id:

57
8.2 Based on dates:

8.3 Based on hall id:

58
9. Open booking for next week:

59
Chapter9 Testing

Testing plays a critical role in quality assurance for software .Due to the limitation of the
verification method for the previous phases, design and requirement fault also appear in the
code. Testing is used to detect these errors, in edition to the error introduced during coding
phase.
Testing is a dynamic method for verification and validation, where the system is to be tested
is executed and behavior of the system is observed. Due to this testing the failure of the
system can be observed, from which the presence of fault can be deduced. However, separate
activities have to be performed to identify the faults.
There are two method of testing: functional and structural. In functional testing, the internal
logic of the system under testing is not considered and the test cases are decided from the
specification or the requirements. It is often called “Black Box Testing”. Equivalence class
partitioning, boundary analysis, and cause effect graphing are examples of methods for
selecting test cases for functional testing. In structural testing, the test cases are decided
entirely on the internal logic of the program or module being tested.
As the goal of testing is to detect any errors in the programs different flavor of testing are
often used. Unit testing are used to test a module or a small collection of modules and the
focus is on detecting coding errors in modules. During integration testing modules are
combined into sub-system, which are then tested. The goal here is to test the system design.
In system testing and acceptance testing, the entire System is tested.

60
The goal here is to test the requirement themselves. Structural testing can be used for unit
testing while at higher level mostly functional testing is used.
System testing is a critical phase in systems implementation. Testing of a system involves
hardware device testing and debugging of computer programs and testing information
processing procedures. Testing can be done with test data, which attempts to simulate all
possible conditions that may arise during processing. The plane for testing are prepared and
then implemented.

9.1 Test criteria:

 Stability (ST) – Focusing on the application being stable on the device.


 Application Launch (AL) – Once an application is loaded it must start (launch) and
stop correctly in relation to the device and other applications on the device.
 User Interface (UI) - The intent is to not specify exactly how to design a user
interface but rather to give general guidelines. It is expected that publishers and
network operators will further define the look and feel of an application's user
interface to make it more in conformance with their overall look and feel.
 Localization (LO) - Applications that are to be deployed to localities other than their
point of origin must account for changes in language, alphabets, date and money
formats, etc.
 Functionality (FN) - Documented features are implemented in the application and
work as expected. Sources for the information are user manuals, formatted application
specification documents and online documentation.
 Connectivity (CO) - If an application has communication capabilities then it must
demonstrate its ability to communicate over a network correctly. It must be capable of
dealing with both network problems and server-side problems.
 Personal Information Management (PI) - The application accessing user
information needs to be able to do it in an appropriate manner and not to destroy the
information.
 Security (SE) - Listing different security related issues like username and password
of the user tested from the applications.
 Retesting (RE) - Tests specific to retesting only.

61
9.2 Levels of Testing:

 In order to uncover the errors present in different phases, we have the concept of
levels of testing. The basic levels of testing are
 Client Needs Acceptance
Testing

 Requirements System Testing



 Design Integration
Testing

 Code Unit Testing

Unit testing

 Unit testing focuses verification effort on the smallest unit of software i.e. the module.
Using the detailed design and the process specifications, testing is done to uncover
errors within the boundary of the module. All modules must be successful in the unit
test before the start of the integration testing begins.
 In this project each service can be thought of a module. There are so many modules
like Login, HR Department, Interviewer Section, etc. Each module has been tested by
giving different sets of inputs. When developing the module as well as finishing the
development, the module works without any error. The inputs are validated when
accepting them from the user.

Integration Testing
 After unit testing, we have to perform integration testing. The goal here is to see if
modules can be integrated properly, the emphasis being on testing interfaces between
modules. This testing activity can be considered as testing the design and hence the

62
emphasis on testing module interactions.
 In this project the main system is formed by integrating all the modules. When
integrating all the modules I have checked whether the integration effects working of
any of the services by giving different combinations of inputs with which the two
services run perfectly before Integration.

 System Testing
 Here the entire software system is tested. The reference document for this process is
the requirements document, and the goal is to see if software meets its requirements.
 Here entire ‘HRRP’ has been tested against requirements of project and it is checked
whether all requirements of project have been satisfied or not

Acceptance Testing
 Acceptance Testing is performed with realistic data of the client to demonstrate that
the software is working satisfactorily. Testing here is focused on external behavior of
the system; the internal logic of program is not emphasized.
 Test cases should be selected so that the largest number of attributes of an equivalence
class is exercised at once. The testing phase is an important part of software
development. It is the process of finding errors and missing operations and also a
complete verification to determine whether the objectives are met and the user
requirements are satisfied.

9.3 Test Information Flow:

A strategy for software testing may also be viewed in the context of the spiral. Unit testing
begins at the vortex of the spiral and, concentrates on each unit, component of the software as
implemented in source code. Testing progresses moving outward along the spiral to
integration testing, where the focus is on designed the construction of the software

63
architecture. Taking another turn outward on spiral, we encounter validation testing, where
requirements established as part of software requirements analysis are validated against the
software that has been constructed. Finally, we arrive at system testing, where the software
and other system elements are tested as a whole. To test computer software, we spiral out
along stream lines that broaden the scope of testing with each turn.

Considering the process from a procedural point of view, testing within the context of
software engineering is actually a series of four steps that are implemented sequentially. The
steps are shown in Figure. Initially, tests focus on each component individually, ensuring that
it functions properly as unit. Hence, the name unit testing. Unit testing makes heavy use of
white-box testing techniques, exercising specific paths in module’s control structure to ensure
complete coverage and maximum error detection.

System Testng

Validaton Testng

Integraton Testng

Validaton testng

Code

Design

64
9.4 Test Cases:

(Fig. Test Case for Login Form)

65
(Fig. Test Case for Check-In Form)

9.5 Application Security:

There are basically two types of security associated with this system:-

1. Physical security:-

Damage due to natural causes like earth tremor, flooding, water logging, fire hazards,
atmospheric or environmental conditions etc. For overcoming these difficulties the replica of

66
the data are automatically stored at various networks and for environmental conditions Air
conditioning environment is created.

2. Data security:-

There are basically two problems associated with data security:-

1. Data not being available to the authorized person at the time of need.
2. Data becoming available to the unauthorized person.

To overcome these difficulties the following access facilities has been provided:-

i) Identification:-

Unique Ids for the different users have been provided.

ii) Authentication:-

System checks the password under the particular user identification. The computer permits
the various resources to the authorized person.

iii) Authorization:-

The access control mechanism to prevent unauthorized logging to the system

67
Chapter10 Implementation

System implementation is the stage when the user has thoroughly tested the system and
approves all the features provided by the system. The various tests are performed and the
system is approved only after all the requirements are met and the user is satisfied.

The new system may be totally new; replacing an existing manual or automated system, or it
may a major modification to an existing system. In the either case, proper implementation is
essential to provide a reliable system to meet organization requirements .successful
implementation may not guarantee improvement in the organization using the new system
Implementation is the process of having systems personal check out and put new equipment
to use, train users, install the new application and construct any files of data needed to use it.

This phase is less creative than system design. Depending on the size of the organization that
will be involve in using the application and the risk involved in its use, system developer may
choose to test the operation in only one area of the firm with only one or two persons.
Sometimes, they will run both old and new system in parallel way to compare the results. In
steel other situations, system developers stop using the old systems one day and start using
the new one the next.

A number of popular software packages are designed to produce easily readable site traffic
reports, complete with data graphics and charts to aid in data analysis. As a service to
customers, site hosting companies often offer reports from popular site analysis programs like
Web Trends, often free of charge. Before contracting with an Internet Service Provider (ISP)
for site hosting services, always ask about site analysis services. If you’re ISP or corporate
Web site does not offer a good site traffic analysis package, ask whether the Webmaster can
give you access to a monthly server log of your account. Basic versions of traffic analysis
programs like Web Trends cost about three hundred dollars, and you can run them on a
personal computer if you can gain access to the raw Web server log from your ISP or
corporate webmaster.

68
Top-down implementation:

Top down implementation begins with the user invoked module and works toward the

modules that do not call any other modules. The implementation may proceed depth-first or

breadth-first.

Bottom- Up implementation:
Implementation begins with modules that do not call any other modules and work toward the

main program. Test harness are used to test individual modules. The main module constitutes

the final test harness.

Stubs:

Stub programming is the implementation analogue of top-down and stepwise refinement. It

supports incremental program development by allowing for error and improvement. A stub

program is a stripped-down, skeleton version of a final program. It doesn't implement details

of the algorithm or fulfill all the job requirements. However, it does contain rough versions of

all subprograms and their parameter lists. Furthermore, it can be compiled and run. Extensive

use of procedures and parameter are the difference between stub programs and prototypes.

Quick and dirty prototypes should be improved and rewritten. A stub program helps

demonstrates that a program's structure is plausible. Its procedures and functions are

unsophisticated versions of their final forms, but they allow limited use of the entire program.

In particular, it may work for a limited data set. Often the high-level procedures are ready to

call lower-level code, even if the more detailed subprograms haven't even been written.

69
Chapter11 Maintenance

The maintenance starts after the final software product is delivered to the client. The

maintenance phase identifies and implements the change associated with the correction of

errors that may arise after the customer has started using the developed software. This also

maintains the change associated with changes in the software environment and customer

requirements. Once the system is a live one, Maintenance phase is important. Service after

sale is a must and users/ clients must be helped after the system is implemented. If he/she

faces any problem in using the system, one or two trained persons from developer’s side can

be deputed at the client’s site, so as to avoid any problem and if any problem occurs

immediate solution may be provided.

Even though the definition of equivalence partitioning states that testing one value from a

class is equivalent to testing any other value from that class, we need to look at the

boundaries of equivalent classes more closely. This is so since boundaries are more error

prone.

To design two valid cases at both the ends test cases using boundary value analysis, for a
range of values,

 Two valid cases at both the ends

 Two invalid cases just beyond the range limits

70
11.1 Cause Effect Analysis:

 The main drawback of the previous two techniques is that they do not explore the
combination of input conditions.

 Cause effect analysis is an approach for studying the specifications carefully and
identifying the combinations of input conditions (causes) and their effect in the
form of a table and designing test cases

 It is suitable for applications in which combinations of input conditions are few and
readily visible.

11.2 Cause Effect Graphing:

This is a rigorous approach, recommended for complex systems only. In such systems the
number of inputs and number of equivalent classes for each input could be many and hence
the number of input combinations usually is astronomical. Hence we need a systematic
approach to select a subset of these input conditions.

Software maintenance is widely accepted part of SDLC now a days. It stands for all the
modifications and updations done after the delivery of software product. There are number
of reasons, why modifications are required, some of them are briefly mentioned below:

 Market Conditions - Policies, which changes over the time, such as taxation and
newly introduced constraints like, how to maintain bookkeeping, may trigger need
for modification.

 Client Requirements - Over the time, customer may ask for new features or
functions in the software.

 Host Modifications - If any of the hardware and/or platform (such as operating


system) of the target host changes, software changes are needed to keep adaptability.

 Organization Changes - If there is any business level change at client end, such as
reduction of organization strength, acquiring another company, organization
venturing into new business, need to modify in the original software may arise.

71
Types of maintenance:

In a software lifetime, type of maintenance may vary based on its nature. It may be just a
routine maintenance tasks as some bug discovered by some user or it may be a large event in
itself based on maintenance size or nature. Following are some types of maintenance based
on their characteristics:

 Corrective Maintenance - This includes modifications and updations done in order


to correct or fix problems, which are either discovered by user or concluded by user
error reports.

 Adaptive Maintenance - This includes modifications and updations applied to keep


the software product up-to date and tuned to the ever changing world of technology
and business environment.

 Perfective Maintenance - This includes modifications and updates done in order to


keep the software usable over long period of time. It includes new features, new user
requirements for refining the software and improve its reliability and performance.

 Preventive Maintenance - This includes modifications and updations to prevent


future problems of the software. It aims to attend problems, which are not significant
at this moment but may cause serious issues in future.

72
Cost of Maintenance:
Reports suggest that the cost of maintenance is high. A study on estimating software
maintenance found that the cost of maintenance is as high as 67% of the cost of entire
software process cycle.

On an average, the cost of software maintenance is more than 50% of all SDLC phases.
There are various factors, which trigger maintenance cost go high, such as:

Real-world factors affecting Maintenance Cost

 The standard age of any software is considered up to 10 to 15 years.


 Older softwares, which were meant to work on slow machines with less memory and
storage capacity cannot keep themselves challenging against newly coming enhanced
softwares on modern hardware.
 As technology advances, it becomes costly to maintain old software.
 Most maintenance engineers are newbie and use trial and error method to rectify
problem.
 Often, changes made can easily hurt the original structure of the software, making it
hard for any subsequent changes.
 Changes are often left undocumented which may cause more conflicts in future.
Software-end factors affecting Maintenance Cost

 Structure of Software Program


 Programming Language

73
 Dependence on external environment
 Staff reliability and availability

Maintenance Activities
IEEE provides a framework for sequential maintenance process activities. It can be used in
iterative manner and can be extended so that customized items and processes can be
included.

These activities go hand-in-hand with each of the following phase:

 Identification & Tracing - It involves activities pertaining to identification of


requirement of modification or maintenance. It is generated by user or system may
itself report via logs or error messages.Here, the maintenance type is classified also.

 Analysis - The modification is analyzed for its impact on the system including safety
and security implications. If probable impact is severe, alternative solution is looked
for. A set of required modifications is then materialized into requirement
specifications. The cost of modification/maintenance is analyzed and estimation is
concluded.

74
 Design - New modules, which need to be replaced or modified, are designed against
requirement specifications set in the previous stage. Test cases are created for
validation and verification.

 Implementation - The new modules are coded with the help of structured design
created in the design step.Every programmer is expected to do unit testing in parallel.

 System Testing - Integration testing is done among newly created modules.


Integration testing is also carried out between new modules and the system. Finally
the system is tested as a whole, following regressive testing procedures.

 Acceptance Testing - After testing the system internally, it is tested for acceptance
with the help of users. If at this state, user complaints some issues they are addressed
or noted to address in next iteration.

 Delivery - After acceptance test, the system is deployed all over the organization
either by small update package or fresh installation of the system. The final testing
takes place at client end after the software is delivered.

Training facility is provided if required, in addition to the hard copy of user manual.

 Maintenance management - Configuration management is an essential part of


system maintenance. It is aided with version control tools to control versions, semi-
version or patch management.

Software Re-engineering

When we need to update the software to keep it to the current market, without impacting its
functionality, it is called software re-engineering. It is a thorough process where the design
of software is changed and programs are re-written.

Legacy software cannot keep tuning with the latest technology available in the market. As
the hardware become obsolete, updating of software becomes a headache. Even if software
grows old with time, its functionality does not.

For example, initially Unix was developed in assembly language. When language C came
into existence, Unix was re-engineered in C, because working in assembly language was
difficult.

Other than this, sometimes programmers notice that few parts of software need more
maintenance than others and they also need re-engineering.

75
Re-Engineering Process

 Decide what to re-engineer. Is it whole software or a part of it?


 Perform Reverse Engineering, in order to obtain specifications of existing software.
 Restructure Program if required. For example, changing function-oriented programs
into object-oriented programs.
 Re-structure data as required.
 Apply Forward engineering concepts in order to get re-engineered software.
There are few important terms used in Software re-engineering .

Reverse Engineering
It is a process to achieve system specification by thoroughly analyzing, understanding the
existing system. This process can be seen as reverse SDLC model, i.e. we try to get higher
abstraction level by analyzing lower abstraction levels.

An existing system is previously implemented design, about which we know nothing.


Designers then do reverse engineering by looking at the code and try to get the design. With
design in hand, they try to conclude the specifications. Thus, going in reverse from code to
system specification.

76
Program Restructuring

It is a process to re-structure and re-construct the existing software. It is all about re-
arranging the source code, either in same programming language or from one programming
language to a different one. Restructuring can have either source code-restructuring and
data-restructuring or both.

Re-structuring does not impact the functionality of the software but enhance reliability and
maintainability. Program components, which cause errors very frequently can be changed,
or updated with re-structuring.

The dependability of software on obsolete hardware platform can be removed via re-
structuring.

Forward Engineering

Forward engineering is a process of obtaining desired software from the specifications in


hand which were brought down by means of reverse engineering. It assumes that there was
some software engineering already done in the past.

Forward engineering is same as software engineering process with only one difference – it is
carried out always after reverse engineering.

77
Component reusability

A component is a part of software program code, which executes an independent task in the
system. It can be a small module or sub-system itself.

Example
The login procedures used on the web can be considered as components, printing system in
software can be seen as a component of the software.

Components have high cohesion of functionality and lower rate of coupling, i.e. they work
independently and can perform tasks without depending on other modules.

In OOP, the objects are designed are very specific to their concern and have fewer chances
to be used in some other software.

In modular programming, the modules are coded to perform specific tasks which can be
used across number of other software programs.

There is a whole new vertical, which is based on re-use of software component, and is
known as Component Based Software Engineering (CBSE).

Re-use can be done at various levels

 Application level - Where an entire application is used as sub-system of new


software.

 Component level - Where sub-system of an application is used.

 Modules level - Where functional modules are re-used.

Software components provide interfaces, which can be used to establish


communication among different components.

78
Reuse Process:

Two kinds of method can be adopted: either by keeping requirements same and adjusting
components or by keeping components same and modifying requirements.

 Requirement Specification - The functional and non-functional requirements are


specified, which a software product must comply to, with the help of existing
system, user input or both.

 Design - This is also a standard SDLC process step, where requirements are defined
in terms of software parlance. Basic architecture of system as a whole and its sub-
systems are created.

 Specify Components - By studying the software design, the designers segregate the
entire system into smaller components or sub-systems. One complete software
design turns into a collection of a huge set of components working together.

 Search Suitable Components - The software component repository is referred by


designers to search for the matching component, on the basis of functionality and
intended software requirements..

 Incorporate Components - All matched components are packed together to shape


them as complete software.

79
Chapter12 Scope of the Project

The Online Hotel Management System can help the different organization in reducing the
overhead of engaging too many customer in the manually booking procedure and the
consumed time and money. This system can also help in the Government sector as well as
private for making conferences. They can easily book halls for their meetings, and it will
surely save their time also.

Though there are many online systems available on internet but this can compete with them
with some advancement in its functionality and can be used by any hotel organization to
maintain their customer’s record and online booking process.

The basic functionalities of the system are:


 Check Availability
 Login
 Password Recovery
 View profile
 Hotel view
 Package Booking
 Cancel Booking

80
Chapter13 Limitations

Since, every system has some limitations so our proposed system is also not untouchable in
this regard. Although it includes every kind of features but it can’t be used with a huge data
where number of users are very large, because the data base used in this system is an average
one.

Data base may be the problem in future days when the applicants will be increases. That
might be a problem. That is another limitation of the project. If the applicants will increase
then it will be tuff to store the whole data in the data base and it will also tuff to gathering the
information

 Problems of security: Various sites are not properly locked at to ensure whether the
customer’s data is safe in cyber world or not.
 Wrong assumption: Many people are afraid using Internet because of the assumption
that it is more expensive than the traditional method of dealing. They still prefer going to
hotel to perform booking and other.

81
Chapter14 Conclusion

This project was successfully completed within the time span allotted. The project hall ticket
booking system has been developed in apache xampp server. All the modules are tested
separately and put together to form the main system. Finally the system is tested with real
data and everything worked successfully. Thus the system has fulfilled the entire objective
identified.

The system had been developed in an attractive dialogs fashion. So user with minimum
knowledge about computers can also operate the system easily. It will make easy
interactions between users and store. The speed and accuracy are maintained in proper way.

Overall the Online System procedure the online features and the customer to save the time,
effort, and money.

82
Chapter15 Bibliography

REFERENCES :

 Lee Purcell, Mary Jane Mara, “The ABCs of JavaScript”, Third Edition, 1996.
 Roger Pressman , “Software Engineering”, Fourth Edition, published by Tata Mc
Graw Hill, Fifth Edition, 2001.
 Steven Holzener , “HTML Black Book” , by Coriolis Group Books , Second Edition,
2000

WEBSITES:

 http:/www.javatpoint.com
 www.w3schools.com

83

You might also like