Sei sulla pagina 1di 31

Department of Computer Engineering

Session -Dec 2010-April2011

Project Report on

Hotel Management System

Submitted By
Gargi Gour Roll no-AB 34024 Deepali Singh Roll no-AB 34019 BE 3rd yr

Submitted to
Ms. Sonika Tomar

ACKNOWLEDGEMENT

We would like to take this opportunity to express our gratitude to all those who helped us in this project, especially our guide Ms. Sonika Tomar for her valuable guidance and experience. Her persistent encouragement, everlasting patience and invaluable inspiration helped us a lot in moulding the present shape of the project. We are grateful to our college authority for enabling us to complete this project. We are also thankful to our college library for providing us with adequate information on this subject.

Table of Contents
S.no.
1 2 3 4 5 6 7 8 9 10 11 12

Topics
Introduction General characteristic s Requirement Specifications Feasibility study Use case analysis Data flow diagrams Snapshots Structure chart System overview Design Consideration Coding principles Testing

Page no.
4-5 6 7-12 13 14 15-17 18-23 24 26 26-27 27-28 29-31

Signature

INTRODUCTION

Objectives of Project:
From the beginning, the important thing in our mind is that we should concentrate our project work on a subject that is easy to understand and is according to our daily requirement. By keeping this in mind, the subject chosen by us is hotel management. The purpose of Hotel MANAGEMENT SYSTEM is to provide both, the administrator and customer a convenient environment for various operations The objective is to free the administrator from manual book keeping of various details. It facilitates the admin to keep a track of all the details simultaneously and conveniently without any overheads of time, space and stationery cost. The various objectives are: Storing the details of customers.
To provide easy way of booking rooms.

Maintaining and updating customer account: generating bill, keeping track of transactions.

Project Scope
The project is constructed so that the user can use it efficiently. Because of this technical simplicity, the scope of the project is wide with respect to the no. of users. The project is basically designed for owners of hotel. However, with certain changes it can be used by other managers as well. The first subsystem is a Reservation and Booking System to keep track of reservations and room availability. The second subsystem is the Tracking and Selling Food System that charges the current room. The third subsystem is a General Management Services and Automated Tasks System which generates reports to audit all hotel operations. There are two end users for the Hotel Management System. The end users are the hotel staff (customer service representative) and hotel managers. Both user types can access the Reservation and Booking System and the Food Tracking and Selling System. The General Management System will be restricted to management users. Care has been taken to ensure that that the project is adaptable to changes and modifiable. Therefore, introducing new features or updating the existing ones can extend the project scope.

Developers Responsibilities
The following points are to be kept in mind while developing the project: Use platforms that are easy to understand and compatible with most other platforms. It should be interactive and user friendly. Proper care should be taken to ensure that the databases are secure. It should be able to handle exceptional or erroneous situations decently and should not crash in case of wrong input, low memory etc. It should be convenient to use and flexible. It should be economically efficient. It should have minimum time and space overheads.
5

GENERAL CHARACTERISTICS Users of Project


ADMIN: The owner of the hotel or anyone who is responsible for running the

project i.e. entering values in database, updating the database etc. He also maintains the various accounts of Customers, Staff.
STAFF: A staff member who can check databases related to customers

according to his/her designation. Also, can process a reservation.

General Constraints
An ambiguous requirement specification, which affects the performance, as there is a gap between what is required and what is made. A user who is completely unaware of computer terminologies and basic technical aspects may not be able to use the software. Compromise with compatibility or large space for the sake of using an easy and interactive platform, which, in turn affects the performance.

REQUIREMENT SPECIFICATIONS Functional Requirements


1. Reservation/Booking The system shall record reservations. The system shall record the customers first name. The system shall record the customers last name. The system shall record the number of occupants. The system shall record the room number. The system shall display the default room rate. The system shall allow the default room rate to be changed. The system shall record the customers phone number. The system shall display whether or not the room is guaranteed. The system shall generate a unique confirmation number for each reservation o The system shall record the check-in date and time. o The system shall record the checkout date and time. The system shall checkout customers. The system shall display the amount owed by the customer. The system shall record the payment.

Food

The system shall track all meals purchased in the hotel (restaurant and room service). The system shall record payment and payment type for meals. Management The system shall display projected occupancy for a period of time (days). The system shall display room revenue for a specified period of time (days). The system shall display food revenue for a specified period of time (days).
8

