E-Scooter Case Study: 1281088

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 NameRegister
ScenarioCreate customer account
Triggering eventUnregistered customer wishes to create an account
Brief DescriptionCustomers creates an account by inserting details and entering credit/debit card details for default payment deduction.
ActorsCustomer
Related Use CasesCreate new account, Confirmation Mail
StakeholdersEmployee, Management
PreconditionsAvailability of customer account creation subsystem
Post conditionsNew account creation of the customerAt least one address details will be savedCard details validationNew account creation
Flow of activitiesActorsSystem
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 activatedThe 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 conditionsEntered details are not validEntered credit/ debit card details are not valid

Use Case description for Check Availability

Use Case NameCheck Availability
ScenarioChecking the Availability of the eScooter or docking space of the same in the docking station
Triggering eventAn Customer wishes to Start/Finish a ride
Brief DescriptionThe 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
ActorsCustomer
Related Use CaseseScooter Availability, Space Availability
StakeholdersEmployee, Management
PreconditionsAn account has already been created in the system
Post conditionsBook scooter, Dock Scooter, View Journey details, Feedback
Flow of activitiesActorsSystem
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 feedbackUpdates 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 conditionsScooter not availableFree space not availablePayment option not valid

Use Case description for Membership

Use Case NameMembership
ScenarioRegistered customer gets an annual membership
Triggering event 
Brief DescriptionCustomer can get annual membership
ActorsSystem
Related Use CasesLogin
StakeholdersManagement, Employee
PreconditionsCustomer must be registered with the system
Post conditionsAnnual membership obtained
Flow of activitiesActorsSystem
The customer logs in and opt for annual membershipThe customer provides the details and confirmsThe system asks for the payment mode and detailsThe system confirms the payment and enables annual subscription for the selected customer
Exception conditionCustomer not registered with the systemInvalid payment details

Use Case description for Check Registration

Use Case NameCheck Registration
ScenarioLogin without registration
Triggering eventLogin
Brief DescriptionTrying to login without registering with the system
ActorsCustomer
Related Use CasesCheck Registration, Registration
Stakeholders 
PreconditionsCustomers trying to login without registering
Post conditionsCustomer redirected to registration page
Flow of activitiesActorsSystem
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 NameCancel Booking
ScenarioCancels a booking
Triggering eventLogin
Brief DescriptionMakes and unwanted booking and wants to cancel the reservation
ActorsCustomer
Related Use CasesBook Scooter
StakeholdersEmployee, Management
PreconditionsCustomer makes an unwanted booking
Post conditionsCustomer cancels the booking
Flow of activitiesActorsSystem
Customers makes an unwanted booking and opts  to cancel the same Customer confirmsThe system asks for cancel confirmationBooking cancelled
Exception condition 

Use Case description for Feedback

Use Case NameFeedback
ScenarioCustomer rides a bike and gives feedback
Triggering eventDock Scooter, View Journey Details
Brief DescriptionUpon 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.
ActorsCustomer
Related Use CasesView Feedback
StakeholdersManagement, Employee
PreconditionsCustomers must take at least one ride before being able to give a feedback.
Post conditionsView feedback, Review
Flow of activitiesActorsSystem
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 reviewsThe customer provided feedback is stored in the systemThe feedbacks are retrieved from the system and displayedThe reviews are stored in the system
Exception conditionIn 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 NameReposition Scooter
ScenarioChecking scooter population in the docking areas and repositioning them
Triggering eventDocking area is almost full or empty
Brief DescriptionThe 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.
ActorsEmployee
Related Use CasesCheck docking station status
StakeholdersCustomer, Management
PreconditionsThe docking area is available and is almost full or empty
Post conditionsThe docking area space is modified (The proportion of scooter population in the stations with that of the empty seats is 1 : 1)
Flow of activitiesActorsSystem
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 conditionsDocking 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.