This coursework involves the development of a Library Management System (LMS) for Knowledgica library, utilizing Java and object-oriented programming principles. The system provides functionalities for managing books, including adding, deleting, modifying, searching, checking in/out, and reporting. The LMS supports three user types: administrators, librarians, and guests, each with different access levels. Administrators have full control, librarians have restricted access, and guests have minimal privileges. The project requires user authentication and authorization, data storage in files, and comprehensive documentation, including use case diagrams, activity diagrams, class diagrams, and implementation code showcasing object-oriented concepts. The assessment criteria include program solution and documentation, a research report, and a presentation. The system must be implemented in Java, and the code must be free of errors with validations for user entries.