The system shall allow for the modification of information, regarding rooms, rates, menu items, prices, and user profiles. The system shall allow managers to assign user passwords. For development of the proposed system (Front End): VB 6.0 is used. For development of database (Back End): MS-Access or Oracle (10 g) is used. Hardware requirement is not so specific, but, 256 MB of RAM and any processor can be used.

External Interfaces
The Hotel Management System will use the standard input/output devices for a personal computer. This includes the following: Keyboard Mouse Monitor Printer

Identifying Performance Constraints

1. Hardware Constraints
The Hotel Management System will be placed on PCs throughout the hotel.

Database-associated hardware (I/O) contention.


When data is being accessed to provide information that is required in a transaction, an I/O operation passes through the processor, the disk and other such devices. If any of these devices are overused, the time taken to access the data can increase significantly. Error rates also affect the usage and performance of the device. This, in turn, increases the time that the transaction takes to complete.

2. Software Constraints
All databases for the Hotel Management System will be configured using Oracle 8i. These databases include hotel rooms and customers information. These can be modified by the end users. The room database will include the room numbers and if they are vacant or occupied. The customers information database will contain all the information of the customer such as first name, last name, number of occupants, assigned room, default room rate (may be changed), phone number, whether or not the room is guaranteed, credit card number, confirmation number, automatic cancellation date, expected check in date and time, actual check in date and time, expected check out date and time, amount owed by customer, and abbreviated customer feedback.

3. Design Constraints
These are the restrictions on the design of a system, or the process by which the system is developed. While the sources are varied, design constraints typically originate from one of three sources: Restriction of design options Conditions imposed on the development process, Regulations and imposed standards. Following are some of the design constraints:

Compatibility with existing systems: The application must run on both our new and old platforms. Compatibility with the legacy database must be maintained

There may be many such sources and rationales, and the designers may have to accept them whether they like them or not. But it's important to distinguish them from the other types of requirements, for many of the constraints may be arbitrary, political, or subject to rapid technological change and might thus be subject to review or renegotiation at a later point.
10

User Requirements
Following are some of the user requirements: Friendly user interface. Ease of use: Can be understood by any layman who has not built the software. Design must not be complex. Software must be flexible for other technical development. Fast processing for better performance. Adaptable to changes.

Acceptance Criteria
Acceptance criteria represents specific and defined list of conditions that must be met before a project has been considered completed and the project can be accepted by the customer. Acceptance criteria can represent certain essential requirements that must be met by the final project, or specific conditions that must be met during the process. Some of the acceptance criteria to followed in our project are:

Communication The project provides adequate means by which admin can communicate with support staff, customer. This includes phone numbers and an email address. The number of support channels that should be available will depend on the nature of the use.

Ease of Use The project is laid out clearly and is easy to navigate. Information & Transparency
11

The project clearly describes the nature of its goods & services. It also provides information concerning its owners & operators.

Security The project takes adequate measures to protect the details of its customers, staff and financial details of the customers.

Legality The project and the admin do not break any local or international laws. This includes spam and copyright laws. The products & services are genuine.

12

Non Functional Requirements


A non-functional requirement is a requirement that specifies criteria that can be used to judge the operation of a system, rather than specific behaviors. This should be contrasted with functional requirements that define specific behavior or functions. Non-functional requirements are often called qualities of a system. Some of the non-functional requirements supported by our project are:

RELIABILITY: It ensures that the project is dependable or trustworthy. It indicates the degree to which the project consistent, that is, repeated measurements would give the same result.

MAINTENABILITY: It is the ease with which the project can be maintained in order to correct defects, meet new requirements make future maintenance easier, or cope with a changed environment .

ROBUSTNESS: It is the ability of the project to cope with errors during execution or the ability of an algorithm to continue to operate despite abnormalities in input, calculations, etc.

SECURITY: The objective of project security includes protection of information from theft, or corruption, while allowing the information to remain accessible and productive to its intended users.

13

FEASIBILITY STUDY
Feasibility study aims to objectively and rationally uncover the strengths and weaknesses of the existing business or proposed venture, opportunities and threats as presented by the environment, the resources required to carry through, and ultimately the prospects for success. In its simplest term, the two criteria to judge feasibility are cost required and value to be attained. As such, a well-designed feasibility study should provide a historical background of the business or project, description of the product or service, accounting statements, details of the operations and management, marketing research and policies, financial data, legal requirements and tax obligations. Generally, feasibility studies precede technical development and project implementation.

