数据库通用工资管理系统-我
数据库课程设计--职工工资管理

数据库原理课程设计报告题目:职工工资管理成绩:1设计题目职工工资管理2 系统概述企业的工资管理是公司管理的一个重要内容,随着企业人员数量增加,企业的工资管理工作也变得越来越复杂。
工资管理既设计到企业劳动认识的管理,同时也是企业财务管理的重要组成部分,工资管理需要和人事管理相联系,同时连接工时考核和医疗保险等等,来生产那个企业每个职工的基本工资、津贴、医疗保险、保险费、实际发放工资。
3系统功能模块设计(1)员工信息和履历模块员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。
员工基本信息包括员工号、员工姓名、员工性别、所在部门、所在职务、和工资等级等信息。
员工增删实现了对数据库中员工信息的增加和删除。
员工信息查询可以通过员工号或员工姓名对员工信息进行查询。
(2)工资结构设置模块根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。
该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。
(3)工资汇总模块用在员工信息管理模块对该员工的工资等级进行输入以后,在工资汇含义说明:标识每一个员工的年龄类型:整型长度: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程序运行环境和开发环境操作系统:windows 7后台数据库:SQL Server 2008开发工具:JA V A等由于java编程与win7系统的SQL Server 2008比较兼容,所以我用的win7系统,这更便于我们编程与调试8数据库的实施与运行通过员工信息登入工资管理系统界面,如图:图8-1具体代码如下:public void createDialog (){dialog = new JDialog (Salary.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 ("用户名:");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 ("取消");jbut2.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);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.addActionListener (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(false);dialog.setVisible (true);}工资管理系统界面,整个系统的核心程序,如图:图8-2具体代码如下:public static final int FRAME_WIDTH = 500public 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 (title);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);。
工资管理系统

一、工资管理系统的需求分析工资管理系统包括信息浏览查询、数据库维护、基本信息管理.1。
系统功能需求(1)员工可以进入此系统查询工资和查看基本的信息。
(2)管理员可以对员工的信息进行添加,删除,修改。
并对数据库中的数据维护,包括数据备份,导入数据,导出数据。
满足上述需求的系统主要包括下面几个模块(1)数据库维护模块:管理员要对数据库内所有的数据进行备份和恢复,并可实现数据导入导出功能.(2)基本信息管理模块:实现对员工基本信息的管理操作,包括员工基本数据信息的添加、修改、删除和查询等功能。
(3)信息浏览查询模块:用户对系统中的信息进行查询。
可根据条件查询员工历史工资数据(如按月份查询、按姓名查询、按部门查询等)。
2数据库维护模块数据备份:将一个月的数据进行复制.数据导入:每天将数据导入到数据库中。
数据导出:每天下班将数据导出数据库。
3基本信息管理模块删除员工信息:如果有员工辞职则删除该员工的信息.添加员工信息:如果聘用了新员工则添加员工信息.修改员工信息:如果有员工的信息有所变动则修改。
4信息浏览查询模块查询员工信息:员工查询自己的信息。
查询工资:员工查询自己的工资情况。
功能需求细化:①在工资管理系统中,需要员工的参与,员工可以查询工资的历史数据并领取工资,还可以通过员工编号查看员工的基本信息。
②管理员是此系统的核心,管理着整个系统。
他要对所有的员工的信息的管理,对数据进行添加,删除,修改。
管理员还要对系统进行相关维护操作,数据备份,数据恢复,数据导入等以及更新数据库。
(1)系统用户参与的总的用例图管理员和员工都可发从用户这个参与者中泛化而来,用户是指此系统的所有使用者,以登录系统完成相应的操作.系统用户参与的总的用例图如下图所示.从图中可以清楚地看到泛化关系与各个参与者所参与的用例。
图2.1系统用户参与的总的用例图(2)工资统计的用例图此用例图清晰看出工资发到员工手里的过程。
有四个参与者,包括经理,职工,行政部门,业务部门。
数据库应用系统设计大作业人事工资管理

