Sei sulla pagina 1di 119

1

CHAPTER 1
INTRODUCTION
1.1 Problem Statement:
The current system is a manual system or a semi-automated system. Manual system
involves paper work in the form of maintaining various files and manuals. Maintenance of
critical information in the files and manuals is a risk involved and a tedious process. The
existing automated system is a stand alone system or a LAN based system and booking is
in the form of e-mail.
The Main Objective of this System is to design a system to accommodate the needs
of guests in the hotel. This application helps a customer to know about the hotel
information and can reserve rooms throughout the globe irrespective of the location. This
is a computerized system to make room reservations, keep room bookings and availability
details up-to-date.

1.2 Overview:
Cyber Hotelier is a web-based system focusing on automating the (manual way of
recording the Hotel details) hotel management system and providing room reservations
through online. To understand the current manual process, existing files and manuals were
referred. A literature survey is carried out in the initial phase of the project. The basic
process is divided into two steps
1. Understanding the Existing system.
2. Features of proposed system.

1.2.1 Understanding the Existing system


The present system is a manual system or a semi-automated system. Manual system
involves paper work in the form of maintaining various files and manuals. Maintaining
critical information in the files and manuals is full of risk and a tedious process.
The existing semi-automated system is a stand alone system or a LAN based
system and booking is in the form of email. The hotel booking email contains the requested
booking dates and the number of rooms required, along with the customer contact details.
At the day break he has to update the database.
The disadvantages of the manual process are
1. Time consuming and a tedious process
2. No instantaneous updates of the room status.
3. No instantaneous updates on the user details and user statistics.
4. Involved a lot of paperwork that was prone to risk of loosing it easily.
5. Communication was not clear, slow and led to misunderstanding.
6. Files and manuals lacked authentication and authorization.
7. Information recording in manuals was not accurate because there were no
validations.
The disadvantages of the semi-automated system are:
1. Reservation through email.
2. Room amendment is not a easy task
1.2.2 Features of proposed system
The proposed system is to design a system to accommodate the needs of guests in
the hotel and it helps a customer to know about the hotel information and can reserve
rooms throughout the globe irrespective of the location. This system is an application to
manage the hotel operations to know all the data and process the modules.

This System gives a brief description about the hotel i.e., about the total number of
rooms in the hotel, location of the hotel, route map of the city showing the route to the
hoteletc and also gives a brief description about the services offered by the hotel such as
the cab services, food services, laundry...etc.
Registered user can reserve a room through online and confirm his reservation by
paying the advance amount through credit card and receiving a reference number. User can
either cancel the reservation or can modify through amendment process. Receptionist can
effectively do all his activities through this system i.e, reserving a room for walk-in
customers and do all the check-in, check-out, billing and payment activities. Receptionist
can have all the services provided to guest, restaurant billing...etc everything in the system.
House Keeping Executive can schedule all the house keeping activities and to look after
the inventory management. Manager can know the monthly reports regarding the hotel and
its management, its maintenance, expenses and room occupancy details

Advantages of the proposed system:


1. Reduces the complexity present in the manual system and saves time.
2. Users can access the required data easily.
3. It maintains accurate information.
4. Provides instantaneous updated information to all users.
5. Communication is fast and clear and avoids misunderstandings.
6. It is a computerized system to make room reservations and keep room bookings
and availability of details up-to-date.
7. Very economical and user friendly.

CHAPTER 2
PROBLEM ANALYSIS
2.1 REQUIREMENT ANALYSIS
Feasibility study is an important phase in the software development process. It
enables the developer to have an assessment of the product being developed. It refers to the
feasibility study of the product in terms of out comes of our product, operational use and
technical support required for implementing it.
Feasibility study should be performed on the basis of various criteria and
parameters. The various feasibility studies are:
Economic feasibility
Operational feasibility
Technical feasibility
2.1.1 Economic feasibility
Time Based:
If the administrator or the subjective person has to know about the where about of
different customers and their calls info, then in the manual system a concentrated search
has to be applied through many registers or ledgers, which is time consuming. If within the
system some data has to be registered then all the referential registers have ton fill
sequentially which is a redundant process. With the designed database all these overheads
are eliminated, making the actual system faster in calculating the call amount, advance
payment and current balance, which keep the system in pace with the associated trends and
technologies.

Cost Based:
Within the manual system a perennial amount of the finance are incurred
continuously upon the extra staff, maintaining the data manually on paper for all the data-

integrated jobs. The information has put through many hands at proper time to apply the
consistency standards, which is the backbone for any company this application.
Consistency is increased with the designed software, which eliminates the actual
investment upon the employees salaries and purchasing the products.
2.1.2 Operational feasibility
It refers to the feasibility of the product to be operational. Some products may work
very well at design and implementation but many fail in the real time environment. It
includes the study of additional human resource required and their technical expertise.
2.1.3 Technical feasibility
The system is self explanatory and does not need any extra sophisticated training. As
the system has been built by concentrating on the graphical user interface concept, the
application can also be handled very easily with a now wise user.
The softwares that were used to develop the market are already used the customers.
The net time the customer should concentrate is on the installation time. Thats what we
are giving in the form of manual.

2.2 USE CASE ANALYSIS


Use case:
Use case diagrams are one of the five diagrams in the UML for modeling the
dynamic aspects of the systems (activity diagrams, sequence diagram, state chart diagram,
collaboration diagram are the four other kinds of diagrams in the UML for modeling the
dynamic aspects of systems).use case diagram are central to modeling the behavior of the
system, a sub-system, or a class. Each one shows a set of use cases and actors and
relations.
Common properties:
A use case diagram is just a special kind of diagram and shares the same common
properties, as do all other diagrams a name and graphical contents that are projections
into the model. What distinguishes a use case diagram from all other kinds of diagram is its
particular content.
Contents:
Use case diagrams commonly contain:
Use cases
Actors
Dependency, generalization, and association relationships
Like all other diagram use case diagram may contain nodes constraints. Use case
diagram may also contain packages, which are used to group element of your model into
large chunks. Occasionally, you will want to place instances of use case in your diagram,
as well, especially when you want to visualize a specific executing system.
Use case:
A use case specifies the behavior of the system ort part of the system and
is a description of a set of sequence of actions that a system performs.
Graphically use case is rendered as an ellipse with dashed lines, usually
including only its name.
Actor:
An actor is a human user or external system with which a system being modeled and
interacts. It needs some information from current system.

2.3 USE CASE DIAGRAM


Use-case diagrams graphically represent system behavior (use cases). These
diagrams present a high level view of how the system is used as viewed from an outsiders
(actors) perspective. A use-case diagram may contain all or some of the use cases of a
system.
A use-case diagram can contain:

Actors ("things" outside the system)

Use cases (system boundaries identifying what the system should do)

Interactions or relationships between actors and use cases in the system including
the associations, dependencies, and generalizations.
Use-case diagrams can be used during analysis to capture the system requirements

and to understand how the system should work. During the design phase, you can use usecase diagrams to specify the behavior of the system as implemented.
2.3.1 Identification of Actors:
Definition:
An actor is someone or something that:

Interacts with or uses the system.

Provides input to and receives information from the system.

Is external to the system and has no control over the use cases.

Graphical Representation:

Actor name

Questions to help to identify actors:


1. Who is interested in a certain requirement
2. Where is the system used within the organization?

3. Who will benefit from the use of the system?


4. Who will supply the system with information, use this information, and remove this
information?
5. Who will support and maintain the system?
6. Does the system use an external resource?
7. Does one person play several different roles?
8. Do several people play the same role?
9. Does the system interact with a legacy system?
The actors identified in the system are:
1. Administrator
2. Manager
3. Guest
4. House keeping executive
5. Receptionist

2.3.2 Identification of Use cases:


Definition: Use case is a sequence of transactions performed by a system that yields
measurable result of values for a particular actor. The use cases are all the ways the system
may be used.
Graphical Representation:

Usecase name
Questions to help to find use cases:
1. What are the tasks of each actor?
2. Will any actor create, store, change, remove or read information in the system?
3. What use cases will create, store, change, remove, or read this information?
4. Will any actor need to inform the system about sudden, external changes?
5. Does any actor need to be informed about certain occurrences in the system?

6. What use cases will support or maintain the system?


7. Can all functional requirements be performed by the use cases?
Usecases Identified in this system are:
1. Registration/Login
2. Reservation
3. Cancellation/Modification
4. Services
5. Front-desk
6. Restaurant
7. Billing
8. Check report
9. House keeping
10. Inventory
2.3.3 Flow of Events:
Definition:
Flow of events should include

When and how the use case starts and ends

What interaction the use case has with the actors

What data is needed by the use case

The normal sequence of events for the use case

The description of any alternate or exceptional flows

Structure of flow events:


The flow of events for a use case is contained in a document called the Use Case
Specification. Each project should use a standard template for the creation of the Use Case
Specification. Includes the following
1. Use case name: Brief Description
2. Flow of Events:

10

