Sequence Diagrams - Michael, Rebekah, Zach.pdf

Record Payment Use Case Sequence Diagram
:PaymentPane
Clerk
Click Make
Payment
:GUI
:PaymentDetailsCard
:RecordPaymentUseCase
:Customer
:DollarRepresentation
goToCard(“
payment”)
(card shown)
Enter customer’s ID
start(customerID)
if no customer with this ID
exists, an
IllegalArgumentException is
thrown and GUI displays an
error
displayCharges()
getCustomer(customer
ID)
customer
getCustomerFees()
formatDollarAmount(
charges)
charges
charges
charges
Select charges paid, and clicks Paid
removeItem()
updateAmount
ToCollect()
displayCharges()
totalCharges
charge removed and
customer’s list of
total charges updated
Report Copy Status Use Case Sequence Diagram
:StatusPane
Clerk
Enter
copy’s id
and click
Check
Status
:GUI
:StatusDetailsCard
reportStatus
(copyID)
if no copy with this ID
exists, an
IllegalArgumentException is
thrown and GUI displays an
error
:Copy
:Rental
:Title
:Reservation
:Customer
checkStatus(
copyID)
status
[if status is “rented”]
getDescripti
on(copyID)
getDescripti
on(copyID)
description
description
getCustomerName()
getCustomerName()
customerName
customer
[if status is “on hold”]
getDescripti
on(copyID)
getCustomerName()
customer
description
displayStatus
Info()
getCustomer
Name()
customer
Name
Manually Save Use Case Sequence Diagram
:GUI
:MainCard
Clerk
Click Menu
:Main
:StoreDatabase
goToCard(“
menu”)
Click Save
save()
Startup/Shutdown System Use Case Sequence
Diagram
:LoginOutPane
:GUI
:Main
:MainCard
Clerk Click
program to
launch
Enter
password
doLogIn(pa
ssword)
if password incorrect, an
IllegalArgumentException is
thrown and GUI displays an
error
Click Menu
goToCard(“
menu”)
Click Quit
saveStoreData
bse()
save()
quitProgram()
:StoreDatabase
Return a Copy Use Case Sequence Diagram
:ReturnPane
Clerk
Enter
copy’s id,
click
Return
Copy
:GUI
:ReturnUseCase
perform(copyId)
:Customer
:Copy
:Rental
updateStatus(copyId)
if no item with this ID
exists, an
IllegalArgumentException
is thrown and GUI
displays an error
getDaysLate()
getDateDue()
dateDue
daysLate
[if daysLate > 0]
getRentalPeriod()
getRentalPeriod()
period
period
getRentalCharge()
getRentalCharge()
charge
charge
calculateLateFees(period, daysLate, charge)
lateCharges
setRentalLateFee(lateCharges)
chargeLateFee(
lateCharges)
displayAction
CompletedMe
ssage()
:Title
:LateFees