Bharati Vidyapeeth

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 21

BHARATI VIDYAPEETH

Institute Of Technology(Polytechnic),Navi Mumbai


(Academic Year-2022-2023)
(Micro-project)
Software Engineering

Program-CM4I Course and Code-SEN(22034)

TOPIC:- Bike Rental Management

Submitted By :-
Hitesh rana ( 8846)
Kapil dongare (8845)
Sarthak binewale (8844)
Problem Statement.
To develop a system that will manage:-
 To produce a web based system that allows customer to
register and reserve bike online for the company to effectively
manage their bike rental business.
 To ease customer task whenever they need to rent a bike.
 Availabilty of bike round the clock.
 Wide range of vehicles.
 Maintaining record of each booking history.
 Online payment option.
 Login and account generation

A bike rental vehicle that can be used temporarily for a fee


during a specified period.

Getting a rental bike helps people get around despite the fact
they do not have access
To their own personal vehicle or don’t own a vehicle at all .

The individual who need a bike must contact a rental bike


company and contact out for a vehicle.

This system increases customer retention and simplify vehicle


and staff management.
Process Model:-

Waterfall Model:-

1. Requirements analysis and specification phase: The aim of this phase is to


understand the exact requirements of the customer and to document them
properly. Both the customer and the software developer work together so as to
document all the functions, performance, and interfacing requirement of the
software. It describes the "what" of the system to be produced and not
"how."In this phase, a large document called Software Requirement
Specification (SRS) document is created which contained a detailed description
of what the system will do in the common language.
2. Design Phase: This phase aims to transform the requirements gathered in
the SRS into a suitable form which permits further coding in a programming
language. It defines the overall software architecture together with high level
and detailed design. All this work is documented as a Software Design
Document (SDD).
3. Implementation and unit testing: During this phase, design is implemented.
If the SDD is complete, the implementation or coding phase proceeds
smoothly, because all the information needed by software developers is
contained in the SDD.
During testing, the code is thoroughly examined and modified. Small modules
are tested in isolation initially. After that these modules are tested by writing
some overhead code to check the interaction between these modules and the
flow of intermediate output.
4. Integration and System Testing: This phase is highly crucial as the quality of
the end product is determined by the effectiveness of the testing carried out.
The better output will lead to satisfied customers, lower maintenance costs,
and accurate results. Unit testing determines the efficiency of individual
modules. However, in this phase, the modules are tested for their interactions
with each other and with the system.
5. Operation and maintenance phase: Maintenance is the task performed by
every user once the software has been delivered to the customer, installed, and
operational.

Incremental Model:-

Incremental Model is a process of software development where requirements


divided into multiple standalone modules of the software development cycle.
In this model, each module goes through the requirements, design,
implementation and testing phases. Every subsequent release of the module
adds function to the previous release. The process continues until the complete
system achieved.
The various phases of incremental model are as follows:
1. Requirement analysis: In the first phase of the incremental model, the
product analysis expertise identifies the requirements. And the system
functional requirements are understood by the requirement analysis team. To
develop the software under the incremental model, this phase performs a
crucial role.
2. Design & Development: In this phase of the Incremental model of SDLC, the
design of the system functionality and the development method are finished
with success. When software develops new practicality, the incremental model
uses style and development phase.
3. Testing: In the incremental model, the testing phase checks the performance
of each existing function as well as additional functionality. In the testing
phase, the various methods are used to test the behavior of each task.
4. Implementation: Implementation phase enables the coding phase of the
development system. It involves the final coding that design in the designing
and development phase and tests the functionality in the testing phase. After
completion of this phase, the number of the product working is enhanced and
upgraded up to the final system product
Functional Requirement:-
1. User registration and login: Users should be able to create an
account and log in to the system to access the bike rental
service.
2. Bike availability: The system should display the availability of
bikes at different rental locations and allow users to reserve or
rent a bike.
3. Rental duration: The system should allow users to specify the
duration of their rental and calculate the rental fee
accordingly.
4. Payment processing: The system should support secure
payment processing for rental fees, including accepting
different payment methods such as credit cards, debit cards,
and digital wallets.
5. Bike tracking and maintenance: The system should be able to
track the location of rented bikes and monitor their condition
to ensure they are in good working order.
6. Rental history and user feedback: The system should maintain
a record of a user's rental history and allow them to leave
feedback on the bike rental service.
7. Rental locations and availability: The system should display
the rental locations and the availability of bikes at each
location.
8. Reporting and analytics: The system should be able to
generate reports and analytics on the usage and performance
of the bike rental service, such as the number of rentals,
revenue generated, and popular rental locations.
9. Customer support: The system should provide customer
support to users who encounter issues with the rental service,
such as bike malfunctions or payment processing problems.

