• No results found

Car rental System - System Requirement Definition

N/A
N/A
Protected

Academic year: 2021

Share "Car rental System - System Requirement Definition"

Copied!
17
0
0

Loading.... (view fulltext now)

Full text

(1)

Software Engineering Project

Car Renting Management System (CRMS)

Software Requirements Specification

(2)

Revision History

Date Version Description Author

(3)

Table of Contents

1. Introduction 5

1.1 Purpose 5

1.2 Scope 5

1.3 Definitions, Acronyms, and Abbreviations 5

1.4 References 5 1.5 Overview 5 2. Overall Description 6 2.1 Product Perspective 6 2.2 Product Functions 6 2.3 User Characteristics 7 2.4 Constraints 7 2.5 Assumptions 7 3. Specific Requirements 7 3.1 Functionality 7 3.1.1 Create an account 7

3.1.2 Log in to the system 8

3.1.3 Search for vehicle 8

3.1.4 View vehicle with details 9

3.1.5 Request a text message notification when vehicle is available 9

3.1.6 Calculate cost 9

3.1.7 Reserve vehicle for renting 10

3.1.8 Update/Cancel reservation 10

3.1.9 Give feedback on vehicle 11

3.1.10 Log in with admin account 11

3.1.11 Add new vehicle/ vehicle category 11

3.1.12 Update vehicle details 12

3.1.13 Change vehicle status 12

3.1.14 Remove vehicle/ vehicle category 13

3.1.15 Change cost details 13

3.1.16 View reports 13

3.1.17 Send availability details via text message 14

3.2 Usability 14

3.2.1 Customer usability 14

3.2.2 Admin usability’ 14

3.3 Reliability 14

3.3.1 Availability 14

3.3.2 Mean Time between Failures 15

3.3.3 Mean Time to Repair 15

3.3.4 Accuracy 15

3.4 Performance and Security 15

3.4.1 Response Time 15 3.4.2 Throughput 15 3.4.3 Capacity 15 3.5 Design Constraints 15 3.5.1 Software Languages 15 3.5.2 Development Tools 15

(4)

3.7 Purchased Components 15 3.8 Interfaces 16 3.8.1 User Interfaces 16 3.8.2 Hardware Interfaces 17 3.8.3 Software Interfaces 17 3.8.4 Communications Interfaces 17 3.9 Database Requirements 17

(5)

Software Requirements Specification

1. Introduction

1.1 Purpose

This document consist of all the functional and nonfunctional and requirements of the Car Renting Management System and all the other requirement related details.

This is the first version of the SRS document and this will be used as a reference and a guideline for design and development processes ahead.

This document is recommended to be viewed by the development team, car renting company staff and other stakeholders of the system. This is used as a way of making sure all the stakeholders of the system will have a complete and clear understanding about the requirements of the system.

1.2 Scope

The system is divided into two subparts according to the users of the system: Customer subsystem – System consist of all the functionalities related to customers.

Business subsystem – System consist of all the functionalities related to business end. (Company staff) This document covers entire system and all its subparts. The functionalities of the system are also clearly divided into the above mentioned subparts and explained in simple and understandable way.

1.3 Definitions, Acronyms, and Abbreviations

CRMS – Car Renting Management System SRS – Software Requirements Specification Customer – The person who wants to rent a car

System Admin – Car renting company staff member who is in charge of the system.

1.4 References

[1] "Tutorialspoint," [Online]. Available: http://tutorialspoint.com. [Accessed 08 04 2016]. [2] "Scribd," Scibd Inc, [Online]. Available: https://www.scribd.com. [Accessed 09 04 2016].

(6)

The following things will be discussed in this document.

Overall Description.

This section will discuss general factors that affect the product and its requirements. The perspective of the product

Product Features and User Requirements Users and user characteristics

General Constraints

Assumption and Dependencies

Specific Requirements

Detailed descriptions about functional and nonfunctional requirements. Interfaces and relevant details

Details about database requirements

Other details such as licensing, copyright & applicable standards

Support Information

This section consist of support information which will make SRS easy to use.

2. Overall Description

This purpose of this section is to give details about what user can expect from CRMS. This will provide an overview of requirements gathered.

2.1 Product Perspective

CRMS will automate the manual car reservation process which was carried out by going to the business place or using a phone call.

The new system will consist of two sub systems. The customer subsystem will handle all the functionalities related to customers. The business subsystem will handle all the functionalities related to the car renting company.

