Starting from:

$34.99

CSC1024 Programming Principles Solution

Development of A Personal Book Management System using Python

1.0 Assignment Description a) Assignment Scenario
As a book enthusiast, you have amassed a huge number of physical books in your personal library over the years that span across various literary genres. With your newfound knowledge of Python programming, you would like to use it to keep track of all the books in your collection. Hence, the main aim of this programming project is to develop a personal book management system using the Python 3 programming language.


2.0 Programming Requirements a) Initial Data Preparation
The book management system will require you to prepare a text file containing all the initial data.
• books_StudentID.txt - Contains initial data of at least 20 initial book information. The information that should be tracked within the book management system is the ISBN, author, title, publisher, genre, year_published, date_purchased, and status. The information stored within the text file acts like a database containing all the book information.


Example of the text file:
• books_StudentID.txt

b) Program Functionality
The book management system developed should provide the user with a menu of action items that could be executed repeatedly until the user explicitly chooses to ‘Exit’ the program. The options that should be provided to the user in the form of a main menu are as follows:
(a) Add Book Record(s)
o Add book information(s) into the system.
o Within this submenu, the user must be able to add information of single/multiple books.


(b) Delete Book Record(s)
o Delete book information(s) in the system.
o Within this submenu, the user must be able to delete information of single/multiple books.
(c) Update/Edit Book Record(s) o Prompts the user for the ISBN or author and title.
o If there are matching records found, prompt the user to enter the new information for the book.
o Update the book record(s) according to the new information provided.
o Within this submenu, the user must be able to update information of single/multiple books.
(d) Display o Display all the books that are currently in the system. o The display should contain appropriate headings for each column.
o Data from books_StudentID.txt must be read and stored in the program when the program first runs so that all the book information previously stored in the text file will be displayed if it is the first option selected when starting the program.
(e) Search for Book(s) o Prompts for the ISBN, author, and title.
o Display the information of a particular book using the information provided.
(f) Exit o Stop the execution of the program.
o The program will write the updated data into books_StudentID.txt.

c) Programming Techniques, Logic, and Control Flow
In this programming project, you must apply and demonstrate efficient mastery of the following programming fundamentals in Python:

• Input and display data.
• Lists and file processing.
• Searching from a list.
• If control statement, and relational and logical operators.
• Loops.
• User-defined function.

Only the following modules are allowed in the development of the project (should you choose to use them):
o random module (import random) is allowed for generating random values.
o os module to clear the screen for better presentation.

3.0 Assessment Criteria

This criterion assesses the details and informativeness of commenting on the computer source code with appropriate comments.

This criterion assesses the appropriateness of the identifier names used in the program.

This criterion assesses the coding style adopted when writing the code.

• This criterion assesses the book management system’s operational and functional completeness as described in Sections 1.0 and 2.0 (a) and (b).
Add Book Record(s) 2
Delete Book Record (s) 2
Update/Edit Book Record (s) 2
Display 2
Search Book Record(s) 2
Exit 2


This criterion assesses the user interface design of the book management system’s user-friendliness and ease of interaction.

This criterion assesses the error handling capability and data validation functionality of the book management system. The error handling capability and data validation functionality must be tested and clearly documented in the report.

Input and display data 5
Lists and file processing 5
Searching from a list 5
If statement, and relational and logical operators 5
Loops 5
User-defined function 5


• This criterion assesses the contents and quality of the report.
• Kindly utilize Appendix B provided as the Cover Page of your report.
Flowchart 10
Discussion of the programming techniques used 4
Sample test cases and outputs 4
Sample text file 2
Presentation. This is to assess each group member’s contribution and understanding of the project






4.0 Submission Details General Information
• This programming project is a final examination.
• This programming project is a group project with each group consisting of 4 - 5 members.





Important Dates

Submission Procedures
You are required to prepare the following materials for submission:

• A copy of the program source code with appropriate comments written to describe the programming techniques, program flow and logic, and user-defined functions in the restaurant management system.
Name the program source file as: python_StudentID.py

• A copy of the text file in .txt format that is used to store the relevant information. Name the text file as: books_StudentID.txt

• A copy of the project report in PDF format. Name the report file as: report_StudentID.pdf
The StudentID should be replaced with the Student ID of the group leader.

Zip all the files python_StudentID.py, books_StudentID.txt, and report_StudentID.pdf into a Zip file. Name the Zip file GroupID.zip.




• THE END • HAPPY CODING •

More products