Fundamentals of object-oriented programming
Project 2 – e-Library
The e-Library stores CD, books, journals, and accessories. There are various kinds of books such as books of computer science, Chinese literature, traveling and the likes. Accessories include, for example, video disc, software installation DVD and so on. General activities of e-Library include issues of items to borrowers, updating items details and stock availability levels, fine payment collection, etc. The activities would look very similar to the libraries of any universities or public libraries. Please refer to the following brief description.
General description of objects related to a library:
· Reference periodicals / journals
· Multimedia materials (CD, DVD, software, etc.)
· Students / teachers, or other related personnel, etc.
General description of activities related to a library:
· Add / Change / Delete publications (including books, reference periodicals, etc.).
· Maintain Authors / Publishers of the publications.
· Keep track of activities of reserving, borrowing and returning the publications.
· Enquiry of the information (e.g. location, available quantity and dates, etc.) of the publications
You are required to design and implement an object model in Java using OOP (i.e. a Java program with class definitions with properties and methods, object instantiation, and manipulation, etc.) for e-Library based on the above description. You need to design classes (e.g. books, students, authors, etc.) with their attributes and methods. A sample class and method design can be found here: https://docs.oracle.com/javase/tutorial/java/concepts/class.html. Usually you need to create some class files (i.e. books, authors, borrow / return records, etc.) in Java and some demo classes utilizing the classes created (i.e. books, authors, etc.). Features of object-oriented programming such as inheritance, encapsulation, etc. should be found from your source code in Java. Please refer to the URLs from appendix B.
It is optional to use database connection with JDBC to store the records. If you want to set the initial values of some objects you can consider to assign default values to some variables inside your Java program or simply reuse the approach from Project1 using a .txt file to load the default records for some objects such as books, authors, etc. to the computer memory during the program execution. It is highly recommended you are going to do a research by browsing the internet for library information / database design for building up your library object model.
A project report containing
· the source code in Java and data files (if any) (50%),
· design in diagrams (e.g. block diagrams, flowcharts, UML Diagrams, etc.) (20%),
· and evidence of successful program execution (e.g. screen capture, results, etc.) (30%),
should be submitted on or before the deadline stated in the course document. The source code file(s) should also be submitted to Turnitin/Moodle for similarity checking. The submission link will be created later.
A sample library database / information structure example is given from Appendix A.
Your grade depends on a number of things, including functionality, meeting requirements, successful compilation, comments, variable type declaration, appropriate identifier names, java syntax, good use of library packages, etc. Plagiarism is strictly prohibited. In case of plagiarism, you will be subject to penalty such as mark deduction or failure / zero mark in your assignment.
Appendix B – OOP Concepts in Java