Professional Documents
Culture Documents
DURGAPUR
PROJECT REPORT ON
COSMETIC SHOP AUTOMATION
ROLL NO :
NAME :
CLASS : XII
1
GURU TEG BAHADUR PUBLIC SCHOOL
DURGAPUR
CERTIFICATE
subject Computer Science (083) laid down in the regulations of CBSE for the
(Srimanta N Ghosh)
PGT Comp Sci
Examiner:
Name: ___________________________________________________________________
2
TABLE OF CONTENTS [ T O C ]
01 ACKNOWLEDGEMENT 04
02 INTRODUCTION 05
04 PROPOSED SYSTEM 07
07 SOURCE CODE 23
08 OUTPUT 30
09 TESTING 31
11 BIBLIOGRAPHY 36
3
ACKNOWLEDGEMENT
4
PROJECT ON
COSMETIC SHOP AUTOMATION
INTRODUCTION
6
PROPOSED SYSTEM
7
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
8
For example, initial project activities might be designated as
request, requirements-definition, and planning phases, or
initiation, concept-development, and planning phases. End users
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.
9
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
10
which outlines the authority of the project manager to begin
the project.
11
SYSTEM CONCEPT DEVELOPMENT PHASE
12
It may include several trade-off decisions such as the
decision to use COTS software products as opposed to
developing custom software or reusing software
components, or the decision to use an incremental delivery
versus a complete, onetime deployment.
Construction of executable prototypes is encouraged to
evaluate technology to support the business process. The
System Boundary Document serves as an important
reference document to support the Information Technology
Project Request (ITPR) process.
The ITPR must be approved by the State CIO before the
project can move forward.
13
PICTORIAL REPRESENTATION OF SDLC:
PLANNING PHASE
14
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. Personnel
assignments, costs, project schedule, and target dates are
established.
A Project Management Plan is created with components
related to acquisition planning, configuration management
planning, quality assurance planning, concept of operations,
system security, verification and validation, and systems
engineering management planning.
15
that will be used to determine acceptance of the system are
captured in the Test and Evaluation Master plan.
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 on structed in various ways. Using a
16
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 process. During this phase, the system is designed to
satisfy the functional requirements identified in the previous
phase. Since problems in the design phase could be very
expensive to solve in the later stage of the software development,
a variety of elements are considered in the design to mitigate risk.
These include:
17
Developing a conversion plan to migrate current data to the
new system.
Determining the operating environment.
Defining major subsystems and their inputs and outputs.
Allocating processes to resources.
Preparing detailed logic specifications for each software
module. The result is a draft System Design Document which
captures the preliminary design for the system.
Everything requiring user input or approval is documented
and reviewed by the user. Once these documents have been
approved by the Agency CIO and Business Sponsor, the final
System Design Document is created to serve as the
Critical/Detailed Design for the system.
This document receives a rigorous review byAgency
technical and functional representatives to ensure that it
satisfies the business requirements. Concurrent with the
development of the system design, the Agency Project
Manager begins development of the Implementation Plan,
Operations and Maintenance Manual, and the Training Plan.
DEVELOPMENT PHASE
The development phase involves converting design
specifications into executable programs. Effective development
18
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:
19
validates that the functional requirements, as defined in the
functional requirements document, are satisfied by the
developed or modified system. OIT Security staff assess the
system security and issue a security certification and
accreditation prior to installation/implementation.
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
20
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.
21
Determine when the system needs to be modernized,
replaced, or retired.
MYSQL DATABASE
DBMS: MySQL
Host: local host
User: root
Passwd: root
Database: cosmetics
Table Structure: (Image below)
22
SOURCE CODE
import os
import platform
import mysql.connector
import pandas as pd
mydb=mysql.connector.connect(host="localhost",user="root", passwd="root",
database="cosmetics")
mycursor=mydb.cursor()
def cosmeticsInsert():
l=[]
code=int(input("Enter the cosmetic ID number : "))
l.append(code)
name=input("Enter the Cosmetics Name: ")
l.append(name)
company=input("Enter company of Cosmetics : ")
l.append(company)
cost=int(input("Enter the Cost : "))
l.append(cost)
manudate=input("Enter the Date of Manufacture : ")
l.append(manudate)
expdate=input("Enter the Date of Expiry : ")
l.append(expdate)
stud=(l)
sql="insert into product(code,name,company,cost,manudate,expdate) values
(%s,%s,%s,%s,%s,%s)"
mycursor.execute(sql,stud)
mydb.commit()
23
def cosmeticsView():
print("Select the search criteria : ")
print("1. Roll")
print("2. Name")
print("3. All")
ch=int(input("Enter the choice : "))
if ch==1:
s=int(input("Enter cosmetics ID : "))
rl=(s)
sql="select * from cosmetics where code=%s"
mycursor.execute(sql,rl)
elif ch==2:
s=input("Enter Cosmetics Name : ")
rl=(s)
sql="select * from cosmetics where name=%s"
mycursor.execute(sql,rl)
elif ch==3:
sql="select * from cosmetics"
mycursor.execute(sql)
res=mycursor.fetchall()
print("The Cosmetics Stock details are as follows : ")
print("(Cosmetics ID, Cosmetics Name, Cost, Date of Manufacture, Date of
Expiry)")
for x in res:
print(x)
24
def viewCustomer():
print("Select the search criteria : ")
print("1. Customer ID")
print("2. Customer Name")
print("3. All")
ch=int(input("Enter the choice : "))
if ch==1:
s=int(input("Enter customer ID : "))
rl=(s)
sql="select * from customer where cust_id=%s" mycursor.execute(sql,rl)
elif ch==2:
s=input("Enter Cosmetics Name : ")
rl=(s,)
sql="select * from customer where name=%s"
mycursor.execute(sql,rl)
elif ch==3:
sql="select * from customer"
mycursor.execute(sql)
res=mycursor.fetchall()
print("The Cosmetics Stock details are as follows : ")
print("(Cosmetics ID, Cosmetics Name, Cost, Date of Manufacture, Date of
Expiry)")
for x in res:
print(x)
def CustomerPurchase():
print("Please enter the details to purchase cosmetics product :")
sql="select * from customer"
mycursor.execute(sql)
res=mycursor.fetchall()
25
print("The Cosmetics Stock details are as follows : ")
print("(Cosmetics ID, Cosmetics Name, Cost, Date of Manufacture, Date of
Expiry)")
for x in res:
print(x)
cost=0.0
LI=dict()
ch='y'
tsum=0.0
q1=0
cc=0.0
#while(ch=='y'):
c1=input("Enter the items to be purchased : ")
r1=(c1,)
sql="Select cost from product where name=%s"
mycursor.execute(sql,r1)
res=mycursor.fetchall()
for x in res:
cost=float(x[0])
print (cost)
q1=int(input("Enter the item quantity: "))
cc=q1*cost
print(cc)
tsum=tsum+cc
ch=input("Want to purchase more items:")
else:
L=[]
cid=int(input("Enter customer ID"))
L.append(cid)
cname=input("Enter customer name")
26
L.append(cname)
phone_no=int(input("Enter Phone no."))
L.append(phone_no)
add=input("Enter Address")
L.append(add)
gender=input("Enter your Gender")
L.append(gender)
member=input("Enter membership")
L.append(member)
cosmme=(L)
sql="insert into customer (cust_id,cname,c_phoneno, c_address,
gender,membership) values (%s,%s,%s,%s,%s,%s)"
mycursor.execute(sql,cosmme)
mydb.commit()
print("Record of customer saves...")
print("Total cost of item purchased is Rs.",tsum)
def removeCosmetics():
name=input("Enter the cosmetics name to be deleted : ")
rl=(name)
sql="Delete from customer where name=%s"
mycursor.execute(sql,rl)
sql="Delete from customer where cname=%s"
mycursor.execute(sql,rl)
mydb.commit()
27
print("Enter 2 : To View Complete Cosmetics Stock")
print("Enter 3 : To Purchase any cosmetics Product ")
print("Enter 4 : To Remove any Cosmetic product")
print("Enter 5 : To View Customer Details")
try:
#Using Exceptions For Validation
userInput = int(input("Please Select An Above Option: ")) #Will Take Input From
User
except ValueError:
exit("\nHy! That's Not A Number") #Error Message
else:
print("\n") #Print New Line
if(userInput == 1):
cosmeticsInsert()
elif (userInput==2):
cosmeticsView()
elif (userInput==3):
CustomerPurchase()
elif (userInput==4):
removeCosmetics()
elif (userInput==5):
viewCustomer()
else:
print("Enter correct choice. . . ")
MenuSet()
def runAgain():
runAgn = input("\nwant To Run Again Y/n: ")
while(runAgn.lower() == 'y'):
if(platform.system() == "Windows"):
28
print(os.system('cls'))
else:
print(os.system('clear'))
MenuSet()
runAgn = input("\nwant To Run Again Y/n: ")
print("Good Bye")
runAgain()
29
OUTPUT
30
TESTING
31
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.[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.
32
Specification-based testing is necessary, but it is insufficient to
guard against certain risks
33
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.
34
REQUIREMENT
❖ HARDWARE REQUIRED
❖ SOFTWARE REQUIRED
35
BIBLIOGRAPHY
***
36