Using Java, develop an application for a library to keep track of its inventory and customers.
Apply the object-oriented design methodology and data structures to create a user-friendly application with user-defined/Java API classes.
A new public library is about to open in your neighborhood. However, it does not have a program to keep track of its books and customers.
The library managers have selected your team to analyze, design and implement a suitable application.
The managers will be hiring a librarian to run this application.
They have requested that the application should be capable of performing the following operations:
- Maintain the inventory of books – add, edit, remove.
- Add new customers.
- Display a detailed list of all the books in the library along with the number of copies( for e.g. total, borrowed, in hand)
- Search for a book in the catalog and displays its details.
- Borrow a book.
- Show the details for the borrowed book (for example, due date)
- Return a book.
- Show the details for the returned book.
- Calculate the fine/charges for late returns of books for:
a. a child up to 12 years – there is no charge.
b. teenager (13 to 17 years) -- it is half of that for an adult.
- Display detailed information of all the books borrowed by each customer.
Your team is given the role to identify the business rules for this application. This must in the form of a one or two page/s report that can be presented to the managers.
Once this is gathered, object-oriented analysis and design must be done by your team. An UML class diagram must represent and support this.
Thus, the team can proceed with the development and implementation of this application.
It must be user-friendly, support and apply the business rules, object-oriented analysis and design.
Your team must add an extra feature to enhance the functionality of this application.
- The application can be a GUI or Console.
- Data must be stored in a file.
- Use appropriate identifier/ class naming conventions, constructors, properties and methods.
- Any user input must be validated.
- In addition to the user-defined classes/interfaces for linked lists and exceptions, any appropriate Java classes can be used from the Java API.