You are on page 1of 66

1

1.1 INTRODUCTION
This project aims at development of an Online Railway
Reservation Utility which facilitates the Railway customers to
manage their reservations online, and the Railway administrators
to modify the backend databases in a User-Friendly manner.
The Customers are required to register on the server for getting
access to the database and query result retrieval. Upon registration,
each user has an account which is essentially the ‘view level’ for
the customer. The account contains comprehensive information of
the user entered during registration and permits the customer to get
access to his past reservations, enquire about travel fare and
availability of seats, make a fresh reservations, update his account
details, etc. The Railway Administrator is the second party in the
transactions. The administrator is required to login using a master
password, once authenticated as an administrator, one has access
and right of modification to all the information stored in the
database at the server. This includes the account information of the
customers, attributes and statistics of stations, description of the
train stoppages and physical description of coaches, all the
reservations that have been made, etc. The railway administrator
has the right to modify any information stored at the server
Railway Reservation system project provided the facility to
passenger for fast access and easily check the train availability
very fast. This step by step procedure given. This project is
developed in the c# and asp.net Language. Almost proper
comments are given at disered position and the project is user
friendly various function are use in this project.
This project is well with the programming in c#, asp.net
with sql server 2005

-1-

2

2. SOFTWARE ANALYSIS

2.1 APPROACH
The first stage in the software development life cycle is requirement
analysis. It helps us in understanding the way users of the software want to
use it and what features they expect to be performed by the software. This
first stage is very important to the entire process as everything done
afterwards is on the basis of this stage.
The main aims of analysis phase are
a. Understanding requirements through interviews and
meetings with concerned persons and organizations and
also discussions with the user of the system
b. Preparing document indicating the requirements specified by
the user
c. Considering the feasibility of the system
d. After the complete overview as per requirements, finalizing
the specifications by discussings with users and coming at
certain conclusions.
2.2.

REQUIREMENT SPECIFICATION

1.

There should be separation between the information system and
the reservation module.

2.

The member should be able to reserve the ticket of maximum
five persons and could cancel any no of ticket any time.

3.

There should be facility for signing out for the member user.

4.

The member person can refer it’s accounts current status and
the journeys he had made.

5.

There should be facility for the waiting list. In which if the
member doesn’t get the seats in a particular class he would be
in a queue.
-2-

3

6.

The train information is made by anyway means user can view
the train schedule by entering the train name or train no or by
source and destination.

7.

User can also reserve the seats from the via stations.

8

The entire system should be GUI based and should be user friendly.

2.3. FEASIBILITY STUDY
The feasibility study includes consideration of the technical feasibility,
Operational feasibility and economic feasibility of the software. All the
feasibilities are shown here:
2.3.1 Technical Feasibility
The Online Railway Reservation System is technically feasible as
there are many commercial software development tools such as
Visual basic, Java etc are available. So GUI based specified
requirement oriented system can be developed.
2.3.2 Operational feasibility
As the computer lab is already using many software solutions, this
software can be easily fit in with existing operations and can be used
easily.
2.3.3 Economical feasibility
As the well established having many computer terminals no
investment in Hardware required.

-3-

3. SOFTWARE SPECIFICATION 3.4 3. called a Context Diagram. To give a complete set of features provided by the software which will be base for software design phase. whatever is gathered in analysis phase is put in structured and logical manners. Data Flow Diagram models a system by using external entities from which data flows to a process which transforms the data and creates output data flows which go to other processes or external entities. To specify the entire process logically by means of data flow diagram. To put the step oriented explanation of events and procedures by using structured English and/or decision tables.1 APPROACH The determination and finalization of requirement of software to be developed is done in this phase.. As the first step. The main goals of this phase are… 1. This phase is mainly documents oriented. which gives a system overview. c.1 General Train Info Cancellation Reservatio n -4- . 3. The successive expansion of a DFD from the context diagram to those giving more details is known as leveling of DFD which simplifies processes by dividing them into more stages. b. a.2 Data Flow Diagrams. Context Diagram administrat er Process FIG 3. the entire system can be depicted by one Data Flow Diagram. In this phase. 2.

of female.5 Context Diagram Railway reservation Train information Delhi to User registration Train time Class User name Food facility Train no. rnoofseat categor y Train no.2 -5- e-mail amount No. Price Time and date Train no Seat no FIG3. Ticket information name Name No. of m male passen Seatger no .

6 Data Flow Diagrams: USER No Member or Non member? No Yes Want a member Ship ? Registratio n Verify the Username And password No Username and Password right Yes Consider As A nonmember Member Accesses Cancellation The General Train Info View Account Info Reservatio n FIG 3.3 Flow Chart For Reservation Process Database User -6- .

seats The originating and destination Station and journey date No Is it valid data?? Yes Is It enough money ? Yes Check for the seats Availability Database Add the user in waiting Enough Seats ? ? Yes FIG 3. train name.4 Reserve the Flow Chart for the ticket cancellation seats User Date of journey. train name and no Checking For the date -7validation End .7 Error Page Train no.

