Вы находитесь на странице: 1из 40

BHAGWATI COLLEG OF MANAGEMENT & TECHNOLOGY

Department of BCA

A PROJECT REPORT

MASTER OF COMPUTER APPLICATIONS


[2019-2020]

HOTEL MANAGEMENT SYSTEM

Internal Supervisor: Submitted By:


Mr. Manoj Kumar Rishabh Kumar
(1708521751)

1
ACKNOWLEDGEMENT

ACKNOWLEDGEMENT
2
No task is single man’s effort. Cooperation and coordination of various people at
places go into the successful implementation. However, it is impossible to thank
everyone individually; I am hereby making a humble effort to thank some of them.

I am highly indebted to my internal supervisor Mr. Manoj Sir (Assistant Professor,


Department of BCA, BCMT, Meerut), for inspiring me to enhance my knowledge by
pursuing the innovative and challenging area of my project “Hotel Management
System”.

I owe my profound gratitude to Mr Aditya Verma, Head, Department of BCA, for his
valuable guidance and facilitating me during my work. I am also very grateful to all
the faculty members and staff for their precious support and cooperation during the
development of this project.

Finally, I extend my heartfelt appreciation to my classmates for their help and


encouragement.

Rishabh Kumar
(1708521751)

3
CERTIFICATE

4
CERTIFICATE

This is to certify that Mr. Rishabh Kumar (1708521751 has successfully carried
out the Mini project work entitled “Hotel Management” for the partial fulfilment of
the requirement for the award of “BACHELOR OF COMPUTER
APPLICATION” from Bhagwati College of Management and Technology,
Meerut (Affiliated to CCS University, Meerut) during the academic year 2017-
2020. To the best of my knowledge, the Mini project work & studies has been carried
out by student himself.

(Internal Supervisor)
Mr. Manoj kumar

Mr. Aditya Verma


(Head of Department)

5
CONTENTS

CONTENTS

6
TABLE OF CONTENTS

Page No.

1 Process Model
1.1 Architecture

1.2 Development Methodology

2. Requirement Analysis

2.1 Requirement Elicitation

2.2 Feasibility Study

2.3 Software Requirement Specifications (SRS)

3. System Design

3.1 Design Methodology – Function Oriented / Object Oriented

4. Testing

5. Implementation/Maintenance

6. Bibliography and References

7
ABOUT THE ORGANIZATION

PROCESS MODEL

Model description:

8
Waterfall Model
The waterfall model is a sequential approach, where each fundamental
activity of a process represented as a separate phase, arranged in linear
order.

In the waterfall model, you must plan and schedule all of the activities
before starting working on them (plan-driven process).
Plan-driven process is a process where all the activities are planned first,
and the progress is measured against the plan. While the agile process,
planning is incremental and it’s easier to change the process to reflect
requirement changes.

The phases of the waterfall model are: Requirements, Design,


Implementation, Testing, and Maintenance.

⮚ Model Architecture

9
● Requirements: The first phase involves understanding what need to be design
and what is its function, purpose etc. Here, the specifications of the input and
output or the final product are studied and marked.

● System Design: The requirement specifications from first phase are studied in this
phase and system design is prepared. System Design helps in specifying hardware
and system requirements and also helps in defining overall system architecture.
The software code to be written in the next stage is created now.

● Implementation: With inputs from system design, the system is first developed in
small programs called units, which are integrated in the next phase. Each unit is
developed and tested for its functionality which is referred to as Unit Testing.

● Integration and Testing: All the units developed in the implementation phase are
integrated into a system after testing of each unit. The software designed, needs to
go through constant software testing to find out if there are any flaw or errors.
10
Testing is done so that the client does not face any problem during the installation
of the software.

● Deployment of System: Once the functional and non-functional testing is done,


the product is deployed in the customer environment or released into the market.

● Maintenance: This step occurs after installation, and involves making


modifications to the system or an individual component to alter attributes or
improve performance. These modifications arise either due to change requests
initiated by the customer, or defects uncovered during live use of the system.
Client is provided with regular maintenance and support for the developed
software.

11
Requirement analysis

⮚Requirement election:
The main purpose of conducting system analysis is to study the various processes and
to find out its requirements. These may include ways of capturing or processing data,
producing information, controlling a business activity or supporting management. The
determination of requirements entails studying the existing details about it to found
out what these requirements are.
System analysis has been conducted with the following objectives in mind:

1) Identify the customers’ need.


