数据库Java源代码见网盘设计毕业论文.docx_第1页
数据库Java源代码见网盘设计毕业论文.docx_第2页
数据库Java源代码见网盘设计毕业论文.docx_第3页
数据库Java源代码见网盘设计毕业论文.docx_第4页
数据库Java源代码见网盘设计毕业论文.docx_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

数据库Java源代码见网盘设计毕业论文目录1.开发背景与目标11.1开发背景11.2开发简介11.3目标22.使用工具和开发环境的描述52.软件介绍52.2开发环境介绍63.系统分析93.1可行性分析93.2需求分析意义93.3总体的需求分析103.4系统的主要功能分析113.5数据库需求分析113.6总体功能模块设计124.系统数据库详细设计144.1设计叙述144.2系统E-R图144.3数据库设计205.系统主要页面设计295.1部门管理模块设计295.2岗位管理模块设计305.3员工入职管理模块设计315.4员工异动管理模块设计325.5员工信息中心管理模块设计335.6报表管理模块设计336.主要技术介绍356.1MVC设计模式356.2模糊分页查询376.3JDBC连接数据库387系统测试417.1菜单栏417.2 部门管理界面417.3岗位管理界面427.4员工入职管理427.5 试用期员工管理界面427.6试用期员工查询界面437.7员工调动437.8 个人信息界面447.9员工离职管理界面447.10操作异常处理实例界面45参考文献46致谢辞47附录1英文原文48附录2 中文译文551.开发背景与目标1.1开发背景对人才资源的良好应用和管理是公司蓬勃发展的重要原因,但是传统的人事管理不能很好地全面控制管理全公司的工作人员,所以对人才的高效分配和管理应用欠差太多,为了更高效的利用全公司的人员,做到人尽其力、物尽其才,高效快捷人员分配的人事管理需求就应运而生。在这个快速发展的经济社会和计算机普及率十分之高的科技社会,快速高效的办公成为正常化的模式。计算机办公也逐取代手动办公,因为计算机办公的速度要比纯手工快的多,存放上也比纸张更省空间和资源,查询起来更加快捷和准确,修改和删除更加简单,资源的移动也更加方便。系统的使用主要是面向于工作人员过百上千的中小型公司,这样更有利于体现系统的优势,尤其是在人事查询、人事调动、员工信息和员工离职上的优势。此外,管理人员也可以按照一定规律定期修改删除员工、岗位、部门的信息。1.2开发简介人事管理系统是常用的信息管理系统,此系统的开发和使用主要有两个方面,一个是友好的前台界面和前台的简单实用,另一个就是完善的符合逻辑的后台数据库数据。友好的前台界面和前台的简单实用是开发的目标,如果没有这种效果也就没有了系统开发的意义;完善的符合逻辑的后台数据是对前台和功能简单实现的根本,其支持着各种前台使用数据的存储,以便以后更改和查询。而只有拥有这两个方面才能是一个功能完善的易用的管理系统。81人事管理系统主要是在网页上进行操作,开发工具主要是使用MyEclipse前台设计和Oracle数据库后台设计等工具开发出来的系统。系统的目的是界面友好、灵活、实用、提示明确等要求,其功能主要包括简单的用户指南、部门管理、岗位管理、员工入职、员工异动管理、员工信息中心、报表管理。而这些功能的主要实现是对数据的添加、修改、删除和查询,并且最主要的是模块的划分和相互关联,这对数据库的处理尤为重要。系统开发的主要意义在于省时省力、方便快捷,其优秀的查询功能对省时的演绎最是明显,比如说你要找一个人的数据,知道的信息并不多,但是比总是能根据目前知道信息查询出符合要求的数据,然后你可以在这些数据中找出符合你要求的员工。这要比你在数千人事档案中查找要省时省力的多。并且人事档案并不是一张简单的信息表,里面包含相当多的数据,人工查找起来很是麻烦。当然除了查询功能外,系统的其他功能也是比现实人工人事管理要方便快捷得多,在此就不需要赘述。系统的其实就是对现实的抽象,所以对现实的需求做好分析是尤为重要的前提,这对数据库的建立、系统界面、系统的简单使用起着根本作用,所以在下手写代码之前必须做好现实的抽象,也就是需求分析。开发成网页形式的管理系统也比较容易方便应用管理和升级修改,可维护性较强,并且使用起来也是方便快捷的多。1.3目标1.3.1 操作上的目标Android、ios、windows等操作系统的流行主要是其友好的界面和超高的用户体验度,这些都得益于它们的傻瓜式操作简单方便易上手的简单操作。在iOS系统还没有问世以前,各大手机品牌也都有自己的“智能”手机操作系统,但是其智能尽限于功能强大上,用户体验度并不高,很多强大的功能大部分人并不知道怎么使用,记得看一些米国大片的时候能玩转这种手机的人都是些黑客(程序员高手)什么的,所以这对使用者的文化素质要求比较高。我管这种智能叫做无用的智能,因为对大众而言它们智能的毫无意义。所以我做这个系统的目标就是能够方便快捷办公,并且用户体验度要高,不能让系统太过复杂而使使用人员不能全面快速掌握系统的应用。要做到和我们对现在的智能手机一样,只要你没有脱离时代的步伐,只要你认识汉字,你就能根据系统的提示或者简单的培训说教就能灵活的使用该系统。1.3.2实用的目标该系统的出发点是做一个人事管理的系统,如果连这基本的要求你都做不到,就跟本谈不上人事管理,就好像你开发了一个手机系统一样,什么都能做就是不能打电话,这顶多算一个iPod算不上手机,所以在需求上就会大打折扣,不能说这没有存在的意义,但是这是没有完成目标。所以这个系统要在前述的高用户体验度上尽量完成人事管理的基本需求,要能够实现部门的添加、删除、改动和查询,岗位的删除、添加、改动和查询,员工的入职、调动、离职等功能。1.3.2可移植性现在越来越多的应用在实现跨平台和云存储,为的就是能够在更改应用平台之后能够依然使用原来熟悉的应用和数据,尤其是在数据非常多的情况下我们对跨平台原数据的需求就越大。举个非常简单的例子就是我们可能在一年左右会换一次手机,我觉得聪明点的人不会拿着新的手机对着旧的手机一个一个的录入原来的联系人,因为这样实在忒是麻烦,一般情况下我们会把手机的联系人备份到一个地方然后将其移至到新的手机上。这样更省时省力,不用重复的录入数据,一次数据能够多次应用,然后就体现出了数据库和跨平台的重要性。这也就是我所要说的可移植性,为了更加方便跨平台办公,更容易的换平台工作,我要做到数据和应用的最大程度的可移植性,。1.3.3可维护和扩展性数据库老师教过,一个好的数据库并不是你现在的问题抽象的多么完美,你要做到的是数据库的可维护性,不仅要能完成现在的问题,你也要留出一定的余地为将来可能遇到的空间做好准备。而这方面的余地并不是指空间的预留而是设计的可扩展性要求,因为需求总是在不断变化的,我今天做出了版本明天可能就会有新的需求,我不能重新设计和编写代码,我必须在当前版本的前提下修改和添加来满足新的需求,这样更省时省力并且还能尽快的将系统投入到使用当中,所以该系统还要尽量做到系统的可扩展性。2.使用工具和开发环境的描述2.软件介绍2.1.1静态界面软件Adobe Dreamweaver,简称“DW”,中文名称“梦想编织者”,是美国MACROMEDIA公司开发的集网页制作和管理网站于一身的所见即所得网页编辑器,DW是第一套针对网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页1。在做正式的实现功能的项目之前,我们会先做出一份没有实现人事管理功能的静态界面,以方便自己理解和全局规划,以便自己在正式做系统时及时更正自己逻辑错误,最主要的是了解项目的模块划分和掌握以后的进展情况。2.1.2数据库Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司额一款关系数据库管理系统。它是数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案2。虽然大部分的数据库的使用语言上基本上一样,表面上感觉使用任何可以使用的数据库都是一样的,比如说我们也可以使用在大学期间学的SQL server,对于这个数据库软件我们更加熟悉其结构和使用方法,但是我在这里选择使用的是Oracle数据库。因为Oracle数据库的普遍率更高些并且功山东科技大学本科论文能更强大些,最重要的是在习惯之后这个数据库更容易满足我的这个系统,对以后的扩展和移植更有利些。2.1.3开发软件MyEclipse,是在eclipse基础上加上自己的插件开发而成的功能强大企业级集成开发环境,主要用于Java、Java EE以及移动应用的开发。MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错3。使用MyEclipse的主要原因是我更熟悉Eclipse,但是Eclipse的网页开发功能不能很好的满足我开发此系统,因为我要用到的其标准授权的JSP/EL、HTML5可视化设计、JS编辑器、CSS编辑器、AJAX工具,所以在这些需求的基础之上我选择了在Eclipse基础上集成的MyEclipse开发工具。2.1.4检验软件随着大部分浏览器支持的页面语言越来越全、越来越统一,所以我的系统应该可以在大部分的浏览器上无差错的运行,但是每个浏览器的支持语言上总是有些细微的差别,所以在每个浏览器上的兼容性可能不尽如意,所以在此我建议系统使用着能够使用我开发时使用的软件进行人事操作,依此避免页面的少许错差,在后期中我会尽快完成所有常用浏览器的页面布局兼容性。2.2开发环境介绍2.2.1Java EEJava EE,根据Sun的Java EE Blueprints提出的具有建议性的、规范化的Java EE应用设计模型,可以描述出Java EE的多层分布式体系结构,基于Java EE的企业级应用将被部署到下面四个不同的容器(Container)中:1 Web容器 包括JSP和Servlet两种组件。接受从客户端发来的Web请求,调用业务逻辑层组件进行业务处理,最后将处理结果响应给客户端。2 EJB容器 包含的组件为EJB。主要用于服务器端的商业逻辑的实现。EJB通过标准协议和Java EE提供的服务或API来访问企业信息系统层。3 Applet容器 包含的组件为Applet。Applet是嵌在浏览器中的一种轻量级客户端,出于安全性的考虑它无法使用Java EE的各种Service和API。4 Application Client容器 包含的组件Application Client。相对Applet而言是一种重量级的客户端,它能够使用Java EE的大多数Service和API。这四个容器再加上DataContaine构成了Java EE平台的四层结构:客户端层、Web层、业务逻辑层、企业信息系统层(Enterprise Information System,即EIS层或Data数据层)。如将客户端层与Web层合并看作表现层(Presentation)的话,则又成为一种三层结构;如将Web层与业务逻辑层合并看作中间层的话,又成为三层结构的另外一种情况4。2.2.2 JSPSP即Java Server Pages,是由Sun Microsystem公司于1996年6月推出的新技术,是基于Java Servlet以及整个Java体系的Web开发技术。JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以及与平台无关的开发特性,成为构建动态网站的主流技术之一。其优势在于:可以将内容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。JSP能提供所有Servlet的功能5。2.2.3服务器 Tomcat 6.0Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行Tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的6。诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为7.0.40。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能。而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能7。山东科技大学本科论文3.系统分析3.1可行性分析可行性分析也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、杜会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性分析是要决定“做还是不做”。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决8。1 运作可行性。营造大学生课后交流的环境。当下大学生,尤其是计算机相关专业的学生都有一个特点宅,宅在宿舍的床上,于是就有了很多的男女生互相面熟而不相识的现象,特别是对于腼腆的学生。开发此社交网站,旨在缩短男女同学的距离,。 2 技术可行性。技术上的可行性分析主要分析技术条件能否顺利的在规定时间内,完成开发工作、满足客户需求和达到质量标准,以及硬、软件能否满足开发者的需要等。3.2需求分析意义在软件生命周期中,需求分析是最重要的阶段之一。软件需求分析的质量对软件开发的影响是深远的、全局性的,高质量需求对软件开发往往起到事半功倍的效果,即是所谓的“磨刀不误砍柴功”。在后续阶段改正需求分析阶段产生的错误将付出高昂的代价。项目的需求分析如果做得好,那项目就相当于完成了一半,好的需求分析为项目的顺利开发奠定基础,减少大量开发成本,减小开发风险9。3.3总体的需求分析人事管理系统是对企业人事部门工作人员通过计算机对全公司进行全面系统准确网络化管理。目标是要完成公司下部门管理、各部门下的岗位管理、员工的入职管理、员工移动管理、员工信息中心、报表管理。要按模块进合理的划分,每个模块要做成一个菜单,以便在操作时能迅速找到要操作内容的模块,方便快捷办公。合理的模块划分对以后网页界面的设计和清晰排版都起着决定性作用,我们要像常用的word应用程序一样,都能清楚明白的划分好每个菜单下的功能。这些管理功能大部门都要支持基本的增删改查功能,并且在更改和添加时都要有良好的限制以确保信息的完整性,在删除时有良好的提示功能以杜绝防止误删错删的情况,在查询时要做好模糊查询和定向查询以方便做好全面无纰漏的查找出符合要求的信息。在做模块划分的需求分析时也要考虑到未来数据库建立的方便和清晰,不能让数据库过于复杂,更不能使每条数据之间交叉过多,而使在网页操作时对数据库的操作而过于复杂,从此也影响Java代码的编写。还要分析好约束条件是在网页中进行约束还是在数据库中进行约束,在这里我决定在网页中进行数据约束。当然我们学过在数据库中进行词条的写入删除的约束,但是在这里我选择用网页进行约束,至于为什么选择这样约束我举个形象的例子。就像我们想进一个有院子的屋子,我们都在院子外,在院子外看不到屋子,进院子和进屋子都可以有限制条件也可以没有,如果屋子也有限制条件我们没法从院子外面看到人有没有进入到屋子里;然而如果只有进入院子的限制条件时我们就能从院子外面清楚的看到人有没有进入屋子。也就是说我现在做的是如果不符合我的要求就不会通过网页进行传递,当然也就无法写入到数据库,就不会引起一些不必要的错误,比如数据明明没有录入数据库但是我们却以为它已经录入的重要错误。3.4系统的主要功能分析开发这个网页人事管理系统的主要目的就是实现通过电脑完成对企业人力资源和部门岗位的管理,以便高效准确管理公司人事。根据我对系统的归类分析以后决定系统要完成以下基本功能:(一)部门管理:添加部门,修改部门,删除部门,查询部门,查询当前部门员工(二)岗位管理:添加岗位,修改岗位,删除岗位,查询当前岗位员工(三)员工入职管理:普通入职,人才库入职(四)员工异动管理:员工试用期管理,试用期员工查询,员工部门调动,员工岗位调动(五)员工信息中心:查询员工信息(六)报表管理:招聘员工报表,离职员工报表,部门调动报表,岗位调动报表,人事月报表(七)员工离职管理:员工离职,已离职员工3.5数据库需求分析数据库在这个系统中起着根本作用,因为所有数据都是存储在数据库内的,其对我们上文所列的那些功能的实现也起着根本性作用,其方便的添加删除查询功能使我们所急切需要的,并且其方便的连接和通用的语言也是我们所需要的,为了方便的建立页面与数据库之间的联系,我们将建立以下数据库表:(一)部门表:编号,名称,类型,上级部门,电话,传真,信息,创建日期(主键约束)(二)岗位表:编号,名称,类型,隶属部门编号,岗位编制(主外键约束)(三)员工表:编号,姓名,性别,身份证号,出生日期,部门,岗位,用工形式,人员来源,入职日期,工作日期,政治面貌,最高学历,最高学位,毕业学校,所学专业,毕业日期,籍贯,联系电话,电子邮件,身高,血型,出生地,户口地址,婚姻状况(四)人才库表:编号,姓名,性别,身份证号,出生日期,政治面貌,最高学历,最高学位,毕业学校,毕业日期,籍贯,联系电话,电子邮件,身高,血型,出生地,户口地址,婚姻状况(五)员工试用表:员工编号,开始时间,结束时间,考核评语,考核结果,考核处理日期,考核备注(六)员工调动表:员工编号,员工姓名,原部门,调动部门,原岗位,调动岗位,调动类型,原因,调动日期,备注(七)员工职业生涯表:员工编号,开始日期,结束日期,单位名称,工作内容,薪水,证明人,证明人职位,证明人电话,备注(八)员工外语信息表:员工编号,外语编号,外语语种,外语水平(九)社会关系表:员工编号,亲属编号,关系,姓名,所在单位,职位,联系电话(十)员工离职表:员工编号,所在部门,所在岗位,离职日期,离职类型3.6总体功能模块设计根据上文所述的需求分析和数据流程分析再加之系统所需要的人事管理功能可以用下面的流程图来描述系统的全部功能。功能模块流程图:图3.1功能模块流程图4.系统数据库详细设计4.1设计叙述在这章我们主要通过图表的形式来详细描述一下人事管理系统的数据库各个模块和总体的E-R图,和各个模块和总体的用例图。根据前文的分析我们可知本系统数据库内的共有10个数据表,分别是部门表、岗位表、员工表、人才库表、员工试用表、员工调动表、员工职业生涯表、员工外语信息表、社会关系表、员工离职表。本系统主要包含的内容是公司的部门信息、岗位信息、员工信息、各种新的报表信息,因此系统就是对这些信息的处理,其中主要是对这些数据的的增删改查,尤其是在查的方面尤为突出。4.2系统E-R图4.2.1部门信息E-R图图4.1 部门信息E-R图4.2.2岗位信息E-R图图4.2 岗位信息E-R图4.2.3人才库信息E-R图图4.3 人才库信息E-R图4.2.4员工试用信息E-R图图4.4 员工试用期信息E-R图4.2.5员工调动信息E-R图图4.5 员工调动信息E-R图4.2.6员工职业生涯信息E-R图图4.6 岗位信息E-R图4.2.7员工外语信息E-R图图4.7 员工外语信息E-R图4.2.8员工社会关系信息E-R图图4.8 员工社会关系信息E-R图4.2.9员工离职信息E-R图图4.9 员工离职信息E-R图4.2.10总体E-R图山东科技大学本科论文4.3数据库设计4.3.1数据库设计原则数据是这个系统的根本,如果没有数据的存储,那么所有的本系统的功能都是空谈,就像你想存放一个东西但是没有容器是一样的,既然没有存就谈不上以后的查和改,所以整个系统就不能实现了。设计数据库主要原则是:1、 数据库必须层析分明,布局合理2、 数据库必须高度结构化、规范化和标准化3、 数据库要尽可能的减小冗余度,减少存储空间的占用4、 数据库的正确性和一致性5、 设定必要的安全机制然后数据库的创建大体就是根据上文所述的E-R图来进行,下面我们就列举一下数据库中各个表的形式创建代码,以及其中之间的关系,之所以称之为形式只是因为其好看易理解,但是实际创建数据库各项数据时是没有对其进行数据约束的,至于为什么,前文我们已经做出解释。4.3.2部门数据表createtable department( department_id varchar2(10) notnull, department_name varchar2(10) notnull, department_type varchar2(40) notnull, department_tel varchar2(50) notnull, department_fax varchar2(40), department_info varchar2(500), superior_department varchar2(20), found_date varchar2(50),constraint department_id_key primarykey(department_id) )其中各个数据分别代表着部门信息中的各个属性,最重要的是属性department_id(部门号),这个属性是部门区别于其他其他部门的根本属性,也就是我们数据库中说的主键,此后再说主键就不再解释了。还有就是这个数据表中部门号、部门名、类型、电话属性是必填的,以确保信息的准确性10。4.3.3岗位数据表createtableppost( department_id varchar(50) notnull, post_id varchar2(15) notnull, post_name varchar2(20) notnull, post_type varchar2(40) notnull, post_count varchar2(10),constraint post_id_key primarykey (post_id),constraint fk_department_id foreignkey(department_id)references department(department_id)表中创建的各个属性分别是部门号、岗位号、岗位名、类型、编制,其中主键是post_id,外键是部门表下的部门号11。其中主要作用就是判断此岗位隶属于哪个部门,根据两个表中唯一的不同的属性我们可以得出无差错的关系。4.3.4员工数据表createtable employee( staff_id varchar2(15) notnull, staff_name varchar2(10) notnull, staff_sex varchar2(15) notnull, birthday varchar(50) notnull, card_id varchar2(30) notnull, staff_bumen varchar2(30) notnull, staff_post varchar2(30) notnull, join_date varchar(50) notnull, joinwork_date varchar(50) notnull, work_type varchar2(30) notnull, staff_source varchar2(30) notnull, political_status varchar2(30), minzu varchar2(30), bir_address varchar2(60), address varchar2(50), hukou_address varchar2(50), staff_tel varchar(50), staff_email varchar2(40), staff_high varchar(50), blood_type varchar2(30), marital_status varchar2(30), highest_edu varchar2(30), highest_degree varchar2(30), gradute_school varchar2(30), gradute_date varchar(50), constraint staff_id_key primarykey(staff_id) )员工数据表主要就是存储员工的一些正常信息,其中主键是员工编号,其中需要注意的就是哪些数据是非空的必须填的,在网页设计时要细心应对,还有就是隶属部门和岗位的管理。4.3.5人才库数据表createtable talentpool( staff_name varchar2(50) notnull, staff_sex varchar2(50) notnull, birthday varchar2(50) notnull, card_id varchar2(50), political_status varchar2(50), minzu varchar2(50), bir_address varchar2(50), address varchar2(50), hukou_address varchar2(50), staff_tel varchar2(50), staff_email varchar2(50), staff_high varchar2(50), blood_type varchar2(50), marital_staus varchar2(50), hightest_edu varchar2(50), hightest_degree varchar2(50), graduate_school varchar2(50), graduate_date varchar2(50), constraint card_id_key primarykey (card_id) )人才库数据主要是为公司储备人才,也为公司人事方便入职而设置,其中对于员工信息而言最主要的区别在与没有岗位之类的属性信息,其主键是card_id。4.3.6员工试用数据表createtable try_info( bfstaff_id varchar2(30) notnull, start_date varchar2(30) notnull, end_date varchar2(30) notnull, staff_comment varchar2(500)notnull, staff_result varchar2(30) notnull, process_date varchar2(30) notnull, remark varchar2(500),constraint bfstaff_id_key primarykey(bfstaff_id),constraint fk_bfstaff_id foreignkey(bfstaff_id)references employee(staff_id)员工试用表可以说是员工信息表的缩版,没有一些多余的没有用的信息,但是其主要信息是完整存在的,这也为其将来的转正方便数据变换工作做了良好的前提。4.3.7员工调动数据表createtable staff_change( staff_id varchar2(30) notnull , staff_name varchar2(30) notnull, change_date varchar2(30) notnull, bf_bumen varchar2(30) notnull, af_bumen varchar2(30) notnull, bf_post varchar2(30) notnull, af_post varchar2(30) notnull, reason varchar2(500) notnull, change_remark varchar2(500),constraint staff_id_change_key primarykey(staff_id,change_date) )这份数据表存储的数据主要是获取员工信息表的主键和为记录员工目前所在的部门、岗位和原来所在部门、岗位的信息,以方便未来考核员工和人才选择。4.3.8员工职业生涯数据表createtable career( work_id varchar2(15) notnull, staff_id varchar2(15) notnull, start_date varchar2(20) notnull, end_date varchar2(20) notnull, unit_name varchar2(20), work_info varchar2(20), staff_job varchar2(20), sal varchar2(20), reterence varchar2(20), ret_job varchar2(20), ret_tel varchar2(20), remark varchar2(2000),constraint work_id_key primarykey (work_id),constraint fk_career_id foreignkey(staff_id)references employee(staff_id) )每个人可能都有多条曾经职业信息,所以在数据表中我添加了职业id以便每个人能重复添加多个个人数据,这个信息对公司来说是异常重要的,这可以看得出你的能力以及应该给你的薪资待遇,还有就是公司应该排于你的职位和未来该排于你的工作内容等等;所以统计好每个人的职业生涯信息是非常重要的。4.3.9员工外语信息数据表createtablelanguage( staff_id varchar2(50) notnull, language_type varchar2(20)notnull, lan_degree varchar2(50), language_id varchar2(20),constraint fk_staff_id foreignkey(staff_id)references employee(staff_id) )对与外企有合作关系和与外国企业有很多交流的公司来说这点是非常重要的,对职位的安排和变迁也有着千丝万缕的影响。4.3.10社会关系数据表createtable family( staff_id varchar2(50) notnull, relation varchar2(50) notnull, re_name varchar2(50) notnull, re_job varchar2(50) , re_tel varchar2(50) , family_id varchar2(50),constraint fk_family_id foreignkey(staff_id)references employee(staff_id) )社会关系是员工信息的重要的一部分,这不仅仅是为了公司的需求这也是公司对员工负责,必要的家庭联系应急联系人和联系电话是非常重要的。4.3.11员工离职数据表createtable leave_staff( staff_id varchar2(15) notnull, bumen_name varchar2(15) notnull, post_name varchar2(15) notnull, staff_name varchar2(15) notnull, lizhi_date varchar2(50) notnull, lizhi_type varchar2(15), lizhi_go varchar2(20) , talent_pool varchar2(15), lizhi_remark varchar2(1500),constraint leave_staff_id_key primarykey (staff_id) )员工离职表是员工在离职的时候生成的一条重要员工信息,这可以是公司的一种人才储备方式也是公司管理在职人员的一种方法。山东科技大学本科论文5.系统主要页面设计5.1部门管理模块设计部门管理用例图图5.1部门管理用例图功能如上图所示,有五大功能,每一项功能都有必要的约束,在这我们就详述一下。添加部门:添加部门时不能有一样的部门编号和部门名,否则的话添加不上新的部门,原因是部门编号和部门名是一一对应的,其控制着一整项内容,因为在岗位模块中我们也会使用部门名来控制岗位隶属的部门。删除部门:根据部门编号来删除部门,在删除部门时要做部门下是否还有员工的判断,只能在没有员工的前提下删除部门。修改部门:部门编号是不可变更项,因为所有与部门相关联的表都是使用部门号与部门表建立联系的,如果部门号可变更则需要变更很多数据,而且可能回忆出现很多不必要的问题,加大代码编写难度。查询部门:可以根据各项内容进行查询符合要求的部门,这里我们用到的是模糊查询,在模糊查询后得到的结果我们会分页处理,其实这两个看似两步的问题其实是一步完成的,下文中我们也会明确解释。查询部门下的员工:根据部门编号进行确定查询,得到的结果也会分页处理。部门查询结果处理:得到部门列表后。在点击相应的部门时,部门的数据会完整的push到页面的文本框中,以便我们在文本框中进行快速准确的相应部门的操作。5.2岗位管理模块设计岗位管理用例图图5.2岗位管理用例图 岗位管理中的各项功能和部门管理的各项功能基本完全一样,也都是也都是对岗位的增删改查处理,还有查询岗位下的员工。具体操作原则也和部门管理的操作原则相类似,在这我就不在过多的叙述。5.3员工入职管理模块设计员工入职管理用例图图5.3员工入职管理用例图员工入职管理主要是按入职的来源途径分为两个模块:人才库入职,普通入职。普通入职:原因是将要入职的人不在人才库里需要完全录入新的个人和职业信息,所以只要在网页上按照要求录入必要的信息就可以了。人才库入职:原因是将要入职的员工本身就在人才库里面,所以没有必要再输入一次个人信息,只要把将要入职的职位方面的信息补充完整就可以了。在处理上主要是做一些输入上的限制,要知道在入职时有一些信息是必填的,但是工作人员可能会漏填,我们就会在表层就会进行判断,然后给出相应的提示,以便工作人员输入完整的必要员工信息。5.4员工异动管理模块设计员工调动管理用例图图5.4岗位调动管理用例图员工试用管理用例图图5.5员工试用期管理用例图在员工异动管理中我是添加了四小模块:员工试用期管理,员工试用期查询,员工部门调动管理,员工岗位调动管理。在员工试用期管理下有查询和考核功能,其中考核功能是最终目的,但是查询是其实现手段,有利于问题的精确操作。试用期员工查询利用的就是一些模糊查询等等,还有查询结果分页的处理,以及在此处页面的跳转。部门和岗位调动也是通过简单的信息查询来获取将要调动的员工进行精确处理。5.5员工信息中心管理模块设计员工信息管理用例图图5.6员工信息管理用例图员工信息中心主要包含职业生涯维护,英语能力维护,家庭成员维护三项主要功能。其中查询主要是根据员工编号进行所有信息的全部查询,其次就是各项信息的添加。5.6报表管理模块设计报表管理用例图图5.7 报表管理用例图报表管理其实就是最近一段时间对人事的操作,其中包括招聘员工报表、离职员工报表、部门调动报表、岗位调动报表、人事月报。其主要功能就是根据时间段进行各项查询。山东科技大学本科论文6.主要技术介绍6.1MVC设计模式在面向对象的编程中,软件编程人员更加注重以前的代码的重用性和可维护性。设计模式使人们可以更加简单方便的复用成功的设计和体系结构,为开发者提供了好的设计经验。设计模式的思想是将程序中可能变化的部分与不变的部分分离,尽量减少对象之间的耦合,当某些对象发生变化时,不会导致其他对象都发生变化。其中MVC模式是一种目前广泛流行的软件设计模式,随着Java EE的成熟,它正成为Java EE平台上推荐的一种设计模型,将业务处理与显示分离,将应用分为模型、视图以及控制层,增加了应用的可扩展性。MVC(模型视图控制器)设计模式是80年代smalltalk-80使用的一种软件设计模式,至今已经被广泛的使用,他是SUN公司Java EE平台推荐使用的设计模式。MVC强制性地使应用程序的输入、处理和输出分离。使用MVC应用程序分为三个核心部分:模型、视图、控制器,它们各自处理各自的事务。1 模型:就是业务流程/状态的处理以及业务规则的制定,它是应用程序的主体部分。业务流程的处理过程对其它层来说是黑箱操作,模型接受Java EE MVC2 Struts及Hibernate相关理论基础视图请求的数据,并返回最终的处理结果。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型可以为多个视图提供数据,从而为我们的应用程序减少了代码的重复性12。山东科技大学本科论文模型封装应用程序状态响应状态查询应用程序功能通知视图改变状态查询通知改变状态改变视图解释模型模板更新请求发送用户输入给控制器允许控制器选择视图控制器定义应用程序用户动作映射成模型选择响应的视图视图选择用户请求方法调用事件图6.1 MVC组件类型的关系和功能2.视图:视图是应用程序中用户界面相关的部分,是用户看到并于之交互的界面。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。3. 控制器:它的工作就是根据用户的输入,控制用户界面数据显示和更新Model对象状态。控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。山东科技大学本科论文MVC的优点表现在以下几个方面:1 可以为一个模型在运行时同时建立和使用多个视图。变化一传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。2 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。3 模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中。6.2模糊分页查询模糊分页查询是这个系统的一大特色,极大地方便了用户

温馨提示

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

评论

0/150

提交评论