
3 minute read
Revision History
from Carpool SRS
1. Introduction
1.1 Purpose
Advertisement
The purpose of the KarPool app is that it reduces the number of cars driving on the university’s roads by combining many trips for those who have the same endpoint (school) into one trip using only one car.
• KarPool : give a general idea of the app and its features and the detailed requirements that the app should be built based on it.
• Version: 1.0
1.2 Document Conventions
The font that is used in this SRS is “Arial”. Some abbreviations that have been used in this SRS:
• SRS: software requirements specifications.
• Carpool/Carpooling: multiple people using the one car instead of using multiple cars.
• 2FA: 2 Factor Authentication.
1.3 Intended Audience and Reading Suggestions
This project targets people who are unable to take their children to school. The document is intended for developers and project managers. Developers will need this document to understand the documentation which will help them understand the pre-existing features so they can implement other new features that are integrated within the system. As for project managers, it guides them to understand the vision of the project and how it will work later down the line.
1.4 Project Scope
KarPool is an app aims to help parents who can’t drive their children to schools by sending them with other parents who’re heading to the same school/ neighborhood as their children’. The main goals of the system are to reduce morning traffic in campus, and to solve time conflicts KFUPM members face with their work and drooping their children. The objectives of the system are:
1- To make sure users using the app more often, KFUPM members should have a better experience using the app.
2- By making sure parents feel safe about the experience, more KFUPM members would use it.
1.5 References
Stack Overflow: https://stackoverflow.com/questions/20184055/what-if-any-is-thedifference-between-a-software-release-and-a-version/20184757.
2. Overall Description
2.1 Product Perspective
KarPool is a new product that comes to solve certain problems within the university compound. It started with observing that there are conflicts between the schedule of the university’s faculty and their children who need to go to school. Initially, the concept of ordering rides came from transportation apps, such as Uber, Kareem and Bolt.
2.2 Product Features
From the renter’s perspective: The product will allow the user to rent a driver who can drive the children of the user to the school by showing the driver’s information
From the driver’s perspective: The product will allow the driver to see who wants this service and have a choice of whether to accept it or not.
2.3 User Classes and Characteristics
The user classes that will be used are:
Renter:
1- Can request a service from the driver
2- Can navigate where the driver is until the children reach the school
3- Moderate technical expertise
4- Very important to satisfy
Driver:
1- Can accept ride requests
2- Interaction with the app is very low since they are driving
3- Low technical expertise
4- Very important to satisfy
Customer service:
1- Can communicate with the app users and help them with any issues
2- Have a certain administration
3- High technical expertise
4- Have to be fairly satisfied
2.4 Operating Environment
The app will be used in the KFUPM community. The hardware platform that the system will operate is ARM. It would be available on both iOS 14 and above and android 10 and above. The software does not require any external components.
2.5 Design and Implementation Constraints
The main constraint will be developing the system using Java and Flutter API. The system’s memory usage shall not exceed 75% of the hardware’s memory which means the program must work efficiently and not waste device’s resources. The system must comply with the regulations of the ministry of transportation.
As for using other technologies, the system will be using Microsoft’s Azure services to keep the system’s online services up and running.
Since 2FA is much more effective than passwords, the user can choose not to use passwords to log in and use 2FA instead, but they must verify their phone number before that. When it comes to implementing new security features, the developers must make sure that the user doesn’t lock themselves out of their account.
2.6 User Documentation
The app will have a tutorial at the first time launching for every user. A support number will be available within the app that can assets the user at any time. The software will have a wiki page explaining the features and how to use them. It will also have hint icons that explain what that feature is.
2.7 Assumptions and Dependencies
The development team has experience of integrating the commercial components which will be used later. The university has database servers capable of operating the system. Assuming the system can be operated in IOS and Android. The development team should know the latest regularities from the ministry of transposition and implement the system upon them. The system will assume that the architecture of the CPU is ARM, meaning it will not run on x86 or RISC. The system also assumes that the device has Java installed. The user’s account can be logged in by more than one device. KFUPM IT department allowing usage of the all KFUPM portal log in data to verify that all users of the app are KFUPM members.