2) Evaluate the system concept for feasibility.
3) Perform economic and technical analysis.
4) Allocate functions to hardware, software, people, database, and other system
elements.
5) Establish cost and schedule constraints and create a system definition that forms
the foundation for all subsequent engineering work.

System Analysis includes requirement analysis. The requirement analysis task is a


process of discovery, refinement, modelling, and specification. Requirement analysis
allows the software engineer to refine the software allocation and build models of the
data, functional, and behavioural domains that will be treated by software.
Requirement specification provides the developer and the customer with the means to
assess quality once software is built.
While the analysis phase of development of this project following set of principles
were considered:
1) The information domain of a problem must be represented and understood.
2) The functions that the software is to perform must be defined.
3) The behaviour of the software must be represented.
4) The models that depict information function and behaviour must be partitioned
in a manner that uncovers detail in a layered fashion.
5) The analysis process should move from essential information toward
implementation detail.

All the necessary details required in the analysis of project were collected from the
record registers, customers, workers of the firm and the manager.
The requirement analysis played an important role in identifying what the firm wants
from the proposed system. All the analysis was done in accordance to the user’s

12
requirements so that the proper designing can be done and the firm requirements can
be fulfilled.
To accomplish the required objectives stated above a through system study was done
to investigate and judge the areas of the system, which could be computerized. The
following steps were undertaken.

IDENTIFICATION OF NEED
This is the phase during which the problem is identified, alternate system solutions are
studied, and recommendations are made about committing the resources required to
design the system. I did the system study for this software in a company in Delhi.

Requirement
++

By studying the prevalent system in the Organization the requirement for the software
has become crystal clear. The main requirement is to create a database that should be
manageable even if the database size grows into a huge one. Next important
requirement is the generation of relevant information from the database or specialized
reports for the management. Another constraint was that if some basic information is
changed then it should be possible to do that in the software without much trouble.

PRELIMINARY INVESTIGATION:
Preliminary Investigation was carried out by various ways. As the staff of the concerned
Organization was to be affected by the system therefore their needs and wish list were
listed so as to do the requirement Analysis. Objective was to ask the following
questions
Who? What? Why? Where? When?
Only the people who actually are in the system could answer these questions. Therefore
the questions were asked to some of the staff at the concerned organization.

Person: Team Leaders

For this a prior appointment was taken and the following Questions were asked:
a) What kind of difficulties do you generally face in your system?
b) How are the records maintained?
c) What information is required to be maintained?
d) What are the expectations from the proposed system?
e) What are the outputs required from the system?
f) What reports you desire for internal monitoring of daily activities?

13
Person: Employees
For this a prior appointment was taken and the following Questions were asked:
a) What is the work of a Clerk?
b) What is the general modus operandi followed by a employee?
c) How records maintained?
d) What do people complain about most?
e) What are the expectations from the proposed system?
f) What are the outputs required from the system?
g) What problems are faced in the current system?

Other fact-finding techniques were also used for preliminary investigation. They were
⮚ Existing documentation, forms, file and records
⮚ Observation of the work environment
⮚ Questionnaires
⮚ Interviews and group work sessions

14
FEASIBILITY STUDY
Before getting started on a new system it was important to determine the feasibility
involved in the development system so that the new system development could be
developed. Feasibility is the determination is called feasibility study. Feasibility study
is the measure of how beneficial or practical the development of an information
system will be to an organization. The Feasibility analysis is a cross life cycle activity
and should be continuously performed throughout the system life cycle.

Feasibility tests:

This type of study determines if a project can and should be taken. Once it has been
determined that, project is feasible, after that analyst can go ahead and prepares the
project specification, which finalizes project requirement.

Feasibility studies are undertaken within tight time constraints.


The developed system is started after considering the main three type of feasibilities
that are discussed below:-

1) Technical Feasibility:-

The assessment is based on an outline design of system requirements in terms of


Input, Processes, Output, Fields, Programs, and Procedures. This can be quantified in
terms of volumes of data, trends, frequency of updating, etc. in order to estimate
whether the new system will perform adequately or not. Technological feasibility is
carried out to determine whether the company has the capability, in terms of software,
hardware, personnel and expertise, to handle the completion of the project when
writing a feasibility report, the following should be taken to consideration:

▪ A brief description of the business


▪ The part of the business being examined
▪ The human and economic factor
▪ The possible solutions to the problems

15
As we know the technical feasibility is concerned with specifying equipment and
software that will successfully satisfy the user requirement. The technical needs of the
system may vary considerably, but might include:

▪ The facility to produce outputs in a given time.

▪ Response time under certain conditions is minimal.

▪ Ability to process a certain volume of transaction at a particular speed.

▪ Facility to communicate data to distinct location.

In examining the technical feasibility, configuration of the system is given more


importance than the actual make of hardware. The configuration should given the
complete picture about the system’s requirement, how these units are interconnected
so that they could operate and communicate smoothly.-

For the design and development of the system, several software products have been
accommodated.

· Database design – MS Access 2007 (Preferred) or any other DBMS.

· Coding – Java,JSP

This technology (Java) has enough efficiency in producing the system. Therefore the
project is technically feasible.

2) Economic Feasibility:-

Economic analysis is the most frequently used technique for evaluating the
effectiveness of the proposed system. More commonly known as cost/benefit analysis,
the procedure is to determine the benefit and saving that are expected from the
purposed system and compare with costs. If benefits outweigh cost, a decision is taken
to design and implement the system. Otherwise, further justification or alternative of
the proposed system will have to be made if it has a chance of being approved. This is
an going effort that improves in accuracy at each phase of the system life cycle. The
analysis part also clears the doubt of economic problem, which could be possible in
developing the system. As already mentioned that the company has to just pay
developed software cost and not other investment is needed at the time of

16
implementation of the new system as the preliminary requirements already exist in
company.

According to the resources available and the project scheduling process it is estimated
that the expenses allocated for the web application to be developed, by the client is
sufficient enough. Hence the economical factor has been considered feasibility.

3) Operational Feasibility:-
Proposed projects are beneficial only if they can be turned into information system
that will meet the operating requirements of the organization. This test of feasibility
ask if the system will work when it developed and installed. Are there major barriers
to implementation? Some of the important question that are useful to test the
operational feasibility of a project are given below:

▪ Is there sufficient support for the project from the implementation? From user?
If the present system is well liked and use to the extent that person will not be
able to see reason for change, there may be resistance.

▪ Are current business methods acceptable to the user? They are not, user may
welcome a change that will bring about a more operational and useful system.

▪ Have the user been involved at the earliest stage of project development, the chance
of resistance can be possibly reduced

17
DATA FLOW DIAGRAM

The Data Flow diagram enables the software engineer to develop models of the
information domain and functional domain at the same time. As the DFD is refined
into greater levels of detail, the analyst performs an implicit functional decomposition
of the system.

18
DFD (Data Flow Diagram)

19
LEVEL-2

20
Data Dictionary
A data dictionary is a collection of descriptions of the data objects or items in a
data model for the benefit of programmers and others who need to refer to them. A first
step in analyzing a system of object s with which users interact is to identify each object
and its relationship to other objects. This process is called data modeling and results in a
picture of object relationships. After each data object or item is given a descriptive name,
its relationship is described (or it becomes part of some structure that implicitly describes
relationship), the type of data (such as text or image or binary value) is described,
possible predefined values are listed, and a brief textual description is provided. This
collection can be organized for reference into a book called a data dictionary

When developing programs that use the data model, a data dictionary can be consulted to
understand where a data item fits in the structure, what values it may contain, and
basically what the data item means in real-world terms. For example, a bank or group of
banks could model the data objects involved in consumer banking. They could then
provide a data dictionary for a bank's programmers. The data dictionary would describe
each of the data items in its data model for consumer banking (for example, "Account
holder" and ""Available credit")

21
ER-Diagram

22
Software Requirement Specifications (SRS)

A software requirements specification (SRS) is a document that captures


complete description about how the system is expected to perform. It is
usually signed off at the end of requirements engineering phase.

Qualities of SRS:
● Correct
● Unambiguous
● Complete
● Consistent
● Ranked for importance and/or stability
● Verifiable
● Modifiable
● Traceable

23
Types of Requirements:

