0% found this document useful (0 votes)
4 views

Riddhiman Saha Computer Science Final Project on Book Management System

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views

Riddhiman Saha Computer Science Final Project on Book Management System

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 31

CENTRAL BOARD OF SECONDARY EDUCATION

CENTRAL PUBLIC SCHOOL


ADITYAPUR, JAMSHEDPUR

A PRACTICAL RECORD FILE IS SUBMITTED TO DEPARTMENT OF COMPUTER SCIENCE


FOR THE PARTIAL FULLFILLMENT OF SSCE EXAMINATION FOR THE ACADEMIC.

SESSION: 2023-24

PROJECT REPORT ON

[BOOK STORE MANAGEMENT]

ROLL NO : 22712737

NAME : Riddhiman Saha

CLASS : XII

PROJECT GUIDE : Mr. Sourav Roy


PGT (COMPUTER SCIENCE)
Central Public School, Adityapur,
Jamshedpur.
CERTIFICATE
This project entitled “BOOK STORE
MANAGEMENT”, is the development project
work in COMPUTER SCIENCE (083),
successfully completed by
Master[Riddhiman Saha], student of class-
XII ‘A’,CENTRAL PUBLIC SCHOOL Adityapur,
with AISSCE Roll No. 22712737 under the
supervision of Mr. Sourav Roy (PGT
COMPUTER SCIENCE), for the partial
fulfilment of requirements for the course
completion in pursuance of AISSCE 2023-
24.

……………………………………..
……………………………….
Teacher In-Charge Principal

……………………………………..
Practical Examiner School
Stamp
TABLE OF CONTENTS [T O C]
1. Acknowledgement 1

2. Introduction 2

3. Objective of Project 3

4. Proposed System 3

5. Hardware and Software Requirements 4

6. System Development Life Cycle 5

7. Initiation Phase 6

8. System Concept Development Phase 6

9. Pictorial Representation 7

10. Planning Phase 8

11. Requirements Analysis Phase 8

12. Design Phase 9

13. Development Phase 10

14. Integration and Test Phase 10

15. Implementation Phase 11

16. Operations and Maintenance Phase 11

17. Disposition Phase 11

18. Source Code 12

19. Output 21

20. Testing 23
21. Conclusion 25

22. Bibliography 26
ACKNOWLEDGEMENT
I would like to express my special thanks of gratitude to my Computer Teacher “Mr Sourav
Roy” for his guidance and support which helped me immensely in making this project. Without
his guidance and encouragement, the project could not have been what it evolved to be.
I would also like to thank our Principal “Dr Maushumi” for her constant support and supervision
and for providing me with the opportunity to create my project on “Book Store Management”.
I would also like to express my gratitude to my parents and all my friends for their constant
encouragement and cooperation.
PROJECT ON Book Store Management

INTRODUCTION
In today’s era computers have become a vital component of any enterprise for giving it proper
directions and extensive control of the various activities to attain business objectives.
Computer applications have affected scientific & commercial knowledge.
In the previous ages the process of maintaining data and record seemed very difficult.
Nowadays computer is a very essential component.
The implementation of computer based Information system can be depicted as the ease in
handling and maintaining the data bank of any site.

The Book management system database effortlessly integrates all components related to a book
store. Book Store Management system mainly focuses on the activities of a bookstore such as
information on books and books sold to customers. The database flexibility , convenient features,
the maximum increase in customer service, access to accurate information make this ideal for all
sizes of Book management . The Book management system is used for analyzing the store
information, customer information and when necessary to produce reports.
OBJECTIVES OF THE PROJECT
The bookstore management system will help in maintaining the details of the books available,
customer’s details, details of the books given on rent, sales record, employee's details and many
other details

PROPOSED SYSTEM
In the past to acquire details of a particular book, customers had to go through the entire library
until they found that book.
The proposed system is helpful in various ways:
1. Books and their availability can be checked in an instant.
2. Number of books sold can be found out.
3. The price of a book and discounts available can be viewed which will help in making bills
quicker.
4. It will make the entire experience of purchasing books and maintaining records easier.
HARDWARE AND SOFTWARE REQUIREMENTS

I.OPERATING SYSTEM : WINDOWS 7 AND ABOVE

II. PROCESSOR : PENTIUM(ANY) OR AMD