1. Basic flow.
2. Alternative flow.
3. Special requirements.
4. Pre conditions.
5. Post conditions.
6. Extension points.
2.3.4 Relations:
Association Relationship:
An association provides a pathway for communication. The communication can
be between use cases, actors, classes or interfaces.
By default, the association tool on the toolbox is unidirectional and drawn on a diagram
with a single arrow at one end of the association. The end with the arrow indicates who or
what is receiving the communication. Bidirectional communication is used to provide the
two way communication.
Graphical Depiction:
An association relationship is an orthogonal or straight solid line with an arrow at
one end:

In an ASSOCIATION Relationship, we can provide Stereotype


COMMUNICATE also as shown below
<<Communicate>>

Dependency Relationship:
A dependency is a relationship between two model elements in which a
change to one model element will affect the other model element. Use a dependency
relationship to connect model elements with the same level of meaning. Typically, on class

11

diagrams, a dependency relationship indicates that the operations of the client invoke
operations of the supplier.
We can provide here
1. Include Relationship.
2. Extend Relationship.
Include Relationship:
Include relationships are created between the new usecase and any other usecase
that "uses" its functionality.
An include relationship is a stereotyped relationship that connects a base use case
to an inclusion use case. An include relationship specifies how behavior in the inclusion
use case is used by the base use case.
<<include>>

BASE USE-CASE

INCLUSION USE-CASE

Extend Relationships:
An extend relationship is a stereotyped relationship that specifies how the
functionality of one use case can be inserted into the functionality of another use case.
Extend relationships between use cases are modeled as dependencies by using the Extend
stereotype.
An extend relationship is used to show

Optional behavior

Behavior that is run only under certain conditions such as triggering an alarm

Several different flows that may be run based on actor selection

An extend relationship is drawn as a dependency relationship that points from the


extension to the base use case

12

Use case Diagram in our system:

Registration/Login

Reserv ation
administrator

Manager

cancellation/Modif ication

Serv ices

Receptionist

Front-desk

Restaurant

Guest
Billing

Check Report

House keeping

Inv entory

HouseKeeping
Executiv e

13

2.4 Activity Diagrams:


An Activity diagram is a variation of a special case of a state machine, in which
the states are activities representing the performance of operations and the transitions are
triggered by the completion of the operations. The purpose of Activity diagram is to
provide a view of flows and what is going on inside a use case or among several classes.
Activities:
An activity represents the performance of some behavior in the workflow.
Transitions:
Transitions are used to show the passing of the flow of control from activity to
activity. They are typically triggered by the completion of the behavior in the originating
activity.
Decision Points:
When modeling the workflow of a system it is often necessary to show where the
flow of control branches based on a decision point. The transitions from a decision point
contain a guard condition, which is used to determine which path from the decision point is
taken.
Synchronization Bars:
In a workflow there are typically some activities that may be done in parallel. A
synchronization bar allows you to specify what activities may be done concurrently.
Synchronization bars are also used to show joins in the workflow.
Swim lanes:
Swim lanes may be used to partition an activity diagram.
Initial and Final Activities:
There are special symbols that are used to show the starting and final activities in
a workflow. The starting activity is shown using a solid filled circle and the final activities
are shown using a bull's eye.

14

Activity Diagrams Of This Application Are:

Overall activity diagram


Activity diagram for modification
Activity diagram for reservation

15

2.4.1 Overall activity diagram:

check in

[ no ]

restaurant?

[ yes ]

room
required?

room is already
reserved?

[ no ]

[ yes ]
[ yes ]

[ no ]

check
availability
[ yes ]

allot another
table

frontoffice
enquiry

[ no ]

allot reserved
table

reservation
[ no ]
check
availability?
[ no ]

take menu card

[ yes ]

services
process is done
services
needed?
[ yes ]
inform to front
office

inform house
keeping
[ no ]

services are placed


according to department

clean room

Is everything ok!

[ no ]

service
completed

[ yes ]
checkout

process
completed
paid bill is entered in
to the database

check the
details

[ yes ]

all rooms
[ no occupied?
]

KOT forwarded

amount is paid
by customer

room is alloted

check for another


room readyness
[ no ]

place order

order processed
and billing is done

[ yes ]

[ yes ]
modification
needed?

inventory

16

checkout

final bill is
generated
guest pays the
bill

house keeping
services

inventory

if available?
[ yes ]

[ no ]

outward
generation
purchase order
generated

bill is entered into the


database

[ no ]

sent to front
office

check stock
availability?

[ yes ]

outward
complete

17

2.4.2 Activity diagram for Modification:

user login

front office

is it is online?
[ yes ]

[ no ]

[ no ]

administrator
login

valid
password?
[ yes ]
check for
options

[ yes ]

is this a valid
password?

[ yes ]

is cancellation
needed?
[ no ]

check for the number of


days left for cancellation

enters the necessary


modifications

no. of days<3
[ no ]
cancellation
is done

[ yes ]
cancellation
not accepted
[ yes ]

check
availability?

[ no ]

85% of payment
is returned
all the required modifications are
done and database is updated
database is
updated
process is
completed

modifications are
not accepted

18

2.4.3 Activity diagram for Reservation:

[ yes ]

[ yes ]

[ no ]

online
reservation?

frontoffice

new user?
[ no ]

administrator
login
user login

registration
process

[ no ]

validate
[ yes ]

[ no ]
[ yes ]

advance
reservation? [ no ]

validate
[ yes ]

changes room
type

[ no ]

check for availability at


that particular tim e

check for availability on


required dates

room enquiry

check
availability

[ yes ]

[ yes ]

room is
available?

room available?
[ no ]

[ yes ]

fill the room


booking form
receptionist enters
the gues t details
advance paym ent is
done
[ no ]

changes the
room type

guest details
are entered

[ no ]

change room
type

Room is booked on
required dates

are all room s


blocked?
( yes )

logout

are all room s


occupied?

process
completed

all rooms are


blocked?
[ yes ]
[ yes ]
makes the reservation as
waiting list

process is
completed

room is not
alloted

[ no ]

[ no ]

19

2.5 SEQUENCE DIAGRAM


A sequence diagram is a graphical view of a scenario that shows object
interaction in a time based sequence--what happens first, what happens next.
Sequence diagrams establish the roles of objects and help provide essential
information to determine class responsibilities and interfaces.
A sequence diagram has two dimensions: the vertical dimension represents
time; the horizontal dimension represents different objects. The vertical line is called the
objects lifeline. The lifeline represents the objects existence during the interaction.
Purpose:
1. To show the timely ordered object interactions.
2. To provide readability.
3. It is easy to find out the operations that belong to the particular class.
Object: An object has state, behavior and identity. The structure and behavior of similar
objects are defined in their common class. Each object in a diagram indicates some
instance of a class. An object icon is not named is referred to as a class instance. The object
icon is similar to a class icon except that the name is underlined. An objects concurrency
is defined by the concurrency of its class.
Message: A message is the communication carried between two objects that trigger an
event. A message carries information from the source focus of control to the destination
focus of control. The synchronization of a message can be modified through the message
specification. Synchronization means a message where the sending object pauses to wait
for results.
Link: A link should exist between two objects, including class utilities, only if there is a
relationship between their corresponding classes. The existence of a relationship between
two classes symbolizes a path of communication between instances of the classes: one
object may send the messages to another. The link is depicted as a straight line between
objects and class instances in a collaboration diagram. If an object links to itself, use the
loop version of the icon.

20

2.5.1 Sequence Diagram for Billing:

entry successful : Administrator


: Receptionist : Administrator
interface

: Database

1: Start interface
2: Log in

3: Check the password

4: login successful

5: opname( )

6: Request for all guest bill details

7: Submits the details

8: Collects all the bills

9: Process the bills by considering all the guest bills

10: Final bill is generated

11: Enters the final bill

12: Update the details


13: Request for all hotel bill details

14: Request for details

15: Submits the details

16: Calculates the monthly expenses

17: Enter the expenses details

18: Update the details

19: entry successful

21

2.5.2 Sequence Diagram for Central Cancellation

: Guest

: Receptionist : Administrator

Cancellation successful :
Administrator interface
1: Strat interface

: Database

2: Log in

3: Verify password
4: login successful

5: Request for modification

6: Request for modification details

7: Submits the details

8: Check the availability

9: Enter the modified details

10: Update the details

11: Modification successful

12: Modification successful

13: Request for cancellation

14: Check the last date for cancellation

15: Advance payment is returned

16: Enter the cancellation details

17: Update the details

18: Cancellation successful

19: Cancellation successful

22

2.5.3 Sequence Diagram for Front Desk

: Guest

: Receptionist

: Administrator

: Front-Desk interface

: Database

1: Start interface

2: Log in

3: Verify the password


4: Login successful

5: Room enquiry

6: Requset for required details

7: Submit the required details


8: Check in

9: Ask for room address

10: Submit the details

11: Checks for availability

12: Allot room

13: Enter the check-in details

14: Update the check-in details


15: Check out

16: Prepares the final bill

23

2.5.4 Sequence Diagram for Housekeeping:

: HouseKeeping
Executive

: Administrator

: Administrator interface

: Database

1: Start interface

2: Log in

3: Check the password

4: Login successful

5: Request for room status

6: Submits the room status details

7: Checks for the service requests

8: Process the requests

