数据库课程设计—企业工资管理系统java版+完整代码
- 格式:docx
- 大小:26.28 KB
- 文档页数:37


数据库工资管理系统报告和代码大全课程设计报告题目:工资治理系统所在学院:信息工程学院班级:学号:姓名:指导教师:2020年1月2日名目一、概述二、需求分析三、概念设计四、逻辑设计五、系统实现六、小结一、概述在工资治理中,需要从公司治理方式以及实际情形中提取相关信息,以反映工资治理情形。
传统的手工操作方式,易发生数据丢失,统计错误,劳动强度高,且速度慢。
使用运算机能够高速,快捷地完成以上工作。
幸免重复劳动,规范工资治理行为,从而提高了治理效率和水平。
让人们的效率大大提高.不难想象,正是资讯的迅速进展使得人们从过去繁复的手工劳作中得以解脱,从而使这种服务在现在才可能迅速普及。
同时,编写一套完整的工资治理系统的任务就显得尤为重要。
本课程设计共分为四大模块:1.系统数据初始化2.工差不多信息数据的输入、修改、删除;3.职员个人信息及工资表的查询;4,职职员资的运算;二、需求分析本系统要紧用于职员差不多信息的治理,对职员以及其他信息的添加、修改、删除、查询等差不多操作。
关于数据库的爱护有数据备份和数据复原的功能。
针对这些要求,设计本月工资信息治理系统。
该系统要紧包括职工信息、工资级别和工资金额、公司福利表等。
⒈职员差不多状况包括职员号、职员姓名、性别、所在部门、工资级别、工资等级等。
2.工资级别和工资金额包括工资等级、工资额。
3.企业部门及工作岗位信息包括部门名称、工作岗位名称、工作岗位工资等。
4.工龄和工资金额包括工龄及对应工资额。
5.公司福利表包括福利名称、福利值。
本系统概念设计思想:1.对公司软硬件调查,从实际环境动身,以便充分利用公司现在资源,提高系统开发水平和应用成效。
2.了解公司的需要及相关方面的规定,依照需要做出符合要求的软件,并达到操作过程中的直观、方便、有用、安全等要求。
3.将系统按模块分工到人,提高效率,且模块化设计便于系统功能的各种组合和修改及日后的爱护。
4.系统应具备数据库爱护功能,及时依照用户需求进行数据的添加、删除、修改等操作。
java实现⼯资管理简单程序本⽂为⼤家分享了java实现⼯资管理简单程序的具体代码,供⼤家参考,具体内容如下程序总体说明(ReadMe):总体分为四部分:管理程序(staffmanagment.java):在这⾥⾯使⽤了arraylist泛型来存放数据博主正在想办法把数据放进mysql,这样读取会更⽅便,⽽且数据不会消失当然(也可以把数据存⼊txt⽂件)import java.util.ArrayList;//员⼯管理public class staffmanagement {ArrayList al = null;//员⼯信息在这⾥⾯建⽴public staffmanagement(){al = new ArrayList();}//成员⽅法//添加新员⼯public void addstaff(staff staff){al.add(staff);}//根据⼯号查询员⼯的信息public void showInfo(String no){int flag = 0;for(int i=0; i<al.size(); i++){staff staff= (staff)al.get(i);if(staff.getNo().equals(no)){flag = 1;System.out.println("员⼯"+(i+1)+"的信息是:");System.out.print("姓名:"+staff.getName());System.out.print(" 性别:"+staff.getSex());System.out.print(" 年龄:"+staff.getAge());System.out.print(" ⼯号:"+staff.getNo());System.out.print(" 薪资:"+staff.getSalary());System.out.print(" ⼯作:");if(staff.getWork() == 1) System.out.println("common staff");else if(staff.getWork() == 2) System.out.println("common manager");else if(staff.getWork() == 3) System.out.println("head manager");System.out.println(staff);}}if(flag == 0)System.out.println("该⼯号不存在");}//显⽰所有员⼯信息public void showAllInfo(){for(int i=0; i<al.size(); i++){staff staff= (staff)al.get(i);System.out.println("staff"+(i+1)+"的信息是:");System.out.print("姓名:"+staff.getName());System.out.print(" 性别:"+staff.getSex());System.out.print(" 年龄:"+staff.getAge());System.out.print(" ⼯号:"+staff.getNo());System.out.print(" 薪资:"+staff.getSalary());System.out.print(" ⼯作:");if(staff.getWork() == 1) System.out.println("common staff");else if(staff.getWork() == 2) System.out.println("common manager");else if(staff.getWork() == 3) System.out.println("head manager");System.out.println(staff);}}//修改员⼯的薪⽔public void modifySal(String no, double sal) //员⼯⼯号最新的薪资{int flag = 0;for(int i=0; i<al.size(); i++){staff staff= (staff)al.get(i);if(staff.getNo().equals(no)){flag = 1;staff.setSalary(sal);}}if(flag == 0)System.out.println("找不到所查⼯号");}//根据⼯号删除该员⼯的信息public void deleteInfo(String no){int flag = 0;for(int i=0; i<al.size(); i++){staff staff= (staff)al.get(i);if(staff.getNo().equals(no)){flag = 1;al.remove(i);}}if(flag == 0)System.out.println("找不到所查⼯号");}//统计当前公司的三个⽔平⼯资线public void calSalary() {if (al.isEmpty()) {System.out.println("the stafflist is empty,please input the staff infomation"); System.out.println("please input the No 1 to add the staffinfo");} else {double totalSal = 0;double minSal = ((staff) al.get(0)).getSalary();double maxSal = ((staff) al.get(0)).getSalary();for (int i = 0; i < al.size(); i++) {staff staff = (staff) al.get(i);totalSal += staff.getSalary();if (minSal > staff.getSalary()) {minSal = staff.getSalary();}if (maxSal < staff.getSalary()) {maxSal = staff.getSalary();}}System.out.println(al.size() + "个⼈的平均薪资为:" + totalSal / al.size()); System.out.println(al.size() + "个⼈的最低薪资为:" + minSal);System.out.println(al.size() + "个⼈的最⾼薪资为:" + maxSal);}}}界⾯模块(SalarySystem.java)对不同员⼯的⼯资最低进⾏了限制,毕竟法律规定了不能给太低年龄也是(⾄少得成年吧——你懂的)职位还可以安排更多import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Scanner;/** @antuor:jeffw* 员⼯界⾯为博主清风追梦的写法* 清风⼤⼤的blogs:/qingfengzhuimeng/p/6509965.html* io输⼊输出* 在员⼯的类别上加⼊员⼯的职业区分别建⽴不同的类* 程序使⽤英语+中⽂⽅式= =顺便练习英语*/public class SalarySystem {public static void main(String[] args) throws IOException //使⽤bufferreader读取更加的安全,当读取不到的返回错误抛出 {staffmanagement sys = new staffmanagement();InputStreamReader isr = new InputStreamReader(System.in);//输⼊流为系统,也可以从⽂本读取,⼀次读取⼀个字符 BufferedReader br = new BufferedReader(isr);//读取,对输⼊流的封装,可以读取⼀⾏,⼀个字符或者是⼀个数字//这⾥以isr读取到的传给brwhile(true){//简易菜单System.out.println("简单管理菜单" );System.out.println("---------------------------------------");System.out.println("1.添加新员⼯");System.out.println("2.根据⼯号显⽰员⼯的信息");System.out.println("3.显⽰所有员⼯信息");System.out.println("4.修改员⼯的薪⽔");System.out.println("5.根据⼯号删除员⼯的信息");System.out.println("6.统计员⼯的平均⼯资、最⾼⼯资和最低⼯资");System.out.println("7.查看具体⼯作名称");System.out.println("8.最低⼯资说明");System.out.println("9.清屏");System.out.println("0.退出");System.out.println("---------------------------------------");System.out.println("请选择序号:");String no = br.readLine();if(no.equals("1")) {System.out.println("添加新员⼯:");System.out.println("请输⼊姓名:");String name = br.readLine();System.out.println("请输⼊性别(男or⼥):");String sex = br.readLine();System.out.println("请输⼊⼯作:");System.out.println("⽬前共有三种职位:\n" +"mon_staff\n" +"mon_manager\n" +"3.head_manager");System.out.println("please input the work id:");int work = Integer.parseInt(br.readLine());System.out.println("请输⼊年龄:");Scanner sc = new Scanner(System.in);int age = sc.nextInt();if( age < 18 ){System.out.println("the age is too small,please input again");sc = new Scanner(System.in);age = sc.nextInt();}System.out.println("请输⼊⼯号:");String staffNo = br.readLine();System.out.println("请输⼊⼯资:");double salary = Double.parseDouble(br.readLine());if( work == 1 ) {while (salary < 2000) {System.out.println("the common staff's salary is too low");System.out.println("请重新输⼊");salary = Double.parseDouble(br.readLine());}}else if( work == 2 ) {while (salary < 5000) {System.out.println("the manager's salary is too low");System.out.println("请重新输⼊");salary = Double.parseDouble(br.readLine());}}else if( work == 3 ) {while (salary < 8000) {System.out.println("the head manager's salary is too low");System.out.println("请重新输⼊");salary = Double.parseDouble(br.readLine());}}staff staff = null;if (work == 1) {staff = new staff(name, sex, age, staffNo, salary, work);} else if(work == 2){staff = new manager(name, sex, age, staffNo, salary, work);}else if(work == 3 ) {staff = new manager(name, sex, age, staffNo, salary, work);}sys.addstaff(staff);}else if(no.equals("2")){System.out.println("请输⼊员⼯号:");String staffNo = br.readLine();sys.showInfo(staffNo);}else if(no.equals("3")){System.out.println("显⽰所有员⼯信息:");sys.showAllInfo();}else if(no.equals("4")){System.out.println("修改员⼯的薪⽔:");System.out.println("输⼊员⼯⼯号:");String staffNo = br.readLine();//接收输⼊的⼯号System.out.println("修改后的员⼯⼯资:");String sal = br.readLine();double salary = Double.parseDouble(sal);sys.modifySal(staffNo, salary);}else if(no.equals("5")){System.out.println("根据⼯号删除该员⼯的信息:");System.out.println("输⼊员⼯⼯号:");String staffNo = br.readLine();//接收输⼊的⼯号sys.deleteInfo(staffNo);}else if(no.equals("6")){System.out.println("统计员⼯的平均⼯资、最⾼⼯资和最低⼯资:");sys.calSalary();}else if(no.equals("7")) {System.out.println("查看具体⼯作名称:\n" +"序号1为common staff\n" +"序号2为conmmon manager\n" +"序号3为head manger");}else if(no.equals("8")) {System.out.println("最低⼯资说明:\n" +"mon staff 最低⼯资为2000\n" +"2.conmmon manager 最低⼯资为5000\n" +"3.head manager 最低⼯资为8000\n");}else if(no.equals("9")){int i=0;while( i < 80) {System.out.println("********");i++;}//java因为ide的原因没有提供内置类似c++的⽅法,所以只能简陋的使⽤***来清屏了= = System.out.println("如果觉得看着⿇烦的话,可以在console⾥⾯⿏标右击->clear");}else if(no.equals("0")){System.exit(0);}else{System.out.println("请输⼊正确的序号");}}}}普通职位模块(staff.java)所有的员⼯模块通过此模块进⾏扩展//普通员⼯类public class staff{private String name;private String sex;private int age;private String no;private double salary;private int work;public staff(){}public staff(String name, String sex, int age, String no, double salary,int work){ = name;this.sex = sex;this.age = age;this.no = no;this.salary = salary;this.work = work;}@Overridepublic String toString() {// return "this is a common staff\n"// +"name:"+name+"\n"// +"sex :"+sex+"\n"// +"age :"+age+"\n"// +"no :"+no+"\n"// +"salary :"+salary+"\n"// +"work :"+work+"\n";return getWork()+" the common staff is working and the salary is "+getSalary()+"\n" +"his/her workid is 1 and he/she needs handle with the company's common situations"; }public String getName() {return name;}public void setName(String name) { = name;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getNo() {return no;}public void setNo(String no) {this.no = no;}public double getSalary() {return salary;}public void setSalary(double salary) {this.salary = salary;}public void setWork(int work){this.work = work;}public int getWork(){return work;}}扩展职位模块mon managerpublic class manager extends staff{public manager(String name, String sex, int age, String no, double salary, int work) {setName(name);setSalary(salary);setAge(age);setNo(no);setSex(sex);setWork(work);}public manager(){System.out.println("this is a manager");}@Overridepublic String toString() {return "the manager is working and the salary is "+getSalary()+"\n" +"his workid is 3 and he needs handle with the company's emergency situations";}}2.head managerpublic class headmanager extends manager{public headmanager(String name, String sex, int age, String no, double salary, int work) {setName(name);setSalary(salary);setAge(age);setNo(no);setSex(sex);setWork(work);}public headmanager(){System.out.println("this is a headmanager");System.out.println("his workid is 3 " +"and he needs handle with " +"the company's emergency situations");}@Overridepublic String toString() {return "the headmanager is working and the salary is "+getSalary()+getSalary()+"\n" +"his/her workid is 2 and he/she needs hanle whih the compant's main development"; }}运⾏展⽰2018.12.15更新:现在还没有想到怎么⽤数据库连接,不过新学习了file⽂件操作模式,现在把这种⽅式加⼊到员⼯管理⾥⾯:以下是增加内容:else if(no.equals("10")) {System.out.println("正在读取中,请稍候...");File file = new File("1.txt");Scanner input = new Scanner(file);while(input.hasNext()){String name = input.nextLine();String sex = input.nextLine();int work = input.nextInt();int age =input.nextInt();input.nextLine();String staffNo = input.nextLine();double salary = input.nextDouble();staff staff = null;if (work == 1) {staff = new staff(name, sex, age, staffNo, salary, work);} else if(work == 2){staff = new manager(name, sex, age, staffNo, salary, work);}else if(work == 3 ) {staff = new manager(name, sex, age, staffNo, salary, work);}else{System.out.println("不存在此职业");}sys.addstaff(staff);System.out.println("导⼊成功");}接下来的想法是把重复的员⼯去除,想先通过提醒使⽤者导⼊员⼯后,删除原有员⼯⽂件,然后在使⽤者退出前提⽰导⼊员⼯名单进⾏解决可能出现的员⼯重复问题以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
沈阳工程学院课程设计设计题目:工资管理系统系别信息工程系班级计本081学生姓名刘泉王丹甘霖李芳学号15 02 24 25指导教师孙宪丽、关颖职称副教授、讲师起止日期: 2010 年6月21 日起——至2010年7月 2 日止沈阳工程学院课程设计任务书课程设计题目:工资管理系统系别信息工程系班级计本081学生姓名刘泉王丹甘霖李芳学号15 02 25 24指导教师孙宪丽、关颖职称副教授、讲师课程设计进行地点:实训F 608任务下达时间: 2010 年 6 月21 日起止日期:2010 年 6 月21 日起--至2010 年7月 2 日止教研室主任费雅洁2010 年6 月8 日批准1.设计的原始资料及依据通过课程设计使学生进一步加深对课程内容的理解,利用程序设计的基本思想进行程序的开发,进一步掌握编程方法和技巧,提高学生用程序的思想来解决实际问题的能力。
2。
设计的主要内容及要求(1)写出系统的需求分析。
(2)写出数据库设计.(3)写出系统的详细设计及各模块的功能.(4)编写代码,开发系统。
3.对设计说明书撰写内容、格式、字数的要求⑴学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。
课程设计说明书(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐.⑵装订格式封面、任务书、成绩评审意见表、摘要和关键词、目录、正文、结论、致谢、参考文献。
⑶课程设计说明书(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
打印时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。
文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,三级节标题采用黑体小四号字,表题与图题采用宋体五号字。
4.设计完成后应提交成果的种类、数量、质量等方面的要求⑴课程设计任务书⑵课程设计报告⑶设计成品(光盘)5.时间进度安排6。
摘要我们小组的课程设计是某公司的工资管理系统。
在这个计算机快速发展的世界里,计算机为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现代化起到了重要作用。
工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,既方便又快捷地完成员工工资的发放。
我们组在课程设计过程中根据设计中的需求及对工资管理系统采用了模块化的设计思想,在机房我们在Windows XP操作系统环境下,采用myeclipse7作为开发工具,主要连接Access数据库来实现公司的工资管理系统的主要功能。
在设计过程中,我们首先小组首先对整体的思路进行分析,然后进行分工。
对数据库和类进行设计,实现了工资管理系统的功能。
其功能主要包括公司用户管理、人员管理、部门管理、工资管理等功能。
本系统运用了数据库技术,可以大量的存储信息。
又实现了人机交互,不但缩短工资发放的时间,又避免了传统时代的人工计算错误。
总而言之,该系统在工资管理方面考虑周全,功能齐全,极大地提高了公司对员工工资管理的效率。
关键词工资管理系统,Access数据库,Java目录摘要 (I)目录............................................................................................................................... I I 第1章绪论. (1)1.1项目背景 (1)1.2项目开发环境 (1)1.2.1 硬件环境 (1)1.2.2 软件环境 (1)第2章相关技术 (1)2.1系统所涉及到的语言 (1)2.1.2 Java (1)2.2开发工具 (1)2.2.1 MyEclipse (1)2.2.1 Access (2)第3章系统分析及组内分工 (1)3.1需求概述 (1)3.2需求分析 (1)3.2.1 理解需求 (1)3.2.2 分析需求 (1)3.2.3可行性分析 (2)3.3设计思想 (2)3.4系统功能结构图 (3)3.5组内分工 (4)第4章数据库设计 (5)4.1数据库需求分析 (5)4.2数据流图 (5)4.2数据字典 (6)4.3概念结构设计 (9)4.3.1概念结构设计方法 (9)4.3.2概念模型设计 (9)第5章系统详细模块设计与实现 (10)5.1用户登录及主界面 (10)5.2用户管理功能实现 (18)5.3人员管理功能实现 (24)5.4部门管理功能实现 (39)5.5工资管理功能实现 (45)5.6帮助功能实现 (50)5.7退出系统功能实现 (51)结论 (52)致谢 (53)参考文献 (54)第1章绪论1.1 项目背景借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。