Beruflich Dokumente
Kultur Dokumente
Submitted to
PANJAB UNIVERSITY, CHANDIGARH.
IN
FACUTLY OF SCIENCE
PANJAB UNIVERSITY, CHANDIGARH.
FACUTLY OF SCIENCE
PANJAB UNIVERSITY, CHANDIGARH.
(2010-2011)
PREFACE
The project report is prepared for the project completed during the course
of final year undertaken at Post Graduate Government College, Sector 46,
Chandigarh as a part of the BCA curriculum as prescribed by Panjab University,
Chandigarh.
The project report explains the various strategies and the techniques that
are used the course of the development of the software.
Apart from the mentioning the software development life cycle, the project
report contains the hardware/software requirements for it as well as some
running samples of the product as screenshots as well as some basic
introduction of the languages used for the development of purposaed software.
This software provide user friendly interface and for the Convenience of
the user there is also a provision for help (Introudcation) menu, form which a ser
can get the required information about how to manipulate various objects in the
software.
ACKNOWLEDGEMENT
First and foremost, we express our gratitude and thanks towards Mr.
Gaurav Jindal (Lecturer – BCA Department). His keen interest and
encouragement has been of immense help to us. He gave us unending support
and helped us in numerous ways from the stage when the idea of the project was
conceived. He was always there to listen and to give advice. He is responsible
for involving us in this project. He taught me how to ask questions and express
my ideas. He showed me different ways to approach a research problem and the
need to be persistent to accomplish my goals. He has taken pain to go through
the project and make necessary correction as and when needed.
We express our thanks to our principal Mrs. Sham Latta for extending his
support. We are also thankful to other faculty members of BCA Department for
their valuable time and kind suggestion regarding this project.
We thank the almighty God for blessing us with new challenges in life and
giving us enough strength to meet those challenges. We owe everything to our
parents who worked very hard to provide us everything in life.
Finally we are indebted to our friends who showed tolerance and maturity
when we were preoccupied with the composition of the project cannot be
expressed in words.
Post Graduate Government College, Sector 46
CERTIFICATE
carried out by them under my provision. In my knowledge, this work has not been
submitted, either in part or in full, to any other university or institute for the award
of degree.
(Project Guide)
Sector-46, Chandigarh
DECLARATION
We all the members of the group here by, declare that the project report on
“Hotel Management System” is the result of original work done by us and to the best of
our knowledge a similar work has not been submitted earlier to the Panjab University or
any other institution, for fulfillment of the requirements of a course of study.
We have undergone all the necessary requirement and formalities with the
college that are necessary for the submission of this project report
This project report is submitted for partial fulfillment of all awards of the degree of
Bachelor of Computer Application of Panjab University, Chandigarh.
(Mr.Gaurav Jindal)
INDEX
02 REVIEW
03 Objective
06 Data Dictionary(DD)
08 Software Testing
09 Introduction to C language
10 Introduction to Graphics
12 Bibliography
INTRODUCTION of the PROJECT
Introduction
Inquiry
Check-in
Check-out
Room Status
Report
Generates Database
About us
Exit
REVIEW
During the past several decades’ personnel function has been transformed
from a relatively obscure record keeping staff too central and top level
management function. There are many factors that have influenced this
transformation like technological advances, professionalism, and general
recognition of human beings as most important resources.
The searching of record will be made quite simple as all the details of the
customers can be obtained by simply keying in the identification of that
customer.
3. Very user-friendly
The main objective of the entire activity is to automate the process of day to day
activities of Hotel like:
1. Room activities,
7. Room Details
System Implementation
Software Requirements:
The minimum software requirements for this project are:
Operating system:
♦ Window XP/98/2000
♦ Dos
Software:
♦ Turbo C3 .0/4.5
Hardware Requirements:
The image below is the classic Waterfall model methodology, which is the first
SDLC method and it describes the various phases involved in development.
Feasibility
Economic Feasibility
Requirement Analysis
Analysis gathers the requirements for the system. This stage includes a detailed
study of the business needs of the organization. Options for changing the
business process may be considered. Design focuses on high level design like,
what programs are needed and how are they going to interact, low-level design
(how the individual programs are going to work), interface design (what are the
interfaces going to look like) and data design (what data will be required). During
these phases, the software’s overall structure is defined. Analysis and Design
are very crucial in the whole development cycle. Any glitch in the design phase
could be very expensive to solve in the later stage of the software development.
Much care is taken during this phase. The logical system of the product is
developed in this phase.
Software Design
When design stages complete, phases design will take over which include
architectural design, abstract specification, interface design, component design,
data structure design and algorithm design. The design process may be
modeled as a directed graph made up of entities with attributes which participate
in relationship.
Implementation
In this phase the designs are translated into code. Computer programs are
written using a conventional programming language or an application generator.
Programming tools like Compilers, Interpreters, Debuggers are used to generate
the code. Different high level programming languages like C, C++, Pascal, Java
are used for coding. With respect to the type of application, the right
programming language is chosen.
Testing
Software Testing is the process of executing a program or system with the intent
of finding errors. It involves any activity aimed at evaluating an attribute or
capability of a program or system and determining that it meets its required
results. Software is not unlike other physical processes where inputs are
received and outputs are produced. Where software differs is in the manner in
which it fails, Most physical system fail in a fixed (and reasonably small) set of
ways. By contrast, software can fail in many ways. Detecting all of he different
failure modes for software is generally infeasible. Unlike most physical systems,
most of the defects in the software are design errors, not manufacturing defects.
Software does not suffer from corrosion, wear-and-tear – generally it will not
change until upgrades, or until obsolescence. So once the software is shipped,
the design defects – or bugs – will be buried and in remain latent until activation.
The black-box approach is a testing method in which test data are derived from
the specified functional requirements without regard to the final program
structure. It is also termed data-driven, input/output driven or requirements-
based testing. Because only the functionality of the software module is of
concern, black-box testing also mainly refers to functional testing – a testing
method emphasized on executing the functions and examination of their input
and output data. The tester treats the software under test as a black box – only
the inputs, outputs and specification are visible, and the functionality is
determined by observing the outputs to corresponding inputs.
White-box testing
Maintenance
Inevitably the system will need maintenance. Software will definitely undergo
change once it is delivered to the customer. There are many reasons for he
change. Change could happen because of some unexpected input values into
the system. In addition, the changes in the system could directly affect the
software operations. The software should be developed to accommodate
changes that could happen during the post implementation period.
DATA DICTIONARY
A data dictionary contains a list of all files in the database, the number of records
in each file, and the names and types of each field. Most database management
systems keep the data dictionary hidden from users to prevent them from
accidentally destroying its contents.
Dictionary of the data used in the analysis of the structure and design of
information systems also is a catalog that describes more detail about the flow
diagram that includes processes, data flow and data store. Data dictionary is
created and used both on the stage and in the analysis stage, the design system.
In the analysis stage, data dictionary is used as means of communication
between the systems analyst with the user of the data that flows on the system
and the information required by the system. At analysis, the dictionary is used as
the means of communication between the systems analyst with the user. At the
system design, data dictionary is used to design input, reports and databases.
Data dictionary should include the following:
Data Flow:
Data flow from which the data shows the flow and where the data will go.
Description of data flow should be noted in this data dictionary to make it easier
to find in the data flow diagram(DFD).
Because data dictionary is based on a data flow that flows in the data flow
diagram, the flow of data should be noted in the dictionary, so that those who
read the DFD and require further explanation about a particular data flow
diagram can browse easily in the data dictionary.
Types Of Data:
Data flow can flow from the flow of a process to other process. Data which is
usually in the form of reports and documents of printing machines. Thus the
shape of data flow can be a basic document or form, the computer prints, the
documents, the report is printed, the display screen on the monitor, variables,
parameters and field-field. Forms of data such as this should be noted in the data
dictionary.
Data structure:
Shows the data structure of data flow is recorded in the data dictionary that
consists of items of data. A data dictionary is invaluable for documentation
purposes, for keeping control information on corporate data, for ensuring
consistency of elements between organizational systems, and for the use of in
developing databases.
Alias:
Alias or name of data must also be written. Alias is needed because the data
have the same name that is different to other people or departments.
Volume:
Volume that needs to be noted in the data dictionary is the volume average and
peak volume of data flow. Volume shows the average number of data flow that
flows in one period certain volume while the volume in peak indicates the most.
Period:
This period indicates when the occurrence of data flow. Period should be noted
in the data because the campus can be used to identify when the input data must
be entered into the system, when the program should be done and when the
report should be produced.
Description:
To further clarify, the meaning if data flow is recorded in the data dictionary, then
explanation can be charged with the particulars of the data flow.
The components of the Data Dictionary
The Data dictionary defines the basic organization of a database and collects
together detailed information about database system components. This can
include:
• Data element definitions (tables, fields, key fields, primary keys,
relationships etc.)
• Program elements(stored procedures, scripts etc) used by the database to
move data about or to manipulate it in some way
• Records (number of – not the actual records themselves)
• System parameters
• System information
• Files and other system components
• User information
• Entity relationship diagrams
• Database schema
Database security model
DATA FLOW DIAGRAM
A Data Flow Diagram (DFD) is a significant modeling technique for analyzing and
constructing information processes. DFD literally means an illustration that
explains the course or movement of information in a process. DFD illustrates this
flow of information in a process based on the inputs and outputs. A DFD can be
referred to as a Process Model.
Additionally, a DFD can be utilized to visualize data processing or a structured
design. A DFD illustrates technical or business process with the help of the
external data stored, the data flowing from a process to another and the results.
A designer usually draws a context-level DFD showing the relationship between
the entities inside and outside of a system as one single step. This basic DFD
can be then disintegrated to a lower level diagram demonstrating smaller steps
exhibiting details of the system that is being modeled. Numerous levels may be
required to explain a complicated system.
External Entity
External entity
This symbol is used to describe the origin and destination data. External entity
can be a person, group of people, organizations, departments in the
organization, or the same company, but in system beyond the current model is
made. External entity may also include departments, divisions or outside the
systems that communicate with the system that is currently being developed.
Data Flow
Data Flow
This symbol is used to describe the flow of data that are running./ Data flow
direction is indicated with arrows and lines give the name on the flow of data
flow. Data flow between the process flow, data storage and data flow indicates
that the form, of data input to the system. Guidelines of the name: (1)Name of
the data flow that consists of some words associated with the flow line speed. (2)
Name of the data flow that consists of some words associated with the flow line
speed.(3)Data flow that consists of several elements can be expressed with the
group elements.(4)Avoid using the word ‘data’ and ‘information’ to give a name to
the data flow.(5)The extent possible the complete data is written.
Process
1 Input & 1 Output 1 Input & Banyak Output
This symbol is also called the bubble, used for processing or data transformation,
guidelines of the process: (1)Name of the process consists of a verb and noun,
which reflects the function of the process (2) Do not use the process as part of
the name of a bubble (3) There may be some process that has the same name.
(4) The process must be given a number. Order number wherever possible to
follow the flow of the process or sequence, but the sequence number does not
mean that the absolute is a process in chronological order. There are four
possibilities that can occur in the process in relation with the input and output:
Data Store
Data Store
This symbol is used to describe the data flow is saved or achieved. Data store is
usually associated with the storages, such as file or database associated with the
storage computerization, such as a diskette file, files, hard disk, magnetic tape
files. Data store is also related to the storage manually, such as books address,
file folder, and agenda. A data store associated with the data flow only on the
components process, not with the other components DFD.
Data Flow is a network diagram illustrating a computerized system, manual or a
combination of both, and representation in the form of a set of structured system
components that are interconnected in accordance with the rules play.
Advantage of DFD is possible to describe the system from the highest level.
SOFTWARE TESTING
Software testing life cycle identifies what test activities to carry out and when
(what is the best time) to accomplish those test activities. Even though testing
differs between organizations, there is a testing life cycle.
Test Planning, Test Analysis, Test Design, Construction and verification, Testing
Cycles, Final Testing and Implementation and Post Implementation. Software
testing has its own life cycle that intersects with every stage of the SDLC. The
basic requirements in software testing life cycle is to control/deal with software
testing – Manual, Automated and Performance.
Test Planning
This is the phase where Project Manager has to decide what things need to be
tested, do I have the appropriate budget etc. Naturally proper planning at this
stage would greatly reduce the risk of low qualify software. This planning will be
an on going process with no end point.
Activities at this state would include preparation of high level test plan –
(according to IEEE test plan template. The Software Test Plan (STP) is
designed to prescribe the scope, approach, resources and schedule of all testing
activities. The plan must identify the items to be tested, the features to be tested,
the types of testing to be performed, the personnel responsible for testing, the
resources and schedule required to complete testing, and the risks associated
with the plan). Almost all of the activities done during this stage are included in
this software test plan and revolve around a test plan.
Test Analysis
Once test plan is made and decided upon, next step is to develop little more into
the project and decide what types of testing should be carried out at different
stages of DLC, do we need or plan to automate, if yes then when the appropriate
time to automate is, what type of specific documentation I need for testing.
Proper and regular meeting should be held between testing teams, project
managers, and development teams, Business Analysis to check the progress of
things which will give a fair idea of the movement of the project and ensure the
completeness of the test plan created in the planning phase, which will further
help in enhancing the right testing strategy created earlier. We will start creating
test case formats and test cases itself. In this stage we need to develop
functional validation matrix based on Business Requirements to ensure that all
system requirements are covered by one or more test cases, identify which test
cases to automate, begin review of documentation i.e. Function Design,
Business Requirements, Product Specifications, Product Externals etc. We also
have to define areas for Stress and Performance testing.
Test Design
Test plan and cases which were developed in the analysis phase are revised.
Functional validation matrix is also revised and finalized. In this stage risk
assessment criteria is developed. If you have thought of automation then yuou
have to select which test cases to automate and begin writing scripts for them.
Test data is prepared. Standards for unit testing and pass / fail criteria are
defined here. Schedule for testing is revised (if necessary) & finalized and test
environment prepared.
Construction and Verification
In this phase we have to complete all the test plans, test cases, complete the
scripting of the automated test cases, Stress and Performance testing plans
needs to be completed. We have to support the development team in their unit
testing phase./ And obviously bug reporting would be done as when the bugs
are found. Integration tests are performed and errors (if any) are reported.
Testing Cycles
In this phase we have to complete testing cycles until test cases are executed
without errors or a predefined condition is reached. Run test cases -->Report
Bugs -->revise test cases (if needed) -->add new test cases(if needed) -->bug
fixing -->retesting (test cycle2,test ycle3….).
Post Implementation
In this phase, the testing process is evaluated and lessons learnt from and
testing process are documented. Line of attack to prevent similar problems in
future project is indentified. Create plans to improve the processes. The
recording of new errors and enhancements is an ongoing process. Clearing up
of test environment is done and test machines are restored to base lines in this
stage.
‘C’ LANGUAGE
Of the three languages, C allows the most precise control of input and output. C
is also rather more terse than Fortran or Pascal. This can result in short efficient
programs, where the programmer has made wise use of C’s range of powerful
operators. It also allows the programmer to produce programs which are
impossible to understand.
Programmers who are familiar with the use of pointers (or indirect addressing, to
use the correct term) will welcome the ease of use compared with some other
languages. Undisciplined use of pointers can lead to errors which are very hard
to trace. This course only deals with the simplest application of pointers.
It is hoped that newcomers will find C a useful and friendly language. Care must
be taken in using C. Many of the extra facilities which it offers can lead to extra
types of programming error. You will have to learn to deal with these to
successfully make the transition to being a C Programmer.
Variables
A declaration begins with the type, followed by the name of one or more
variables. For example,
Int An Integer
Float A floating point (real) number
Char A single byte of memory, enough to hold a character
Constants
A C constant is usually just the written version of a number, For example 1, 0,
5.73, 12.5e9. We can specify our constants in octal or hexadecimal, or force
them to be treated as long integers.
Arrays
We have already met single dimensioned arrays which are declared like this
Arrays can have more dimensions, in which case they might be declared as
Int results_2d[20[[5]
Int results_3d[20][5][3];
Where an array is declared in the main function it will usually have details of
dimensions included. It is possible to use another type called a pointer in place
of an array. This means that dimensions are not fixed immediately, but space
can be allocated as required. This is an advance technique which is only
required in certain specialized programs.
One reason for the power of C is its wide range of useful operators. An operator
is a function which is applied to values to give a result. You should be familiar
with operators such as =,-,/.
Arithmetic operators are the most common. Other operators are used for
comparison of values, combination of logical states, and manipulation of
individual binary digits. The binary operators are rather low level for so are not
covered here.
Assignment Statement
Y = (m * x) = c
Arithmetic Operators
+ Addition
- Subtraction
- *Multiplication
/ Division
Type Conversion
You ca mix the types of values in your arithmetic expressions. Char types will be
treated as int. Otherwise where types of different size are involved, the result will
usually be of the larger size, so a float and a double would produce a double
result. Where integer and real types meet, the result will be a double.
• The variable is too small to hold the value. In this case it will be corrupted
(this is bad).
• The variable is an integer type and is being assigned a real value. The
value is rounded down. This is often done deliberately by the programmer.
Comparison
C Notation Meaning
== Equal to
!= Not equal to
Logical Connectors
Symbol Meaning
&& AND
|| OR
! NOT
Control Statements
A Program consists of a number of statements which are usually executed in
sequence. Programs can be much more powerful if we can control the order in
which statements are run.
The following test decides whether a student has passed an exam with a pass
mark of 45
If (result>=45)
Printf (“Pass\n”);
Else
Printf (“fail\n”);
This is another form of the multi way decision. It is well structured, but can only
be used in certain cases where;
• Only one variable is tested, all branches must depend on the value of that
variable. The variable must be an integral type. (int, long, short or char).
• Each possible value of the variable can control a single branch. A final,
catch all, default branch may optionally be used to trap all unspecified cases.
Loops
C gives you a choice of three types of loop, while, do while and for.
• The while loop keeps repeating an action until an associated test returns
false. This is useful where the programmer does not know in advance how many
times the loop will be traversed.
• The do while loops is similar, but the test occurs after the loop body is
executed. This ensures that the loop body is run at lease once.
• The for loop is frequently used, usually where the loop will be traversed a
fixed number of times. It is very flexible, and novice programmers should take
care not to abuse the power it offers.
The while loop repeats a statement until the test at the top proves false.
int i=0;
i++;
return(i);
This is very similar to the while loop except that the test occurs at the end of the
loop body. This guarantees that the loop is executed at least once continuing.
Such a setup is frequently used where data is to be read. The test then verifies
the data, and loops back to read again if it was unacceptable.
Do
The for loop works well where the number of iterations of the loop is known
before the loop is entered. The head of the loop consists of three parts
separated by semicolons.
Float total=0.0;
int I;
Total += array[i];
return(total / count);
We have already met break in the discussion of the switch statement. It is used
to exit from a loop or a switch, control passing to the first statement beyond the
loop or a switch.
With loops, break can be used to force an early exit from the loop, or to
implement a loop with a test to exit in the middle of the loop body. A break within
a loop should always be protected within an if statement which provides the test
to control the exit condition.
C has a goto statement which permits unstructured jumps to be made. Its use is
not recommended, so we’ll not teach it here. Consult your textbook for details of
its use.
Functions in C
Almost all programming language have some equivalent of the function. You
may have met them under the alternative names subroutine or proceduce.
Some languages distinguish between functions which return variables and those
which don’t . C assumes that every function will return a value. If the
programmer wants a return value, this is achieved using the return statement. If
no return values required, none should be used when calling the function.
Here s a function which raised a double to the power of an unsigned, and returns
the result.
unsigned I;
ret_val *=val;
return(ret_val);
}
Pointers in C
Pointers are not exclusive to functions, but this seems a good place to introduce
the pointer type.
Int *pi=&i;
int * is the notation for a pointer to an int. & is the operator which returns the
address of its argument. When it s used, as in &I we say it is referencing i.
Recursive Functions
A recursive function is one which calls itself. This is another complicated idea
which you are unlikely to meet frequently. We shall provide some examples to
illustrate recursive functions.
Structures in C
PIXEL
Short for Picture Element, a pixel is a single point in a graphic image. Graphics
monitors display picture by dividing the display screen into thousands of pixels,
arranged in rows and columns. The pixels are so close together that they appear
connected.
The number of bit used to represent each pixel determines how many colors or
shades of gray can be displayed. For example, in 8-bit color mode, the color
monitor uses 8 bits for each pixel, making it possible to display 2 to the 8 th power
(2546) different colors or shades of grey.
On color monitors, each pixel is actually composed of three dots – a red, a blue,
a green one. Ideally, the three dots should all coverage at the same point, but all
monitor have some convergence error that can make color pixels appear fuzzy.
RESOLUTION
Refers to the sharpness and clarity of an image. The term is most often
used to describe monitors, printers, and bit-mapped graphic images. In the case
of dot- matrix and laser printers, the resolution indicates the number of dots per
inch. For example, a 300-dpi (dots per inch) printer is the one that is capable of
printing 300 distinct dots in the line one inch long. These mean it can print 90,000
dots per square inch.
For graphics monitors, the screen resolution signifies the number of dot (pixel) on
the entire screen. For example, a 640-by-480 pixel screen is capable of
displaying 640 distinct dots on each of 480 lines, or about 300,000 pixels. This
translates into different dpi measurement depending on the size of screen. For
example, a15-inch VGA monitor (640X480) displays about 50 dots per inch.
Function initgraph
This function is used to load the graphic driver and initialize the graphics system.
For every function, that uses graphics mode, graphics mode must be initialized
before using that function.
void far initgraph (int far *driver, int far *mode, char far * path)
Detect graph function determines the graphics hardware in the system, if the
function find a graphic adaptor then it returns the highest graphics mode that the
adaptor supports.
Function cleardevice
This function clears the graphics screen content and returns the control to the location
(0, 0).
Function closegraph
This function shut down the graphics modes and returns to the position it was
before the initgraph function was called closegraph. Function releases all the
resources occupied by the graphic system like memory, fonts, drivers etc.
SNAPSHOTS
Date Screen
Main Screen
Introduction Menu
CHECK IN PROCESS
CHECK OUT PROCESS
ROOM STATUS
REPORT
GENERATE DATABASE
ABOUT US
BIBLOGRAPHY
PERSONS:
STUDIED MATERIALS:
Website VISITED:
WWW.W3SCHOOLS.COM
WWW.CPROGRAMMING.COM
WWW.CODEGRAVITY.COM
WWW.PROGRAMMINGTUTRIALS.COM
WWW.SECURECODING.CERT.ORG