8 No Error Page Is it valid data Yes Cancel The Seats Check The Waiting list Is there any User in waiting list ? No yes FIG 3.5 Reserve The seats For the waiting user End 3.4 FEATURES OF RAILWAY RESERVATION AND INFORMATION SYSTEM: On the basis of the study of analysis and specification phases. the system should be designed keeping in mind various factors like… -8- .

the class. Separation will be done between the two modules on the basis of the password and the username. 2. If the user wants to become the member of the railway scheme he should deposit some money and should give the general information like age and the category. train name. cancellation. The user should enter the journey date. the source and the destination of the train. The Account Info d. the train no.9 1. The whole software will be considered in two separate modules named the general information and the railway reservation. the seats are given to the user who is first in the waiting list. train name. a. In waiting list user has given the index no. 3. The password and the username are also entered by the user. the age and the category of every person. when any user cancel the ticket. 6. . the number of seats which are going to be reserved and the class and the source from which seats are reserved and the destination. The Train Information b. After entering the username and the password the user come across the four fields. One more feature added to the system is waiting list facility. general account information. The age and the category are later used in calculating the concession. The Reservation Form c. The reservation form contains the current date. the source and the destination. the train number. SOFTWARE DESIGN 4. 5. The Cancellation of the ticket 4. Software Design phase is the actually a link between analysis-specification phase and system -9- . 4.1 APPROACH The software design phase is the most important and core part in the entire software development life cycle. If the particular class is full and user want the reservation he is added to the waiting list .

This analysis is then used to organize data as relations. User – Interface design which includes general layout of the component to be used and overall behavior of the entire system. normalizing relations. 3. So it extremely important to handle this phase by considering each & every minute detail.10 implementation base. conceptual model of data and it is fundamental to the physical database design. Attributes which specify properties of entities & relationships E-R Diagram . Entities which specify distinct real-world items in an application 2. These are…. The entity-relationship model for data uses three features to describe data. which connect entities and represent meaningful dependencies between them. 1. Database Design shows basic design of tables. primary keys and foreign keys. The procedure to be followed is briefly described below… 1. The entity-relationship diagrams are drawn to identify the entities and relationship between these entities.10 - .2 ENTITY-RELATIONSHIP DIAGRAM Entity relationship diagram is very basic. Relationship. and obtaining a Relational database. 2. 3. 4.

3 DATABASE DESIGN A database design is a collection of related data necessary to manage an organization.1 4.11 Fig 4.11 - . It excludes transit data such as input documents. reports and intermediate results obtained during the process. .

The half root travelling facility table: which gives the passenger whose take the facility of this. . Conceptual modeling uses the entity-relationship diagrams. 1.12 - . The train no is the primary key.destination and the amount he deposited. Database design begins with designing the conceptual model of a database. Other fields the table contains are train name. The reservation table: which keeps the track of all the reservation of passenger. The train registration table. 2.4 USER INTERFACE DESIGN Nowadays. The model is independent of any application program. 4. A Graphical User Interface is one that controls a bit-mapped graphics display device. Based on this concept mainly this system required following tables. the departure and destination time.source. the destination. the source.: which keeps track of the train name. limited to drawing simple alphabetic characters in fixed rows and columns. The train mid station registration table: which contains the mid station b/w source and destination stations 4.. the logical model is developed which depends on the DBMS software. The category table: which gives the concession rate of each category 5. it is considered or thought of user interface as interfaces that are at least screen-oriented. train no. a. train type.12 A database design models the data resource of an organization using the relationships between different data items. 1. 2. distance between the train source and destination. After the conceptual design. is the primary key. 3. Here train no.

13 - . d. The user must be able to understand the interface. station code and the general information about the concession fare. The following error messages will be generated: 7. data and workflow in the most intuitive for the user. b. the class and seats you want to cancel. The cancellation form contains the date field. If the train no doesn’t match with the train name . last name etc. The registration for the new user contains the fields like the first name. Main page containing the username and password dialog-box and the links to other information like the knowing the trains schedules. 3. The GUI interface should clearly convey the proper perspective and level of detail appropriate for the background of the target. If the user doesn’t enter the information related to particular train the system will prompt the error page. its functions. its messages. c. Two main points to considered in designing…. 2. 2.13 GUI is about creating a medium through which a user. The train Information The Reservation The Cancellation pnr check 4. The user interface required for the railway reservation and the information system consists mainly of: 1. the train no and name. 6.most likely a Humancan effectively communicate with the underlying program logic and affect its state and behavior. and its logical flow. And shows the status of available against the boggie name. The members only interface contains four fields… a. 5. It shows the boggie name if it is empty. The design should first and foremost support an interface that creates the most meaningful abstractions. 1. the seat availability in all classes of a particular train. The railway confirmation page shows the status of the available seats and not available seats. and organizes functions.

The particular train doesn’t runs between the source and the destination 10. 11. The particular train doesn’t contain the class type and we try to reserve the seat it will show the error. If we try to reserve the seat for a train which doesn’t run on the particular day we entered.14 8. 9. Operating System: Windows 7 2. If you are running out of the limit of the money 13. GUI internet browser ( Like Internet Explorer or Google chrome) 3. . The date is before the current date 12.14 - . If you want to reserve the ticket but the total ticket exceeds the amount you deposited. Tools and platform Software: 1.0 .net framework 4.

