0% found this document useful (0 votes)
114 views35 pages

6475 - Railway Reservation System

The document is a project report on a Railway Reservation System created by a student named Master Preanko Adhikary for their class XII computer science project. The report includes an introduction outlining the purpose of the railway reservation system, objectives of the project, proposed system details, phases of the system development life cycle used, and other typical project report sections like acknowledgements, table of contents, and bibliography. The report provides documentation for a railway reservation system project created by a student to apply their programming skills and knowledge.

Uploaded by

Preanko Adhikary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
114 views35 pages

6475 - Railway Reservation System

The document is a project report on a Railway Reservation System created by a student named Master Preanko Adhikary for their class XII computer science project. The report includes an introduction outlining the purpose of the railway reservation system, objectives of the project, proposed system details, phases of the system development life cycle used, and other typical project report sections like acknowledgements, table of contents, and bibliography. The report provides documentation for a railway reservation system project created by a student to apply their programming skills and knowledge.

Uploaded by

Preanko Adhikary
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 35

BSF SR.SEC.

RESIDENTIAL SCHOOL

ACADEMIC YEAR :- 2022-2023

PROJECT REPORT
ON
RAILWAY RESERVATION SYSTEM

NAME :- MASTER PREANKO ADHIKARY


ROLL NO :- 12340
CLASS :- XII
SECTION :- B1
SUBJECT :- COMPUTER SCIENCE
SUB CODE :- 083
SUBJECT TEACHER :- MRS.SOMA CHAUDHARY
PGT COMPUTER SCIENCE
BSF SR.SEC.RESIDENTIAL SCHOOL
KADAMTALA,SILIGURI-734011
BSF SR.SEC.RESIDENTIAL SCHOOL
KADAMTALA,SILIGURI-734011,
DIST:-DARJEELING,WESTBENGAL.

CERTIFICATE
This is to certify that Master Preanko Adhikary of Class
XII,B1 has prepared the report on the Project entitled
“Railway Reservation System”.
The report is the result of his efforts & endeavours
which has been prepared under the guidance of
Mrs.Soma Chaudhary(PGT Computer Science),during the
academic year 2022-2023 as per the guidelines laid
down by the Central Board of Secondary Education.
The report is found worthy of acceptance as final
project for the subject Computer Science(081) of Class
XII.

External Examiner Internal Examiner


TABLE OF CONTENTS [ T O C ]

SERIAL NO DESCRIPTION PAGE NO

01 ACKNOWLEDGEMENT 04

02 INTRODUCTION 05

03 OBJECTIVES OF THE PROJECT 05

04 PROPOSED SYSTEM 06

05 SYSTEM DEVELOPMENT LIFE CYCLE (SDLC) 07

06 PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE 08

07 FLOW CHART 15

08 SOURCE CODE 16

09 OUTPUT 19

10 TESTING 20

11 HARDWARE AND SOFTWARE REQUIREMENTS 23

12 BIBLIOGRAPHY 24
ACKNOWLEDGEMENT
Apart from the efforts of me, the success of any project depends largely on
the encouragement and guidelines of many others. I take this opportunity to
express my gratitude to the people who have been instrumental in the successful
completion of this project.
I express deep sense of gratitude to almighty God for giving me strength
for the successful completion of the project.
I express my heartfelt gratitude to my parents for constant encouragement
while carrying out this project.
I gratefully acknowledge the contribution of the individuals who
contributed in bringing this project up to this level, who continues to look after
me despite my flaws,
I express my deep sense of gratitude to the luminary The Principal, BSF
SR.SEC.RESIDENTIAL SCHOOL who has been continuously motivating and
extending their helping hand to us.
I express my sincere thanks to the academician The vice Principal, BSF
SR.SEC.RESIDENTIAL SCHOOL, for constant encouragement and the guidance
provided during this project
I am overwhelmed to express my thanks to The Administrative Officer for
providing me an infrastructure and moral support while carrying out this project
in the school.
My sincere thanks to MRS.SOMA CHAUDHARY, Master In-charge, A guide,
Mentor all the above a friend, who critically reviewed my project and helped in
solving each and every problem, occurred during implementation of the project.
The guidance and support received from all the members who contributed
and who are contributing to this project, was vital for the success of the project. I
am grateful for their constant support and help.
RAILWAY RESERVATION SYSTEM