The below diagram depicts the various types of requirements that are captured
during SRS.

24
Hardware and Software Requirements

Hardware and the software plays a major role in the development cycle of any system,
right from the planning phase to the end of the development process and then in the
implementation of the system. The Hardware and the software requirements are the
key factors during the feasibility of the candidate system.

Hardware requirements:

Sno. Name Description


1 Hard-Disk 2 GB
2 RAM 128 MB
3 Processor Speed 466 MHz or above
4 Monitor 14” SVGA
5 Printer High Speed Printer
6 Mouse Scroll
7 Keyboard Normal

Software requirements:

S no. Name Version


1 Windows 2000/XP Not Applicable
2 Ms-Access 2007 or above
3 Java JDK1.6 or above

TOOLS AND TECHNOLOGIES

● JAVA

25
● MS. Access

● ABOUT JAVA:-

Java is a programming language originally developed by James Gosling at Sun


Microsystems (which has since merged into Oracle Corporation) and
released in 1995 as a core component of Sun Microsystems' Java
platform. The language derives much of its syntax from C and C++, but
it has fewer low-level facilities than either of them. Java applications are
typically compiled to byte code (class file) that can run on any Java
virtual machine (JVM) regardless of computer architecture. Java is a
general-purpose, concurrent, class-based, object-oriented language that is
specifically designed to have as few implementation dependencies as
possible. It is intended to let application developers "write once, run
anywhere" (WORA), meaning that code that runs on one platform does
not need to be recompiled to run on another. Java is, as of 2012, one of
the most popular programming languages in use, particularly for client-
server web applications, with a reported 10 million users.

FEATURES OF JAVA:-

Platform Independence:-

The Write-Once-Run-Anywhere ideal has not been achieved (tuning for different
platforms usually required), but closer than with other languages.

Object Oriented:-

Object oriented throughout - no coding outside of class definitions, including main ( ).

An extensive class library available in the core language packages.

Compiler/Interpreter Combo:-

Code is compiled to byte codes that are interpreted by a Java virtual machines (JVM) .

This provides portability to any machine for which a virtual machine has been written.

26
The two steps of compilation and interpretation allow for extensive code checking and
improved security. Robust:-
Exception handling built-in, strong type checking (that is, all data must be declared an
explicit type), local variables must be initialized.

Several dangerous features of C & C++ eliminated:

No memory pointers

No pre-processor
Array index limit checking

Automatic Memory Management

Automatic garbage collection - memory management handled by JVM.

Security:-

No memory pointers

Programs runs inside the virtual machine sandbox.

Array index limit checking Code

pathologies reduced by

Byte code verifier - checks classes after loading

Class loader - confines objects to unique namespaces. Prevents loading a hacked


"java. lang.SecurityManager" class, for example.

Security manager - determines what resources a class can access such as reading and
writing to the local disk.

Dynamic Binding:-

The linking of data and methods to where they are located, is done at run-time.

New classes can be loaded while a program is running. Linking is done on the fly.

Even if libraries are recompiled, there is no need to recompile code that uses classes in
those libraries.

27
This differs from C++, which uses static binding. This can result in fragile classes for
cases where linked code is changed and memory pointers then point to the wrong
addresses.

Good Performance:-
Interpretation of byte codes slowed performance in early versions, but advanced
virtual machines with adaptive and just-in-time compilation and other techniques now
typically provide performance up to 50% to 100% the speed of C++ programs.

Threading:-
Lightweight processes, called threads, can easily be spun off to perform
multiprocessing.

Can take advantage of multiprocessors where available Great

for multimedia displays.

28
Built-in Networking:-
Java was designed with networking in mind and comes with many classes to develop
sophisticated Internet communications.
ABOUT MS-ACCESS:

Access is a relational database program .Access is used to enter, edit, and analyze of
data. Relational databases minimize redundant data.
Advantages of Access:

● Duplicate data is minimized


● Information is more accurate
● Data entry is faster and easier
● Information can be viewed and sorted in multiple ways.
● Information is more secure
● Information can be shared among several users
● Information retrieval is faster and easier

29
System design

The design of the system is most critical factor affecting the quality of the software; it
has major impact on the later phases particularly testing and maintenance. The output
of this phase is the design document. This document is similar to blueprint or plan for
the solution.

