0% found this document useful (0 votes)
77 views62 pages

Santoshi Project Report

The document is a project submission for an Online Hall Booking System developed by Santoshi Pharswan. It includes an acknowledgment, self-certificate, abstract, and index outlining the chapters which will cover the introduction of the project, requirements analysis, specification document, software design, tools and languages, database design, coding, testing, implementation, maintenance, scope, limitations, and conclusion. The project aims to develop a web-based hall booking management system to allow users to search for and book halls online, managing hall and customer details through an administrative interface.

Uploaded by

balwant
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
77 views62 pages

Santoshi Project Report

The document is a project submission for an Online Hall Booking System developed by Santoshi Pharswan. It includes an acknowledgment, self-certificate, abstract, and index outlining the chapters which will cover the introduction of the project, requirements analysis, specification document, software design, tools and languages, database design, coding, testing, implementation, maintenance, scope, limitations, and conclusion. The project aims to develop a web-based hall booking management system to allow users to search for and book halls online, managing hall and customer details through an administrative interface.

Uploaded by

balwant
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 62

ONLINE HALL BOOKING SYSTEM

Submitted in partial fulfilment of the requirements


for the award of the degree of Bachelor of Computer
Applications

Submitted by:
Santoshi Pharswan

Roll No:
1612330041

Submitted to:
Dr. Ashish Mehta

1
ACKNOWLEDGMENT

This project itself is acknowledgment for all those people who have given me their heartfelt
cooperation in making this project successful.

I extend our sincere thanks to Mr. Ashish Mehta Head of Computer Science Department, for
providing the necessary Infrastructure and labs and also permitting to carry out this project.

I express my deep sense of gratitude to our respected and learned guides at BCA department
for providing the necessary Infrastructure and labs and also permitting to carry out this
project.

With extreme jubilance and deepest gratitude, I would like to thank all the faculty of the
Computer Science Department and peers for their valuable pieces of advice at every stage of
this work.

Lastly, I would like to express my deep apperception towards my classmates and my


indebtedness to my parents for providing me the moral support and encouragement.

2
SELF CERTIFICATE

This is to certify that the dissertation/project report entitled “Online Hall Booking System”
is done by me is an authentic work carried out for the partial fulfilment of the requirements
for the award of the degree of Bachelor of Computer Applications. The matter embodied in
this project work has not been submitted earlier for the award of any degree or diploma to the
best of my knowledge and belief.

Signature of the student

Name of the Student:

Santoshi Pharswan

Roll No:

1612330041

Study Centre Name:

DSB Campus Nainital

3
ABSTRACT

A Web base hall booking management system provides the searching facilities based on
various factor. Web base hall booking management systems are going to develop web portal
for searching halls. This web portable is used to check the availability of halls hence we need
not go and visit the place. The user should have wasted his / her time and the money to search
for hall. Information of individual’s hall is stored in database. New admin of hall can insert
his details in web portal. As he becomes a member of web portal he can edit his information
and update date of booking. The main objective of the hall booking management system is to
manage the details, of booking customers and hall. The project is totally built at
administrative end and thus only the administrator is the manual work for managing the
payment, Booking Dates, inventory, booking. It tracks all the details about the Booking
Customers Hall.

4
INDEX
CHAPTER 1 - INTRODUCTION OF PROJECT

1.1 Live Project on Hall Booking And Management System

1.1.1Introduction

1.1.2 Purpose of The web Application

1.1.3 Scope of the Proposed web Application

1.1.4 Overview of Proposed overview Application

CHAPTER 1 - REQUIREMENTANALYSIS

2.1 Functional Requirements

2.2 Non Functional Requirements

2.3 Hardware Requirements

2.4 Software Requirement

2.5 Tools and Environment

CHAPTER 3- REQUIREMENT SPECIFICATION DOCUMENT

3.1 General description of project

3.2 Certain specific requirements

CHAPTER 4 - SOFTWARE DESIGN

4.1 Introduction

4.2 DFD

4.3 User Interface Design

4.4 ER Diagram

4.5 Use Case Diagram

CHAPTER 5 - TOOLS AND LANGUAGES

5.1 HTML

5.2 CSS

5.3 JavaScript

5
5.4 Bootstrap

5.5 PHP

5.6 Ajax

5.7 XAMPP Server

CHAPTER 6 - DATABASE DESIGN

6.1 Tables for Project

CHAPTER 7- CODING

7.1 Approach used

7.2 Module and Explanation

CHAPTER 8 - TESTING

8.1 Test criteria

8.2 Levels of testing

8.3 Test information flow

8.4 Test Cases

