100% found this document useful (1 vote)
593 views19 pages

OODP Mini Project

This document describes a project report for an online ticket reservation system created by students Shashank Singh and Devesh Dudeja under the guidance of Dr. S. Amudha. The system allows travelers to inquire about train availability, book and cancel tickets, and check the status of booked tickets. The project aims to design a database to store information on trains, train statuses, and passengers. The online reservation system makes the process of booking train seats more convenient than ever before by allowing reservations to be made remotely.
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
100% found this document useful (1 vote)
593 views19 pages

OODP Mini Project

This document describes a project report for an online ticket reservation system created by students Shashank Singh and Devesh Dudeja under the guidance of Dr. S. Amudha. The system allows travelers to inquire about train availability, book and cancel tickets, and check the status of booked tickets. The project aims to design a database to store information on trains, train statuses, and passengers. The online reservation system makes the process of booking train seats more convenient than ever before by allowing reservations to be made remotely.
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/ 19

ONLINE TICKET RESERVATION SYSTEM

PROJECT REPORT

18CSC202J/ 18AIC203J - OBJECT ORIENTED DESIGN AND PROGRAMMING


LABORATORY
(2018 Regulation)

II Year/ III Semester


Academic Year: 2022 -2023

By

SHASHANK SINGH (RA2111003010252)


DEVESH DUDEJA (RA2111003010255)
Under the guidance of
Dr. S. AMUDHA Assistant Professor Department of Computational
Intelligence

FACULTY OF ENGINEERING AND TECHNOLOGY SCHOOL


OF COMPUTING SRM INSTITUTE OF SCIENCE AND
TECHNOLOGY Kattankulathur, Kancheepuram NOVEMBER
2022

BONAFIDE

1
This is to certify that 18CSC202J - OBJECT ORIENTED DESIGN AND
PROGRAMMING LABORATORY project report titled “ONLINE TICKET
RESERVATION SYSTEM” is the bonafide work of SHASHANK SINGH
(RA2111003010252) and DEVESH DUDEJA (RA2111003010255)
who undertook the task of completing the project within the allotted time.

Signature of the Guide Signature of the II Year Academic Advisor


Dr. S. Amudha ------------------------- Assistant

Professor Professor and Head


Department of CINTEL, Department of CINTEL
SRM Institute of Science and Technology SRM Institute of Science and Technology
About the course:-

18CSC202J/ 8AIC203J - Object Oriented Design and Programming are 4 credit courses with
L T P C as 3-0-2-4 (Tutorial modified as Practical from 2018 Curriculum onwards)

Objectives:
The student should be made to:

• Learn the basics of OOP concepts in C++


• Learn the basics of OOP analysis and design skills.
• Be exposed to the UML design diagrams.
• Be familiar with the various testing techniques

Course Learning Rationale (CLR): The purpose of learning this course is to:

1.Utilize class and build domain model for real-time programs

2
2.Utilize method overloading and operator overloading for real-time application
development programs
3.Utilize inline, friend and virtual functions and create application development programs
4.Utilize exceptional handling and collections for real-time object-oriented programming
applications
5.Construct UML component diagram and deployment diagram for design of applications
6.Create programs using object-oriented approach and design methodologies for real-time
application development

Course Learning Outcomes (CLO): At the end of this course, learners will be able to:

1.Identify the class and build domain model


2.Construct programs using method overloading and operator overloading
3.Create programs using inline, friend and virtual functions, construct programs using
standard templates
4.Construct programs using exceptional handling and collections
5.Create UML component diagram and deployment diagram
6.Create programs using object-oriented approach and design methodologies

3
Table 1: Rubrics for Laboratory Exercises
(Internal Mark Splitup:- As per Curriculum)

