Java programming
PROJECT SCENARIO
You have been hired as a Java programmer by X University. Your first
project is to develop a library management system that can improve the book
borrowing and management process. There are two types of membership; staff
and student. Books can be borrowed by staff and student. Staff may borrow a
maximum of 10 books at any one time, while student can borrow a maximum of 5
books. Staff can borrow book for a maximum duration of 90 days, while student
can borrow book for a maximum duration of 30 days. Book can be renewed if it
not overdue or reserved by someone. Librarian can access the program to check
user borrowing record and display popular book. Overdue book will be charged
at a rate of RM1 for each day and can only be returned by librarian.
Section A (Total 15 marks)
Based on the scenario given, provide your answer for below questions;
1. Design the objects, its features and required behaviours for the given system.
You need to provide justification for your design. (5 marks)
2. Describe where and how you can use encapsulation to secure your code. You
need to justify your answer. (3 marks)
3. Describe where and how you can use exception to minimize possible bug in
your code. You need to justify your answer (3 marks)
4. Suggest two features that are unique and important in this system. Elaborate
the feature in detail. (4 marks)
Section B (Total 15 marks)
Develop appropriate console program according to the project scenario. This
program must be able to perform below task.
1. The program can be login by librarian and member (student and staff).
2. Common functionality for both types of user are;
a. Search and view for book by author, title, and category
b. View book status (available, borrowed, and reserved)
c. View book synopsis
3. Functionality specific for librarian are;
a. Manage member’s details.
b. Manage book inventory.
c. View total for each book status.
d. View popular book based on number of time it has been borrowed.
e. Search and view member borrowing status and late charges
f. Return overdue book and collect overdue charges.
g. View member borrowing history
h. View total overdue charges received
4. Functionality specific for member are;
a. View personal detail.
b. View personal book status, remaining days to due for borrowed
books, and how many more book(s) can still borrow.
i. Perform borrow, if book status is available.
ii. Perform return or renew, if borrowed by the user and not due.4
iii. Reserve book, if borrowed by others.
5. Logout system to allow another user to login.
6. Exit system will close the program.
You must submit your source code with appropriate comment as a
Microsoft Word or PDF document