Non functional Requirement:-


Performance: The system should be able to handle a large
number of concurrent users without slowing down or
crashing. Response time should be kept to a minimum to
ensure a smooth user experience.

Security: The system should be secure, with user data and


financial transactions protected by encryption and other
security measures.

Scalability: The system should be able to handle increasing


volumes of data and traffic as the business grows.

Availability: The system should be available 24/7 with minimal


downtime for maintenance or upgrades.

Usability: The system should be user-friendly and easy to


navigate, with clear instructions and guidance for users.

Reliability: The system should be reliable, with minimal errors


or system failures.

Maintainability: The system should be easy to maintain and


update, with a clear and organized code structure.

Compatibility: The system should be compatible with different


devices and platforms, such as mobile phones and web
browsers.

SRS Format:-
Purpose:-
The purpose of a bike rental system is to provide users with a convenient and affordable way to rent
a bike for a short period of time, typically for a few hours or a day. Bike rental systems can be found
in many urban areas, where they provide an alternative to traditional transportation methods such
as cars, buses, or taxis.

Scope of project:-
The scope of a bike rental system project typically involves the following:

System Objectives: The main objective of the bike rental system is to provide users with a
convenient and affordable way to rent bikes for short periods of time.
System Features: The bike rental system should have the following feature.User Registration and
Login,Bike Reservation and Rental,Bike Return,Payment Gateway,User Interface,System
Architecture,Integration Requirements,Testing and Quality Assurance,Implementation and
Deployment

Overall, the scope of a bike rental system project involves designing, developing, and implementing
a system that meets the needs of users and stakeholders, and provides a convenient and
sustainable transportation option for short trips in urban areas.

Overall description:-
bike rental system is a service that allows users to rent bikes for a short period of time, typically for
a few hours or a day. The system consists of a network of rental stations, where users can pick up
and drop off bikes.
The system typically has an online platform that allows users to register and create an account,
reserve a bike, and pay for the rental. The platform also provides information on bike availability,
rental rates, and station locations.
Users can pick up a bike from any rental station within the system, and return it to any other station
when they are done. The system tracks the location and usage of each bike, and provides real-time
information on station occupancy, bike availability, and other key metrics

Software Requirement:-
The security requirements of a bike rental system typically include:

User Authentication and Authorization,Secure Data Transmission,Payment Security,Access


Control,Data Privacy.
Overall, a bike rental system should have a comprehensive security plan in place to ensure the
confidentiality, integrity, and availability of system resources, and to protect user data and payment
information.

Reliability:-
The reliability of a bike rental system is essential for providing a positive user experience and
ensuring that the system meets the needs of users and stakeholders. Here are some of the key
aspects of reliability that should be considered in the design and implementation of a bike rental
system:
System availability,Performance,Fault tolerance,Data integrity,User Support.

Extensibility:-
Extensibility refers to the ability of a bike rental system to easily accommodate future changes,
additions, or upgrades without requiring significant modifications to the system architecture or
codebase. In other words, an extensible system can be easily adapted to new requirements or use
cases, without impacting the system's stability, reliability, or performance.

Use case Diagram:-


DFD Model:-

Activity Diagram:-
Decision Diagram:-
Condition Action
Customer selects a bike to System checks bike
rent availability
Bike is available System reserves the bike for
the customer

Bike is not available System informs customer


bike is not available

Customer returns bike on System checks bike condition


time and charges customer if bike
is damaged
Customer returns bike late System charges late fee to
customer

Customer reports bike lost or System charges customer for


damaged lost/damaged bike

This decision table outlines the various conditions that could occur during the bike
rental process and the corresponding actions that the system should take. By
following this decision diagram, the system can ensure that all necessary steps are
taken to provide a smooth rental experience for customers while also protecting
the company's assets.

Sequence Diagram:-
Risk Probability Effects
1. Organizational financial Low Catastrophic
problems force reduction in
project budget.

2. It is impossible to recruit High Catastrophic


staff with skills required for
the project.

3. Key staff are ill at critical Moderate Serious


times in the project.

4. Software that should be Moderate Serious


reused contain defects which
limit their functionality.

5. Changes requirements that Moderate Serious


require major design change.

6. The database used in the Moderate Serious


system cannot process as
many transactions per second
as expected.

7. The time required to High Serious


develop the software is
underestimated.

8. Customers fail to Moderate Tolerable


understand the impact of
requirements changes.

9. Required training for staff is Moderate Tolerable


not available.

10.The size of the software is High Tolerable


underestimated.

11.The rate of defect repair is Moderate Tolerable


underestimated.

RMMM PLAN:-
Risk: Computer Crash
 Mitigation The cost associated with a computer crash resulting in a loss of data is crucial. A