The design activity is often divided into two phases:

1) System design
2) Detailed design

System design aims to identify the modules there should be in the system, the
specification of these modules and how they interact with each other to produce the
desired results. At the end of system design all the major data structures, file formats
and the major modules in the system and their specifications are decided.

During detailed design, the internal logic of each of the modules specified in the
system design is decided. During this phase further details of the data structures and
the algorithm design of the module is specified. The logic of a module is usually
specified in a high-level design description language, which is independent of the
target language in which the software will eventually be implemented.

30
Design Methodology

Object Oriented Design


Object oriented design works around the entities and their characteristics
instead of functions involved in the software system. This design strategies
focuses on entities and its characteristics. The whole concept of software
solution revolves around the engaged entities.
Let us see the important concepts of Object Oriented Design:

● Objects - All entities involved in the solution design are known as objects. For
example, person, banks, company and customers are treated as objects. Every
entity has some attributes associated to it and has some methods to perform on the
attributes.
● Classes - A class is a generalized description of an object. An object is an instance
of a class. Class defines all the attributes, which an object can have and methods,
which defines the functionality of the object.
In the solution design, attributes are stored as variables and functionalities are
defined by means of methods or procedures.

● Encapsulation - In OOD, the attributes (data variables) and methods (operation


on the data) are bundled together is called encapsulation. Encapsulation not only
bundles important information of an object together, but also restricts access of the
data and methods from the outside world. This is called information hiding.
● Inheritance - OOD allows similar classes to stack up in hierarchical manner where
the lower or sub-classes can import, implement and re-use allowed variables and
methods from their immediate super classes. This property of OOD is known as
inheritance. This makes it easier to define specific class and to create generalized
classes from specific ones.
● Polymorphism - OOD languages provide a mechanism where methods performing
similar tasks but vary in arguments, can be assigned same name. This is called
polymorphism, which allows a single interface performing tasks for different types.
Depending upon how the function is invoked, respective portion of the code gets
executed.

Testing
31
Testing presents an interesting anomaly. A series of test case
s are created that are intended to “demolish” the software that has been created.
Testing requires that the developer discard preconceived notions of the “correctness”
of the software just developed and overcome a conflict of interest that occurs when
errors are uncovered.

Testing Objectives: These are as follows –

● Testing is a process of executing a program with the intent of finding an error.


● A good test case is one that has a high probability of finding an as-yet
undiscovered error.
● A successful test is one that uncovers as-yet undiscovered error.
● If the testing is conducted successfully it will uncover errors in the software.
Testing cannot show the absence of defects, it can only show that software
errors are present.

Testing Principles:

● All tests should be traceable to customer requirements.


● Tests should be planned long before testing begins.
● The Pareto principle applies to testing (This principle implies that 80% of all
errors uncovered during testing likely be traceable to 20% of all program
modules).
● Testing should begin “in the small” and progress toward testing “in the large”.
● Exhaustive testing is not possible.

Types of Testing:

32
White-Box Testing:
This testing is also known as “glass-box testing”. Using white-box testing, test cases
are derived that
● Guarantee that all independent paths within a module have been exercised at
last once;
● Exercise all logical decisions on their true and false sides;
● Execute all loops at their boundaries and within their operational bounds; and ●
Exercise internal data structures to assure their validity.

Reasons for preferring White-Box Testing:

● Logic errors and incorrect assumptions are inversely proportional to the


probability that a program path will be executed.
● We often believe that a logical path is not likely to be executed when in fact it
may be executed on a regular basis.
● Topographical errors are random.

Black-Box Testing:

This testing focuses on the functional requirements of the software i.e. it enables to
derive set of input conditions that will folly exercise all functional requirements for a
program. It is not an alternative to white-box techniques rather it is a complementary
approach i.e. likely to uncover a different class of errors than white-box methods.

Black-Box attempts to find errors in the following categories:

● Incorrect or missing functions,


● Interface errors,
● Errors in data structures or external database access
● Performance errors, and
33
● Initialization and termination errors

