Question: Scenario: You have been tasked with developing a simple console - based application for a local library. The library wants to computerise its book lending

Scenario: You have been tasked with developing a simple console-based application for a local library. The library wants to computerise its book lending system to make it more efficient for both library staff and patrons. Your task is to create a program that allows library staff to manage book records, check book availability, and process book loans and returns.
Assignment Tasks: Make screenshots of the source code and paste next to each question.
1.
Design and implement a class to represent a Book: (10 Marks)
The Book class should have attributes such as title, author, ISBN, genre, and availability status.
Include methods to get and set these attributes, as well as any other methods you deem necessary.
2.
Create a Library class to manage book records: (10 Marks)
The Library class should contain a list or dictionary to store Book objects.
Implement methods to add new books to the library, remove books, display all available books, and search for books by title, author, or genre.
3.
Develop a user interface for the application: (20 Marks)
Design a simple console-based interface that allows library staff to interact with the Library class functionalities. Provide screenshot for both source code and the interface.
Provide options for staff to add new books, remove books, display available books, search for books, and process book loans and returns.
4.
Implement book loan and return functionality: (10 Marks)
Add methods to the Library class to handle book loans and returns.
Ensure that the availability status of books is updated accordingly when a book is loaned out or returned.
5.
You are advised to test the application thoroughly:
Test each functionality of the application to ensure it works as expected.
Handle potential edge cases such as attempting to loan a book that is not available or attempting to return a book that is not on loan.
4
Theory Questions:
1.
Describe the main components of your program and how they interact with each other. (5 Marks)
2.
Explain the importance of encapsulation in object-oriented programming and how it is applied in your Book class. (5 Marks)
3.
Discuss the advantages and disadvantages of using a list versus a dictionary to store book records in the Library class. (5 Marks)
4.
Provide an overview of the user interface you developed for the application and explain how users interact with it.(5 Marks)
5.
Describe the process of adding a new book to the library through your program. (5 Marks)
6.
Discuss the steps involved in searching for books by title, author, or genre in your program. (5 Marks)
7.
Explain how book loans and returns are processed in your application and how the availability status of books is updated accordingly. (5 Marks)
8.
Discuss any challenges you encountered during the development of the program and how you overcame them. (5 Marks)
9.
Describe the testing process you followed to ensure the functionality and reliability of your application. (5 Marks)
10.
Reflect on the overall experience of developing this program and discuss what you have learned about programming concepts and practices. (5 Marks)

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!