Sie sind auf Seite 1von 5

2a.

Domain class diagram








2b. Use case diagram



2c. CRUD analysis

Use Case Book
Title
Book
Copy
Loan Book
Copy
onLoan
Patron Reservation
Search for book title R R
Reserve book R R C
Check out books U C C R U
Check in book U U
Enter new book information C C
Print book title report R
Delete book copy information D
View overdue books R
View reservations R

NEW USE CASES
Update book information U U
Update Patron information U
Correct reservation U
Print loaned book reports R R
View Patron information R
Remove book from library D D

END OF PERIOD CLEANUP
Remove old loan information D D
Remove old reservation information D


Sequence diagram for the use case Check out books in the university library system.
1a. Develop a first-cut sequence diagram, which only includes the actor and
problem domain classes.

LibraryEmployee
:CheckoutHandler
verifyPatronForLoan (ID)
name, addr, tele, type, status
*checkOutBook (bookID)
title, author, copy#, dueDate
closeLoan ( )
aP:Patron
aP := getParon (ID)
aL:Loan createLoan (aP)
checkOutBook (bookID)
aLI:LoanItem
createLoanItem (aBT,bookID)
:BookCopy
title, author, copy#, dueDate
title, author, copy#, dueDate
closeLoan ( )
aBT:BookTitle
ReservationCatalog
aR:findReservatio (aP,title)
[exists] updateRes ( )
Check Out Books Domain classes only

PatronLIst

LoanItemList
Design depends on contents of bookID,
assume it includes cat#, copy#
aBT:=getBook (bookID)
getInfo ( )
title, author
updateStatus (copy#, checkedout)
aR:Reservation

BookTItleLilst
info := getPatronInfo( )
1b. Add the view layer classes and the data access classes to your diagram from
part a.


LibraryEmployee
:CheckoutHandler
verifyPatronForLoan (ID)
name, addr, tele, type, status
*checkOutBook (bookID)
closeLoan ( )
PatronDA
aL:Loan
createLoan (aP)
checkOutBook (bookID)
aLI:LoanItem
createLoanItem (aL, bookID)
BookCopyDA
title, author, copy#, dueDate
title, author, copy#, dueDate
closeLoan ( )
BookTitleDA
Check Out Books
aBT:=getBk (bookID)
updateStatus (copy#, checkedout)
createBC (info)
aP := getPatron (ID)
aP:Patron
createPatron (info)
aBT:BookTitle
createBT (info)
aBC := getBC (bookID)
aBC:BookCopy
saveBC (aBC)
LaonItemDA
save (aLI)
LoanDA
save (aL)
Two ways to use the DA classes
1. Create an empty object, which goes to DA to fill in
the attributes.
2. Go directly to DA, which creates the object.
<<View>>
CheckOutForm

Das könnte Ihnen auch gefallen