The new system will be able to undergo evolution in a much simpler way and will be more adaptable to the changing systems. The upcoming changes in the near future will be predicted and the system will be designed in a way to adapt to the changes that will occur over the years

.

2.2 Product Functions

The following are the high level functionalities of the product. These functions are carefully broken down into specific functions and explained in the 3.1section of the document.

User account management

Reservation of vehicle and related functions User feedback function

(7)

Upgrade/ expand the system Modification of the system Report creation

2.3 User Characteristics

There are two types of users in from each subsystem of the system. Customers:

Most probably new to the system Do not require any technical expertise Simple knowledge to use internet System admin:

High technical expertise

Experience and domain knowledge Well aware of system functionalities

2.4 Constraints

Time constraints

Since this is a module project the main constraint is Time. The total time available for the system development is 4 months.

2.5 Assumptions

The software tools required for the system development are available to the developers. The requirements gathered are correct and achievable

The final deliverable of the project can be hosted in a server

3. Specific Requirements

3.1 Functionality

Customer Subsystem Functionalities

3.1.1 Create an account

Introduction

Customer need to create an account to log into the system. The customer can create an account using the email address.

(8)

E-mail address User name Password Basic details  Name  NIC number  Address  Contact number Processing

An account will be created for the customer and details will be saved in the database.

Output

An email will be sent out to customers requesting to confirm the account.

3.1.2 Log in to the system

Introduction

The customer can log into the system using username/ email and password.

Input

Username/ email Password

Processing

The username/email and password will be authenticated and customer will be able to log in given the correct details.

Output

The customer view of the system will be visible to the user.

3.1.3 Search for vehicle

Introduction

The customer will be able to search for vehicle or choose and vehicle category.

Input

Keywords for searching: Vehicle name

Vehicle category

Processing

(9)

Output

All possible results will be shown to the customer.

3.1.4 View vehicle with details

Introduction

The customer can view the detail of the vehicle selected.

Input

Selection of the vehicle.

Processing

All the details of the selected vehicle will be fetched from the database.

Output

Details of the vehicle: Name and model Registration number Picture

Cost Availability Previous feedbacks

3.1.5 Request a text message notification when vehicle is available

Introduction

In case of vehicle is unavailable, the customer can request a text message notification when it is available.

Input

Selection of the text message notification feature.

Processing

The request information will be saved in the database and when the vehicle is available notification will be generated.

Output

Text message request confirmation notification.

(10)

Introduction

The customer will be given the opportunity to calculate an approximate cost for the renting process after selecting a vehicle.

Input

Time duration (days) Distance per day (km)

Processing

The cost will be calculated using input and the cost information in the system.

Output

Calculated cost. This is an approximate value and the actual cost will be determined using the usage.

3.1.7 Reserve vehicle for renting

Introduction

Customer can reserve the vehicle for renting after considering all the information.

Input

Renting date and time Renting duration

Processing

The reservation information will be added to the database. The availability of the vehicle will be changed.

Output

An email will be sent to the customer confirming the reservation.

3.1.8 Update/Cancel reservation

Introduction

Customer can cancel the reservation or update details of the reservation.

Input

Cancel request Updated details

(11)

In the case of cancellation the reservation records will be deleted from the database. When reservation is updated the changed details will be saved in the database.

Output

Reservation cancellation/ updated notification.

3.1.9 Give feedback on vehicle

Introduction

The customers can view their rented vehicles history and add a feedback about the vehicle and the service provided.

Input

Feedback from the customer

Processing

The feedback will be added to the relevant vehicle.

Output

Feedback added successfully notification.

System admin functionalities

3.1.10 Log in with admin account

Introduction

Admin of the system can log into the system using existing account.

Input

Admin username and password

Processing

Admin login details authenticating.

Output

Admin view of the system.

(12)

Introduction

Admin can add new vehicle or a new vehicle category to the system.

Input

Vehicle category details. Vehicle details

Processing

New vehicle category/ vehicle added to the database.

Output

Vehicle/ vehicle category successfully added notification.

3.1.12 Update vehicle details

Introduction

Details of existing vehicles can be changed by the admin.

Input

Changed details.

Processing

Previous details are replaced with the new details in the database.

Output

Updating details successful notification.

3.1.13 Change vehicle status

Introduction

Admin can change the vehicle status to Available or Not Available.

Input

Change status request.

Processing

