Use Cases: Library
1. Use Case: Sign Book In
Initial State: Book is marked as checked out in the system and the librarian is logged into the system.
Main Flow of Events: A patron of the library approaches the librarian with a book to return. The librarian first selects “Sign in Book” from the system then scans the book’s bar-code with the reader. The system searches the book catalogue. When the book is found, it is marked in the database as being available. If the book(s) is overdue, then an administration fee is either charged to the patron at this time, or is added to the patron’s account.
Exceptional Flow: If the book being checked in is already marked as being checked in an error message will display, then a librarian must go and manually find the book in the stacks to verify.
Exceptional Flow: If the book has been requested by another patron before it was returned, that patron is then notified that the book has been signed back in.
Final State: Book is signed in, applicable fees are charged to the patron where appropriate.
2. Use Case: Request Book
Initial State: Patron has remotely connected to the system and is logged in
Main Flow of Events: The patron searches for a desired book and finds that the book has been signed out. The patron decides to request the book, so he/she selects “Request Book”. The system then places the patron’s ID into the database and marks it as being requested by this person.
Exceptional Flow: If the book is already requested by another patron, there will be a notification of this displayed to the patron trying to request the book out and the request will be denied.
Final State: A book that is signed out is now listed as being requested by another patron.
3. Use Case: Sign Book Out
Actors: Patron, Librarian
Initial State: Book is available; Librarian is logged into the system
Main Flow of Events: The Patron finds a book in the stacks that they are interested in. The patron takes this book to the librarian who scans the bar-code. The system searches the catalogue for the scanned book, when the book is found, it is then marked as signed out, the patron’s ID is listed as the patron who currently has the book, and the date and time are recorded to calculate the due date.
Exceptional Flow of Events: When the book is scanned, the system finds the wrong records. The problem is due to either the book having the wrong bar-code, or the scanner made a false read.
Exceptional Flow of Events: The book is marked as signed out. This would be caused by a book being returned to the stacks without being signed in. In which case, the fees on the account of the patron who previously had the book may also need to be adjusted.
Final State: The book that the patron selected is signed out, due dates and timestamps are added to the book record and the patron’s account record.
4. Use Case: Order Books
Initial States: Librarian is signed into the system
Main Flow of Events: The Librarian selects “Order Book”, from the system. The system will prompt the librarian for the ISBN number associated with the desired book. Once found, the system will prompt the user to enter a quantity. After the quantity is entered, a total cost is compiled and compared with the remaining budget (set by the administration), if the amount fits within the constraints of the budget, then the order is fulfilled.
Exceptional Flow of Events: If the order exceeds the budget, the order is denied.
Final State of Events: An order for a quantity of a book is submitted for fulfillment.