net runtime invirment IIS (internet information service) GUI internet browser sql server 2005 Client Side Requirements: GUI internet browser Database: Sql server 2005 APPROACH This is the phase where coding for the software is done. Runtime Requirement: 1. If all the previous phase are accurately handled. sql server 2005 Programming Languages: C# .net on a particular platform.net Hardware: Minimum Hardware Requirement that can support GUI Internet browser and Windows 2000 Operating System 233 MHz Processor 128 MB RAM Platform: Platform Independent need only GUI internet browser and web server to support ASP. 4. c# programming 5. Main goals of this phase are… . 2. implementations becomes somewhat easier.15 4.15 - . asp. asp. 3.

hard to set up (you have to set up the server on every developer's machine exactly the same way).16 1. Finally. Why we use ASP.. You can't run a Page object through its lifecycle without spinning up all of ASP.16 - .NET Framework and ASP. You start by designing your UI and dragging controls. in other ways.NET which is parallel to ASP which is microsoft’s product.net shines out among them as it is very powerful language and was also very suitable for developing web-based as well as standalone applications. TOOL SPECIFICATION As there are many powerful tool are available in the market today.NET. And best of all. ASP. ASP. Select tool(s) for the development of the software by doing through study of the tools. unit testing of pages is often difficult. Web Forms are relentlessly UI focused.NET Web Forms made it very easy to get started. which make the implementation of the software a straightforward process. their capabilities and how they can be used to meet design goals. here was a framework that let me work on Web applications. the fundamental atom is the page. trying to apply my design principles to Web apps was a struggle. Making separate functionality based modules and implementing the software one-by-one module. that kind of testing is fragile (change one control ID and the test breaks).. and slow to run. . but. It's very seductive to just start slapping your application logic into the page's event handlers (much like Visual Basic® enabled for Windows® apps). hook up controls to events.NET were released. 2. On top of that. We used ASP. yet it was almost like programming desktop applications.NET automatically handled the stateless nature of the Web for me with view state! I was a happy programmer again . at least for a while. and the designer kept me from having to deal with those darn angle brackets. But . While it is possible to test Web apps by sending HTTP requests to a server or automating a browser. I could build windows (pages).NET? the Microsoft® .

it communicates with the view through an interface and can be tested in isolation from the page. so your solutions have to scale. MVP has you build your pages so that the page (View) simply makes calls into a separate object. and we need some way to manage the content and its interaction with business systems. Interfacing web-based requests to backend systems can be a big headache. Web Application Server Architecture: The use of the Model View Presenter (MVP) pattern for building testable Web Forms. c. the Presenter updates the view. the Presenter.17 - . Once those steps are complete. you need a separate view interface. and so it should be able to use the same middle-tier and data-access code.NET pipeline. And the number of users is rising all the time. Object-oriented programming techniques have proven their worth in client-server systems and they should help us in the web application development. 1 The main problems facing developers seeking to develop web applications are: a. Manageability : sites just keep getting bigger.MVP works. Integeration of backend data and business logic : The web is just another way to conduct business. Scalability : A successful site will have more users than the biggest corporation intranet. perform business logic. scalability and ubiquity is obvious. d.17 The internet needs no introduction. b. typically by using other objects (the Model) to access databases. In a nutshell. and so on. The success of the HTTP protocol in its simplicity. Personalization : Adding a personal touch to the page isn’t easy. but the implementation can be a bit awkward. and you have to write lots of event forwarding functions in your codebehind files. This approach gives you testability because the presenter is isolated from the ASP. The Presenter object then performs any logic necessary to respond to the activity on the view. instead of putting your logic in the page. But if you want a testable UI in your .

which contains your domain logic. Extensible at almost every point.18 Web Forms applications. thus the name. the model. the input is an HTTP request. In the context of the Web. ASP. Total control over your output. MVC divides your UI into three distinct objects: the controller. and the view.NET team has been listening to developers like me and has started development of a new Web application framework that sits side-by-side with the Web Forms you know and love but has a distinctly different set of design goals: Embrace HTTP and HTML—don't hide it.NET MVC. The MVC pattern was originally invented back in the '70s as part of Smalltalk. which receives and handles input. it's about the best you're going to get. and the request flow looks like . As I'll show in this article. This new framework is based around the Model View Controller (MVC) pattern. it actually fits into the nature of the Web quite well. Testability is built-in from the ground up. Any improvements would require a change in the underlying platform. Model View Controller Pattern Luckily.18 - . which generates your output. the ASP.

this is great. right now there's probably one of two things running through your head. the input goes into the page (the View).19 Fig 5.19 - . How do I use it?" or "Why would I write three objects when I only had to write one before?" Both are excellent questions and best explained by looking at an example. . on the other hand. Either. the responsibilities are separated. So. So I'm going to write a small Web app using the MVC Framework to demonstrate its advantages. In the Web Forms model. "Hey.1 This is actually quite different from the process in Web Forms. When it comes to MVC. and the view is responsible for both handling the input and generating the output.

The Framework is designed for testability. where massive amounts of functionality are just a drag and drop away. the MVC Framework will probably catch up in the UI control department.NET MVC Framework offers Web developers a new way to build Web applications in the Microsoft . can be created using Web Forms in a fraction of the time it would take to write it in MVC. many of which are extremely sophisticated and save massive amounts of work. but most likely it'll never be as easy to get started with as with Web Forms. are you doing a lot of data display. There are many applications where Web Forms work very well. "What's happening to Web Forms? Is MVC replacing it?" The answer is no! Web Forms is a well-understood technology.20 - . But in the meantime. embraces HTTP instead of trying to abstract it away. . Are you struggling to get your URLs formed the way you want? Do you want to unit test your UI? Either of those scenarios would lean toward MVC. On the other hand. with editable grids and fancy tree view controls? Then you're probably better off with Web Forms for the moment. Over time. Plus Web Forms supports a vast marketplace of controls. and is extensible at just about every point. it comes down to your requirements and your preferences. It is a compelling complement to Web Forms for those developers who want complete control over their Web applications. So. the ASP. for instance. the typical intranet database reporting app. and Microsoft will continue to support and enhance it.20 Farewell Web Forms? At this point you may be wondering. when should you choose MVC over Web Forms? In many ways.NET Framework.

NET Engine Server Plain document Web Server Client Fig 5.2 .Online Railway Reservation 0 Web Application Server ASP.21 - .NET document ASP.

data from instruments or peripherals. So you can develop on SSE and be assured of a straightforward migration to the more powerful SQL Server 2005 when you're ready. To prove it. We'll use VWD in this segment of the tutorial to demonstrate the features of SQL Server. But nearly all of the world's actual systems use data from a database. however. ASP.NET 2. SSE is totally compatible.net We'll see more of these as we we discover how to integrate data from a SQL Server database into a web site. data from sequential files. And ASP. you should have installed Microsoft's free SQL Server 2005 Express (from now on SSE) database alongside VWD. By this time. or almost anything a standalone program can do. You can download it from the same web page you found VWD on. We used the Java Database Connectivity API to easily add a high degree of database interactivity to the application. The "big brother" to SSE is SQL Server 2005 (no "Express Edition") and is used for some of the largest and most demanding database applications in the world. .22 - .0 is perfectly capable of working with no data.Online Railway Reservation Introduction to Database We have used the sql server 2005 as the database design. check out these integrated features designed just for databases in . Before we tie together VWD and SSE together. let's take a brief look at SSE by itself just to get more familiar with it.0 works best with Microsoft's database. SQL Server.NET 2.

2 Train mid station registration table tname tno source desti rseat charge tisource tides cool1 cool2 nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) .1 Half root facility table: nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) int pnrold tdistance cdis rdis result newpnr Cool1 Cool2 id Table 6.Online Railway Reservation Train registration: Field Tno.23 - . tname tstart tend nos id values nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) nvarchar(50) int Table 6.

