The scenario
A university library system stores details of its books according to author, title and classification. Each classification code (which describes books on a given topic) takes the form XX999.999 where X represents an alphabetic character and 9 represents a single digit. Multiple copies of each title may exist.
Student and staff may borrow books from the library, provided they are registered as user on the system. Each user has a unique identifier consisting of 5 digits. Students may borrow up to a maximum of 3 books at any one time, while staff may borrow upto 5. Books issued on a long-loan basis must be returned within a period of 3 calendar months for students, and 6 months for staff. Short-loan books must be returned within 7 days of issue for both types of user.
When a book is issued, the user’s profile is updated to record details of the book borrowed and the required date of return. The status of the book is also recorded as either available, or on loan.
Your task
Your task is to design and implement a prototype system that will enable the library to keep track of its stock. Your system should provide the following functionality. It should allow the librarian to:
• Add or remove users from its list of users.
• Add or remove books from the library catalogue.
• Loan a book to a student or member of staff.
• Return a book from a student or staff.
• List all books by a given author and report the number of each title currently available.
• List all books of a given title and report its availability.
• List all books with a given classification code.
• List all overdue books, with details of the borrower.
Access to the facilities of your system should be via text-based menus that appear on the terminal screen. All input should be via the keyboard.
Please state the assumptions before coding and a brief understanding of the problem..
UML Class diagrams, design, coding, testing of the program are required.
