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

下载本文档

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

文档简介

1、四 川 理 工 学 院 课 程 设 计 书学院 计算机学院 专业 计算机科学与技术 班级 计科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.1 E-R图设计14四、逻辑结构设计164.1 E-R图转关系模型:164.2 基本表的实现17五、物理结构设计18六、数据库实施186.1建表

2、186.2执行sql语句18实现按照科室录入个人的基本资料、工资和扣除金额的数据:18计算个人的实际发放工资:18按科室、职业分类统计人数和工资金额:18实现分类查询:19能够删除辞职人员的数据:196.3 编码19七、总结24一、 开发背景和开发环境1.1 开发背景:企业的工资管理是公司管理的一个重要内容,随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。工资管理既设计到企业劳动认识的管理,同时也是企业财务管理的重要组成部分,工资管理需要和人事管理相联系,同时连接工时考核和医疗保险等等,来生产那个企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资等。资金是企业生存的主要元素

3、,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。早期的工资统计和发放都是使用人工方式处理纸质材料,不仅花费财务人员大量的时间且不易保存,往往由于个人的因素抄写不慎活计算疏漏,出现工资发放错误的现象。早期工资管理多采取纸质材料和具有较强的时间限制。基于以上原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。企业工资管理系统极大的提高了工作效率,节省了人力和财力,最终满足企业财务管理、员工工资发放的需要,同时也成为现代化企业管理的标志。1.2 开发环境:1. 操作系统:windows xp2. 数据库:sql ser

4、ver 20003. 开发语言:java4. 开发工具:eclipse1.3 组内成员:莫华东、邓修丽、曾秀容1.4 任务分配情况:莫华东负责:需求分析、编码邓修丽负责:概念结构设计、数据库实施曾秀容负责:逻辑结构设计、数据库实施东况4 psever 2000e Snum=' staff.Snum=salary.Snum;二、 需求分析2.1员工薪资管理系统的题目分析:n 公司的员工各自职业不同,领取的工资也不相同,员工分为管理人员、账务人员、技术人员、销售人员n 下设几个部门,各部门人员领取的工资也不相同,有经理部、财务部、技术部、销售部n 工资由基本工资、福利补贴和奖励工资构成,失

5、业保险和住房公积金在工资中扣除n 每个员工的基本资料有姓名、性别、年龄、部门、职业(如经理、主任、科长、工程师、办事员和工人等)n 每月个人的最高工资不超过3000元。工资每月按部门发放,实际发放的工资金额为工资总额减去失业保险金和住房公积金。如果违反劳动纪律,每次扣除基本工资的10%,若扣除金额每月累计超过基本工资,下月工资停发2.2 信息要求:n 用户需要从数据库中查询基本信息其中包括员工号,姓名,性别,年龄,确定自己的基本信息是否正确n 用户需要从数据库中查询工资情况其中包括基本资,福利补贴,奖励工资,失业保险,住房工积金,知道自己每个月应得工资n 用户需要从数据库中查询部门其中包括部门

6、号,部门名称,确定是否正确n 用户需要从数据库中查询职业其中包括职业号,职业名称,确定是否正确2.3 处理要求:n 员工信息的输入,包括员工的:员工号、部门号、职业号、姓名、性别、年龄n 员工信息的查询,包括员工的:员工号、姓名、性别、年龄、职业、应得工资和实发工资n 员工信息的修改,包括员工的:员工号、姓名、性别、年龄、职业n 新增员工信息的插入,包括员工的:员工号、部门号、职业号、姓名、性别、年龄n 离职员工信息的删除,包括员工的:员工号、部门号、职业号、姓名、性别、年龄n 记录已经领取和未领取工资的员工的信息,包括员工的:员工号、部门号、职业号、姓名、性别、年龄、职业名、应得工资、实发工

7、资n 处理违反纪律而扣工资的员工的信息,员工信息的输入,包括员工的:员工号、部门号、职业号、姓名、性别、年龄、职业、应得工资和实发工资n 处理因表现良好而加工资的员工的信息,员工信息的输入,包括员工的:员工号、姓名、性别、年龄、职业、应得工资和实发工资2.4 安全性要求:本系统的管理员是会计部的操作人员,一般的职工只有登陆查看自己信息的权利,但是不管是管理员,还是一般工作人员,都要用自己的登录名和密码才能进行操作,这样保证了该系统得安全性。2.5 完整要求:在在该系统中,数据的完整性也是非常重要的,只有保持勒完整性,才能充分发挥该系统的作用。本系统是通过采用事物来实现完整性控制的。2.6 数据

