Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
For
Prepared by
The Bike Reservation System (BRS) requested by the Golden Bike Shop for development and
implementation is a new system that will free up employee time by allowing customers to rent bikes
through an application. The application can be accessed on either a desktop or mobile device through a
web browser, or in-store on a tablet configured with a swipe-to-pay billing system. The BRS exposes the
ability for a customer to reserve a bike ahead of time or reserve in-store for a selected time period. The
BRS also allows customers to select a date and search by bicycle type.
In addition to these features that benefit the customer, the BRS allows employees, managers, and
administrators to use the system. Employees can make notes on the condition of the bike when it is
returned, managers can adjust bike rental rates and late or change fees, and administrators can
generate reports. Overall, the system enhances the bike rental process for customers, employees,
managers, and administrators.
The internal stakeholders involved in this project are the owners of the Golden Bike Shop that are
funding this project. Their role is to give the development team a statement of work. Internal
stakeholders also include the employees, managers, and administrators of the bike shop.
The external stakeholders involved in this project are the customers of the bike shop who use the
software to rent and reserve bikes. Their entire experience is directly affected by this project.
Refined Requirements
Refined requirements for the Bike Reservation System (BRS) include the following:
• The Golden Bike Shop has tablets for customers to use when reserving a bike through the BRS in the
store
• The in-store tablets have a swipeable card reader for in-store customers to use when providing
payment information to the BRS
• When administrators are viewing reports generated by the BRS, they simply view it on their device
(they do not print it)
• The reports generated by the BRS do not need to be saved, they are simply a view on top of
underlying class entity objects
• The Golden Bike Shop only accepts payment in the form of credit cards
• The BRS only accept U.S. addresses for billing information at this time
• When a customer swipes their card in the store, they must provide a signature which is approved by
the BRS
• Online customers can enter billing payment information that is different than their contact
information
• If a customer tries to cancel a reservation more than 24 hours ahead of their reservation start date, a
cancellation charge is charged to their card but the cancellation succeeds. If a customer tries to cancel
a reservation less than 24 hours ahead of their reservation start date, the cancellation does not
succeed.
Below is the full Use Case Diagram for the Golden Bike Shop Reservation System.
Priority: Medium
Non-behavioral ---
requirements:
Assumptions ---
Issues: ---
Post Conditions: The bike(s) that the customer selected are marked unavailable
in the system, meaning no other user can select them at this
time.
Priority: High
Non-behavioral ---
requirements:
Issues: ---
Brief Description: The online customer enters their payment information into the
BRS web app interface.
Preconditions: The online customer has searched the inventory for a bike they
want, and has selected the bike for a specific day.
Flow of Events: 1. The BRS prompts the user to enter their payment
information.
2. The user enters their payment information.
3. The external payment system validates the payment
information.
4. The payment information comes back valid.
5. The customer is cleared for the bike rental.
Post Conditions: The bike is considered “rented” for that time period and the
customer is responsible for physically picking up the bike for the
period they rented it for.
Priority: High
Alternative Flows and 1. The BRS prompts the user to enter their payment
Directions: information.
2. The user enters their payment information.
3. The external payment system validates the payment
information.
4. The payment information comes back invalid.
5. The system displays a payment invalid message.
6. The customer is not cleared for rental and the bike is
marked available again in the system.
7. The customer’s reservation process is restarted.
Issues: ---
Preconditions: The in-store customer has searched the inventory for a bike
they want, and has selected the bike for a specific day.
Flow of Events: 1. The BRS prompts the user to swipe their payment
information.
2. The user swipes their payment information.
3. The external payment system validates the payment
information.
4. The payment information comes back valid.
5. The customer is cleared for bike rental.
Post Conditions: The bike is considered “rented” for that time period and the
customer is responsible for physically picking up the bike for the
period they rented it for.
Priority: High
Alternative Flows and 1. The BRS prompts the user to swipe their payment
Directions: information.
2. The user swipes their payment information.
3. The external payment system validates the payment
information.
4. The payment information comes back invalid.
5. The system displays a payment invalid message.
6. The customer is not cleared for rental and the bike is
marked available again in the system.
7. The customer’s reservation process is restarted.
Issues: ---
Post Conditions: The bike is considered “available” in the inventory, and will
show up in a search of the available inventory.
Priority: Medium
Non-behavioral ---
requirements:
Assumptions ---
Issues: ---
Brief Description: The customer returns the bike to the store and marks it
returned in the BRS.
Preconditions: ---
Priority: High
Non-behavioral ---
requirements:
Brief Description: Employee must re-rack and update the system to show the bike
as returned.
Preconditions: Bike has passed inspection and the customer showed up.
Post Conditions: Bike will show up in database and be ready for rent!
Priority: High
Issues: ---
Brief Description: Managers can use the BRS to update the charge amount for
reservation changes and reservation cancellations.
Preconditions: ---
Flow of Events: 1. Manager accesses the BRS app with special admin
credentials.
2. Manager updates the charge amount for reservation
changes.
Post Conditions: The new values for reservation change charges and reservation
cancellation charges are reflected in the system.
Priority: Low
Alternative Flows and 1. Manager accesses the BRS app with special admin
Directions: credentials.
1. Manager updates the charge amount for reservation
cancellations.
Non-behavioral The manager must be able to update these values at any time of
requirements: the day.
Assumptions ---
Issues: ---
Brief Description: Based upon bike type the manager needs to set a price to be
used in charges calculation.
Preconditions: ---
Post Conditions: The updated rental rate for the type of bike is reflected
throughout the BRS.
Priority: Low
Non-behavioral ---
requirements:
Assumptions ---
Issues: ---
Brief Description: Manager needs to be able to add or remove bikes from the
database.
Preconditions: ---
Priority: Low
Alternative Flows and 1. Manager accesses the BRS with special admin
Directions: credentials.
2. Manager begins the “remove bike from inventory”
process.
3. The manager selects the bike to remove and submits the
request.
4. The BRS marks the bike as unavailable in the system.
Non-behavioral ---
requirements:
Assumptions ---
Issues: ---
Brief Description: Feature that will print out itemized report for owner/manager.
Priority: Low
Non-behavioral ---
requirements:
Assumptions ---
Issues: ---
Brief Description: Admin will need to filter through inventory and select a specific
bike to generate a report for.
Preconditions: ---
Priority: Low
Assumptions ---
Issues: ---
1. Bike class is referenced by a Reservation class, is stored in the Inventory class, and maintains bike
information that includes the following attributes:
3. Administrator class maintains information about an administrator that includes the following
attributes:
5. SystemPrices class maintains system-wide, singleton information about prices, which can be adjusted
by managers, and is used by the Reservation class to determine final charge amounts:
8. Customer class maintains information about a customer that includes the following attributes:
<<user interface>>
<<system interface>>
Coordinator Objects
<<coordinator>>
• CustomerCoordinator: coordinates requests from customers to interact
with the system
Service Objects
The objects laid out above participate in the use cases in the following ways:
Bike: This is an entity object needed to maintain information about the bike
that is being returned so that the bike can temporarily be set to “out of
service” until it is inspected by an employee
Bike: This is an entity object needed to maintain information about the bike
that is being inspected by the employee, and can be put back in service by
the Employee after its inspected
Bike: This is an entity object needed to maintain information about the rental
price of a bike that is adjusted by the manager in this use case
Press.
Stephens, R. (2015). Beginning Software Engineering. Indianapolis, IN: John Wiley &
Sons.