Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
A Project Report
On
“RAILWAY RESERVATION SYSTEM”
CERTIFICATE
This is to certify that Mr. Ban A.S., student of B.C.A. course of Dr. Babasaheb
Ambedkar Marathwada University, Aurangabad, has undergone a
mandatory “ FINAL SEMESTER PROJECT” in our institute .
ACKNOWLEDGEMENT
All praise to almighty God under whose auspicious blessing I have been able to
accomplish my dissertation successfully. This presentation is based on my study
and practice during sixth semester of B.C.A. through I have tried my best for
making this project unique in itself, still flexible at few points.
It’s with pride and deepest sense of gratitude that I place my profound
expression towards.
Index
1. INTRODUCTION 3
2. PROBLEM DEFINITION 7
5. SYSTEM REQUIREMENT 15
A. HARDWARE REQUIREMENT 16
B. SOFTWARE REQUIREMENT 16
I. FRONT END 17
A. DFD 24
B. DATA DICTIONARY 25
C. E-R DIAGRAM 26
8. INPUT/OUTPUT SCREEN 49
9. TESTING 54
10. IMPLEMENTATION 57
12. BIBLIOGRAPHY 63
5
LIST OF ABBREVIATIONS
Examid-examination identity
Ghz- Gegahertz
Loginid-Username identity
Txt.username-text username
Txt.password-text password
Rslt- result
Db- database
INTRODUCTION
Proposed “Railway Reservation System” is developed for to automate the railway
reservation system. It includes modules required to successfully operate railway reversion
process smoothly. It has train master to add modify train information, Train schedule to enter
train journey details include all the station name, arrival time and departure time. It includes
automatic fare calculation as per the distance between two stations.
Reservation module consist of automatic seat no and coach no allocation system. Daily
schedule for updation of not confirm seat and coach no. All master like train master, train
schedule, reservation fees, cancellation fees charges can be modified individually from front
end and changes reflect in all modules immediately.
Therefore proposed “Railway Reservation System” has been designed to automate the
process of railway for ticket reservation and back office activities. System can make the daily
activities efficient and providing the fast response.
7
Maintain user master- Each user identified by the user name and user type. Only
admin user can create, edit user information.
Password must be 6 characters long.
Password must be alpha numeric.
While creating user system assign default password for the user, user must change
default password for first time login.
All login time stamp stored in the system for security audit.
Access level and roles and privileges are set for different type of users.
Station Master – Every station is uniquely identified by system generated Station ID.
It also includes station code, station name and railway division name.
Train Master – Every train uniquely identified by train no, it includes train name,
train schedule which days of the week train will run. No of coaches available for 3 tier
AC, First Class, Slipper Class etc.
Train Schedule – It includes train journey details from start station to end station, all
in between station, distances between 2 station, arrival and departure time.
Fare Rule – It help to calculate fare by distance, support different type of fare
calculation for different class like AC1, AC3 etc.
Cancellation Fees Rule - It provide the master data for all ticket cancellation fees
calculation.
Reservation and Super Fast Fees – It provide the master data for all ticket
cancellation fees calculation.
Reservation – This module used to make reservation, it asks for input data like train
no, journey date, from station code, end station code. System has powerful validation
rule to check validation like journey date must be greeter than system date, journey
date must be within 90 days. Train should run for the selected day. Check for from
station and to station. Seat availability, While saving the record system generate PRN
no, seat no and coach no. Before save the system ask for final confirmation. System
automatically calculates the fare and save the details.
Cancellation – For cancellation of ticket it ask for PRN no, after entering the correct
PRN no system check for validity of the PRN no, whether it already cancelled,
journey date already expired. I it validate system display all the details of the
reservation. System automatically calculates the cancellation fees from the
cancellation rule master. Before save the record system ask for the confirmation.
Update Seat no for unconfirmed passenger – It is schedule activity, system query
for all cancelled ticket for particular journey date and allocates all vacant seat to
unconfirmed passenger.
Daily Cash Transaction – It shows daily transaction, like how much money received
and how much money refund. All data can be exported to MS Excel for review and
save in file system.
Query Module - A powerful query module give on screen information for particular PRN
NO, it shows all the reservation details and cancellation details, include current status for the
seat no, coach no.
9
Problem definition
Existing system
In the existing system the exams are done only manually and proposed system we have to
computerize all the exams using this software.
The whole process of assigning test and evaluating their scores after the test ,was done
manually till date. Processing the test paper i.e. checking and distributing respective scores
used to take time when the software was not installed.
11
SYSTEM ANALYSIS
system activities can be obtained, from which the decision about the strategies to be
followed for effective system study and analysis can be take
FEASIBILITY STUDY
TECHNICAL FEASIBILITY
The system must be evaluated from the technical point of view first. The
assessment of this feasibility must be based on an outline design of the system
requirement in the terms of input, output, programs and procedures. Having
identified an outline system, the investigation must go on to suggest the type
of equipment, required method developing the system, of running the system
once it has been designed.
The project should be developed such that the necessary functions and performance
are achieved within the constraints. The project is developed within latest technology.
Through the technology may become obsolete after some period of time, due to the
fact that never version of same software supports older versions, the system may still
be used. So there are minimal constraints involved with this project. The system has
been developed using Java the project is technically feasible for development.
ECONOMIC FEASIBILITY
The developing system must be justified by cost and benefit. Criteria to ensure that
effort is concentrated on project, which will give best, return at the earliest. One of the
factors, which affect the development of a new system, is the cost it would require.
The following are some of the important financial questions asked during preliminary
investigation:
Since the system is developed as part of project work, there is no manual cost
to spend for the proposed system. Also all the resources are already available,
it give an indication of the system is economically possible for development.
BEHAVIORAL FEASIBILITY
The project would be beneficial because it satisfies the objectives when developed
and installed. All behavioral aspects are considered carefully and conclude that the
project is behaviorally feasible.
14
Security of data.
Ensure data accuracy’s.
Proper control of the higher officials.
Minimize manual data entry.
Minimum time needed for the various processing.
Greater efficiency.
Better service.
User friendliness and interactive.
Minimum time required.
15
Monitor : VGA/SVGA
Software Requirements
Front end
Microsoft Visual Basic 6.0
Visual Basic 6.0 is Microsoft’s latest version of the Visual Basic Programming language.
Although writing programs can be a tedious chore at time. Visual Basic reduces the effort
required on your part, and makes programming enjoyable. Visual Basic makes many aspects
of programming as simple as dragging graphics objects on to screen with your mouse.
Visual Basic 6.0 is more than just a programming language; the secret to Visual Basic is in its
name” Visual”. With to days Windows Operating System, a program must be able to interact
with the screen. Keyboard , mouse and printer graphically.
The environment provided by Visual Basic is suitable for any type of application. Using this
environment, the user can visually design the objects that your application uses. Visual Basic
is not just a languages, it’s an integrated development environment in which you can develop,
run, test and debug your applications. The impressive array of programming resources
provided by Visual Basic enables to create the objects extemporaneously which can range
from pop-up menu to a message box.
A form is a major part of Visual Basic application, which allows the user to enter the data as
well as view the result. A control is an object that we draw on a form to enable or enhance
user interaction with an application. Hence a Visual Basic application is a combination of
object like forms and controls, procedures that can respond to Events and other general-
purpose procedures.
17
18
Backend
Microsoft Office Access 2007
Access stores data in its own format based on the Access Jet Database Engine. It can also
import or link directly to data stored in other applications and databases.[1]
Software developers and data architects can use Microsoft Access to develop application
software, and "power users" can use it to build simple applications. Like other Office
applications, Access is supported by Visual Basic for Applications, an object-oriented
programming language that can reference a variety of objects including DAO (Data Access
Objects), ActiveX Data Objects, and many other ActiveX components. Visual objects used in
forms and reports expose their methods and properties in the VBA programming
environment, and VBA code modules may declare and call Windows operating-system
functions.
Access now includes support for a broader range of data types, including documents
and images.
Whenever any table is updated, all reports referencing the table are also updated.
Dropdown lists for a table can be modified in place.
Lookup Fields, which get their values by "looking up" some value in a table, have
been updated to support multi valued lookups.
Many new preset schemata are included.
Access can synchronize with Windows SharePoint Services 3.0 and Office SharePoint
Server 2007. This feature enables a user to use Access reports while using a server-
based, backed-up, IT managed version of the data.
19
data and the processes that change or transform data throughout a system. It’s a structured
analysis and design tool that can be used for flowcharting in place of, or in association with,
information oriented and process oriented system flowcharts. When analysts prepare the Data
Flow Diagram, they specify the user needs at a level of detail that virtually determines the
information flow into and out of the system and the required data resources. This network is
constructed by using a set of symbols that do not imply a physical implementation. The Data
Flow Diagram reviews the current physical system, prepares input and output specification,
Four basic symbols are used to construct data flow diagrams. They are
symbols that represent data source, data flows, and data transformations and data storage. The
points at which data are transformed are represented by enclosed figures, usually circles,
_ Data Flow
_ Process
_ Storage
21
22
Data dictionary
A data dictionary is a structured repository of data about data. It is a set of rigorous
definitions of all DFD data elements and data structures.
A data dictionary has many advantages .The most obvious is documentation ;it is a valuable
reference in any organization . Another advantage is improving analyst/user communication
by establishing consistent definitions of various elements , terms , and procedures . also
control information maintained for each data element is cross-referenced in the data
dictionary. A data dictionary is an important step in developing a database.
Database users and application developers can benefit from an authoritative data
dictionary document that catalogs the organization, contents, and conventions of one or more
databases. This typically includes the names and descriptions of various tables and fields in
each database, plus additional details, like the type and length of each data element. There is
no universal standard as to the level of detail in such a document, but it is primarily a weak
kind of data.
The three classes to be defined are data elements, data structures, and data flows and
data stores.
Data element is
the smallest unit of data that provides for no further decomposition.
Data structure is a
group of data elements handled as a unit.
SYSTEM DESIGN
Introduction to System Design
Design is the first step into the development phase for any engineered
product or system. Design is a creative process. A good design is the key to effective
system. The term “design” is defined as “the process of applying various techniques
and principles for the purpose of defining a process or a system in sufficient detail to
permit its physical realization”. It may be defined as a process of applying various
techniques and principles for the purpose of defining a device, a process or a system
in sufficient detail to permit its physical realization. Software design sits at the
technical kernel of the software engineering process and is applied regardless of the
development paradigm that is used. The system design develops the architectural
detail required to build a system or product. As in the case of any systematic
approach, this software too has undergone the best possible design phase fine tuning
all efficiency, performance and accuracy levels. The design phase is a transition from
a user oriented document to a document to the programmers or database personnel.
System design goes through two phases of development: Logical and Physical
Design.
Input design
OUTPUT DESIGN
A quality output is one, which meets the requirements of the end user and
presents the information clearly. In output design it is determined how the
information is to be displaced for immediate need and also the hard copy
output. It is the most important and direct source information to the user.
Efficient and intelligent output design improves the system’s relationship to
help user decision-making.
DATABASE DESIGN
The database design is a two level process. In the first step, user requirements
are gathered together and a database is designed which will meet these
requirements as clearly as possible. This step is called Information Level
Design and it is taken independent of any individual DBMS.
In the second step, this Information level design is transferred into a design for
the specific DBMS that will be used to implement the system in question. This
step is called Physical Level Design, concerned with the characteristics of the
specific DBMS that will be used. A database design runs parallel with the
system design. The organization of the data in the database is aimed to achieve
the following two major objectives.
Data Integrity
Data independence
To structure the data so that there is no repetition of data , this helps in saving.
To permit simple retrieval of data in response to query and report request.
To simplify the maintenance of the data through updates, insertions, deletions.
To reduce the need to restructure or reorganize data which new application
requirements arise.
28
RELATIONSHIPS:
Table relationships are established using Key. The two main keys of prime
importance are Primary Key & Foreign Key. Entity Integrity and Referential
Integrity Relationships can be established with these keys.Entity Integrity
enforces that no Primary Key can have null values.Referential Integrity
enforces that no Primary Key can have null values.
Referential Integrity for each distinct Foreign Key value, there must exist a
matching Primary Key value in the same domain. Other key are Super Key
and Candidate Keys.
29
Relationships have been set between every table in the database. This ensures
both Referential and Entity Relationship Integrity.
NORMALIZATION:
As the name implies, it denoted putting things in the normal form. The
application developer via normalization tries to achieve a sensible
organization of data into proper tables and columns and where names can be
easily correlated to the data by the user. Normalization eliminates repeating
groups at data and thereby avoids data redundancy which proves to be a great
burden on the computer resources. These includes:
The First Normal Form states that the domain of an attribute must include only
atomic values and that the value of any attribute in a tuple must be a single
value from the domain of that attribute. In other words 1NF disallows
“relations within relations” or “relations as attribute values within tuples”. The
only attribute values permitted by 1NF are single atomic or indivisible values.
The first step is to put the data into First Normal Form. This can be donor by
moving data into separate tables where the data is of similar type
in each table. Each table is given a Primary Key or Foreign Key as per
requirement of the project. In this we form new relations for each nonatomic
attribute or nested relation. This eliminated repeating groups of data.
According to Second Normal Form, For relations where primary key contains
multiple attributes, no nonkey attribute should be functionally dependent on a
part of the primary key.
In this we decompose and setup a new relation for each partial key with its
dependent attributes. Make sure to keep a relation with the original primary
key and any attributes that are fully functionally dependent on it. This step
helps in taking out data that is only dependant on apart of the key.
A relation is said to be in second normal form if and only if it satisfies all the
first normal form conditions for the primary key and every non-primary key
attributes of the relation is fully dependent on its primary key alone.
In this we decompose and set up relation that includes the non-key attributes
that functionally determines other non-key attributes. This step is taken to get
rid of anything that does not depend entirely on the Primary Key.
Table Design
TABLE : TRAIN
Train_no text
Train_name text
Source text
Source code text
Destination text
Destination code text
Source time text
Destination time text
TABLE TRAIN_INFO
Train_no text
Sleeper seats number
1ac seats number
2ac seats number
3ac seats number
Sleeper fare number
1ac fare number
2ac fare number
3ac fare number
Fromdate date
Todate date
TABLE COACH
Train no text
Coaches text
Seats number
Date of jour date
TABLE PASSENGER
Pass number auto number
32
SYSTEM TESTING
System testing is a critical aspect of Software Quality Assurance and
represents the ultimate review of specification, design and coding. Testing is a process of
executing a program with the intent of finding an error.
A good test is one that has a probability of finding an as yet undiscovered error.
The purpose of testing is to identify and correct bugs in the developed system. Nothing is
complete without testing. Testing is the vital to the success of the system.
In the code testing the logic of the developed system is
tested. For this every module of the program is executed to find an error. To perform
specification test, the examination of the specifications stating what the program should do
and how it should perform under various conditions.
Unit testing focuses first on the modules in the proposed
system to locate errors. This enables to detect errors in the coding and logic that are
contained within that module alone.
Those resulting from the interaction between modules are initially avoided. In unit testing
step each module has to be checked separately. System testing does not test the software
as a whole, but rather than integration of each module in the system. The primary concern
is the compatibility of individual modules.
One has to find areas where modules have been designed with
different specifications of data lengths, type and data element name. Testing and validation
are the most important steps after the implementation of the developed system. The
system testing is performed to ensure that there are no errors in the implemented system.
The software must be executed several times in order to find out the errors in the different
modules of the system.
Validation refers to the process of using the new
software for the developed system in a live environment i.e., new software inside the
organization, in order to find out the errors.
The validation phase reveals the failures and the bugs in the
developed system. It will be come to know about the practical difficulties the system faces
when operated in the true environment. By testing the code of the implemented software,
the logic of the program can be examined. A specification test is conducted to check
whether the specifications stating the program are performing under various conditions.
Apart from these tests, there are some special tests conducted which are given below: Peak
Load Tests: This determines whether the new system will handle the volume of activities
when the system is at the peak of its processing demand. The test has revealed that the new
software for the agency is capable of handling the demands at the peak time. Storage
Testing: This determines the capacity of the new system to store transaction data on a disk
or on other files. The proposed software has the required storage space available, because
of the use of a number of hard disks. Performance Time Testing: This test determines the
length of the time used by the system to process transaction data. In this phase the
software developed Testing is exercising the software to uncover errors and ensure the
system meets defined requirements. Testing may be done at 4 levels
• Unit Level
• Module Level
38
UNIT TESTING
A Unit corresponds to a screen /form in the package. Unit testing focuses on
verification of the corresponding class or Screen. This testing includes testing of control
paths, interfaces, local data structures, logical decisions, boundary conditions, and error
handling. Unit testing may use Test Drivers, which are control programs to co-ordinate
test case inputs and outputs, and Test stubs, which replace low-level modules. A stub is a
40
dummy subprogram.
INTEGRATION TESTING
Integration testing is used to verify the combining of the software modules. Integration
testing addresses the issues associated with the dual problems of verification and program
construction. System testing is used to verify, whether the developed system meets the
requirements.
REGRESSION TESTING
Each modification in software impacts unmodified areas, which results serious injuries to
that software. So the process of re-testing for rectification of errors due to modification is
known as regression testing. Installation and Delivery Installation and Delivery is the process
of delivering the developed and tested software to the customer.
39
SYSTEM IMPLEMENTATION
Implementation includes all those activities that take place to convert from the
old system to the new. The old system consists of manual operations, which is operated in
a very different manner from the proposed new system. A proper implementation is
essential to provide a reliable system to meet the requirements of the organizations. An
improper installation may affect the success of the computerized system
IMPLEMENTATION METHODS:
There are several methods for handling the implementation and the consequent conversion
from the old to the new computerized system.
The most secure method for conversion from the old system to the new system is to run the
old and new system in parallel. In this approach, a person may operate in the manual older
processing system as well as start operating the new computerized system. This method
offers high security, because even if there is a flaw in the computerized system, we can
depend upon the manual system. However, the cost for maintaining two systems in parallel
is very high. This outweighs its benefits.
Another commonly method is a direct cut over from the existing manual system to the
computerized system. The change may be with in a week or with in a day. There are no
parallel activities. However, there is no remedy in case of a problem. This strategy requires
careful planning.
A working version of the system can also be implemented in one part of the organization
and the personnel will be piloting the system and changes can be made as and when
required. But this method is less preferable due to the loss of entirety of the system.
IMPLEMENTATION PLAN:
The implementation plan includes a description of all the activities that must occur to
implement the new system and to put it into operation. It identifies the personnel responsible
for the activities and prepares a time chart for implementing the system. The implementation
plan consists of the following steps.
o Identify all data required to build new files during the implementation.
o List all new documents and procedures that go into the new system.
The implementation plan should anticipate possible problems and must be able to deal with
them. The usual problems may be missing documents; mixed data formats between current
and files, errors in data translation, missing data etc
40
Limitations
The new system has been designed to meet almost all of the user requirements but it too has
certain limitations some of which can be enhanced in the future enhancements or updates.
The existing system supports only multiple choice questions and these can be used
only for the logic testing of the student whereas paper based tests can provide a overall result
of the users knowledge for that topic. This will do injustice to users who are sometimes aware
of answers but not sure completely. It supports only two values True and False. If the selected
answer is true the user gets marks, If not loses.
No Image Support
The existing system has no image support at present and so images and diagrams
cannot be included in the exam which would make it very difficult to ask certain questions in
certain subjects. Providing diagrams externally is at present the only feasible choice
available.
The existing system allows the exam time to be set only once at the time of system
set up which cannot be changed as per desired and all the exams will be conducted for the
preset time only. If the user wants to increase or decrease the time for exams the system will
have to be set up again. This is also one of the proposed enhancements.
41
Future Scope
Enhancements are the perquisite for development of a system. Every existing system has
proposed enhancements which make it better and easier to use and more secure. The
enhancements that have been proposed for this system are listed here.
The existing system has no image support due to which the images cannot be used. It
will be one of the priorities in the proposed enhancements to enable Image Support in the
system.
The new system will have a back option which will enable the users to go back to
previously answered questions and change them if needed. It will enable the user a hassle free
exam so that the user can properly utilize the total time allotted for the test.
The new system will allow the faculty to set the exam time for a particular subject. It
will increase the efficiency of the system greatly as it will enable each subject to be tested for
a different duration as desired and required.
.
42
CONCLUSION
This project is about the designing the railway reservation system using M S Access, as back
end and Visual Basic 6.0 as front end. This project presents an investigative view of present
railway reservation system including the history of booking tickets and cancelled tickets.
Present system of railway reservation system is having some shortcoming on which we have
tried to work on that to eliminate the disadvantages.
We have made a database for passengers and trains and connected these two tables from
the custom made data entry form built in Visual Basic 6.0. There are options for new entry
which will be stored in M S Access database and retrieved from database in future.
This project was a small attempt to make the railway reservation system using M S Access,
and Visual Basic 6.0.
In the last we conclude that Indian Railway is having a strong IT Infrastructure and a well-
equipped railway reservation system but there is some shortcoming in the system on which
we have tried to work on it and successfully completed our project.
43
BIBLIOGRAPHY
Books
www.associatedcontent.com
www.members.tripod.com
www.vbcodesource.com
44
List of Tables
1. Train InfoDetails 21
3. Reservation 38
4. Print Ticket 41