数据库原理课程设计说明书薪资管理系统_第1页
数据库原理课程设计说明书薪资管理系统_第2页
数据库原理课程设计说明书薪资管理系统_第3页
数据库原理课程设计说明书薪资管理系统_第4页
数据库原理课程设计说明书薪资管理系统_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

四川理工学院课程设计书学院计算机学院专业计算机科学与技术班级计科09级7班题目薪资管理系统教师何绍荣学生莫华东、邓修丽、曾秀容目录一、 开发背景和开发环境 21.1 开发背景 21.2开发环境 31.3组内成员 41.4任务分配情况 4二、 需求分析 42.1员工薪资管理系统的题目分析: 42.2信息要求 52.3处理要求 52.4安全性要求 72.5完整要求 72.6数据流图 72.7数据字典 7三、概念结构设计 143.1E-R图设计 14四、逻辑结构设计 164.1E-R图转关系模型: 164.2基本表的实现 17五、物理结构设计 18六、数据库实施 186.1建表 186.2执行sql语句 186.2.1实现按照科室录入个人的基本资料、工资和扣除金额的数据: 186.2.2计算个人的实际发放工资: 186.2.3按科室、职业分类统计人数和工资金额: 186.2.4实现分类查询: 196.2.5能够删除辞职人员的数据: 196.3编码 19七、总结 24开发背景和开发环境开发背景:企业的工资管理是公司管理的一个重要内容,随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既设计到企业劳动认识的管理,同时也是企业财务管理的重要组成部分,工资管理需要和人事管理相联系,同时连接工时考核和医疗保险等等,来生产那个企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎活计算疏漏,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统极大的提高了工作效率,节省了人力和财力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。 1.2开发环境:1.操作系统:windowsxp2.数据库:sqlserver20003.开发语言:java4.开发工具:eclipse 1.3组内成员:莫华东、邓修丽、曾秀容 1.4任务分配情况: 莫华东负责:需求分析、编码邓修丽负责:概念结构设计、数据库实施曾秀容负责:逻辑结构设计、数据库实施需求分析2.1员工薪资管理系统的题目分析:公司的员工各自职业不同,领取的工资也不相同,员工分为管理人员、账务人员、技术人员、销售人员下设几个部门,各部门人员领取的工资也不相同,有经理部、财务部、技术部、销售部工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除每个员工的基本资料有姓名、性别、年龄、部门、职业(如经理、主任、科长、工程师、办事员和工人等)每月个人的最高工资不超过3000元。工资每月按部门发放,实际发放的工资金额为工资总额减去失业保险金和住房公积金。如果违反劳动纪律,每次扣除基本工资的10%,若扣除金额每月累计超过基本工资,下月工资停发2.2信息要求:用户需要从数据库中查询基本信息其中包括员工号,姓名,性别,年龄,确定自己的基本信息是否正确用户需要从数据库中查询工资情况其中包括基本资,福利补贴,奖励工资,失业保险,住房工积金,知道自己每个月应得工资用户需要从数据库中查询部门其中包括部门号,部门名称,确定是否正确用户需要从数据库中查询职业其中包括职业号,职业名称,确定是否正确2.3处理要求:员工信息的输入,包括员工的:员工号、部门号、职业号、姓名、性别、年龄员工信息的查询,包括员工的:员工号、姓名、性别、年龄、职业、应得工资和实发工资员工信息的修改,包括员工的:员工号、姓名、性别、年龄、职业新增员工信息的插入,包括员工的:员工号、部门号、职业号、姓名、性别、年龄离职员工信息的删除,包括员工的:员工号、部门号、职业号、姓名、性别、年龄记录已经领取和未领取工资的员工的信息,包括员工的:员工号、部门号、职业号、姓名、性别、年龄、职业名、应得工资、实发工资处理违反纪律而扣工资的员工的信息,员工信息的输入,包括员工的:员工号、部门号、职业号、姓名、性别、年龄、职业、应得工资和实发工资处理因表现良好而加工资的员工的信息,员工信息的输入,包括员工的:员工号、姓名、性别、年龄、职业、应得工资和实发工资2.4安全性要求:本系统的管理员是会计部的操作人员,一般的职工只有登陆查看自己信息的权利,但是不管是管理员,还是一般工作人员,都要用自己的登录名和密码才能进行操作,这样保证了该系统得安全性。2.5完整要求:在在该系统中,数据的完整性也是非常重要的,只有保持勒完整性,才能充分发挥该系统的作用。本系统是通过采用事物来实现完整性控制的。 2.6数据流图: 2.7数据字典:数据项:员工号含义说明:唯一的标识每个员工类型:字符型长度:6取值范围:000000-999999取值含义:1-2位标识部门号3-4位标识职业号,5-6位标识员工号数据项:姓名含义说明:标识每个员工的姓名类型:字符型长度:8取值含义:顺序标识每一个员工的姓名数据项:性别含义说明:唯一的标识每一个员工的性别类型;逻辑型长度:1取值范围:0或者1取值含义:唯一的标识每一个员工的性别数据项:年龄含义说明:标识每一个员工的年龄类型:整型长度:2取值范围:18-100取值含义:顺序的标识每一个员工的年龄“员工”是该系统中的一个核心数据结构,它可以描述如下:数据结构:员工含义说明:是员工薪资管理系统中的主体数据结构,定义了一个员工的有关信息组成:员工号,姓名,性别,年龄数据项:基本工资含义说明:标识每一个员工的基本工资类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的基本工资数据项:福利补贴含义说明:标识每一个员工的福利补贴类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的福利补贴数据项:奖励工资含义说明:标识每一个员工的奖励工资类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的奖励工资数据项:失业保险含义说明:标识每一个员工的失业保险类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的失业保险数据项:住房工积金含义说明:标识每一个员工的住房工积金类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的住房工积金数据项:应得工资含义说明:标识每一个员工的应得工资类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的应得工资数据项:实得工资含义说明:标识每一个员工的实得工资类型:浮点型长度:7取值范围:0000.00-3000.00取值含义:顺序的标识每一个员工的实得工资“工资”是该统中的一个核心数据结构,它可以描述如下:数据结构:工资含义说明:是员工薪资管理系统中的核心数据结构,定义了一个员工的有关工资组成:基本工资、福利补贴、奖励工资、失业保险、住房工积金数据项:职业号含义说明:唯一的每一个员工的职业号类型:字符型长度:3取值范围:000-999取值含义:顺序的唯一标识每一个员工的职业号 数据项:职业名含义说明:唯一的每一个员工的职业名类型:字符型长度:12取值范围:000-999取值含义:顺序的唯一标识每一个员工的职业名数据结构:职业含义说明:定义了一个员工的职业组成:职业号、职业名数据项:部门号含义说明:唯一的每一个员工的部门号类型:字符型长度:2取值范围:00-11取值含义:顺序的唯一标识每一个员工的部门 数据项:部门名含义说明:唯一的每一个员工的部门名类型:字符型长度:10取值范围:0000000000 -1111111111取值含义:顺序的唯一标识每一个员工的部门名数据结构:部门含义说明:定义了一个员工的所属部门组成:部门号、部门名三、概念结构设计3.1E-R图设计员工实体E-R图: 工资实体E-R图:部门实体E-R图:职业实体E-R图:总的E-R图:四、逻辑结构设计 4.1E-R图转关系模型:员工(员工号、部门号、职业号、姓名、姓别、年龄)工资(员工号、基本工资、福利补贴、奖励工资、失业保险、住房工积金、应得工资、实发工资) 职业(职业号、职业名) 部门(部门号、部门名)4.2基本表的实现:员工表(staff):属性名数据类型字段长度是否为空是否为主/外键员工号(Snum)char11NOTNULL主键部门号(Dnum)Char2NULL外键职业号(Pnum)Char7NULL外键姓名(Sname)Char8NULL性别(Ssex)Char2NULL年龄(Sage)Char2NULL工资表(salary):属性名类型长度是否允许为空是否为主/外键员工号(Snum)char11NOTNULL外键基本工资(Bsalary)float7NULL福利补贴(Wsubsidy)float7NULL奖励工资(Asalary)float7NULL失业保险(Lsafe)float7NULL住房工积金(Hsalary)float7NULL应得工资(Dsalary)float7NULL实发工资(Ssalary)float7NULL职业表(profession):属性名数据类型长度是否为空是否为主/外键职业号(Pnum)Char7NULL主键职业名(Pname)Char2NULL部门表(department):属性名数据类型长度是否为空是否为主/外键部门号(Dnum)Char2NULL主键部门名(Dname)Char10NULL五、物理结构设计六、数据库实施 6.1建表: 1.staff表 createtablestaff(Snumchar(11)uniquenotnull,Dnumchar(2),Pnumchar(7),Snamechar(8),Ssexchar(2),Sagechar(2)); 2.salary表 createtablesalary(Snumchar(11)uniquenotnull,Bsalaryfloat(7),Wsubsidyfloat(7),Asalaryfloat(7),Lsafefloat(7),Hsalaryfloat(7),Dsalaryfloat(7),Ssalaryfloat(7)); 3.Profession表createtableprofession(Pnumchar(7)uniquenotnull,Pnamechar(2)); 4.Department表createtabledepartment(Dnumchar(2)uniquenotnull,Dnamechar(10));6.2执行sql语句6.2.1实现按照科室录入个人的基本资料、工资和扣除金额的数据:6.2.2计算个人的实际发放工资:selectstaff.Snum员工号,Sname员工名,Bsalary+Wsubidy+Asalary-Lsafe-HSalary实发工资fromstaff,Salarywherestaff.Snum=salary.Snum;6.2.3按科室、职业分类统计人数和工资金额:按照科室:selectcount(*)as人数,sum(Bsalary+Wsubsity+Asalary-Lsafe-Hsalary)as工资fromstaff,salarywherestaff.Snum=salary.SnumgroupbyDnum;按照职业:selectcount(*)as人数,sum(Bsalary+Wsubsity+Asalary-Lsafe-Hsalary)as工资fromstaff,salarywherestaff.Pnum=salary.PnumgroupbyPnum; 6.2.4 6.2.5能够删除辞职人员的数据: deletefromstaffwhereSnum=’’; deletefromsalarywhereSnum=’’; 6.3编码: 1.登录对话框: 代码: publicvoidcreateDialog() { dialog=newJDialog(Salary.this,"用户登录框",true);//创建对话框 //Fontfn=newFont("宋体",1,13); dialog.setSize(newDimension(300,200));//设置对话的大小 dialog.setLayout(newGridLayout(4,1));//设置对话框的布局 dialog.setLocation(400,260); JLabeljlab1=newJLabel("请登录"); JLabeljlab2=newJLabel("用户名:"); JLabeljlab3=newJLabel("密码:"); JTextFieldjte1=newJTextField("",15); JPasswordFieldjte2=newJPasswordField("",15); JButtonjbut1=newJButton("确定"); jbut1.setFont(fn); jbut1.setFocusPainted(false); JButtonjbut2=newJButton("取消"); jbut2.setFont(fn); jbut2.setFocusPainted(false); JPaneljpan1=newJPanel(); JPaneljpan2=newJPanel(newFlowLayout(FlowLayout.LEFT)); JPaneljpan3=newJPanel(newFlowLayout(FlowLayout.LEFT)); JPaneljpan4=newJPanel(); jlab1.setFont(fn); jlab2.setFont(fn); jlab3.setFont(fn); jte1.setFont(fn); jte2.setFont(fn); jte2.setEchoChar('*'); jpan1.add(jlab1); jpan2.add(jlab2); jpan2.add(jte1); jpan3.add(jlab3); jpan3.add(jte2); jpan4.add(jbut1); jpan4.add(jbut2); //监听按钮事件 jbut1.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente) { dialog.dispose(); } }); jbut2.addActionListener(newActionListener() { publicvoidactionPerformed(ActionEvente) { System.exit(0); } }); //监听对话框事件 addWindowListener(newWindowAdapter() { publicvoidwindowClosing(WindowEvente) { System.exit(0); } }); dialog.add(jpan1); dialog.add(jpan2); dialog.add(jpan3); dialog.add(jpan4); dialog.setResizable(false); dialog.setVisible(true); } 2.主窗口: 代码: publicstaticfinalintFRAME_WIDTH=500;//定义窗口的宽度 publicstaticfinalintFRAME_HEIGHT=350;//定义窗口的高度 privateFontfn=newFont("宋体",1,13); privateJDialogdialog; ImageIconimg; Stringfilename; publicSalary(Stringtitle,Stringfilename) { super(title); this.filename=filename; } publicvoidlaunchFrame() { this.createDialog(); this.createMenu(); this.setSize(FRAME_WIDTH,FRAME_HEIGHT);//设置窗口的宽度和高度 this.setLocation(400,260);//设置窗口的位置 this.setResizable(false);//设置窗口不允许改变大小 this.setLayout(null);//取消窗口的内在布局 th

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论