Online Railway Reservation

typ1
charge1
typ2
charge2
typ3
charge3
typ4
charge4

nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
int
Table 6.3

Reservation table:
field
source
desti
tname
tno
aot
charge
bname
nom
nof
seatr
ptaken
mrefresh
lunch
dinner
mtea
atea
etea
dateofres
emailid
pnr
cool1
cool2
id

values
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
nvarchar(50)
int
- 24 -

Online Railway Reservation

Table 6.4

Testing Strategy
Introduction
Software Testing uncovers errors in the software. It is a crucial
element of software quality assurance and represents the ultimate
review of specification, design and coding. Testing demonstrate that
software function appeared to be working according to specification
that performance requirements appear to have been met. In addition
data collected as is conducted provide a good indication of software
reliability and with some indication of software quality as a whole.
The basic objectives of testing process are:
1.

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

2.

A good test case is one that has a probability of finding an as
yet undiscovered error.

Testing Principles
Software

testing

verifies

that

the

software

meets

the

requirements. It involves the operation of a system or
application under controlled conditions and evaluating the
results. The controlled conditions include both normal and
abnormal conditions. Testing is done with the intention of finding
errors. We should not test a program to show that it works, but
to find the maximum number of errors possible. We begin
- 25 -

Online Railway Reservation

testing with the assumption that it contains errors. Testing
should intentionally attempt to make things go wrong and then
observe the behavior of the product in those conditions.
A good understanding of the reasons for errors would enable
the development of quality assurance plans with insight. Now,
why does software have errors or bugs?
 Miscommunication or no communication: as to specifics of what
an application should or shouldn’t do, the applications
requirements.
 Software complexity: the complexity of current software
applications can be difficult to comprehend for anyone without
experience in modern day software development.
Windows-type

interfaces,

client-server

and

distributed

applications, data communications, enormous relational
Databases and sheer size of applications have all contributed
to the exponential growth in software/system complexity. The
use of object-oriented techniques can complicate instead of
simplifying a project unless it is well engineered.
 Programming errors: programmers like anyone else can make
a mistake.
 Changing requirements: the customer may not understand the
effects of changes, or may understand and request them
anyway – redesign, rescheduling of engineers, work already