Technical Feasibility Study


Technical feasibility determines whether the work for the project can be done with the existing equipment, software technology and available personnel. Technical feasibility is concerned with specifying equipment and software that will satisfy the user requirement. This project is feasible on technical aspects. The proposed system can run on any machines supporting Windows and Internet services and works on the best software and hardware that had been used while designing the system so it would be feasible in all technical terms of feasibility.

Temporal Feasibility Study


It is a measure of how well a proposed system solves the problems, and takes advantage of the opportunities identified during scope definition and how it satisfies the requirements identified in the requirements analysis phase of system development.
14

The proposed system is temporally feasible.

UseCase Diagram

15

DataFlow Diagram Level 0

16

Level 1

17

Level 2

Snapshots

18

19

20

21

22

23

24

SYSTEM OVERVIEW The Hotel Management System provides with the following functionalities:

Make a reservation: Make a reservation for a customer by taking all the information about customers and by checking the availability of rooms in the hotel. Room Status: User can check the status of the room in the hotel i.e. the number of rooms which are vacant and which are non vacant. Cancellation of reservation: After making reservation customer can cancel its reservation by entering its id. Check in and use of facilities: After making reservation, customer can checkin in the hotel and can use all the facilities available in the hotel like restaurant, laundry, tea etc Check out: Now the staff can calculate the total bill of customer and show it to customer at the time of customer checkout.

DESIGN CONSIDERATIONS: ASSUMPTIONS AND CONSTRAINTS We assume that project is accessed by staff and administrator and database access permission is given only to the administrator. The Customer is only provided with the receipt of bill in the hotel. Booking is done only when the room is available in the hotel. Check in is done only when the customer provides valid customer id. Services are allocated only when the service allocation date is in between check in and check out date. Various Constraints are applied on the text boxes regarding maximum length of characters, format of data etc. Following are strictly needed in development of the project software and hardware-: Microsoft Visual Basic(6.O) Microsoft Access 2003/2007

25

Operating systems--: Operating system should be compatible with all the operations provided by the system. End-user characteristics -: End user must have a basic idea of the all application software to operate it in Convenient way. The system which uses the software to be developed should have a sufficient memory to keep the databases consistently and for future expands.

GOALS AND GUIDELINES The Hotel management system is an application for maintaining a persons reservation and his bill in a hotel. The system provides the access to the user to make reservation of the customers in the hotel and maintaining customers bill and their checkin and checkout information. The goal of design engineering is to produce a model or representation that exhibits firmness, commodity and delight. To accomplish this, a designer must practice diversification and then convergence. The model thus produced enables the programmer or coder to develop the software corresponding to it in an easy and efficient manner. The coding becomes simpler as design models are created which differentiate it in modules and make the development of the software efficient and effective.

SYSTEM ARCHITECTURE This section should provide a high-level overview of how the functionality and responsibilities of the system were partitioned and then assigned to subsystems or components. The Hotel management system basically works on data centered architecture. We use a centered database in which all information regarding to customers, rooms, services and other necessary information are kept .This information is accessed frequently by other components for making reservation, Deletion and updation. 1. A design must exhibit an architecture that (a) has been created using recognizable architectural styles or patterns
26

(b) is composed of components that exhibit good design characteristics (c)can be implemented in an evolutionary fashion 2. A design should be modular 3. A design should contain distinct representation of data, architecture, interfaces and components. 4. A design should lead to use of proper data structures and exhibit independent functional characteristics. Policies and tacties Describe any design policies and tactics that do not have sweeping architectural implications i.e. they would not significantly affect the overall organization of the system and its high-level structures.
Choice of which specific product to use (compiler, interpreter, database, library, etc. ...) *The protocol of one or more subsystems, modules, or subroutines *The choice of a particular algorithm or programming idiom (or design pattern) to implement *portions of the system's functionality *Plans for ensuring requirements traceability *Plans for testing the software *Plans for maintaining the software *Interfaces for end-users, software, hardware, and communications *Hierarchical organization of the source code into its physical components (files and directories). How to build and/or generate the system's deliverables (how to compile, link, load, etc. ...)

CODING PRINCIPLES:

