Question: The users of the bike share program must be able to register, log-in, logoout, and view their ride history though the ride app system. The




The users of the bike share program must be able to register, log-in, logoout, and view their ride history though the ride app system. The system must track information about each user's ride, including the start time, end time, bike ID, User ID, and the start and end stations. Each bikeshare station can update the status of the bike and provides the inventory of available bikes. Each bike has an ID, status, and current location if it is at a station. The possible bike status values are: Available: bike is at a station and can be taken for a ride Reserved: bike is at a station and has been assigned to a user for a specic date/ time. CheckedOut: has been taken by a user Maintenance Hold : After 24 hours of being checked-out, the bike will be held for inspection and maintenance Service Hold: the user can indicate that there is an issue with the bike which requires maintenance. For this phase of the assignment create a 0 domain model 0 use case diagram c class diagram based on the background description above. Identify any information you believe would be important for the design that you would ask the stakeholders, and any assumptions you believe you can have in order to being your design User Attributes: ID, name, email, password, rideHistory Operations: register(), login(), logout(), viewRideHistory(), cancelReservation() Bike Attributes: ID, status(BikeStatus), location, maintenance(BikeMaintenance) Operations: checkin(), checkOut(), reserve(User, time), tellService(), holdForMaintenance() Station Attributes: name, location, ID, inventory Operations: updateBikeInventory(), getAvailableBikes() Ride Attributes: ID, start_time, end_time, bike_id, status(BikeRideStatus) Operations: checkBikeAvailability(), updateBikeInventory() Bike Reservation Attributes: bike_id, user_id, start_time, end_time BikeMaintenance Attributes: last_maintenance_date, last_inspection_date, next_maintenance_date, next_inspection_dateBased on your design models, implement the classes for your BikeShare system. Document various test scenarios that illustrate typical scenarios Create JUnit test cases for each scenario Validate your implementation using against the test cases
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