9: Bill is generated

10: Enter the bill details


11: Update the details
12: Entry successful

24

2.5.5 Sequence Diagram for Inventory:

25

: HouseKeeping
Executive

: Administrator

: Administrator interface

: Database

1: Start interface

2: Login

3: Check the password

4: Login successful

5: Request for inventory details

6: Submits the inventory details

7: Check the stock availability

8: Purchase order is placed

9: Outward generation is completed

10: Enter the bill details

11: Update the details

2.5.6 Sequence Diagram for Online cancellation/modification:

26

: Guest

: Administrator

: User interface

: Database

1: Start interface

2: Log in
3: Verify password

4: Login successful

5: Request for modification

6: Check the availability

7: Enter the modified details

8: Update the details

9: Modification successful

10: Request for cancellation


11: Check the last date for cancellation

12: Advance payment is returned

13: Enter the cancellation details


14: Update the details

15: Successful cancellation

2.5.7 Sequence Diagram for Registration/Login:

27

: Guest

: HouseKeeping
Executive

: Receptionist

: Admin
: Registration form
1: start interface

: Manager

: Database

2: open registration

3: issue form

4: fill form

5: submission of form
6: check details

7: allot manager id

8: forward id

9: enters details

10: update details


11: open registration

12: issue form

13: fill form

14: submission of form

15: check details

16: allot receptionist id

17: forward id

18: open registration

19: issue form


20: fill form

21: submission of form

22: check details

23: allot house keeping id

24: forward id

25: open registration

26: issue form

27: submission of form

28: check details

29: fill form

30: allot guest id

31: forward id

32: enters details


33: updates details

28

2.5.8 Sequence Diagram for Reservation:

: Guest

: Receptionist

: Administrator

: Reservationform

: Database

1: Open the interface


2: Log-in
3: Verify the password

4: Login successful
5: Request fro room occupancy details
6: Submit the details

7: Request for reservation


8: Issue the form
9: Fill the form

10: Submit the form,


11: Check the details

12: Check the availbility

13: Ask the advance

14: Give the creditcard details

15: Check the details

16: Room is reserved

17: Enter the guest details &reservation details

18: Successful reservation


19: Log in
20: Verify password

21: Log in successful

22: Request for the room details

23: Submit the details


24: Request to reservation

25: Ask the details

26: Submit the details


27: Fill the details

28: Submit the form

29: Check the details


30: Ask the advance

31: Payment is done


32: Enter the guest details
33: Update the details

34: Successful reservation

29

2.5.9 Sequence Diagram for Restaurant:

: Guest

: Receptionist

: Administrator : Restaurant
manager

: Administrator interface : Database

1: Start interface

2: log in

3: verify password

4: Login successful

5: Request for table

6: Check availability

7: Allot table

8: Place order

9: Order processed

10: Bill is generated

11: Forward the bill

12: Pays the bill

13: Forward the bill details

14: Enter the details

15: Update the details

30

2.5.10 Sequence Diagram for Services:

: Guest

: Receptionist

: HouseKeeping
Executive

: Restaurant : Administrator
manager

: Administrator interface

: Database

1: start Interface
2: Login

3: Check password

4: Login successful

5: Request for food service

6: Forward the request

7: Process the request

8: Bill generated

9: Forward the bill

10: Enter the details


11: Update the details
12: Request for cleaning
13: Forward the request

14: Process the request

15: Bill is generated

16: Forward the bill

17: Enter the bill details


18: Update the details
19: Request for other services

20: Process the request

21: Bill is generated

22: Enter the details

23: Update the details

31

2.5.11 Sequence Diagram for View reports:

: Manager

: Administrator

: Administrator interface

: Database

1: Start interface

2: Login

3: Checks password

4: Login successful

5: Request for all details

6: Submits the all details

7: Check the reports

8: Take necessary actions

9: Changes are entered

10: Update the details

32

2.6 COLLABORATION DIAGRAMS:


A COLLABORATION DIAGRAM is an alternate way to show a scenario. This
type of diagram shows object interactions organized around the objects and their links to
each other. A collaboration diagram contains

Objects drawn as rectangles

Links between objects shown as lines connecting the linked objects

Messages shown as text and an arrow that points from the client to the supplier

There are two types of numbering schemes:


1. Flat numbered sequence
In this messages are numbered as 1, 2, 3.
2. Decimal numbered sequence
In this messages are given numbers as 1.1, 2.2, 1.3

Purpose:
1. Collaboration diagrams are very useful for drawing class diagrams.
2. These diagrams give the interactions between the classes and objects.
3. To find the operations of the classes.
4. Using command we can draw sequence diagram directly from the collaboration
diagrams.
Differences between Sequence and Collaboration Diagrams:
1. Sequence diagrams are time oriented where as collaboration diagrams shows the
static connections among the objects.
2. Sequence diagram is very easy to read where as collaboration diagram is some
what complex to read.

33

2.6.1 Collaboration Diagram for Billing:


12: Update the details
18: Update the details
3: Check the password
14: Request for details
: Database
: Administrator

6: Request for all guest bill details


11: Enters the final bill
17: Enter the expenses details

1: Start interface
4: login succes...
5: opnam...

7: Submits the details


15: Submits the details
19: entry successful

2: Log in
entry successful : Administrator
13: Request for all hotel bill details
interface

8: Collects all the bills


9: Process the bills by considering all the guest bills
10: Final bill is generated
16: Calculates the monthly expenses

: Receptionist

2.6.2 Collaboration Diagram for Central cancellation:


8: Check the availability
14: Check the last date for cancellation
5: Request for modification
13: Request for cancellation

3: Verify password

2: Log in

12: Modification successful


: Receptionist
: Guest15: Advance payment is returned
19: Cancellation successful

4: login succes...

7: Submits the details


11: Modification successful
18: Cancellation successful
6: Request for modification details
9: Enter the modified details
16: Enter the cancellation details
10: Update the details
17: Update the details

: Database

Cancellation successful :
Administrator interface

1: Strat interface

: Administrator

34

2.6.3 Collaboration Diagram for Front desk:


11: Checks for availability
16: Prepares the final bill

3: Verify the password

8: Check in
10: Submit the details
15: Check out
18: Pay the bill

: Guest

9: Ask for room address


12: Allot room
17: Forward the bill

2: Log in
5: Room enquiry

: Receptionist

4: Login succes...

: Administrator

7: Submit the required details


21: Checkout successful

13: Enter the check-in details


19: Enter the payment details

1: Start interface
6: Requset for required details

14: Update the check-in details


20: Update the payment details
22: Update the room status

: Front-Desk interface

: Database

2.6.4 Collaboration Diagram for House keeping:


7: Checks for the service requests
8: Process the requests
9: Bill is generated

3: Check the password

2: Log in

: HouseKeeping
Executive

: Administrator

4: Login successful
5: Request for room status
10: Enter the bill details

1: Start interface

11: Update the details


6: Submits the room status details
12: Entry successful

: Administrator interface

: Database

35

2.6.5 Collaboration Diagram for Inventory:


7: Check the stock availability
8: Purchase order is placed
9: Outward generation is completed

3: Check the password

2: Login
: Administrator

4: Login succes...
: HouseKeeping
Executive
5: Request for inventory details
10: Enter the bill details

11: Update the details


6: Submits the inventory details

1: Start interface

: Database
: Administrator interface

2.6.6 Collaboration Diagram for Online cancellation/Modification:


8: Update the details
14: Update the details

: Database

9: Modification succes...
15: Successful cancella...

7: Enter the modified details


13: Enter the cancellation details
3: Verify password
6: Check the availability
11: Check the last date for cancellation

4: Login successful
12: Advance payment is returned
: Guest
2: Log in
5: Request for modification
10: Request for cancellation

: Administrator
1: Start interface

: User interface

36

2.6.7 Collaboration Diagram for Registration/Login:

13: fill form

: Receptionist
29: fill form

27: submission of form


25: open registration
31: forward id

: Guest

14: submission of form

6: check details
7: allot manager id
15: check details
16: allot receptionist id
22: check details
23: allot house keeping id
28: check details
30: allot guest id

11: open registration


17: forward id
24: forward id

2: open registration
5: submission of form

12: issue form


4: fill form

26: issue form

8: forward id

: Admin

9: enters details
32: enters details

1: start interface
21: submission of form

10: update details


33: updates details

3: issue form
18: open registration
: Manager
: Registration form

19: issue form

20: fill form


: Database

: HouseKeeping
Executive

37

2.6.8 Collaboration Diagram for Reservation:

3: Verify the password


11: Check the details
12: Check the availbility
15: Check the details
20: Verify password
29: Check the details

33: Update the details

17: Enter the guest details &reservation details


: Database

: Administrator
22: Request for the room details
32: Enter the guest details

19: Log in
28: Submit the form

9: Fill the form

23: Submit the details


24: Request to reservation
26: Submit the details
31: Payment is done
8: Issue the form

25: Ask the details


30: Ask the advance
: Receptionist

18: Successful reservation


34: Successful reservation

2: Log-in
5: Request fro room occupancy details
7: Request for reservation
10: Submit the form,
14: Give the creditcard details