The status of the vehicle changed to the given status. Send text message notification to requested users if the vehicle became available.

(13)

Changed vehicle status successfully notification.

3.1.14 Remove vehicle/ vehicle category

Introduction

Admin can remove a vehicle or remove a whole category from the system.

Input

Vehicle/ category remove request.

Processing

Vehicle/ category removed from the database.

Output

Vehicle/ category removed notification.

3.1.15 Change cost details

Introduction

Admin cab change the current rates of the system according to business needs of the company.

Input

New rates

Processing

New rates are added to the database and cost calculation will be done using new rates.

Output

Rate changed notification.

3.1.16 View reports

Introduction

Admin can view reports of the transactions happened in the system. Reservation details of all the vehicles in a given time period.

Reservation details of a selected vehicle/ vehicle category in a given time period.

(14)

View reports selection.

Processing

Relevant fields from database tables are acquired with respect to given parameters.

Output

The requested report.

System functionalities

3.1.17 Send availability details via text message

Introduction

The system will be sending a text message to requested customers when an unavailable vehicle becomes available.

Input

Changing status of a notification requested vehicle from unavailable to available.

Processing

The contact number of the relevant customers are taken from the database and text message will be sent.

Output

Text message with available details sent to relevant users.

3.2 Usability

3.2.1 Customer usability

Customer end of the system must be very easy to understand. The time taken for customer to be familiar with the system should not be more than 5 minutes.

The average task time for a random customer should not exceed 3-6 minutes.

3.2.2 Admin usability’

Administrator of the system will be given a maximum 3 days training for the system. All the functionalities of the system should be clear and

3.3 Reliability

3.3.1 Availability

System is a business solution so the availability of the system is critical. The system will be available 99.8%.

(15)

3.3.2 Mean Time between Failures

MTBF value of the system should be very high value ranging from 6-12 months.

3.3.3 Mean Time to Repair

MTTR value of the system should be very low. The estimated value for this system is 3-5 hours. The development should be focused to reduce the current value as much as possible.

3.3.4 Accuracy

The system is responsible for business transactions. The accuracy of the system will be critical and it will be tested with great measures.

3.4 Performance and Security

3.4.1 Response Time

Response time of the system should be very low. Average response time: 3-6 seconds

Maximum response time: 10-15 seconds

3.4.2 Throughput

Throughput of the system should be considerably adequate to provide a continuous service for the customers.

3.4.3 Capacity

The system should be able to accommodate up to 5000 users.

3.5 Design Constraints

3.5.1 Software Languages

PHP, HTML, JS will used as programming languages to develop the system.

3.5.2 Development Tools

Sublime Text 2, Web Storm, Intellij IDEA, PHPMYADMIN wil be used as development tools.

3.6 On-line User Documentation and Help System Requirements N/A

3.7 Purchased Components N/A

(16)

3.8 Interfaces

3.8.1 User Interfaces

(17)

3.8.1.2 Admin view of the system

3.8.2 Hardware Interfaces

N/A

3.8.3 Software Interfaces

An intelligent text message sender API which is able to send programmable text messages will be integrated with the system to enable the text message sending functionality.

3.8.4 Communications Interfaces

The system will be hosted on a free hosting site (Heroku).

3.9 Database Requirements

Database for the system will be created using MySQL. The design of the database is provided with the System Architecture Document.

3.10 Licensing, Legal, Copyright, and Other Notices N/A

References

Related documents

They are in danger because of living in the area 100 m from the highest tide, especially by tsunamis, tidal waves, coastal erosion, hurricanes, earthquakes, and

To better understand and analyze what motivated K-12 students to build and study robots, to participate in the RoboParty® and how they see the university environment, a

To provide some initial context surrounding Russia’s place in the post-Cold War order, the volume begins with Sakwa’s discussion of the country’s complex relation- ship with the

are presented.. Myofilaments seem to be wave-shaped and possibly coiled. T h e fact that this whole series of changes has been followed up on the same

UNION MUSICAL ESPAÑOI-A, S.A...

Within each season, three renewable energy solutions were studied: the hosting capacity of a typical grid topology without storage, the hosting capacity with decentralized

The tables represent the qualitative % of methyl esters areas and quantitative methods using an internal standard solution methyl esters weight (%m/m) for all studied

The certified threaded parts are precise forged parts with dimensions up to M48. Confusion is avoided by a marking which indicates load group, material and manufacturer. Welding