CertifiCate
This is to clerify that, Shubham Modi of class XII
science has successfully completed his computer
project prescribed by Miss “shabeena nafees”
during academic session 2020 -21 as per the
guidelines issued by CBSE.
DATE:
Registration No:
Signature of internal
examiner
table 0f Contents[toC]
ser desCription page
no
01 Acknowledgement 02
02 Introduction 03
03 Objective of the project 03
04 Proposed system 03
05 System development 04
life cycle (SDLC)
06 Phase of system 05
development life cycle
07 Flow chart
08 Source code
09 Output
10 Testing
11 Hardware and software
requirement
12 Installation procedure
13 biography
aCKn0wledgeMent
Apart from the efforts of me. The success of any project
depends largely on the encouragement and guidelines of
many others. I take this opportunity to express my
gratitude to the people who have been instrumental in the
successful completion of this project.
proposed systeM
Today one cannot afford to rely on the fallible human
beings of be really wants to stands against today’s
mercilles competition where not to wise saying to “to era
is human” no longer valid. It’s out dated to rationalize
your mistake. So, to keep pace with him , to bring about
the best result without malfunctioning and greater
efficiency so to replace the unending heaps of flies with a
much sophisticated hard disk of the computer.
One has to use the data management software. Software
has been an ascent in atomization various organization.
Many software product working are now in market, which
have helped in making the organization work easier and
efficiently. Data management initially had to maintain a lot
of ledger and a lot of paper work has to be done but now
software product on this organization has made their
work faster and easier. Now only this software has to be
loaded on the computer and work can be done.
This prevent a lot of time and money. The work become
Fully automated and any information regarding the
organization can be obtained by clicking the button.
Moreover, now it’s an age of computer of and automating
such an organization gives the better look.
projeCt on library ManageMent
systeM
introduCtion
This project is all about a software for library. It help the
Book have a full-fledged control over his stall. It add a new
stock, and of course prints a receipt to the customer.
Beside it displays a graph of the current month.
objeCtive of the projeCt
The objective of this project is to let the student apply the
Programming knowledge into a real-world problem and
exposed the student now programming skills helps in
developing a good software.
1. Write programs utilizing modern software tools.
2. Apply object oriented programming principles
effectively when developing small to medium sized
project
3. Write effective procedural code to solve small to
medium sized problem.
4. Students will demonstrate a breadth of knowledge in
computer science, as exemplified in the areas of
systems , theory and software development.
phase of systeM developMent life
CyCle
initiation phase
The initiation phase begins when a business sponsor
identifies a need or an opportunity.
The purpose of the initiation phase is to:
Identify and validate an opportunity to improve
business accomplishments of the organization or a
deficiency related to a business need.
Identify significant assumption and constraints on
solution to that need.
Recommend the exploration of alterative concepts
and methods to satisfy the needs including
questioning the need for technology
Infrastructure and the strategic plan. A successful
concept proposal results in a project management
charter which online the authority of the project
manager to begin the project.
Careful oversight is required to ensure projects support
Strategic business objective and resource are effectively
implemented into an organization’s enterprise
architecture. The initiation phase begins when an
opportunity to add, improve or correct a system is
identified and formally requested through the
presentation of a business case. The business case
should, at a minimum, describe a proposal’s purpose ,
identify expected benefit, and explain how the proposed
system supports one of the organizations business
strategies. The business case should also identify
alternative solution and details as many informational,
functional, and network requirement as possible.
systeM developMent
lifeCyCle(sdlC)
Planning Analysis Design
Support Implementation
Construction, testing and
software configuration
(consisted of three iteration on
different hardware platform)
The systems development life cycle is a project
Management techniques that divides complex project into
smaller, more easily managed segment or phase.
Segmenting project allow managers to verify the
successful completion of project phases before allocating
resources to subsequent phases.
Software development project typically include initiation,
Planning, design, development, testing, implementation,
and maintenance phase, however, the phase may be
divided differently depending on the organization
involved.
For example, but initial project activities might be
Designated as request, requirement-definition, and
planning phases. End user of the system under
development should be involved in reviewing the output of
each phase to ensure the system is being built to deliver
the needed functionality.
systeM ConCept developMent phase
The system concept development phase begin after a
business need or opportunity is validated by the agency
program leadership and the agency CIO.
The purpose of the system concept development phase
to:
Determine the feasibility and appropriateness of the
alternatives.
Identify system interfaces
Identify basic functional and data requirement to
satisfy the business need.
Establish system boundaries; identify goals,
objectives, critical success factor, and performance
measures.
Evaluate costs and benefits of alternatives
approaches to satisfy the basic functional
requirements.
Asses project risk.
Identify and initiate risk mitigation actions, and
develop high-level technical architecture, process
model, data model, and a concept of operation. This
phase explores potential technical solutions within
the context of the business need.
The ITPR must be approved by the state CIO before
the project can move forward.
piCtorial representation of sdlC:
Analysis Design
Planning Implementation
Maintenance
planning phase
The planning phase is the most critical step in
Completing development, acquisition, and
maintenance project. 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 characteristic
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 discussion between user, audit,
security, design, development and network
personal to identify and document as many
functional, security, and network requirement as
possible. During this phase, a plan developed that
document the approach to be used and includes a
discussion of method, tools, task, resource, project
schedules, and user input, personnel assignment,
cost, project schedule, and target dates are
established.
A project management plan is created with
components related to acquisition planning,
concept planning, configuration management
planning, quality assurance planning, concept of
operation, system security and system engineering
management planning.
requireMents analysis phase
This phase formally defines the detailed functional user
Requirement using high-level requirement identified in the
initiation, system concept, and planning phase. It also
delineates the requirement in terms of data, system
performance, security, and maintainability requirement
for the system. The requirement are defined in this phase
to a level of detail sufficient for system design to proceed.
The purpose of this phase are to :
Further defines and refine the functional
and data requirements and document them
in the requirement document.
Complete business process reengineering
of the function to be supported.
Develop detailed data and process model
Develop the test and evaluation
requirements that will be used to
determine acceptable system
performance.
developMent phase
The development phase involve converting design
Specification into executable. Effective
development standards include requirements that
programmers and other project participants
discuss design specification before programming
begins. The procedure help ensure programmer
clearly understand program design and functional
requirement, programmer use various techniques
to develop computer programs.
Translating the detailed requirements and
design into system components.
Testing individual elements (units) for usability.
Preparing for integration and testing of the IT
system.
integration and test 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 requirement
document, satisfied by the developed or
modified system.
Multiple levels of testing are performed, including:
Testing at the development facility by the
contractor and possibly supported by end user.
Testing as a deployed system with end users
working together with contract personnel
Operational testing by the end user alone
performing all function.
design phase
The design phase involve converting the
Informational, functional, and network requirement
identified during the initiation and planning phases
into unified design specification that developers
use to script program during the development
phases. program designs are c constructed in
various ways. Using a top- down approach
designer first identify and link major program
components and interfaces, then expand design
layouts as they identify and link smaller subsystem
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 system and
connection.
Identifying potential risks and defining
mitigating design features.
Performing a security risk assessment.
Developing a conversion plan to migrate
current data to the system.
fDetermining the operating environment.
Defining major subsystem and their inputs or
out puts.
Allocating processes to resources
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
operations and MaintenanCe phase
The system operation is going on. The system is
Monitored for continued performance in
accordance with user requirement and needed
system modification are in cooperated operation
continue as long as the system can be effectively
adapted to respond to the organization’s needs
When modification or changes are identified. The
system may re -enter the planning phase.
The purpose of this phase is to:
Operate, maintain, and enhance the system.
Certify that system can process sensitive
information.
Conduct, periodic assessments of the system
to ensure the functional requirement continue
to be satisfied.
Determine when the system need to
modernized, replace, or retried.
flow Chart
OpenOpen the
the win win explore
explorer and openand
theopen
file
courier service system in thesystem
Managemaent location
c:\users\cadet\desktop\balan\library
management system
If run the file courier services system
the program runs and you can
LIBRARY
MANAGEMENTSYSTEM
At first, we have to create a account to use batman courier
service system
sourCe Code
# PYTHON PROGRAM FILE : BOOK.py
import pymysql as cntr , datetime as __dt , matplotlib.pyplot as plt
from random import shuffle
from tempfile import mktemp
from os import system , startfile
__db = cntr.connect(host = 'localhost' , user = 'root' , passwd =
'manager' , database = 'book_shop')
__cur = __db.cursor()
__db.autocommit(True)
#Function to check is it leap year
is_leapyear = lambda year : year % 4 == 0
#Function to get last date of month
def last_month(month , year):
if month in (1,3,5,7,8,10,12) : return 31
elif month == 2 and is_leapyear(year) : return 29
elif month == 2 : return 28
else : return 30
clrscreen = lambda : system("cls")
def view_stock() :
__cur.execute("select Book_No , Book_Name , Available_Stock
from stock")
data = __cur.fetchall()
print("Book Number\tBook Name\tStock")
for row in data : print(row[0] , '\t\t' , row[1] , '\t' , row[2])
def add_stock() :
print('Add Stock'.center(89 , '='))
bno = unique_book_no()
if bno :
print("Book Number : " , bno)
else : bno = int(input("Enter book number : "))
bname = input("Enter the Book\'s Name : ")
auth = input("Enter the Author of the Book : ")
publ = input("Enter the Publisher of the Book : ")
cost = eval(input("Enter the Cost per Book : "))
stock = int(input("Enter the Quantity purchased : "))
__cur.execute("insert into stock values ({} , '{}' , '{}' , '{}' , {} , {} , {}
, '{}')".format(bno , bname , auth , publ , cost , stock , 0,
__dt.date.today()))
print("Inserted Sucessfully !!!")
def add_user() :
user = input("Enter the user name : ")
passwd = input("Enter a Password : ")
passwd2 = input("Enter Password to confirm : ")
if passwd == passwd2 :
__cur.execute("insert into users values('{}' , '{}')".format(user ,
passwd))
print("Created Successfully!!!")
elif passwd != passwd2 : print("You've entered different
passwords")
def sell_book() :
print('Purchase')
cname = input("Enter the Customer Name : ")
phno = int(input("Enter the phone number : "))
bno = int(input("Enter book number : "))
bname = input("Enter the name of the book : ")
cost = eval(input("Enter the cost of the book : "))
__cur.execute("insert into purchased values({} , '{}')".format(bno
, __dt.date.today()))
__cur.execute("update stock set qty_purchased =
qty_purchased + 1 where Book_No = {}".format(bno))
__cur.execute("update stock set Available_Stock =
Available_Stock - 1 where Book_No = {}".format(bno))
print("Bought Successfully")
q = '''Book Shop\nName : {}\nPhone No : {}\nBook Number :
{}\nBook Name : {}\nCost : {}\nDate Of Purchase :
{}'''.format(cname , phno , bno , bname , cost , __dt.date.today())
filename = mktemp('.txt')
open(filename , 'w').write(q)
startfile(filename , 'print')
__cur.execute('select Book_Name , Book_No , Author from stock
where Available_Stock = 0')
if __cur.rowcount == 1 :
print("STOCK OF ")
print("Book Name : " , __cur.fetchall()[0][0])
print("Book Number : " , __cur.fetchall()[0][1])
print("Author : " , __cur.fetchall()[0][2])
print("EXHAUSTED")
__cur.execute('delete from stock where Available_Stock = 0')
def unique_book_no () :
__cur.execute("select max(Book_No) from stock")
data = __cur.fetchall()
if bool(data[0][0]) :
L1 = [x for x in range((data[0][0] + 1) , (data[0][0] + 10000))]
shuffle(L1)
return L1.pop(0)
else : return False
def view_sales () :
print('Overall Sales This Month')
__cur.execute("select distinct(s.Book_Name) , s.qty_purchased
from stock s , purchased p where s.Book_No = p.Book_No and
p.purchased_on between '{year}-{month}-01' and '{year}-{month}-
{date}'".format(year = __dt.date.today().year , month =
__dt.date.today().month , date =
last_month(__dt.date.today().month , __dt.date.today().year)))
data = __cur.fetchall()
L1 , L2 = [] , []
for row in data :
L1.append(row[0])
L2.append(row[1])
plt.bar(L1 , L2)
plt.xlabel('Books')
plt.ylabel('Sales')
plt.title('Sales')
plt.show()
def login():
user = input("Enter the username : ")
pwd = input("Enter the password : ")
__cur.execute("Select * from users where (username = '{}' and
password = '{}')".format(user , pwd))
if __cur.rowcount : return True
def update_stock() :
bno = int(input("Enter the book number : "))
__cur.execute("select Book_Name , Available_Stock from stock
where Book_No = {}".format(bno))
data = __cur.fetchall()
print("Book Name : " , data[0][0])
print("Available Stock : " , data[0][1])
stock = int(input("Enter the new stock purchased : "))
__cur.execute("update stock set Available_Stock =
Available_Stock + {}".format(stock))
print("Updated Successfully")
=======================================================
=============
# PYTHON MODULE : Tables_in_mysql
import pymysql as cntr
db = cntr.connect(host = 'localhost' , user = 'root' , passwd =
'manager')
db.autocommit(True)
cur = db.cursor()
cur.execute("create database if not exists book_shop")
cur.execute("use book_shop")
cur.execute("create table stock\
(Book_No bigint primary key,\
Book_Name varchar(255),\
Author varchar(255),\
Publisher varchar(255),\
Cost_per_Book float,\
Available_Stock bigint,\
qty_purchased bigint,\
purchased_on date)")
cur.execute("create table users(username varchar(255) ,
password varchar(255) , check (username <> 'ADMIN'))")
cur.execute("create table purchased (Book_no bigint ,
purchased_on date , foreign key(Book_no) references
stock(Book_No))")
cur.execute("create unique index Book_Index on
stock(Book_No)")
cur.execute("insert into users values('admin' , 'admin@123')")
print("Database and Tables created successfully")
c = input("Press any key to continue---->")
cur.close()
db.close()
=======================================================
=============
# PYTHON MODULE : main
import Book
c = 'y'
while c.lower() == 'y' :
print("Book Shop Management".center(89 , '='))
print('1. Register')
print('2. Login')
print('3. Exit')
choice4 = int(input("Enter the serial number of your choice : "))
if choice4 == 1 :
Book.clrscreen()
Book.add_user()
elif choice4 == 2 :
Book.clrscreen()
if Book.login() :
Book.clrscreen
C = 'y'
while C.lower() == 'y' :
Book.clrscreen()
print("Book Shop Management".center(89 , '='))
print("1. Book Stock")
print("2. Book Selling")
print("3. Exit")
choice = int(input("Enter the serial number of your choice
: "))
if choice == 1 :
Book.clrscreen()
print("Book Book".center(89 , '='))
print("1. Add a new Stock")
print("2. View all Stock")
print("3. Update an existing Stock")
print("4. Exit")
choice2 = int(input("Enter the choice : "))
if choice2 == 1 :
Book.clrscreen()
Book.add_stock()
elif choice2 == 2 :
Book.clrscreen()
Book.view_stock()
elif choice2 == 3 :
Book.clrscreen()
Book.update_stock()
elif choice2 == 4 :
print("Good Bye")
break
else : print("INVALID CHOICE")
elif choice == 2 :
Book.clrscreen()
print('Book Selling'.center(89 , '='))
print('1. Sell a book')
print('2. View Sales this month')
print("3. Exit")
choice3 = int(input("Enter your choice : "))
if choice3 == 1 :
Book.clrscreen()
Book.sell_book()
elif choice3 == 2 :
Book.clrscreen()
Book.view_sales()
elif choice3 == 3 :
print("Good Bye")
break
else : print("INVALID CHOICE")
elif choice == 3 :
print("Good Bye")
break
else : print("INVALID CHOICE")
C = input("Do you want to continue (y/[n]) : ")
else : print("Good Bye")
else :
print("Either your username or password is incorrect")
elif choice4 == 3 :
print("Good Bye")
break
else : print("INVALID CHOICE")
c = input("Do you want to return to main menu (y/[n]) : ")
else : print("Good Bye")
=======================================================
=============
output
testing
Software Testing is an empirical investigation conducted
to provide stakeholders with information about the quality of the
product or service under test[1] , with respect to the context in
which it is intended to operate. Software Testing also provides
an objective, independent view of the software to allow the
business to appreciate and understand the risks at
implementation of the software. Test techniques include, but
are not limited to, the process of executing a program or
application with the intent of finding software bugs.
It can also be stated as the process of validating and
verifying that a software program/application/product meets the
business and technical requirements that guided its design and
development, so that it works as expected and can be
implemented with the same characteristics. Software Testing,
depending on the testing method employed, can be
implemented at any time in the development process, however
the most test effort is employed after the requirements have
been defined and coding process has been completed.
testing Methods
Software testing methods are traditionally divided into
black box testing and white box testing. These two approaches
are used to describe the point of view that a test engineer takes
when designing test cases.
blaCK boX testing
Black box testing treats the software as a "black box,"
without any knowledge of internal implementation. Black box
testing methods include: equivalence partitioning, boundary
value analysis, all-pairs testing, fuzz testing, model-based
testing, traceability matrix, exploratory testing and specification-
based testing.
speCifiCation-based testing
Specification-based testing aims to test the functionality of
software according to the applicable requirements.[16] Thus,
the tester inputs data into, and only sees the output from, the
test object. This level of testing usually requires thorough test
cases to be provided to the tester, who then can simply verify
that for a given input, the output value (or behaviour), either "is"
or "is not" the same as the expected value specified in the test
case. Specification-based testing is necessary, but it is
insufficient to guard against certain risks
advantages and disadvantages
The black box tester has no "bonds" with the code, and a
tester's perception is very simple: a code must have bugs.
Using the principle, "Ask and you shall receive," black box
testers find bugs where programmers don't. But, on the other
hand, black box testing has been said to be "like a walk in a
dark labyrinth without a flashlight," because the tester doesn't
know how the software being tested was actually constructed.
That's why there are situations when (1) a black box tester
writes many test cases to check something that can be tested
by only one test case, and/or (2) some parts of the back end
are not tested at all. Therefore, black box testing has the
advantage of "an unaffiliated opinion," on the one hand, and the
disadvantage of "blind exploring," on the other.
white boX testing
White box testing, by contrast to black box testing, is when
the tester has access to the internal data structures and
algorithms (and the code that implement these)
types of white boX testing:-
The following types of white box testing exist:
api testing - Testing of the application using Public
and Private APIs.
Code coverage - creating tests to satisfy some
criteria of code coverage.
For example, the test designer can create tests to cause
all statements in the program to be executed at least once.
fault injection methods.
mutation testing methods.
static testing - White box testing includes all static
testing.
Code CoMpleteness evaluation
White box testing methods can also be used to evaluate
the completeness of a test suite that was created with black
box testing methods. This allows the software team to examine
parts of a system that are rarely tested and ensures that the
most important function points have been tested.
two CoMMon forMs of Code Coverage are:
Function Coverage: Which reports on functions
executed and
Statement Coverage: Which reports on the number
of lines executed to complete the test.
they both return Coverage MetriC, Measured
as a perCentage
hardware and software
requireMents
I.OPERATING SYSTEM : WINDOWS 7 AND ABOVE
II. PROCESSOR : PENTIUM(ANY) OR AMD
ATHALON(3800+- 4200+ DUAL
CORE)
III. MOTHERBOARD : 1.845 OR 915,995 FOR
PENTIUM 0R MSI
K9MM-V VIA K8M800+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 : required
software requireMents:
I. Windows OS
II. Python
INSTALLATION PROCEDURE:
Book Stall Management :-
-------------------------------------
Pre-Requisites :-
------------------------
1. You have to have the following softwares for
the successful running of this software; which are
I) Python (Only for the First time), it is
downloadable from 'www.python.org'.
II) MySQL (Only for the First time), it is
downloadable from 'www.mysql.org'.
Installation :-
-------------------
1. There will be two folders namely 'Python Files'
and 'EXE files'.
2. The folder 'Python Files' will contain the
source code of the software in python language. If
you are running the software by the 3rd step
mentioned below you have to pre install the
following modules :-
I) mysql.connector
II) matplotlib.
3. Open the files in any python editors and run it
to start and work on the software.
4. The folder 'EXE files' will contain two files
namely 'main.exe' and 'Tables_in_mysql.exe'.
5. First run the 'Tables_in_mysql.exe' to create
the tables in MySQL.
6. Then run the file 'main.exe' to start and work
on the software.
CAUTION :-
=========
If you are running the software through running
the python files or by running the .exe files ; first
run the file named 'Tables_in_mysql'.
The .exe file will take a lot of time; so be
PATIENT.
bibliography
1. Computer science With Python - Class XI By : Sumita
Arora
2. A Project Report On Space Invader Game and Gold
Loan Shop Management (GLSM)
By : PJEYABALAN
3. Website: https://www.youtube.com
***