ATHALON (3800+- 4200+ DUALCORE)

III. MOTHERBOARD : 1.845 OR 915,995 FOR PENTIUM 0R MSI

K9MM-V VIAK8M800+8237R PLUS

CHIPSET FOR AMD ATHALON

IV. RAM : 512MB+

V. Hard disk : SATA 40 GB OR ABOVE

VI. CD/DVD r/w multi drive combo: (If back up required)

VII. FLOPPY DRIVE 1.44 MB : (If Backup required)

VIII. MONITOR 14.1 or 15 -17 inch

IX. Key board and mouse

X. Printer : (if print is required – [Hard copy])

SOFTWARE REQUIREMENTS:

I. Windows OS
II. Python
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
A system development life cycle or SDLC is essentially a project management model. It defines
different stages that are necessary to bring a project from its initial idea or conception all the way
to deployment and later maintenance.
System Development Life Cycle (SDLC) is a conceptual model which includes policies and
procedures for developing or altering systems throughout their life cycles.
SDLC is used by analysts to develop an information system. SDLC includes the following
activities :
 Requirement
 Design
 Implementation
 Testing
 Deployment
 Operations
 Maintenance
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE

INITIATION PHASE
The first or initiation phase of the SDLC is the project planning stage where you are gathering
business requirements from your client or stakeholders. This phase is when you evaluate the
feasibility of creating the product, revenue potential, the cost of production, the needs of the
end-users, etc.

SYSTEM CONCEPT DEVELOPMENT PHASE


Once a business need is approved, the approaches for accomplishing the concept are reviewed
for feasibility and appropriateness. The Systems Boundary Document identifies the scope of the
system and requires Senior Official approval and funding before beginning the Planning Phase.
This phase is known as the system concept development phase.
PICTORIAL REPRESENTATION OF SDLC:
PLANNING PHASE
The planning stage (also called the feasibility stage) is exactly what it sounds like: the phase in
which developers will plan for the upcoming project.
It helps to define the problem and scope of any existing systems, as well as determine the
objectives for their new systems.
"By developing an effective outline for the upcoming development cycle, they’ll theoretically
catch problems before they affect development."
"Perhaps most importantly, the planning stage sets the project schedule, which can be of key
importance if development is for a commercial product that must be sent to market by a certain
time."

REQUIREMENTS ANALYSIS PHASE


The analysis stage includes gathering all the specific details required for a new system as well as
determining the first ideas for prototypes.

This includes all the specifications for software, hardware, and network requirements for the
system they plan to build. This will prevent them from overdrawing funding or resources when
working at the same place as other development teams.
DESIGN PHASE
The design stage is a necessary precursor to the main developer stage.
Developers will first outline the details for the overall application, alongside specific aspects,
such as its:

 User interfaces
 System interfaces
 Network and network requirements
 Databases

They’ll typically turn the SRS document they created into a more logical structure that can later
be implemented in a programming language. Operation, training, and maintenance plans will all
be drawn up so that developers know what they need to do throughout every stage of the cycle
moving forward.

Once complete, development managers will prepare a design document to be referenced


throughout the next phases of the SDLC.
DEVELOPMENT PHASE
The development stage is the part where developers actually write code and build the application
according to the earlier design documents and outlined specifications.

Product program code is built per the design document specifications. In theory, all of the prior
planning and outlining should make the actual development phase relatively straightforward.

Developers will follow any coding guidelines as defined by the organization and utilize different
tools such as compilers, debuggers, and interpreters.

INTEGRATION AND TEST PHASE


Building software is not the end. Now it must be tested to make sure that there aren’t any bugs and that
the end-user experience will not negatively be affected at any point.

During the testing stage, developers will go over their software with a fine-tooth comb, noting
any bugs or defects that need to be tracked, fixed, and later retested.
IMPLEMENTATION PHASE
After testing, the overall design for the software will come together. Different modules or designs will be
integrated into the primary source code through developer efforts, usually by leveraging training
environments to detect further errors or defects.

The information system will be integrated into its environment and eventually installed. After
passing this stage, the software is theoretically ready for market and may be provided to any end-
users.

OPERATIONS AND MAINTENANCE PHASE


The SDLC doesn’t end when software reaches the market. Developers must now move into maintenance
mode and begin practicing any activities required to handle issues reported by end-users.