CLAP-1 5=(2(E-lab Completion) + 2(Simple Exercises)( from Elab test


CodeZinger, and any other coding platform) +
1(HackerRank/Code chef/LeetCode Weekend
Challenge)
CLAP-2 7.5=(2.0(E-lab Completion)+ Elab test
2.0 (Simple Exercises)( from CodeZinger, and any
other coding platform) + 3.5 (HackerRank/Code
chef/LeetCode Weekend Challenge)

CLAP-3 7.5=(2.0(E-lab Completion(80 Pgms)+ 2 Mark - E-lab Completion 80


2.0 (Simple Exercises)( from CodeZinger, and any Program Completion from 10
other coding platform) + 3.5 (HackerRank/Code Session (Each session min 8
chef/LeetCode Weekend Challenge) program)
2 Mark - Code to UML
conversion GCR Exercises
3.5 Mark - Hacker Rank
Coding challenge completion

CLAP-4 5= 3 ( Model Practical) + 2( Oral Viva) • 3 Mark – Model Test


• 2 Mark – Oral Viva

Total 25

4
COURSE ASSESSMENT PLAN FOR OODP LAB
S.No List of Experiments Course Blooms Level PI No of
Learning Programs in
Outcomes each session
(CLO)
1. Implementation of I/O Operations in CLO-1 Understand 2.8.1 10
C++
2. Implementation of Classes and Objects in CLO-1 Apply 2.6.1 10
C++
3, To develop a problem statement. CLO-1 Analysis 4.6.1 Mini
1. From the problem statement, Project
Identify Use Cases and develop the Use Given
Case model.
2. From the problem statement,
Identify the conceptual classes and
develop a domain model with a UML
Class diagram.
4. Implementation of CLO-2 Apply 2.6.1 10
Constructor Overloading and
Method Overloading in C++
5. Implementation of Operator CLO-2 Apply 2.6.1 10
Overloading in C++
6. Using the identified scenarios, find the CLO-2 Analysis 4.6.1 Mini
interaction between objects and Project
represent them using UML Sequence Given
diagrams and Collaboration diagrams
7. Implementation of Inheritance concepts CLO-3 Apply 2.6.1 10
in C++
8. Implementation of Virtual function & CLO-3 Apply 2.6.1 10
interface concepts in C++
9. Using the identified scenarios in your CLO-3 Analysis 4.6.1 Mini
project, draw relevant state charts and Project
activity diagrams. Given
10. Implementation of Templates in C++ CLO-3 Apply 2.6.1 10
11. Implementation of Exception of CLO-4 Apply 2.6.1 10
Handling in C++

5
12. Identify the User Interface, Domain CLO-5 Analysis 4.6.1 Mini
objects, and Technical Services. Draw Project
the partial layered, logical architecture Given
diagram with UML package diagram
notation such as Component
Diagram, Deployment Diagram.
13. Implementation of STL Containers in CLO-6 Apply 2.6.1 10
C++
14. Implementation of STL associate CLO-6 Apply 2.6.1 10
containers and algorithms in C++
15. Implementation of Streams and File CLO-6 Apply 2.6.1 10
Handling in C++

LIST OF EXPERIMNENTS FOR UML DESIGN AND MODELLING:


To develop a mini-project by following the exercises listed below.
1. To develop a problem statement.
2. Identify Use Cases and develop the Use Case model.
3. Identify the conceptual classes and develop a domain model with UML Class diagram. 4.
Using the identified scenarios, find the interaction between objects and represent them
using UML Sequence diagrams.
5. Draw relevant state charts and activity diagrams.
6. Identify the User Interface, Domain objects, and technical services. Draw the partial
layered, logical architecture diagram with UML package diagram notation.

Suggested Software Tools for UML:


Star-UML, Rational Suite, Argo UML (or) equivalent, Eclipse IDE and Junit

6
ABSTRACT

The railway reservation framework works with the travelers to enquiry


about the trains accessible based on source and objective, booking and
cancellation of tickets, enquiry about the situation with the booked ticket, and so
forth. The point of contextual investigation is to plan and foster an information
base keeping up with records of various trains, train status and passengers. This
project contains introduction to the railways reservation system. It is the
modernized means of holding the seats of train seats ahead of time. It is basically
utilized for a long course. Online reservation has made the cycle for the booking
of seats particularly more straightforward than any time in recent memory.
In our nation India, there are number of counters for the booking of the seats
and one can undoubtedly reserve a spot and get tickets. Railway reservation
framework, has depicted above, can prompt mistake free, secure, solid and quick
administration framework. It can help the client to focus on their different
exercises rather to focus on the record keeping. Consequently, it will assist
association it with bettering usage of resources. Administrator of the task, with
the assistance of a secret word, can enter new train record, show all train records,
change train records and erase train records. The record of train incorporates its
number, name, source, objective, and days on which it is accessible, though record
of train status incorporates dates for which tickets can be reserved, complete
number of seats accessible, and number of seats previously reserved.

7
Use case diagram with explanation

The UML use case diagram for the railway reservation system shows the steps
that need to be taken when a user starts up the software. It shows the structure
that controls the way the system works. In addition, the diagram is made up of
processes, also known as use cases, and users, also known as “actors.” To
describe the operation of the system as a whole, it makes use of certain symbols.
In addition, the diagram helps to establish and arrange the requirements for the
project. This also provides a clear view of the relationships that exist between
the user and the system. As a result, this graphic illustrates the intricate workings
of a system, including how the user responds to it.

Class diagram with explanation

8
Class diagrams are used around the world to get a quick overview of a system. It
describes the structure of a system by showing its classes, attributes and operations
of those classes and the relationship between those classes. The Class diagram
templates added below cover most systems found around the world. If your system
is not there, you can find a related one and modify them to fit your needs.
Modifying is always easier than drawing from scratch.

A Class diagram for an online railway ticket reservation system is shown below. A
real-world system will be definitely more complex than this, but all the basic
operations are covered in this diagram.

Sequence diagram with explanation

A sequence diagram is an interaction diagram that helps you visualize the


interactions between objects in a system and the order of those interactions. The

9
sequence diagram templates listed below will help you instantly start drawing
them using our star UML.

This is the UML sequence diagram of railway reservation system which shows
the interaction between the objects of customer, tickets, train route, train
schedule, booking. Instance of class objects involved in this UML sequence
diagram of railway reservation system are as follows:

1)Customer object

2)Ticket object
3)Train route object
4)Train schedule object
5)Booking object

Communication diagram with explanation