21: Log in successful


27: Fill the details

4: Login successful
6: Submit the details
13: Ask the advance
16: Room is reserved

1: Open the interface

: Reservationform

: Guest

38

2.6.9 Collaboration Diagram for Restaurant:

6: Check availability
9: Order processed
10: Bill is generated

5: Request for table


12: Pays the bill

: Guest

: Administrator interface
3: verify password

7: Allot table
8: Place order
11: Forward the bill

1: Start interface

: Restaurant manager

15: Update the details


: Administrator

4: Login succes...

13: Forward the bill details

2: log in

: Database

14: Enter the details


: Receptionist

2.6.10 Collaboration Diagram for Reservation:


3: Verify the password
11: Check the details
12: Check the availbility
15: Check the details
20: Verify password
29: Check the details

33: Update the details

17: Enter the guest details &reservation details


: Database

: Administrator
22: Request for the room details
32: Enter the guest details

19: Log in
28: Submit the form

9: Fill the form

23: Submit the details


24: Request to reservation
26: Submit the details
31: Payment is done
8: Issue the form

25: Ask the details


30: Ask the advance
: Receptionist

18: Successful reservation


34: Successful reservation

2: Log-in
5: Request fro room occupancy details
7: Request for reservation
10: Submit the form,
14: Give the creditcard details

21: Log in successful


27: Fill the details

4: Login successful
6: Submit the details
13: Ask the advance
16: Room is reserved

1: Open the interface

: Reservationform

: Guest

39

2.6.11 Collaboration Diagram for Services:


14: Process the request
15: Bill is generated

20: Process the request


21: Bill is generated
5: Request for food service
12: Request for cleaning
19: Request for other services

: Guest

13: Forward the request


16: Forward the bill

: Receptionist

: HouseKeeping
Executive

6: Forward the request

4: Login succes...

7: Process the request


8: Bill generated

10: Enter the details


17: Enter the bill details
22: Enter the details
2: Login

9: Forward the bill

3: Check password
11: Update the details
18: Update the details
23: Update the details

: Restaurant manager

1: start Interface
: Administrator
: Administrator interface

: Database

2.6.12 Collaboration Diagram for View report:


7: Check the reports
8: Take necessary actions

3: Checks password

2: Login

: Manager

4: Login succes...

5: Request for all details


9: Changes are entered

: Administrator

1: Start interface

6: Submits the all details


10: Update the details
: Administrator interface

: Database

40

2.7 Entity-relationship diagram


Service
phon
eee

addres
s
name

Status

Dept

email

Date

Room
no

Ref no
nnono.
Guest

Amount
Room service

Requ
est

Reservation

Make
s

Ref no
todate

room no

Pays

room type

advance

Payment

Room no

fromdat
e

Payment
mode
Total due

Bill no
Paid amount

Payment date

Table no

Quantit
y

Item
name

Vender
name
Item
name

Date

KOT no

Quantit
y
Date

PO no

Amount

Amoun
t
Purchase order

Restaurant

Year

Dept

Month

Amoun
t
Expenses

41

CHAPTER 3
SYSTEM REQUIREMENT SPECIFICATION
3.1 Purpose:
The purpose of the project is to automate the entire hotel management in an
effective way and to provide an option for room reservation through online.

3.2 Scope:
This system is used in the hotels, to manage the day to day activities i.e., check-in,
check-out, payment, billing, services provided, restaurant management, expenses,
reportsetc by using this computerized system.

3.3 Application Features:


3.3.1 General Description
Features in this System are:
1.

Registration

2.

Reservation

3.

Cancellation

4.

Front desk

5.

Services

6.

Restaurant

7.

Billing

8.

House keeping

9.

Inventory

10.

Reports

42

Registration:
For a guest to reserve a room through online, he must be a registered user. This
feature helps the guest to get registered into the system. This feature also allows the
administrator to give roles i.e., manger, receptionist, house keeping executive and a user.

Reservation:
For a guest to reserve a room in the hotel, he can follow 2 procedures.
1) Online reservation:
This feature enables the guest to reserve a room through internet from anywhere in
the world. When the guest wants to use this feature, he has to select the room type, mention
the check-in and check-out details and must check for the availability. If the room required
is available during that period then he has to enter all the personal details that are required
and also has to pay certain amount with the help of credit card. The reference number of
the reservation is noted and the reservation is completed. If the room required is not
available then he has to choose another type of room based on his requirement.
2) Central reservation:
This feature enables the guest to book the room by coming directly to the reception
for either the advance reservation or to check-in the hotel at that point of time. The details
of the guest are entered into the system by the receptionist. Based on the availability the
receptionist gives the room to the guest and marks the check-in time. The guest has to pay
certain amount in advance. After the reservation the vacant rooms based on the reserved
dates are updated in the database by default.
Cancellation:
This feature enables the guest to cancel the room reservation which is done either
by the online process or by coming directly to the reception. When the cancellation is
done, certain percentage of the advance money which is paid by the guest during the
reservation is returned to the guest. After the cancellation the vacant rooms based on the
reserved dates are updated in the database by default

43

Front Desk:
When the guest comes to the hotel for stay, he has to say the receptionist his
reference number and the receptionist gives the room and marks the check- in time. This
feature enables the receptionist to look after the check-in, check-out, payment details,
occupancy summary, guest information, expected departures for that day, search guests,
view the status of rooms and to change the status i.e., vacant, occupied, dirty and blocked.
Services:
This feature enables the receptionist to provide the services requested by the guest.
Receptionist attends the guest call and forwards the requests to the respective departments
and enters the details of the services provided to keep the bills up-to-date.
Restaurant:
This feature enables the receptionist to keep the KOT bills and also the room
service bills up-to-date in the system.
Billing:
After the stay period of the guest, in the check-out process he has to pay the money
due at the reception. This feature shows all the payment details.
This feature enables the receptionist to keep the details of the administration
expenses up-to-date. This includes the staff salaries, electricity bill, telephone bill,
maintenance bill etc.
House Keeping:
This feature enables the house keeping executive to manage the house keeping
activities i.e., scheduling the timings for house keeping services, billing the house keeping
activities.

44

Inventory:
This feature enables the house keeping executive to look after the inventory
management i.e., to maintain the list of articles taken from the stores such as soaps, cloth
materialsetc that are required for maintenance of the hotel.
Reports:
This feature enables the manager to know all the reports regarding the hotel and its
management, its maintenance, expenses and room occupancy details.
The main roles involved in this system are :
1. Manager
2. Receptionist
3. House keeping executive
4. Guest
5. Administrator

Manager:
A hotel manager is responsible for the day-to-day management of a hotel and its
staff and has commercial accountability for planning, organizing and directing all hotel
services, including front-of-house (reception, concierge, and reservation), banqueting and
housekeeping. He plays a major role in financial management i.e., preparing budgets and
marketing strategies and achieving targets for the business
Receptionist:
Hotel receptionist is responsible in dealing with room bookings and cancellations
and handling general requests made by guests during their stay. His main duties are dealing
with reservations and cancellations by phone, e-mail, letter, fax or face-to-face; checking
guests into the hotel, allocating rooms and handing out keys; checking guests out of the

45

hotel, preparing bills and taking payments; answering questions about facilities in the
hotel and the surrounding area dealing with complaints or problems.
House keeping executive:
A house-keeping executive is responsible in scheduling the house keeping activities
i.e., cleaning, laundry, room service etc. He is also responsible for inventory
management i.e., to purchase the order, checking the stock availabilityetc.
Guest:
A guest can reserve the rooms on online or can come to the hotel reception to
reserve the rooms. Guests can make special requests which are to be carried out during
their stay and trigger notifications for hotel staff to complete the tasks. During the checkout process, he has to settle the payments.
Administrator:
Administrator assigns the roles to the users, manager, receptionist and house
keeping executive and registers them to the system

46

3.4. Software and Hardware Requirements:


The minimum software and hardware requirements are as
Software Requirements:
OS

SP

SDK 2.0

(service pack)
Windows NT4.6

Windows 2000

Windows XP

Windows 2003

Front End

IIS
(Internet Information Services)

Microsoft visual studio 2005


