Deliverable_2.md 4/24/2023 1. Updated Problem Statement, Proposed Solution & Use Cases i) Problem Statement There are several BRT systems in the country that are similar to Rea Vaya. Among others there is: "GO!Durban", which operates in Durban, KZN; "A Re Yeng", which operates in Tswane, Gauteng; and "MyCiti", which operates in Cape Town, South Africa. "GO!Durban" and "A Re Yeng" have websites where commuters can check bus schedules and routes. On the other hand, 'MyCiti' has both a website and app. These platforms enable commuters to plan trips, view fares and routes, track live location and receive updates." All these BRT systems, including Rea Vaya, use card-centric cards that are not connected to a backend system. This means that customers cannot load money or access card balance updates in real-time digitally(app) when they take a trip. Customers have to go to a physical station and wait in long lines to load money on their account or check their balance. Some stations are far away, so customers have to travel and pay extra expenses to get there. When there is load shedding and stations without backup generators lose power, the system is down and customers can't access services like loading money on their card. Additionally, there is no clear indication of which bus to take to a specific location or which route it will take. Passenger's just tend to wait not knowing how far the next bus is, because they can't track the live location of the bus. ii) Proposed Solution Our system will let passengers access customer services digitally. They can create their own account and link it with their account. They can load money and check their balance. They can also see which bus to take and the route it will take. On the other hand they will be able to track where the next bus is. Our aim is to make the station experience available on their mobile devices. The passengers won't have to worry about going to the stations just to check their card balances or to load money. At the station the user will use the system to scan the QR code to pay for the trip and the system will deduct points on the user's account. The 1 / 15 Deliverable_2.md 4/24/2023 system will make use of a backend system to store real-time information like balances that can be accessed on the app. 2. Use Case Description 2.1 Rea Vaya System Use Case Diagram Diagram 2.1: Rea Vaya System Use case: Authenticate user input User enters their credentials. output The system verifies the details: i. The user enters name, surname, phone number, and type. ii. The system checks if the user entered all fields correctly. iii. The system captures and register/login the user if the details are valid. 2 / 15 Deliverable_2.md 4/24/2023 extension The system notifies the user of errors: i. The system prompts an error message that the details are not valid. ii. The user re-enters valid details. Use case: Check Bus Information input User requests for the information of the bus to their desired destination. output The system displays the required bus information: i. Bus route ii. Bus code (e.g T3,F2) Use case: Buy Points input Enter bank details output - The system checks the validity of the details and processes payment. - The user gets notified of the payment success. extension If there are errors: i. The system prompts an error message that the details are not valid. ii. The user re-enters valid details. 3 / 15 Deliverable_2.md 4/24/2023 Use case: Scan QR to pay input - Passenger scans a QR Code at the station where they are starting their trip. - Passenger scans another QR Code at the station of their destination. output - The system checks if the QR Code scanned is valid. - if it's valid then access to the bus is granted and payment is processed. extension Access is denied if user scans an invalid QR Code: i. The system prompts an error message that the QR Code is invalid. ii. The user scans a QR Code. 2.2 User Authentication Use Case Diagram 4 / 15 Deliverable_2.md 4/24/2023 Diagram 2.2: User Authentication Use case: Enter Credentials input User enters details as a manager or a passenger. output The system verifies the details: i. The user enters name, surname, phone number, and type. ii. The system checks if the user entered all fields. iii. The system captures and register/login the user if the details are valid. extension The system notifies the user of errors: i. The system prompts an error message that the details are not valid. ii. The user re-enters valid details. 2.3 Bus Information Use Case Diagram Diagram 2.3: Bus Information Use case: Check bus route input 5 / 15 Deliverable_2.md 4/24/2023 The passenger enters their desired destination. output The system displays the information of the bus they need to take: i. Bus Route ii. Bus Code e.g T3 Use case: Track the bus input The passenger requests for the location of the bus. output The system shows live location of the bus. 2.4 Payment Subystem Use Case Diagram Diagram 2.4: Payment Subystem 6 / 15 Deliverable_2.md 4/24/2023 Use case: Choose Payment method input The user indicates which payment method they'll be using (e.g credit or debit card). output The system will prompt the user to enter banking details. Use case: Enter payment information input The user enters their banking details. output The system will prompt the user to enter the amount extension The system notifies the user of errors: 1. The system displays an error message that the banking details invalid. 2. The user re-enters valid details. Use case: Specify Amount input The user enters the amount they are depositing. output The system captures the amount. 7 / 15 Deliverable_2.md 4/24/2023 extension The system notifies the user if their entered invalid amounts: 1. The system displays an error message indicating that cents or negative vaules are not allowed. 2. The user is prompted to re-enter a valid amount. Use case: Process Payment input The user gives authentication on their personal banking app. output The system displays a notification showing if the payment process was successful. Use case: Check Account Balance input User requests a balance. output The system displays the user's balance. 2.5: Ticketing Subystem Use Case Diagram 8 / 15 Deliverable_2.md 4/24/2023 Diagram 2.5: Ticketing Subystem Use case: Scan QR Code input The passenger scans the QR Code at the station they want to catch the bus at. output The system verifies the scanned QR code. extension The system notifies the user of if the scanned QR Code is invalid: i. The user is prompted to re-enter the QR Code. If the customer's balance is below the minimum required amount for taking a trip: i. The system notifies user of insufficient funds. ii. The user gets denied access to take a trip. 9 / 15 Deliverable_2.md 4/24/2023 Use case: Select Desired Destination input The passenger selects where they want to go. output The system calculates and display points needed to go where the passenger wants to go. Use case: Check account balance input The passenger checks for account balance. output The system displays the account balance. Use case: Deduct Required Points input The system accesses the account. input The system displays the deducted points. 3. Activity Diagrams 3.1 User Authentication Activity Diagram 10 / 15 Deliverable_2.md 4/24/2023 Indicates the relationship and workflow in the registration and signing in of a user: 1. The user enters credentials as a manager or passenger and the system generates a QR code for the passenger profile. 2. The system verifies the credentials and notify the user if there's any errors. 3. If there are no errors the system captures and stores the user credentials on a database and the user is logged in. Diagram 3.1 User Authentication Activity Diagram 3.2 Ticketing Subsystem Activity Diagram Details the workflow of activities in the payment of a trip: 1. The user scans the QR code and then the system validates it. 2. The user selects the desired destination and then the system calculates the points needed for the ride. 3. The system checks if the account balance of the user has sufficient points to pay for the ride before deducting the needed points. 4. If the points are sufficient then the system deducts the required points and update the user's account balance. 5. The system then confirms successful deduction to the user. 11 / 15 Deliverable_2.md 4/24/2023 Diagram 3.2 Ticketing Subsystem Activity Diagram 3.3 Bus Information Activity Diagram Outlines how passengers access the bus information: 1. The passenger selects the desired destination. 2. The system displays the bus code of the bus to use to reach to the selected destination and the route the bus will take. 3. The system displays a live location of the bus when the passenger wants to track it. 12 / 15 Deliverable_2.md 4/24/2023 Diagram 3.3 Bus Information Activity Diagram 3.4 Payment Subsystem Activity Diagram Details activities involved when a customer transfers money into their Rea Vaya profile: 1. The passenger chooses a payment method and enters bank details to load points to the account. 2. The system verifies the bank details and notify the passenger if there's any errors. 3. The passenger specifies the amount to load points onto the account. 4. The system then processes the payment and update the passenger's account balance. 5. The passenger checks the updated account balance. 13 / 15 Deliverable_2.md 4/24/2023 Diagram 3.4 Payment Subsystem Activity Diagram 4. Database Design Diagram 4.1 The Database Design: - Details all the entities required for the system. - Outlines the relationships among the entities. - All tables are in 3rd normal form. 14 / 15 Deliverable_2.md 4/24/2023 5. References IMESA. eThekwini Municipality’s Go! Durban brt programme (2019). Available at "https://www.imesa.org.za/wp-content/uploads/2019/10/paper-8ethekwini-municipalitys-go-durban-brt-programme.pdf" (Accessed 8 April 2023). MUVO.Buying and loading . Available at "https://www.muvo.co.za/." (Accessed 8 April 2023). City Of Tswane. Connector Card(2019). Available at "https://www.tshwane.gov.za/sites/brt/Pages/default.aspx" (Accessed 11 April 2023). MyCITI. USE YOUR MYCONNECT CARD(2017). Available at "https://www.myciti.org.za/en/myconnect-fares/use-your-myconnectcard/#:~:text=Tap%20into%20the%20world%20of,journey%20%2D%20and%20enjoy%20seamless %20travel."(Accessed 19 April 2023) 15 / 15