10
A collaboration diagram, also known as a communication diagram, is an
illustration of the relationships and interactions among software objects in the
Unified Modeling Language (UML). These diagrams can be used to portray the
dynamic behavior of a particular use case and define the role of each object.
This collaboration diagram focuses on the relationship of objects- how they
associate and connect through messages in a sequence rather than interactions.
In this collaboration diagram, the interaction between various lifelines is shown
such as passenger, railway system, tickets. The following operations are shown
in this collaboration diagram.

1. add Passengers- passengers will login.

2. add Railway system- Railway system sends message to railway server to


verify the login. Railway server replies to that passenger’s detail

3. Returns status: Railway system sends a reply to passengers that login is


successful.

Customer sends a message to Bank to edit customer details. Bank sends a


message to Account to Authenticate customer.

4. Request form: Passengers sends a message to request form to book tickets

5. Create form: Railway system sends message to railway server to create a


form.

6. Submit details in the form created by the server and send it back to the
Railway system

7.The railway system takes in information from the form created and sends its
to the server to generate ticket.

8.Details are verified a ticket is generated

9.The ticket is sent to the railway system.

10. Acknowledge ticket is sent to the passengers that ticket is booked.

11.Passengers gets print option and can take print of the ticket booked.

11
12
State chart diagram with explanation

State chart diagram describes the flow of control from one state to another state. States are
defined as a condition in which an object exists and it changes when some event is triggered.
The most important purpose of State chart diagram is to model lifetime of an object from
creation to termination. In the state chart diagram, the user logs into the search train service.
The ticket availability credentials are seen. If tickets are not available the user logouts from the
search train services. Otherwise, if tickets are available then the user books tickets by clicking
on book ticket option and fill in details of the user and click on submit details and make
payment dialog box appears and the user makes payment and print option pops so that the user
can take print of the ticket. Then ticket is printed, and process reaches to final state

13
Activity diagram with explanation

An activity diagram visually presents a series of actions or flow of control in a system similar to
a flowchart or a data flow diagram. Activity diagrams are often used in
business process modeling. They can also describe the steps in a use case diagram. In
this Activity Diagram, initially the user requests to enquire for railway reservation. The railway
system displays the list of vacant seats available in a particular train. The user
chooses the seat for his/her fare. The railway system in return sends the user the choice
to make the reservation. The user confirms the reservation. The railway system displays the
reservation details and payment method for the railway services. The requested
service is accommodated by the railway system. The railway system then initiates the
transaction and sends to the user. The user verifies the reservation and pays the amount for the
reservation. Then, the railways system receives the payment and records the transactions and
then generates receipt for the payment and the reservation schedule.
The process ends and action reaches the final state.

14
Package diagram with explanation

Package diagrams are structural diagrams used to show the organization and arrangement of
various model elements in the form of packages. A package is a grouping of related UML
elements, such as diagrams, documents, classes, or even other packages.

The railway system is a package that consists of sub packages booking, passenger form. The
Booking package consists of train seat information. The passenger form package consists of
member functions to add, edit, delete the number of seats in the train the passenger’s desires.
The passenger form package is related to two sub packages UPI payment and credit/debit
payment. UPI payment consists of UPI id. In addition, credit/debit payment consists of
account number and CVV. Passenger form is linked to railway system Package. Transaction
package consists of functions such as transfer, inquiry, operator panel and receipt printer.
Transaction package is linked to railway Package through dependency relationship.

15
Component diagram with explanation

A component diagram, also known as a UML component diagram, describes the


organization and wiring of the physical components in a system. Component
diagrams are often drawn to help model implementation details and doublecheck
that every aspect of the system's required functions is covered by planned
development. The user data flows into the railway reservation homepage or
database. The user information is a required interface to store user details.
Homepage interface links with the seat availability, book tickets, cancel tickets,
modify ticket and Fill form. Data passes from homepage to fill the form and then
to book tickets Console.

16
Deployment diagram with explanation

A deployment diagram is a UML diagram type that shows the execution


architecture of a system, including nodes such as hardware or software
execution environments, and the middleware connecting them. Deployment
diagrams are typically used to visualize the physical hardware and software of a
system. The deployment diagram consists of Web server, application server,
Database server. Railway system web server is linked to user Console and the
printer. User console transfers data to the web page server. The web page node
transfers data to printer. The web server is connected to the application server as
well as data base server.

17
Conclusion

Here are the UML Diagrams that composes a railway reservation System. Each
of the UML Diagrams has a major role in achieving a well-developed and
functional railway reservation System. The UML Diagrams works together to
achieve the most desired functions of the railway reservation System Project. All
of these were designed to guide programmers and beginners about the behavior
and structure of railway reservation System. By completing all the given
Diagrams, the railway reservation Project System development would be much
easier and attainable. So those UML diagrams were given to teach you and
guide you through your project development journey. You can use all the given
UML diagrams as your reference or have them for your project development.

18
The ideas presented in UML Diagrams were all based on railway reservation
System requirements.

References

UML - Standard Diagrams (tutorialspoint.com)


UML Diagrams - Javatpoint
Use Case Diagram - StarUML documentation

19

You might also like