Railway Reservation System
Railway Reservation System
UNIVERSITY
Term Paper
CONTENTS
1. INTRODUCTION
2. PROPOSED SYSTEM
3. SYSTEM DEVELOPMENT LIFE CYCLE
4. RAILWAY RESERVATION SYSTEM PROGRAME
5. TESTING WHITE BOX TESTING BLACK BOX TESTING
6. CODE COMPLETENESS EVALUATION
7. DATA FLOW DIAGRAM
8. ADVANTAGES OF THE SYSTEM
9. HARDWARE AND SOFTWARE REQUIREMENTs
10. REFERENCE
1.INTRODUCTION:-
This project introduces railway reservation system. It explain how reservation is
being done in Indian railways .the step by step produce is explain this project is
developed .All most The header files have been used in this project proper
comments have been given at desiedlocations to make the project user
friendly. Varies function and structureasare used to makes complete use of the
language.
2.PROPOSED SYSTEM:-
Today one cannot afford to rely on the fallible human being of be really wants
to stand against today merciless competition where not to wise saying to err is
human no longer valid it outdate to rationalize your mistake .so to keep pace
with time to bring about the best result without malfunction in grand greater
efficiency so to replace the unending heaps of flies with a much sophisticated
hard disk of the computer .one has to use the data management software has
been an ascent in atomization various organization. Many software product
working are now in market which have help in making the organizations work
easier and efficiently .data management initially had to maintain lot of ledgers
and a lot of paper work has to be done but now only. this prevents a lot of time
and money. the work become fully automated and any information regarding
the organization can be obtained by clicking the button .more over now it an
age of computer of and auto mating such an organization give the better look
the system development life cycle is a projects into smaller more management
technique that divide complex project into smaller more easily managed
segment or phase .segmenting project allow managers to verify the successful
completion of project phase before allocating resources to subsequent phase
.software development project typing include initiation planning, design
,development, testing, implementation and maintenance phase. However the
phase may be divided differently depending on the organization involved
.initially project activities might be designated as request requirement –
definition and planning phase or initiation, concept-development and planning
phase. End user development should be involved in reviewing the output of
each phase to ensure the system is being built to deliver the needed functionality
initiation phase the initiation phase begins when a business sponsor identifies a
need or an opportunity. The purpose of the Initiation phase is to
III. Identify basic functional and data requirements to satisfy the business
need.
ANALYSIS
DESIN
IMPLEMENTTATIO
N
PALANING
MAINTENANANCE
7.PLANNING PHASE:-
This phase formally defines the detailed functional user requirements using
high-level requirements identified in the Initiation System Concept and
Planning phases. It also delineates the requirements in terms of data system
performance, security, and maintainability requirements for the system. The
requirements are defined in this phase to a level of detail sufficient for systems
design to proceed. They need to be measurable, testable and relate to the
business need or opportunity identified in the Initiation Phase. The requirements
that will be used to determine acceptance of the system
I. Further define and refine the functional and data requirements and
document them in the Requirements document
III. who generates it where does the information go and who processes it
Develop detailed data and process models system inputs outputs and the
process.
IV. Develop the test and evaluation requirements that will be used to
determine acceptable system performance
9.DESIGN PHASE:-
The design phase involves converting the informational functional and network
requirements identified during the initiation and planning phases into unified
design specifications that developers use to script programs during the
development phase. Program designs arec onstructed in various ways. Using a
top-downapproach designers first identify and link major program components
and interfaces then expand designlayouts as they identify and link smallersub
systems and connections. Using a bottom up approach designers firstidentify
and link minor program components and interfaces, then expand design layouts
as they identify and link larger systems and connections. During this phase the
system is designed to satisfy the functional requirements identified in the
previous phase. Since problems in the design phase could be very expensive to
solve in the later stage of the software development a variety of elements are
considered in the design to mitigate risk.
10.IMPLEMENTATION PHASE:-
This phase is initiated after the system has been tested and accepted by the user.
In this phase the system is installed to support the intended business functions.
System performance is compared to performance objectives established during
the planning phase. Implementation includes user notification user training
installation of hardware installation of software onto production computers and
integration of the system into daily work processes. This phase continues until
the system is operating in production in accordance with the defined user
requirements
#include <conio.h>
#include <stdio.h>
#include <iostream.h>
#include <string.h>
#include <graphics.h>
#include <stdlib.h>
#include <dos.h>
static int p = 0;
class a
{
char trainn[5], driver[10], arrival[5], depart[5], from[10], to[10], seat[8][4][10];
public:
void install();
void allotment();
void empty();
void show();
void avail();
void position(int i);
}
train[10];
void vline(char ch)
{
for (int i=80;i>0;i--)
cout<<ch;
}
void a::install()
{
cout<<"Enter train no: ";
cin>>train[p].trainn;
cout<<"\nEnter Driver's name: ";
cin>>train[p].driver;
cout<<"\nArrival time: ";
cin>>train[p].arrival;
cout<<"\nDeparture: ";
cin>>train[p].depart;
cout<<"\nFrom: \t\t\t";
cin>>train[p].from;
cout<<"\nTo: \t\t\t";
cin>>train[p].to;
train[p].empty();
p++;
}
void a::allotment()
{
int seat;
char number[5];
top:
cout<<"Train no: ";
cin>>number;
int n;
for(n=0;n<=p;n++)
{
if(strcmp(train[n].train n, number)==0)
break;
}
while(n<=p)
{
cout<<"\nSeat Number: ";
cin>>seat;
if(seat>32)
{
cout<<"\nThere are only 32 seats available in this train.";
}
else
{
if (strcmp(train[n].seat[seat/4][(seat%4)-1], "Empty")==0)
{
cout<<"Enter passanger's name: ";
cin>>train[n].seat[seat/4][(seat%4)-1];
break;
}
else
cout<<"The seat no. is already reserved.\n";
}
}
if(n>p)
{
cout<<"Enter correct train no.\n";
goto top;
}
}
void a::empty()
{
for(int i=0; i<8;i++)
{
for(int j=0;j<4;j++)
{
strcpy(train[p].seat[i][j], "Empty");
}
}
}
void a::show()
{
int n;
char number[5];
cout<<"Enter train no: ";
cin>>number;
for(n=0;n<=p;n++)
{
if(strcmp(train[n].trainn, number)==0)
break;
}
while(n<=p)
{
vline('*');
cout<<"Trainno: \t"<<train[n].trainn
<<"\nDriver: \t"<<train[n].driver<<"\t\tArrival time: \t"
<<train[n].arrival<<"\tDeparture time:"<<train[n].depart
<<"\nFrom: \t\t"<<train[n].from<<"\t\tTo: \t\t"<<
train[n].to<<"\n";
vline('*');
Train[0].position(n);
int a=1;
for (int i=0; i<8; i++)
{
for(int j=0;j<4;j++)
{
a++;
if(strcmp(train[n].seat[i][j],"Empty")!=0)
cout<<"\nThe seat no "<<(a-1)<<" is reserved for
"<<train[n].seat[i][j]<<".";
}}
break;
}
if(n>p)
cout<<"Enter correct train no: ";
}
void a::position(int l)
{
int s=0;p=0;
for (int i =0; i<8;i++)
{
cout<<"\n";
for (int j = 0;j<4; j++)
{
s++;
if(strcmp(train[l].seat[i][j], "Empty")==0)
{
cout.width(5);
cout.fill(' ');
cout<<s<<".";
cout.width(10);
cout.fill(' ');
cout<<train[l].seat[i][j];
p++;
}
else
{
cout.width(5);
cout.fill(' ');
cout<<s<<".";
cout.width(10);
cout.fill(' ');
cout<<train[l].seat[i][j];
}
}
}
cout<<"\n\nThere are "<<p<<" seats empty in Train No:
"<<train[l].trainn;
}
void a::avail()
{
for(int n=0;n<p;n++)
{
vline('*');
cout<<"Train no: \t"<<train[n].trainn<<"\nDriver:
\t"<<Train[n].driver
<<"\t\tArrival time: \t"<<train[n].arrival<<"\tDeparture Time: \t"
<<train[n].depart<<"\nFrom: \t\t"<<train[n].from<<"\t\tTo: \t\t\t"
<<train[n].to<<"\n";
vline('*');
vline('_');
}
}
void main()
{
clrscr();
int w;
int gd=DETECT, gm;
initgraph(&gd, &gm, "");
setbkcolor(BLUE);
while(1)
{
cout<<"\n\n\n\n\n";
cout<<"\t\t\t1.Install\n\t\t\t"
<<"2.Reservation\n\t\t\t"
<<"3.Show\n\t\t\t"
<<"4.Traines Available. \n\t\t\t"
<<"5.Exit";
cout<<"\n\t\t\tEnter your choice:-> ";
cin>>w;
switch(w)
{
case 1: train[p].install();
break;
case 2: train[p].allotment();
break;
case 3: train[0].show();
break;
case 4: train[0].avail();
break;
case 5: exit(0);
}
}
}
Getch();
}
some parts of the back end are not tested at all. Therefore, black box
testing has the advantage of an unaffiliated opinion on the one hand
and the disadvantage of blind exploring on the other
DATA FLOW DIAGRAM:-
NEW
CUSTOMER TRAIN DATA BASE
2 MAIN TRAIN
CUSTOMER
INFORMATION
TRAINS
AMOUNT
CREATE RECODE
Now one can easily plan the journey comfortably as the process is efficient and
fast with being easy to access. Reservations can be made through the Indian
railways site or at the ample reservation centers all over the country. Also now
there are authorized agencies which provide reservation facility on behalf of
India railways and without waiting in long line one can easily book a ticket. The
booking is done through an E- Ticket issue which have a PNR number of which
one has to take a print and just have to show at the station. It not only provide
reservation but cancellation can also be done through this system at ease and
one can use a credit card to complete the process. This being a big step in terms
of improvement in the railway system it is widely accepted across the country.
HARDWARE REQUIREMENTS:-
1.Operating system
ii. Processor:
iii. Motherboard
iv. Ram
v. Hard disk
vii. Floppy drive 1.44 mb
viii.Monitor
ix.Key board and mouse
x. Printer
SOFTWARE REQUIREMENTS:
1. office Xp
REFERENCE:-
I. . www.wikipedia.com
II. www.answers.com
III. www.askme.com
IV. www.esnips.co
V. BY E.BALAGURUSWAMI