Software Engineering Project On “RAILWAY RESERVATION”
MAHARAJA AGRASEN INST. OF TECHNOLOGY
Developed by Name : Branch : Eroll no:
Gaurav Gaur C.S.E 0101482707
CONTENTS:
Problem Statement
Software Requirement Specification
Use case diagram
Use case description
Activity Diagrams
Sequence Diagrams
Class Diagram
Collaboration Diagram
E-R Diagram
PROBLEM STATEMENT FOR RAILWAY RESERVATION SYSTEM Software has to be developed for automating the manual reservation system of railway. The system should be standalone in nature. It should be designed to provide functionalities like booking of tickets in which a user should be able to applied for tickets of any train and of any class. A limitation is imposed when the number of tickets for which user apply is greater then available seats or no seats are available. If seats are not available then put user transaction in the waiting queue.If the tickets are available then it is issued to the user and it must be updated in the database conc concur urre rent ntly ly.. The The sy syst stem em gene genera rate tes s the the rece receip iptt for for the the same. The software takes the current system date and time as the date of issue and calculates the amount to be paid by the user. It also provide the functionality of cancellation of tickets .If the user wants to cancel the tickets, he/she must enter the details. The system check the records from the database if it is matched with the user entered details, then it cancels the tickets. The system also calculates the amount to be return to the user after deductions. The system must update the database for the same. After that system must check for waiting passenger for that train, if any then these tickets are issued to waiting passenger and update the database. The system displays the details of train of which user enter the name. The informa informatio tion n is saved saved and the corresp correspond onding ing updati updating ng take place in the database. In the enquiry, the system should be able to provide information like the availability of tickets of particular train, train schedule. The system should be able to reserve a ticket for a particular user if the tickets are not currently available. The corresponding print outs for each entry (issue/cancel) in the system should be generated.
There should be proper information if the waiting list ticket is confirmed, through mail or via sms. It should tell us as to which all stations it haults and current status of the train should be informed. Secur Securit ity y provi provisi sion ons s like like the the logi login n authe authent ntic icit ity y sh shoul ould d be provided. Each user should have a user id and a password. Record of the users of the system should be kept in the log file. Provision should be made for full backup of the system.
SOFTWARE REQUIREMENT SPECIFICATION 1.
INTRODUCTION
The docume document nt aims aims at defini defining ng the overal overalll softwa software re requir requireme ements nts for”RA for”RAILW ILWAY AY RESERVATION SYSTEM”. Efforts are been made to define the requirement exhaust exhaustive ively ly and accura accuratel tely. y. The final final produc productt will will be having having only only features/functionalities mentioned in this document and assumption for any additional functi functional onalit ity/f y/feat eature ure should should not make make by any of the parti parties es involv involved ed in developing/testing/implementing the products. In case it is required to have some additional features, a formal change request will need to be raised and subsequently a new release of this document and/or product will be produced. 1.1
PURPOSE
This This specif specificat ication ion documen documentt descri describes bes the capabi capabili litie tiess that that will will be provid provided ed by the software software application application “RAILWAY “RAILWAY RESERVATIO RESERVATION N SYSTEM”. SYSTEM”. It also states states the various required constraints by which the system will abide. The intended audience for this document is the development team, testing team and the users of the produced. 1.2
SCOPE
The software “RAILWAY RESERVATION SYSTEM” will be an application that will be used used for automa automatin ting g the railwa railway y reserv reservati ation on databa database. se. The applic applicati ation on will will manage the information about passengers passengers details details regarding regarding the reservation reservation of seat in different different class for different different trains, trains, cancellatio cancellation n of seats, seats, waiting waiting lists lists of passengers, passengers, train train schedule. schedule. The system also provides the facility to the passenger to check the time-table of train, reservation level of the seat, waiting waiting seat level. 1.3
DEFINI DEFINITION TIONS, S, ACRONY ACRONYMS MS AND ABBREV ABBREVATIO ATIONS NS
The following abbreviations have been used throughout: DBA – Database Administrator 1.4 1.4
REFERENCES
(a) IEEE recommended practice for software requirements specifications-IEEE standard 1830-1993.
1.5 OVERVIEW
The rest of this SRS document describes the various system requirements, interfaces and functionalities in details.
2.
OVER OVERAL ALL L DES DESCRIP CRIPTI TION ON
2.1
PROD PRODUCT UCT PERS PERSPE PECT CTIVE IVE
The applic applicati ation on will will be a window window based, based, self-c self-cont ontain ained ed and indepe independen ndentt softwa software re product.
2.1.1
SYSTEM SYSTEM INTERF INTERFACE ACES S
None 2.1.2
USER USER INTERF INTERFACES ACES
The application will have a user friendly and menu based interface. Following screens can be found: (a) A login screen for entering the user name, ID number and password for the operator operator will be provided. provided. Access to different different screens will be based upon the role of the user. (b) There will be a screen for capturing and displaying passenger details viz. name, age, sex, address. (c) There will be a screen for capturing and displaying info, regarding which seat is alotted to which passenger, date & time of issue and the automatically calculated fare of the tickets tickets according to different class of ticket is issued. issued. (d) There will be a screen for capturing and displaying details of all the tickets are available of the different classes of each train. 2.1.3
HARDWA HARDWARE RE INTERF INTERFACE ACES S
(a) Screen resolution of at least 800 X 600 is required for complete and proper viewing of screens. Higher resolution will not be any problem. printer: proper drivers must be installed installed and printer connected will be (b) Support for printer: requested for printing of monthly reports. (c) Standalone or network based not a concern as it will be possible to run the application of any of them.
SOFTWARE INTERFACES
(i)
Any window windowss based based operati operating ng syste system. m.
(ii) (ii) (iii) (iii) (iv) (iv)
2.1.4
MS EXCE EXCESS SS 2000 2000 as the DBMS DBMS for for data databa base se futu future re rele releas asee of the the application will aim at upgrading to ORACLE-8i to DBMS.L Crystal Crystal reports-8 reports-8 for generating generating and viewing viewing reports. reports. Visual Visual basic basic for coding coding develo developin ping g the softwar software. e. The final final applica applicatio tion n packages as an independent setup program that will be delivered to the client.
COMMUNICAT COMMUNICATION ION INTERFACES INTERFACES
None 2.1.5
MEMORY MEMORY CONSTR CONSTRAINT AINTS S
At least 64 MB of RAM and 2 GB on hard disk will be required for running the application. 2.1.6 2.1.6
OPER OPERAT ATIO IONS NS
This product release will not cover any automated housekeeping aspects of the data base. The DBA at the the client client site site will be respo responsi nsible ble for for manuall manually y deleting deleting old or nonnonrequired data. Data base backup and recovery will also be handled by the DBA.
2.1.7
SITE ADAPTATION ADAPTATION REQUIREMENT REQUIREMENTS S
The terminals at client site will have to support the hardware and software interfaces speci specifi fied ed ` in the the above above sect sectio ion. n. 2.2
PROD PRODUCT UCT PERS PERSPE PECT CTIVE IVE
The system will allow access to only authorized personnel. Depending on user’s role, he/she will be able to excess only specific modules of the system. A summary of the major functions hat the software will perform are: (i) (ii)
(iii)
2.3
A login facility for enabling only authorized person to the system. User (with role of DBA) will be able to add/modify/delete information about different passengers that can have name in reservation list, waiting list , train schedule. User (with role of a operator) will be able to access passengers details, fine details and view monthly reports.
USER USER CHAR CHARAC ACTE TERI RIST STIC ICS S (i) (ii)
Educational Educational Level: At least graduate should be comfortable comfortable with English English Language. Technical Expertise: Should be comfortable using general purpose applications on a computer.
2.4 2.4
CONS CONST TRAIN RAINTS TS (i)
(ii)
(iii)
2.5
Since the DBMS being used is MS EXCESS 2000, which is not a very powerful DBMS, it will not be able to store a very large number of records. Due to limited features of DBMS being used, performance tuning features will not be applied to the queries and thus the system will become slow with the increase in number of records being used. Due to limited features of DBMS being used, database auditing will not be provided.
APPORT APPORTION IONING ING OF REQUIRE REQUIREMEN MENTS TS
None
3.
SPEC SPECIF IFIC IC REQU REQUIR IREM EMEN ENTS TS
This section contains the software requirement to a level of detail sufficient to enable designers to design the system and testers to test the system. 3.1
EXTE EXTERN RNAL AL INTE INTERF RFACE ACES S
3.1.1
USER USER INTERF INTERFACES ACES
The following screens will be provided: (i)
LOGIN SCREEN
This will be the first screen to be displayed. It will allow user to access different screen based upon the user’s role. Various fields available on this screen will be : (a) User ID : Alphanumeric upto 10 characters (b) Password : Alphanumeric of length upto 10 characters. (c) Role : will have the the following values (data entry operator). (ii)
PASSEN PASSENGER GERS S INFORMA INFORMATIO TION N SCREEN SCREEN
This screen is accessible to the data entry operator, controller. It allows the user user with with the second second role role to add/mo add/modif dify/ y/del delete/ ete/rec record ordss of passen passenger gers, s, train. The operator can access and modify these details. The screen will display the list of passengers, their allotted seat no., train no., and address. (iii) (iii)
TRAINS TRAINS INFORM INFORMATIO ATION N SCREEN SCREEN
This This scre screen en is acces accessi sibl blee to the the data data entry entry oper operat ator or whic which h allo allows ws to add/modify/delete train details. This screen will display train no., seat no., number of seats in the train.
(iv) (iv)
ISSUE ISSUED D TICK TICKET ET SCRE SCREEN EN
This This screen screen is access accessibl iblee to the data entry entry operator. operator. The user user can add’/modify information. Screen displays train name, train number, seat no., passengers name and other details like issue date, time, number of seats of different class of different trains are available.
3.1.2
HARDWA HARDWARE RE INTE INTERFA RFACES CES (i) (ii) (iii)
3.1.3
SOFTWAR SOFTWARE E INTERF INTERFACE ACES S
(i) (ii) (ii) (iii) (iii) (iv) (iv)
3.1.4
Seen resolution of at least 800X600 is required for complete and proper viewing of screens. Higher resolution will not be any problem. Support for printer: Proper drivers must be installed and printer connected. Printer will be requested for printing of monthly reports. Standalone or network-based-not a concern as it will be possible to run the application of any of them.
Any window windowss based based operati operating ng syste system m MS EXCE EXCESS SS-2 -200 000 0 as the the DBMS DBMS for for data databa base se futur futuree rele releas asee of the the application will aim at upgrading to ORACLE-8i to DBMS. Crystal Crystal reports-8 reports-8 for generating generating and viewing viewing reports. reports. Visual Visual basic basic for coding coding develo developin ping g the softwar software. e. The final final applica applicatio tion n packages as an independent setup program that will be delivered to the client.
COMMUNICAT COMMUNICATION ION INTERCACES INTERCACES
None 3.2 3.2
SYST SYSTEM EM FEAT FEATUR URES ES
3.2.1
PASSENGERS INFORMATION MANAGEMENT DESCRIPTION
The system will maintain record of passengers name, age, address, allotted seat no., passenger status either in reservation list or in waiting list. The system will allow creation/modification/deletion of new or existing passengers . SEQUENCING INFORMATION
Passenger information for a particular passenger will have to be entered before any enquiry details, cancellation details can be entered for the student.
ERROR HANDLING/RESPONSE TO ABNORMAL SITUATIONS
If any of the above validations/sequencing flow does not hold true, appropriate error messages will be prompted to the user for doing the needful. VALIDITY CHECKS (i) (ii) (iii)
3.2.2
Only user with controller or data entry operator will be authorized to access the passengers information management module. Every passenger will have allotted a unique ticket number, seat number. Seat number and passenger name can not be blank.
TRAINS INFORMATION MANAGEMENT DESCRIPTION
The system will maintain information about the train name, train number. Number of seats in a, b, and general class category. The system will allow creation/modification/deletion of new or existing seats. VALIDITY CHECKS (i) (ii) (iii)
Only user with role of controller or data entry operator can access this module. Every seat has a unique number. Seat number, class and train name can not be blank.
SEQUENCE INFORMATION
Ticket information will be present in the system before it can be issued. ERROR HANDLING/RESPNOSE TO ABNORMAL SITUATIONS
If any of the above validations/sequencing flow does not hold true, appropriate error messages will be prompted to the user for doing the needful. 3.2.3
ISSUED TICKETS MANAGEMENT
The system will maintain information about seats that are issued. Corresponding passenger details and date of issue. VALIDITY CHECKS (i) (ii)
Only user will role of controller or data entry operator can access issued book’s information. Date of issue must be entered as a six digit number.
SEQUENCE INFORMATION
Passenger information and seat information must be entered before a seat can be allotted . The issue details must be present before the seat is cancelled.
ERROR HANDLING/RESPONSE TO ABNORMAL SITUATIONS
If any of the above validations/sequencing flow does not hold true, appropriate error messages will be prompted to the user for doing the needful. 3.2.4
CANCEL TICKET INFORMATION MANAGEMT DESCRIPTION
The system will calculate refundable amount to passenger after suitable deductions, based on the time with respect to validation of ticket & date of return. VALIDITY CHECKS (i) (ii) (iii)
Date of return should be a valid six digit number. It cannot be blank Only controller & data entry operator can access this module
3.3
OTHE OT HER R REQU REQUIRE IREME MENT NTS S
3.3.1
PERFORMANCE PERFORMANCE REQUIREMENT REQUIREMENTS S
None 3.4 3.4
DESI DESIGN GN CONS CONSTR TRAI AINT NTS S
None
SOFTWARE SYSTEM ATTRIBUTES 3.4.1 3.4.1
SECU SE CURI RITY TY
The application will be password protected. Users will have to enter correct username, password and role to access the application. 3.4.2
MAINTA MAINTAINA INABILI BILITY TY
The application will be designed in a maintainable manner. It will be easy to in corporate new requirements in the individual modules . 3.4.3
PORTAB PORTABILIT ILITY Y
The application will be easily portable on any WINDOW based system that has MS-ACCESS 2000 installed. 3.5
LOGICAL LOG ICAL DATABA DATABASE SE REQUIR REQUIREME EMENTS NTS
The following information will be placed in a database.
(i) (ii)
3.7 None
Passenger information information : name, age, sex, address. Seat information : train train number, seat number, number of seats in train.
Other Requirements
USE CASE DIAGRAM
Login
Enquiry User
Operator
Booking
Cancellation
USE CASE DESCRIPTION
1.
LOGIN
1.1 INTRODUCTION
This use case documents the procedure for logging into the Railway Reservation System based on user privileges.
Operator (Login, (Login, Enquiry, Enquiry, Booking, Cancellation). Cancellation).
User (Login, Enquiry, Booking, Cancellation).
1.2 ACTORS
Operator, User 1.3 PRE-CONDITIONA None 1.4 POST-CONDITION If use case is successful, the user is logged into the system, otherwise the system state is unchanged. 1.5 FLOW OF EVENTS 1.5.1 1.5.1
BASI BASIC C FLOW FLOW
This This use case case starts starts when actor actor wishes wishes to log into the Railway Railway Reserv Reservati ation on System. 1. The system requests that the actor enters enters his/her user_id and password. 2. The actor actor enters enters user_id user_id and password. password. 3. The The syst system em vali valida date tess the the user user_i _id d and and pass passwor word d and and chec checks ks for for his/ his/he her r privileges. 4. If the actor is “operator” “operator”,, he/she will be logged into into the system and presented presented with operator’s menu. 5. Otherwise, Otherwise, if the actor actor is “User”, “User”, he/she will will be logged into the system system and presented with user’s menu. 6. The use case case ends. ends.
1.5.2
ALTERN ALTERNATE ATE FLOW FLOW
1.5.2.1 INVALID NAME/PASSWORD
If the syste system m receiv receives es an invali invalid d user_i user_id d or passwo password, rd, an error error messag messagee is displayed and the use case ends. 1.6 SPECIAL REQUIREMENTS
None 1.7 RELATED USE CASES
None
2.
ENQUIRY
2.1 INTRODUCTION INTRODUCTION
This use case documents the procedure of ENQUIRY for following accounts : 1. Enquiry Enquiry regarding regarding trains trains 2. Enquiry Enquiry for reservatio reservation n status. status. 2.2 ACTORS
Operator, User. 2.3 PRE-CONDITION
Operator must be logged in to the system 2.4 POST-CONDITION
If use case is successful, the user can get information regarding trains,reservation Otherwise, the system state is unchanged. 2.5 FLOW OF EVENTS
2.5.1 2.5.1
BASI BASIC C FLOW FLOW
The use case starts when a system can get the enquiry from the user. 1. The system system checks checks the the type type of enquiry enquiry 2. The system system submits the user query to to controller of the system . 3. The controller controller search the information information from from the the database. 4. The resultant information is is presented infront of the user. 5. The use case case ends. ends.
2.5.2
ALTERN ALTERNATE ATE FLOWS FLOWS
2.5.2.1 INVALID ENQUIRY
If the user enter the wrong details ,then the system shows message according to the query and the use case ends.
2.6 SPECIAL REQUIREMENT
None 2.7 RELATED USE CASES
None.
3.
BOOKING
3.1 INTRODUCTION INTRODUCTION
This use case documents the procedure of booking of tickets and update the database after each transaction . 3.2 ACTOR
Operator, User 3.3 PRE-CONDITIO PRE-CONDITION N
Operator/User must be logged into the system
3.4 POST-CONDITIO POST-CONDITION N
If the use case is successful, the ticket is issued to the passenger , otherwise the system state is unchanged. 3.5 FLOW OF EVENTS EVENTS 3.5.1 3.5.1
BASI BASIC C FLOW FLOW
1.This use case starts when a user enter train name. 2.The system read the information and check the availability of the seats. 3.If the seats are available ,the system execute the transaction . 4.The resultant information information is updated in the data base. 5. The issue details are sent to the printer to generate the tickets. 6. The use case case ends. ends.
3.5.2
ALTERN ALTERNATE ATE FLOW FLOW
3.5.2.1 NON -AVAILABILTY
If the seats are not available the system sends the the message accordingly ,and puts the user transactio transaction n in waiting waiting state ,and according according to the priority priority the seats are allotted to the the users . The use case end here. 4. CANCELLATION
4.1 INTRODUCTION INTRODUCTION
This use case documents the procedure for canceling of issued tickets according to the customer transaction. 4.2 ACTORS
Operator, User.
4.3 PRE-CONDITION PRE-CONDITION
Operator/ user must be logged into the system. 4.4 POST-CONDITION POST-CONDITION
If the use case is successf successful ul , the request request or recommen recommendat dation ion are fulfil fulfilled led and database is updated accordingly. 4.5 FLOW OF EVENTS EVENTS 4.5.1 4.5.1
BASI BASIC C FLOW FLOW
This use case starts when a enters the details regarding canceling of tickets. 1. 2. 3. 4.
The system check the details details regarding the query of the customer. The system updates the train reservation status. The system refunds the amount to the user after suitable suitable deductions. The system checks list of waiting passengers and allot the vacant seats.
5. The use case case ends. ends.
4.6 SPECIAL REQUIRMENTS
None
4.7 RELATED USE CASES
None
ACTIVITY DIAGRAM OF LOG IN
Enter User Name & Password
Validation If wrong
If correct Pass word word Access User User Account
Enter your correct Password
ACTIVITY DIAGRAM OF BOOKING
request for a booking
check whether a seat is available
No
Yes
reserve the seat
confirm reservation
add the name in waiting list
ACTIVITY DIAGRAM OF CANCELLATION
get the details detai ls for cancellation
update train reservation status
refund refund the amount to the passenger passe nger after suitable deductions
SEQUENCE DIAGRAM : BOOKING
Operato ratorr / User ser
Boo Bookin king Form
Contro trolle ller
Train_ in_detai tail
Sor Sorry mess messa age box
Enter1: Train name
2: name Submit 3: Get Train Detail
4: Check availability of seats 5: Seat not available 6: Add Record
Update7:Details Update Details 8: 9: Booking Successfully
Passenger detail
Passenger Train Detail
SEQUENCE DIAGRAM : CANCELLATION
Operator / User
Cancellation Form
Contr ontro olle ller
Train Table able
1: Enter Train Details
2: Submit Details 3: Check Check Details Cancel4:seat Update table Update5:table
6: Cancellation successful
Passe Passeng nge er Train ain Detail Table
SEQUENCE DIAGRAM : ENQUIRY
User / Operator
Enquiry Form
Contro ntroll lle er
Train_ ain_ma maste ster r
1: Enter Details Submit2:Details Search 3:
4:Train Show Information
SEQUENCE DIAGRAM : LOGIN
Operator / User
Login Form
Contr ontro olle ller
Login ogin_D _Det eta ail
1: id,password 2: details submit
3: Get Login details
4: 5: Error or Success
Check Login
CLASS DIAGRAM : LOGOCAL VIEW
Login_Detail
Train_Master
Username Password
Train id Train Name Capacity(I/II) Source Destination Time Days
Add() Delete() Update() Train_Details Date Time Train Name Available seats(I/II) Add() Delete() Update() GetDetails()
Passenger_Details Passenger Name Address Age Phone no. Train Train Name
Add() Delete() Update() GetDetails() Passenger_Train_Detail Train Name Seat no. Class(I/II) date Time Add() Delete() Update() GetDetails()
CLASS DIAGRAM : USE CASE VIEW / LOGIN DETAIL
Login_Detail
Train_Master
M
M
M
Train_Details M
M
Passenger_Train_Det... M M
Passenger_Details M
M
COLLABORATION DIAGRAM : LOGIN 1: Operator / User
Login Form
5: 4: 2: 3: Cont roller
Login_Det ail
COLLABORATION DIAGRAM : ENQUIRY 1: Operator /user
Enquiry form
2:
4: 3:
Controlle -r
Train Master
COLLABORATION DIAGRAM: BOOKING
4:
1: Operator /User
2: Booking form
3: Controll-er
Train Detail
7
9:
8 5:
Sorry Message box box
Passenger Detail
6:
Passenger Train Detail
7: 8: 7
COMPONENT VIEW : MAIN
boundaries
entities
Control
COMPONENT VIEW : MAIN
boundaries
entities
Control
COMPONENT DIAGRAM : CONTROL/MAIN
Train_ master
Passenge r_Details
Train_ Details
Passenger_T rain_Details
COMPONENT DIAGRAM : ENTITIES / MAIN Login_details
E –R DIAGRAM