INTRODUCTION

The railway reservation system system is basically a database based

project done with help of python language. This project is very use full for the

people to book or cancel train tickets by sitting at home with one cell phone

in their hand. This project can be modified for various reservations.

OBJECTIVES OF THE PROJECT

The objective of this project is to let the students apply the

programming knowledge into a real- world situation/problem and exposed the

students how programming skills helps in developing a good software.

• Write programs utilizing modern software tools.

• Apply object oriented programming principles effectively when

developing small to medium sized projects.

• Write effective procedural code to solve small to medium sized

problems.

• Students will demonstrate a breadth of knowledge in computer

science, as exemplified in the areas of systems, theory and software

development.

• Students will demonstrate ability to conduct a research or applied

Computer Science project, requiring writing and presentation skills

which exemplify scholarly style in computer science.


PROPOSED SYSTEM

Today one cannot afford to rely on the fallible human beings of be really

wants to stand against today’s merciless competition where not to wise

saying “to err is human” no longer valid, it’s outdated to rationalize your

mistake. So, to keep pace with time, to bring about the best result without

malfunctioning and 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. Software has been an

ascent in atomization various organisations. Many software products working

are now in markets, which have helped in making the organizations work

easier and efficiently. Data management initially had to maintain a lot of

ledgers and a lot of paper work has to be done but now software product on

this organization has made their work faster and easier. Now only this

software has to be loaded on the computer and work can be done.

This prevents a lot of time and money. The work becomes fully

automated and any information regarding the organization can be obtained

by clicking the button. Moreover, now it’s an age of computers of and

automating such an organization gives the better look.


SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)

The systems development life cycle is a project management technique


that divides complex projects into smaller, more easily managed segments or
phases. Segmenting projects allows managers to verify the successful
completion of project phases before allocating resources to subsequent
phases.
Software development projects typically include initiation, planning,
design, development, testing, implementation, and maintenance phases.
However, the phases may be divided differently depending on the
organization involved.
For example, initial project activities might be designated as request,
requirements-definition, and planning phases, or initiation, concept-
development, and planning phases. End users of the system under
development should be involved in reviewing the output of each phase to
ensure the system is being built to deliver the needed functionality.
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE

INITIATION PHASE

The Initiation Phase begins when a business sponsor identifies a need or an


opportunity.

The purpose of the Initiation Phase is to:

• Identify and validate an opportunity to improve business


accomplishments of the organization or a deficiency related to a
business need.
• Identify significant assumptions and constraints on solutions to that
need.
• Recommend the exploration of alternative concepts and methods to
satisfy the need including questioning the need for technology, i.e., will
a change in the business process offer a solution?
• Assure executive business and executive technical sponsorship. The
Sponsor designates a Project Manager and the business need is
documented in a Concept Proposal. The Concept Proposal includes
information about the business process and the relationship to the
Agency/Organization.
• Infrastructure and the Strategic Plan. A successful Concept Proposal
results in a Project Management Charter which outlines the authority of
the project manager to begin the project.

Careful oversight is required to ensure projects support strategic


business objectives and resources are effectively implemented into an
organization's enterprise architecture. The initiation phase begins when an
opportunity to add, improve, or correct a system is identified and formally
requested through the presentation of a business case. The business case
should, at a minimum, describe a proposal’s purpose, identify expected
benefits, and explain how the proposed system supports one of the
organization’s business strategies. The business case should also identify
alternative solutions and detail as many informational, functional, and
network requirements as possible.

SYSTEM CONCEPT DEVELOPMENT PHASE

The System Concept Development Phase begins after a business need or


opportunity is validated by the Agency/Organization Program Leadership and
the Agency/Organization CIO.

The purpose of the System Concept Development Phase is to:

• Determine the feasibility and appropriateness of the alternatives.