- 26 -

class libraries.  Poorly documented code: it is indeed difficult to maintain and modify code that is badly written or poorly documented and will result in bugs.  Egos: overconfidence and too many unrealistic promises result in bugs. scripting tools etc. The most crucial part of the testing problem is finding an adequate test Testing techniques White-box Testing 1.Online Railway Reservation done may have to be thrown out. mistakes will be made. often Introduce their are bugs if not used correctly. Examines all logical decision on their true & false sides.  Time pressures: scheduling of software projects is difficult at best. hardware requirements may be effected. Examines all independent paths within a module.  Software development tools: visual tools. often requiring a lot of guesswork. When deadlines loom and the crunch comes. effects on other projects etc.27 - . . 2.

2. All the output and report were also checked and verified for their accuracy and reliability. Errors can crop up during any phase in the software development cycle. 4. This method divides the input domain of a program into classes of data for which test case may be derived. Exercise internal data structure to ensure their validity. Though Verification is performed on the output of each phase. 4. some errors would remain Undetected and eventually be reflected in the code. Execute all loops at their boundaries and within their operational bounds. Errors in the data structure or external database access. . 3.Online Railway Reservation 3. In this project instead of conducting test at the end of the software Black-box Testing Black-Box Testing attempts to find errors in the following categories: 1. Initialization and termination errors. Performance errors. 5. Each module was tested for it’s functional requirement by applying black box testing it was tested to see if it perform all the desired function in the desired manner. Testing strategies A strategy for software testing may be viewed in the context of the life cycle phases. Interface errors. Incorrect or missing functions.28 - .

Hence the emphasis is on testing interfaces between modules. system testing relates to testing the software and other system elements as a whole. where errors are easier to isolate and correct instead of testing the entire program as a whole. The goal is to see if the modules can be integrated properly. Incremental Integration Testing conducts the testing on small segments.Online Railway Reservation Testing is relied on to bring out these Errors. Testing is planned and conducted at the various life cycle phases as follows: Integration Testing – This is the testing of combined parts of an application to determine if they function together correctly. . Unit testing concentrates on each unit of the software as implemented in the Source code. The software requirements against the software constructed. Finally. individual applications etc. Each of these tests attempts to detect different types of faults. Testing progresses to integration testing where focus is on the design and Construction of the software architecture. The parts can be code modules. Functional testing concentrates on validating.29 - . It involves the continuous testing of an application as new functionality is added.

The reference document for this process is the requirements document and the goal is to see if the software meets its requirements. If you have run your complete test set and found no errors. If you are still finding errors with every test. Critical . (b) Stop when all test cases execute without detecting errors. people. databases. System testing verifies that all elements of the whole computer system (hardware. However. errors tend to cluster and so the modules that appear error prone should have special scrutiny. In fact.30 - . It should also be emphasized that the amount of testing will depend on the cost of an error. Test completion criteria How do you know you have tested enough? This is a fundamental question and unfortunately has no clear-cut answer. software etc) mesh properly and that the overall system function and performance is achieved. it does not necessarily follow that the program is error free. The test set may be incomplete. then Testing should continue. these cannot be solely relied upon. Some basic criteria can be – (a) Stop when scheduled time for testing expires.Online Railway Reservation Functional testing provides final assurance that the software meets all functional and behavioral requirements. Black box testing techniques are used exclusively during this test.

Syntax: Clear separation of input validation into syntax. ad-hoc logic can be a nightmare to disentangle. . sharing code instead of using a subroutine or Macro. Logic-based: Simple IF-THEN_ELSE constructs and case statements or decision-table based logic is explicit and easy to evaluate. Loops: simple. Convoluted. Complicated.31 - . unnecessary GOTO. The variables that direct the paths are Explicit and identifiable. Cleanly nested loops can be tested in a finite number of combinations. ad hoc loops cannot be simply tested. Jumping Around within code. all increase the complexity of the code. clear loops have explicit loop control variables and can be tested in a few Cases. Paths: a routine with fewer paths is more testable than one with more paths. field- value and correlation Analysis makes it possible to do syntax testing independent of field values and further Processing.Online Railway Reservation programs or code segments will require more thorough testing than the more insignificant functions. This separation modularizes testing and eliminates most of the complicated interactions that would otherwise have to be tested.

Specifications: Clearly documented specification for every element at every level is an explicit guide not only to what must be implemented. multifunction Ones. This makes interfaces clear and easily testable. but also to what must be tested. Every specified requirement should be addressed by at least one test.Online Railway Reservation Interfaces: Interfaces with standardized calling sequences make interface testing very Straightforward.32 - . thus giving the program a sound base.1 Unit Testing: . Integration: Small and single function modules are easier to test than big. Well modularized code with clearly specified functions for each module means that the program is made up of completely tested modules rather than partially tested Elements. Fig 6.

Driver and stub are the software. . Full project is dividing into number of modules so we check every module separately in this testing we use driver and stub mainly for testing. In the application program driver is only as a main program and stub is stub serve to replace modules that are subordinate the component to be tested.Online Railway Reservation After the coding step we do the unit test for project in this test we check the project as unit wise.33 - .