(ASP. Net with c# language)

Back End

Sql server 2000

Client Details:
Any web browser to compatible to run front-end programs.
Hardware Requirements:
Processor

: P3+ or AMD

Primary Memory (RAM)

: 256 MB or 512 SD

Secondary Memory (Hard Disk)

: min 10 GB

Monitor

: VGA (Color)

Keyboard

: 105 Standards

Mouse

: Any Compatible Mouse

47

CHAPTER 4
SYSTEM DESIGN
4.1 SYSTEM DESIGN
4.1.1 Object oriented design
The UML language is for
Visualizing
Specifying
Constructing
Documenting
These are the artifacts of a software-intensive system.
A conceptual model of the UML:
The three major elements of UML are
The UMLs basic building blocks
The rule that dictate how those building blocks may be
put together.
Some common mechanisms that apply throughout the UML.
Basic building blocks of the UML
The vocabulary of UML encompasses three kinds of building blocks:
Things
Relationships
Diagrams
Thing are the abstractions that are first-class citizens in a model.
Relationships tie these things together, Diagrams group the interesting
collection of things.
Things in UML
There are four kinds of things in the UML
1.
2.
3.
4.

Structural things,
Behavioral things,
Grouping things,
Annotational things.
These are things are the basic object oriented building blocks of

the UML. They are used to write well-formed models.

48

Class diagrams
Describe the static structure of the system: Objects, Attributes, and
Associations.

49

Object diagrams
Shows set of objects and their relationships. These are static snap
shots of instances of the things found in the class diagram.
Component diagrams
Shows set of components and their relationships.
Deployment diagrams
Shows a set of nodes and their relationships
Collaboration diagrams
Focuses on the structural organization of objects that send and received
messages.
State chart diagrams
Describe the dynamic behavior of an individual object as a finite state machine.
Class diagrams are used
During requirements analysis to model problem domain concepts,
During system design to model subsystems and interfaces,
During object design to model classes.
Purpose
Name and model concepts in the system
Specify logical database schemas
Represent the structure of the system.
A class represents a concept and encapsulates state (attributes) and
behavior (operations).

Attribute has a type.


Operation has a signature.

50

4.2 CLASS DIAGRAM

guest
name
address
fromdate
todate
phoneno
email
username
password

house keeping executive

restaurant manager

username
password

billno
username
password
bill generated()
process the request()
forward the request()

ask for room address()


allot room()
forward bill()

1..n
1..n

1..n

Administrator
username
password

1..n

receptionist
username
password
process is generated()
bill is requested()
request for food service()
request for cleaning()
request for other services()
forward the bill()
login successful()
check in()
check out()
submit details()
prepares the final bill()

check the stock availability()


purchase order is palced()
outward generation is completed()
submits the inventory details()
login successful()

1..n

Open registration()
login()
verify password()
Submission the form()
Check the details()
Allot the manager id()
Open registration()
Submission the form()
Check the details()
Allot the Housekeeping id()
allot receptionist id()
allot guest id()
request for modification()
request for cancellation()
1

administrator interface
start interface()
login()
room enquiry()

Registration form
name
address
phoneno
email
username
password
start interface()

Interfaces
user interface

Manager
start interface()

username
password
Issue the form()
Fill the form()
Forward id()

frontdesk interface
start interface()

Reservation form
start interface()

51

4.3 Architecture Design

VB

C++

C#

JSCRIPT

COMMON LANGUAGE SPECIFICATION


ASP. NET WEBFORM etc.

WINDOW FORMS

ADO. NET AND XML


BCL (BASIC COMBINED LANGUAGE)
CLR (COMMON LANGUAGERUN TIME)
OS (LINUX, WINDOWS, MASINTOSH)

J#

52

4.4. DATA BASE DESIGNS


4.4.1 Login Details Table:
Column
Name
Username
Password
Roles

Data Type
Varchar(50)
Varchar(50)
Varchar(50)

Constraints
Primary key
Not null
Not null

4.4.2 Registered Users Table:

Column Name
Username
Password
Dob
Email
Address
Phone
Secques
Secans

Data type
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(MAX)
Varchar(50)
Varchar(50)
Varchar(50)

Constraints
Primary key
Not null
Not null
Not null
Not null
Not null
Not null
Not null

4.4.3 Room Details Table:


Column
Name
Roomno
Floor
Roomtype
Charge
Status

Data Type
Varchar(50)
Varchar(50)
Varchar(50)
Float
Varchar(50)

Constraints
Primary key
Not null
Not null
Not null
Not null

53

4.4.4 Guest Information Table:

Column Name
Refno
Name
Address
Phone
Mobile
Email
Camefrom
Goingto
Adults
Child

Data type

Constraints

Int
Varchar(50)
Varchar(MAX)
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Int
Int

Primary key
Not null
Not null
Not null
Not null
Not null
Not null
Not null
Not null
Not null

Data Type

Constraints

4.4.5 Room Reservation Table:

Column Name
Refno
Roomno
Roomtype
Fromdate
Todate
Username

Int
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)

Primary key
Not null
Not null
Not null
Not null
Not null

54

4.4.6 Payment Details Table:

Column Name
Roomno
Bno
Refno
Name
Paymentdate
Paymentmode
Paymodedetails
Paidamount
Totaldue

Data type
Varchar(50)
Int
Int
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(MAX)
Float
Float

Constraints
Not null
Primary key
Not null
Not null
Not null
Not null
Not null
Not null
Not null

4.4.7 Expenses Table:

Column Name
Month
Year
Dept
Amount

4.4.8 Room Service Table:

Data Type
Varchar(50)
Varchar(50)
Varchar(50)
Float

Constraints
Primary key
Primary key
Primary key
Not null

55

Column Name
Roomno
Dept
Service
Servicestatus
Date
Amount

Data Type
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Float

Constraints
Not null
Not null
Not null
Not null
Not null
Not null

4.4.9 Room Cleaning Table:

Column Name
Roomno
Description
Cleanstatus
Date
Time

Data Type
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)

Constraints
Not null
Not null
Not null
Not null
Not null

4.4.10 Restaurant Order Table:

Column Name
Kotno
Date
Tableno
Item
Quantity
Amount

Data Type
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Int
Float

Constraints
Primary key
Not null
Not null
Not null
Not null
Not null

4.4.11 Purchase Order Table:

Column Name
Pono
Itemname
vendername
Quantity
Date

Data type
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)
Varchar(50)

Constraints
Primary key
Not null
Not null
Not null
Not null

56

Amount

Float

Not null

57

CHAPTER 5
AN OVERVIEW OF .NET
5.1 Overview of .Net:
.Net is the combining of smaller technologies into a singular unit. Introduced in
July 10 2000 officially by Microsoft company that is why this is also called as . Net is the
Microsoft technology. Up to now there are four versions of the. Net technologies is 1.0in
the 2003 supports up to 13 languages, then 1.1in the 2003 supports up to 17 languages,
then 2.0in the 2006 supports up to 23 languages, then finally now which are running in the
market is 3.0 supports more than 40 languages. That fourth version is also called as
ORCAS.
.Net supporting languages:
Visual Basic. Net
Visual C#. Net
Visual J#. Net
Visual COBOL. Net
These are four common languages which are mostly used by the visual studio.Net, this
visual studio. Net (VS. Net) is the integrated development environment (IDE). That is Tool
through which these 40+ languages are to be run as front end.
5.1.1 Type of applications using .Net:
Windows application
Console application
Web application
Mobile application
Crystal reports
Control libraries

58

Windows application:
This is the application which are applies in the run time and design time, this
application are used in the designing of forms in the new projects these windows
application can be used by any Vs. Net supporting languages.
Console application:
This is also one of the application which are applies in the dos prompt and run time
application are used in the designing of forms in the new projects these windows
application can be used by any Vs. Net supporting languages.
Code window is available with <name.vb>for Vb. Net and <name.cs>for c#. Net
Web application:
This is also one of the application which are applies in the runtime and design time,
this application are used in the designing of web forms or Web pages in the new websites
these web application can be used by any Vs. Net supporting languages.
Crystal reports:
This is also one of the application which are applies in the creating of tabular
column. Generally this crystal reports are ignored by Vs. Net. These applications are used
in the generating of the tabular column in the new projects these windows application can
be used by any Vs. Net supporting languages.
Control libraries:
This is also one of the application which are applies in the creating of assemblies.
That is the combination of one or more .dll and .exe files. These applications are used in
the assemblies in the new projects these windows application can be used by any Vs. Net
supporting languages. The assemblies having two types are as single file assemblies and
multi files assemblies.
5.1.2 VB. Net Advantages:
Not case sensitive.
Faster in execution while compare to other .Net languages.
It has migrated.
The future is newly adopted technology from the existing Vb 6.0

59

(a product of Microsoft to developed rich front end screens).


Snippet:
A type of future introduced Vs.Net 2.0version to make the uses very familiar with
the structure of different control statement to use in the programming.
Type casting:
Converting of the data type to other type having two types implicitly by the
compiler and explicitly by the user.
Boxing and unboxing in the .Net:
In the case of boxing converting of value (integer type) type to reference
(string type) type, and in the case of unboxing converting of reference
(string type) type to value (integer type) type.

5.2 .Net framework:


Framework is different from Integrated Development Environment (IDE).
We use Integrated Development Environment (IDE) as Vs. Net.
. Net framework is a programming module of. Net.
. Net framework is combination of basic class libraries (BCL) and common
language runtime (CLR).
BCL includes root name space oops concept web services, xml, active
data object (ADO).
As imports System. Data here imports is a keyword used to inherent various
name space into the .Net environment. And System is the name space is the
logical collection of class, method and properties etc.
CLR mainly consist of three parts:
Memory management how much we used that memory is allocated.
Garbage collector allocates and release space for object usage.
CTS (common type system) every variable should be either value type or reference
type which is a mandatory condition.

60

Root name space: - System .windows. Form developing for the windows application.

System. Reflection assembly applications.

System.io files operations.

System. Drawing Microsoft paint brush operation


(we can change size, color, of the font).

The .NET Framework provides a runtime environment called the Common


