You are on page 1of 24
TABLE OF CONTENTS ° TOPIC PAGE NO ABSTRACT INTRODUCTION PURPOSE AND MOTIVATION SYSTEM STUDY REQUIRMENT SPECIFICATION SYSTEM DESIGN SYSTEM TESTING MAINTENANCE 0} 0] a] a} w) a] | mo) —| 2 SOURCE CODE Ss OUTPUT CONCLUSION 6 BIBLIOGRAPHY ABSTRACT-1 A project on employee salary management system is implemented by using Python as frontend and MYSQL as Database storage. The purpose of this project is to make the company easy to pay their employees salary on time. The salary of an employee is calculated automatically with the number of days he/she has worked, and also the over time working hours is also included. The payment is given with a pay slip. CHAPTER - 2 INTRODUCTION The purpose of Employee salary system project is to make the company easy to pay their employees salary on time. The salary of an employee is calculated automatically with the number of days he/she has worked, and also the over time working hours is also included. The payment is given with a pay slip. CHAPTER-3 PURPOSE AND MOTIVATION The project EMPLOYEE SALARY SYSTEM is built to help the company to provide salary to their employee on the basis of their work hours and over time.This include payment slip provided as proof for the employee. So, that there will no problems in the future. The automation of the system will help the user in proper perpetuation of the tasks. It requires less man power, less cost, proper and accurate functioning. The motivation to create this project has many sources- > Interest to develop a good user-friendly application and to reduce time consumption. > To increase the knowledge horizon in technologies like MySQL, Python. CHAPTER -—4 3.1 SYSTEM STUDY System analysis/study is the way of studying a system with an eye on solving it’s problem using computer. It is the most essential part of the system analysis. System analysis consists of system elements, process and technology. To analyze a system, we need to study the system in detail. The analyst has to understand the functioning and concept of the system in detail, design the appropriate computer based system that will meet all the requirements of the existing approach to use the computer for problem solving. System analysis includes the following basic concepts: + Preliminary investigation + Feasibility study + Detail investigation + Drawing up of strategies + Design and coding + Testing and training + Implementation + Required specification CHAPTER -5 4.1 REQUIREMENT SPECIFICATIONS 4.1.1 Hardware Requirements: System : Lenovo Hard Disk : 120 GB. Monitor : 15”? LED Input Devices: Keyboard, Mouse Ram :1GB 4.1.2 Software Requirements: Operating system : Windows 10. Coding Language : Python Database : MYSQL CHAPTER —6 SYSTEM DESIGN System design is the solution to the creation of a new system. This phase is composed of several systems. This phase focuses on the detail implementation of the feasible system. It emphasis on translating design specification to performance specification. System design has two phases of development, (i) logical design and (ii) physical design. During logical design phase the analyst describes inputs (sources), output (destination), database (data source) and procedure (data flows) all in a format that meets the user requirements. The analyst also specifies the user needs and at a level that virtually determines the information inand out and the data resources. Here the logical design is done through data flow diagram and database design. The physical testing is followed by physical design or coding. Physical design produces the working system by defining the design specifications which tells the programmers exactly what the candidate system must do. The programmers write the necessary programs that accept input from the user, perform necessary processing on accepted data through call and produce the required report on a hardcopy or display it on the screen. SYSTEM TESTING System testing is a critical aspect of Software Quality Assurance and represents the ultimate review of specification, design and coding. Testing is a process of executing a program with the intent of finding an error. A good test is one that has a probability of finding an as yet undiscovered error. The purpose of testing is to identify and correct bugs in the developed system. Nothing is complete without testing. Testing is the vital to the success of the system. In the code testing the logic of developed system is tested. For this every module of program is executed to find an error. To perform specification test, the examination of specifications stating what the program should do and how it should perform under various conditions. Unit testing focuses first on the modules in the proposed system to locate errors. This enables to detect errors in the coding and logic that are contained within the module alone. Those resulting from the interaction between modules are initially avoided. In unit testing step each module has to be checked separately. System testing does not test the software as a whole, but rather than integration of each module in the system. The primary concern is the compatibility of individual modules. One has the find areas where modules have been designed with different specification of data lengths, type and data element name. Testing and validation are the most important after the implementation of developed system. The system testing is performed to ensure that there are no errors in the implemented system. The software must be executed several times in order to find out the errors in different modules of system. Validation refers to the process of using the new software for developed system in a live environment i.e., new software inside the organization, in order to find out the errors. The validation phase reveals the failures and the bugs in the developed system. It will be come to know about the practical difficulties in the system faces when operated in the true environment. By testing the code of implemented software, the logic of the program can be examined. A specification test is conducted to check whether the specifications stating the program are performing under various conditions. Apart from these tests, there are some special tests conducted which are given below: Peak Load Test: This determines whether the new system will handle the volume of activities when the system is at the peak of its processing demand. The test has revealed that the new software for the agency is capable of handling the demands at the peak time. Storage Test: This determined the capacity of the new system to store transactions data on a disk or on other files. The proposed software has the required storage space available, because of the use of a number of hardisks. Performance Time Test: This test determines the length of the time used by the system to process transaction data. In this phase, the software developed testing is exercising the software to uncover errors and ensure the system meets defined requirements .Testing is done at 3 levels: 1.Unit level 2. Module level 3. Integration and system CHAPTER-8 MAINTENANCE Maintenance is making adaptations of the software for external changes (requirements, changes or enhancements) and internal changes (fixing bugs). When changes are made during the maintenance phase all the preceding steps of the model must be revised. There are three types of maintenance: * Corrective (fixing bugs/errors) + Adaptive (updates due to environment changes) + Perfective (enhancements, requirements, changes). OURCE CODE import time import datetime from tkinter import * port tkinter.messagebox import mysql.connector as msc db = msc.connect(host = ‘localhost’ user=root’ passwd = 'zebro@123#u') cur = db.cursor() cur.execute("Create database if not exists salary_details") cur.execute("Use salary_details") cur.execute(""create table if not exists payslip(name varchar(35), address varchar(50),employer varchar(35), NI_number int primary key,hours int, rate float(10,2),tax float(10,2), overtime int,grosspay float(10,2),netpay float(10,2))" root=Tk() root.title("Employee payroll system") root.geometry('1350x650+0+0') root.configure(background="powder blue") ‘Tops-Frame(root, width=1350,height=50,bd=8,ba="powder blue") Tops.pack(side=TOP) f1=Frame(root, width=600,height=600,bd=8, be="powder blue") fl.pack(side=LEFT) £2-Frame(root,width=300,height=700, bd=8,bg="powder blue”) f2.pack(side=RIGHT) fla-Frame(f1,width=600,height=200,bd=8,bg="powder blue") fla pack(side=-TOP) flb=Frame({1 width=300,height=600,bd=8,bg="powder blue") flb.pack(side=TOP) Iblinfo=Label(Tops.font=(arial’45,'bold’),text="Employee Payment Management system ",bd=10,fg="green") Iblinfo.grid(row=0,column=0) def exit(): exit=tkinter messagebox.askyesno("Employee system”,"Do you want to exit the system") if|exit>0: root.destroy() return def reset(): Name.set("") Address.set('"") HoursWorked.set("") wageshour.set("") Payable.set("") Taxable.set("") NetPayable.set("") GrossPayable.set("") OverTimeBonus.set("") Employer.set("") NINumber.set("") txtpayslip.delete("1.0",END) def enterinfo(): txtpayslip.delete("1.0",END) txtpayslip.insert(END,"\t\tPay Slip\n\n") txtpayslip.insert(END,"Name :\t\t"+Name.get()+"\n\n") txtpayslip insert(END,"Address :\tit"+Address.get()+"\n\n") txtpayslip insert(END,"Employer :\t"*+Employer.get()+"\n\n") txtpayslip.insert(END,"NI Number :\\t"+NINumber.get()+"\n\n") txtpayslip.insert(END,"Hours Worked :\t\t"*+Hours Worked get()+"\n\n") txtpayslip insert(END, "Net Payable :\\t"+NetPayable.get()*"\nin") txtpayslip insert(END." Wages per hour :\t\"*wageshour.get()+"\n\n") txtpayslip insert(END, "Tax Paid :\i\t"+Taxable.get()+"\n\n") txtpayslip insert(END, "Payable :\t\t"+Payable.get()+"\n\n") def weeklywages(): txtpayslip.delete("1.0",END) hoursworkedperweek=float(Hours Worked.get()) wagesperhours=float(wageshour.get()) paydue=wagesperhours*hoursworkedperweek paymentdue="INR" str('%.2%(paydue)) Payable.set(paymentdue) tax=paydue*0.2 taxable="INR" str('%.2f%(tax)) Taxable.set(taxable) netpay=paydue-tax netpays="INR" str('%.2%(netpay)) NetPayable.set(netpays) if hoursworkedperweek > 40: overtimehours=(hoursworkedperweek-40)+wagesperhours* 1.5 overtime="INR",str('%. 2f%(overtimehours)) OverTimeBonus.set(overtime) elif hoursworkedperweck<=40: overtimepay=(hoursworkedperweek-40)+wagesperhours*1.5 overtimehrs="INR" str('%.2£%(overtimepay)) OverTimeBonus.set(overtimehrs) a=Name.get() b= Address.get() e= HoursWorked.get() f= wageshour.get() g= Taxable.get() i= NetPayable.get() j= GrossPayable.get() h = OverTimeBonus.get() c= Employer.get() d= NINumber.get() cur.execute(""'insert into payslip values('{}',' 0,00. 0-0.0.0.0,.0)"-format(a,b,c,d.e,f2,hij)) db.commit() Name=StringVar() Address=StringVar() HoursWorked=StringVar() wageshour=StringVar() Payable=StringVar() Taxable=StringVar() NetPayable=StringVar() GrossPayable=StringVar() OverTimeBonus=StringVar() Employer=StringVar() NiNumber=StringVar() TimeOfOrder=StringVar() DateOfOrder=StringVar() DateOfOrder.set(time.strRime("%d/%m/%Y")) Label Widget IbIName=Label(fla,text="Name"font=(‘arial’,16,,bold’),bd=20,fg-"red" bg="powd er blue"). grid(row=0,column=0) IblAddress=Label(fla,text="Address”,font=(‘arial’,16,’bold’),bd=20,fg="red" bg="p owder blue").grid(row=0,column=2) IblEmployer=Label(fla,text=" Employer", font=(arial’,1 6,'bold'),bd=20,fg="red" bg ="powder blue").grid(row=I,column=0) IbININumber=Label(fla,text="NI Number" font=(‘arial’,16,bold’),bd=20,fg="red",bg="powder blue"). grid(row=1,column=2) IblHours Worked=Label(fla,text="Hours Worked",font=(‘arial’,16,’bold’).bd=20, fe="red", bg="powder blue") grid(row=2,column=0) Ib|HourlyRate=Label(fla,text="Hourly Rate’ font=(‘arial',16,bold’),bd=20,fa="red",be="powder blue"). grid(row=2,column=2) IblTax=Label(fla,text="Tax",font=(arial’,16,bold),bd=20,anchor="w’,fg="red'"bg= “powder blue").grid(row=3,column=0) IblOver‘Fime=Label(fla,text="OverT ime" font=(arial’,16,’bold'),bd=20,fg="red",bg ="powder blue").grid(row=3,column=2) ="GrossPay",font=(‘arial’,16,’bold’),bd=20,fg="red" b= "powder blue").grid(row=4,column=0) etxname=Entry(fla,textvariable=Name,font=(‘arial’ 16, bold!),bd=16,width=22, justi fy="left’) etxname.grid(row=0,column=1) etxaddress=Entry (fa,textvariable=A dress, font=(aria’,16,'bold’),bd=16,width=22, justify=lef’) etxaddress.grid(row=0,column=3) etxemployerEntry latextvariable=Employer.font=(arial,16,bold),bd=16,width= 22,justify="eft?) etxemployer.grid(row=1,column=1) etxhoursworked~Entry/fla,textvariable-Hours Worked, font=(arial’ 16,’bold!).bd=1 6,width=22,justify"eft) etxhoursworked.grid(row=2,column=1) etxwagesperhours=Entry’ (fla,textvariable=wageshour, font=(‘arial’, 6,'bold'),bd= 16, width=22,justify='left’) etxwagesperhours.grid(row=2,column=3) etxnin=Entry(fla,textvariable=NINumber, font=(‘arial’,16,'bold’),bd=16,width=22,ju stify='left) etxnin.grid(row=,column=3) Entry fla,textvariable=Payable, font=(‘arial’,16,'bold’),bd=16,width=22 etxgrosspay.grid(row=4,column=1) intry(fla,textvariable=NetPayable, font=(‘arial’, | 6,'bold'),bd=16,width= 22,justify='left’) etxnetpay.grid(row=4,column=3) etxtax-Entry(fla,textvariable=Taxable, font=(arial’, 16, bold'),bd=16,width=22,justi fy='left’) etxtax grid(row=3,column=1) etxovertime=Entry fla textvariable=OverTimeBonus, font=(‘arial’,16,'bold’),bd=16, width=22,justifyleft) etxovertime.grid(row=3,column=3) payslip=Label(2,textvariable=DateOfOrder, font=(‘aria’,2,"bold!),fg-"red"be="P owder blue"). grid(row=0,column=0) txtpayslip=Text(f2,height=22,width=34,bd=16,font=(arial’,13 ,‘bold’),fg="green",b g="powder blue") txtpayslip.grid(row=1,column=0) binsalary=Button(flb,text="Weekly Salary’ padx=16,pady=16,bd=8,font=(‘aria’,16,"bold’),width=14,fg="red",be-"pow der biue".command=weekly wages).grid(row=0,column=0) binreset=Buttont b,text~'Reset’ padx=16,pady=16,bd=8,font(arial’,16,’bold’).wid th=14,command=reset,fa="red",bg="powder blue").grid(row=0,column=1) binpayslip=Button(flb,text="View Payslip',padx=16,pady=16,bd= font=(‘arial’,16,'bold’), width= 14,command=enteri nfo.fe="red",bg="powder blue") grid(row=0,column=2) binexit=Button(flb,text="Exit System',padx=1 6,pady=16,bd=8, font=(‘arial’, 16,'bold’), width= 14,command=exit, fg ="red" be="powder blue"). grid(row=0,column=3) root.mainloop() CHAPTER-10 OUTPUT Employee salary Management system 0/02/2022 see hate fe CL ce see i oyun SO pe came PO cn eM CHAPTER-11 CONCLUSION The project report entitled “EMPLOYEE SALARY SYSTEM” has come to its final stage. The system has been developed with much care that it is free of errors and at the same time it is efficient and less time consuming, The important thing is that the system is robust.Also provision is provided for future developments in the system.The entire system is secured. CHAPTER-12 BIBLIOGRAPHY +> Computer Science by Sumita Arora <> https://www.geeksforgeeks.org. + http://www. science.smith.edu/dftwiki/index.php/Color_Charts_f or_TKinter

You might also like