34 - .Online Railway Reservation Subscrption Entry Form .

*Check that the data entered does not exceed the predefined length. # Date accepted properly. # Data saved in the database & a unique ID generated # Prompts Start Date> End Date.Online Railway Reservation All the above conditions have been #All checked for this too. # Data saved in the database & a unique ID generated. # Enter the Start Date > End Date. Post Query Trigger works satisfactorily.35 - # Data accepted. # Data mismatch and prompts to enter correct data. *Check numeric data cannot be entered into the character field and vice versa the #All Correspon ding Outputs generated. * Check the price amount should be entered in the pre defined format. # Prompts Start Date> End Date. # Date accepted properly. #The data is changed according to the pre defined format. #Input the price . #Clear the form and Execute query. the Correspon ding Outputs generated and all the respective triggers tested. # All the details from the database including the ones stored via LOVs are displayed in the form. # Click Save after filling up the Subscription Entry Form.So unacceptable. .So unacceptable. #The data is changed according to the pre defined format and displayed. the #All Requi red Inputs entere d. * Check whether our Post Query concept works. #Enter the Start Date < End Date.

# Enter data longer the acceptable limit.36 - # Unable to # The unique Ids insert data. the database.Online Railway Reservation amount in any format. #Select Active Subscribers from the Database. *Check whether the data being selected from the List of Values (LOV) are having their Ids stored in the database. # Unable to insert data. #Select Expired Subscribers from the Database. # Data inserted successfully. # Enter Numeric data into Character field & vice versa. . . # Data entered within the specified limit. of the respective items selected from the list are # Data inserted being saved into successfully. # Data accepted.

regarding the client thorou server connection which gh were resolved after some indivi trials on the spot. as a whole with a les the few minor problems after system.5 . the Absolute success Complete success in running the Modu in running system.Online Railway Reservation Integration Testing Check whether all All independent modules work properly after integration.37 - . dual testin g are merge d togeth er and run in the FMX (exec utable ) setup. Table 6.

They publish the report at regular interval.Comparing the performance of hardware and software.Vendors generally gives a list of users who are satisfied with their work. In our case we have evaluated our System and found that the hardware and software are in absolute sync with each other. Their performance has been found to be upto the mark. Plus we offered complete maintenance and support for a certain period of time.38 - .Online Railway Reservation EVALUATION: We have following approaches for the evaluation 1) Benchmarking. We also compared our software with other Subscription systems on other platforms and found that we were offering a much better system at a lesser price and on a more sophisticated and user friendly technology. . But it is advisable to seek the opinion independently. 3) Report of independent research organizations. The prospective buyer of a software package can have faith in their evaluation. 2) Experience of other users.Many research organizations undertake project of evaluating the proprietary software offered by various software agencies.

.39 - . Small programs are written using the model: It may take several iterations of the model to produce a working program. Bottom. Top-down implementation: Top down implementation begins with the user invoked module and works toward the modules that do not call any other modules. The main module constitutes the final test harness. testing and debugging alone may not be enough to produce reliable code. Instead. improper installation will prevent it.Up implementation: Implementation begins with modules that do not call any other modules and work toward the main program. we have to write programs in a manner that will help insure that errors are caught or avoided. sample runs of the program demonstrating the behavior for expected data values and boundary values are required. The implementation may proceed depth-first or breadth-first. The new system may be completely new. Typically. Successful Implementation may not guarantee improvement in the organization using the new system.Online Railway Reservation IMPLEMENTATION: Implementation includes all those activities that take place to convert from old system to the new one. Implementation uses the design document to produce code. As programs get more complicated. Demonstration that the program satisfies its specifications validates the code. Test harness are used to test individual modules.

skeleton version of a final program. In particular. Extensive use of procedures and parameter are the difference between stub programs and prototypes. but they allow limited use of the entire program. it can be compiled and run. it may work for a limited data set.Online Railway Reservation Stubs: Stub programming is the implementation analogue of top-down and stepwise refinement. It supports incremental program development by allowing for error and improvement. Often the high-level procedures are ready to call lower-level code. even if the more detailed subprograms haven't even been written.40 - . A stub program is a stripped-down. it does contain rough versions of all subprograms and their parameter lists. Its procedures and functions are unsophisticated versions of their final forms. However. A stub program helps demonstrates that a program's structure is plausible. Quick and dirty prototypes should be improved and rewritten. . Furthermore. It doesn't implement details of the algorithm or fulfill all the job requirements.

Online Railway Reservation Incremental program development: As program becomes more complex. The program implementation model becomes:  define types/compile/fix. Since the software was present on other systems and running properly. Our System was implemented at the client site in the following manner: 1) First of all we did a thorough system check on the client’s machine in terms of hardware and software to ensure that there was enough space to load and run our application with ease.  add first processing function/compile/test/fix. there wasn’t much trouble in obtaining and installation.  keep adding features/and compiling/and testing/ and fixing. 2) Then we installed SQL Server (frontend) and Developer 6i (back end) on the server. We add new features in preference to adding new functions. Incremental programming tries to isolate the effects of changes.41 - .  add second processing function/compile/test/fix.  add load and dump functions/compile/test. . changes have a tendency to introduce unexpected effects.  add features/compile/test/fix. and add new function rather than writing new programs.