数据库应用系统设计大作业人事工资
管理
1
2
武汉工业学院
- 第 1学期
<数据库应用系统设计>
<人事工资管理>
学生学号:
学生姓名: 张海燕
所在班级: 信管二班
任课教师: 林菁
12月25日
人事工资管理系统设计
一、系统设计的目的
考虑到使用传统的人工方式来对各企事业人事工资进行管理带来的效率低下以及操作复杂等诸多弊端,我们为能够极大地提高人事管理的效率,优化单位的科学、正规化管理,而且与世界接轨。
故开发了此系统来尽可能提高管理效率。
二、需求分析
经过我们小组的讨论,实践并参考一些资料得出比较完全的人事工资管理系统必须包括以下几个模块:企业基础设施部分,职工档案管理部分,考勤记录管理部分,职工的事假病假管理部分、工资发放管理部分,同时为达到系统的完善性处理,也设置了退出系统模块和帮助模块。
系统的基本功能主要包括:部门信息的管理(查询、添加、修改、删除学生部门等)、职员信息的管理(录入、查询、修改、删除员工的信息等)、工资信息的管理(录入、查询、修改员工的工资等)。
总之为帮助企业人力资源部门提高工作效率,实现人事信息管理的系统化、规范化和自动化。
根据这个系统所要实现的目的和任务,调查分析总结出该系统实现以上功能。
1)、经过分析所见表格详细介绍如下:
各个表的基本情况如下:
(1)政治面貌表
2
表1
(2)职称类型表
表2
(3)、用户表
表3
(4)、学历类型表
表4
(5)、员工基本信息表
3。
数据库课程设计——企业员工工资管理系统

数据库课程设计——企业员工工资管理系统一、引言在现代企业管理中,员工工资的管理是一个极为重要的环节。
为了提高工资管理的效率和准确性,需要设计和实现一套高效的企业员工工资管理系统。
本文将介绍如何在数据库课程设计中构建一个功能完善的企业员工工资管理系统。
二、系统需求分析企业员工工资管理系统需要满足以下基本需求:1. 员工信息管理:包括员工基本信息(姓名、性别、年龄等)、部门信息、职位信息等。
2. 工资计算:根据员工的基本工资、绩效考核等因素计算工资。
3. 工资发放:自动生成工资发放单,记录工资发放的时间和方式。
4. 工资查询:员工和管理人员能够查询工资详细信息,包括工资单、工资发放记录等。
5. 统计报表:生成各种工资统计报表,如部门工资总额、员工工资排名等。
三、系统设计与实现1. 数据库设计为了满足系统需求,需要设计一组适当的数据库表来存储相关数据。
以下是数据库表的设计方案:- 员工表(Employee):存储员工的基本信息(员工编号、姓名、性别、年龄等)。
- 部门表(Department):存储部门的信息(部门编号、部门名称等)。
- 职位表(Position):存储职位信息(职位编号、职位名称等)。
- 工资表(Salary):存储员工的工资信息(员工编号、基本工资、绩效等)。
- 工资发放表(SalaryPayment):记录工资的发放信息(员工编号、发放时间、发放方式等)。
2. 系统实现利用SQL语言和数据库管理系统,可以实现员工工资管理系统的各项功能需求。
以下是关键功能的实现示例:- 员工信息管理:通过SQL语句实现员工信息的增加、删除、修改和查询操作。
- 工资计算:编写SQL函数或存储过程来计算员工的工资,考虑到绩效考核等因素。
- 工资发放:编写SQL语句插入工资发放记录,记录发放时间和方式等信息。
- 工资查询:编写SQL语句实现员工和管理人员的工资查询功能,根据需要生成工资单。
- 统计报表:通过SQL语句生成工资统计报表,利用聚合函数和分组操作实现部门工资总额、员工工资排名等统计指标的计算。
数据库课程设计--工资管理系统

