President's Choice Software Functional Specification User Interaction |
Contents | |||||
Introduction | |||||
Screen Shot | The Library Management System (LMS) being developed for the Springfield Public Library has been broken down into three main parts: |
|
Screen Shot | Upon startup of the system, the user will be required to enter a name and a password. Once the user's login has been validated, the system determines if the user is a supervisor or a librarian. A librarian will be allowed access to all of the features of the library management system unless otherwise specified (example see the setting of the customer max fine and max books specification), while a supervisor will be given complete access to the system including all functions and information. The supervisor will also be given the ability to add new librarians and new supervisors to the system through a selection on the main screen. |
Hardware / Software Requirements |
The LMS will be designed to be run on IBM compatible machines running Microsoft Windows '95. The PC will be required to have at least a 486 DX-33 with 16 MB RAM. Storage space depends on the amount of information that needs to be stored. For the Springfield Library, 3 or more Gigabytes is recommended (the large size is due in part to the need to back-up large amounts of data). |
Help System |
Help on using the system is available at any time simply by pressing the help button on the current screen. The part of the help file pertaining to where in the program help was requested will be displayed. |
1. Book administration | |||||
General information |
Screen Shot | The book administration section is responsible for the maintenance of information about books currently in the library. Both librarians and supervisors have access to this section, which allows them to: |
|
Add a book |
Screen Shot | First the user will be asked to input an ISBN number. If the information about the book with the specified ISBN number is found, the librarian will be allowed to either modify the information on that book or continue to add book copy information to the database system . |
This was an excellent dialog. The layout is visually very pleasing and simple yet the dialog contains a lot of power. The new buttons on the sides of Subject, Book Category, and Media Type were ingenious.
Outstanding.
If the information about the book with the specified ISBN number is not found, then the librarian will be prompted to input the necessary information about the book into the system. The information that will be required is as follows: |
|
After entering the book information (or if the information has already been entered previously), information on the copies of the given book will be entered. |
Librarians will be asked to enter the following information: |
|
New circulation statuses can be added like adding a location. |
Upon completion of adding the information for a copy or copies of a book, a new, unique call number will be assigned to each book. After completing the entry of the information the librarian will be given the following options: |
|
Delete Book |
Librarians have the ability to remove a copy of a book from the database by calling the delete book procedure. This does not remove the information about a book from the database but instead only deletes the specific book copy information. The book information such as the ISBN number, title and author etc cannot be deleted and has no effect on the inventory of the library. A book copy cannot be deleted while it is on loan. |
When deleting a book, the librarian needs to input only the call number of the book. If the unique call number is not known or invalid, the librarian will be allowed to search for the book by entering search criteria and selecting from a list of the books that match. |
Book Administration: Search for a book |
Screen Shot | Searching through the books in the library system is done by using a number of search criteria. When the librarian initiates a search, he or she will be presented with a blank form with the available search criteria edit boxes empty. By filling in the criteria box with a search term, the librarian will ask the system to provide a list of all of those book copies in the library that match or partially match the criteria specified. There are certain criteria which require a complete match, as indicated below. Those which require only a partial match will allow all of those entries with a portion of the selection identical. Leaving a criteria box empty will mean that all values found should be returned. The librarian can initiate a search based on the following criteria: |
|
These subject terms can be used in any combination. If the librarian wants to search for all journals from a specific author on a certain subject, the librarian would only fill in those fields and leave the others empty. |
The result of this search will return a listing of all of those entries in the book information tables that match the searching criteria. These lists generated by the searching can be saved or printed out in the form of a report. By selecting one of the books listed and choosing to view details, a more detailed report on a specific book and all of its copies can be obtained. This is the same report that is generated by using the View a book command in the book administration menu. |
The search for a book dialog was done very well. It looks very usable.
The New buttons however are not needed on this dialog as when a user is searching, he will not be adding new categories. These buttons seem to convey the wrong message about dialog's purpose. Also, instead of having the relation group box for the cost field, we feel it would look better to have two edit boxes, one for the min price of a book and one for the max price of a book. This way a user could search for books within a given price range.
View A Book |
Screen Shot | Takes as input an ISBN number and returns to the user a detailed report of the book that matches the ISBN number. This report contains the following: |
|
A listing of all of the copies of the book will be included with the report in the form of a table, which will include the: |
|
This detailed information can also be saved and printed as a report. |
The 'view a book' dialog looks great. We especially like the ease of navigation that the grid control at the bottom provides. It is very easy to view copies of other books and to update them. That was a very creative user interface idea. We love it.
View Book Copy |
Screen Shot | The librarian has the ability to view a single book copy by inputing the call number of the book. If the call number of the book is not known, the librarian will be given the opportunity to search for the book by ISBN number or book title. If the book is not found, a message telling this to the librarian will be given. |
The following information will be available when a book copy has been found: |
|
Along with this, a table of the book information will be displayed at the top of the screen including: |
|
Each book copy report will also display who currently has this book copy on loan (if any) and who has this book copy on hold (if any). A more detailed information screen on these customers is also available by pressing a button. |
This information can both be saved or printed at the press of a button in the form of a report. |
Updating a book can be done in two ways: |
|
When updating using an ISBN number, the librarian will input the ISBN number and a form with the book's information will be displayed along with a list of those book copies currently in the library. The librarian will be able to change the following information about the book: |
|
The librarian will also be able to modify the following book copy information: |
|
(Note: the ISBN number of a book and call number of a book copy cannot be changed). |
When updating using a call number, the book copy information will be displayed and the librarian will be allowed to change the following: |
|
(Note: the call number of a book copy cannot be changed). |
2. Customer administration | |||||
General Information |
Screen Shot | The customer administration menu is used by the librarians to: |
|
Add A Customer |
Screen Shot | Adding a customer is done by filling out a form with the new customer information. The following information is required: |
We have to be able to change the restricated access flag of a customer as well. If a customer informs us his card has been stolen, we will have to be able to set a user as restricted manually. |
Once added, the customer will be assigned a unique user ID number which can be used to specify who takes out a specific book. |
If the customer that is being added already exists in the system, the customer will not be added again and a message informing the librarian will be displayed. |
Cases where two customers have the same first and last names are allowed, providing each has a different address and phone number from the other. Otherwise, the new customer will not be added. |
Remove A Customer |
The librarian removes a customer by inputing the user's unique ID number. Should the librarian not know the user ID or the user ID being input is invalid, the librarian will be asked if he or she wants to search for a customer by name or phone number. |
The librarian will be asked if he or she really wants to delete the customer. If he or she cancels the action, the customer will not be removed. |
Once a customer has been removed from the database there is no way of returning except to re-enter the information. |
Modify A Customer |
To modify a customer, the librarian will input the user ID number of the customer. Once again, if the user ID is not known, the librarian will be given the opportunity to search for the customer by name or phone number. Once found, the following attributes can be changed: |
|
Security Note | Some Customer properties can only be changed by a supervisor. These include fines, max books, and max fine. If an attempt is made to change any of these properties by a librarian or regular user, the system will prompt for a supervisor to enter his or her name and password. |
View A Customer |
Viewing a customer is done by inputing the user ID number. If the ID number is not known or incorrect the librarian can search by the name or phone number of the customer. Once a single customer has been found the following information will be displayed onto the screen: |
|
Along with this individual information on the customer, a table containing the book information on all of the books on loan by or on hold for this current customer. This information can then be printed or saved to a file in the form of a report. |
Searching Customers |
Screen Shot | Searching the customer database can be done based on a number of criteria. The method of entering this criteria can be input in a manner similar to searching for books. These can be used in any combination and the resulting customers that match those criteria will be displayed in a table which can be saved or printed. The following criteria can be used: |
|
The circulation status field will return all those customers who have loans which match the specified criteria such as books On Loan. |
If no matching customers are found, the resulting list will be empty. |
This information can be saved and printed in the form of a report with the press of a button. |
Note | (Information on the fines for a particular customer will not be displayed here. This is because that information will need to be calculated for each individual customer. As a result, the time needed to recalculate this for each entry in the list would exceed the requirements specified. For information on the fines for an individual customer, that customer must be specified). |
3. Transaction administration | |||||
General Information |
Screen Shot | The transaction administration menu is used to maintain information on the loaning of books by customers in the library system which include: |
|
Borrowing A Book |
Screen Shot | When a customer borrows a book, the librarian will be required to enter the unique user ID of the borrower. If the user does not have an ID there will be a button that can be used to directly add a new customer and use the new ID number without having to leave the borrowing of a book screen. If the user ID number entered does not exist, the librarian will be given a chance to search by name or phone number, or enter a new customer. |
It would be nice to have a temporary place to enter the call numbers of the books to borrow. We know this dialog will be hooked up to our scanner eventually, but in case of break downs or something it would be handy to be able to manually enter Call numbers of borrowed books.
If the customer is not able to borrow the book, a message explaining the problem will be displayed to the librarian and the transaction will be cancelled. |
Customer's Report | Once the book is borrowed, the librarian will be given two choices: print a report of the transaction and exit or simply exit. The report will contain information on who borrowed the book, the book copy information, when the book is required to be returned and the cost of not returning the book on time. Information about the library (including the address and phone number) will also be included. This report is intended to be given to the customer when he or she borrows a book. |
Returning A Book |
Whan returning a book the librarian will just enter the book's call number. The database will be updated, and the system will check if that book has been placed on hold. If so, a message will be displayed containing the holder's: |
|
The librarian then has the option of printing this information and leaving or just leaving this screen. |
Renewing a book |
A renewal is handled in the same manner as returning a book except that if the book is not on hold, it will automatically be borrowed by the same customer again. |
The librarian will be asked to enter the call number of the book that will be renewed. The customer ID number is not required because the book will simply be returned then borrowed again by the previous borrower. |
The same report that is generated when a customer borrows a book will be generated by renewing the book if the librarian requires. The librarian will be given the opportunity to print this report and exit or just exit the screen. |
Putting Books On Hold |
Screen Shot | To put a book on hold, the librarian must input a call number (if not known, the call number can be looked up by ISBN number or book title) as well as a user ID number (if not known, the user ID number can be looked up by customer name or phone number). |
If the ISBN number or user ID number are not valid, the new book and/or new customer can be added directly. |
If the book cannot be placed on hold (due to it being reserved or the customer having too many on hold) a message will tell the librarian about this circumstance. |
Once the book has been placed on hold, the librarian has the option to either exit the screen or print a report on the held book. |
Send mail to the Group Leader
or the Webmaster
Back to the Main Page
The user interface portion of the functional specification was very well done. We found the screens easy to understand and easy to use. They will make our library tasks much easier.
A single book may have multiple subjects. It seems from the 'Add a Book' and 'Search for a Book' dialogs that books are associated with only one subject. We would like some way to be able to relate books to more than one subject.
The ability to save text files is an unnecessary part of the system. Allowing the user to generate reports visually and print them as well will be enough functionality.
It would be nice to have one dialog for adding codes to any of our code sets. These include things like