Python Book Repository OOP Assignment

Problem Statement: Small Book Repository Design and implement a simple interactive Book database for library users. In addition to building the base, the program should be able to search a particular book title from the database. The purpose of this lab is to gain experience in python’s class, methods and inheritance features.


In this assignment:


1. You need to use the concept of object, class, methods and inheritance.

2. Proper documentation for each of the methods and exception handling are required.

3. No need to write a pseudocode.


Program Design:


1. Before starting of the program draw a general outline of your code. Think about it from the operational perspective:

a. What should be the base class? Hint: Think about a Book class.

  i. What are the methods and attributes that are common among all the classes?


b. What should be your sub classes? Can you identify the IS-A relationships? Hint: Different genre since they have some additional information to keep track of.

   i. What are the methods and attributes needed to properly define a subclass?

   ii. How to use the init of the superclass?


c. How to design the search options for the user?


2. Based on the information from the step 1, write the class definition and methods.


3. Start the input file processing and create the objects to build the database.


4. Design the main menu structure as provided in the sample I/O.


Input file specification:


Novel,Girl with no name,Deborah Rai,S1234,Historic Novel,Despicable me,Jane Joe,S245,Mystery Scifi,Journey to the moon,Ashley Howler,S789,10.10.2018,Rm1 Scifi,The calculating stars,Mary Kowal,S123,No upcoming movie

Genre,Title, Author(s), Stack no to locate the book in library (starts with S), Additional Information


The additional Information depends on the genre of the book.


1. If the genre is novel then the additional information provide sub-genre information and it can be Mystery novel or Historic Novel.


2. Library often arranges a scifi movie night for its customer. If the genre is scifi the additional information provides the upcoming movie night date and location. Some scifi book does not have any upcoming movie date.


Program Output and Behavior Specification:


Once the program has read in the data file, it should build the database using the OOP concepts, once it is done, it should request and process search query from the user. The format of the query should be similar to the following. You can be creative on how you want to design the layout of the program. One sample run can be as follows: but for design interface you can be creative.

Need a custom answer at your budget?

This assignment has been answered 3 times in private sessions.

© 2024 Codify Tutor. All rights reserved