数据库课程设计设计题目:工资管理系统班级:学号:姓名:任务分配表目录一绪论 (3)二需求分析 (3)三概要设计 (4)四物理设计 (5)五详细设计 (6)六调试分析 (9)七小结 (16)八附件 (16)一、绪论随着计算机技术的飞速发展和经济体制改革的不断深入,传统企业管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成员工工资管理工作。
提高公司企业管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于C#与SQL server数据库技术建立一个通用工资管理系统,该系统为提供了查询、增加记录、删除等功能,功能比较的齐全,并对工资进行了统计如津贴管理、报表统计等。
基本上能满足管理员和公司的要求。
此次数据库课程设计的主要设计如下:原理分析、程序设计过程、程序实现和程序调试以及数据库的设计。
需求分析、概要结构设计、逻辑结构设计、物理结构设计和数据库的实施和维护。
主要包括两大大功能模块:1.管理员管理界面设计。
2.员工管理界面设计。
二、需求分析功能需求分析:该通用工资管理系统具备下列功能:管理员通过输入用户名和密码进下该系统后,可以进行一些基本查询(员工信息查询、工资奖金信息查询)、工资管理(计算总工资、奖金管理);通过输入密码,可以进行查询员工的数据(工资,奖金,税收等)。
具体功能的详细描述如下1、在首页进行选择,员工与管理员通道2、点击[管理员登陆]3、用户名和密码即可进入 [工资管理]功能窗体,在此可以选择功能,添加,查询,人员列表4、点击[添加]功能窗体,添加员工工资信息。
5、点击[查询]功能窗体,输入员工号即可查询员工信息。
6、点击[人员列表]功能窗体,可查看所有员工的列表,这界面内可以进行删除操作。
7、点击[员工登陆]8、用户名和密码即可进入 [员工工资查询]功能窗体,在此可以选择查询基本信息,查询工资信息。
9、在[查询基本信息],员工可自己查看自己的信息。
10、在[查询工作信息],员工可自己查看自己的工作信息。
数据库原理课程设计任务书

