Professional Documents
Culture Documents
1
ACKNOWLEDGMENT
2
CERTIFICATE
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
3
INDEX
3 Problem Definition
4 Brainstorming
6 Design/Prototype/Tools
9 Analysis/Manipulation/Visualisation
Work Description
10 List of References
4
Project Logbook
PROJECT NAME: Grocery Shop
2. Dheeraj Joshi
3. Nikita Banduni
5
1. Introduction
This software is used to maintain the shop, customer detail ,product ,details ,worker
detail maintain the shop in updated and maintain records of in and out data of shop.
1. The program will give all the information about the grocery
6
2. Team Roles
2.1 Who is in your team and what are their roles?
7
the developed or modified
system
Implementation system is installed to Nikita Banduni
support the intended
And business functions.
Implementation includes
Maintenance user notification, user
training, installation of
hardware, installation of
software onto production
computers, and integration
of the system into daily
work processes
in maintenance –
to operate , maintain,
enhance the system. Certify
that the system can process
sensitive information etc.
Who will set up online documents and ensure that everyone is contributing?
● Dheeraj Joshi
8
2.4 Team meeting minutes (create one for each meeting held)
Date of meeting:1/11/2021
Who attended: Nikita Banduni, Dheeraj Joshi, Ashray Tiwari
Who wasn’t able to attend: All attended the meeting
3. Problem Definition
3.1 List important local issues faced by your school or community
Manual system are very time consuming and the chances of error in more as compared to a
program
3. Physical Counts: A manual Store system does not provide any number,
as all numbers from the Store are gained through physical Store counts. One
of the difficulties of running a manual Store system is that physical Store
counts must be performed frequently to control the items in the Store. This
is time consuming and can cost the business money, if employees must come
in to help out outside of business hours.
9
3.3 Which issue will you focus on?
● The major focus will be on reducing the waiting time for the consumer to get his bill
● Reduce the possible human error.
● Getting this update every time
4.1 Ideas
4.2 Briefly summarize the idea for your solution in a few sentences and be sure to identify
the tool that you will use.
The idea of my solution is to make a program which will help the store owner to make things happen faster
Tools that I will use –
Hardware and Software Requirement
● Device used- DELLInspron3935
● Processor- Intel(R) Core(TM) i7-11390H CPU @ 2.70GHz 4.70 GHz
● Ram- 8.00 GB
● OS- Winodows 11
● HDD-1TB
● SSD-256GB
● For Programming- Jupyter Notebook, Spyder
5. Data
5.1 What data will you need for your project?
Data will be needed for our project information about grocery billing system. For programming
we will use python and SQL.
6. Prototype
6.1 Which tool(s) will you use to build your prototype?
10
Tools that I will use –
Hardware and Software Requirement
● Device used- DELLInspron3935
● Processor- Intel(R) Core(TM) i7-11390H CPU @ 2.70GHz 4.70 GHz
● Ram- 8.00 GB
● OS- Winodows 11
● Architecture-64 bit
● HDD-1TB
● SSD-256GB
● For Programming- Jupyter Notebook, Spyder
●
6.2 What decisions or outputs will your tool generate and what further action
needs to be taken after a decision is made?
Tools we will use to generate the idea of required software program like Python and
SQL, We can perform various functions.
● Supplier module- 1 Admin can add new supplier 2 Admin can see the list of
supplier detail 3 only admin can see or edit the detail of supplier
● Costumer module- 1 Admin can add new customer record 2 Admin Can see the
list of customer detail 3 Admin will able to delete the costumer details
● Product Module- 1 Admin can manage edit or add any product 2 Admin can see
the list of all product
11
Flow Chart
Python MySQL-Connecting
12
Source Code
import mysql.connector as sql
conn=sql.connect(host='localhost',user='root',passwd='manager',dat
abase='grocery_shop')
if conn.is_connected():
print('successfully connected')
c=conn.cursor()
print('grocery shop')
print('1.customer details')
print('2.product details')
print('3.worker details')
print('4.see all customer details')
print('5.see all product details')
print('6.see all worker details')
print('7.see one customer details')
print('8.see one product details')
print('9.see one worker details')
print('10.stocks')
print('11.pie chart for avalibility of stock')
13
choice=int(input('enter the choice'))
if choice==1:
cust_name=input('enter your name=')
phone_no=int(input('enter your phone number='))
cost=float(input('enter your cost='))
sql_insert="insert into customer_details
values("+str(phone_no)+",'"+(cust_name)+"',"+str(cost)+")"
c.execute(sql_insert)
conn.commit()
print('data is updated')
elif choice==2:
product_name=input('enter product name=')
product_cost=float(input('enter the cost='))
sql_insert="insert into product_details
values(""'"+(product_name)+"',"+str(product_cost)+")"
c.execute(sql_insert)
conn.commit()
print('data is updated')
elif choice==3:
worker_name=input('enter your name=')
worker_work=input('enter your work=')
worker_age=int(input('enter your age='))
worker_salary=float(input('enter your salary='))
phone_no =int(input('enter your phone number='))
sql_insert="insert into worker_details values("
"'"+(worker_name)+"',"
"'"+(worker_work)+"',"+str(worker_age)+","+str(worker_salary)+",
"+str(phone_no)+ ")"
c.execute(sql_insert)
conn.commit()
print('data is updated')
14
elif choice==4:
t=conn.cursor()
t.execute('select*from customer_details')
record=t.fetchall()
for i in record:
print(i)
elif choice==5:
t=conn.cursor()
t.execute('select*from product_details')
record=t.fetchall()
for i in record:
print(i)
elif choice==6:
t=conn.cursor()
t.execute('select*from worker_details')
record=t.fetchall()
for i in record:
print(i)
elif choice==7:
a=input('enter your name')
t='select*from customer_details where cust_name=("{}")'.format(a)
c.execute(t)
v=c.fetchall()
for i in v:
print(v)
elif choice==8:
a=input('enter your product_name')
t='select*from product_details where
product_name=("{}")'.format(a)
c.execute(t)
15
v=c.fetchall()
for i in v:
print(v)
elif choice==9:
a=input('enter your name')
t='select*from worker_details where worker_name=("{}")'.format(a)
c.execute(t)
v=c.fetchall()
for i in v:
print(v)
elif choice==10:
print('******************************************')
f=open('test.txt','r')
data=f.read()
print(data)
f.close()
print('******************************************')
elif choice==11:
import matplotlib.pyplot as plt
items=('Macbook','Ipad','Mac','Homepod','Airtag')
avalibility=[156,200,103,206,196]
colors=['red','yellowgreen','blue','gold','lightcoral']
plt.pie(avalibility,labels=items,colors=colors)
plt.title('avalibility of items in shop')
plt.show()
else:
print('wrong password, try again ')
if choice==2:
exit()
16
OUTPUT
17
Display All Product Detail
18
Testing
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.
SPECIFICATION-BASED TESTING
Specification-based testing aims to test the functionality of software according
to the applicable requirements. Thus, the tester inputs data into, and only sees the
19
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 behavior), 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
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, 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)
20
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.
BIBLIOGRAPHY
21