数据库Java源代码见网盘设计毕业论文.docx
- 文档编号:25157644
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:50
- 大小:559.29KB
数据库Java源代码见网盘设计毕业论文.docx
《数据库Java源代码见网盘设计毕业论文.docx》由会员分享,可在线阅读,更多相关《数据库Java源代码见网盘设计毕业论文.docx(50页珍藏版)》请在冰豆网上搜索。
数据库Java源代码见网盘设计毕业论文
数据库Java源代码见网盘设计毕业论文
1.开发背景与目标
1.1开发背景
对人才资源的良好应用和管理是公司蓬勃发展的重要原因,但是传统的人事管理不能很好地全面控制管理全公司的工作人员,所以对人才的高效分配和管理应用欠差太多,为了更高效的利用全公司的人员,做到人尽其力、物尽其才,高效快捷人员分配的人事管理需求就应运而生。
在这个快速发展的经济社会和计算机普与率十分之高的科技社会,快速高效的办公成为正常化的模式。
计算机办公也逐取代手动办公,因为计算机办公的速度要比纯手工快的多,存放上也比纸更省空间和资源,查询起来更加快捷和准确,修改和删除更加简单,资源的移动也更加方便。
系统的使用主要是面向于工作人员过百上千的中小型公司,这样更有利于表达系统的优势,尤其是在人事查询、人事调动、员工信息和员工离职上的优势。
此外,管理人员也可以按照一定规律定期修改删除员工、岗位、部门的信息。
1.2开发简介
人事管理系统是常用的信息管理系统,此系统的开发和使用主要有两个方面,一个是友好的前台界面和前台的简单实用,另一个就是完善的符合逻辑的后台数据库数据。
友好的前台界面和前台的简单实用是开发的目标,如果没有这种效果也就没有了系统开发的意义;完善的符合逻辑的后台数据是对前台和功能简单实现的根本,其支持着各种前台使用数据的存储,以便以后更改和查询。
而只有拥有这两个方面才能是一个功能完善的易用的管理系统。
人事管理系统主要是在网页上进行操作,开发工具主要是使用MyEclipse前台设计和Oracle数据库后台设计等工具开发出来的系统。
系统的目的是界面友好、灵活、实用、提示明确等要求,其功能主要包括简单的用户指南、部门管理、岗位管理、员工入职、员工异动管理、员工信息中心、报表管理。
而这些功能的主要实现是对数据的添加、修改、删除和查询,并且最主要的是模块的划分和相互关联,这对数据库的处理尤为重要。
系统开发的主要意义在于省时省力、方便快捷,其优秀的查询功能对省时的演绎最是明显,比如说你要找一个人的数据,知道的信息并不多,但是比总是能根据目前知道信息查询出符合要求的数据,然后你可以在这些数据中找出符合你要求的员工。
这要比你在数千人事档案中查找要省时省力的多。
并且人事档案并不是一简单的信息表,里面包含相当多的数据,人工查找起来很是麻烦。
当然除了查询功能外,系统的其他功能也是比现实人工人事管理要方便快捷得多,在此就不需要赘述。
系统的其实就是对现实的抽象,所以对现实的需求做好分析是尤为重要的前提,这对数据库的建立、系统界面、系统的简单使用起着根本作用,所以在下手写代码之前必须做好现实的抽象,也就是需求分析。
开发成网页形式的管理系统也比较容易方便应用管理和升级修改,可维护性较强,并且使用起来也是方便快捷的多。
1.3目标
1.3.1操作上的目标
Android、ios、windows等操作系统的流行主要是其友好的界面和超高的用户体验度,这些都得益于它们的傻瓜式操作—简单方便易上手的简单操作。
在iOS系统还没有问世以前,各大手机品牌也都有自己的“智能”
手机操作系统,但是其智能尽限于功能强大上,用户体验度并不高,很多强大的功能大部分人并不知道怎么使用,记得看一些米国大片的时候能玩转这种手机的人都是些黑客(程序员高手)什么的,所以这对使用者的文化素质要求比较高。
我管这种智能叫做无用的智能,因为对大众而言它们智能的毫无意义。
所以我做这个系统的目标就是能够方便快捷办公,并且用户体验度要高,不能让系统太过复杂而使使用人员不能全面快速掌握系统的应用。
要做到和我们对现在的智能手机一样,只要你没有脱离时代的步伐,只要你认识汉字,你就能根据系统的提示或者简单的培训说教就能灵活的使用该系统。
1.3.2实用的目标
该系统的出发点是做一个人事管理的系统,如果连这基本的要求你都做不到,就跟本谈不上人事管理,就好像你开发了一个手机系统一样,什么都能做就是不能打,这顶多算一个iPod算不上手机,所以在需求上就会大打折扣,不能说这没有存在的意义,但是这是没有完成目标。
所以这个系统要在前述的高用户体验度上尽量完成人事管理的基本需求,要能够实现部门的添加、删除、改动和查询,岗位的删除、添加、改动和查询,员工的入职、调动、离职等功能。
1.3.2可移植性
现在越来越多的应用在实现跨平台和云存储,为的就是能够在更改应用平台之后能够依然使用原来熟悉的应用和数据,尤其是在数据非常多的情况下我们对跨平台原数据的需求就越大。
举个非常简单的例子就是我们可能在一年左右会换一次手机,我觉得聪明点的人不会拿着新的手机对着旧的手机一个一个的录入原来的联系人,因为这样实在忒是麻烦,一般情况下我们会把手机的联系人备份到一个地方然后将其移至到新的手机上。
这
样更省时省力,不用重复的录入数据,一次数据能够多次应用,然后就表达出了数据库和跨平台的重要性。
这也就是我所要说的可移植性,为了更加方便跨平台办公,更容易的换平台工作,我要做到数据和应用的最大程度的可移植性,。
1.3.3可维护和扩展性
数据库老师教过,一个好的数据库并不是你现在的问题抽象的多么完美,你要做到的是数据库的可维护性,不仅要能完成现在的问题,你也要留出一定的余地为将来可能遇到的空间做好准备。
而这方面的余地并不是指空间的预留而是设计的可扩展性要求,因为需求总是在不断变化的,我今天做出了版本明天可能就会有新的需求,我不能重新设计和编写代码,我必须在当前版本的前提下修改和添加来满足新的需求,这样更省时省力并且还能尽快的将系统投入到使用当中,所以该系统还要尽量做到系统的可扩展性。
2.使用工具和开发环境的描述
2.1软件介绍
2.1.1静态界面软件
AdobeDreamweaver,简称“DW”,中文名称“梦想编织者”,是美国MACROMEDIA公司开发的集网页制作和管理于一身的所见即所得网页编辑器,DW是第一套针对网页设计师特别发展的视觉化网页开发工具,利用它可以轻而易举地制作出跨越平台限制和跨越浏览器限制的充满动感的网页[1]。
在做正式的实现功能的项目之前,我们会先做出一份没有实现人事管理功能的静态界面,以方便自己理解和全局规划,以便自己在正式做系统时与时更正自己逻辑错误,最主要的是了解项目的模块划分和掌握以后的进展情况。
2.1.2数据库
OracleDatabase,又名OracleRDBMS,或简称Oracle。
是甲骨文公司额一款关系数据库管理系统。
它是数据库领域一直处于领先地位的产品。
可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小微机环境。
它是一种高效率、可靠性好的适应高吞吐量的数据库解决方案[2]。
虽然大部分的数据库的使用语言上基本上一样,表面上感觉使用任何可以使用的数据库都是一样的,比如说我们也可以使用在大学期间学的SQLserver,对于这个数据库软件我们更加熟悉其结构和使用方法,但是我在这里选择使用的是Oracle数据库。
因为Oracle数据库的普遍率更高些并且功
能更强大些,最重要的是在习惯之后这个数据库更容易满足我的这个系统,对以后的扩展和移植更有利些。
2.1.3开发软件
MyEclipse,是在eclipse基础上加上自己的插件开发而成的功能强大企业级集成开发环境,主要用于Java、JavaEE以与移动应用的开发。
MyEclipse的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持相当不错[3]。
使用MyEclipse的主要原因是我更熟悉Eclipse,但是Eclipse的网页开发功能不能很好的满足我开发此系统,因为我要用到的其标准授权的JSP/EL、HTML5可视化设计、JS编辑器、CSS编辑器、AJAX工具,所以在这些需求的基础之上我选择了在Eclipse基础上集成的MyEclipse开发工具。
2.1.4检验软件
随着大部分浏览器支持的页面语言越来越全、越来越统一,所以我的系统应该可以在大部分的浏览器上无差错的运行,但是每个浏览器的支持语言上总是有些细微的差别,所以在每个浏览器上的兼容性可能不尽如意,所以在此我建议系统使用着能够使用我开发时使用的软件进行人事操作,依此避免页面的少许错差,在后期中我会尽快完成所有常用浏览器的页面布局兼容性。
2.2开发环境介绍
2.2.1JavaEE
JavaEE,根据Sun的JavaEEBlueprints提出的具有建议性的、规化的JavaEE应用设计模型,可以描述出JavaEE的多层分布式体系结构,基于JavaEE的企业级应用将被部署到下面四个不同的容器(Container)中:
1.Web容器包括JSP和Servlet两种组件。
承受从客户端发来的Web请求,调用业务逻辑层组件进行业务处理,最后将处理结果响应给客户端。
2.E容器包含的组件为E。
主要用于服务器端的商业逻辑的实现。
E通过标准协议和JavaEE提供的服务或API来访问企业信息系统层。
3.Applet容器包含的组件为Applet。
Applet是嵌在浏览器中的一种轻量级客户端,出于安全性的考虑它无法使用JavaEE的各种Service和API。
4.ApplicationClient容器包含的组件ApplicationClient。
相对Applet而言是一种重量级的客户端,它能够使用JavaEE的大多数Service和API。
这四个容器再加上DataContaine构成了JavaEE平台的四层结构:
客户端层、Web层、业务逻辑层、企业信息系统层(EnterpriseInformationSystem,即EIS层或Data数据层)。
如将客户端层与Web层合并看作表现层(Presentation)的话,则又成为一种三层结构;如将Web层与业务逻辑层合并看作中间层的话,又成为三层结构的另外一种情况[4]。
2.2.2JSP
SP即JavaServerPages,是由SunMicrosystem公司于1996年6月推出的新技术,是基于JavaServlet以与整个Java体系的Web开发技术。
JSP已经成为开发Web动态网页重要、快速和有效的工具,是全新的网络服务器编程环境。
JSP充分利用了Java的强大功能,是一种优秀的服务器端技术。
JSP基于强大的Java语言,具有极强的扩展能力,良好的缩收性,以与与平台无关的开发特性,成为构建动态的主流技术之一。
其优势在于:
可以将容的生成和显示进行分离、生成可重用的组件、采用标识简化页面开发。
JSP能提供所有Servlet的功能[5]。
2.2.3服务器Tomcat6.0
Tomcat服务器是一个免费的开放源代码的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部门数据表
createtabledepartment(
department_idvarchar2(10)notnull,
department_namevarchar2(10)notnull,
department_typevarchar2(40)notnull,
department_telvarchar2(50)notnull,
department_faxvarchar2(40),
department_infovarchar2(500),
superior_departmentvarchar2(20),
found_datevarchar2(50),
constraintdepartment_id_keyprimarykey(department_id)
)
其中各个数据分别代表着部门信息中的各个属性,最重要的是属性department_id(部门号),这个属性是部门区别于其他其他部门的根本属性,也就是我们数据库中说的主键,此后再说主键就不再解释了。
还有就是这个数据表中部门号、部门名、类型、属性是必填的,以确保信息的准确性[10]。
4.3.3岗位数据表
createtableppost(
department_idvarchar(50)notnull,
post_idvarchar2(15)notnull,
post_namevarchar2(20)notnull,
post_typevarchar2(40)notnull,
post_countvarchar2(10),
constraintpost_id_keyprimarykey(post_id),
constraintfk_department_idforeignkey(department_id)referencesdepartment(department_id)
)
表中创建的各个属性分别是部门号、岗位号、岗位名、类型、编制,其中主键是post_id,外键是部门表下的部门号[11]。
其中主要作用就是判断此岗位隶属于哪个部门,根据两个表中唯一的不同的属性我们可以得出无差错的关系。
4.3.4员工数据表
createtableemployee(
staff_idvarchar2(15)notnull,
staff_namevarchar2(10)notnull,
staff_sexvarchar2(15)notnull,
birthdayvarchar(50)notnull,
card_idvarchar2(30)notnull,
staff_bumenvarchar2(30)notnull,
staff_postvarchar2(30)notnull,
join_datevarchar(50)notnull,
joinwork_datevarchar(50)notnull,
work_typevarchar2(30)notnull,
staff_sourcevarchar2(30)notnull,
political_statusvarchar2(30),
minzuvarchar2(30),
bir_addressvarchar2(60),
addressvarchar2(50),
hukou_addressvarchar2(50),
staff_telvarchar(50),
staff_emailvarchar2(40),
staff_highvarchar(50),
blood_typevarchar2(30),
mar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 Java 源代码 见网盘 设计 毕业论文