Cosmetic Shop Management System Project Report
Cosmetic Shop Management System Project Report
INTERNSHIP REPORT
ON
COSMETIC SHOP MANAGEMENT SYSTEM
PROJECT
BY
KAMAL ACHARYA
(Tribhuvan University)
Date: 2022/02/25
1|Page
COSMETIC SHOP MANAGEMENT SYSTEM
INTRODUCTION
Buying new cosmetic products is difficult. It can even be scary for those who have
sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is
on the back of each product, but it's thought to interpret those ingredient lists unless you have a
background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which
products may be good fits for us. It includes various function programs to do the above mentioned
tasks.
The automated cosmetic shop management system should deal with the automation of
general workflow and administration process of the shop. The main processes of the system focus
on customer's request where the system is able to search the most appropriate products and
deliver it to the customers. It should help the employees to quickly identify the list of cosmetic
product that have reached the minimum quantity and also keep a track of expired date for each
cosmetic product. It should help the employees to find the rack number in which the product is
placed.It is also Faster and more efficient way
The objective of this project is to let the students apply the programming knowledge into
a real- world situation/problem and exposed the students how programming skills helps in
2|Page
• Write effective procedural code to solve small to medium sized problems.
project, requiring writing and presentation skills which exemplify scholarly style in
computer science.
PROPOSED SYSTEM
Today one cannot afford to rely on the fallible human beings of be really wants to stand
against today’s merciless competition where not to wise saying “to err is human” no longer
valid, it’s outdated to rationalize your mistake. So, to keep pace with time, to bring about the
best result without malfunctioning and greater efficiency so to replace the unending heaps of
One has to use the data management software. Software has been an ascent in
atomization various organisations. Many software products working are now in markets, which
have helped in making the organizations work easier and efficiently. Data management initially
had to maintain a lot of ledgers 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
This prevents a lot of time and money. The work becomes fully automated and any
information regarding the organization can be obtained by clicking the button. Moreover, now
it’s an age of computers of and automating such an organization gives the better look.
3|Page
SYSTEM DEVELOPMENT LIFE CYCLE (SDLC)
The systems development life cycle is a project management technique that divides
complex projects into smaller, more easily managed segments or phases. Segmenting projects
allows managers to verify the successful completion of project phases before allocating resources
to subsequent phases.
Software development projects typically include initiation, planning, design,
development, testing, implementation, and maintenance phases. However, the phases may be
divided differently depending on the organization involved.
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.
4|Page
PHASES OF SYSTEM DEVELOPMENT LIFE CYCLE
INITIATION PHASE
The Initiation Phase begins when a business sponsor identifies a need or an opportunity.
Careful oversight is required to ensure projects support strategic business objectives and
resources 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 benefits, and explain how the
proposed system supports one of the organization’s business strategies. The business case should
also identify alternative solutions and detail as many informational, functional, and network
requirements as possible.
5|Page
SYSTEM CONCEPT DEVELOPMENT PHASE
The System Concept Development Phase begins after a business need or opportunity is validated
by the Agency/Organization Program Leadership and the Agency/Organization CIO.
6|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’ sjob 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. 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.
7|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 alevel 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 MasterPlan.
• 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.
8|Page
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 scriptprograms during the development phase. Program
designs are c onstructed in various ways. Using a top-down approach, designers first identify and
link majorprogram 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:
9|Page
• 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
10 | P a g e
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 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.
Multiple levels of testing are performed, including:
• Testing at the development facility by the contractor and possibly supported by end users
• Testing as a deployed system with end users working together with contract
personnel
• Operational testing by the end user alone performing all functions. Requirements are
traced throughout testing,a final Independent Verification & Validation evaluation is
performed and all documentation is reviewedand accepted prior to acceptance of the
system.
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
userrequirements.
11 | P a g e
OPERATIONS AND MAINTENANCE PHASE
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 reenter the
planning phase.
The purpose of this phase is to:
12 | P a g e
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()
l.append(name)
l.append(company)
l.append(manudate)
stud=(l)
13 | P a g e
sql="insert into product(code,name,company,cost,manudate,expdate) values
(%s,%s,%s,%s,%s,%s)"
mycursor.execute(sql,stud)
mydb.commit()
def cosmeticsView():
print("1. Roll")
print("2. Name")
print("3. All")
ch==1:
mycursor.execute(sql,rl)
elif ch==2:
mycursor.execute(sql,rl)
elif ch==3:
mycursor.execute(sql) res=mycursor.fetchall()
14 | P a g e
for x in res: print(x)
def viewCustomer():
All")
ch==1:
mycursor.execute(sql,rl)
elif ch==2:
mycursor.execute(sql,rl)
elif ch==3:
mycursor.execute(sql) res=mycursor.fetchall()
for x in res:
15 | P a g e
print(x)
def CustomerPurchase():
print("Please enter the details to purchase cosmetics product :") sql="select * from
customer"
mycursor.execute(sql) res=mycursor.fetchall()
for x in res:
print(x)
cost=0.0
LI=dict()
ch='y'
tsum=0.0
q1=0
cc=0.0
#while(ch=='y'):
mycursor.execute(sql,r1) res=mycursor.fetchall()
for x in res:
cost=float(x[0]) print
(cost)
16 | P a g e
q1=int(input("Enter the item quantity: "))
cc=q1*cost
print(cc)
tsum=tsum+cc
else:
L=[]
L.append(cid)
L.append(cname) phone_no=int(input("Enter
add=input("Enter Address")
L.append(add) gender=input("Enter
member=input("Enter membership")
L.append(member)
cosmme=(L)
mycursor.execute(sql,cosmme) mydb.commit()
17 | P a g e
def removeCosmetics():
mycursor.execute(sql,rl)
mycursor.execute(sql,rl)
mydb.commit()
try:
userInput = int(input("Please Select An Above Option: ")) #Will Take Input From
User
except ValueError:
else:
if(userInput == 1):
cosmeticsInsert() elif
(userInput==2):
18 | P a g e
cosmeticsView() elif
(userInput==3):
CustomerPurchase() elif
(userInput==4):
removeCosmetics() elif
(userInput==5):
viewCustomer() else:
MenuSet()
def runAgain():
while(runAgn.lower() == 'y'):
if(platform.system() == "Windows"):
print(os.system('cls'))
else:
print(os.system('clear'))
MenuSet()
print("Good Bye")
runAgain()
19 | P a g e
DATABASE
20 | P a g e
OUTPUT SCREEN
21 | P a g e
22 | P a g e
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.
23 | P a g e
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
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)
24 | P a g e
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.
25 | P a g e
HARDWARE AND SOFTWARE REQUIREMENTS
HARDWARE REQUIREMENTS:
SOFTWARE REQUIREMENTS:
• Windows OS
• Python
• mysql connector module
26 | P a g e
BIBLIOGRAPHY
29 | P a g e