Car Rental Management System 2
Car Rental Management System 2
Car Rental Management System 2
requirements
for the degree of BACHELOR OF SCIENCE IN COMPUTER DEPARTMENT submitted by
MR. G.A.V.S.SASTRY
LECTURER IN-CHARGE
ASILMETTA, VISAKHAPATNAM.
2021-2022
1
CERTIFICATE
This is to certify that the project work entitled “CAR RENTAL MANAGEMENT SYSTEM” is
of confide record of work done by K. Sai Rakesh (Regdno:719127205276), G. Tarun (Regdno:719127205262) and G. Ganesh
(Regd no:719127205261) of III B.Sc. (M.S.Cs) during the year 2021-2022 in the partial fulfillment of
the requirements for the award of degree of Bachelor of Science in computer department, Aditya Degree College,
Asilmetta, Visakhapatnam.
2
ACKNOWLEDGEMENT
We are filled with pride for being a part of ADITYA DEGREE COLLEGE, Visakhapatnam. That
has nurtured me to the present.
We would like to thank our chairman Sri. N. SESHA REDDY, Mr. N.K.Deepak Reddy, Secretary,
ADITYA EDUCATIONAL INSTITUTIONS, for their kind encouragement.
We would like to thank our principal Mrs. B.V.LAKSHMI, ADITYA DEGREE COLLEGE,
Visakhapatnam for her kind encouragement.
Place: VISAKHAPATNAM,
Date:
1
DECLARATION
Place: VISAKHAPATNAM,
Date:
K. SAI RAKESH
G. TARUN
G. GANESH
2
OUR MANAGEMENT
In this era of cut throat competition, it is of paramount importance to impart an integrate education
to the future citizens of the Nation for successfully facing multitasking. With great powers comes
great responsibility, this adage is my favourite line indeed for it succinctly put across what
educational institutions ought to do. And for an educational institution as mighty as Aditya, some
serious responsibility lies on the shoulders for we not just mould careers but lives of individuals.
3
CONTENTS
Pg.no
1. Abstract.................................................................................... 5
2 Requirement Gathering............................................................ 6
3 Software Requirements Specification...................................... 8-9
4 Feasibility Study....................................................................... 10
5 Design....................................................................................... 11-16
6 Sample Coding ....................................................................... 17-25
7 Screens .................................................................................... 26-30
8 Testing .................................................................................... 31-35
9 Bibliography............................................................................. 36
4
ABSTRACT
Our project information is related to “Car Rental Management System”. The main
aim &objective of this Car Rental Management System Project is to give simple
application which provides all services and includes all categories of cars from luxury
to budget.
Further, this project’s utmost priority is quality. This project claim to offer the best of
rates, which are tailor- made depending upon the facilities availed.
5
Requirements Gathering
Requirement analysis is a software engineering task that bridges the gap between the
system level software allocation and software design.
It enables the system engineer to specify software function and performance, indicate
software interface with other system elements, and establish design constraints that
the software must meet.
6
SYSTEM SPECIFICATION
1. Hardware Requirements
2. Software Requirements
OS : MS WINDOWS 10
7
SOFTWARE REQUIREMENT SPECIFICATION
This project is based on Car Rental Management System. The basic purpose of renting the cars
is to make the booking process faster, user friendly and we do not have to maintain written
records. All records are managed in the database. This software keeps the details of all the
booking, users, etc. This page leads to many other pages like to select car types depends upon
the users choice.
The System Requirements specification (SRS) will provide a detailed description of the
requirements for the Car Rental Management System (CRMS).The SRS will allow for a
complete understanding of what the user needs for the car renting. The clear understanding of the
CRMS and its functionally will allow for the correct software to be developed for the end user
and thus will be used for the development of the further stages of the project. This SRS will also
provide the foundation for the project. From this SRS, the CRMS can be designed, constructed,
and finally tested.
8
This SRS be used by the software engineers constructing the CRMS. The software engineers will
use the SRS so that to fully understand the expectations of this CRMS to construct the appropriate
will use the SRS so that to fully understand the expectations of this CRMS to construct the
appropriate software.
The system product to be produced is a Car Rental Management System which will automate
major car renting operations.
The objective of this Car Rental Management System is to provide a system that can manage a
car renting operation that has all facilities. The system will be able to handle many services to
take care of all customers in a quick manner. The system should be user appropriate, easy to use ,
provide easy recovery of errors and have an overall end user high subjective satisfaction.
9
FEASIBILITY STUDY
Feasibility study is an important phase in the software development process. It enables the
developer to have an assessment of the product being developed. It refers to the feasibility study
of the product in terms of outcomes of the product, operational use and technical support required
for implementing it. Feasibility study should be performed on the basis of various criteria and
parameters. The various feasibility studies are: Economic Feasibility, Operational Feasibility,
Technical Feasibility.
1. Economic Feasibility: It refers to the benefits or outcomes we are deriving from the
product as compared to the total cost we are spending for developing the product. If the benefits
are more or less the same as the older system, then it is not feasible to develop the product.
3. Technical Feasibility: It refers to whether the software that is available in the market fully
supports the present application. It studies the pros and cons of using particular software for the
development and its feasibility. It also studies the additional training needed to be given to the
people to make the application work.
Implementation Plan: The main plan for the system developed is to mimic the existing system
as it is in the proposed system. Study of the Existing System The existing system is very complex
as every work is done manually. By using the present system, work is done manually. So, each
and every work takes much time to complete. Whenever the doctor needs the information it is very
difficult for the employee to search for that particular details and the drug information to be
ordered. Everytime we should search the records at the shelves.
10
DESIGN
Using SRS as input, system design is done. System design included designing of
software and hardware i.e. functionally of software and hardware is separated-out.
After separation design of software modules is done. The design process translates
requirements into representation of the software that can be assessed for quality before
generation of code begins
11
DATA FLOW DIAGRAM
The components of a typical dataflow diagrams are: the process, the flow, the data
store, and the terminator.
12
0 Level DFD in Car Rental Management System
13
First Level DFD – Car Rental Management System:
14
Second Level DFD - Car Rental Management System:
15
USE-CASE DIAGRAM
16
SAMPLE CODING
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Admin extends JFrame implements ActionListener
{
JButton SUBMIT;
JPanel panel;
JLabel label1,label2;
final JTextField text1,text2;
Admin()
{
label1 = new JLabel();
label1.setText("Admin Name:");
text1 = new JTextField(15);
SUBMIT=new JButton("SUBMIT");
}
public void actionPerformed(ActionEvent ae)
{
String value1=text1.getText();
String value2=text2.getText();
if (value1.equals("swathi") && value2.equals("241100"))
{
UserDetails page=new UserDetails();
17
Details d=new Details();
Container c1=d.getContentPane();
c1.setLayout(new FlowLayout());
c1.setBackground(Color.YELLOW);
d.setSize(600,600);
d.setVisible(true);
d.getContentPane();
}
else
{
System.out.println("enter the valid username and password");
JOptionPane.showMessageDialog(this,"Incorrect login or password",
"Error",JOptionPane.ERROR_MESSAGE);
}
}
}
class AdminDemo
{
public static void main(String arg[])
{
try
{
Admin frame=new Admin();
Container c=frame.getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.YELLOW);
frame.setSize(400,400);
frame.setVisible(true);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null, e.getMessage());}
}
}
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Details extends JFrame implements ActionListener
{
JButton NEXT;
JPanel panel;
JList list;
JLabel label1,label2,label3,label4,label5,label6;
final JTextField text1,text2,text3,text4,text5;
18
String[] gender = { "Male", "Female", "Others"} ;
final JComboBox<String> g = new JComboBox<String>(gender);
Details()
{
label1 = new JLabel();
label1.setText("Name");
text1 = new JTextField(15);
label4=new JLabel();
label4.setText("Email");
text4=new JTextField(15);
label5=new JLabel();
label5.setText("Gender");
label6=new JLabel();
label6.setText("Address");
text5=new JTextField(15);
NEXT=new JButton("NEXT");
panel.add(NEXT);
add(panel,BorderLayout.CENTER);
NEXT.addActionListener(this);
19
setTitle("User Details");
}
20
CAR RENTING CODE:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Car extends JFrame implements ActionListener
{
JButton SUBMIT;
JPanel panel;
JList list;
JLabel label1,label2,label3,label4;
final JTextField text1,text2,text3;
String[] carname = { "Hyundai", "Maruthi Suzuki", "Swift"} ;
final JComboBox<String> cn = new JComboBox<String>(carname);
Car()
{
label1 = new JLabel();
label1.setText("From");
text1 = new JTextField(15);
label4=new JLabel();
label4.setText("Date of Journey");
text3=new JTextField(15);
SUBMIT=new JButton("SUBMIT");
panel.add(SUBMIT);
add(panel,BorderLayout.CENTER);
SUBMIT.addActionListener(this);
21
setTitle("Car Renting");
}
public void actionPerformed(ActionEvent ae)
{
String value1=text1.getText();
String value2=text2.getText();
String value3=text3.getText();
if (value1.equals(value1) && value2.equals(value2))
{
PaymentDetails pd=new PaymentDetails();
Payment p=new Payment();
Container c2=p.getContentPane();
c2.setLayout(new FlowLayout());
c2.setBackground(Color.YELLOW);
p.setSize(400,400);
p.setVisible(true);
}
else
{
System.out.println("Location not found");
JOptionPane.showMessageDialog(this,"Location not found",
"Error",JOptionPane.ERROR_MESSAGE);
}
}
}
class CarRenting
{
public static void main(String args[])
{
try
{
Car q=new Car();
Container c=q.getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.YELLOW);
q.setSize(400,400);
q.setVisible(true);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null, e.getMessage());}
}
}
22
PAYMENT METHOD CODE:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
Payment()
{
label1 = new JLabel();
label1.setText("Distance in kms");
label4=new JLabel();
label4.setText("Payment Mode");
CONFIRM=new JButton("CONFIRM");
if (value1.equals(value1))
{
ThankYou n=new ThankYou();
Container c4=n.getContentPane();
c4.setLayout(new FlowLayout());
c4.setBackground(Color.YELLOW);
n.setSize(400,400);
n.setVisible(true);
}
else
{
System.out.println("Incorrect Input");
JOptionPane.showMessageDialog(this,"Incorrect Input",
"Error",JOptionPane.ERROR_MESSAGE);
}
}
}
class PaymentDetails
{
public static void main(String args[])
{
try
{
Payment p=new Payment();
Container c=p.getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.YELLOW);
p.setSize(400,400);
p.setVisible(true);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null, e.getMessage());}
24
}
}
THANKYOU CODE:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class ThankYou extends JFrame
{
JPanel panel;
JLabel label1,label2;
ThankYou()
{
add(panel,BorderLayout.CENTER);
setTitle("THANK YOU");
25
SCREENS
26
27
28
29
30
TESTING
INTRODUCTION:
Software testing methods are traditionally divided into white- and black-box testing. These two
approaches are used to describe the point of view that a test engineer takes when designing test
cases.
TESTING METHODS:
White box testing is when the tester has access to the internal data structures and algorithms
including the code that implement these.
Grey box testing (American spelling: gray box testing) involves having knowledge of internal
data structures and algorithms for purposes of designing the test cases, but testing at the user, or
31
black-box level. Manipulating input data and formatting output do not qualify as grey box, because
the input and output are clearly outside of the "black-box" that we are calling the system under
test. This distinction is particularly important when conducting integration testing between two
modules of code written by two different developers, where only the interfaces are exposed for
test. However, modifying a data repository does qualify as grey box, as the user would not
normally be able to change the data outside of the system under test. Grey box testing may also
include reverse engineering to determine, for instance, boundary values or error messages.
Testing levels:
Tests are frequently grouped by where they are added in the software development process, or by
the level of specificity of the test.
1. Unit Testing- Unit testing refers to tests that verify the functionality of a specific
section of code, usually at the function level. In an object-oriented environment, this
is usually at the class level, and the minimal unit tests include the constructors and
destructors These type of tests are usually written by developers as they work on code
(white-box style), to ensure that the specific function is working as expected. One
function might have multiple tests, to catch corner cases or other branches in the code.
Unit testing alone cannot verify the functionality of a piece of software, but rather is
used to assure that the building blocks the software uses work independently of each
other .Unit testing is also called component testing.
2. Integration Testing- Integration testing is any type of software testing that seeks
to verify the interfaces between components against a software design. Software
components may be integrated in an iterative way or all together ("big bang").
Normally the former is considered a better practice since it allows interface issues to
be localised more quickly and fixed. Integration testing works to expose defects in
the interfaces and interaction between integrated components (modules).
Progressively larger groups of tested software components corresponding to elements
32
of the architectural design are integrated and tested until the software works as a
system.
A smoke test is used as an acceptance test prior to introducing a new build to the
main testing process, i.e. before integration or regression.
33
7. Alpha Testing- Alpha testing is simulated or actual operational testing by
potential users/customers or an independent test team at the developers' site. Alpha
testing is often employed for off-the-shelf software as a form of internal acceptance
testing, before the software goes to beta testing.
8. Beta Testing - Beta testing comes after alpha testing. Versions of the software,
known as beta versions, are released to a limited audience outside of the programming
team. The software is released to groups of people so that further testing can ensure
the product has few faults or bugs. Sometimes, beta versions are made available to the
open public to increase the feedback field to a maximal number of future users
34
activity is often referred to as endurance testing.Volume testing is a way to test
functionality. Stress testing is a way to test reliability. Load testing is a way to test
performance.
There is little agreement on what the specific goals of load testing are. The terms load
testing, performance testing, reliability testing, and volume testing, are often used
interchangeably.
11. Stability Testing - Stability testing checks to see if the software can
continuously function well in or above an acceptable period. This activity of non-functional
software testing is often referred to as load (or endurance) testing.
12. Usability Testing- Usability testing is needed to check if the user interface is easy
to use and understand.
13. Security Testing -Security testing is essential for software that processes
confidential data to prevent system intrusion by hackers.
35
BIBILIOGRAPHY
Books
Software Engineering and Project Management
AUTHOR: Pankaj Jalote
Site Address
1. www.academia.edu
2. www.code-projects.org
3. www.softwareengineeringdaily.
36