Language Runtime or CLR (similar to the Java Virtual Machine or JVM in Java), which
handles the execution of code and provides useful services for the implementation of the
program. CLR takes care of code management at program execution and provides various
beneficial services such as memory management, thread management, security
management, code verification, compilation, and other system services. The managed code
that targets CLR benefits from useful features such as cross-language integration, crosslanguage exception handling, versioning, enhanced security, deployment support, and
debugging. Common Type System (CTS) describes how types are declared, used and
managed in the runtime and facilitates cross-language integration, type safety, and high
performance code execution.
The CLS is simply a specification that defines the rules to support language
integration in such a way that programs written in any language, yet can interoperate with
one another, taking full advantage of inheritance, polymorphism, exceptions, and other
features. These rules and the specification are documented in the ECMA proposed standard
document,
As part of compiling MSIL to native code, code must pass a verification process
unless an administrator has established a security policy that allows code to bypass
verification. Verification examines MSIL and metadata to find out whether the code can be
determined to be type safe, which means that it is known to access only the memory
locations it is authorized to access.

61

5.2.1 .NET Frame Work Diagram

Reflection:
The process of reading the metadata of information is called as reflection. Metadata
is an open standard environment.
Tool box:
It is GUI container that contains all the needed development controls like textbox
(input of the data), button (to rise on event), label (Description), link etc.
Solution explorer:
It is GUI container that shows the various forms or webwofms or list of various
items that are used in the project.
Link label:
It is similar to label but with an under linking format (blue color).We cant execute
label in the runtime where link can be execute in the runtime. It is used for hyper linking

62

interface to the. Net. but it has some disadvantages that can only opened the defined
location by the users.
ADO. Net:
ADO .NET Stands for activeX data object.
Dataset is an in-memory content of the Ado. Net and is disconnected architecture of
Ado. Net.
The connection between back end (database) and front end (dataset) is called as
data adaptor. In back end creates a table with table name and column and required data
types.
Main database used in. Net
Oracle
Sql server
Ms access
To established connection in Sql.
[Sql Connection cn = New Sql Connection (connection string);]
As
User id= sivaji;
Password=rvrjc;
Database=mdf;
Server=.;
To established connection in oracle
[Oracle Connection cn = New Oracle (connection string);]
As
User id= sivaji;
Password=rvrjc;
Database=mdf;
Server=.;
Command object:
Syntax
[Sql Command<obj> = New Sql Command (Sql Statements, cn)]

63

Methods if command object in Ado. Net:


1. ExecuteNonQuery();
2. ExecuteScaler();
3. ExecuteReader();
4. ExecuteXmlReader();
To open connection the following method is used
[Cn. Open;]
Cn. Open ();
Sql Command;
Command Type;
Command<object> <method ()>;
ExecuteNonQuery:
It is a method in Ado. Net used to perform Non-Query action.
Example insert, delete, update.
ExecuteScaler:
It is a method in Ado. Net used to perform retrieve a single entity from the back
end.
Example select user id from EMP where ename = faiyaz.
ExecuteReader:
It is a method in Ado. Net used to perform retrieve the data from back End.
Example Select *from EMP
ExecuteXmlReader:
It is a method in Ado. Net used to perform retrieve the xml data in the. Net
applications.

64

5.3 ASSEMBLY:
Logical collection of one or more .exe and .dll files is called as assembly and the
compile source code of. Net architecture. There are two types of assemblies are categories.
Single assemblies and,
Multi file assemblies.
.EXE: Self execution files and not reusable.
.DLL: Not self execution files and reusable.
Assemblies of single file Content:
1. Manifest- metadata of assembly
2. Type metadata-data about assembly class
3. Msil-microsoft integrated language
4. Resource- external resource.
Microsoft integrated language is divided into four parts according to the versions:
Version 6.0 major
Version 3.0 minor
Version 0.0 build
Version 1.0 revision
Assemblies of multi file Content:
1. Manifest- metadata of assembly
2. Type metadata-data about assembly class
3. Msil-microsoft integrated language
These are myassembly.dll
1. Metadata
2. Msil-microsoft integrated language
Before Microsoft intermediate language (MSIL) can be executed, it must be
converted by a .NET Framework just-in-time (JIT) compiler to native code, which is CPUspecific code that runs on the same computer architecture as the JIT compiler.
Rather than using time and memory to convert all the MSIL in a portable executable
(PE) file to native code, it converts the MSIL as it is needed during execution and stores
the resulting native code so that it is accessible for subsequent calls.

65

The runtime supplies another mode of compilation called install-time code


generation. The install-time code generation mode converts MSIL to native code just as the
regular JIT compiler does, but it converts larger units of code at a time, storing the
resulting native code for use when the assembly is subsequently loaded and executed.

5.4Validation controls and page navigation:


Validation controls:
Validation is the process of making sure that the user enters correct information into
a form. Validation controls is provide by the. Net framework in the client browser if the
browser supports java script and DHTML and checks the data that user entered before
sending it to the server. The entire validation take place in the browser and nothing is sent
back to the server. If the browser does not support DHTML and scripting then is done on
the server. All validation controls in the. Net frameworks are derived from the
BaseValidator class.
The validation controls that are provided by the. Net frameworks are as following:
1. RequiredField Validator
2. Compare Validator
3. Range Validator
4. RegulaExpression Validator
5. Custom Validator
RequiredField Validator:
Simple of all, RequiredField Validator makes sure that the user enters data into a
form. For example, on a registration form you might want your users to enter their data of
in a textbox. If they leave field empty, this validation control will display an error.
Notable property of the RequiredField Validator is the initial value property, which
set as an initial value in the control
Compare Validator:
Comparison Validations are used to compare the entered by the user into a control
(Textbox, for example) with the value entered into another control for with a constant
value. We indicate the control to validate by setting the ControlToValidate property and if

66

we want to compare a specific control with an other control we need set the
ControlToCompare property to specify the ControlToCompare with.
Range Validator:
Range Validators are used to test if the value of a control is inside a specificied
range of values.The three property of this control are the ControlToValidate property,
which contains the control of validate and maximum and minimum values which hold the
maximum and minimum values of the valid range.
Regular Expression Validator:
Regular Expression Validators are used to check if the value in a control matches a
pattern defined by the regular expression. Notable property for this control is the Validation
Expression property, which allow us to select a predefined expression which we want to
match with the data enter in a control.
Custom Validator:
Custom Validator are used to our own Validation for the data in a control. For
example, you can check the value entered by a user is even or odd, with this control which
is not possible with any of the above mentions validation controls. You write the script for
the validation for JavaScript or vbscript and associate that script function to the
ClientValidationFunction property of this control.

67

CHAPTER 6
SCREEN DESIGN/GRAPHICAL USER INTERFACE
The system uses a very user-friendly interface developed using extended markup
language (XML) and hyper text markup language (HTML). Which most users are
acquitted with and is broadly used on the World Wide Web (WWW). The controls are
placed on the forms in an easily accessible manner so that user strain is minimized to the
maximum extent.
Whenever a user enters any from the system also states the action to be performed
is an easily understandable and pleasant speech. The navigation of the user from one area
of the system to another is very easy using easy to access and properly placed hyperlinks
which user can access on the click of a button.
The system also posses a unique format for each type of employee; this ensures that
employee is presented with options he has access to. This ensures a great deal of security
to the system and to the organization as an employee is not given an option to carryout
unauthorized activity.

68

HOME PAGE:

69

LOGIN PAGE:

70

FORGOT PASSWORD PAGE:

71

CHANGE PASSWORD PAGE:

72

REGISTRATION PAGE:

73

USER LOGIN PAGE:

74

ROOM RESERVATION PAGE:

75

ROOM RESERVATION PAGE: (contd)

76

ROOM RESERVATION PAGE: (contd)

77

ROOM CANCELLATION PAGE:

78

RECEPTIONIST LOGIN PAGE:

79

HOUSE KEEPING EXECUTIVE LOGIN PAGE:

80

MANAGER LOGIN PAGE:

81

CENTRAL RESERVATION PAGE:

82

ROOM STATUS VIEW PAGE:

83

TO CHANGE ROOM STATUS:

84

CHECK-IN PAGE:

85

PAYMENT PAGE:

86

CHECK-OUT PAGE:

87

SEARCH GUESTS PAGE:

88

EXTENSION OF STAY PAGE:

89

GUESTS INFORMATION PAGE:

90

EXPECTED DEPARTURES PAGE:

91

ROOM OCCUPANCY SUMMARY PAGE:

92

ROOM SERVICE PAGE:

93

RESTAURANT ORDER PAGE:

94

FINAL BILL PAGE:

95

FINAL BILL PAGE: (contd)

96

ADMINISTRATIVE EXPENSES PAGE:

97

ROOM CLEANING (HOUSE KEEPING) PAGE:

98

PURCHASE ORDER (INVENTORY) PAGE:

99

EXPENSES REPORTS PAGE:

100

ADMIN REGISTRATION PAGE:

101