8.5 Application Security

CHAPTER 9 - IMPLEMENTATION

CHAPTER 10 - MAINTENANCE

CHAPTER 11 - SCOPE OF THE PROJECT

CHAPTER 12 - LIMITATIONS

CHAPTER 13 - CONCLUSION

CHAPTER 14 - BIBLIOGRAPHY

6
Chapter1 Introduction of Project

2.1. Live Project Profile of Hall Booking And Management

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.

1.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.

1.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.

7
1.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

1.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

8
Chapter2 Requirement Analysis

2.1-Functional Requirements:

 Customer can request details of the service available.


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

2.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.

2.3 Hardware Requirements:

Minimum Hardware Requirement


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

2.4 Software Requirements:

Minimum Software Requirements:-

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

Server - Xampp and wamp server

9
2.5 Tools and Environment:

WEB Server –Apache Server


Server- Xampp server and wamp server
Client Side – HTML5
Server Side- PHP

10
Chapter3 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.

3.1 General description of project:

3.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

11
3.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.

3.2 Certain specific requirements:

3.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.

3.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

3.2.4 Software interaction: - Apache xammp server

12
Chapter4 Software Design

4.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.

4.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

13
4.3 -Data Flow Diagram (DFD):

CONTEXT [0-Level] Diagram DFD:

User Login/ registration Hall details Admin

Login user details

Cancel

Hall details

Login admin

User management

Open booking

Hall Booking System View booking inf.

14
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

15
4.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. 4.1

16
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 deployment 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.

17
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.

18
4.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

19
4.6 USE- CASE DIAGRAM:

4.6.1 USE- CASE DIAGRAM FOR USER:

REGISTRSTION

USER

LOGIN

BOOKING

BOOKING_DATES

HALL_ID

SLOAT_ID

20
4.6.2 USE- CASE DIAGRAM FOR ADMIN:

LOGIN

ADMIN

MANAGE_BOOKING

User
mangement

MANAGE
HALL_DETAILS

CHECK

BOOKING_DETAIL
S

21
Chapter5 Tools and Languages Used

5.1 HTML:

Hypertext Markup Language, a standardized system for tagging text files to


achieve font, color, graphic, and hyperlink effects on World Wide Web pages.
HTML is the language for describing the structure of Web pages. HTML gives
authors the means to:
 Publish online documents with headings, text, tables, lists, photos, etc.
 Retrieve online information via hypertext links, at the click of a button.
 Design forms for conducting transactions with remote services, for use in
searching for information, making reservations, ordering products, etc.
 Include spread-sheets, video clips, sound clips, and other applications directly
in their documents.
With HTML, authors describe the structure of pages using markup. The elements
of the language label pieces of content such as paragraph, list, table and so on.

5.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.

22
5.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.

5.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.

5.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.

23
 It is integrated with a number of popular databases, including MySQL, PostgreSQL,
Oracle, Sybase, Informix, and Microsoft SQL Server.

5.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.

5.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.

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.

24
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.

25
Chapter6 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

6.1 Tables for Project:

6.1.1 login table: This table maintains details of loginuser.

26
6.1.2 Hall details Table: This table maintains details of Halls.

27
6.1.3 Booking dates table: This table show the booking details.

28
6.1.4 Booking Table:

29
Chapter7 Coding

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

7.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.

30
On hall 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

31
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 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.

32
7.2 Modules & Explanation:

Modules:

Overall Description of Application:

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

7.2.1Module description:
1. Login/Sign-in Form:

33
2.Registration form:

3. Admin panel:

34
4. Hall Booking details:

5. Hall details:

35
6. Manage user details:

7. View Booking details:

36
7.1 Based on user id:

7.2 Based on dates:

37
7.3 Based on hall id:

8. Open booking for next week:

38
Chapter8 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.

39
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.

8.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.

40
8.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

41
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.

8.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

42
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 Testing

Validation Testing

Integration Testing

Validation testing

Code

Design

43
8.4 Test Cases:

(Fig. Test Case for Login Form)

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

8.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

45
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

46
Chapter9 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.

47
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.

48
Chapter10 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

49
10.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.

10.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.

50
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.

51
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

52
 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.

53
 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.

54
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.

55
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.

56
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.

57
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.

58
Chapter11 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

59
Chapter12 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.

60
Chapter13 Conclusion

This project was successfully completed within the time span allotted. The
project hall 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.

Chapter14 Bibliography

REFERENCES :

 Lee Purcell, Mary Jane Mara, “The ABCs of JavaScript”, Third Edition, 1996.

61
 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

62

You might also like