42 - . This also maintains the change associated with changes in the software environment and customer requirements. The maintenance phase identifies and implements the change associated with the correction of errors that may arise after the customer has started using the developed software. The maintenance provided with our system after installation is as follows: . Service after sale is a must and users/ clients must be helped after the system is implemented.2 The maintenance starts after the final software product is delivered to the client. Maintenance phase is important. Once the system is a live one.Online Railway Reservation 3) Then came the process of Database Creation at the server site which involved the generation This procedure is also known as Database MAINTAINENCE Fig 6.

who are present in the pre defined list of Users stored in User Master table are granted permissions to enter the System. The kind of security measures used in our System are as follows: User Authentication Only the Valid users. The Project leader in turn would approach us to solve the various problems at technical level. The main Responsibility was on the shoulders of the Project Manager who would be informed in case any bug appeared in the system or any other kind of problem rose causing a disturbance in functioning.43 - . User Authorization A privilege is a right to execute a particular type of SQL statement or to access Another user’s object. Any users apart from Record of Users are denied access. Authorization is the process of granting access to users based on identity.Online Railway Reservation First of all there was a Classification of Maintenance Plan which meant that the people involved in providing the after support were divided. authentication and authorization provide the means to keep your application secure from intruders. Together. Some examples of privileges include the right to . (Eg The form isn’t accepting data in a proper format or it is not saving data in the database.) SECURITY FEATURES Authentication is the process of identifying users.

44 - . the privileges to create tablespaces and to delete the rows of any table in a database are system privileges. A privilege can be granted in 2 ways: a) Grant privileges to users explicitly. There are two distinct categories of privileges:  System privileges  Schema object privileges System Privileges A system privilege is the right to perform a particular action. There are over 60 distinct system privileges. A privilege should be granted only to a user who absolutely requires it to accomplish necessary task. b) Grant privileges to a role (a named group of privileges). Only users who have been granted . Because roles allow for easier and better management of privileges. and then grant the role to one or more users. Excessive granting can compromise security. For example. or to perform an action on any schema objects of a particular type. you should normally grant privileges to roles and not to specific users.Online Railway Reservation  Connect to the database (create a session)  Create a table  Select rows from another user’s table  Execute another user’s stored procedure Privileges are granted to users so that they can accomplish tasks required for their jobs. You can grant or revoke system privileges to users and roles.

45 - . Roles Oracle provides for easy and controlled privilege management through roles. Roles are designed to ease the administration of end-user system and schema object privileges. Roles are named groups of related privileges that we grant to users or other roles. roles are not meant to be used for .Online Railway Reservation a specific system privilege with the ADMIN OPTION  or users with the system privileges GRANT ANY PRIVILEGE or GRANT ANY OBJECT PRIVILEGE. However. A user can grant any object privilege on any schema object he or she Owns to any other user or role. Schema Object Privileges A schema object privilege is a privilege or right to perform a particular action on a specific schema object:  Table  View  Sequence  Procedure  Function  Package A user automatically has all object privileges for schema objects contained in his or her schema.

and UPDATE to perform operations on a table or view. you can grant the privileges for a group of related users to a role. a privileged user can insert a . The security domains of all users granted the group’s role automatically reflect the changes made to the role. Dynamic privilege management If the privileges of a group must change. With selective INSERT.Any user granted a can grant or revoke that role to or from other users or roles of the database. We grant these privileges only to users and roles that need to query or manipulate a table’s data. Data Manipulation Language Operations We can grant privileges to use the various DML statements like DELETE. only the privileges of the role need to be modified. and then only the role needs to be granted to each member of the group. These following properties of roles enable easier privilege management within a database: Reduced privilege administration Rather than granting the same set of privileges explicitly to several users. This option allows administrative powers Table Level Security: Schema object privileges for tables allow table security at the level of Data Manipulation Language and Data Definition Language operations.46 - . SELECT.Online Railway Reservation application developers. INSERT. because the privileges to access schema objects within stored programmatic constructs need to be granted directly.

