Professional Documents
Culture Documents
MBA Project 4th Sem - Hotel Management
MBA Project 4th Sem - Hotel Management
A PROJECT REPORT
_____________________________________________
Submitted by SUNEETHA BNCK LAKHAMRAJU
_____________________________________________
Of
JANUARY - 2013
Page 1
ACKNOWLEDGEMENT
I express thanks and gratitude to my family members and friends without whose uncontained
I wish to place on my record my deep sense of gratitude to my project guide, Mr. BALA
constant motivation and valuable help through the project work. Express my gratitude to
TECHNOLOGY for his valuable suggestions and advices throughout the MBA IT course. I also
Finally I would like to thank my friends for their cooperation to complete this project.
Page 2
BONAFIDE CERTIFICATE
SIGNATURE SIGNATURE
Page 3
ABSTRACT
“HOTEL MANAGEMENT SYSTEM” deals with providing all the facilities of a
hotel in an easier way. The clients can gain information about the hotel through the
website. They can get the view of the hotel with the click of a mouse. The clients
can also book the rooms or halls online.
In the conventional system, clients had to go to the site and book their rooms. The
information they get would be based on the word of mouth of the staff. The
information provided in the new system is more reliable.
The administrator will be updating all the details and the authorized user will login
and book rooms or halls as per his requirements. This system provides ease and
security while making transactions.
Page 4
CONTENTS
No. Topics Page No.
Page 5
No. Topics Page No.
Page 6
1.0 HOTEL MANAGEMENT SYSTEM
System Description: This project deals with creating and managing a website for a hotel.
It gives all the details of the hotel and provides various functions of a client.
Administrator : The administrator maintains all the information about the rooms, halls
and users in different tables. The administrator has the privileges to make changes to the
above mentioned tables.
Client : The client is the one visiting the website and gaining information regarding the
hotel. The client has the flexibility to book the rooms or halls as per his requirements.
The client has various functions.
1) About us
2) Login
3) Registration
4) Booking
5) Restaurants
6) Function halls
7) Tourism
8) Feedback
9) Gallery
About us :
In this module, we provide basic information about the hotel and a general overview
of what’s in the website. This helps the client to know more about the hotel.
Login :
In this module, a registered user can login to book rooms or halls. A user once logged
in must log out before closing the window.
Registration :
A user must login to book rooms or halls and only registered user can login. A
registered user gets many facilities like special offers and latest news through mail.
The details of every user registered are stored in a table.
Page 7
Booking :
This module provides booking facilities. The clients can book rooms as per their
requirements only after logging in. The details of the rooms are stored in a table. The
user selects a room and after booking, the details of the user is stored along with the
rooms.
Restaurants :
Here, the clients can view the menu card which is stored in a database along with
other details like the amount. The clients can also ask for home delivery.
Function halls :
This module provides event management. The clients select a hall based on the
number of people, type of event and time of event. The details of the function halls
are stored in the database. After booking, the details of the client are stored along
with the function halls.
Tourism :
This module provides an extra feature. The hotel provides details about the climate
and weather conditions of the city and the roadmap to the hotel. It also provides
details of various tourist spots and shopping sites in the city.
Feedback :
Every organization needs to know what its clients think about them. This is helpful in
improvisation. In this module, the hotel asks for feedback from the clients after they
have logged in. The type of questions asked is based upon the service used by the
client. This is also purely online.
Gallery :
In this module, the client can view the photos of the infrastructure of the hotel. The
client will also get to know the awards and recognitions received by the hotel in
various fronts.
Page 8
2.0 HARDWARE & SOFTWARE REQUIREMENTS
Page 9
An SRS clearly defines the following:
External interfaces of the system: They identify the information which is to flow
'from and to' the system.
Functional and nonfunctional requirements of the systems. They stand for the finding
of run-time requirements.
Design constraints.
Stages:
Functional specification
Product design specification
Requirements analysis
Software development process
Specification(technical standard)
Specification and description language
System requirements
Verification and validation
Page 10
2.3 Functional specification
A functional specification does not define the inner workings of the proposed system; it
does not include the specification how the system function will be implemented. Instead,
it focuses on what various outside agents (people using the program, computer
peripherals, or other computers, for example) might "observe" when interacting with the
system.
Purpose: There are many purposes for functional specifications. One of the primary
purposes on team projects is to achieve some form of team consensus on what the
program is to achieve before making the more time-consuming effort of writing source
code and test cases, followed by a period of debugging. Typically, such consensus is
reached after one or more reviews by the stakeholders on the project at hand after having
negotiated a cost-effective way to achieve the requirements the software needs to fulfill.
Page 11
Process: In the ordered industrial software engineering life-cycle (waterfall model),
functional specification describes what has to be implemented. The next system
specification document describes how the functions will be realized using a chosen
software environment. In not industrial, prototypical systems development, functional
specifications are typically written after or as part of requirements analysis.
When the team agrees that functional specification consensus is reached, the functional
spec is typically declared "complete" or "signed off". After this, typically the software
development and testing team write source code and test cases using the functional
specification as the reference. While testing is performed the behavior of the program is
compared against the expected behavior as defined in the functional specification.
The PDS is a specification of what is required but not the specification of the product
itself. Describing the actual product is done in the technical specification, once the
product has been designed. The difference is important since describing the product itself
at the stage of creating a PDS, effectively constrains the range of alternatives that are
considered during the design process.
The PDS evolves from the design brief. While the design brief outlines the design goal
and major constraints and considerations, the PDS goes further to determine the precise
limits for the full set of requirements in the product being designed.
Page 12
2.6 Design specification
A design specification provides explicit information about the requirements for a
product and how the product is to be put together. It is the most traditional kind of
specification, having been used historically in public contracting for buildings, highways,
and other public works, and represents the kind of thinking in which architects and
engineers have been trained. Its use is called for where a structure or product has to be
specially made to meet a unique need. For example, a design specification must include
all necessary drawings, dimensions, terms, and definitions of non-standard terms, and the
materials used must be described fully to include thickness, size, color, etc.
Formal specification
Program specification
Functional specification
Web service specification
Document specification
Page 13
Formal specification:
Program specification:
A program specification is the definition of what a computer program is expected
to do. It can be informal, in which case it can be considered as a blueprint or user
manual from a developer point of view, or formal, in which case it has a definite
meaning defined in mathematical or programmatic terms. In practice, most
successful specifications are written to understand and fine-tune applications that
were already well-developed, although safety-critical software systems are often
carefully specified prior to application development. Specifications are most
important for external interfaces that must remain stable.
Functional specification:
In software development, a functional specification (also, functional
spec or specs or functional specifications document (FSD)) is the set
of documentation that describes the behavior of a computer program or
larger software system. The documentation typically describes various inputs
that can be provided to the software system and how the system responds to
those inputs.
Page 14
hierarchy or format, etc. Very often, this kind of specifications is complemented
by a designated template.
Page 15
3.0 REQUIREMENT ANALYSIS
Requirements analysis in systems engineering and software engineering, encompasses
those tasks that go into determining the needs or conditions to meet for a new or altered
product, taking account of the possibly conflicting requirements of the
various stakeholders, such as beneficiaries or users.
Requirements analysis can be a long and arduous process during which many delicate
psychological skills are involved. New systems change the environment and relationships
between people, so it is important to identify all the stakeholders, take into account all
their needs and ensure they understand the implications of the new systems. Analysts can
employ several techniques to elicit the requirements from the customer. Historically, this
has included such things as holding interviews, or holding focus groups (more aptly
named in this context as requirements workshops) and creating requirements lists. More
modern techniques include prototyping, and use cases. Where necessary, the analyst will
employ a combination of these methods to establish the exact requirements of the
stakeholders, so that a system that meets the business needs is produced.
Page 16
3.1 Types of requirements
Requirements are categorized in several ways. The following are common
categorizations of requirements that relate to technical management.
Customer Requirements :
Statements of fact and assumptions that define the expectations of the system in terms of
mission objectives, environment, constraints, and measures of effectiveness and
suitability (MOE/MOS). The customers are those that perform the eight primary
functions of systems engineering, with special emphasis on the operator as the key
customer. Operational requirements will define the basic need and, at a minimum, answer
the questions posed in the following listing.
Architectural Requirements:
Architectural requirements explain what has to be done by identifying the
necessary system architecture of a system.
Structural Requirements:
Structural requirements explain what has to be done by identifying the
necessary structure of a system.
Behavioral Requirements
Behavioral requirements explain what has to be done by identifying the
necessary behavior of a system.
Page 17
Functional Requirements:
Functional requirements explain what has to be done by identifying the necessary task,
action or activity that must be accomplished. Functional requirements analysis will be
used as the top level functions for functional analysis.
Non-functional Requirements:
Non-functional requirements are requirements that specify criteria that can be used to
judge the operation of a system, rather than specific behaviors.
Performance Requirements:
The extent to which a mission or function must be executed; generally measured in terms
of quantity, quality, coverage, timeliness or readiness. During requirements analysis,
performance (how well does it have to be done) requirements will be interactively
developed across all identified functions based on system life cycle factors; and
characterized in terms of the degree of certainty in their estimate, the degree of criticality
to system success, and their relationship to other requirements.
Design Requirements:
The “build to,” “code to,” and “buy to” requirements for products and “how to execute”
requirements for processes expressed in technical data packages and technical manuals.
Derived Requirements:
Requirements that are implied or transformed from higher-level requirement. For
example, a requirement for long range or high speed may result in a design requirement
for low weight.
Allocated Requirements:
A requirement that is established by dividing or otherwise allocating a high-level
requirement into multiple lower-level requirements. Example: A 100-pound item that
consists of two subsystems might result in weight requirements of 70 pounds and 30
pounds for the two lower-level items.
Page 18
3.2 Software Development Process
A software development process, also known as a software development lifecycle, is a
structure imposed on the development of a software product. Similar terms
include software life cycle and software process. There are several models for such
processes, each describing approaches to a variety of tasks or activities that take place
during the process. Some people consider a lifecycle model a more general term and a
software development process a more specific term. For example, there are many specific
software development processes that 'fit' the spiral lifecycle model.
Page 19
The international standard for describing the method of selecting, implementing and
monitoring the life cycle for software is ISO 12207.
A decades-long goal has been to find repeatable, predictable processes that improve
productivity and quality. Some try to systematize or formalize the seemingly unruly task
of writing software. Others apply project management techniques to writing software.
Without project management, software projects can easily be delivered late or over
budget. With large numbers of software projects not meeting their expectations in terms
of functionality, cost, or delivery schedule, effective project management appears to be
lacking.
Page 20
3.4 Planning
Once the general requirements are gathered from the client, an analysis of the scope of
the development should be determined and clearly stated. This is often called a scope
document.
Certain functionality may be out of scope of the project as a function of cost or as a result
of unclear requirements at the start of development. If the development is done
externally, this document can be considered a legal document so that if there are ever
disputes, any ambiguity of what was promised to the client can be clarified.
Software testing is an integral and important part of the software development process.
This part of the process ensures that defects are recognized as early as possible.
Documenting the internal design of software for the purpose of future maintenance and
enhancement is done throughout development. This may also include the writing of
an API, be it external or internal. It is very important to document everything in the
project.
Page 21
3.5 Deployment and maintenance
Software Training and Support is important and a lot of developers fail to realize that. It
would not matter how much time and planning a development team puts into creating
software if nobody in an organization ends up using it. People are often resistant to
change and avoid venturing into an unfamiliar area, so as a part of the deployment phase,
it is very important to have training classes for new clients of your software.
The Specification and Description Language covers five main aspects: structure,
communication, behavior, data, and inheritance. The behavior of components is
explained by partitioning the system into a series of hierarchies. Communication between
the components takes place with through gates connected by channels. The channels are
of delayed channel type, so communication is usually asynchronous, but when the delay
is set to zero (that is, no delay) the communication becomes synchronous.
Page 22
The first version of the language was released in 1976 using graphical syntax (SDL-76).
This was revised in 1980 with some rudimentary semantics (SDL-80). The semantics
were refined in 1984 (SDL-84), the textual form was introduced for machine processing
and data was introduced. In 1988, SDL-88 was released with a formal basis for the
language: an abstract grammar as well as a concrete grammar and a full formal definition.
The version released in 1992 (SDL-92) introduced object oriented concepts such as
inheritance, abstract generic types etc. with the object-oriented features described by
transformations into non-object oriented ones. SDL-2000 (initially released 1999) is the
latest version completely based on object-orientation, rather than description by
transformations. This version has had maintenance updates since 1999 and is
accompanied by a UML-Profile: ITU-T Recommendation Z.109 (06/07), SDL-2000
combined with UML
Library package
System agent
Block agent
Process agent
Procedure type
Remote procedure
Usually a system agent consists of a number of block agents. Block agent communicate
with each other using channels. A block agent consists of process agents (the required
structure in SDL-92; SDL-2000 is more flexible). Each process agent is a state machine
that contributes to the action carried out by the system. A message stimulus from the
environment or another agent to an agent is called a signal. Signals received by a process
agent are first placed in a queue (the input port). When the state machine is waiting in a
state, if the first signal in the input port is enabled for that state it starts a transition
leading to another state. Transitions can output signals to other agents or to the
environment. A process agent is allowed to contain procedure types so that the same
actions can be invoked from different places. It is also allowed to call a remote procedure
type to invoke a procedure in another agent (or even another system) and wait for a
response.
Page 23
SDL tools:
The most well-known SDL modeling tool is Telelogic Tau. Other commercial tools
available in the market are Object Geode, Cinderella, Safire-SDL, PragmaDev which
support both SDL and SDL-RT. SDL-RT is used to develop real-time and embedded
software. There are some open source projects relative to SDL modeling like JADE
which is a JAVA based specification environment.
Page 24
3.9 Architecture
All computer operating systems are designed for a particular computer architecture. Most
software applications are limited to particular operating systems running on particular
architectures. Although architecture-independent operating systems and applications
exist, most need to be recompiled to run on a new architecture. See also a list of common
operating systems and their supporting architectures.
Processing power:
Degree of popularity, and are often The power of the central processing unit (CPU) is a
fundamental system requirement for any software. Most software running on x86
architecture define processing power as the model and the clock speed of the CPU. Many
other features of a CPU that influence its speed and power, like bus speed, cache,
and MIPS are often ignored. This definition of power is often erroneous,
as AMD Athlon and Intel PentiumCPUs at similar clock speed often have different
throughput speeds. Intel Pentium CPUs have enjoyed a considerable mentioned in this
category.
Memory:
All software, when run, resides in the random access memory (RAM) of a computer.
Memory requirements are defined after considering demands of the application, operating
system, supporting software and files, and other running processes. Optimal performance
of other unrelated software running on a multi-tasking computer system is also
considered when defining this requirement.
Secondary Storage:
Hard-disk requirements vary, depending on the size of software installation, temporary
files created and maintained while installing or running the software, and possible use
of swap space (if RAM is insufficient).
Page 25
Display Adapter:
Software requiring a better than average computer graphics display, like graphics
editors and high-end games, often define high-end display adapters in the system
requirements.
Peripherals:
Some software applications need to make extensive and/or special use of
some peripherals, demanding the higher performance or functionality of such peripherals.
Such peripherals include CD-ROM drives, keyboards, pointing devices, network devices,
etc.
Software requirements:
Software Requirements deal with defining software resource requirements and pre-
requisites that need to be installed on a computer to provide optimal functioning of an
application. These requirements or pre-requisites are generally not included in the
software installation package and need to be installed separately before the software is
installed.
Platform:
In computing, a platform describes some sort of framework, either
in hardware or software, which allows software to run. Typical platforms include a
computer's architecture, operating system, or programming languages and
their runtime libraries.
Operating system is one of the first requirements mentioned when defining system
requirements (software). Software may not be compatible with different versions of same
line of operating systems, although some measure of backward compatibility is often
maintained. For example, most software designed for Microsoft Windows XP does not
run on Microsoft Windows 98, although the converse is not always true. Similarly,
software designed using newer features of Linux Kernel v2.6 generally does not run or
compile properly (or at all) on Linux distributions using Kernel v2.2 or v2.4.
Page 26
APIs and drivers:
Software making extensive use of special hardware devices, like high-end display
adapters, needs special API or newer device drivers. A good example is DirectX, which
is a collection of APIs for handling tasks related to multimedia, especially game
programming, on Microsoft platforms.
Page 27
Web browser:
Most web applications and software depending heavily on Internet technologies make use
of the default browser installed on system.Microsoft Internet Explorer is a frequent
choice of software running on Microsoft Windows, which makes use
of ActiveX controls, despite their vulnerabilities.
Validation checks that the product design satisfies or fits the intended usage (high-level
checking) — i.e., you built the right product. This is done through dynamic testing and
other forms of review.
In other words, validation ensures that the product actually meets the user's needs, and
that the specifications were correct in the first place, while verification is ensuring that
the product has been built according to the requirements and design specifications.
Validation ensures that ‘you built the right thing’. Verification ensures that ‘you built it
right’. Validation confirms that the product, as provided, will fulfill its intended use.
Page 28
From Testing Perspective:
Test cases:
A test case is a tool used in the process.
Test cases are prepared for verification: to determine if the process that was followed
to develop the final product is right.
Test case are executed for validation: if the product is built according to the requirements
of the user. Other methods, such as reviews, are used when used early in the Software
Development Life Cycle provide for validation.
Verification and validation often is carried out by a separate group from the development
team; in this case, the process is called "Independent Verification and Validation".
Page 29
3.10 System Analysis and Design
Systems are created to solve problems. One can think of the systems approach as an
organized way of dealing with a problem. In this dynamic world, The subject System
Analysis and Design, mainly deals with the software
Defining A System
A collection of components that work together to realize some objective forms a system.
Basically there are three major components in every system, namely input, processing
and output.
In a system the different components are connected with each other and they are
interdependent.
For example, Human body represents a complete natural system. We are also bound by
many national systems such as political system, economic system, educational system
and so forth. The objective of the system demand that some output is produced as a
result of processing the suitable inputs.
Page 30
3.11 Different phases of Software Development Life Cycle
System study is the first stage of system development life cycle. This gives a clear
picture of what actually the physical system is? In practice, the system study is
done in two phases. In the first phase, the preliminary survey of the system is
done which helps in identifying the scope of the system. The second phase of the
system study is more detailed and in-depth study in which the identification of
user’s requirement and the limitations and problems of the present system are
studied. After completing the system study, a system proposal is prepared by the
System Analyst (who studies the system) and placed before the user. The
proposed system contains the findings of the present system and
recommendations to overcome the limitations and problems of the present system
in the light of the user’s requirements.
background analysis
inference or findings
Page 31
(b) Feasibility Study
On the basis of result of the initial study, feasibility study takes place. The
feasibility study is basically the test of the proposed system in the light of its
workability, meeting user’s requirements, effective use of resources and .of
course, the cost effectiveness. The main goal of feasibility study is not to solve the
problem but to achieve the scope. In the process of feasibility study, the cost and
benefits are estimated with greater accuracy.
During analysis, data are collected on the available files, decision points and
transactions handled by the present system. Interviews, on-site observation and
questionnaire are the tools used for system analysis. Using the following steps it
becomes easy to draw the exact boundary of the new system under consideration:
Based on the user requirements and the detailed analysis of a new system, the new
system must be designed. This is the phase of system designing. It is a most
crucial phase in the development of a system. Normally, the design proceeds in
two stages :-- Preliminary or general design & Structure or detailed design
Page 32
Preliminary or general design:
In the preliminary or general design, the features of the new system are specified.
The costs of implementing these features and the benefits to be derived are
estimated. If the project is still considered to be feasible, we move to the detailed
design stage.
In the detailed design stage, computer oriented work begins in earnest. At this
stage, the design of the system becomes more structured. Structure design is a
blue print of a computer system solution to a given problem having the same
components and inter-relationship among the same components as the original
problem. Input, output and processing specifications are drawn up in detail. In the
design stage, the programming language and the platform in which the new
system will run are also decided.
There are several tools and techniques used for designing. These tools and
techniques are:
Flowchart
Data flow diagram (DFDs)
Data dictionary
Structured English
Decision table
Decision tree
(e) Coding
After designing the new system, the whole system is required to be converted into
computer understanding language. Coding the new system into computer
programming language does this. It is an important stage where the defined
procedure are transformed into control specifications by the help of a computer
language. This is also called the programming phase in which the programmer
converts the program specifications into computer instructions, which we refer
as programs. The programs coordinate the data movements and control the
entire process in a system. It is generally felt that the programs must be modular
in nature. This helps in fast development, maintenance and future change, if
required.
(f) Testing
Before actually implementing the new system into operations, a test run of the
system is done removing all the bugs, if any. It is an important phase of a
successful system. After codifying the whole programs of the system, a test plan
should be developed and run on a given set of test data. The output of the test run
should match the expected results.
Page 33
Using the test data following test run are carried out:
Unit test
System test
Unit test: When the programs have been coded and compiled and brought to working
conditions, they must be individually tested with the prepared test data. Any
undesirable happening must be noted and debugged (error corrections).
System Test: After carrying out the unit test for each of the programs of the system
and when errors are removed, then system test is done. At this stage the test is done
on actual data. The complete system is executed on the actual data. At each stage of
the execution, the results or output of the system is analysed. During the result
analysis, it may be found that the outputs are not matching the expected out of the
system. In such case, the errors in the particular programs are identified and are fixed
and further tested for the expected output.
When it is ensured that the system is running error-free, the users are called with their
own actual data so that the system could be shown running as per their requirements.
In this strategy some test cases are generated as input conditions that fully execute all
functional requirements for the program. This testing has been uses to find errors in
the following categories:
In this testing only the output is checked for correctness. The logical flow of the data
is not checked.
Page 34
White Box Testing: In this the test cases are generated on the logic of each module
by drawing flow graphs of that module and logical decisions are tested on all the
cases. It has been uses to generate the test cases in the following cases:
Integration Testing: Integration testing ensures that software and subsystems work
together as a whole. It tests the interface of all the modules to make sure that the
modules behave properly when integrated together.
System Testing: Involves in-house testing of the entire system before delivery to the
user. Its aim is to satisfy the user the system meets all requirements of the client’s
specifications.
Validation Testing: The system has been tested and implemented successfully and
thus ensured that all the requirements as listed in the software requirements
specification are completely fulfilled. In case of erroneous input corresponding error
messages are displayed.
Compiling Testing: It was a good idea to do our stress testing early on, because it
gave us time to fix some of the unexpected deadlocks and stability problems that
only occurred when components were exposed to very high transaction volumes.
Execution Test: This program was successfully loaded and executed. Because of
good programming there was no execution error.
Output Test: The successfully output screens are placed in the output screen section.
Page 35
(g) Implementation
After having the user acceptance of the new system developed, the
implementation phase begins.
After the users are trained about the computerized system, manual working has to
shift from manual to computerized working. The following two strategies are
followed for running the system:
Parallel run: In such run for a certain defined period, both the systems i.e.
computerized and manual are executed in parallel. This strategy is helpful
because of the following:
Pilot run: In this type of run, the new system is installed in parts. Some part of
the new system is installed first and executed successfully for considerable time
period. When the results are found satisfactory then only other parts are
implemented. This strategy builds the confidence and the errors are traced easily.
(h) Maintenance
Maintenance is necessary to eliminate errors in the system during its working life
and to tune the system to any variations in its working environment. It has been
seen that there are always some errors found in the system that must be noted and
corrected. It also means the review of the system from time to time.
Page 36
If a major change to a system is needed, a new project may have to be set up to
carry out the change.
The new project will then proceed through all the above life cycle phases.
WORKING:
Front end and back end are generalized terms that refer to the initial and the end stages
of a process.
The front end is responsible for collecting input in various forms from the user and
processing it to conform to a specification the back end can use. The front end is an
interface between the user and the back end.
Front-end and back-end are terms used to characterize program interfaces and services
relative to the initial user of these interfaces and services. (The "user" may be a human
being or a program.) A "front- end" application is one that application users interact with
directly. A "back-end" application or program serves indirectly in support of the front-
end services, usually by being closer to the required resource or having the capability to
communicate with the required resource. The back-end application may interact directly
with the front-end or, perhaps more typically, is a program called from an intermediate
program that mediates front-end and back-end activities.
FRONT END:
Devices: Pc or client
User requirement: access operational knowledge
System requirement: operating system
Software required: Java and Oracle 10G
Here we used Jsp as the Front End. We developed the code in Java Script.
JavaScript is THE scripting language of the Web. JavaScript is used in millions of Web
pages to add functionality, validate forms, detect browsers, and much more.
JavaScript is the most popular scripting language on the internet, and works in all major
browsers, such as Internet Explorer, Firefox, Chrome, Opera, and Safari.
Page 37
4.0 JAVA SERVER PAGE (JSP)
Java Server Pages technology is the Java technology in the J2EE platform for building
applications containing dynamic Web content such as HTML, DHTML, XHTML and
XML.
The Java Server Pages technology enables the authoring of Web pages that create
dynamic content easily but with maximum power and flexibility.
The Java Server Pages technology provides a textual description for the creation of a
response from a request.
Template Data:
Substantial portions of dynamic content are actually fixed. The JSP technology allow for
the natural manipulation of this data.
The JSP technology allows the addition of dynamic data to the template data in a way
that is simple yet powerful.
Encapsulation of Functionality:
The JSP technology provides two related mechanisms for the encapsulation of
functionality: the standard Java Beans component architecture and the tag library
mechanism.
The JSP technology has features that enable the creation of good authoring tools.The
result is a flexible and powerful server-side technology.
The Java Server Pages technology is platform independent, both in its dynamic Web
pages, Web servers, and its underlying server components. You can author JSP pages on
any platform, run them on any Web server or Web enabled application server, and access
them from any Web browser.
Page 38
Reuse of components and tag libraries:
The Java Server Pages technology emphasizes the use of reusable components such as
Java Beans components, Enterprise Java Beans components and tag libraries.
The Java Server Pages technology supports scripting elements as well as actions. Actions
permit the encapsulation of useful functionality in a convenient form that can also be
manipulated by tools; scripts provide a mechanism to glue together this functionality in a
per-page manner.
The Java Server Pages technology is an integral part of the Java 2 Platform Enterprise
Edition (J2EE), which brings Java technology to enterprise computing.
Page 39
It is true that both servlets and JSP pages have many features in common and can be used
for serving up dynamic web content. Naturally, this may cause some confusion as to
when to opt for one of the technologies over the other. Java Server Pages provide a much
cleaner separation of presentation from logic, and are simpler to write. Together, JSP
technology and servlets provide an attractive alternative to other types of dynamic web
scripting/programming that offers platform independence, enhanced performance,
separation of logic from display, ease of administration, extensibility into the enterprise
and most importantly, ease of us.
Page 40
5.0 ORACLE
Introduction to Oracle:
Oracle Database Architecture:
Oracle Database is the first database designed for enterprise grid computing, the most
flexible and cost effective way to manage information and applications. Enterprise grid
computing creates large pools of industry-standard, modular storage and servers. With
this architecture, each new system can be rapidly provisioned from the pool of
components. There is no need for peak workloads, because capacity can be easily added
or reallocated from the resource pools as needed.
There are two common ways to architect a database: client/server or multitier. As internet
computing becomes more prevalent in computing environments, many database
management systems are moving to a multitier environment.
Client/Server Architecture
Multiprocessing uses more than one processor for a set of related jobs. Distributed
processing reduces the load on a single processor by allowing different processors to
concentrate on a subset of related tasks, thus improving the performance and capabilities
of the system as a whole.
An Oracle database system can easily take advantage of distributed processing by using
its client/server architecture. In this architecture, the database system is divided into two
parts: a front-end or a client, and a back-end or a server.
The Client
Page 41
need large disk capacity, or it might benefit from graphic capabilities. Often, the client
runs on a different computer than the database server, generally on a PC. Many clients
can simultaneously run against one server.
The Server
The server runs Oracle software and handles the functions required for concurrent, shared
data access.
The server receives and processes the SQL and PL/SQL statements that originate from
client applications. The computer that manages the server can be optimized for its duties.
For example, it can have large disk capacity and fast processors.
Multitier Architecture:
Application Servers
An end or database server that stores most of the data used in the operation
If proxy authentication is being used, then the identity of the client is maintained
throughout all tiers of the connection.
The following sections explain the physical database structures of an Oracle database,
including datafiles, redo log files, and control files.
Data files
Every Oracle database has one or more physical datafiles. The datafiles contain all the
database data.
Page 42
The data of logical database structures, such as tables and indexes, is physically stored in
the datafiles allocated for a database.
One or more datafiles form a logical unit of database storage called a tablespace.
Data in a datafile is read, as needed, during normal database operation and stored in the
memory cache of Oracle. For example, assume that a user wants to access some data in a
table of a database. If the requested information is not already in the memory cache for
the database, then it is read from the appropriate datafiles and stored in memory.
Modified or new data is not necessarily written to a datafile immediately. To reduce the
amount of disk access and to increase performance, data is pooled in memory and
written to the appropriate datafiles all at once, as determined by the database writer
process (DBWn) background process.
Control Files
Every Oracle database has a control file. A control file contains entries that specify the
physical structure of the database. For example, it contains the following information:
Database name
Names and locations of datafiles and redo log files
Every time an instance of an Oracle database is started, its control file identifies the
database and redo log files that must be opened for database operation to proceed. If the
physical makeup of the database is altered (for example, if a new datafile or redo log file
is created), then the control file is automatically modified by Oracle to reflect the
change. A control file is also used in database recovery.
You can enable automatic archiving of the redo log. Oracle automatically archives log
files when the database is in ARCHIVELOG mode.
Page 43
Backup Files
To restore a file is to replace it with a backup file. Typically, you restore a file when a
media failure or user error has damaged or deleted the original file.
User-managed backup and recovery requires you to actually restore backup files before
you can perform a trial recovery of the backups.
Server-managed backup and recovery manages the backup process, such as scheduling of
backups, as well as the recovery process, such as applying the correct backup file when
recovery is needed.
The logical storage structures, including data blocks, extents, and segments, enable
Oracle to have fine- grained control of disk space use.
Table spaces
A database is divided into logical storage units called tablespaces, which group related
logical structures together. For example, tablespaces commonly group together all
application objects to simplify some administrative operations.
Each database is logically divided into one or more tablespaces. One or more datafiles are
explicitly created for each tablespace to physically store the data of all logical structures
in a tablespace. The combined size of the datafiles in a tablespace is the total storage
capacity of the tablespace.
Oracle also lets you create big file table spaces. This allows Oracle Database to contain
table spaces made up of single large files rather than numerous smaller ones. This lets
Oracle Database utilize the ability of 64-bit systems to create and manage ultra large
files. The consequence of this is that Oracle Database can now scale up to 8 Exabyte’s in
size. With Oracle-managed files, big file table spaces make data files completely
transparent for users. In other words, you can perform operations on table spaces, rather
than the underlying data files.
Page 44
Oracle Data Blocks
At the finest level of granularity, Oracle database data is stored in data blocks. One data
block corresponds to a specific number of bytes of physical database space on disk. The
standard block size is specified by the DB_BLOCK_SIZE initialization parameter. In
addition, you can specify up to five other block sizes. A database uses and allocates free
database space in Oracle data blocks.
Extents
The next level of logical database space is an extent. An extent is a specific number of
contiguous data blocks, obtained in a single allocation, used to store a specific type of
information.
Tables
Tables are the basic unit of data storage in an Oracle database. Database tables hold all
user-accessible data. Each table has columns and rows. A table that has an employee
database, for example, can have a column called employee number, and each row in that
column is an employee's number.Indexes
Indexes
Indexes are optional structures associated with tables. Indexes can be created to increase
the performance of data retrieval. Just as the index in this manual helps you quickly
locate specific information, an Oracle index provides an access path to table data. When
processing a request, Oracle can use some or all of the available indexes to locate the
requested rows efficiently. Indexes are useful when applications frequently query a table
for a range of rows (for example, all employees with a salary greater than 1000 dollars)
or a specific row. Indexes are created on one or more columns of a table. After it is
created, an index is automatically maintained and used by Oracle. Changes to table data
(such as adding new rows, updating rows, or deleting rows) are automatically
incorporated into all relevant indexes with complete transparency to the users.
Page 45
Views
Views are customized presentations of data in one or more tables or other views. A view
can also be considered a stored query. Views do not actually contain data. Rather, they
derive their data from the tables on which they are based, referred to as the base tables of
the views. Like tables, views can be queried, updated, inserted into, and deleted from,
with some restrictions. All operations performed on a view actually affect the base tables
of the view.Views provide an additional level of table security by restricting access to a
predetermined set of rows and columns of a table. They also hide data complexity and
store complex queries.
Clusters
Clusters are groups of one or more tables physically stored together because they share
common columns and are often used together. Because related rows are physically stored
together, disk access time improves.
The following example describes the most basic level of operations that Oracle performs.
This illustrates an Oracle configuration where the user and associated server process are
on separate computers (connected through a network).
The client application attempts to establish aconnection to the server using the
proper Oracle Net Services driver.
The server is running the proper Oracle Net Services driver. The server detects the
connection request from the application and creates a dedicated server process on
behalf of the user process.
The user runs a SQL statement and commits the transaction. For example, the
user changes a name in a row of a table.
The server process receives the statement and checks the shared pool for any
shared SQL area that contains a similar SQL statement. If a shared SQL area is
found, then the server process checks the user's access privileges to the requested
data, and the previously existing shared.
Page 46
SQL area is used to process the statement. If not, then a new shared SQL area is allocated
for the statement, so it can be parsed and processed.
The server process retrieves any necessary data values from the actual datafile (table)
or those stored in the SGA.
The server process modifies data in the system global area. The DBWn process writes
modified blocks permanently to disk when doing so is efficient. Because the
transaction is committed, the LGWR process immediately records the transaction in
the redo log file.
If the transaction is successful, then the server process sends a message across the
network to the application. If it is not successful, then an error message is
transmitted.
Throughout this entire procedure, the other background processes run, watching for
conditions that require intervention. In addition, the database server manages other
users' transactions and prevents contention between transactions that request the
same data.
Page 47
Page 48
6.0 HTML
Introduction to HTML
The purpose of a web browser is to read HTML documents and compose them into visual
or audible web pages. The browser does not display the HTML tags, but uses the tags to
interpret the content of the page.
HTML elements form the building blocks of all websites. HTML allows images and
objects to be embedded and can be used to create interactive forms. It provides a means
to create structured documents by denoting structural semantics for text such as headings,
paragraphs, lists, links, quotes and other items. It can embed scripts in languages such
as JavaScript which affect the behavior of HTML webpages.
Page 49
Web browsers can also refer to Cascading Style Sheets (CSS) to define the appearance
and layout of text and other material. The W3C, maintainer of both the HTML and the
CSS standards, encourages the use of CSS over explicitly presentational HTML markup.
ELEMENTS:
HTML documents are composed entirely of HTML elements that, in their most general
form have three components: a pair of tags, a "start tag" and "end tag";
some attributes within the start tag; and finally, any textual and
graphical content between the start and end tags, perhaps including other nested elements.
The HTML element is everything between and including the start and end tags.
Each tag is enclosed in angle brackets.
HTML lacks some of the features found in earlier hypertext systems, such as typed
links, source tracking, fat links and others. Even some hypertext features that were in
early versions of HTML have been ignored by most popular web browsers until recently,
such as the link element and in-browser Web page editing.
Page 50
7.0 DESIGN
Page 51
Page 52
7.2 UML DIAGRAMS
Page 53
7.2.2 Use Case Diagram
Page 54
7.2.3 Object Diagram:
Page 55
7.2.4 Collaboration and Sequence Diagrams:
Function Halls:
Page 56
Rooms:
Page 57
Restaurant:
Page 58
Page 59
7.2.5 Activity Diagram
Page 60
8.0 SCREENSHOTS
HOME PAGE:
This gives the overall description of the hotel. Its latest news and various links redirected. The
Hotel’s map is also provided along with Photogallery.
Page 61
LOGIN PAGE:
Login page are for the security purpose. The Login page consists of username and password. On
entry of data it gets validated. It is meant for already registered users.
Page 62
REGISTRATION PAGE :
The Registration page is intended gor naïve user to enroll all his details in to the hotels database.
A registered user gets many facilities like special offers and latest news through mail.
Page 63
HOTEL OVERVIEW :
This gives the hotels complete overview map. Each floor’s overview is provided.
Page 64
BOOKING PAGE:
This Booking page includes different type of rooms and the user can book the rooms based on
his requirement. The allotment of rooms is based on its availability criteria.
Page 65
FUNCTION HALLS :
This module provides event management. The clients select a hall based on the number of
people, type of event and time of event. The details of the function halls are stored in the
database.
Page 66
RESTAURANT PAGE :
In Restaurant page the client is provided with a menu card, the details of which are stored in
database.The hotel provides various delicious recipes popular in that geographical location.
Page 67
GALLERY:
The Gallery page gives the Hotels latest won awards globally and its achievements. The
clients can view the photographs of the hotel which states its efficient infrastructure.
Page 68
TOURISM:
This module provides an extra feature. The hotel provides details about the climate and weather
conditions of the city and the roadmap to the hotel. It also provides details of various tourist
spots and shopping sites in the city.
Page 69
FEEDBACK:
Every organization needs to know what its clients think about them. This is helpful in
improvisation. In this module, the hotel asks for feedback from the clients after they have logged
in. The type of questions asked is based upon the service used by the client.
Page 70
9.0 TABLES
1. Client Table
2. Credit Table
4. Items Table
Client Table:
Page 71
Credit Table:
Page 72
Home Delivery Table:
Page 73
Items Table:
Page 74
10.0 SAMPLE CODE
MAIN FRAME:
Page 75
LOGIN:
Page 76
CREDIT:
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*"
errorPage="" %>
<html>
<head><center><b><u><h1>CREDIT-CARD PAGE</h1></u></b></center></head>
<body>
<FORM>
<table align="center">
<tr><td>CREDIT-CARD TYPE : </h3></td>
<td><select name="type"><option>Master Card</option>
<option>Visa</option>
<option>ICICI</option></select></td>
</tr>
<tr><td> NAME OF THE HOLDER :</h3></td> <td><input type="text"
name="hname"></td></tr>
<tr><td> CREDIT-CARD NUMBER :</h3></td> <td><input type="text"
name="cnum"></td></tr>
<tr><td>CREDIT EXPIRY :</td> <td>month<select name="month">
<option>January</option>
<option>February</option>
<option>March</option>
<option>April</option>
<option>May</option>
<option>June</option>
<option>July</option>
<option>August</option>
<option>September</option>
<option>October</option>
<option>November</option>
<option>December</option></select></td>
<td><b> / </b>year<select name="year">
<option>2011</option>
<option>2012</option>
<option>2013</option>
<option>2014</option></select></td>
<tr><td> </td></tr>
<tr><td> </td></tr>
<tr><td> </td></tr>
<td colspan="2"><input type="submit" value="Submit"><input
type="reset" value="Reset"></td>
</tr> </table> </FORM>
<%
Connection cn=null;
PreparedStatement ps=null;
String t,h,c,m,yr,qry;
t=request.getParameter("type");
Page 77
h=request.getParameter("hname");
c=request.getParameter("cnum");
m=request.getParameter("month");
yr=request.getParameter("year");
qry="insert into credit values(?,?,?,?,?)";
int y;
y=0;
Class.forName("oracle.jdbc.OracleDriver");
String connectionURL = "jdbc:oracle:thin:@127.0.0.1:1521:XE";
cn=DriverManager.getConnection(connectionURL,"system","atul");
ps=cn.prepareStatement(qry);
ps.setString(1,t);
ps.setString(2,h);
ps.setString(3,c);
ps.setString(4,m);
ps.setString(5,yr);
y=ps.executeUpdate();
if(y!=0){ %>
<script type="text/javascript">
alert("Message Sent");
</script>
<%}
%> </body> </html>
Page 78
11.0 CONCLUSION
The project named HOTEL MANAGEMENT SYSTEM is done with JSP and HTML
pages and with the oracle 10g. This project would enable a user to interact with the site
created. It would be compatible even for a new user to register and then access the
services of the hotel.
As the coding includes JSP it would be easier to interact and its user friendly nature is
the most attractive part of the project. The JSP pages are run in an APACHE TOMCAT
server.
The future scope of this would be that it will replace the conventional methods of
booking similar to the Railway Reservation System. It would also enable the user to book
the recipes and home delivery is also provided.
Page 79
12.0 BIBLIOGRAPHY
3. www.wikipedia.org
4. www.w3schools.com
5. www.templatesonweb.com
Page 80