Section 1 – Identifying user stories
User Customer
User Story 1Being an unregistered customer, I should be able to create a new account and login.Acceptance CriteriaThe Customer must be able to find registration link in the main pageThe Customer selects the link and gets a registration form.The Customer must be able to fill the form and submit the sameThe Customer will receive an confirmation mail with an account activation linkThe Customer should be able to click the activation link to activate the accountThe Customer should now be able to successfully login into the system. |
User Story 2Being a customer, I want to check availability status while booking and docking a scooter and check journey details of my completed journeysAcceptance CriteriaThe Customer must be able to check scooter availability in the stationsThe Customer must be able to book a scooter and get a scooter release code upon selecting payment optionThe Customer must be able to check for docking station free space availability.The Customer must be able to dock the scooter in available space in the stations.The Customer must be able to provide feedback. |
User Story 3Being a registered customer, I should be able to get annual membershipAcceptance CriteriaAfter logging in, the customer should be able to buy yearly membership |
User Story 4Being a registered customer, I should be able to cancel my booking before using the unlock code.Acceptance CriteriaAfter making an unwanted booking, the customer should be able to cancel the reservation before using the received unlock code |
User Employee
User Story 1Being an employee, I want to receive docking-station scooter-population notifications from the system so that I can reposition the scooters evenly among the docking stations.Acceptance CriteriaThe system gets live status of docking-station scooter-populationThe system separates the immediate action requirement station detailsThe system sends the separated details to the employeesThe employee is notified to take necessary actions. The employee moves the scooters (supplies) from almost full docking areas to the docking areas with low scooter count.The system scans the docking-stations to update the information. |
User Story 2Being an employee, I want to see customer feedback reviewAcceptance CriteriaThe employee must be able to view customer-feedback review reports. |
User Management
User StoryBeing a part of the management I want to be able to see the customer shared feedbacks and prepare a review based on them.Acceptance CriteriaThe system receives and stores the customer feedbackThe management retrieves the feedbacks from the systemManagement prepares a review based on the retrieved feedbacksThe management stores the review report into the system for further processing. |
System
Scenario 1Check for any inflicted damage on the scooter upon receiving them in the docking station and charge accordingly.Acceptance CriteriaThe system senses any new scooter being returned and scans it The system checks for any damage inflicted on the scooterUpon finding any new damage on the scooter, the system adds a damage charge with the fare and deducts the total amountThe amount gets deducted from selected payment mode and invoice is generated for future reference. |
Scenario 2The system can change the membership status.Acceptance CriteriaThe system should be able to change membership status from normal to annual |
Scenario 3The system check login details for registration.Acceptance CriteriaThe system should be able to check login details of logging membersUpon finding a mismatch of login id, the system will forward the user to registration page. |
Scenario 4The system sends member confirmationAcceptance CriteriaUpon receiving registration details the system sends a confirmation mail to members |
Scenario 5The system checks the docking area for scooter stocking and notifies the employeeAcceptance CriteriaThe system should be able to check docking areas.Upon checking, the system will be able to get an update on the scooter stocksThe system must be able to send notifications to the employee mentioning the stock details for adding or reducing scooters from any particular docking area |
Section 2 – Use case modelling
Use Case Descriptions
Use Case description for Customer Registration
Use Case Name | Register | |
Scenario | Create customer account | |
Triggering event | Unregistered customer wishes to create an account | |
Brief Description | Customers creates an account by inserting details and entering credit/debit card details for default payment deduction. | |
Actors | Customer | |
Related Use Cases | Create new account, Confirmation Mail | |
Stakeholders | Employee, Management | |
Preconditions | Availability of customer account creation subsystem | |
Post conditions | New account creation of the customerAt least one address details will be savedCard details validationNew account creation | |
Flow of activities | Actors | System |
Customer wishes to generate a new account and enters the required detailsCustomer inserts the credit/ debit card particularsCustomer selects the link and get the account activated | The system verifies the entered details and prompts to enter credit/ debit card particularsSystem creates a new account, verifies the entered credit/ debit card details and sends a confirmation mail with valid account details and activation linkSystem displays registration confirmation message on the screen | |
Exception conditions | Entered details are not validEntered credit/ debit card details are not valid |
Use Case description for Check Availability
Use Case Name | Check Availability | |
Scenario | Checking the Availability of the eScooter or docking space of the same in the docking station | |
Triggering event | An Customer wishes to Start/Finish a ride | |
Brief Description | The Customer wishes to book an eScooter for a new ride or s/he wants to finish an ongoing ride by docking the scooter in the docking area | |
Actors | Customer | |
Related Use Cases | eScooter Availability, Space Availability | |
Stakeholders | Employee, Management | |
Preconditions | An account has already been created in the system | |
Post conditions | Book scooter, Dock Scooter, View Journey details, Feedback | |
Flow of activities | Actors | System |
The customer wishes to book a Scooter and check availabilityCustomer requests for scooter rentingCustomer selects payment modeCustomer use the code to release scooter, use them and search for a location to dock the scooterCustomer docks the scooter and gives feedback | Updates scooter availability statusThe system prompts the customer to select payment modeThe system sends scooter release codeThe system updates the docking locationThe system checks the usage time of the scooter and for any possible damage inflicted on the scooter during the journey. Sends notifications upon finding any damage and forwards the feedback to the management. | |
Exception conditions | Scooter not availableFree space not availablePayment option not valid |
Use Case description for Membership
Use Case Name | Membership | |
Scenario | Registered customer gets an annual membership | |
Triggering event | ||
Brief Description | Customer can get annual membership | |
Actors | System | |
Related Use Cases | Login | |
Stakeholders | Management, Employee | |
Preconditions | Customer must be registered with the system | |
Post conditions | Annual membership obtained | |
Flow of activities | Actors | System |
The customer logs in and opt for annual membershipThe customer provides the details and confirms | The system asks for the payment mode and detailsThe system confirms the payment and enables annual subscription for the selected customer | |
Exception condition | Customer not registered with the systemInvalid payment details |
Use Case description for Check Registration
Use Case Name | Check Registration | |
Scenario | Login without registration | |
Triggering event | Login | |
Brief Description | Trying to login without registering with the system | |
Actors | Customer | |
Related Use Cases | Check Registration, Registration | |
Stakeholders | ||
Preconditions | Customers trying to login without registering | |
Post conditions | Customer redirected to registration page | |
Flow of activities | Actors | System |
Customers logs in with details | The system checks with stored registration details and redirect the customer to registration page upon finding mismatch in details. | |
Exception condition |
Use Case description for Cancel booking
Use Case Name | Cancel Booking | |
Scenario | Cancels a booking | |
Triggering event | Login | |
Brief Description | Makes and unwanted booking and wants to cancel the reservation | |
Actors | Customer | |
Related Use Cases | Book Scooter | |
Stakeholders | Employee, Management | |
Preconditions | Customer makes an unwanted booking | |
Post conditions | Customer cancels the booking | |
Flow of activities | Actors | System |
Customers makes an unwanted booking and opts to cancel the same Customer confirms | The system asks for cancel confirmationBooking cancelled | |
Exception condition |
Use Case description for Feedback
Use Case Name | Feedback | |
Scenario | Customer rides a bike and gives feedback | |
Triggering event | Dock Scooter, View Journey Details | |
Brief Description | Upon completion of a ride from customer’s end, s/he can provide a feedback. Moreover while viewing the journey details feedback can also be given. | |
Actors | Customer | |
Related Use Cases | View Feedback | |
Stakeholders | Management, Employee | |
Preconditions | Customers must take at least one ride before being able to give a feedback. | |
Post conditions | View feedback, Review | |
Flow of activities | Actors | System |
Customer takes a ride and gives feedback based on his/ her experienceManagement views the feedbacksManagement generates reviews based on the feedbacksThe employees should be able to view the reviews | The customer provided feedback is stored in the systemThe feedbacks are retrieved from the system and displayedThe reviews are stored in the system | |
Exception condition | In conditions like when a customer does not gives any feedback the review reports are not generated in those cases. |
Use Case description for Reposition Scooter
Use Case Name | Reposition Scooter | |
Scenario | Checking scooter population in the docking areas and repositioning them | |
Triggering event | Docking area is almost full or empty | |
Brief Description | The system will check the docking areas and inform the employees via notification about whether more scooters needed in any specific location of if any docking station is almost full and needs to increase parking lot. | |
Actors | Employee | |
Related Use Cases | Check docking station status | |
Stakeholders | Customer, Management | |
Preconditions | The docking area is available and is almost full or empty | |
Post conditions | The docking area space is modified (The proportion of scooter population in the stations with that of the empty seats is 1 : 1) | |
Flow of activities | Actors | System |
The employee checks for any notifications from the systemThe employee finds notification from the system stating a specific docking area is almost full and goes to the mentioned station to increase parking areas by moving scooters to another location.The employee goes to the sent locations with scooters to make them available in the stations. | The system scans a docking station for available free space in the station, finds less free space available and notifies the employee The system scans for scooter availability in docking stations, lists the station locations that needs attention and sends them to the employee via notification. | |
Exception conditions | Docking station already have right proportion of scooter and parkin space. |
Use Case Diagram
Section 3 – Activity diagram modelling
Part 1
The following diagram depicts the customer interaction activity diagram of the proposed system.
Part 2
The following diagram depicts the membership up gradation activity diagram of the proposed system.
Part 3
The following diagram depicts the scooter Stock checking and restocking activity diagram of the proposed system.
Part 4
The following diagram depicts the Feedback Review report viewing activity diagram of the proposed system.
Section 4 – System Sequence Diagram
Section 5 – Designing the user interface
Screen 1
Screen 2
Screen 3
Screen 4
Screen 5
Screen 6
Screen 7
Screen 8
Screen 9
Bibliography
Achouri, A., & Ayed, L. J. B. (2016). A formal semantic for uml 2.0 activity diagram based on institution theory. arXiv preprint arXiv:1606.02311.
Al-alshuhai, A., & Siewe, F. (2015, October). An extension of UML activity diagram to model the behaviour of context-aware systems. In 2015 IEEE International Conference on Computer and Information Technology; Ubiquitous Computing and Communications; Dependable, Autonomic and Secure Computing; Pervasive Intelligence and Computing (pp. 431-437). IEEE.
Arora, P. K., & Bhatia, R. (2018). Agent-based regression test case generation using class diagram, use cases and activity diagram. Procedia Computer Science, 125, 747-753.
Khurana, N., Chhillar, R. S., & Chhillar, U. (2016). A Novel Technique for Generation and Optimization of Test Cases Using Use Case, Sequence, Activity Diagram and Genetic Algorithm. JSW, 11(3), 242-250.
Maylawati, D. S., Darmalaksana, W., & Ramdhani, M. A. (2018, January). Systematic design of expert system using unified modelling language. In IOP Conference Series: Materials Science and Engineering (Vol. 288, No. 1, p. 012047). IOP Publishing.
Minhas, N. M., Qazi, A. M., Shahzadi, S., & Ghafoor, S. (2015). An Integration of UML Sequence Diagram with Formal Specification Methods—A Formal Solution Based on Z. Journal of Software Engineering and Applications, 8(08), 372.
Mullins, C. (2015, July). Responsive, mobile app, mobile first: untangling the UX design web in practical experience. In Proceedings of the 33rd Annual International Conference on the Design of Communication (pp. 1-6).
Sellami, A., Hakim, H., Abran, A., & Ben-Abdallah, H. (2015). A measurement method for sizing the structure of UML sequence diagrams. Information and Software Technology, 59, 222-232.