Furthermore, developers are responsible for implementing any changes that the software might
need after deployment.

This can include handling residual bugs that were not able to be patched before launch or
resolving new issues that crop up due to user reports. Larger systems may require longer
maintenance stages compared to smaller systems.

DISPOSITION PHASE
The disposition activities ensure the orderly termination of the system and preserve the vital
information about the system so that some or all of the information may be reactivated in the
future if necessary. Particular emphasis is given to proper preservation of the data processed by
the system, so that the data is effectively migrated to another system or archived in accordance
with applicable records management regulations and policies, for potential future access.
SOURCE CODE
import mysql.connector
mydb=mysql.connector.connect (host="localhost", user="root", password="admin")

#CREATING DATABASE AND TABLE


mycursor=mydb.cursor()
mycursor.execute("create database if not exists store")
mycursor.execute("use store")
mycursor.execute("create table if not exists signup(username varchar(20),password
varchar(20))")

while True:
print("""1:Signup 2:Login""")
ch=int(input("SIGNUP/LOGIN(1,2):"))

#SIGNUP
if ch==1:
username=input("USERNAME:")
pw=input("PASSWORD:")
mycursor.execute("insert into signup values('"+username+"','"+pw+"')")
mydb.commit()

#LOGIN
elif ch==2:
username=input("USERNAME:")
mycursor.execute("select username from signup where username='"+username+"'")
pot=mycursor.fetchone()
if pot is not None:
print("VALID USERNAME!!!!!!")
pw=input("PASSWORD:")
mycursor.execute("select password from signup where password='"+pw+"'")
a=mycursor.fetchone()
if a is not None:
print("""+++++++++++++++++++++++
+++LOGIN SUCCESSFULL++++++++++++++++++++++++++""")

print("""===============================================================
=======
++++++++++++++++++++++++++ MY BOOK STORE ++++++++++++++++++++++++
+
=====================================================================
=====""")
mycursor.execute("create table if not exists Available_Books(BookName varchar(30)
primary key,Genre varchar(20),Quantity int(3),Author varchar(20),Publication varchar(30),Price
int(4))")
mycursor.execute("create table if not exists Sell_rec(CustomerName
varchar(20),PhoneNumber char(10) unique key, BookName varchar(30),Quantity int(100),Price
int(4),foreign key (BookName) references Available_Books(BookName))")
mycursor.execute("create table if not exists Staff_details(Name varchar(30), Gender
varchar(10),Age int(3), PhoneNumber char(10) unique key , Address varchar(40))")
mydb.commit()
while(True):
print("""1:Add Books
2:Delete Books
3:Search Books
4:Staff Details
5:Sell Record
6:Available Books
7:Total Income after the Latest Reset
8:Exit""")
a=int(input("Enter your choice:"))

