Nanda CS Project Class 12
Nanda CS Project Class 12
2. Manual System 7
3. Proposed System 8
6. Design work 10
8. Source Code 19
9. Output (Screenshots) 31
1 Conclusion 40
1
.
12. Bibliography 41
0 | Page
INTRODUCTION TO
PYTHON
1 | Page
Python is an interpreter, object-oriented, high-level programming language with dynamic semantics. Its
high-level built in data structures, combined with dynamic typing and dynamic binding; make it very
attractive for Rapid Application Development, as well as for use as a scripting language to connect
existing components together. Python's simple and easy to learn syntax emphasizes readability and
therefore reduces the cost of program maintenance. Python supports modules and packages, which
encourages program modularity and code reuse. The Python interpreter and the extensive standard
library are available in source or binary form without charge for all major platforms, and can be freely
distributed.
⮚ Easy to code: Python is a high-level programming language and it is very easy to code. It is also a
developer-friendly language.
⮚ Free and Open Source: Python is freely available. You can download it from the Python Official
Website. Secondly, it is open-source. This means that its source code is available to the public. You can
download it, change it, use it, and distribute it.
⮚ GUI Programming Support: Graphical User interfaces can be made using a module such as PyQt5,
PyQt4, wxPython, or Tk in python.
⮚ Extensible feature: If needed, you can write some of your Python code in other languages like C++.
This makes Python an extensible language, meaning that it can be extended to other languages.
2 | Page
⮚ Python is Portable language: Python language is also a portable language. For example, if we have
python code for windows and if we want to run this code on other platforms such as Linux, Unix and
Mac then we do not need to change it, we can run this code on any platform.
3 | Page
⮚ Python is Integrated language: Python is also an Integrated language because we can easily
integrated python with other languages like C,C++, etc.
⮚ Interpreted Language: Python is an Interpreted Language because Python code is executed line by
line at a time. Like other languages C, C++, Java, etc. there is no need to compile entire python code, this
makes it easier to debug the code.
⮚ Large Standard Library: Python has a large standard library which provides a rich set of module and
functions so you do not have to write your own code for every single thing. There are many libraries
present in python for such as regular expressions, web browsers, etc.
⮚ Dynamically Typed Language: Python is dynamically-typed. This means that the type for a value is
decided at runtime, not in advance. This is why we don’t need to specify the type of data while declaring
it.
4 | Page
INTRODUCTION TO
MySQL
5 | Page
A database is a collection of information related to a particular subject or purpose, such as tracking
customer orders or maintaining a product collection. Using any RDBMS application software like MS SQL
Server, MySQL, Oracle, Sybase etc., all information can be managed from a single database file. Within the
file, data can be divided into separate storage containers called tables. Data can be retrieved using
queries.
A table is a collection of data about a specific topic, such as products or suppliers. Using a separate table
for each topic means you can store that data only once, which makes your database more efficient and
reduces data-entry errors. Table organises data into columns (called fields) and rows (called records).
A Primary key is one or more fields whose value or values uniquely identify each record in a table. In a
relationship, a primary key is used to refer to specific record in one table from another table. A foreign key
is a column in a relational database table that provides a link between data in two tables. It acts as a cross-
reference between tables because it references the primary key of another table, thereby establishing a
link between them.
♦ The data stored can be sorted or indexed at the user's discretion and direction.
♦ Various reports can be produced from the system. These may be either standardized report or
that may be specifically generated according to specific user definition.
♦ Mathematical functions can be performed and the data stored in the database can be
manipulated with these functions to perform the desired calculations.
The management of data in a database system is done by means of a general-purpose software package
called a Database Management System (DBMS). Some commercially available RDBMS are MS SQL Server,
MS ACCESS, INGRES, ORACLE, and Sybase.
6 | Page
The Main Features of MySQL
⮚ Easy to use:MySQL is easy to use. We have to get only the basic knowledge of SQL. We can build and
⮚ Secure:It consists of a solid data security layer that protects sensitive data from intruders. Also,
⮚ Client/ Server Architecture: It follows the working of a client/server architecture. There is a database
server (MySQL) and arbitrarily many clients (application programs), which communicate with the
server; that is, they can query data, save changes, etc.
⮚ Free to download:It is free to use so that we can download it from MySQL official website without
any cost.
⮚ Speed:It is considered to be one of the very fast database languages, backed by a large number of
⮚ High Flexibility:It supports a large number of embedded applications, which makes it very flexible.
⮚ Compatible on many operating systems:It is compatible to run on many operating systems, like
⮚ Allows roll-back:It allows transactions to be rolled back, commit, and crash recovery.
⮚ Memory efficiency:It’s efficiency is high because it has a very low memory leakage problem.
⮚ High Performance:It is faster, more reliable, and cheaper because of its unique storage engine
⮚ High Productivity:MySQL uses Triggers, Stored procedures, and views that allow the developer to
7 | Page
⮚ Platform Independent:It can be downloaded, installed, and executed on most of the available
operating systems.
⮚ Supports large databases:MySQL Server can be used with databases that contain 50 million records.
There are users who use MySQL Server with 200,000 tables and about 50,000,000 rows.
8 | Page
MANUAL SYSTEM
Manual system means a system which does it’s work itself not by help of any technology in which paper
work has some special place.
All conventional methods are in more use instead of new technologies . And now as everybody knows
that computer graphs at its extent means the more you can use computer system the more you can
make your work easier.
And if in this case system is not computerized then it has to face a lot of problems because every task
gets complex and time consumable.
Costly
Maintenance problem
Time consuming
Tedious
9 | Page
PROPOSED SYSTEM
Proposed system is a system which is computerized in every manner. Computerized system is not
just adding machines but they are capable of doing much complex, tedious and cumbersome tasks.
Processing of data by hand is satisfactory only when the amount of data to be processed is
small and also the manual processing is slow, monotonous & often subject to error.
Above explanation is clearly telling us that existing system contains a lot of deficiencies which
can be removed by only by following proposed system .
Now a days, computer graph is at its extent. Computerization contains a lot of benefits so that
everyone chasing and following computerized items. Now, question arises what kind of help this
project or computerized system can give to remove all disadvantages of this existing
10 | Page
INTRODUCTION TO
PROJECT
The Bookstore Management System is a sophisticated application that harnesses the power of
Python programming language and MySQL database management system to create a
comprehensive solution for modern bookstore operations.
Advanced features include automated backup systems, detailed audit trails, and comprehensive
reporting modules that leverage Python's data analysis libraries in conjunction with MySQL's
aggregation functions. This integration also facilitates sophisticated customer relationship
management, tracking everything from purchase history to preference patterns, while
maintaining data security through MySQL's robust authentication and authorization
mechanisms. The system's modular architecture, built using Python's class-based structure,
allows for easy maintenance and future scalability, while MySQL's replication features ensure
high availability and data redundancy.
The options given in this project are:
11 | Page
Modifying staff details
12 | Page
MODULES USED IN THE PROJECT
mysqlconnector :-We can connect mysql and python using this module. Add record in mysql using this
module.
13 | Page
DESIGN WORK - MIND MAP
TO ADD EMPLOYEE TO SIGN IN OR LOG IN
TO SELL A BOOK
TO SEARCH FOR A
SPECIFIC BOOK
TO MODIFY STAFF
DETAILS
TO RESET SALES
HISTORY
TO DISPLAY AVAILABLE
14 | Page
SYSTEM DEVELOPMENT LIFE
CYCLE – SDLC
Every computer based system has a life cycle . System development starts when management or
sometimes system development personnel feel that a new system or an improvement in the existing
system is required. The system development life cycle is classically thought of as the set of activities that
analysis, designers and user carry to develop and implement an information system.
2. Feasibility Study
3. System Analysis
4. Design of Software
5. Development of software
6. System Testing
8. Maintenance
15 | Page
Preliminary Survey
One of the most difficult tasks to the system analyst is identifying the real problem of the existing system. Without
clear understanding of the problem in the system, any further work done will lead to wastage of effort at a later
stage.
In Preliminary Survey the analyst get information about different source and find out what are the
objective of designing the proposed system i.e. what are requirement of designing of the new software .
In this we identified what are the problems in current system to find outthe drawback of current system
and find out what are the best system that full the requirement of the a particular Business Enterprises .
Feasibility Study
In this step we examine the feasibility of the proposed system. This involves the costs and benefits of the
system. Initially a rough cost benefit analysis will be sufficient for the top management to take a decision
either in favour of or against the proposed system.
System design
When the system analyst decides that the requested system is feasible and the management agrees to
continue the development process, the next phase of SDLC is determination of system requirements. This
phase includes studying of existing system in details and collecting data in order to find out the
requirement of the users.
Implementation
In implementation, the designs are translated in to code. Computer programs are written using a
conventional programming language or an application generator. Programming tools like compilers,
interpreters, debuggers are used to generate the code. Different high level languages like python, C, C++,
Pascal, Java are used for coding.
16 | Page
PICTORIAL REPRESENTATION OF SDLC
Planning phase
The planning phase is the most critical step in completing development, acquisition, and maintenance
projects. Careful planning, particularly in the early stages of a project, is necessary to coordinate
activities and manage project risks effectively. The depth and formality of project plans should be
commensurate with the characteristics and risks of a given project. Project plans refine the information
gathered during the initiation phase by further identifying the specific activities and resources required
to complete a project.
A critical part of a project manager’s job is to coordinate discussions between user, audit, security, design,
development, and network personnel to identify and document as many functional, security, and network
requirements as possible. During this phase, a plan is developed that documents the approach to be used
and includes a discussion of methods, tools, tasks, resources, project schedules, and user input. A Project
Management Plan is created with components related to acquisition planning, configuration management
planning, quality assurance planning, concept of operation
17 | Page
Requirements analysis phase
This phase formally defines the detailed functional user requirements using high-level requirements
identified in the Initiation, System Concept, and Planning phases. It also delineates the requirements
in terms of data, system performance, security, and maintainability requirements for the system.
The requirements are defined in this phase to a level of detail sufficient for systems design to
proceed. They need to be measurable, testable, and relate to the business need or opportunity
identified in the Initiation Phase. The requirements that will be used to determine acceptance of the
system are captured in the Test and Evaluation Master Plan.
The purposes of this phase are to:
Further define and refine the functional and data requirements and document them in the
Requirements Document,
Complete business process reengineering of the functions to be supported (i.e., verify what
information drives the business process, what information is generated, who generates it, where
does the information go, and who processes it),
Develop detailed data and process models (system inputs, outputs, and the process.
Develop the test and evaluation requirements that will be used to determine acceptable system
performance.
Design phase
The design phase involves converting the informational, functional, and network requirements identified
during the initiation and planning phases into unified design specifications that developers use to script
programs during the development phase. Program designs are constructed in various ways. Using a top-
down approach, designers first identify and link major program components and interfaces, then expand
design layouts as they identify and link smaller subsystems and connections. Using a bottom-up approach,
designers first identify and link minor program components and interfaces, then expand design layouts as
they identify and link larger systems and connections. Contemporary design techniques often use
prototyping tools that build mock-up designs of items such as application screens, database layouts, and
system architectures . End users, designers, developers, database managers, and network administrators
should review and refine the prototyped designs in an iterative process until they agree on an acceptable
design. Audit, security, and quality assurance personnel should be involved in the review and approval
18 | Page
process. During this phase, the system is designed to satisfy the functional requirements identified in the
previous phase.
19 | Page
● Developing a conversion plan to migrate current data to the new system.
Development phase
The development phase involves converting design specifications into executable programs. Effective
development standards include requirements that programmers and other project participants discuss
design specifications before programming begins. The procedures help ensure programmers clearly
understand program designs and functional requirements. Programmers use various techniques to
develop computer programs. The large transaction oriented programs associated with financial
institutions have traditionally been developed using procedural programming techniques. Procedural
programming involves the line-by-line scripting of logical instructions that are combined to form a
program. Effective completion of the previous stages is a key factor in the success of the Development
phase. The Development phase consists of:
Testing as a deployed system with end users working together with contract personnel
20 | Page
Implementation phase
This phase is initiated after the system has been tested and accepted by the user. In this phase, the
system is installed to support the intended business functions. System performance is compared to
performance objectives established during the planning phase. Implementation includes user
notification, user training, installation of hardware, installation of software onto production computers,
and integration of the system into daily work processes. This phase continues until the system is
operating in production in accordance with the defined user requirements.
The system operation is ongoing. The system is monitored for continued performance in accordance
with user requirements and needed system modifications are incorporated. Operations continue as long
as the system can be effectively adapted to respond to the organization’s needs. When modifications or
changes are identified, the system may re-enter the planning phase.
Subsystem integration, system, security, and user acceptance testing is conducted during the integration
and test phase. The user, with those responsible for quality assurance, validates that the functional
requirements, as defined in the functional requirements document, are satisfied by the developed or
modified system. OIT Security staff assesses the system security and issue a security certification and
accreditation prior to installation/implementation.
21 | Page
SOURCE CODE
22 | Page
23 | Page
import mysql.connector
mydb=mysql.connector.connect(host="localhost",user="root",password="admin"
)
while True:
print("""1:Signup
2:Login""")
ch=int(input("SIGNUP/LOGIN(1,2):"))
#SIGNUP
if ch==1:
username=input("USERNAME:")
pw=input("PASSWORD:")
#LOGIN
elif ch==2:
username=input("USERNAME:")
pw=input("PASSWORD:")
if a is not None:
print("""+++++++++++++++++++++++
+++LOGIN SUCCESSFULL+++
+++++++++++++++++++++++""")
24 | Page
print("""=================================================================
=====
++++++++++++++++++++++++++ MY BOOK STORE +++++++++++++++++++++++++
==========================================================================
""")
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""")
#ADD BOOKS
if a==1:
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...")
if max(lk)<n:
print(n,"Books are not available!!!!")
else:
mycursor.execute("select bookname from
available_books where bookname='"+book+"'")
log=mycursor.fetchone()
print("""++++++++++++++++++++++
++BOOK HAS BEEN SOLD++
++++++++++++++++++++++""")
else:
print("BOOK IS NOT AVAILABLE!!!!!!!")
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:")
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 * from
available_books where genre='"+g+"'")
27 | Page
for y in mycursor:
print(y)
else:
print("BOOKS OF SUCH GENRE ARE NOT
AVAILABLE!!!!!!!!!")
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")
mycursor.execute("insert into
Staff_details(name,gender,age,phonenumber,address)
values('"+fname+"','"+gender+"','"+str(age)+"','"+str(phno)
+"','"+add+"')")
28 | Page
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()
else:
print("STAFF DOESNOT EXIST!!!!!!")
else:
print("NO STAFF EXISTS!!!!!!!")
mydb.commit()
#SELL HISTORY
elif a==5:
print("1:Sell history details")
print("2:Reset Sell history")
if ty==1:
mycursor.execute("select * from sell_rec")
for u in mycursor:
print(u)
29 | Page
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)
else:
print("""++++++++++++++++++++
++INVALID USERNAME++
++++++++++++++++++++""")
else: break
30 | Page
OUTPUT SCREENSHOTS
31 | Page
32 | Page
SIGNING IN AND LOGGING IN:
ADDING A RECORD:
SELLING A RECORD:
33 | Page
SEARCHING FOR A SPECFIC REDORD:
34 | Page
DISPLAYING AVAILABLE BOOKS:
35 | Page
36 | Page
37 | Page
SYSTEM TESTING
&MAINTENANCE
Testing can be define as the project of executing the project in a controlled manner. In
order to answer the question" does the project behave as specified" .It also is then only
way of finding out whether or not there are any error in a system. Therefore testing is an
important part of SDLC.
Like all other stages of SDLC, testing too needs time and proper resources to become
meaningful activity. Testing is vital to the success of the system. Testing make a logical
assumption that if all parts of the system are correct, the goal will be successfully achieved.
TYPES OF TESTING
Unit testing:-each component or part of the program is tested individually to verify that
the detail design for unit has been correctly implemented.
Module testing:- In large system a module may be a group of several programs or
functions or sub-module testing.
Integration testing:- It is carried out to find problem in the interface between
resembled units module in a system.
System testing:- It is executing a program to check logic changes made in it
38 | Page
and with the intention of finding errors.
MAINTENANCE:
After the implementation, the systems need to be maintained in order to adapt the
changing business and user needs. Different techniques are used to properly maintain a
system like:
1. Correction – correction means to find out the error of the existing system and then
correct them.
2. Adaptation – Adaptation means changes are done in existing software according the
requirement of the new environment.
39 | Page
CONCLUSION
To conclude with, the software presents the user with the system that
satisfies all the objectives of the organization. The system developed
presents the user with the major benefits of user-friendliness,
security, and hardware independence. Its data is also used to generate
the reports that are needed by the client of this system.
40 | Page
BIBLIOGRAPHY
In order to work on this project titled – Online bus ticketing system, the following books
and literature are referred by me during the various phases of development of the project.
41 | Page