computer crash itself is not crucial, but rather the loss of data. A loss of data will result in not
being able to deliver the product to the customer. This will result in a not receiving a letter of
acceptance from the customer. Without the letter of acceptance, the group will receive a
failing grade for the course. As a result, the organization is taking steps to make multiple
backup copies of the software in development and all documentation associated with it, in
multiple locations.
 Monitoring
When working on the product or documentation, the staff member should always be aware
of the stability of the computing environment they are working in. Any changes in the
stability of the environment should be recognized and taken seriously.
 Management
The lack of a stable-computing environment is extremely hazardous to a software
development team. If the computing environment is found unstable, the development team
should cease work on that system until the environment is made stable again, or should
move to a system that is stable and continue working there.

Risk: Late Delivery

 Mitigation
The cost associated with a late delivery is critical. A late delivery will result in a late delivery
of a letter of acceptance from the customer. Without the letter of acceptance, the group will
receive a failing grade for the course. Steps have been taken to ensure a timely delivery by
gauging the scope of project based on the delivery deadline.
 Monitoring
A schedule has been established to monitor project status. Falling behind schedule would
indicate a potential for late delivery. The schedule will be followed closely during all
development stages.
 Management
Late delivery would be a catastrophic failure in the project development. If the project
cannot be delivered on time the development team will not pass the course. If it becomes
apparent that the project will not be completed on time, the only course of action available
would be to request an extension to the deadline form the customer.

Risk: Changes in Requirements

 Mitigation
In order to prevent this from happening, meetings (formal and informal) will be held with
the customer on a routine business. This ensures that the product we are producing, and the
requirements of the customer are equivalent.
 Monitoring
The meetings with the customer should ensure that the customer and our organization
understand each other and the requirements for the product.
 Management
Should the development team come to the realization that their idea of the product
requirements differs from those of the customer, the customer should be immediately
notified and whatever steps necessary to rectify this problem should be taken. Preferably a
meeting should be held between the development team and the customer to discuss at
length this issue.

Risk: Lack of Development Experience

 Mitigation
In order to prevent this from happening, the development team will be required to learn the
languages and techniques necessary to develop this software. The member of the team that
is the most experienced in a particular facet of the development tools will need to instruct
those who are not as well versed.
 Monitoring
Each member of the team should watch and see areas where another team member may be
weak. Also, if one of the members is weak in a particular area it should be brought to the
attention by that member, to the other members.
 Management
The members who have the most experience in a particular area will be required to help
those who needs help. It should not come to the attention of the team that a particular
member needs help.

Function Point:-
Measurement parameter Count Simple Average Complex
Number of user inputs 3 * 3 4 6

=9

Number of user outputs 4 * 4 5 7

=16
Number of user inquiries 2 * 3 4 6

=15
Number of files 4 * 7 10 15

=28
Number of external Interfaces 3 * 5 7 10

=15
Count total 74

Step 1:-
Calculate the function point:-
F = 14 * scale
Scale varies from 0 to 5 according to character of complexity adjustment factor
(CAF). Below table shows scale:
0 – No influence
1 – Incidental
2 – Moderate
3 – Average
4 – Significant
5 – Essential
F = 14 * 2
F = 28
Step 2 :-
Calculate Complexity Adjustment Factor (CAF).
CAF = 0.65 + (0.01 * 28)
= 0.93
Step 3:-
Calculate Unadjusted Function point (UFP).
UFP = (3*4 + 4*5+2*4+4*10)
= 80
Step 4:-
Calculate Function Point.
FP = UFP * CAF
= 80 * 0.93
= 74.4

Cost Estimation using COCOMO model


In COCOMO, projects are categorized into three types:
 Organic

 Semidetached

 Embedded
According to Boehm, software cost estimation should be done through three
stages:
 Basic Model

 Intermediate Model

 Detailed Model

As our project is small scale, we will be preferring basic model of COCOMO to


calculate cost of our project.
Basic COCOMO Model:
The basic COCOMO model estimates the software development effort using
only lines of codes. Various equation in this model are–
E = ab (KLOC) bb
D = cb (E) db
P = E/D
Where E is the effort applied in person-months.
D is the development time in chronological months.
KLOC means Kilo line of code for the project.
P is the total number of persons required to accomplish the project.

To calculate cost using basic model of COCOMO-


Step 1: Calculate effort applied
E = ab (KLOC) bb
E = 2.4 * (3000) * 10.5
E = 75600

Step 2: Calculate Development time required


D = cb (E) db
D = 2.5 * (75600) * 0.38
D = 71820

Step 3: Calculate total number of persons required


P = E/D
P = 75600/71820
P = 1.05 = 1(appx.)
****************************************************************

You might also like