• Identify system interfaces.
• Identify basic functional and data requirements to satisfy the business
need.
• Establish system boundaries; identify goals, objectives, critical
success factors, and performance measures.
• Evaluate costs and benefits of alternative approaches to satisfy the
basic functional requirements
• Assess project risks
• Identify and initiate risk mitigation actions, andDevelop high-level
technical architecture, process models, data models, and a concept of
operations. This phase explores potential technical solutions within the
context of the business need.
• It may include several trade-off decisions such as the decision to use
COTS software products as opposed to developing custom software or
reusing software components, or the decision to use an incremental
delivery versus a complete, onetime deployment.
• Construction of executable prototypes is encouraged to evaluate
technology to support the business process. The System Boundary
Document serves as an important reference document to support the
Information Technology Project Request (ITPR) process.
• The ITPR must be approved by the State CIO before the project can
move forward.

PICTORIAL REPRESENTATION OF SDLC:

PLANNING PHASE

The planning phase is the most critical step in completing


development, acquisition, and maintenance projects. Careful planning,
particularly in the early stages of a project, is necessary to coordinate
activities and manage project risks effectively. The depth and formality of
project plans should be commensurate with the characteristics and risks of a
given project. Project plans refine the information gathered during the
initiation phase by further identifying the specific activities and resources
required to complete a project.
A critical part of a project manager’ sjob is to coordinate discussions
between user, audit, security, design, development, and network personnel
to identify and document as many functional, security, and network
requirements as possible. During this phase, a plan is developed that
documents the approach to be used and includes a discussion of methods,
tools, tasks, resources, project schedules, and user input. Personnel
assignments, costs, project schedule, and target dates are established.
A Project Management Plan is created with components related to
acquisition planning, configuration management planning, quality assurance
planning, concept of operations, system security, verification and validation,
and systems engineering management planning.

REQUIREMENTS ANALYSIS 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 alevel 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 are
captured in the Test and Evaluation MasterPlan.

The purposes of this phase are to:

