《基于JAVa的工资管理系统设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于JAVa的工资管理系统设计与实现毕业论文.doc(53页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 . . . 摘 要我们小组的课程设计是某公司的工资管理系统。在这个计算机快速发展的世界里,计算机为信息处理提供了物美价廉的手段,对于推动我国管理信息处理现代化起到了重要作用。工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,既方便又快捷地完成员工工资的发放。我们组在课程设计过程中根据设计中的需求与对工资管理系统采用了模块化的设计思想,在机房我们在Wi
2、ndows XP操作系统环境下,采用myeclipse7作为开发工具,主要连接Access数据库来实现公司的工资管理系统的主要功能。在设计过程中,我们首先小组首先对整体的思路进行分析,然后进行分工。对数据库和类进行设计,实现了工资管理系统的功能。其功能主要包括公司用户管理、人员管理、部门管理、工资管理等功能。本系统运用了数据库技术,可以大量的存储信息。又实现了人机交互,不但缩短工资发放的时间,又避免了传统时代的人工计算错误。总而言之,该系统在工资管理方面考虑周全,功能齐全,极提高了公司对员工工资管理的效率。关键词 工资管理系统,Access数据库,Java46 / 53目 录摘要I目录II第1
3、章绪论11.1 项目背景11.2 项目开发环境11.2.1 硬件环境11.2.2 软件环境1第2章相关技术12.1系统所涉与到的语言12.1.2 Java12.2开发工具12.2.1 MyEclipse12.2.1 Access2第3章系统分析与组分工13.1需求概述13.2需求分析13.2.1 理解需求13.2.2 分析需求13.2.3 可行性分析23.3设计思想23.4系统功能结构图33.5组分工4第4章数据库设计54.1数据库需求分析54.2数据流图54.2数据字典64.3 概念结构设计94.3.1概念结构设计方法94.3.2概念模型设计9第5章系统详细模块设计与实现105.1 用户登录
4、与主界面105.2 用户管理功能实现185.3人员管理功能实现245.4部门管理功能实现395.5工资管理功能实现455.6帮助功能实现505.7退出系统功能实现51结论52致53参考文献54第1章 绪论1.1 项目背景借助现代信息技术和管理理论,建立企业管理信息系统是当今社会的重要趋势。党和政府根据知识经济时代的特点,对国民经济建设提出了“用信息化带动工业化”的指导思想。对企业而言,全面开发和应用计算机管理信息系统就是近期不能回避的问题。在企业管理中,人力资源是企业最宝贵的资源,也是企业的“生命线”,因此人事管理是企业的计算机管理信息系统重要组成部分。而工资管理又是人力资源管理的重中之重。实
5、行电子化的工资管理,可以让人力资源管理人员从繁重琐碎的案头工作解脱出来,去完成更重要的工作。工资管理信息系统的实现可以减轻比较繁琐的手工工资管理。同时计算机具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、成本低、打印方便等。这些优点能够极提高物业管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此工资管理系统在企业中占重要地位。现在应用在大中型企业的管理信息系统中,几乎都包括了工资管理模块。有些环境中是由作为大型ERP软件中的一个模块引进的,有些是作为企业的财务系统的一部分。这些根据规的西方的管理制度设计的工资管理软件,在很多时候还不能完全解决中国特
6、色的中小企业的问题,我们组介绍的工资管理系统就是要为这些具有中国特色的中小企业解决他们在工资管理方面的问题。本系统功能齐全,实现了用户管理、人员管理、部门管理、工资管理。并在各个功能下面实现了查询、添加、修改、删除等功能,使系统功能更加完善。更适合企业管理人员对员工工资进行管理。1.2 项目开发环境1.2.1 硬件环境PC机1.2.2 软件环境(1) 操作系统:Windows XP(2) 开发工具:MyEclipse 7.0(3) 数据库:Access第2章 相关技术2.1系统所涉与到的语言2.1.1 Java语言Java的诞生是对传统计算机模式的挑战,对计算机软件开发行业产生了深远的影响:(
7、1) 软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。 (2) 基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。 (3) 对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。中间提供商,构件提供商,服务器软件以与咨询服务商出现。企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。 (4) 对软
8、件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。 总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。2.2开发工具2.2.1 MyEclipseEclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)。虽然大多数用
9、户很乐于将 Eclipse 当作 Java IDE 来使用,但 Eclipse 的目标不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以与给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。这种平等和一致性并不仅限于 Java 开发工具。尽管 Eclipse 是使用 Java 语言开发的,但它的用途并不限
10、于 Java 语言;例如,支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件已经可用,或预计会推出。Eclipse 框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如容管理系统。简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以与除错。Genuitec发布了MyEclipse Enterprise Workbench 5.0,更智能、更快捷、更简单和更便宜的J2EE工具的新版本的诞生。它的价格对于个人和企业开发人员来说都是非常有吸引力的。这是J2EE IDE市场一个重量级的选手。通过增加UML双向建模
11、工具、WYSIWYG的JSP/Strutsdesigner、可视化的Hibernate/ORM工具、Spring和Web services支持,以与新的Oracle数据库开发,MyEclipse 5.0继续为业界提供全面的产品。 Genuitec 总裁Maher Masri 说,“今天,MyEclipse已经提供了意料之外的价值。其中的每个功能在市场上单独的价格都比MyEclipse要高。但是,我们承诺为顾客提供全面并且可以买得起的解决方案。按照这个传统,我们的顾客将继续享受年度订购活动的好处,该活动提供了所有发布功能的入口以与伴随MyEclipse5.0一起的专业技术支持”。2.2.2 Ac
12、cessMicrosoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是Microsoft Office的成员之一。其实Access 也是微软公司另一个通讯程序的名字,想与 ProComm 以与其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。另外,Access还是c语言的一个函数名和一种交换机的主干道模式。Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的
13、部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序这些应用程序都利用ASP技术在Internet Information Services运行比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server。Access管理的对象有表、查询、窗体、报表、页、宏和模块,以上对象都存放在后缀为(.mdb)的数据库文件种,便于用户的操作和管理。Access是一个面向对象的开发工具,利用面向对象的方式将数据库系统中的各种功能对象化,将数据库管理的各种功能封装在各类对象中。它将一个应用系统当作是由一系列对象组成的,对每个
14、对象它都定义一组方法和属性,以定义该对象的行为和外国,用户还可以按需要给对象扩展方法和属性。通过对象的方法、属性完成数据库的操作和管理,极简化了用户的开发工作。同时,这种基于面向对象的开发方式,使得开发应用程序更为简便。Access基于Windows操作系统下的集成开发环境,该环境集成了各种向导和生成器工具,极提高了开发人员的工作效率,使得建立数据库、创建表、设计用户界面、设计数据查询、报表打印等可以方便有序地进行。Access支持ODBC(开发数据库互连,Open Data Base Connectivity),利用Access强大的DDE(动态数据交换)和OLE(对象的联接和嵌入)特性,可
15、以在一个数据表中嵌入位图、声音、Excel表格、Word文档,还可以建立动态的数据库报表和窗体等。Access还可以将程序应用于网络,并与网络上的动态数据相联接。利用数据库访问页对象生成HTML文件,轻松构建Internet/Intranet的应用。第3章 系统分析与组分工3.1需求概述工资管理系统系统对企业加强工资管理有着极其重要的作用,就一般的大型企业来说,它的设计容非常复杂而且繁多,比如拥有工资计算功能,工资统计功能,报表输出功能,而且设计的模块也很多,比如工资管理模块,工资统计模块,报表设计模块,打印输出模块,模糊查询模块等等。因此,工资管理系统为公司和员工带来极大的方便。通过我们组员
16、之间的分析与研究,要求系统具有如下功能:(1) 提供用户登录、用户查询功能(2) 提供员工信息查询、添加、删除等功能(3) 提供部门信息查询、添加、删除等功能(4) 提供工资信息查询、添加、修改、删除等功能(5) 管理员对各个部分信息的管理功能3.2需求分析3.2.1 理解需求工资管理系统在用户登录时分两个部分:管理员和普通用户。普通用户可以进入用户界面查询各个信息,但只有查询功能。管理员的权限除了普通用户的权限外,还有对各个部分的信息进行添加、修改、删除等功能。所有的功能管理员都能实现。下面是系统所要达到的几条要求:(1) 要求系统准确的记录各种信息。(2) 系统要提供丰富的查询功能。(3)
17、 系统可以对基础数据进行维护。(4) 系统运行在Windows平台下,需要有良好的图形用户界面。(5) 系统具有良好的可扩展性,良好的可移植性。3.2.2 分析需求分析需求就是描述系统的需求,通过定义系统中的关键域建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。因此,工资管理系统的需求分析应该是开发人员和用户一起完成的。分析需求的第一步描述工资管理系统的功能,即定义用例,以此确定系统的功能需求。工资管理系统的分析主要涉与规格说明的阅读和分析,需要和工资管理系统潜行讨论。工资管理系统的角色是管理员和公司员工。公司员工即普通用户可以对系统中的各个部分进行查询。管理员登
18、陆时有权限限制的,普通用户是不可登陆的。他可以对用户信息进行添加、修改、查询、删除等,还可以对系统中的其他信息进行管理。3.2.3 可行性分析(1) 技术可行性分析技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,作为计算机软件开发与技术专业的学生,经过几年的学习,在数据库和编程方面都有一定的基础。所以对于这个系统的开发还是有能力做好的。我们掌握了数据库与其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护与局域网的组成有了深刻的认识与一定的动手实践能力。从一定程度上具备了开发一个小型系统的能力
19、。(2) 经济可行性主要从对项目的经济上进行分析评价,一方面是支出的费用,另一方面是取得的收益。我们这个是一个小型的公司工资管理系统,从投入的人力,财力与物力来讲是非常之小的,只要有电脑就可以了。从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作,可以给工资管理提高一个层次。(3) 运行可行性不同的企业正在迅猛发展,而且在企业中各个公司的员工流动性越来越大,所以工资管理系统在公司起到了极其重要的作用。随着计算机硬件的快速发展,计算机的价格在不断地降低,工资管理系统对客户端要求极低,只需要有一个浏览器能上网就能进行信息的查询。网络的越来越普与,人们都喜欢上网查询信息既方便又快
20、捷。因此系统在实践上具备了可行性。(4) 法律可行性本系统纯为私人设计,在开发过程中没有涉与合同、责任等与法律相抵触的方面。因此,本系统在法律上是可行的。由此可知,工资管理系统在市场上具有可行性。3.3设计思想本系统开发设计思想有以下几点:(1) 充分利用现有资源,提高系统开发水平和应用效果的目的。(2) 系统应符合管理人员的具体要求,满足日常的管理工作需要,而且要达到使用中的直观、快捷、实用、安全、稳定等要求。(3) 系统采用模块化的程序设计方法,既便于系统功能的添加、修改等。(4) 系统应具备数据库维护功能,与时根据用户需求进行数据的添加、删除修改等功能。3.4系统功能结构图针对实际生活中
21、工资管理的需要,我们组的公司工资管理系统能够实现的主要功能模块如下: 用户管理模块:制定用户的管理级别,管理级别分为管理员和普通用户两类。他们的操作权限不同,管理员是公司的管理员,可以对系统进行一切操作,包含添加用户、修改用户信息、修改口令等。普通用户只能进行信息查询。人员信息管理模块:实现对员工基本信息的添加、修改、删除、查询等。按照公司规定对员工进行管理。部门信息管理模块:实现对部门的信息添加、修改、删除、查询等。工资信息管理模块:实现工资表的生成、个人工资查询、工资修改、工资结算、工资统计以与工资表打印等功能。其中按月生成工资表,保存在数据库中。而工资标准的依据恰好与员工的基本信息相一致
22、,形成对应关系。工资管理系统的组成与系统功能结构图,如图3.1所示。图3.1系统功能图3.5组分工我们组的组分工,如表3.1所示。表3.1组分工明细表任务成绩组长泉主要负责主登陆界面、主功能界面和退出界面的实现。用户管理功能的实现包括用户信息添加、修改、删除与数据库的连接。帮助功能。报告第4部分的撰写与报告修改整理。组员王丹主要负责工资管理,包括工资信息的添加、修改、查询、删除功能的实现。报告第5部分、摘要的撰写。甘霖主要负责人员管理,包括人员信息的添加、修改、查询、删除功能的实现。报告第3部分、结论的撰写。芳主要负责部分管理,包括部门信息的添加、修改、查询、删除功能的实现。报告第1、2部分、
23、致的撰写。第4章 数据库设计4.1数据库需求分析需求分析简单地说就是分析用户的要求。需求分析是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计结果是否合理和实用。因此,数据库结构设计的一个非常重要的阶段就是数据库需求分析阶段。在这个阶段主要是收集基本数据以与数据处理流程,为以后进一步设计打下基础。需求分析主要解决两个问题:容要求:调查应用系统用户所操作的数据,决定的数据库中存储什么数据。处理要求:调查应用系统用户要求对数据进行什么样的处理,处理数据库中的各种数据之间的关系如何。解决这两个问题的时候,程序设计人员需要向应用系统的用户做详
24、细调查,保证信息收集的完整性,否则有可能后面所做的所有工作都白白浪费。工资管理系统,包括系统功能设计、工资管理数据库与数据表的创建、创建系统启动和操作的各个界面、以与各个子系统的界面设置与功能实现等容,主要实现对企业工资管理信息的规化、系统化的管理。通过各方面的调查和分析,工资管理系统需要实现的主要功能如下:(1) 提供用户登陆、用户查询功能(2) 提供员工信息添加、查询、删除功能(3) 提供部门信息查询、添加、删除等功能(4) 提供工资信息查询、添加、修改、删除等功能(5) 提供管理员对系统的管理功能4.2数据流图从硬件方面来说,数据流图(Data Flow Diagram,DFD)是用来描
25、绘软件系统逻辑模型的图形工具,用于描绘信息在系统中的流动和处理情况。数据流图是结构系统分析的主要工具,它表示了系统部信息的流向,并表示了系统的逻辑处理的功能,是一种功能模型。数据流图具体功能分析如下:数据源点和数据终点:数据源点和数据终点用方框表示,它是系统之外的实体,可以是人、事、物、部门或其他系统。加工(数据处理变换):加工用圆框表示,是对数据进行处理的逻辑单元,它接受若干输入数据流,通过加工,部产生规定的输出数据流。数据流:数据流用带数据流标识的箭头表示,表示系统处理的数据对象和数据流动的方向。数据流的方向可以是:从一加工流向另一加工、从加工流向数据存储或数据存储流向加工、从源点流向加工
26、或从加工流向终点。数据存储文件:数据存储文件在数据流图中起着保存数据的作用,它可以是数据库、文件或任何其它形式,指向存储的数据流可理解为数据写入,从存储引出的数据流可理解为数据读出。公司工资管理系统数据流图如图4.1所示。图4.1系统数据流图4.2数据字典从软件方面来说,需要安装JDK和Web服务器以与数据库管理系统数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据结构的定义来描述数据流、数据存储的逻辑容。数据项数据项是不可再分的数据单位。可以用关系规化理论为指导,用数据依赖的概念分
27、析和表示数据项之间的联系。即按实际语义,写出每个数据项之间的数据依赖,它们是数据库逻辑设计阶段数据模型优化的依据。对数据项的描述通常包含以下容:数据项描述=数据项名,数据项含义说明,别名,数据类型,长度对于本系统所包含的各个数据项的具体描述如表4.1至表4.4所示。表4.1管理员信息的数据项数据项名别名数据类型长度数据项含义说明备注管理员UserVCHAR8管理员的唯一标识主键,值不为空密码UpasswordVCHAR15登录密码值不为空表4.2员工信息的数据项数据项名别名数据类型长度数据项含义说明备注员工编号PnoVCHAR8员工的唯一标识主键,值不为空员工PnameVCHAR8员工的值不为
28、空性别SexVCHAR4员工的性别可有可无年龄AgeVCHAR4员工的年龄可有可无职位PostVCHAR8员工的职位可有可无所在部门DepartmentVCHAR8员工所在部门可有可无工资WageVCHAR10员工工资可有可无工资类型WagetypeVCHAR8员工工资类型可有可无表4.3部门信息的数据项数据项名别名数据类型长度数据项含义说明备注部门编号Dtmt-idVCHAR10部门信息唯一标识主键,值不为空 部门名称Dtmt-nameVCHAR10部门名称值不为空表4.4工资信息的数据项数据项名别名数据类型长度数据项含义说明备注工资号noVCHAR8员工的唯一标识主键,值不为空工资类型Wa
29、getypeVCHAR4工资类型可有可无基本工资BaswageVCHAR4员工的基本工资可有可无奖金BonusVCHAR8员工的奖金可有可无应减工资MinwageVCHAR8员工所可有可无实际工资FactwageVCHAR10员工工资可有可无工资日期WagedateVCHAR8员工工资日期可有可无数据结构数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。对数据结构的描述通常包括以下容:数据结构描述=数据结构名,含义说明,组成:数据项或数据结构本系统的数据结构描述,如表4.5所示。表 4.5 数据结构说明数据结构
30、名含义说明组成管理员信息管理员的基本信息管理员、密码员工信息员工的基本信息员工编号、性别、年龄、职位、所在部门、工资、工资类型部门信息部门的基本信息部门编号、部门名称工资信息工资信息员工编号、基本工资、奖金、应减工资、实际工资等数据流数据流是数据结构在系统传输的路径。对数据流的描述通常包括以下容:数据流描述=数据流名,说明,数据流来源,数据流去向,组成:数据结构其中,“数据流来源”是说明该数据流来自哪个过程;“数据流去向”是说明该数据流将到哪个过程去。数据存储数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以手工文档或手工凭单,也可以是计算机文档。本系统中对数据存储的具体描
31、述。处理过程处理过程的具体处理逻辑一般用判定表或判定树来描述。数字字典中只需要描述处理过程的说明信息,通常包括以下容:处理过程描述=处理过程名,说明,输入:数据流,输出:数据流。4.3 概念结构设计4.3.1概念结构设计方法设计概念结构通常有四类方法如下: 自顶向下。即首先定义全局概念结构的框架,然后逐步细化; 自底向上。即首先定义各局部应用的概念结构,然后将他们集成起来,得到全局概念结构; 逐步扩。首先定义最重要的核心概念结构,然后向外扩充,以滚雪球的方式逐步生成其他概念结构,直至总体概念结构; 混合策略。即将自顶向下和自地向上相结合,用自顶向下策略设计一个全局概念结构的框架,以它为骨架集成
32、自底向上策略中设计的各局部概念结构。4.3.2概念模型设计在概念模型设计中,主要是对E-R图进行设计。在E-R图设计中,首先要设计分E-R图,然后再对总E-R图进行设计。由于各个局部所面向的问题不同,这就导致各个分E-R图之间必定会存在许多不一致的问题,称之为冲突。因此合并分E-R图并不能简单地将各个分E-R图画到一起,而是必须合理消除各分E-R图中的不一致,以形成一个能为全系统中所有用户共同理解和接受的统一的概念模型,是合并E-R图的主要工作和关键。由分E-R图合成总体E-R图的规则,画出完整的工资管理系统的完整E-R图,如图4.2所示。图4.2完整E-R图4.4逻辑结构设计4.3.2逻辑结
33、构设计思想从理论上讲,设计逻辑结构应该选择最适于相应概念结构的数据模型,然后支持这种数据模型的各种DBMS进行比较,从中选出最合适的DBMS。但实际情况往往是已给定了某种DBMS,设计人员没有选择的余地。目前DBMS产品一般支持关系、网状、层次三种模型中的某一种,对某一种数据模型,各个机器系统又有许多不同的限制,提供不同的环境与工具。所以设计逻辑结构时一般要分三步进行,如图4.3所示:将概念结构转换为一般的关系、网状、层次模型;将转换来的关系、网状、层次模型向DBMS支持下的数据模型转换;对数据模型进行优化。概念结构基本E-R图转换规则DBMS的特点和限制优化方法一般数据模型关系、网状、层次特
34、定的DBMS支持下的数据模型优化的数据模型图4.3 逻辑结构设计时的三个步骤逻辑结构设计采用关系模型转换概念结构,将E-R图依照规则转换为关系模型,为了进一步提高数据库应用系统的性能,再将转换后的关系模型进行优化,确定是否要对某些模式进行合并或分解,为物理设计提供最优的处理。 4.3.3 E-R图向关系模型的转换关系模型的逻辑结构是一组关系模式的集合。E-R图则是由实体,实体的属性和实体间的联系三个要素组成。所以将E-R图转换为关系模型实际上就是要将实体,实体的属性和实体间的联系转换为关系模式。转换原则如下:(1)实体类型的转换:将每个实体类型转换成一个关系模式,实体的属性就是关系模式的属性,
35、实体的码就是关系的码。(2)联系类型的转换,根据不同的情况做不同的处理。若实体间的联系是1:1的,可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以与联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端实体对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性。若实体间的联系1:N的,可以转换为一个独立的关系模式,也可以与N端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以与联系本身的属性均转换为关系的属性,而关系的码为N端实体的码。如
36、果与N端对应的关系模式合并,则将一方的码传到多方去作为多方的一个非主属性。若实体间的联系是M:N的,可转换为一个独立的关系模式,与该联系相连的各实体的码以与联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以与联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。(3)依照该规则将工资管理系统的E-R图转换为关系模型如下:将每一个实体转换成一个关系模式(实体的属性就是关系的属性,实体的码就是关系的码)带下划线的为主码。管理员(,密码)管理(员工号,)员工(员工号,性别,所在部门,年龄,密码
37、,职位,工资,工资类型)工资(工资号,基本工资,奖金,应减工资,实际工资,工资日期)拥有(员工号,工资号)部门(部门编号,部门名称)属于(员工号,部门编号)第5章 系统详细模块设计与实现5.1用户登录与主界面工资管理系统第一个界面就是用户登录界面,该界面是用户想要登录本系统必须有的步骤,当运行时,弹出界面,该界面登录时用户受权限限制,有管理员登陆和员工登陆。员工登录时只有里面各项的查询功能。管理员则有对里面各项的一切操作功能。这里介绍管理员的登录与管理员的其他功能。按钮选中管理员后,输入正确的管理员用户名和密码后,按登录按钮就可进入系统主界面。如果用户名或密码输入错误会出相应的提示信息。运行时
38、登录界面,如图5.1所示。图5.1登陆界面用户登录的代码如下:public login1() /登陆界面setTitle(用户登录);setSize(WIDTH, HEIGHT);setLocation(screenWidth - WIDTH) / 2, (screenHeight - HEIGHT) / 2);setLayout(new BorderLayout();JPanel check = new JPanel();check.setBackground(new Color(230,235,250);caozuo = new ButtonGroup();r1 = new JRadioB
39、utton(管理员, true);r1.setBackground(new Color(230,235,250);caozuo.add(r1);r2 = new JRadioButton(职工, false);caozuo.add(r2);r2.setBackground(new Color(230,235,250);check.add(r1);check.add(r2);add(check, BorderLayout.NORTH);JPanel p1 = new JPanel();p1.setLayout(new BorderLayout();add(p1, BorderLayout.CEN
40、TER);JPanel p2 = new JPanel();JPanel p3 = new JPanel();JPanel p4 = new JPanel();p1.add(p2, BorderLayout.NORTH);p1.add(p3, BorderLayout.CENTER);p1.add(p4, BorderLayout.SOUTH);p2.setBackground(new Color(230,235,250);p3.setBackground(new Color(230,235,250);p4.setBackground(new Color(230,235,250);JLabel
41、 lno = new JLabel(用户名:);JLabel lpassword = new JLabel(密 码: );tname = new JTextField(10);tpassword = new JPasswordField(10);utton enter = new utton(登录);utton exit = new utton(退出);p2.add(lno);p2.add(tname);p3.add(lpassword);p3.add(tpassword);p3.setPreferredSize(new Dimension(300, 30);p4.setPreferredSi
42、ze(new Dimension(300, 50);p4.add(enter); p4.add(exit);this.setVisible(true);enter.addActionListener(this);exit.addActionListener(this);addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0););public void actionPerformed(ActionEvent e) /验证登录信息正确性ResultSet rs = n
43、ull;sqlconn sqlconn = new sqlconn();name = tname.getText();String password = tpassword.getText();String sql = ;try if (e.getActionCommand().equals(登录)if (password.length() != 0)if (r1.isSelected() sql = Select * from users where name= +name+ and password= + password + ;type=0;elsesql = Select * from
44、 employees where name= + name+ and password= + password + ;type=1;rs = sqlconn.getRs(sql);if (rs.next() if (type = 0)mainFrame A = new mainFrame(); A.setVisible(true);else if (type = 1)mainFrame1 B=new mainFrame1(); B.setVisible(true);this.dispose(); else JOptionPane.showMessageDialog(null,用户名称与密码有误,请重新输入!);tname.setText();tpassword.setText(); elseJOpt