Alpha Testing
The alpha test is conducted at developer’s site by a customer. The software is used in
a natural setting with the developer “looking over the shoulder” of the user and
recording errors and usage problems. Alpha test is conducted in controlled
environment
.
Beta Testing
The beta test is conducted at one or more customer’s sites by end users of the
software. Unlike alpha testing, the developer is generally not present. Therefore, the
beta test is a “Live” application of the software in an environment that cannot be
controlled by the developer. The customer records all problems that are encountered
during beta testing and reports these to developer at regular interval. As a result of
problems reported during beta tests, software engineers make modifications and then
prepare for release of the software product to the entire customer base. Testing
Strategy
A strategy for software testing must accommodate low level tests that are necessary to
verify that a small source code segment has been correctly implemented as well as
high level test that validate major system functions against customer requirements.
Software testing is one element of a broader topic that is often referred to as
verification and validation (V&V). Verification refers to the set of activities that
ensure that software correctly implements a specific function. Validation refers to the
different set of activities that ensure that software that has been built is traceable to
customer requirements.
Basic software testing strategies are:
▪ Unit Testing

34
▪ Integration Testing
▪ System Testing
▪ Acceptance Testing
Client Needs Acceptance Testing

Requirement System Testing

Design Integration Testing

Code Unit Testing

System Testing

System testing is black box oriented. In the System testing the entire software was
tested with the help of actual data provided by the organization. The reference
documents for this purpose is the requirement document. System testing was done to
ensure that the objectives desired for the system are properly achieved by the software
developed. The requirement of information useful for the manager is in the proper
formats and fulfilling all the requirements.
Acceptance Testing
Acceptance testing was performed with realistic data of the client to demonstrate that
the software was working satisfactorily. Realistic data was used to ensure the client
that the entire requirements are met and the internal behaviour of the system is
according to his/her requirements.

35
Implementation

When the system has been designed and tested, it needs to be implemented. The users
start using the new system and the older system becomes obsolete. The phase of
implementation includes installation of hardware and software, training user and
conversion to new system.
Conversion means changing from one system to another. The objective is to put the
tested system into operation while holding costs, risks and personnel irritation to
minimum. It involves:

1) Creating computer compatible files,


2) Training the operating staff and
3) Installing terminals and hardware

A critical aspect of conversion is not disrupting the functioning of organization.


Conversion should be existing, because, it is the last step before the candidate system
begins to show results. Unfortunately the results of conversion have been chaotic and
traumatic for many firms. Unforeseen difficulties crop us as the system breaks down,
data files are damaged and tempers grow short. The training package is frequently not
complete and people are trying to figure out what to do. Much of the stem from poor
planning or no planning at all. Therefore to avoid such problems we will be using the
“parallel run approach”.
The basic steps involved in the conversion are as follows:
36
● Conversion begins with a review of project plan, the system test documentation
and the implementation plan.
● The conversion portion of implementation plan is finalized and approved.
● Files are converted.
● Parallel processing between the existing system and the new system is initiated
.
● Results of computer runs and operation for the new system are logged on a
special form.
● Assuming no problem, parallel processing is discontinued. Implementation
results are documented for reference
● Conversion is completed. Plans for the post implementation review are
prepared.
● Following the review, the new system is officially operational.

The reason behind the use of this approach is that the software has been prepared and
tested on a stand-alone system. So, this software will be used along with the manual
system in the organization for sometimes to test its functioning under real life
conditions
While system is being implemented various behavioural factors are overlooked as
change in the system may cause anxiety or stresses.

37
Maintenance

Maintenance is a set of software engineering activities that occur after software has
been delivered to the customer and put into operation. Changes will occur because
errors have been encountered, because the software must be adapted to accommodate
changes in its external environment (e.g. a change required because of a new
operating system or peripheral devices) or because the customer requires functional or
performance enhancements.
Software maintenance reapplies each of the preceding phases to an existing program
rather that a new one.
All the four categories of maintenance have been guaranteed to the system of Annual
Maintenance Contract:
Corrective Maintenance:
Corrective maintenance means repairing, processing or performance failure or making
changes because of previously incorrect or false assumptions.

38
CONCLUSION

Working on the project was good experience. I understand the importance of the
planning and designing as a part of software development .But it is very difficult to
complete the program for single person.

Developing the project has helped us some experience on real time development
procedure.

39
BIBLIOGRAPHY

❖ Complete reference of java.

❖ www.google.com.

❖ www.roseindia.com.

❖ Fundamental of database system

40

Вам также может понравиться