1. Test as you write As much as possible, test your code as you write it. These tests will often be quick and easy ones, such as checking that the value of pi youre using is really what it should be, but if you perform these little checks while youre working on (and thinking about) that piece of code, youll save yourself a lot more effort having to come back later and fix bugs. Youll find that you can perform a lot of simple tests very quickly as you go along; once youre in the habit, you really dont spend a lot of time doing it. But the time you save yourself later on can be considerable 2. Validate your data At some point, someone will feed garbage into your carefully crafted code. In fact, part of your testing should be feed garbage input into your code to check that it recognises it! If your code is validating the data it is given then it should be able to
27

deal intelligently with this, even if intelligently means crash but tell the user what has gone wrong and why 3. Handle errors nicely Asserts are a great way of validating data and are very useful during development, however once a program is in the hands of the users you want your error handling to be a little nicer than stopping the program immediately. There is nothing more frustrating than a program that just dies without warning or explanation. Most modern languages have support for handling problems your code encounters using Exceptions. Exceptions are generated when something goes wrong and bubble up until they are caught and dealt with. The advantage of exceptions is that they can be used without your code having to pass around error-code results from function to function. 4. Keep It Simple The simpler your code is, the easier it is to construct and maintain. So, subject to the constraints of our objectives, the simpler you can make your code the better. This has a connection to premature optimisation because optimised code tends to be less simple. 5. Make your code unsurprising The principle of least surprise is that you should try to make your codes actual functionality as close as possible to the typical quick impression. Or, to put it another way, you should try to write your code so that it communicates its functionality accurately in a very short (pain-free) amount of time. This means doing things like picking informative variable/function names, writing informative (and succinct) comments, and making the layout easy to read. 6. Dont Repeat Yourself (DRY) Multiple representations are also a great way to generate bugs if you forget to change some of them. This also applies to code; dont repeat chunks of code that do the same thing have a single version and put it in a function.

TESTING:
28

A test suite often contains detailed instructions or goals for each collection of test cases and information on the system configuration to be used during testing. A group of test cases may also contain prerequisite states or steps, and descriptions of the following tests. A test case in software engineering is a set of conditions or variables under which a tester will Determine whether an application or software system is working correctly or not.

TEST CASES:

Test cases for Login Window Login screen contain username, password, ok button and cancel button. Test case for username Range of username Ex-Max number of characters username will accept which are 10 in this case. Valid and invalid characters Like a-z, A-Z, 0-9, _special chars blank Test case for Password Password is encrypted and max number of characters is taken as 10. Test case for Ok button When button is pressed corresponding window should appear. Test case for Cancel button If the cancel pressed window should be closed without save. Now if press ok user should be login in the system. Negative testing scenarios 1. Type the tab button without entering username and enter password and press ok. Expected Result- Invalid! Try again 2. Enter the username without entering password and press ok. Expected Result- Invalid! Try again 3. Enter incorrect username and password and press ok. Expected Result- Invalid! Try again Test cases for Booking
29

Input parameter checking: Name Address Gender Country Phone no Birth date Zip Code Arrival date Departure date Location Room type Now press check availability button, if the desired room is available it shows a message that room is available otherwise it shows that room is not available. Now press make reservation button, it should make reservation and provide customer id with the room number if all the fields are entered according to their range and should show error message otherwise.

Test cases for Cancellation of Booking RequirementsCustomer id Now the user will press canelbooking button, it should give error message if the field is left blank or is not in range or is wrong information according to database details. If everything is well then booking is cancelled Test cases for checkin RequirementsCustomer id Advance payment Now the user will press check in button, it should give error message if the fields are left blank or is not in range or is wrong information according to database details. It means it will give error if the customer id is not valid. If valid then check in is done. On clicking cancel button window is closed.

Test cases for Facilities


30

RequirementsRoom No Service allocation date Last date Service name Now the user will press allocate button, it should give error message if the fields are left blank or is not in range or is wrong information according to database details or if service allocation date is out of range from checkin and checkout date. If all are valid then service is allocated to that room and the bill is calculated. Test cases for Checkout RequirementsRoom no Now the user will press checkout button, it should give error message if the fields are left blank or is not in range or is wrong information according to database details. If all are valid then the total bill is calculated and the customer is deleted from the database and on clicking cancel window is closed.

31

Potrebbero piacerti anche