Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Programming knowledge is based on the programmer s experience with various standard structures, generic designs, and templates, to address specific scenarios in real - life

Programming knowledge is based on the programmers experience with various standard
structures, generic designs, and templates, to address specific scenarios in real-life
scenarios. Therefore, it is crucial to provide practical evidence of the application of
concepts presented in this module.
The scenario should be based on the case study given below:
SG Online Library App (SOLA):
In SG, the library allows borrowing and returning of books, periodicals, and
audio books. There are borrowers who can borrow up to 8 items. The borrowers
would have an account with SOLA to track the items borrowed and fines if any.
SOLAs administrators should be able to perform functions related to books and
borrowers. Hence, the system SOLA should allow the user (borrower or admin) to
do the following:
For the Borrower:
1. Borrow up to 8 books, periodicals, or audio books if the user has no fine.
2. Return up to all the items borrowed.
3. Search for a particular item by title, category, language, year published, or author.
4. Upon searching, the details of the item can be displayed.
5. Search all items belonging to a particular author creator.
6. Check the due date of the borrowed items.
7. Pay a fine if the user owes a fine to the library.
For the Administrator
1. Search for a particular item by title, category, language, year published, author, or display
all items in a paginated format.
2. Display the details of a selected item.
3. Add new items into the library or remove the items.
4. Maintain a database for borrowers.
5. Locate all borrowers with unpaid fines.
6. List a list of items borrowed by each borrower.
Program Design
a) Use appropriate classes to implement the Book, Periodical, Magazine, and Audio Book. Be
sure to indicate any relationship (eg. Inheritance, compositions)
b) Create a LibraryTree in the form of a Binary Search Tree to store objects the Library has for
the users to search.
c) Use classes to model the Borrower and Library Administrators
d) Use a doubly linked list BorrowerList to store the Borrowers for searching, removing,
creating or modifying.
e) Use another class BorrowedItems with a suitable data structure to store the borrowed
items for tracking, the borrower account number, the item borrowed, and the date
borrowed.
Basic Information about Classes and Objects
The Borrower object stores information about a borrower, such as the first name, last
name, account number, and a list of rented items. The Borrower object would also have
information about its username and password (you can assume the password is
protected).
The Administrator object stores the following: username, password as well as first
name and last name.
The Book object stores the following: The title of the book, category, language, a list of
authors, isbn and year published.
The Periodical object stores the following: The title of the book, category, language, a
list of authors and year published.
The AudioBook object stores the following: The title of the book, category, language, a
list of authors, and isbn and type of audio format (eg. mp3, au) and year published.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Data And Information Quality Dimensions, Principles And Techniques

Authors: Carlo Batini, Monica Scannapieco

1st Edition

3319241060, 9783319241067

More Books

Students also viewed these Databases questions

Question

Define learning and list at least three learning principles

Answered: 1 week ago