DHRUV BHASIN (RA2111003011395) : (2018 Regulation)
DHRUV BHASIN (RA2111003011395) : (2018 Regulation)
DHRUV BHASIN (RA2111003011395) : (2018 Regulation)
PROJECT REPORT
1
BONAFIDE
2
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:
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
Outcomes in each
(CLO) session
1. Implementation of I/O Operations in CLO-1 Understand 2.8.1 10
C++
2. Implementation of Classes and Objects CLO-1 Apply 2.6.1 10
in C++
3, To develop a problem statement. CLO-1 Analysis 4.6.1 Mini
1. From the problem statement, Identify Project
Use Cases and develop the Use Case Given
model.
2. From the problem statement, Identify
the conceptual classes and develop a
domain model with a UML Class
diagram.
4. Implementation of Constructor CLO-2 Apply 2.6.1 10
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++
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++
5
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.
6
ABSTRACT
Many travellers take renting a car for granted especially during the pandemic
when isolation is a priority. Customers prefer convenient and timely service, but
it’s not uncommon for car rentals to lag. Roughly speaking, vehicle pick-ups
delay every third time. Considering the tight competition in this business
landscape, car rental services can’t fail to satisfy their customers. If you want to
accept online reservations and manage your fleet with ease, what you need is a
Car Rental Reservation System (RRS). In this article, we’ll tell you about the
underlying modules of a Car RRS, review some of the key software providers,
and give tips for those ready to roll up their sleeves and build their own platform.
Customers will be able to reserve their vehicles from anywhere in the world due
to the Car Rental System. Consumers provide information to this application by
filling in their personal information. When a consumer creates an account on the
website, he or she can reserve a car. The proposed system is an online system that
is fully integrated. It effectively and efficiently automates manual procedures.
Customers are aided by this automated method, which allows them to fill in the
specifics according to their needs. It contains information on the sort of car they
want to hire as well as the location. The goal of this system is to create a website
where customers can book their automobiles and request services from anywhere
in the world.
The first phase entails organising car rental locations into pools and allowing
pooled car rental outlets to share a fleet of automobiles. The second phase for
each pool determines the types and quantities of cars to be acquired and delivered
to the auto manufacturer, as well as the geographic redistribution of automobiles
among pools across the long-term planning horizon. The third phase entails day-
to-day operations, during which the fleet's deployment within each pool and
among its locations is determined.
7
MODULE DESCRIPTION
On the appointed day, this customer arrives at the car rental location to pick up
the chosen car. An agent makes copies of their IDs, explains the terms of the
lease, instructs them on any special features of the car, and finally hands them
the keys. When the customer drops off the car, the agent checks its mileage and
inspects for any damages.
In fact, the car rental process involves many more operations under the hood.
Automating them improves the speed and quality of service. Let’s zoom in on
how each module of the Car RRS contributes to that.
8
USE CASE DIAGRAM WITH EXPLANATION
Use-case diagrams illustrate and define the context and requirements of either
an entire system or the important parts of the system. You can model a complex
system with a single use-case diagram, or create many use-case diagrams to
model the components of the system. You would typically develop use-case
diagrams in the early phases of a project and refer to them throughout the
development process.
9
CLASS DIAGRAM WITH EXPLANATION
The class diagram depicts a static view of an application. It represents the types
of objects residing in the system and the relationships between them. A class
consists of its objects, and also it may inherit from other classes. A class diagram
is used to visualize, describe, document various different aspects of the system,
and also construct executable software code.
10
SEQUENCE DIAGRAM WITH EXPLANATION
11
COMMUNICATION DIAGRAM WITH EXPLANATION
12
STATE CHART DIAGRAM WITH EXPLANATION
13
ACTIVITY DIAGRAM WITH EXPLANATION
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. Each element is nested within the package, which is
depicted as a file folder within the diagram, then arranged hierarchically within
the diagram. Package diagrams are most commonly used to provide a visual
organization of the layered architecture within any UML classifier, such as a
software system. Package diagrams are used, in part, to depict import and
access dependencies between packages, classes, components, and other named
elements within your system. Each dependency is rendered as a connecting line
with an arrow representing the type of relationship between the two or more
elements.
15
COMPONENT DIAGRAM WITH EXPLANATION
16
DEPLOYMENT DIAGRAM WITH EXPLANATION
17
CONCLUSION
REFERENCES
1. https://www.altexsoft.com/blog/car-rental-reservation-system/
2. https://itsourcecode.com/uml/car-rental-system-use-case-diagram/
3. https://itsourcecode.com/uml/online-car-rental-system-class-diagram-uml/
4. https://creately.com/diagram/example/img4wrih1/sequence-diagram-for-
car-rental-system-classic
5. https://www.visual-paradigm.com/guide/uml-unified-modeling-
language/what-is-component-diagram/
18