数据库原理课程设计任务书计算机与通信学院2014.9*****系统需求分析和关系数据库设计[设计目的]1.掌握商品化的数据库设计工具软件:Power Designer R12.02.掌握数据库设计的方法和主要步骤;3.掌握概念结构的建立方法和常用工具(E—R图);4.掌握概念结构到逻辑结构的转换原则;5.掌握数据库优化的主要内容和常用方法;6.掌握数据库应用程序开发的主要步骤。
[实验时数] 24 学时[实验内容]要求学生根据周围的实际情况,自选一个小型的数据库应用项目,并深入到应用项目的现实世界中,进行系统分析和数据库设计。
可以选择给定的五个叙述性题目或附录1的选题表中选择一个课题。
学生分成4人一组,成员自由组合。
[实验步骤]主要作重于数据库设计的六个阶段中的前四阶段:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)进行。
概念模型设计时采用自底向上的方法,即自顶向下地进行需求分析,然后再自底向上地设计概念结构。
1、系统分析与数据库设计阶段①通过社会调查,选择一个实际应用数据库系统的课题。
②进行系统需求分析和系统设计,写出系统分析和设计报告。
③设计数据模型并进行优化,确定数据库结构、功能结构和系统安全性和完整性要求。
2、应用程序设计阶段①完成数据库定义工作,实现系统数据的数据处理和数据录入。
②实现应用程序的设计、编程、优化功能,实现数据安全性、数据完整性和并发控制技术等功能,并针对具体课题问题提出解决方法。
3、系统集成调试阶段对系统的各个应用程序进行集成和调试,进一步优化系统性能,改善系统用户界面。
[实验报告要求]1、完成问题陈述中所提到的所有需求功能;2、要求撰写不少于3000个文字的文档,设计报告按照以下提纲书写:●概述(包括项目背景、编写目的、软件定义、开发环境等内容)●需求分析(问题陈述、需完成的功能。
DD、DFD)●数据库概念结构设计(画出E-R模型图)●数据库逻辑结构设计(把E-R模型图转换为关系表。
sqlssms工资管理系统课程设计
sqlssms工资管理系统课程设计一、课程目标知识目标:1. 学生能掌握SQL Server Management Studio(SSMS)的基本操作和功能;2. 学生能理解工资管理系统的基本需求,学会使用SQL语句进行数据库的创建和管理;3. 学生能掌握使用SQL语句进行数据查询、插入、更新和删除等基本操作;4. 学生能了解工资管理系统中数据表之间的关系,并运用SQL语句进行关联查询。
技能目标:1. 学生能独立使用SSMS创建和管理数据库;2. 学生能编写SQL语句实现工资管理系统的数据操作;3. 学生能运用所学知识解决实际工资管理中的问题;4. 学生能在团队中协作,共同完成工资管理系统的设计与实现。
情感态度价值观目标:1. 培养学生对数据库管理工作的兴趣,激发学习热情;2. 培养学生严谨、细致的学习态度,提高实际操作能力;3. 培养学生团队协作精神,提高沟通与协作能力;4. 培养学生遵守国家法律法规,保护数据安全的意识。
课程性质:本课程为实践性较强的课程,结合实际工资管理系统案例,使学生掌握数据库管理和SQL语句的使用。
学生特点:学生具备一定的计算机操作基础,对数据库管理有一定了解,但实际操作能力有待提高。
教学要求:结合课程特点和学生实际,采用案例教学、任务驱动等教学方法,注重实践操作,提高学生的动手能力。
同时,注重培养学生的团队协作和沟通能力,提高其综合素质。
通过本课程的学习,使学生能够将所学知识应用于实际工作中,为未来职业发展奠定基础。
二、教学内容1. 工资管理系统概述:介绍工资管理系统的基本功能、业务流程及其在企业管理中的作用。
- 教材章节:第一章 数据库基础知识2. SQL Server Management Studio(SSMS)基本操作:学习SSMS的安装与配置,掌握其主要功能模块。
- 教材章节:第二章 SQL Server管理工具3. 数据库创建与管理:学习创建数据库、数据表,以及如何进行数据备份与恢复。
数据库课程设计实验报告-工资管理系统
延安大学计算机学院实验报告专用纸实验室:软件工程实验室学号:实验日期:2013年11月日(1)。
需求分析工资管理信息系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计内容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等.在做这个管理系统时,我们既咨询了父母又结合了教师等不同行业人士的工资情况,发现该系统受些许因素牵制比如说:公司大小,人员流动性,员工学历等通过我们的了解调查最终总结出系统功能如下:a。
整体结构合理, 模块化结构利于操作。
b。
完整的数据输入,输出,维护.c。
拥有不错的自检性,用户输错或误输均有提示。
d. 拥有较强的容错性,某个用户的错误操作不会引起系统的瘫痪。
e. 程序接口灵活,以便日后操作与维护。
f. 在不影响系统功能的前提下,美化操作界面.(2)。
概念设计○1E-R图错误!数据流图(3).逻辑设计基本信息(员工编号号,姓名,性别,毕业学校,所学专业,学历,电话,住址,从事岗位).考勤信息表(员工编号,姓名,请假天数,矿工天数,月迟到次数,月份).加班信息表(员工编号,姓名,晚班加班(天),周末加班(天),春节加班(天),节假日加班(天),月份)。
岗位信息表(员工编号,姓名,从事岗位,基本工资,部门名称)。
部门信息表(部门编号,部门名称,部门经理,部门人数)根据基本表创建了如下视图:加班津贴(员工编号,姓名,加班薪酬,月份)缺勤扣除表(员工编号,姓名,扣除工资,月份)月工资表(员工编号,姓名,基本工资,扣除工资,加班薪酬,实得工资,月份)年终奖(员工编号,姓名,奖(4).数据字典视图的创建:(5)。
系统的实现开发环境:SQL server 2005及eclipse○,1用SQL语言创建数据库Array 1.基本信息表(JBXX)Create table JBXX(Empno int not null primarykey,Emname varchar(8) not null,Sex char(2)check(Sex=’ 男’or Sex=’女’),School varchar(20)null,Profession varchar(20) null,Education varchar(6) null,Phone char(11) null,Address varchar(15)null)3.加班信息表(OVERTIMEINFORMA TION)Create table OVERTIMEINFORMATION(Empno int not null ,Night int null,Weekend int null,Festival int null,Special int null,Themonth int not null,5。
工资管理系统数据库课程设计
工资管理系统数据库课程设计工资管理系统数据库课程设计一、背景介绍现代企业的工资管理已经越来越复杂,需要一个高效、准确的工资管理系统来进行支持。
工资管理系统需要能够自动计算员工工资,但更重要的是需要保护员工信息的安全性。
因此,该系统需要具备高可靠性和高安全性。
二、系统设计要求1. 系统框架设计系统框架应该采用分层架构模式,包括以下几个层次:①用户界面层:实现用户与系统的交互操作。
②业务逻辑层:实现系统的核心业务逻辑。
③数据访问层:实现系统的数据访问和管理。
④数据库层:用于存储系统所需的数据。
2. 数据库设计数据表结构设计如下:①员工表:用于存储员工基本信息,包括员工号、姓名、性别、出生日期、联系电话等字段。
②工资表:用于存储员工工资信息,包括员工号、月份、基本工资、津贴、扣款等字段。
③部门表:用于存储部门信息,包括部门号、部门名称、部门经理等字段。
④职位表:用于存储职位信息,包括职位编号、职位名称、职位描述等字段。
⑤权限表:用于存储用户权限信息,包括用户名、密码、用户类型等字段。
3. 系统功能设计根据需求分析,系统应该包含以下功能:①员工基本信息维护功能:用于添加、修改、删除员工基本信息。
②员工工资信息维护功能:用于添加、修改、删除员工工资信息。
③员工考勤记录查询功能:用于查询员工的考勤记录。
④部门信息维护功能:用于添加、修改、删除部门信息。
⑤职位信息维护功能:用于添加、修改、删除职位信息。
⑥权限管理功能:用于管理用户的权限信息。
三、技术方案1. 数据库管理系统本系统采用MySQL数据库管理系统,因为MySQL是一个成熟的开源数据库系统,能够提供高效、可靠的数据存储和管理服务。
2. 开发工具本系统采用Java语言进行开发,使用Eclipse作为开发工具,采用Java Web开发技术,采用MVC设计模式。
3. 数据库访问框架本系统采用ORM框架Hibernate来进行数据库的访问操作,通过Hibernate能够简化数据库访问操作,提高系统开发效率。
鼎晟人事工资数据库管理系统操作流程
鼎晟人事工资数据库管理系统用户操作流程(V3.0版)北京鼎晟高科科技有限公司目录第一章鼎晟工资软件初次建库操作流程 (3)第一步:安装、注册、运行软件 (3)第二步:人员信息录入及基本工资的计算与核对 (3)◆人员信息录入及要求: (3)◆人员基本工资计算及工资核对: (6)第三步:上报电子数据到审批部门审核 (7)第四步:接收人事局下发的审批数据 (7)第二章鼎晟工资软件建库后工资变动操作 (7)一、套改后职务晋升操作 (7)二、批量录入年度考核结果 (8)三、批量晋级、批量晋档、批量增加薪级操作 (8)四、试用(见习、学徒、熟练)期人员录入 (8)五、试用(见习、学徒、熟练)期满后定级处理 (9)六、二次定级工资变动的处理 (9)七、调动人员工资确定处理 (9)八、套改后机关事业单位之间不同工资身份的转换处理 (9)九、打印工资变动审批表/工资变动花名册 (10)十、打印定级审批表 (10)第三章鼎晟工资软件常用功能操作简介 (10)一、修改单位名称或单位编码 (10)二、人员减员处理、减员人员恢复处理及删除操作 (10)三、不同单位之间人员的大批量调动操作 (11)四、修改人员信息中人员的显示顺序 (11)五、警衔、法官、检察官等级录入及警衔、审判、检察津贴计算 (12)六、教护龄信息录入及教护龄津贴计算 (12)七、按人员进行数据上报和接收操作 (12)八、津补贴信息的查看及计算 (13)九、每月工资的统计 (13)十、年终奖统计 (13)十一、人员信息查询/统计 (13)十二、增资统计查询 (13)十三、查看2006年7月套改国家工资标准 (14)十四、用户管理和密码修改操作 (14)十五、数据备份及恢复操作 (14)十六、查看软件的版本信息、发布时间、公司网址、服务邮箱等信息 (14)十七、从公司网站下载升级包以及升级操作方法 (15)第四章单位与人事局数据上报、审批、下发、接收流程 (15)第五章离退休人员数据库管理系统简要操作说明 (15)一、离退休人员信息录入及报盘 (15)二、日常离退休业务处理 (16)第一章鼎晟工资软件初次建库操作流程第一步:安装、注册、运行软件操作:将光盘放入光驱中,双击“人事工资数据库管理系统.exe”开始安装。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录1 系统需求分析 (3)1.1 任务目标 (3)1.2数据流条目 (3)1.3 可行性分析 (3)1.4 系统业务流程图 (3)2 系统概念分析 (4)2.1逻辑模型 (4)2.2数据字典 (5)2.3 E-R图........................................................6.7 3系统逻辑设计 (8)3.1 实体间的关系 (8)3.2 完整性约束 (8)3.3 范式 (8)4数据库实现 (8)4.1 基于SQL Server的数据表设计 (8)4.2角色 (9)4.3 关系图 (9)5 系统实现.....................................................9-166 实验设计总结 (17)参考文献 (17)课程设计背景与意义:随着全球信息化的发展,人事信息化建设也赶上时代的步伐。
工资管理系统的主要目标是支持企、事业的财政管理与事务处理业务人员的劳动强度,辅助企、事业管理,辅助高层领导决策,提高企、事业的工作效率,从而使企、事业能够以少的投入获得更好的社会效益与经济效益,像人事系统、工资管理系统等就属于人事工资管理系统的范畴。
它是单位实现现代化建设的基础工程,是提高单位的管理水平、业务的运转效率和服务质量的必要手段。
因此许多的程序员都可能面对如何开发一套比较完善的人事工资管理系统是相当有必要的问题。
随着计算机技术的飞速发展,计算机在企、事业管理中应用的普及,利用计算机实现企、事业人事工资的管理势在必行。
本系统结合人事、财务制度,经过需求分析、总体设计和详细设计的工资管理系统。
整个系统从符合操作简便、接口友好、灵活、实用、安全的要求出发,完成人事、工资管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的变动引起职工信息的修改、员工信息查询、员工工资修改等工资管理工作。
1.系统需求分析(楼炜主做,陈蒋昊,杨钰琨辅助)1.1任务目标工资管理系统是提供工资管理人员和职工工资进行管理的系统。
它能自动对不同职务,不同出勤及各个月份的工资进行管理并生成财务表。
工资管理系统的用户需求主要功能有:1 各部门的信息情况2 各职工的信息情况3 考勤信息情况4 工资信息情况实现功能:实现本单位财务部门对工资发放的集中管理。
可供财务人员对本单位的人员工资进行增加、删除、修改、查询、导入、导出文件、输出报表,并对系统的可登录人员进行管理;单位其他相关部门的人员对工资的数据编辑无法操作,只能通过查询或导出文件来了解本单位的工资发放情况;对工资发放中的应发工资合计、代扣个人所得税和出勤情况及个人实发工资等项目由系统自动进行计算。
1.2数据流条目(1)管理员:在登录管理方面,管理员员以工资发放系统的管理人员身份登录,并对本系统的可登录人员进行管理,有权增加及删除本系统的登录人员,进行自身密码的修改;而本单位其他相关部门的可登录人员在登录本系统后,则只能进行自身密码的修改,而无权增加及删除用户。
管理员角色能够实现如下3项功能:①添加功能:向系统中添加新的数据;②删除功能:删除系统中不需要的数据;③修改功能:修改系统中修要更新的数据。
(2)用户(员工)能够实现如下2项功能:①信息查询:用户可以查询自己工资的发放情况;②密码修改:用户可以修改需要更改的密码。
1.3可行性分析工资管理系统是典型的管理信息系统,采用计算机管理企业的工资发放是当前不可缺少的一种管理措施。
其开发主要包括后台数据库的建立与维护以及前端应用程序的开发两个方面。
前者要求建立数据完整性和一致性强,安全性好的数据库。
后者要求应用程序功能完备,易用性强。
基于现有技术已能很好实现!1.4系统业务流程图数据流图是组织中信息运动的抽象。
是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发。
将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目。
2.系统概念分析(楼炜,陈蒋昊,杨钰琨分做)数据库概要设计2.1 逻辑模型图2-1总体逻辑模型2.2 数据字典表2-1 工资信息数据字典表表中列名 数据类型 长度 数据来源 C_num varchar 10 工资信息表 Workday Char 4 工资信息表 Absentday Char 4 工资信息表 Monthvarchar2工资信息表教师工资管理系统系统用户管理 管理员管理 工资信息管理 用户密码修改用户信息修改员工信息添加员工信息修改员工信息删除工资统计工资修改工资创建用户数据查询表 1.2 员工工资数据字典表表中列名数据类型长度数据来源id int 4 教工工资信息表objectid int 4 教工工资信息表property varchar 64 教工工资信息表value varchar 255 教工工资信息表uvalue nvarchar 255 教工工资信息表lvalue image 16 教工工资信息表version int 4 教工工资信息表表 1.3 员工信息数据字典表表中列名数据类型长度数据来源e_num varchar 10 教工信息表name varchar 15 教工信息表password varchar 8 教工信息表post nvarchar 20 教工信息表sex char 2 教工信息表tel_number char 15 教工信息表stu_degree varchar 15 教工信息表dept varchar 15 教工信息表2.3 E-R图在系统的数据库设计中,先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系,然后才能得出系统的关系模式。
可以采用E-R图的方法来进行数据结构分析,E-R设计方法是一种通过E-R图来描述现实世界信息结构的DB设计方法。
E-R图由实体、属性、联系三部分组成。
各分E-R图如下:员工工资E-R图:员工工资所在位置拥有金额帐号变值标识版本可使用金额工资信息E-R 图:工资信息工资号编号缺勤日月份出勤日员工信息E-R 图:员工所属部门员工信息员工编号姓名密码职称性别电话号码教龄年龄总体E-R 图:工资信息员工工资员工信息工资号编号缺勤日月份出勤日所在位置拥有金额帐号变值版本员工编号姓名密码职称性别电话号码教龄年龄可使用金额登录、查看决定3. 数据库逻辑设计(楼炜,陈蒋昊,杨钰琨分做)3.1 实体间的关系本系统含有3个实体(为主码,为外码)工资信息(工资号编号,出勤日,缺勤日,月份)员工工资(帐号,员工所属部门,拥有金额,可使用金额,标识,变值,版本)员工信息(员工编号,姓名,密码,职称,性别,电话号码,教龄,年龄)3.2 完整性约束3.3.1实体完整性:3个实体中的4个主码都不为空,满足实体完整性。
3.3.2参照完整性:3个实体之间外码已经给出,都能找到主码关系表中属性与之对应,满足参照完整性3.3 范式本系统3个实体,众多属性之间不存在任何函数依赖关系,所以满足第三范式。
4. 数据库实施(以学校老师为例)4.1 基于SQL Server的数据表设计4.1.1员工信息表图4-14.1.2 用户信息表图 4-24.2 角色建立了用户和管理员2个角色用户角色:只能执行查询和密码修改操作。
管理员角色:能进行查询,修改,添加,删除操作。
4.3 关系图图4-4 关系图5 系统实现5.1 登陆界面package salary;import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;class LandFrame extends JFrame{JComboBox list;JLabel jLabel1;JLabel jLabel2;JTextField jtf1;// TextField jtf2;JPasswordField jpwf;JButton jbtn,jbtn1;LandFrame(String s){super(s);setLayout(null);setBounds(100,100,500,400);list=new JComboBox();list.setBorder(BorderFactory.createTitledBorder("请选择登录"));list.addItem("管理员登录");list.addItem("用户登录");list.setBounds(175,50,150,50);jLabel1=new JLabel("用户名:");jLabel2=new JLabel("密码:");jbtn=new JButton("登录");jbtn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){testify();}});jbtn1=new JButton("退出");jbtn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){dispose();}});jtf1=new JTextField(10);// jtf2=new TextField(10);// jtf2.setEchoChar('*');jpwf=new JPasswordField(10);jpwf.setEchoChar('*');jLabel1.setBounds(155,150,50,30);jLabel2.setBounds(155,190,50,30);jtf1.setBounds(210,150,100,25);// jtf2.setBounds(230,190,100,25);jpwf.setBounds(210,190,100,25);jbtn.setBounds(120,250,80,40);jbtn1.setBounds(290,250,80,40);//jbtn.setBounds(110,110,50,50);Container con=getContentPane();con.add(list);con.add(jLabel1);con.add(jtf1);con.add(jLabel2);// con.add(jtf2);con.add(jpwf);con.add(jbtn);con.add(jbtn1);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);getRootPane().setDefaultButton(jbtn);setVisible(true);//validate();}void testify(){String str;str=(String)list.getSelectedItem();if(str=="管理员登录"){test_manage();//System.out.println("Hello");}else{test_employee();}//System.out.println(list.getSelectedItem());}图 5-1 登陆界面5.2主菜单界面package salary;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;import javax.swing.table.*;import java.util.*;/*public class ManageFrame{public static void main(String[] args){Manage mf=new Manage("工资管理系统");}}*/class ManageFrame extends JFrame{JLabel jLabel1,jLabel2,jLabel4,jLabel5,jLabel6,jLabel7;JTextField jtf1,jtf2,jtf3,jtf4,jtf5;JButton btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8;JComboBox jcb1,jcb2;ManageFrame(String s){super(s);setLayout(null);setBounds(100,100,500,500);jcb1=new JComboBox();jcb1.addItem("1");jcb1.addItem("2");jcb1.addItem("3");jcb1.addItem("4");jcb1.addItem("5");jcb1.addItem("6");jcb1.addItem("7");jcb1.addItem("8");jcb1.addItem("9");jcb1.addItem("10");jcb1.addItem("11");jcb1.addItem("12");jcb2=new JComboBox();jcb2.setBorder(BorderFactory.createTitledBorder("请选择月份"));jcb2.addItem("1");jcb2.addItem("2");jcb2.addItem("3");jcb2.addItem("4");jcb2.addItem("5");jcb2.addItem("6");jcb2.addItem("7");jcb2.addItem("8");jcb2.addItem("9");jcb2.addItem("10");jcb2.addItem("11");jcb2.addItem("12");jLabel1=new JLabel("员工号:");jLabel2=new JLabel("日期:");jLabel4=new JLabel("月");jLabel5=new JLabel("工作天数:");jLabel6=new JLabel("缺席天数:");jLabel7=new JLabel("按月份查询员工工资:");jtf1=new JTextField(10);jtf4=new JTextField(2);jtf5=new JTextField(2);btn1=new JButton("更改基本工资");btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){S_change sc=new S_change("修改工资");}});btn2=new JButton("修改员工信息");btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){Alter al=new Alter("修改");}});btn3=new JButton("增加员工");btn3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){IncreaseFrame inf=new IncreaseFrame("增加员工");}});btn4=new JButton("删除员工");btn4.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){Delete dl=new Delete("删除员工");}});btn5=new JButton("查看所有员工信息");btn5.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {// TODO自动生成方法存根lookover();}});btn6=new JButton("确定");btn6.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e) {// TODO自动生成方法存根count();}});btn7=new JButton("查询");btn7.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e){query();}});btn8=new JButton("退出");btn8.addActionListener(new ActionListener() {public void actionPerformed(ActionEvent e){dispose();}});jLabel1.setBounds(60, 40, 50, 20);jtf1.setBounds(115,40,100,20);jLabel2.setBounds(300,40,30,20);jcb1.setBounds(340,40,45,20);jLabel4.setBounds(395,40,20,20);jLabel5.setBounds(60,80,60,20);jtf4.setBounds(125,80,30,20);jLabel6.setBounds(200,80,60,20);jtf5.setBounds(265,80,30,20);jLabel7.setBounds(80,120,130,30);jcb2.setBounds(215,120,80,50);btn1.setBounds(90,230,130,30);btn2.setBounds(270,230,130,30);btn3.setBounds(100,290,100,30);btn4.setBounds(280,290,100,30);btn5.setBounds(150,370,200,30);btn6.setBounds(340,75,60,30);btn7.setBounds(340,130,60,30);btn8.setBounds(200,420,80,30);Container con=getContentPane();con.add(jLabel1);con.add(jtf1);con.add(jLabel2);con.add(jcb1);con.add(jLabel4);con.add(jLabel5);con.add(jtf4);con.add(jLabel6);con.add(jtf5);con.add(jLabel7);con.add(jcb2);con.add(btn1);con.add(btn2);con.add(btn3);con.add(btn4);con.add(btn5);con.add(btn6);con.add(btn7);con.add(btn8);setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);setVisible(true);}图5-2 主菜单界面6 实验设计总结这次项目设计课题,我们小组选定的是通用工资管理系统,由于本学期的课程学习时间和内容都有限,所以这个系统的功能结构算不上尽善尽美,我们的系统包括基本的登录、查询、增加信息、删除信息。