#ADD BOOKS
if a==1:
print("All information prompted are mandatory to be filled")
book=str(input("Enter Book Name:"))
genre=str(input("Genre:"))
quantity=int(input("Enter quantity:"))
author=str(input("Enter author name:"))
publication=str(input("Enter publication house:"))
price=int(input("Enter the price:"))
mycursor.execute("select * from Available_Books where bookname='"+book+"'")
row=mycursor.fetchone()
if row is not None:
mycursor.execute("update Available_Books set
quantity=quantity+'"+str(quantity)+"' where bookname='"+book+"'")
mydb.commit
print("""++++++++++++++++++++++
++SUCCESSFULLY ADDED++
++++++++++++++++++++++""")
else:
mycursor.execute("insert into
Available_Books(bookname,genre,quantity,author,publication,price)
values('"+book+"','"+genre+"','"+str(quantity)+"','"+author+"','"+publication+"','"+str(price)+"')")
mydb.commit()
print("""++++++++++++++++++++++
++SUCCESSFULLY ADDED++
++++++++++++++++++++++""")
#DELETE BOOKS
elif a==2:
print("AVAILABLE BOOKS...")
mycursor.execute("select * from Available_Books ")
for x in mycursor:
print(x)
cusname=str(input("Enter customer name:"))
phno=int(input("Enter phone number:"))
book=str(input("Enter Book Name:"))
price=int(input("Enter the price:"))
n=int(input("Enter quantity:"))
mycursor.execute("select quantity from available_books where
bookname='"+book+"'")
lk=mycursor.fetchone()
if max(lk)<n:
print(n,"Books are not available!!!!")
else:
mycursor.execute("select bookname from available_books where
bookname='"+book+"'")
log=mycursor.fetchone()
if log is not None:
mycursor.execute("insert into Sell_rec values('"+cusname+"','"+str(phno)
+"','"+book+"','"+str(n)+"','"+str(price)+"')")
mycursor.execute("update Available_Books set quantity=quantity-'"+str(n)
+"' where BookName='"+book+"'")
mydb.commit()
print("""++++++++++++++++++++++
++BOOK HAS BEEN SOLD++
++++++++++++++++++++++""")
else:
print("BOOK IS NOT AVAILABLE!!!!!!!")

#SEARCH BOOKS ON THE BASIS OF GIVEN OPTIONS


elif a==3:
print("""1:Search by name
2:Search by genre
3:Search by author""")
l=int(input("Search by?:"))

#BY BOOKNAME
if l==1:
o=input("Enter Book to search:")
mycursor.execute("select bookname from available_books where
bookname='"+o+"'")
tree=mycursor.fetchone()
if tree!=None:
print("""++++++++++++++++++++
++BOOK IS IN STOCK++
++++++++++++++++++++""")
else:
print("BOOK IS NOT IN STOCK!!!!!!!")

#BY GENRE
elif l==2:
g=input("Enter genre to search:")
mycursor.execute("select genre from available_books where genre='"+g+"'")
poll=mycursor.fetchall()
if poll is not None:
print("""++++++++++++++++++++
++BOOK IS IN STOCK++
++++++++++++++++++++""")
mycursor.execute("select * from available_books where genre='"+g+"'")
for y in mycursor:
print(y)
else:
print("BOOKS OF SUCH GENRE ARE NOT AVAILABLE!!!!!!!!!")

#BY AUTHOR NAME


elif l==3:
au=input("Enter author to search:")
mycursor.execute("select author from available_books where author='"+au+"'")
home=mycursor.fetchall()
if home is not None:
print("""++++++++++++++++++++
++BOOK IS IN STOCK++
++++++++++++++++++++""")
mycursor.execute("select * from available_books where author='"+au+"'")
for z in mycursor:
print(z)
else:
print("BOOKS OF THIS AUTHOR ARE NOT AVAILABLE!!!!!!!")
mydb.commit()

#STAFF DETAILS
elif a==4:
print("1:New staff entry")
print("2:Remove staff")
print("3:Existing staff details")
ch=int(input("Enter your choice:"))

#NEW STAFF ENTRY


if ch==1:
fname=str(input("Enter Fullname:"))
gender=str(input("Gender(M/F/O):"))
age=int(input("Age:"))
phno=int(input("Staff phone no.:"))
add=str(input("Address:"))
mycursor.execute("insert into
Staff_details(name,gender,age,phonenumber,address)
values('"+fname+"','"+gender+"','"+str(age)+"','"+str(phno)+"','"+add+"')")
print("""+++++++++++++++++++++++++++++
+STAFF IS SUCCESSFULLY ADDED+
+++++++++++++++++++++++++++++""")
mydb.commit()

#REMOVE STAFF
elif ch==2:
nm=str(input("Enter staff name to remove:"))
mycursor.execute("select name from staff_details where name='"+nm+"'")
toy=mycursor.fetchone()
if toy is not None:
mycursor.execute("delete from staff_details where name='"+nm+"'")
print("""+++++++++++++++++++++++++++++++++
++STAFF IS SUCCESSFULLY REMOVED++
+++++++++++++++++++++++++++++++++""")
mydb.commit()
else:
print("STAFF DOESNOT EXIST!!!!!!")

#EXISTING STAFF DETAILS


elif ch==3:
mycursor.execute("select * from Staff_details")
run=mycursor.fetchone()
for t in mycursor:
print(t)
if run is not None:
print("EXISTING STAFF DETAILS...")
for t in mycursor:
print(t)
else:
print("NO STAFF EXISTS!!!!!!!")
mydb.commit()

#SELL HISTORY
elif a==5:
print("1:Sell history details")
print("2:Reset Sell history")
ty=int(input("Enter your choice:"))
if ty==1:
mycursor.execute("select * from sell_rec")
for u in mycursor:
print(u)
if ty==2:
bb=input("Are you sure(Y/N):")
if bb=="Y":
mycursor.execute("delete from sell_rec")
mydb.commit()
elif bb=="N":
pass

#AVAILABLE BOOKS
elif a==6:
mycursor.execute("select * from available_books order by bookname")
for v in mycursor:
print(v)

#TOTAL INCOME AFTER LATEST UPDATE


elif a==7:
mycursor.execute("select sum(price) from sell_rec")
for x in mycursor:
print(x)
#EXIT
elif a==8:
break

#LOGIN ELSE PART


else:
print("""++++++++++++++++++++++
++INCORRECT PASSWORD++
++++++++++++++++++++++""")

else:
print("""++++++++++++++++++++
++INVALID USERNAME++
++++++++++++++++++++""")

else:
break
OUTPUT OF SOURCE CODE
= RESTART: C:\Users\Compaq\BOOKSTORE MANAGEMENT.py
1:Signup
2:Login
SIGNUP/LOGIN(1,2):1
USERNAME:"jitendra"
PASSWORD:"12345"
1:Signup
2:Login
SIGNUP/LOGIN(1,2):2
USERNAME:"jitendra"
VALID USERNAME!!!!!!
PASSWORD:"12345"
+++++++++++++++++++++++
+++LOGIN SUCCESSFULL+++
+++++++++++++++++++++++
=====================================================================
=
++++++++++++++++++++++++++ MY BOOK STORE +++++++++++++++++++++++++
=====================================================================
=====
1:Add Books
2:Delete Books
3:Search Books
4:Staff Details
5:Sell Record
6:Available Books
7:Total Income after the Latest Reset
8:Exit
Enter your choice:1
All information prompted are mandatory to be filled
Enter Book Name:"Computer Science with Python"
Genre:"Programming"
Enter quantity:10
Enter author name:"cbsepython"
Enter publication house:"cbsepython.in"
Enter the price:320
++++++++++++++++++++++
++SUCCESSFULLY ADDED++
++++++++++++++++++++++
1:Add Books
2:Delete Books
3:Search Books
4:Staff Details
5:Sell Record
6:Available Books
7:Total Income after the Latest Reset
8:Exit
Enter your choice:8
TESTING
Code-based testing involves testing out each line of code of a program to identify bugs or errors
during the software development process. Specific test cases are checked on the program to see if
it performs the functions required.

TESTING METHODS
Testing methodologies are the various strategies or approaches used to test an application to
ensure it behaves and looks as expected. These encompass everything from front to back-end
testing, including unit and system testing.

BLACK BOX TESTING


Black box testing is a software testing strategy where the design of the software system being
tested is unknown to the tester. The reason for black box testing is that without intimate
knowledge of the software’s design, the tester will approach the software with similar
expectations as the end user.
SPECIFICATION-BASED TESTING
Specification-based testing is a black-box testing technique that uses the specifications of a
system to derive test cases. Specification-Based Testing uses the specification of the program
as the point of reference for test data selection and accuracy.

ADVANTAGES AND DISADVANTAGES


Some of the foremost advantages of testing are:
 Highly efficient
 Quality
 Satisfies customer
 Good product, good revenue
 User experience
Some of the disadvantages are:
 Appropriate communication and coordination with the tester
 Competition among similar service providers
 Lack of experienced professionals
 Finding the right service provider

WHITE BOX TESTING


White-box testing is the detailed investigation of internal logic and structure of the code. White-
box testing is also called glass testing or open-box testing. In order to perform white-box testing
on an application, a tester needs to know the internal workings of the code.
CONCLUSION
This project aimed to create a system which could manage, store and update data
regarding numerous books.
SDLC and its various stages is discussed and explained as well as different methods of
testing our code.
The system may not prove beneficial for online book management but it will be a great
resource for offline book stores.
The proposed system in this project creates a book management system which will
make the task of managing records hassle free.
BIBLIOGRAPHY
The websites and books which helped me in completing my project report are:

 https://www.elprocus.com/
 https://www.clouddefense.ai/
 https://code-projects.org/
 https://www.scribd.com/
 All in One For Computer Science with Python Class 12

You might also like