8、流图:2.7 数据字典:数据项:员工号含义说明:唯一的标识每个员工类型:字符型长度:6取值范围:000000-999999取值含义:1-2位标识部门号3-4位标识职业号,5-6位标识员工号数据项:姓名含义说明:标识每个员工的姓名类型:字符型长度:8取值含义:顺序标识每一个员工的姓名 数据项:性别含义说明:唯一的标识每一个员工的性别类型;逻辑型长度:1取值范围:0或者1取值含义:唯一的标识每一个员工的性别数据项:年龄含义说明:标识每一个员工的年龄类型:整型长度:2取值范围:18-100取值含义:顺序的标识每一个员工的年龄“员工”是该系统中的一个核心数据结构,它可以描述如下:数据结构:员工含义说明

9、:是员工薪资管理系统中的主体数据结构,定义了一个员工的有关信息组成:员工号,姓名,性别,年龄数据项:基本工资含义说明:标识每一个员工的基本工资类型:浮点型长度:7取值含义:顺序的标识每一个员工的基本工资数据项:福利补贴含义说明:标识每一个员工的福利补贴类型:浮点型长度:7取值含义:顺序的标识每一个员工的福利补贴数据项:奖励工资含义说明:标识每一个员工的奖励工资类型:浮点型长度:7取值含义:顺序的标识每一个员工的奖励工资数据项:失业保险含义说明:标识每一个员工的失业保险类型:浮点型长度:7取值含义:顺序的标识每一个员工的失业保险数据项:住房工积金含义说明:标识每一个员工的住房工积金类型:浮点型长

10、度:7取值含义:顺序的标识每一个员工的住房工积金数据项:应得工资含义说明:标识每一个员工的应得工资类型:浮点型长度:7取值含义:顺序的标识每一个员工的应得工资数据项:实得工资含义说明:标识每一个员工的实得工资类型:浮点型长度:7取值含义:顺序的标识每一个员工的实得工资“工资”是该统中的一个核心数据结构,它可以描述如下:数据结构:工资含义说明:是员工薪资管理系统中的核心数据结构,定义了一个员工的有关工资组成:基本工资、福利补贴、奖励工资、失业保险、住房工积金数据项:职业号含义说明:唯一的每一个员工的职业号类型:字符型长度:3取值范围:000-999取值含义:顺序的唯一标识每一个员工的职业号数据项

11、:职业名含义说明:唯一的每一个员工的职业名类型:字符型长度:12取值范围:000-999取值含义:顺序的唯一标识每一个员工的职业名数据结构:职业含义说明:定义了一个员工的职业组成:职业号、职业名数据项:部门号含义说明:唯一的每一个员工的部门号类型:字符型长度:2取值范围:00-11取值含义:顺序的唯一标识每一个员工的部门数据项:部门名含义说明:唯一的每一个员工的部门名类型:字符型长度:10取值范围:0000000000-1111111111取值含义:顺序的唯一标识每一个员工的部门名数据结构:部门含义说明:定义了一个员工的所属部门组成:部门号、部门名三、概念结构设计3.1 E-R图设计员工实体E

12、-R图:工资实体E-R图:部门实体E-R图: 职业实体E-R图:总的E-R图:四、逻辑结构设计4.1 E-R图转关系模型:员工(员工号、部门号、职业号、姓名、姓别、年龄)工资(员工号、基本工资、福利补贴、奖励工资、失业保险、住房工积金、应得工资、实发工资)职业(职业号、职业名)部门(部门号、部门名)4.2 基本表的实现:员工表(staff):属性名数据类型 字段长度是否为空是否为主/外键员工号(Snum)char11NOT NULL主键部门号(Dnum)Char2NULL外键职业号(Pnum)Char7NULL外键姓名(Sname)Char8NULL性别(Ssex)Char2NULL年龄(Sa

13、ge)Char2NULL工资表(salary):属性名类型长度是否允许为空是否为主/外键员工号(Snum)char11NOT NULL外键基本工资(Bsalary)float7NULL福利补贴(Wsubsidy)float7NULL奖励工资(Asalary)float7NULL失业保险(Lsafe)float7NULL住房工积金(Hsalary)float7NULL应得工资(Dsalary)float7NULL实发工资(Ssalary)float7NULL职业表(profession):属性名数据类型长度是否为空是否为主/外键职业号(Pnum)Char7NULL主键职业名(Pname)Char