CHAPTER 7
TESTING
7.1 Testing Concepts for Web Applications:
Testing is the process of exercising software with the intent of finding
(and ultimately correcting) errors. In fact, because Web-based systems and applications
reside on a network and interoperate with many different operating systems and
applications reside on a network and interoperate with many different operating systems,
browsers (or other interface devices as PDAs or mobile phones), hardware platforms,
communications protocols, and backroom applications, the search for errors represents a
significant challenge.
7.1.1 Dimensions of Quality:
Quality is incorporated into a web application as a consequence of
good design. It is evaluated by applying a series of technical reviews that assess various
elements of the design model and by applying a testing process. Both reviews and testing
examine one or more of the following quality dimensions.
Content
Function
Structure
Usability
Navigability
Performance
Compatibility
Interoperability
Security

102

7.1.2 Errors within a WebApp Environment:


Errors encountered as a consequence of successful WebApp testing have a number of
unique characteristics:
Because many types of WebApp tests uncover problems that are first evidenced on
the client side (i.e., via an interface implemented on a specific browser or a PDA or
a mobile phone).
Because a WebApp is implemented in a number of different configurations and
within different environments, it may be difficult or impossible to reproduce an
error outside the environment in which the error was originally encountered.
Although some errors are the result of incorrect design or improper HTML (or
other programming language) coding, many errors can be traced to the WebApp
configuration.
Because WebApps reside within client/server architecture, errors can be difficult to
trace across three architectural layers: the client, the server, or the network itself.
Some errors are due to the static operating environment (i.e., the specific
configuration in which testing is conducted), while others are attributable to the
dynamic operating environment (i.e., instantaneous resource loading or time-related
errors).
7.1.3 Testing Strategy:
Basic principles for software testing of WebApps are

The Content Model for the WebApp is reviewed to uncover errors.

The interface model is reviewed to ensure that all use-cases can be accommodated.

The design model for the WebApp is reviewed to uncover navigation errors.

The user interface is tested to uncover errors in presentation and/or navigation


mechanics.

Selected functional components are unit tested.

Navigation throughout the architecture is tested.

The WebApp is implemented in a variety of different environmental configurations


and is tested for compatibility with each configuration.

103

Security tests are conducted in an attempt to exploit vulnerabilities in the WebApp


or within its environment.

Performance tests are conducted.

The WebApp is tested by a controlled and monitored population of end users; the
results of their interaction with the system are evaluated for content and navigation
errors, usability concerns, compatibility concerns, and WebApp reliability and
performance.

7.1.4 Test Planning:


A WebApp test plan identifies
1. A task set to be applied as testing commences.
2. The work product to be produced as each testing task is executed.
3. The manner in which the results of testing are evaluated, recorded, and reused
when regression testing is conducted.

7.2 The Testing Process- Overview:


The testing process for web engineering begins with tests that exercise
content and interface functionality that is immediately visible to end-users. As testing
proceeds, aspects of the design architecture and navigation are exercised. The user may or
may not be cognizant of these WebApp elements. Finally, the focus shifts to tests that
exercise technological capabilities that are not always apparent to end-usersWebApp
infrastructure and installation/implementation issues.
Content Testing
Interface Testing
Navigation Testing
Component Testing
Configuration Testing
Performance Testing
Security Testing

104

The following figure shows the testing flow:

Content testing

Interface testing
Navigation testing

User

Interface
design

Component testing

Aesthetic design
Content design

Configuration
testing

Navigation design
Architecture design
Component design

Performance
testing

Security
testing

Technology

7.3 Content Testing:


Errors in WebApp content can be as trivial as minor typological errors
or as significant as incorrect information, improper organization, or violation of intellectual
property laws. Content Testing attempts to uncover these and many other problems before
the user encounters them.
7.3.1 Content Testing Objectives:
Content testing has three important objectives:
1. To uncover syntactic errors(e.g., typos, grammar mistakes) in text-based
documents, graphical representations, and other media

105

2. To uncover semantic errors (i.e., errors in the accuracy or completeness of


information) in any content object presented as navigation occurs
3. To find errors in the organization or structure of content that is presented to the
end-user.
In our system testing
In the ASP.NET technology, we have intelligence facility so that we can
avoid syntactic errors while we are doing coding without putting extra effort for detecting
these types of errors.
Semantic testing focuses on the information presented within each content
object. The tester must answer the following questions:

Is the information factually accurate?

Is the information concise and to the point?

Is the layout of the content object easy for the user to understand?

Can information embedded within a content object be found easily?

Have proper references been provided for all information derived from other
sources?

Is the information presented consistent internally and consistent with information


presented in other content objects?

Is the content offensive, misleading, or does it open the door to litigation?

Does the content infringe on existing copyrights or trademarks?

Does the content contain internal links that supplement existing content? Are the
links correct?

Does the aesthetic style of the content conflict with the aesthetic style of the
interface?

7.3.2 Database Testing:


Modern web applications do much more than present static content
objects. In many application domains, WebApps interface with sophisticated database
management systems and build dynamic content objects that are created in real-time using
the data acquired from a database.

106

Database Testing for WebApps is complicated by a variety of factors:


1. The original client-side request for information is rarely presented in the form that
can be input to a database management system. Therefore, tests should be designed
to uncover errors made by these DBMS.
2. The database may be remote to the server that houses the WebApp. Therefore, tests
that uncover errors in communication between the WebApp and the remote
database should be developed.
3. Raw data acquired from the database must be transmitted to the WebApp server and
properly formatted for subsequent transmittal to the client. Therefore, tests that
demonstrate the validity of the raw data received by the WebApp server should be
developed, and additional tests that demonstrate the validity of the transformations
applied to the raw data to create valid content objects must also be created.
4. The dynamic content objects must be transmitted to the client in a form that can be
displayed to the end-user. Therefore, a series of tests should be developed to
uncover errors in the content object format and test compatibility with different
client environment configurations.
In our system we have faced the following problems during the
testing of pages involved database connectivity: If the guest wants to reserve a room,
checking of the availability should be done automatically. The data is retrieved from the
database and the required possibility is checked. The communication is tested. At the
beginning we have used disconnected model, it causes some problems some times while
updating or deleting the entries in the database, so we have used connected in those
problematic places. The booking details should be displayed on users request, those
details are retrieved and displayed in the grid view. The forms are checked clearly in
different systems.

7.4 User Interface Testing:


Verification and validation of a WebApp user interface occurs at three
distinct points in the Web engineering process. During formulation and requirements
analysis, the interface model is reviewed to ensure that it conforms to customer

107

requirements and to other elements of the analysis model. During design, the interface
model reviewed to ensure that generic quality criteria established for all user interfaces
have been achieved and that application-specific interface design issues have been properly
addressed. During testing, the following shifts to the execution of application-specific
aspects of user interactions as they are manifested by interface syntax and semantics. In
addition, testing provides final assessment usability.
7.4.1 Interface Testing Strategy:

Interface features like colors, frames, images, borders, tables, and related elements
that are generated as WebApp execution proceeds, are tested to ensure the design
rules.

Each interface mechanism is tested within the context of a use case for a specific
user category.

The complete interface is tested against selected use cases.

Individual Interface mechanisms are tested in a manner that is analogous to unit


testing.

7.4.2 Testing Interface Mechanisms:


Links: Each navigation link is tested to ensure that the proper content object or function is
reached.
Forms: The following tests are performed to ensure that
1. Labels correctly identify fields within the form and that mandatory fields are
identified visually for the user.
2. The server receives all information contained within the form and that no data are
lost in the transmission between client and server.
3. Appropriate defaults are used when the user does not select from a pull-down menu
or set of buttons.
4. Browser functions (e.g., back arrow) do not corrupt data entered in a form.
5. Scripts that perform error checking on data entered work properly and provide
meaningful error messages. In our system, for login if the user is unauthorized,
invalid user message will come and it is tested properly.

108

6. Browser auto-fill features do not lead to data input errors. In our system, the
Arrival date and Departure date are initially none, no default date is provided there,
if tourist did not select those fields an error message will be displayed.
7. The tab key (or some other key) initiates proper movement between form fields. In
our system, in the reservation and booking forms, initially we have 3 text boxes and
they are placed into the form in different order then we faced a problem there, the
fields are first name, then email id and then address like that, they are looking in
that format in the form but while designing the form we placed textbox2 for the
address textbox, if we pressed tab after name filed it would go to the address
textbox without going to the email textbox. We have resolved the problem by
placing the textbox2 against email.
Pop-up windows: A series of tests ensure that

The pop-up is properly sized and positioned

The pop-up does not cover the original WebApp window

Scroll bars and other control mechanisms appended to the pop-up work, are
properly located, and function as required.

7.5 Component-Level Testing:


Component-level testing also called function testing, focuses on a set of tests
that attempt to uncover errors in WebApp functions. Each WebApp function is a software
module is a software module and can be tested using black-box testing and in some cases
white-box testing techniques.
Component-level test cases are often driven by forms-level input. Once forms
data are defined, the user selects a button or other control mechanism to initiate execution.
The following test case design methods are used:
Equivalence Partitioning: The input domain of the function is divided into input
categories or classes from which test cases are derived. The input form is assessed to
determine what classes of data are relevant for the function. Test cases for each class of
input are derived and executed while other classes of input are held constant.