L . . it is necessary for the team members involved in the project development and the customers to have a clear vision of the project goals and objectives.Online Railway Reservation row with values for the selected columns. All other columns receive NULL or the column’s default value. Establishing a project vision offers the following advantages  Clarification of Project goals  Prioritizing of processes  Integration with other products  Basis for future planning Two general techniques of scheduling are Program evalutation and review technique (PERT) charts and Gantt charts The Gantt chart: is perhaps the simplest form of formal project management.Gantt) is a project control technique that can be used for several purposes. The length of each bar is proportional to the length of the time planned for the activity. PROJECT PROCESS FLOW PERT / GANTT CHART In order to ensure the success of a project.47 - . This schedule will then be used later for monitoring the progress of the project. Once we have estimated of the effort and time requirement for the different phases a schedule for the project can be prepared. Gantt Chart (developed by Henry. The bars are drawn against a time line. including scheduling and resource planning.  It is a bar chart with each bar representing an activity.

and is heavily used. The main drawback of the Gantt chart is that it doesn’t depict the dependent relations among the different activities. Hence the effort of slippage in one activity on other activities or on the overall project schedule cannot be determined. It is sufficient for small & medium–sized projects. However. The Gantt chart for my project made in the year 2013 is as follows: - Stands for Planned Duration . it is conceptually simple & easy to understand.48 - .Online Railway Reservation  It is used almost exclusively for scheduling purposes and therefore controls only the time dimension of projects.

thus helping to focus on it.3 The PERT Chart: 1. It shows s 33 Days 22 Days clearly identifies the critical path of the project. 4. in particular. S 10 Days y 0 Day the interrelationships among the tasks in the project and. Some of the advantages of PERT are as follows: It enforces the manager to plan. Can be both a cost and time management system. enables the calculation of a critical path. l m PERT chart for my project is as follows:t a S a fig6. 5. Is designed to facilitate getting a project back on schedule. Is a scheduling device that shows graphically which tasks must be completed before others are begun? 3. 2.It t exposes all possible parallelism in the activities and thus helps in allocating P e S resources. By displaying various paths.Online Railway Reservation Stands for Actual Duration Fig 6. Shows the task dependencies directly.4 n t S 0 Day 25 Days r n uR t i dS n 65 Days y g 5 Days 48 Days E n d 5-Days 49 - M a i n t e n P r 5 Days o j e c t D e s i g n C l i e n t S Ii m t p e .

and its use doesn’t automatically guarantee the success of the project. Despite these advantages. Also by displaying the various task paths. The time & cost associated with each task along a path are calculated and the path that requires the greatest amount of elapsed time is the critical path. PERT is just a tool.n c e & Online Railway Reservation S u p PERT is organized by events and activities or tasks. pert enables the calculation of a critical path. Calculation of the critical path enables project managers to. The manager has much latitude in how PERT is used. monitors this series of task more closely than others and to shift resources to it if it begins to fall behind schedule. t One advantage of PERT is that it is scheduling device that also shows graphically which task must be completed before others are begun. Each path consists of combination of task. which must be completed. .50 - e T m e e s n t ti a n tg i o n . PERT has several p o advantages over bar chart and likely to be used with more rcomplex projects. PERT is highly developed methodology and full description of it is into computer programs and is available as computerized management system.

The reservation module can’t find the concession rate for each and every person travels. The source and destination is shown in the dialogue box. and the user is confirmed if it is empty. 4. schedule is displayed. The Map Approach: In this approach the map is provided with all the city names. The user has to click on this city names. If we want to reserve. running between two stations. four seats we can’t reserve two seats and if the class is full the remaining two seats as the waiting. The concession rates for the users who are the member. We have just assigned the coach no. The first city name is considered as the origin station and the second one is considered as the destination. But it’s not possible to create the whole system in such a short time. We have taken only the station names of the origin & destination. 3. The reservation of the via stations is not possible. The waiting list contains only the waiting of all the seats entered in the reservation form. for example.51 - . . 2. The index no’s in all the coaches are given. 5. According to the source and the destination the train.Online Railway Reservation Limitations of the project: I tried to make a general application on the railway reservation and information system and to add as much as features to make the application as real as the original reservation system. 1. There are some limitations in my application.

Online Railway Reservation SNAPSHOTS OF HOME PAGE FIG 9.5 .52 - .

53 - .6 .Online Railway Reservation SNAPSHOTS OF About Us FIG 9.

Online Railway Reservation SNAPSHOTS OF fast information of train FIG 9.54 - .7 .

55 - .8 SNAPSHOTS OF VIEW RESERVATION .Online Railway Reservation SNAPSHOTS OF contact us FIG 9.

Online Railway Reservation FIG 9.9 SNAPSHOTS OF ADMIN .56 - .

Online Railway Reservation FIG 9.10 .57 - .

Online Railway Reservation SNAPSHOTS OF Add new train FIG 9.58 - .11 .

12 .59 - .Online Railway Reservation SNAPSHOTS OF Add mid station FIG 9.

13 .Online Railway Reservation SNAPSHOTS OF Reservation FIG 9.60 - .

14 .61 - .Online Railway Reservation SNAPSHOTS OF Cancel reservation FIG 9.

15 .62 - .Online Railway Reservation SNAPSHOTS OF Check PNR FIG 9.

16 .Online Railway Reservation SNAPSHOTS OF Half root facility FIG 9.63 - .

The following features can be implemented to add more functionality to the application… To add the map facility so that the user need not remember the station names. Though I succeed in making the application of railway reservation system and information system. . the train name and the no’s.64 - . I faced many problems related to database and the network and I really solve this problem. One can see the information of the via stations. It still can be enhanced or the process of developing software can be make smoother. Adding the features for the via stations.Online Railway Reservation CONCLUSION: To work on any project work. is really very enjoying and memorable experience of engineering life.

www. www.trainenquiry. www.org iii.org ii.gov.in iv. Indian Railways timetable .indianrailways. www.irctc.co. www.com vi.southernrailway.wikipedia.in v.65 - .Online Railway Reservation References: i.

66 - .Online Railway Reservation .