CASE STUDY ON SOFTWARE ENGINEERING TOPIC:ONLINE RAILWAY RESERVATION SYSTEM

SUBMITTED BY: SHRUTI DHARMADHIKARI-06 TEJAL JADHAV-16

DEPARTMENT OF INFORMATION TECHNOLOGY V.G.VAZE COLLEGE OF SCIENCE MITHAGAR RD,MULUND(E) MUMBAI 400081 DATE OF SUBMISSION: 24TH FEB¶ 2010

WHAT IS SOFTWARE ENGINEERING?
Software engineering is a layered technology. The bedrock that supports software engineering is a quality focus. The foundation for software engineering is the process layer. Software engineering process is the glue that holds the technology layers together and enables rational and timely development of the computer software. Software engineering methods provide the technical ³how to¶s´ for building software. Methods encompass a broad array of tasks that include communication, requirements analysis, design , modeling, program construction, testing and support. Software engineering methods rely on a set of basic principles that govern each area of the technology and include modeling activities and other descriptive techniques.

INTRODUCTION TO THE RAILWAY RESERVATION SYSTEM:
The Indian Railways (IR) carries about 5.5 lakhs passengers in reserved accomodation every day.The Computerised Passenger Reservation System(PRS) facilates the booking and cancellation of tickets from any of the 4000 terminals(i.e. PRS bookin window all over the countries). These tickets can be booked or cancelled for journeys commencin in any part of India and ending in any other part, with travel time as long as 72hours and distance upto several thousand kilometers. The project of PRS was launched on 15th November 1985, over Northern Railway with the installation of Integrated Multiple Train Passenger Reservation System(IMPRESS), an online transaction processing system developed by Indian Railways in association with Computer Maintenance Corporation Ltd., at New Delhi. The objective was to provide reserved accomodations on any train from any counter,preparation of train charts and accounting of the money collected. The application was implemented in 1987 Mumbai,Chennai,Kolkata,Secunderabad subsequently.

RAILWAY RESERVATION METHODS:
‡ ONLINE BOOKING: With the help of this
people can book their tickets online through internet, sitting in their home by a single click of mouse. Using their credit cards people can easily get their tickets done within minutes. There are certain charges for online booking as well.

‡ COUNTER BOOKING: This is the oldest
method of booking the tickets. The reservation counters are there at railway department from where people can get the tickets to their respective destinations.

PROBLEM DEFINITION:
‡ Railway passengers frequently need to know about their ticket reservation status, ticket availability on a particular train or for a place,train arrival or departure details, special trains etc.. Customer information centers at the railway stations are unable to serve such queries at peak periods. ‡ The number of the reservation counters available to the passengers and customers are very less. ‡ On most of the reservation systems there are long queues, so it takes a long time for any individual to book the ticket. ‡ As now there are no call centers facilities available to solve the queries of the passengers.

ANALYSIS:
1. In Online Railway Reservation System,for booking the tickets online the intended user has to enter details like username and password. 2. Once the username and passwords are verified then he is allowed to enter the main system wherein he can select the destination, date and no of tickets. 3. For the purchase of the tickets he is asked for payment details (like credit card details etc). 4. The user is also provided with a provision of canceling the reservation where in the entire amount is credited back to his account. The analysis part also comprises of the UML diagrams that boost the program.

SPIRAL MODEL DIAGRAM:

THE SPIRAL MODEL:
‡ The spiral model, originally proposed by Boehm [BOE88], is an evolutionary software process model that couples the iterative nature of prototyping with the controlled and systematic aspects of the linear sequential model. ‡ It provides the potential for rapid development of incremental versions of the software. Using the spiral model, software is developed in a series of incremental releases. ‡ During early iterations, the incremental release might be a paper model or prototype. During later iterations,increasingly more complete versions of the engineered system are produced. ‡ A spiral model is divided into a number of framework activities, also called task regions.Typically, there are between three and six task regions.

Figure depicts a spiral model that contains six task regions: ‡ Customer communication²tasks required to establish effective communication between developer and customer. ‡ Planning²tasks required to define resources, timelines, and other project related information. ‡ Risk analysis²tasks required to assess both technical and management risks. ‡ Engineering²tasks required to build one or more representations of the application. ‡ Construction and release²tasks required to construct, test, install, and provide user support (e.g., documentation and training). ‡ Customer evaluation²tasks required to obtain customer feedback based on evaluation of the software representations created during the engineering stage and implemented during the installation stage.

USE OF SPIRAL MODEL
‡A spiral model is divided into a set of framework activities defined by software engineering terms. ‡As the evolutionary process begins, software team performs activities that are implied by a circuit around the spiral in a clockwise direction, beginning at the center. ‡The first circuit around the spiral might result in the development of a product specification; subsequent passes around the spiral might be used to develop a prototype and then progressively more sophisticated versions of software. ‡Unlike other process models that end when software is delivered, the spiral model can be adapted to apply throughout the life of the computer software.

‡Every new step is dependent on the previous step and moves spirally outwards. ‡At any point in the system we can return back to the previous step. ‡Because software evolves as the process progresses, both we and customers can better understand and react to the risks at evolutionary level. ‡In the case of errors we can easily trace the root cause of errors. ‡Spiral model is very realistic approach towards the process development.

CLASS DIAGRAM:
class a private: int c, n, a, i, s; char id[50]; char pasw[50]; char date[10]; char d1[15], d2[15]; public: getLogin(); train();

USE CASE DIAGRAM:
Enter user id and password

verify password and user id

system

Make a reservation

user
Verify payments

Update reservations

cancellation of reservation

administrator

SEQUENCE DIAGRAM:
:User
Log in Secure communication Enter date Request confirmation Enter desired destination Choose desired express Enter the no of tickets Request confirmation Confirm purchase {verify funds} Place order {execute order} {verify user} {verify date} :System

:Administrator

Verify credit cards detail (invalid) (success) Debit account Send confirmation Settle transaction

Send invalid notice

ACTIVITY DIAGRAM

Close transaction

Online reservation system

STATE TRANSITION DIAGRAM
Enter user id and password invalid Make reservation

Confirm reservation For cancellation

Cancellation of reservation

Make payments

exit

0 LEVEL DFD DIAGRAM:

User

Transaction Process

website

1 LEVEL DFD DIAGRAM:
Enter userid and password
verify userid and password Enter date Enter no of tickets

Online train reservation system
Check for the availability of date

Enter express name Make purchases

TESTING:
‡ Software testing is a critical element of software quality assurance and represents the ultimate review of specification, design, and code generation. ‡ The types of the testing are as follows: 1. Unit testing 2. System testing 3. Validation testing and etc etc. But however due to the time constraint we could not perform various types of testing. Hence we just applied alpha testing which is a part of validation test to our project.

CONCLUSIONS:
‡Our project is only the gist of the online reservation system. ‡Due to time constraints it was not possible to incorporate all the concepts related to the topic. ‡So the program created is just an instance of the Original Online Railway Reservation System.

REFERENCES:
‡Programming with C++ by Balagurusamy. ‡Software Engineering, A Practitioner¶s Approach, by Roger Pressman. ‡Object oriented modeling and design with UML by Michael Blaha and James Rumbaugh.