• Further define and refine the functional and data requirements and
document them in the Requirements Document,
• Complete business process reengineering of the functions to be
supported (i.e., verify what information drives the business process,
what information is generated, who generates it, where does the
information go, and who processes it),
• Develop detailed data and process models (system inputs, outputs, and
the process.
• Develop the test and evaluation requirements that will be used to
determine acceptable system performance.

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 scriptprograms during
the development phase. Program designs are c onstructed in various ways.
Using a top-down approach, designers first identify and link majorprogram
components and interfaces, then expand design layouts as they identify and
link smaller subsystems and connections. Using a bottom-up approach,
designers first identify and link minor program components and interfaces,
then expand design layouts as they identify and link larger systems and
connections. Contemporary design techniques often use prototyping tools
that build mock-up designs of items such as application screens, database
layouts, and system architectures. End users, designers, developers,
database managers, and network administrators should review and refine the
prototyped designs in an iterative process until they agree on an acceptable
design. Audit, security, and quality assurance personnel should be involved
in the review and approval process. 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. These include:

• Identifying potential risks and defining mitigating design features.


• Performing a security risk assessment.
• Developing a conversion plan to migrate current data to the new
system.
• Determining the operating environment.
• Defining major subsystems and their inputs and outputs.
• Allocating processes to resources.
• Preparing detailed logic specifications for each software module. The
result is a draft System Design Document which captures the
preliminary design for the system.
• Everything requiring user input or approval is documented and
reviewed by the user. Once these documents have been approved by
the Agency CIO and Business Sponsor, the final System Design
Document is created to serve as the Critical/Detailed Design for the
system.
• This document receives a rigorous review byAgency technical and
functional representatives to ensure that it satisfies the business
requirements. Concurrent with the development of the system design,
the Agency Project Manager begins development of the
Implementation Plan, Operations and Maintenance Manual, and the
Training Plan.

DEVELOPMENT PHASE

The development phase involves converting design specifications


into executable programs. Effective development standards include
requirements that programmers and other project participants discuss
design specifications before programming begins. The procedures help
ensure programmers clearly understand program designs and functional
requirements. Programmers use various techniques to develop computer
programs. The large transaction oriented programs associated with
financial institutions have traditionally been developed using procedural
programming techniques. Procedural programming involves the line-by-
line scripting of logical instructions that are combined to form a program.
Effective completion of the previous stages is a key factor in the success
of the Development phase. The Development phase consists of:

• Translating the detailed requirements and design into system


components.
• Testing individual elements (units) for usability.
• Preparing for integration and testing of the IT system.

INTEGRATION AND TEST PHASE

• Subsystem integration, system, security, and user acceptance testing


is conducted during the integration and test phase. The user, with
those responsible for quality assurance, validates that the functional
requirements, as defined in the functional requirements document, are
satisfied by the developed or modified system. OIT Security staff
assess the system security and issue a security certification and
accreditation prior to installation/implementation.

Multiple levels of testing are performed, including:

• Testing at the development facility by the contractor and possibly


supported by end users
• Testing as a deployed system with end users working together with
contract personnel
• Operational testing by the end user alone performing all functions.
Requirements are traced throughout testing,a final Independent
Verification & Validation evaluation is performed and all documentation
is reviewedand accepted prior to acceptance of the system.

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 userrequirements.
OPERATIONS AND MAINTENANCE PHASE

The system operation is ongoing. The system is monitored for


continued performance in accordance with user requirements and needed
system modifications are incorporated. Operations continue as long as the
system can be effectively adapted to respond to the organization’s needs.
When modifications or changes are identified, the system may reenter the
planning phase.
The purpose of this phase is to:
• Operate, maintain, and enhance the system.
• Certify that the system can process sensitive information.
• Conduct periodic assessments of the system to ensure the functional
requirements continue to be satisfied.
• Determine when the system needs to be modernized, replaced, or
retired.
FLOW CHART

4. THEN THE DATA WILL 1. COMMANDED


BE SEND TO THE PROGRAM WILL BE
PYTHON IDLE. EXECUTED IN PYTHON IDLE
.

3. THE REQUIRED 2. AS THE PYTHON AND


DATA WILL BE MYSQL ARE CONNECTED
THE COMMAND WILL BE
TAKEN FROM THE
SENT TO MYSQL.
DATABASE.
SOURCE CODE

#CREATION OF DATABASE RAILWAY:-

def Create_Database_Railway():
import mysql.connector
mycon=mysql.connector.connect(host='localhost',user='root',p
asswd='@userIND21#')
cursor=mycon.cursor()
mycon.autocommit=True
s1="create database railway"
cursor.execute(s1)
Create_Database_Railway()

#CREATION OF TABLES IN DATABASE RAILWAY :-

TABLE :- RAILWAY

def table_creation_railway():
import mysql.connector
mycon=mysql.connector.connect(host='localhost',user='root',
passwd='@userIND21#',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
s1="create table railway(name varchar(100),phno
varchar(15) primary key,age int(4),gender
varchar(50),from_f varchar(100),to_t varchar(100),date_d
varchar(20))"
cursor.execute(s1)
table_creation_railway()
TABLE :- USER_ACCOUNTS

def table_creation_user_accounts():
import mysql.connector
mycon=mysql.connector.connect(host='localhost',user='root',pa
sswd='@userIND21#',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
s1="create table user_accounts(fname varchar(100),lname
varchar(100),user_name varchar(100) ,
password varchar(100) primary key, phno
varchar(15),gender varchar(50),dob varchar(50),age
varchar(4))"
cursor.execute(s1)
table_creation_user_accounts()

#INTERFACING PYTHON WITH MYSQL

def connection():
import mysql.connector
mycon=mysql.connector.connect(host='localhost',user=
'root',passwd='@userIND21#',database='railway')
if mycon.is_connected():
print("successfully connected")
connection()
#MAIN PROGRAM

def menu():
print('PRESS 1 FOR YES')
print('PRESS 2 FOR NO')
ch=int(input('DO YOU WANT TO CONTINUE :'))
while ch==1:
print('WELECOME TO INDIAN RAILWAY RESERVATION
SYSTEM')
print('PRESS 1 TO SIGN UP')
print('PRESS 2 TO SIGN IN')
print('PRESS 3 TO DELETE ACCOUNT')
print('PRESS 4 TO EXIT')
choice=int(input('ENTER YOUR CHOICE:'))

if choice==1:
a=Sign_Up()
if a==True:
main()
else:
continue
if choice==2:
a=Sign_In()
if a==True:
print('WELCOME')
main()
else:
continue

elif choice==3:
c=Delete_Account()
if c==True:
print('ACCOUNT DELETED')
continue
else:
print('YOUR PASSWORD OR USER_NAME IS
INCORRECT')
continue

elif choice==4:
print('THANK YOU')
break
else:
print('ERROR 404:PAGE NOT FOUND')
break
print("Thank You for Visiting Indian Railway Reservation
System")

def main():
print('1.yes')
print('2.no')
c=int(input("do you want to continue or not:"))
while (c==1):
print(' 1.TICKET BOOKING',"\n", '2.TICKET
CHECKING',"\n",'3.TICKET CANCELLING',"\n",'4.ACCOUNT
DETAILS',"\n",'5.LOG OUT')
ch=int(input('enter ur choice:'))
if ch==1:
ticket_booking()
elif ch==2:
ticket_checking()
elif ch==3:
ticket_cancelling()
elif ch==4:
Account_Details()
elif ch==5:
print('THANK YOU')
break
else:
print('WRONG INPUT')
else:
print('ERROR 404: ERROR PAGE NOT FOUND')

def ticket_booking():
import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',pa
sswd='@userIND21#',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
nm=input('enter your name:')
phno=input('enter your phone number:')
age=int(input('enter your age:'))
print(' M=MALE','\n','F=FEMALE','\n','N=NOT TO MENTION')
gender=input('enter your gender:')
Gender=gender.upper()
fr=input('Enter Your Starting Point:')
to=input('enter your Destination:')
date1=input('enter date(dd):')
date2=input('enter month(mm):')
date3=input('enter year(yyyy):')
date=date1+"/"+date2+"/"+date3
a={'M':'MALE','F':'FEMALE','N':'NOT TO MENTION'}
v=a[Gender]
s1="insert into railway
values('{}',{},{},'{}','{}','{}','{}')".format(nm,phno,age,v,fr,to,date)
cursor.execute(s1)
print('BOOKED SUCCESSFULLY')

def ticket_checking():
import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',pa
sswd='@userIND21#',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
print('1.yes')
print('2.no')
ch=int(input("Do you want to continue or not:"))
if ch==1:
phno=int(input('enter your phnone number:'))
try:
s1="select * from railway where phno=phno"
cursor.execute(s1)
data=cursor.fetchall()[0]
Data=list(data)
a=['NAME','PHONE NUMBER','AGE','GENDER','STARTING
POINT','DESTINATION','DATE',]
print(a[0],'::::',Data[0].upper())
print(a[1],'::::',Data[1])
print(a[2],'::::',Data[2])
print(a[3],'::::',Data[3].upper())
print(a[4],'::::',Data[4].upper())
print(a[5],'::::',Data[5].upper())
print(a[6],'::::',Data[6])
except:
print('TICKET DOES NOT EXISTS')
elif ch==2:
print('THANK YOU')
else:
print('ERROR 404:PAGE NOT FOUND')

def ticket_cancelling():
import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',pa
sswd='@userIND21#',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
print('1.yes')
print('2.no')
ch=int(input("do you want to continue or not:"))
if ch==1:
phno=input('enter your phone number:')
s1="delete from railway where phno=phno"
cursor.execute(s1)
print('TICKET CANCELLED')
elif ch==2:
print('THANK YOU')
else:
print('ERROR 404:PAGE NOT FOUND')

def Account_Details():
import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',pa
sswd='@userIND21#',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
a=input('USER NAME:')
b=input('PASS WORD:')
try:
s1="select user_name from user_accounts where
password='{}'".format(b)
c1="select fname,lname from user_accounts where
password='{}'".format(b)
cursor.execute(c1)
data1=cursor.fetchall()[0]
data1=list(data1)
data1=data1[0]+' '+data1[1]
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)
if data[0]==a:
x=['FIRST NAME','LAST NAME','PHONE
NUMBER','GENDER','DATE OF BIRTH','AGE']
s1="select fname,lname,phno,gender,dob,age from
user_accounts where password='{}'".format(b)
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)
print(x[0],':::',data[0])
print(x[1],':::',data[1])
print(x[2],':::',data[2])
print(x[3],':::',data[3])
print(x[4],':::',data[4])
print(x[5],':::',data[5])
else:
return False
except:
print('ACCOUNT DOES NOT EXIST')

def Sign_Up():
import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',pa
sswd='@userIND21#',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
f=input("FIRST NAME:")
l=input("LAST NAME:")
n=f+" "+l
a=input('USER NAME:')
b=input('PASS WORD:')
c=input('RE-ENTER YOUR PASS WORD:')
ph=input("PHONE NUMBER:")
print(' M=MALE','\n','F=FEMALE','\n','N=NOT TO MENTION')
gen=input('ENTER YOUR GENDER:')
print("ENTER YOUR DATE OF BIRTH")
d=input("DD:")
o=input("MM:")
p=input("YYYY:")
dob=d+'/'+o+'/'+p
age=input('YOUR AGE:')
v={'M':'MALE','F':'FEMALE','N':'NOT TO MENTION'}
u=v[gen]
if b==c:
try:
c1="insert into user_accounts
value('{}','{}','{}','{}','{}','{}','{}','{}')".format(f,l,a,b,ph,u,dob,age)
cursor.execute(c1)
mycon.commit()
print('WELCOME',f,' ',l)
return True
except:
print("Password Already Exists")
else:
print('BOTH PASSWORDS ARE NOT MATCHING')

def Sign_In():
import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',pa
sswd='@userIND21#',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
a=input('USER NAME:')
b=input('PASS WORD:')
try:
s1="select user_name from user_accounts where
password='{}'".format(b)
c1="select fname,lname from user_accounts where
password='{}'".format(b)
cursor.execute(c1)
data1=cursor.fetchall()[0]
data1=list(data1)
data1=data1[0]+' '+data1[1]
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)[0]
if data==a:
print(' HII ',data1)
return True
else:
return False
except:
print('ACCOUNT DOES NOT EXIST')

def Delete_Account():
import mysql.connector

mycon=mysql.connector.connect(host='localhost',user='root',pa
sswd='@userIND21#',database='railway')
cursor=mycon.cursor()
mycon.autocommit=True
a=input('USER NAME:')
b=input('PASS WORD:')
try:
s1="select user_name from user_accounts where
password='{}'".format(b)
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)
if data[0]==a:
print('IS THIS YOUR ACCOUNT')
s1="select user_name from user_accounts where
password='{}'".format(b)
c1="select fname,lname from user_accounts where
password='{}'".format(b)
cursor.execute(c1)
data1=cursor.fetchall()[0]
data1=list(data1)
data1=data1[0]+' '+data1[1]
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)
if data[0]==a:
x=['FIRST NAME','LAST NAME','PHONE
NUMBER','GENDER','DATE OF BIRTH','AGE']
s1="select fname,lname,phno,gender,dob,age from
user_accounts where password='{}'".format(b)
cursor.execute(s1)
data=cursor.fetchall()[0]
data=list(data)
print(x[0],':::',data[0])
print(x[1],':::',data[1])
print(x[2],':::',data[2])
print(x[3],':::',data[3])
print(x[4],':::',data[4])
print(x[5],':::',data[5])
print('1.yes')
print('2.no')
vi=int(input('enter your choice:'))
if vi==1:
b1="delete from user_accounts where password =
'{}'".format(b)
cursor.execute(b1)
return True
elif vi==2:
print('SORRY,RETRY')
else:
print('ERROR 404:PAGE NOT FOUND')
else:
return False
except:
print('ACCOUNT DOES NOT EXIST')

menu()
OUTPUTS

CHOICE WINDOW

IF CHOICE IS 1(SIGN UP WINDOW)


IF CHOICE IS 2 (SIGN IN WINDOW)

IF CHOICE IS 3(DELETE ACCOUNT)


CHOICES AFTER LOG IN

IF CHOICE IS TICKET BOOKING

IF CHOICE IS TICKET CHECKING


IF CHOICE IS TICKET CANCELLATION

IF CHOICE IS ACCOUNT DETAILS


TESTING

Software Testing is an empirical investigation conducted to


provide stakeholders with information about the quality of the product
or service under test[1] , with respect to the context in which it is
intended to operate. Software Testing also provides an objective,
independent view of the software to allow the business to appreciate
and understand the risks at implementation of the software. Test
techniques include, but are not limited to, the process of executing a
program or application with the intent of finding software bugs.
It can also be stated as the process of validating and verifying
that a software program/application/product meets the business and
technical requirements that guided its design and development, so that
it works as expected and can be implemented with the same
characteristics. Software Testing, depending on the testing method
employed, can be implemented at any time in the development process,
however the most test effort is employed after the requirements have
been defined and coding process has been completed.

TESTING METHODS
Software testing methods are traditionally divided into black box
testing and white box testing. These two approaches are used to
describe the point of view that a test engineer takes when designing
test cases.

BLACK BOX TESTING


Black box testing treats the software as a "black box," without
any knowledge of internal implementation. Black box testing methods
include: equivalence partitioning, boundary value analysis, all-pairs
testing, fuzz testing, model-based testing, traceability matrix,
exploratory testing and specification-based testing.
SPECIFICATION-BASED TESTING

Specification-based testing aims to test the functionality of


software according to the applicable requirements.[16] Thus, the tester
inputs data into, and only sees the output from, the test object. This
level of testing usually requires thorough test cases to be provided to
the tester, who then can simply verify that for a given input, the output
value (or behaviour), either "is" or "is not" the same as the expected
value specified in the test case. Specification-based testing is
necessary, but it is insufficient to guard against certain risks.

ADVANTAGES AND DISADVANTAGES

The black box tester has no "bonds" with the code, and a tester's
perception is very simple: a code must have bugs. Using the principle,
"Ask and you shall receive," black box testers find bugs where
programmers don't. But, on the other hand, black box testing has been
said to be "like a walk in a dark labyrinth without a flashlight," because
the tester doesn't know how the software being tested was actually
constructed.
That's why there are situations when (1) a black box tester writes
many test cases to check something that can be tested by only one test
case, and/or (2) 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.
WHITE BOX TESTING
White box testing, by contrast to black box testing, is when the
tester has access to the internal data structures and algorithms (and
the code that implement these)

Types of white box testing:-


The following types of white box testing exist:
• api testing - Testing of the application using Public and
Private APIs.
• Code coverage - creating tests to satisfy some criteria of
code coverage.
For example, the test designer can create tests to cause all
statements in the program to be executed at least once.
• fault injection methods.
• mutation testing methods.
• static testing - White box testing includes all static testing.

CODE COMPLETENESS EVALUATION

White box testing methods can also be used to evaluate the


completeness of a test suite that was created with black box testing
methods. This allows the software team to examine parts of a system
that are rarely tested and ensures that the most important function
points have been tested.

Two common forms of code coverage are:


• Function Coverage: Which reports on functions executed
and
• Statement Coverage: Which reports on the number of lines
executed to complete the test.
They both return coverage metric, measured as a percentage
HARDWARE AND SOFTWARE REQUIREMENTS

I.OPERATING SYSTEM : WINDOWS 7 AND ABOVE

II. PROCESSOR : PENTIUM(ANY) OR AMD

ATHALON(3800+- 4200+ DUAL CORE)

III. MOTHERBOARD : 1.845 OR 915,995 FOR PENTIUM 0R MSI

K9MM-V VIA K8M800+8237R PLUS

CHIPSET FOR AMD ATHALON

IV. RAM : 512MB+

V. Hard disk : SATA 40 GB OR ABOVE

VI. CD/DVD r/w multi drive combo: (If back up required)

VII. FLOPPY DRIVE 1.44 MB : (If Backup required)

VIII. MONITOR 14.1 or 15 -17 inch

IX. Key board and mouse

X. Printer : (if print is required – [Hard copy])

SOFTWARE REQUIREMENTS:

• Windows OS
• Python
• mysql connector modulle
BIBLIOGRAPHY

• Computer science With Python - Class XI & ClassXII


By : Sumita Arora
• A Project Report On SALES MANAGEMENT SYSTEM.
By : Praveen M Jigajinni
• Website: https://www.w3resource.com

***

You might also like