14、 2NULL部门表(department):属性名数据类型长度是否为空是否为主/外键部门号(Dnum)Char2NULL主键部门名(Dname)Char 10NULL五、物理结构设计六、数据库实施6.1建表:1.staff表create table staff(Snum char(11) unique not null, Dnumchar(2), Pnum char(7), Sname char(8) , Ssex char(2), Sage char(2);2.salary表create table salary(Snum char(11) unique not null, Bsalary

15、float(7), Wsubsidy float(7), Asalary float(7), Lsafe float(7), Hsalary float(7), Dsalary float(7), Ssalary float(7);3.Profession表create table profession(Pnum char(7) unique not null,Pname char(2);4.Department表create table department(Dnum char(2) unique not null, Dname char(10);6.2执行sql语句实现按照科室录入个人的基

16、本资料、工资和扣除金额的数据:计算个人的实际发放工资:select staff.Snum 员工号, Sname 员工名, Bsalary+Wsubidy+Asalary-Lsafe-HSalary 实发工资 from staff, Salary where staff.Snum=salary.Snum;按科室、职业分类统计人数和工资金额:按照科室:select count(*) as 人数, sum(Bsalary+Wsubsity+Asalary-Lsafe-Hsalary) as 工资 from staff, salary where staff.Snum=salary.Snum grou

17、p by Dnum;按照职业:select count(*) as 人数, sum(Bsalary+Wsubsity+Asalary-Lsafe-Hsalary) as 工资 from staff, salary where staff.Pnum=salary.Pnum group by Pnum;实现分类查询:能够删除辞职人员的数据:delete from staff where Snum=;delete from salary where Snum=;6.3 编码:1.登录对话框:代码:public void createDialog () dialog = new JDialog (Sa

18、lary.this, "用户登录框", true);/创建对话框 /Font fn = new Font ("宋体", 1, 13);dialog.setSize (new Dimension (300, 200);/设置对话的大小dialog.setLayout (new GridLayout (4, 1);/设置对话框的布局dialog.setLocation (400, 260);JLabel jlab1 = new JLabel ("请登录");JLabel jlab2 = new JLabel ("用户名:&quo

19、t;);JLabel jlab3 = new JLabel ("密 码:");JTextField jte1 = new JTextField ("", 15);JPasswordField jte2 = new JPasswordField ("", 15);JButton jbut1 = new JButton ("确定");jbut1.setFont (fn);jbut1.setFocusPainted(false);JButton jbut2 = new JButton ("取消");j

20、but2.setFont (fn);jbut2.setFocusPainted(false);JPanel jpan1 = new JPanel ();JPanel jpan2 = new JPanel (new FlowLayout (FlowLayout.LEFT);JPanel jpan3 = new JPanel (new FlowLayout (FlowLayout.LEFT);JPanel jpan4 = new JPanel ();jlab1.setFont (fn);jlab2.setFont (fn);jlab3.setFont (fn);jte1.setFont (fn);

21、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 (new ActionListener ()public void actionPerformed (ActionEvent e)dialog.dispose (););jbut2.addAc

22、tionListener (new ActionListener ()public void actionPerformed (ActionEvent e)System.exit (0););/监听对话框事件addWindowListener (new WindowAdapter ()public void windowClosing (WindowEvent e)System.exit (0););dialog.add (jpan1);dialog.add (jpan2);dialog.add (jpan3);dialog.add (jpan4);dialog.setResizable(fa

23、lse);dialog.setVisible (true);2. 主窗口:代码:public static final int FRAME_WIDTH = 500;/定义窗口的宽度public static final int FRAME_HEIGHT = 350;/定义窗口的高度private Font fn = new Font ("宋体", 1, 13);private JDialog dialog;ImageIcon img;String filename;public Salary (String title, String filename)super (tit

24、le);this.filename = filename;public void launchFrame ()this.createDialog ();this.createMenu ();this.setSize (FRAME_WIDTH, FRAME_HEIGHT);/设置窗口的宽度和高度this.setLocation (400, 260);/设置窗口的位置this.setResizable (false);/设置窗口不允许改变大小this.setLayout (null);/取消窗口的内在布局this.setVisible (true);img = new ImageIcon(filename);/这是背景图片 JLabel imgLabel = new JLabel(img);/将背景图放在标签里。 this.getLayeredPane().add(imgLabel,new

温馨提示

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

评论

0/150

提交评论