109

Test cases in our system are as follows:


Test Case# : 1
Priority(H,L): High
Test Objective: To let the user enter the correct Email Id format.
Test Description: Email Id format is tested against standard formats.
Requirements Verified: Email Id format is checked
Test Environment: Internet Explorer
Test setup or Pre-conditions: User should enter some thing
Actions
Expected Results
Incorrect Email Id
A message Check your e-mail id is
displayed.
Correct Id
Pass: Yes
PrP Problems or issues: Nil

Just check and leave.


Conditional Pass:

Fail:

Test Case# : 2
Priority(H,L): High
Test Objective: Correct Registration
Test Description: Username is checked
Requirements Verified: Username is checked in the database
Test Environment: Internet Explorer
Test setup or Pre-conditions: User initiates any control mechanism like Submit button.
Actions
Expected Results
If the username already exists
A
message
Username
already
exists.Enter another name and try again
is displayed.
If the username is valid
Pass: Yes
PrP Problems or issues: Nil

Check and his account is created if all the


required fields are entered correctly.
Conditional Pass:
Fail:

110
Test Case# : 3
Priority(H,L): High
Test Objective: To let the user enter all the required fields
Test Description: All the necessary fields are checked
Requirements Verified: All the necessary fields should be entered
Test Environment: Internet Explorer
Test setup or Pre-conditions: User initiates any control mechanism like Submit or Go
buttons
Actions

Expected Results

Incomplete Necessary fields

Red colored * symbols will come against the


incomplete fields and the user is allowed to
complete those fields and form will not be
submitted until that has been done

Completion of all the necessary fields


Pass: Yes
PrP Problems or issues: Nil

Just check and go to the next activity.

Conditional Pass:

Fail:

111

Test Case# : 4
Priority(H,L): High
Test Objective: Correct logins
Test Description: Username and password are checked
Requirements Verified: Username and password are checked in the database
Test Environment: Internet Explorer
Test setup or Pre-conditions: User initiates any control mechanism like Submit or Go buttons
Actions
Incorrect login

Expected Results
A message Invalid username / password will be
displayed and allows the user to reenter the information.
Check and his account is opened which consists of the

Correct Login
Pass: Yes
Test Case# : 5

Conditional Pass:

booking details and logout option.


Fail:
Priority(H,L): High

Test Objective: To let the guest enter the arrival and departure dates only after the present
date.
Test Description: Arrival and departure dates are tested
Requirements Verified: Those dates should be after the present date.
Test Environment: Internet Explorer
Test setup or Pre-conditions: User should enter some thing
Actions
Expected Results
Arrival and departure dates are before the A message Invalid entry of dates is
present date.

displayed.

Arrival date is after the departure date

A message Invalid entry of dates is


displayed.

Correct Dates
Pass: Yes
PrP Problems or issues: Nil

Just check and continue


Conditional Pass:

Fail:

Test Case# : 6
Priority(H,L): High
Test Objective: User is allowed to cancel or modify his own booking details
Test Description: Accessing permissions
Requirements Verified: Login username must be verified
Test Environment: Internet Explorer
Test setup or Pre-conditions: If user tries to cancel the reservation made by another
user
Actions
If correct username

Expected Results
Guest is allowed to access those pages

If incorrect username

A message Invalid entry of data will be


displayed.

112

Pass: Yes
PrP Problems or issues: Nil

Conditional Pass:

Fail:

113

Test Case# : 7
Priority(H,L): High
Test Objective: Correct Check-in to the hotel
Test Description: Reference number is checked
Requirements Verified: Reference number, arrival date, departure date, check-in date and
the room number are verified from the database.
Test Environment: Internet Explorer
Test setup or Pre-conditions: If receptionist enters the incorrect reference number
Actions
Expected Results
If the reference number is not confirmed A message Invalid reference number is
after the payment.

displayed.

If the guest is already checked-in

A message Entered reference number is


invalid as the guest is already checked-in
will be displayed.

If the check-in date is after the departure A message Check-in is not accepted as
date given during reservation

the dates are invalid will be displayed.

If the check-in date is before the arrival date A message Check-in is not accepted as
given during reservation

the dates are invalid will be displayed.

If the allotted room number is invalid

A message Check-in is not completed as


Invalid roomno is alloted for the guest
will be displayed.

If everything is correct

message

Check-in

successfully

completed is displayed and all the


Pass: Yes
PrP Problems or issues: Nil

necessary activities are done.


Conditional Pass:
Fail:

Test Case# : 8
Priority(H,L): High
Test Objective: Correct Check-out from the hotel
Test Description: Room number is checked
Requirements Verified: Room number and the payment details are verified from the

114

database.
Test Environment: Internet Explorer
Test setup or Pre-conditions: If receptionist enters the incorrect room number
Actions
Expected Results
If the room number is not checked-in
A message Invalid Room number is
displayed.
If the Payment is not made by the guest.

A message No payment is made. Check


out is not accepted is displayed.

If the total due amount is more.

A message Check-out is not accepted as


the due amount is more is displayed

If everything is correct

message

Check-Out

successfully

completed is displayed and all the


necessary activities are done.
Conditional Pass:
Fail:

Pass: Yes
PrP Problems or issues: Nil

Boundary Value Analysis: Forms data are tested at their boundaries.


In our system:
Variable
Username
Password
ArrivalDate,

Minimum value
1 character
6 characters
Present date

Maximum Value
30characters
30characters
-

Departure Date
Telephone number

10

14

7.6 Navigation Testing:


The job of navigation Testing is

To ensure that the mechanisms that allow the WebApp user to travel through the
WebApp are all functional and

To validate that each navigation semantic unit can be achieved by the appropriate
user category.

7.6.1 Testing Navigation Syntax:

115

Navigation links: Internal links within the WebApp, external links to other WebApps and
anchors within a specific Web page should be tested to ensure that proper content or
functionality is reached when the link is chosen.
Redirects: these links come into play when a user requests a nonexistent URL or selects a
link whose destination has been changed. We have tested this by accessing the incorrect
internal links and the test is completed successfully.
Sitemaps: Entries should be tested to ensure that the link takes the user to the proper
content or functionality.

7.7 Configuration Testing: this attempt to uncover errors that are specific to a
particular client or server environment. A cross-reference matrix that defines all probable
operating systems, browsers, hardware platforms, and communication protocols is created.
Tests are then conducted to uncover errors associated with each possible configuration.

7.8 Security Testing: It incorporates a series of tests designed to exploit vulnerabilities


in the WebApp and its environment. The intent is to demonstrate that a security breach is
possible.

7.9 Performance Testing: It encompasses a series of tests that are designed to assess
(1) How the WebApp response time and reliability are affected by increased user traffic,
(2) Which WebApp components are responsible for performance degradation and what
usage characteristics cause degradation to occur, and (3) how performance degradation
impacts overall WebApp objectives and requirements.

116

CHAPTER 8
MAINTENANCE
Corrective maintenance
This acts to correct errors that are uncovered after the software is in use.

Adaptive maintenance
This is applied when changes is the external environment precipitate modifications
to software.

Preventive maintenance
This improves future maintainability and reliability and provides basis for future
enhancements.

117

CHAPTER 9
CONCLUSION
The existing system is a manual system. It involves paper work in the form of
maintaining various files and manuals. Maintaining critical information in the files and
manuals is full of risk and a tedious process. A positive solution to ease the burden is
Automation of Hotel Management.
The existing automated system is a stand alone system or a LAN based system and
booking is in the form of email.
This project reduces the manual work and minimizes time spent for administration.
Cyber Hotelier is developed to increase the performance of the existing system and is
beneficial for the organization as it provides an option of reserving rooms through online.
The system has fulfilled all the requirements outlined in the problem definition.
The system is secured because it provides restricted access to various user types by
user authentication. Various trend reports would facilitate the process of decision-making.
This system has been tested using all possible test data that can work in any conditions.

118

CHAPTER 10
FUTURE ENHANCEMENTS

Desirable Enhancements to the Delivered System


The system has been developed under the given conditions and is found to work effectively
and efficiently. The system has been tested with sample data covering all possible options
and its performance is good. Since the system is flexible and modular, further modification
of this package can be easily incorporated.

A number of possible enhancements or

additions to the delivered system have been suggested.

Enhancements to create a Bigger, Better System


These enhancements deal with what would be required in a new improved, bigger and
better system.

Simultaneous access of the software by more number of users in a project team.


To provide a facility that automatically sends a mail to the users to keep them

updated on every new plan introduced.

119

CHAPTER 11
REFERENCES

Ali Bahrami (2003),Object Oriented Analysis and Design using UML, 2nd
Edition Tata McGraw-Hill.

Roger S.Pressman (2002),Software Engineering: A Practioners Approach, 5th


Edition, Tata McGraw-Hill.

Vikas Guptha (2007),.Net Programming in C#,2005, BHP publishers.

http://www.asp.net/

http://www.lifecyclestep.com/open/410.0Analysis.htm

http://www.hotelmanagementsystem.co.in/

http://www.download.com/Hotel-Management-System/3000-2078_410803780.html

Potrebbero piacerti anche