OODP Mini Project
OODP Mini Project
PROJECT REPORT
By
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.
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:
Course Learning Rationale (CLR): The purpose of learning this course is to:
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:
3
Table 1: Rubrics for Laboratory Exercises
(Internal Mark Splitup:- As per Curriculum)
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++
6
ABSTRACT
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.
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.
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
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.
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.
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
16
Deployment diagram with explanation
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
19