Design Problem
A library needs an automated system to monitor the circulation of books
in its collection. The system must provide the following functions:
Add new books purchased to the collection and delete "expired" or lost
books.
Add or delete patrons from the system. A patron has a name and an
ID number that is bar coded on the person's library card.
Allow a patron to search for a book in the collection based on author
or title. The search should return the catalog information
(Publisher, copyright date, and number of pages) along with the book's
circulation status.
Allow a "hold" to be placed on a book currently on loan. When the
book is returned, the system should automatically send an email message
to the patron who requested the hold, informing them the book is being
held for them.
Respond to queries about the status of a patron including books
borrowed and/or overdue, and the overdue fines accrued (if any).
Assume each book has a bar code marking with its catalog code.
Allow staff to update the patron's e-mail address or borrowing period
(2 weeks, 1 month, or 3 months).
Issue ("check out") books to patrons. If the patron borrowing the
book has any outstanding fines, displaying an alert.
Return ("check in") books to circulation. If the book is overdue,
calculate the late charge and update the patron's record.