Professional Documents
Culture Documents
Since the Visakhapatnam is a metropolitan city, bikes plays a major role in helping people for
Transportation.
The Bikes have always been a preferable mode of transport to the majority of the people.
This Bike management system is designed for users who are looking for bike ride booking.
Via this system, the users can directly access any details relevant to the bikes of their choice
and they can seek any information like bike details, prices as well as reviews for the bike.
The proposed bike booking management system provides a very effective solution, in which
one can log in to the system and can book a ride and time slot according to their requirement.
1
REQUIREMENTS GATHERING
2
SYSTEM SPECIFICATION
1. Hardware Requirements
2. Software Requirements
OS : MS WINDOWS 10
Front End : JAVA
3
SOFTWARE REQUIREMENT SPECIFICATION
This project is based on Bike Booking Management System. The basic purpose of this system
is to Travel and it is available in affordable prices to the common people.
The System Requirements specification (SRS) will provide a detailed description of the
requirements for the BIKE BOOKING MANAGEMENT SYSTEM (BBMS).The SRS will
allow for a complete understanding of what is needed for the Bike Booking Management
System. The clear understanding of the HMS 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 BBMS can be designed, constructed, and finally tested.
This SRS be used by the software engineers constructing the BBMS and Bike booking
customer. The software engineers will use the SRS so that to fully understand the
expectations of this EBPS to construct the appropriate will use the SRS so that to fully
understand the expectations of this EBPS to construct the appropriate software.
The system product to be produced is a Bike Booking Management System. So that the
customer can know the price of travel.
4
FEASIBILITY ANALYSIS
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:
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 confusing a 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.
5
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.
6
DATA FLOW DIAGRAM
The components of a typical dataflow diagrams are: the process, the flow, the data store
and the terminator.
7
LEVEL-0 DFD : BIKE BOOKING MANAGEMENT SYSTEM
Bikes model
Bike number
Customer name
Bike booking
system
Location
Driver contact number
8
LEVEL -1 DFD : BIKE BOOKING MANAGEMENT SYSTEM
Customer ID
Models of bike
Drop area
Driver name
Total amount
Driver contact number
LEVEL-2 DFD
Bike number
Customer name
9
LEVEL-2 DFD: BIKE BOOKING MANAGEMENT SYSTEM
Age
Manage
Password Phone number
modules
Email ID
Submit Gender
Bike name
10
USE CASE DIAGRAM
Vehicle
Vehicle ID name
User-ID User name
M M
USER Booking VEHICLE
Vehicle- Vehicle-
type reg.no
Driver-ID Driver-name
1 M
DRIVER Allot USER BOOKING TABLE
1
Driver license
no
Proceed
for
PAYMENT
11
SAMPLE CODING
Login Code:
package bike;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class Login extends JFrame implements ActionListener
{
/**
*
*/
private static final long serialVersionUID = 1L;
JButton SUBMIT;
JPanel panel;
JLabel label1,label2;
final JTextField text1,text2;
Login()
{
label1 = new JLabel();
label1.setText("Username:");
text1 = new JTextField(15);
label2 = new JLabel();
label2.setText("Password:");
text2 = new JPasswordField(15);
SUBMIT=new JButton("SUBMIT");
panel=new JPanel(new GridLayout(3,1));
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(text2);
12
panel.add(SUBMIT);
getContentPane().add(panel,BorderLayout.CENTER);
SUBMIT.addActionListener(this);
setTitle("LOGIN FORM");
}
public void actionPerformed(ActionEvent ae)
{
String value1=text1.getText();
String value2=text2.getText();
if (value1.equals("BIKE") && value2.equals("654321"))
{
Location t = new Location();
t.setVisible(true);
t.getContentPane();
}
else
{
System.out.println("enter the valid username and password");
JOptionPane.showMessageDialog(this,"Incorrect login or password",
"Error",JOptionPane.ERROR_MESSAGE);
}
}
}
class LoginDemo
{
public static void main(String arg[])
{
try
{
Login frame=new Login();
13
Container c=frame.getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.BLUE);
frame.setSize(500,500);
frame.setVisible(true);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null, e.getMessage());}
}
}
14
Details Code:
package bike;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Details extends JFrame implements ActionListener
{
/**
*
*/
private static final long serialVersionUID = -1314331175392389926L;
JButton NEXT;
JPanel panel;
JList<String> list;
JLabel label1,label2,label3,label4,label5;
final JTextField text1,text2,text3,text4;
String[] gender = { "Male", "Female", "Others"} ;
@SuppressWarnings({ "rawtypes", "unchecked" })
JComboBox g = new JComboBox(gender);
Details()
{
label1 = new JLabel();
label1.setText("Name");
text1 = new JTextField(15);
label2 = new JLabel();
label2.setText("Age");
text2 = new JTextField(15);
label3 = new JLabel();
label3.setText("Phone Number");
text3=new JTextField(10);
label4=new JLabel();
15
label4.setText("Email");
text4=new JTextField(15);
label5=new JLabel();
label5.setText("Gender");
NEXT=new JButton("NEXT");
panel=new JPanel(new GridLayout(6,2));
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(text2);
panel.add(label3);
panel.add(text3);
panel.add(label4);
panel.add(text4);
panel.add(label5);
panel.add(g);
panel.add(NEXT);
add(panel,BorderLayout.CENTER);
NEXT.addActionListener(this);
setTitle("User Details");
}
public void actionPerformed(ActionEvent ae)
{
Payment cb=new Payment();
Container c3=cb.getContentPane();
c3.setLayout(new FlowLayout());
c3.setBackground(Color.BLUE);
cb.setSize(800,800);
cb.setVisible(true);
}
16
}
class UserDetails
{
public static void main(String args[])
{
try
{
Details d=new Details();
Container c=d.getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.BLUE);
d.setSize(500,500);
d.setVisible(true);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null, e.getMessage());}
}
}
17
Location Code:
package bike;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Location extends JFrame implements ActionListener
{
private static final long serialVersionUID = -1314331175392389926L;
JButton NEXT;
JPanel panel;
JList<String> list;
JLabel label1,label2;
final JTextField text1,text2;
Location()
{
18
NEXT.addActionListener(this);
setTitle("Location");
}
public void actionPerformed(ActionEvent ae)
{
Details cb=new Details();
Container c3=cb.getContentPane();
c3.setLayout(new FlowLayout());
c3.setBackground(Color.BLUE);
cb.setSize(800,800);
cb.setVisible(true);
}
}
class LocationDetails
{
public static void main(String args[])
{
try
{
Location d=new Location();
Container c=d.getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.BLUE);
d.setSize(500,500);
d.setVisible(true);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null, e.getMessage());}
}
}
19
Payment Code:
package bike;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class Payment extends JFrame implements ActionListener
{
private static final long serialVersionUID = -1314331175392389926L;
JButton NEXT;
JPanel panel;
JList<String> list;
JLabel label1,label2,label3,label4;
final JTextField text1;
String[] time = { "6:00 AM","8:00 AM", "10:00 AM","12:00 PM","2:00 PM","4:00
PM","6:00 PM"} ;
String[] Price = { "200"} ;
String[] card = { "Debit Card", "Credit Card","pay with cash"} ;
@SuppressWarnings({ "rawtypes", "unchecked" })
JComboBox g = new JComboBox(time);
@SuppressWarnings({ "rawtypes", "unchecked" })
JComboBox h = new JComboBox(Price);
@SuppressWarnings({ "rawtypes", "unchecked" })
JComboBox i = new JComboBox(card);
Payment()
{
label1 = new JLabel();
label1.setText("bike Name");
text1 = new JTextField(15);
label2 = new JLabel();
label2.setText("Timings");
20
label3 = new JLabel();
label3.setText("Price per KM");
label4=new JLabel();
label4.setText("payment mode");
NEXT=new JButton("SUBMIT");
panel=new JPanel(new GridLayout(6,2));
panel.add(label1);
panel.add(text1);
panel.add(label2);
panel.add(g);
panel.add(label3);
panel.add(h);
panel.add(label4);
panel.add(i);
panel.add(NEXT);
getContentPane().add(panel,BorderLayout.CENTER);
NEXT.addActionListener(this);
setTitle("Location");
}
public void actionPerformed(ActionEvent ae)
{
Welcome cb=new Welcome();
Container c3=cb.getContentPane();
c3.setLayout(new FlowLayout());
c3.setBackground(Color.BLUE);
cb.setSize(800,800);
cb.setVisible(true);
}
}
class PaymentDetails
21
{
public static void main(String args[])
{
try
{
Location d=new Location();
Container c=d.getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.BLUE);
d.setSize(500,500);
d.setVisible(true);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null, e.getMessage());}
}
}
22
Welcome Code:
package bike;
import javax.swing.*;
import java.awt.*;
class Welcome extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 1L;
JPanel panel;
JLabel label1,label2;
Welcome()
{
setDefaultCloseOperation(javax.swing.
WindowConstants.DISPOSE_ON_CLOSE);
label1 = new JLabel();
label1.setText("YOUR RIDE IS CONFIRMED");
label1.setVisible(true);
label2 = new JLabel();
label2.setText("HAVE A SAFE JOURNEY");
panel=new JPanel(new GridLayout(6,2));
panel.add(label1);
panel.add(label2);
add(panel,BorderLayout.CENTER);
setTitle("THANK YOU FOR USING OUR SERVICES");
}
public static void main(String args[])
{
try
{
23
Welcome n=new Welcome();
Container c=n.getContentPane();
c.setLayout(new FlowLayout());
c.setBackground(Color.BLUE);
n.setSize(600,600);
n.setVisible(true);
}
catch(Exception e)
{JOptionPane.showMessageDialog(null, e.getMessage());}
}}
24
SCREENS
25
26
27
28
29
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:
30
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
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 of the architectural design are integrated and tested until the
software works as a systems.
3.System Testing - System testing tests a completely integrated system to verify that it meets
its requirement
4. System Integration Testing- System integration testing verifies that a system is integrated
31
to any external or third party systems defined in the system requirements.
5.Regression Testing - Regression testing focuses on finding defects after a major code
change has occurred. Specifically, it seeks to uncover software regressions, or old bugs that
have come back. Such regressions occur whenever software functionality that was previously
working correctly stops working as intended. Typically, regressions occur as an unintended
consequence of program changes, when the newly developed part of the software collides
with the previously existing code. Common methods of regression testing include re-running
previously run tests and checking whether previously fixed faults have re-emerged. The depth
of testing depends on the phase in the release process and the risk of the added features. They
can either be complete, for changes added late in the release or deemed to be risky, to very
shallow, consisting of positive tests on each feature, if the changes are early in the release or
deemed to be of low risk.
6.Acceptance Testing - Acceptance testing can mean one of two things: 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. Acceptance testing performed by the customer, often in their lab
environment on their own hardware, is known as user acceptance testing (UAT). Acceptance
testing may be performed as part of the handoff process between any two phases of
development.
8. Beta Testing - Beta testing comes after alpha testing. Versions of the software, 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.
32
9.Non-Functional Testing - Special methods exist to test non-functional aspects of software.
In contrast to functional testing, which establishes the correct operation of the software
(correct in that it matches the expected behaviour defined in the design requirements), non-
functional testing verifies that the software functions properly even when it receives invalid
or unexpected inputs. Software fault injection, in the form of fuzzing, is an example of non-
functional testing. Non-functional testing, especially for software, is designed to establish
whether the device under test can tolerate invalid or unexpected inputs, thereby establishing
the robustness of input validation 25 routines as well as error-handling routines. Various
commercial non-functional testing tools are linked from the software fault injection page;
there are also numerous open-source and free software tools available that perform non-
functional testing.
11.Stability Testing - Stability testing checks to see if the software can continuously function
well in or above an acceptable period. This activity of nonfunctional 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.
33
SUGGESTIONS
34
REFERENCE
35