版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统原理课程设计报告题目名称:Miracle工资管理系统班级:计 103-1组长学号:成绩:组员学号:成绩:组员学号:成绩:组员学号:成绩:组员学号:成绩:组员学号:成绩:组员学号:成绩:2012年7月5日第一章 引言1.1 选题的依据及课题的意义 随着计算机技术的普及,数据信息处理技术得到了空前发展,人们处理大量 数据的能力越来越强,大量以前必需由人工处理的工作现在都可以由计算机代 劳。早期的工资统计和发放都是使用人工方式处理纸质材料, 不仅花费财务人员 大量的时间且不易保存, 往往由于个人的因素抄写不慎或计算疏忽, 出现工资发 放错误的现象。 早期工资管理多采取纸质材料和具有较强的时
2、间限制。 基于以上 原因,企业工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管 理的系统化、规化、自动化。1.2 程序基本概况 本程序为一个基本的工资管理系统,系统中对公司员工的工资情况进行管 理。本系统通过管理员实现了对员工工龄工资、 职务工资、 出勤奖惩和津贴等项 目的统计与管理,以及对职务、出勤、津贴等项目的增添与修改,普通用户可以 使用本系统查询自己的各项工资情况。 系统界面简洁有条, 操作方便, 基本满足 了普通公司对员工工资的管理需求。1.3 项目开发背景及信息系统目标随着经济不断的发展,公司迅速发展, 业务不断扩大, 人员增加,迫切 需要一套完整的、行之有效的人员工资
3、管理系统对公司员工的各项工资容进行管 理。本系统应当实现以下功能: 对各部门员工职务、工龄、出勤情况、津贴情况进行有效的统计。 将各员工的各项基本情况转换为工资信息。 对各项工资信息进行汇总,统计计算出总工资。允许本公司员工对个人工资进行查询,实现管理员对员工信息的管理第二章 系统分析2.1 可行性分析技术方面,本系统使用 JAVA 语言编写,实现方便,界面干净整洁,方便使 用;利用 MySql 数据库对数据进行存储和处理,实现数据的共享,保证了系统 的稳定性和安全性。经济方面,支出方面,引进本系统需支付设备购置费、软件开发费、管理维 护费、员工工资和培训费等; 使用本系统节省了大量的书面报告
4、, 提高了办公效 率,降低了办公费用,相对于前期投入,后期收益更为可观。2.2 项目开发计划2.2.1 目标: 实现月工资计算和打印输出相应的工资表格; 实现与工资管理有关的档案管理。提高工资管理工作效率,降低出错率。2.2.2 功能要求:档案管理1保存有关工资计算以及工资管理所必须的数据2能对各种数据进行插入、修改、删除等操作 3能对数据进行查询、统计工资计算1正确计算出个人月工资、部门月工资以及全厂月工资。2能对病假扣款系数进行修正。3能打印输出工资计算表、个人工资单、部门工资单、工资汇总表四种表 格。2.2.3 数据要求: 每个职工的各种数据分为三类: 1职工的代号、性别、出生日期、参加
5、工作日期、所属部门、人员类别、 工种职别、技术等级、技术职称、文化程度、民族、籍贯、现住址。2职工的基本工资、岗位津贴、物价补贴、职务津贴、住房补贴、房租。3职工的出勤日数、公伤日数、产假日数、病假日数、旷工日数、事假日 数、加班日数、夜班日数、病假系数。工资单数据:本月基本工资、岗位津贴、物价补贴、职务津贴、住房补贴、加班费、夜 班费、房租、病假扣款、事假扣款、旷工扣款、其它扣款、实发工资。根据开发计划、软硬件情况、人员配置情况,将员工工资管理系统的项目 开发进度分为系统分析、需求分析、概要分析、详细设计、系统实施、系统维护 六个阶段,具体进度安排如下:项目1天1天2-3天7-9天1-2天长
6、期系统分析V需求分析V概要设计V详细设计V系统实施V系统维护V第三章分析与设计3.1系统分析根据该企业的业务情况及实现目标,系统功能模块图如图3.1所示:图3.1系统功能模块在这次系统开发中我主要完成的部分是工资管理和设置方面。开发这个系统的目的就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的系统化、规化和自动化。能够和认识管理系统、考勤管理系统相结合,真正实现企 业高效、科学、现代化的员工管理。系统最终实现的主要功能如下:企业工资信息设置部分:包括设置员工的基本工资和其他项目的金额, 如津贴 等。并且负责设置员工工资的计算公式。图3.2工资信息设置模块-企业工资信息管理部分:包
7、括统计出勤、计算工资、查询工资和导出工资表。图3.3工资信息管理模块-系统部分:包括添加用户和修改密码图3.4系统模块3.2数据库设计数据库设计是开发数据库及其应用系统的技术,也是信息系统开发和建 设的重要组成部分。具体的说,数据库设计是要在一个给定的应用环境中, 通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式,建立数据 库及其应用系统,满足用户的各种信息需求。实体描述本系统中所涉及的实体有9个,其结构如下: 员工(编号,,性别,出生日期,文化背景,民族,家乡,家庭住址)部门(编号,名称)工龄(工龄,对应工资)职务(职务级别,对应工资)津贴类别(编号,名称,薪水)出勤类别(编号,名称
8、,系数)基本工资(员工,工龄,职务,基本工资)实际工资(员工,实际工资)用户(用户名,密码,权限)322联系描述本系统中实体之间有3个联系,其关系如下:(1)员工一部门的所属关系:部门与员工是 1: N的关系,一个部门有 多个员工,但一个员工只属于一个部门;(2)员工一出勤:员工与出勤是 M : N的关系,一个员工可以有多种 出勤情况,一种出勤情况可以对应多个员工;(3)员工一津贴:员工与津贴是 M : N的关系,一个员工可以有多种 津贴情况,一种津贴情况可以对应多个员工;以上实体的联系属性如下:员工一部门(员工,部门)员工一出勤(员工,出勤,出勤天数)员工一津贴(员工,津贴)3.2.3 E-
9、R 图本系统的E-R图如图3.5所示:-r:4's泣二二 js:一图3.5 E-R图3.2.4 存储过程设计存储过程(Stored Procedure是在大型数据库系统中,一组为了完成特 定功能的 SQL 语句集,经编译后存储在数据库中,用户通过指定存储过程 的名字并给出参数(如果该存储过程带有参数)来执行它。在我们的项目中, 在添加工龄工资信息与职务工资信息中运用了存储过 程,如果高级语言中函数调用一样, 我们定义了 5个参数, 4 个是输入参数, 1 个为输出参数, 在判断向哪个表插入数据时, 我们根据前两个参数来判断, 然后根据输出参数的取值来查看操作是否成功。3.2.5 触发器
10、的设计触发器(trigger)是个特殊的存储过程,它的执行不是由程序调用,也 不是手工启动,而是由事件来触发, 比如当对一个表进行操作 ( insert, delete, update)时就会激活它执行。触发器经常用于加强数据的完整性约束和业务 规则等。触发器可以从 DBA_TRIGGERS , USER_TRIGGERS 数据字典中 查到。在我们的项目中我们在删除职员信息时用到了触发器, 我们的表设计中 empandrsa、l empandjintie 、DepAndEmp、EmpAndPre、EmpAndSal 用引用了 employees中的 No 属性,作为每个表的外键约束,当我们在删
11、除 employees表时就违反参照完整性的约束,必须把这些表中相应的元组也给删除, 出于以上目的,我们把在删除外键约束定义成了一个触发器,根据employees中No的值来把相应表中的数据删除。第四章系统实现4.1数据库的实现表定义(1) 员工表(employees)主码字段代码字段名称数据类型长度小数位数可否为空*emp_No员工编号Varchar20Not nullemp_Name员工Varchar20Not nullemp_Sex性别Varchar20emp_Bor n出生日期Date20emp_Cul文化程度Varchar20emp_Natio n民族Varchar20emp_Hom
12、ela nd籍贯Varchar20emp_Addr地址Varchar20emp_Pers on Lel职务Varchar20(2)部门(department)主码字段代码字段名称数据类型长度小数位数可否为空*dep_No部门编号IntNot nulldep_Name部门名称Varchar20(3)工龄(SalAndTime )主码字段代码字段名称数据类型长度小数位数可否为空*sal timeLev工龄IntNot nullsal timeM oney对应工资Double(4)职务(SalAndTech)主码字段代码字段名称数据类型长度小数位数可否为空*sal_techLev职务IntNot n
13、ullsal techM oney对应工资Double(5)津贴类别(jin tie )主码字段代码字段名称数据类型长度小数位数可否为空*jin_No津贴编号IntNot nulljin_Name津贴项目Varcharjin_ Money对应工资Double(6)出勤类别(presenee)主码字段代码字段名称数据类型长度小数位数可否为空*pre_No出勤编号IntNot nullpre Name出勤项目Varcharpre Xishu对应系数Double(7)基本工资(EmpAndSal)主码字段代码字段名称数据类型长度小数位数可否为空*emp salEmpNO员工:Varchar20Not
14、 nullemp salTimeLev工龄Intemp salTechLev职务:Intemp salary基本工资Double(8)实际工资(EmpAndRSal)主码字段代码字段名称数据类型长度小数位数可否为空*emp rsalEmpNo员工Varchar20Not nullemp rsalary实际工资Double(9)用户(userl)主码字段代码字段名称数据类型长度小数位数可否为空*user_ name用户名Varchar20Not nulluser password密码Varchar20user_power权限Int(10)员工一部门(DepAndEmp )主码字段代码字段名称数据
15、类型长度小数位数可否为空*dep_empEmpNo员工编号Varchar20Not nulldep_empDepNo部门编号Int(11)员工一出勤(EmpAndPre)主码字段代码字段名称数据类型长度小数位数可否为空*emp_preEmpNo用户编号Varchar20Not nullemp_prePreNoP出勤编号Intemp_prePreDays出勤天数Int(12)员工一津贴(EmpAndJintie )主码字段代码字段名称数据类型长度小数位数可否为空*emp _jin EmpNo用户编号Varchar20Not nullemp_ji nJi nNo津贴编号Int触发器与存储过程的实现
16、/触发器drop trigger if exists del_ on employees;delimiter $create trigger del_ on employeesbefore delete on employeesfor each ROWbegindelete from empa ndrsal where emp_rsalEmpNo =old.emp_No; delete from empa ndji ntie where emp_j in EmpNo=old.emp_No;delete from DepA ndEmp where dep_empEmpNo=old.emp_No;
17、 delete from EmpA ndPre where emp_preEmpNo=old.emp_No; delete from EmpA ndSal where emp_salEmpNO=old.emp_No; end $/存储过程delimiter $create procedure in sert_data(in sat in t, in sate in t,i n jb in t,i n chb double precisi on, out sb int)beginset sb = 1;beginif (sat =1) then insert into SalAndTime val
18、ues(jb,chb);elseif (sate=1) then insert into SalAndTech values(jb,chb);end if;en d;set sb = 0;end $4.2程序流程图程序流程图又称为程序框图,表示方法简单直观,是最早使用的 一种模念模式,是用来描述处理执行的逻辑过程的,它把程序的基本步骤归纳为:处理、判断、输入输出、起始和终结等几个基本功能, 并用不同的记号加以表示,从而描述程序的执行过程。在绘制程序流程图时使用的符号说明如下:处理输入输出判断起始终止控制方向图4.14.3人机界面设计用户界面是指软件系统和用户交互的接口,良好的用户界面往往可以提
19、高用户使用系统的热情,并刺激他们的积极性。431登录界面设计为了保证系统的安全性,进入系统之前必须经过必要的安全性, 简洁、清晰、友好是此设计的风格,如图 4.2所示:图4.2系统基本信息界面设计输入正确的用户名和密码后,即进入系统。系统的基本操作界面如图4.3所示:图4.3系统基本操作界面主要包括修改信息、添加信息、显示信息、统计信息、修改信息几个功能模块。修改界面(员工信息)图4.4添加界面(员工信息)图4.5显示信息(员工信息)图4.6删除信息(员工信息)图4.7第五章小结ASDFAS:在这次数据库设计中,我遇到的主要问题有以下几个方面:1.Swing局部刷新时的问题,有时新的数据不能在
20、组件上显示 2.连接 数据库时多个Connection没有关闭导致的取到错误的数据问题 3.程 序的健壮性,有些错误的情况不能以友好的方式提醒用户 总结:在以后的设计中重视前期需求分析,分清模块功能。SADFSA在本次软件的开发过程中,我进一步深入学习到了软件开发的流 程,主要学习到了完整的数据库设计流程。团队中人员的合作精神值得学习,大家集思广益,各司其职,尽自己所能做好各自的工作。我 认识到了前期分析的重要性,对后期开发有很大的指导作用,在分析 过程中,大家经常会产生分歧,意见的不统一导致了开发时间的延误; 此外还体会到了文档的重要性,文档是信息的重要载体,加强了人员 间的交流,记录了软件
21、的开发过程,为下一步的开发提供了良好的依 据。ASDFAS这次课程设计我们开发的项目是工资管理系统, 主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。 主要功能包括 对客户信息的增加、删除、 修改等基本功能。此次课程设计过程中也 遇到了不少问题, 由于自己的知识积累还不够, 所以设计的项目也比 较简单。通过此次工资管理系统的设计过程, 我对这两年的学习进行 了全面的回顾与总结,并且得出以下结论:1. 系统分析很重要2. 严格按照既定的规划进行系统设计与开发3. 注重吸收其他软件的优点4. 广泛的积累素材5. 团队合作很重要ASDAS:D在开发这个工资管理系统过程中我深刻地体会到了
22、自学能力的 重要性。毕竟在学校学习到的知识是有限的 , 而在开发系统的过程中 仅凭原有的一点点知识是远远不够的 , 只有翻阅大量的资料才能学到 更多的知识,才能实现其预期的功能。在开发过程中,遇到困难是在 所难免的,期间我跟我的指导老师和同学进行交流, 从中明白了很多。 开发一个系统,恒心和毅力也是不可缺少的, 如果一遇到难题就心慌, 想要放弃,那这样就不可能完成系统。同样,在开发过程当中,细心 也是非常重要的, 由于很多事项都要很注意才行, 如果没有做到这一 点,就会出错。在开发过程当中,我学到很多,明白了做任何事情都要有始有终, 要敢于同困难作斗争, 要养成独立思考的习惯。 在以后的工作和
23、生活当中,我将继续发扬这些好的作风。SADFASF:经过反复测试,系统完成后运行添加、修改、查询、报表等功能 均正常。此系统任然存在许多缺陷, 但是通过该系统设计达到了系统 设计目的的意义, 基本掌握了软件开发的主要步骤, 了解了各个环节 在开发时要注意的问题, 体会到开发一个系统应该注意的方面以及重 视用户在系统开发过程中间的作用,开发出好的软件高质量的软件。 另外在设计过程中也逐渐提高了软件开发技能和编程技能以及良好 的软件开发思维模式。SDFAS:在学习数据库之前一直觉得数据库没有什么深入研究的价值, 觉 得无非是将数据存起来进行增删改查的操作就是了。 直到真正接触到 了数据库这门课才真
24、地发现了这里面得奥妙和值得专研的价值。从某种意义上看来说, 对于数据库的学习不仅仅改变了我对与数 据库的看法, 同时也改变了我对于程序设计的看法。 从前简单的看到 就做是不科学的,应该经过规划和研究分析才能上手。于此同时,老 师留的项目其实是对于我们的所学习知识的一种检验与扩充。 因为项 目结合很多的其他知识, 同时做项目的过程是一个对于知识的重新审 视与巩固的过程。总地来说,这次的数据库课程设计让我觉得有所收获,有所得。加强了对于课程本身的理解,同时也知道了更广的知识面ASDD:近一周以来,虽然课程多、时间紧,考试忙,但在组长的带领下 认真进行数据库课程设计。认真听从老师的教导,及时进行学习
25、、交 流、实践。通过学习交流,拓宽了知识面,提高了认识。认识的提高 主要表现在两方面:一方面是对自我的认识,认识到自身的不足,需 要不断提高自己的专业知识、 数据管理方面的知识, 明白了软件开发 是一件工程学,需要工程学的指导,认真实践才是关键;另一方面是 对数据库维护的学习认知, 通过学习数据库使我上升了一个层次, 使 我在工作中能更好的完成数据库的维护工作 , 以及软件维护的重要 性。面向对象程序设计思想对于软件设计的巨大影响力, 对于软件的 扩展和维护的带来的巨大便利。 因此此次学习对于我个人来说至关 重要。源代码选摘:/ 数据库连接private Connection getConne
26、ction() String url = Class. forName ( );return (Connection) DriverManager. getConnection (url, "root" "mysql" ); catch (ClassNotFoundException e) e.printStackTrace(); catch (SQLException e) e.printStackTrace();return null ;public static void main(String args) new adminUser();/ 添加
27、职工信息监听if (e.getSource() = enterInsert8 ) try con = getConnection();con .setAutoCommit( false );sql = con .createStatement();int k = sql .executeUpdate( "INSERT INTO employees VALUES('"+ a8 00 +III III>+a8 01 +III III>+ a8 02+ "','" +>a8 03+"','&q
28、uot; +>a8 04 +III III>+ a8 05 +III III>+a8 06 +III III>+ a8 07+ "','" +>a8 08+"')" );System.out .println("k = "+k);int m =sql.executeUpdate( "INSERT INTOEmpandSal(emp_salEmpNO,emp_salTimeLev,emp_salTechLev) VALUES('"int n = sql .
29、executeUpdate(+ a8 00 + ""INSERTINTO DepAndEmp VALUES('"+ a8 09 +")" );int l = sql.executeUpdate("INSERT INTO+a8 00+III I!>+a8 08+I! I!>+a8 010+")" );EmpAndRSal(emp_rsalEmpNo) VALUES('"+ a8 00 + "')" ); if (k = 1 && m =
30、 1 && n = 1 && l = 1) JOptionPane. showMessageDialog ( thisI!JOptionPane. PLAIN_MESSAGE ); con .commit(); con .close(); catch (SQLException ee) try con .rollback(); JOptionPane. showMessageDialog ( this 失败",JOptionPane. ERROR_MESSAGE); catch (SQLException e1) e1.printStackTrace(
31、);/ 添加出勤信息监听if (e.getSource() = enterInsert9 ) try con = getConnection(); sql = con .createStatement(); int k = sql .executeUpdate( "INSERT INTO+ a9 00 + "'," + a9 01 + "," if (k = 1)JOptionPane. showMessageDialog ( thisI!JOptionPane. PLAIN_MESSAGE ); con .close(); catch (SQLException ee) JOptionPane. showMessageDialog ( this , "I!JOptionPane. ERROR_MESSAGE);/if (e.getSource() = enterInsert10 ) try 插入成功 " , " 成功插入失败 " + ee,EmpAndPre VALUES(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年移动应用OEM合作开发合同2篇
- 二零二五年度核电站设备安装工程承包合同汇编
- 2024果园技术服务合同
- 2024版个人循环借款保证协议版
- 二零二五年度新能源股权代持共享合同2篇
- 2024汽车大数据分析与服务合同
- 二零二五年度班主任心理健康辅导服务协议3篇
- 2025年度二零二五厂区生态景观建设与养护一体化服务合同2篇
- 二零二五年度水利工程延期施工赔偿协议书6篇
- 2024高考语文二轮复习任务限时集训10词语蹭标点连贯二含解析
- GB/T 39733-2024再生钢铁原料
- 第二章 粉体制备
- 《工业机器人现场编程》课件-任务3.涂胶机器人工作站
- 预应力空心板计算
- 2024版珠宝鉴定技师劳动合同范本3篇
- 中国能源展望2060(2025年版)
- 2024年年第三方检测行业分析报告及未来五至十年行业发展报告
- 李四光《看看我们的地球》原文阅读
- GA/T 1740.2-2024旅游景区安全防范要求第2部分:湖泊型
- 华为公司战略发展规划汇报
- 2025年社区工作者考试试题库及答案
评论
0/150
提交评论