企业员工信息管理系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
企业员工信息管理系统
企业职员信息治理系统的设计与实现
EMPLOYEE INFORMATION MANAGEMENT SYSTEM DESIGN A ND IMPLEMENTATION
学院(部):
专业班级:
学生姓名:
指导教师:
2012年5月25日
企业职员信息治理系统的设计与实现
摘要
现今互联网进展越来越迅速,给人们的工作和生活带来了极大的便利和高效,信息化,电子化差不多成为节约运营成本,提升工作效率的首选。
因此在信息化科技飞速进展的今天,借助于电脑,通过职员信息治理系统治理各部门职工,能为企业人力资源的治理者提供人性化的服务。
同时也能为企业的职员提供一定的方便。
本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提升了企业职员信息治理的工作效率和企业的信息化的水平。
本论文从职员信息治理系统的初步调查开始,详细介绍职员信息管系统的需求分析和数据流程分析,并开展了系统总体结构设计、数据结构和数据库设计、输入输出设计等。
关键词:J2EE,Mysql,struts2,企业职员信息治理
EMPLOYEE INFORMATION MANAGEMENT SYSTEM DESIGN A ND IMPLEMENTATION
ABSTRACT
Nowadays, the Internet development is fast, bringing people's wor k and life tremendous convenience with efficiently.Therefore, the rapid de velopment of technology of information technology today, through the use of computers, employee information management system to manage the v arious departments and workers, to provide personalized service for corpor ate human resources managers.Also provides a convenience for the emplo yees of the enterprise.
This system has a various characteristics:The system function is co mplete, using conveniently, the customer interface humanization, the safety keeps secret a constitution well-found, reduced an operation the work of the personnel and customer burden consumedly.Raise the work efficiency of the business enterprise information management and the information-ba sed level of the business enterprise.
Papers from personnel management information system, the prelimi nary survey began detailed introduction of human resource management in formation system requirements analysis, and data flow analysis, and a syst em overall structure design, data structure and database design, input/outpu t design, etc.
KEYWORDS:J2EE, Mysql,struts2,Employee information management
名目
摘要I
ABSTRACT II
1 绪论1
1.1 课题来源1
1.2 研究目的1
1.3 研究意义2
2 方案论证3
2.1 可行性要求 3
2.1.1 经济可行性4
2.1.2 技术可行性4
2.2 需求分析11
2.2.1 系统用户11
2.2.2 系统功能需求11
3 系统设计13
3.1 系统架构设计13
3.2 系统功能模块设计 13
3.2.1 登录页面13
3.2.2 模块分析14
3.3 业务实体设计19
3.4 设计域模型 19
3.5 设计数据模型20
4 网站前台的设计22
4.1 网站登录界面的设计22 4.2 职员信息治理界面设计22 4.3 部门治理页面设计 24
4.4职职员资治理设计24
4.5 职员考勤治理设计 24
4.6 用户密码修改模块的设计 25
4.7 退出系统模块的设计25
5 网站模块功能的实现27 5.1 用户登录实现27
5.2 职员信息治理模块实现28 5.3 部门治理模块的实现32 5.4 工资治理模块的实现35 5.5 考情治理模块的实现35
5.6 系统治理模块的实现37
6 软件测试39
6.1 模块测试39
6.2 集成测试40
结论41
参考文献42
致谢43
1 绪论
随着运算机技术、网络技术和信息技术的进展,现在办公系统更趋于系统化、科学化和网络化。
网络办公自动化系统是运算机技术和网络迅速进展的一个办公应用解决方案,它的要紧目的是实现信息交流和信息共享,提供协同工作的手段,提升办公的效率,让人们从繁琐的有纸办公中解脱出来。
现在许多的机关单位的职员信息治理水平还停留在纸介质的基础上,如此的机制差不多不能适应时代的进展,因为它白费了许多人力和物力,在信息时代这种传统的治理方法必定被运算机为基础的信息治理所取代。
本系统确实是基于本企业的职员信息治理而设计的,是对企业的职员信息资料进行治理,为人事治理人员提供了一套操作简单、使用可靠、界面友好、易于治理和使用的处理工具。
本系统对人事各种数据进行统一处理,幸免数据存取、数据处理的重复,提升工作效率,减少了系统数据处理的复杂性。
本系统不仅使学院人事治理人员从繁重的工作中解脱出来,而且提升了人事治理的效率,提升了人事治理的科学性,方便了用户查询、治理人员进行治理。
在已跨入21世纪的今天,各个大中型企业,乃至小型企业都趋向于电子化智能化治理,不在止步于账本和笔,通过各种各样的软件治理系统,加快了企业的人员信息治理,同时也减轻了人们的工作压力。
1.1 课题来源
随着科学技术的进展企业公司差不多迈入智能化、网络化,越来越多的事件差不多上通过网络来处理,因此一个应用于企业职员信息治理的软件也是越来越重要。
通过那个软件能够专门简单的对企业的职员差不多信息资料、部门信息和职员考勤来治理,专门大程度的提升了企业的人事治理的办事效率,同时也减轻了企业的工作压力。
近年来网络盛行,丰富的内容加上绚丽的页面,具有丰富的多媒体表现与互动特点,毋庸置疑,网站已成为最吸引人的也最有效的信息传递手段和方式。
1.2 研究目的
为企业提供一个能够方便的治理职员信息的软件,能够实现公司对职员以及部门信息的操作,同时能够在此次的设计中有一个良好的锤炼过程。
立志于为满足企业的需要,站在企业人事部门的角度考虑,完成此次设计。
1.3 研究意义
做一个企业职员信息治理系统,确实是为了满足企业需求所定制的,因此他第一要做的是满足最差不多得职员信息的增删改查,在此基础上进行功能的扩展,其次是部门治理,工资治理等等。
一个正规性企业都期望自己的职员治理专门合理,如此复杂性的操作如果通过人手动的写,会专门的苦恼。
基于这一点考虑到设计一个治理类型的软件,来解决那个繁琐的咨询题,方便与企业的工作治理以及一些制度的规定。
在企业中,职员信息治理工作是专门重要的一项工作,它负责整个企业的日常人事安排,职员的人事治理等。
高效的人事治理能够提升企业的市场竞争力,使企业具有更强的凝聚力和活力。
为此,提升职员治理工作的效率,设计一套职员信息治理系统具有实际应用意义。
2 方案论证
2.1 可行性要求
开发任何一个基于运算机的系统都会受到时刻和资源的限制。
因此在开发软件项目之前,必须按照可利用的时刻和资源等条件进行可行性研究。
可行性研究工作的要紧任务不是研究如何解决咨询题,而是要用最小的代价在最短的时刻内确定该项目是否具有开发的可行性。
可行性研究要紧包括经济可行性研究,技术可行性研究,运行、操作可行性研究,法律可行性研究和开发方案的选择。
典型的可行性研究应从以下几步进行。
(1)复查初步分析结果。
对系统初步的分析结果和报告书进行复查,改正模糊或不确切的叙述,重新确定系统目标与规模,清晰地描述对系统的所有约束条件。
(2)研究现有的条件。
找出其差不多功能和差不多信息,指出其缺点或局限性。
(3)导出新系统高层逻辑模型。
用某种图形工具导出系统高层逻辑模型,并与现有系统进行比较。
(4)导出新系统的高层物明白得法,提出多个供选择的解决方案,并对每一个方案的经济可行性、技术可行性、运行和操作可行性等进行分析比较。
(5)举荐建议的方案。
如果系统分析员人为之得开发,则应指出开发的价值、举荐方案的理由,并为举荐的系统草拟一份开发打算,并提交可行性研究报告等全部文档。
若分析员认为不值得开发,也应拿出充分的理由。
(6)评审、复审和决策。
可行性研究最后要通过技术评审和治理复审,开发方和客户方或使用部门负责人按照成本-效益分析等各项可行性研究的结论决策是否连续这项工程。
而关于我的这次毕业设计来讲可行性研究确实是要紧从两个方面考虑,一是经济可行性研究;二是自身的软件开发技术水平,即技术可行性研究。
2.1.1 经济可行性
开发一个本系统的开发能够解决企业人事治理遇到的耗费大量资金和人力,治理内容繁复,而且容易丢失的咨询题。
本系统的开发周期为2个月,耗费资金较少,且有用价值专门高,各类企事业单位及学校等部门都能够使用。
2.1.2 技术可行性
1、Mysql数据库
Mysql是一个快速、多线程、多用户的SQL数据库服务器,其显现尽管只有短短的数年时刻,但凭借着“开放源代码”的东风,它从众多数据库中脱颖而出,成为PHP的首选数据库。
相比较其他数据库而言,Mysql 能够称得上是目前运行速度最快的Sql语言数据库。
除了具有其他数据库所不具备的功能和选择之外,Mysql数据库是一种完全免费的产品,用户能够直截了当从网上下载数据库,用于个人或商业用途,而不必支付任何费用,这也是我选择用Mysql数据库的要紧缘故,除此之外还具有以下要紧特点:(1)Mysql的核心程序采纳完全的多线程编程。
线程是轻量级的进程,它能够灵活地为用户提供服务,而只是多地占用系统资源。
用多线程和C 语言实现的Mysql能容易充分利用CPU。
(2)Mysql可运行在不同的操作系统下。
简单地讲,Mysql能够支持Windows95/98/NT/2000以及UNIX、Linux等多种操作平台。
这意味着在一个操作系统中实现的应用能够专门方便地移植到其他操作系统下。
(3)Mysql有一个专门灵活而且安全的权限和口令系统。
当客户与M ysql服务器连接时,他们之间的所有口令传送被加密,而且Mysql支持主机认证。
(4)Mysql支持大型的数据库。
尽管关于用PHP编写的网页来讲只要能够存放上百条以上的记录数据就足够了,但Mysql能够方便地支持上千条记录的数据库。
作为一个开放源代码的数据库,Mysql能够针对不同的应用进行相应的修改。
(5)Mysql拥有一个专门快速而且稳固的基于线程的内存分配系统,能够连续使用而不必担忧其稳固性。
事实上,Mysql的稳固性足以应对一个超大规模的数据库。
2、开发技术的选择
1)J2EE
(1)简化结构
J2EE平台支持简化的、基于组件开发模型,由于J2EE基于Java编程语言和J2SE平台,它提供了编写一次,随处运行的可移植性,遵循J2EE 标准的所有服务器都支持该模型。
EJB组件使编写应用程序更为简单。
尽管EJB体系结构复杂,但应用程序开发人员一样都必再编写访咨询系统服务的代码,EJB容器会实现系统级的服务,例如,事务、安全性等。
另外,J2EE还支持异构环境。
基于J2EE的应用程序不依靠任何特定操作系统、中间件或硬件,因此,设计合理的基于J2EE的程序只需开发一次就能够部署到各种平台,这在典型的异构企业算环境中是十分关键的。
J 2EE标准还承诺客户订购与J2EE兼容的第三方的现成组件,把其部署到异构环境中,节约了由自己制订整个方案所需的费用。
(2)提升开发效率
由于组件技术的使用,能够按照开发人员的技能对应用程序开发进行分工,并行开发,提供整体开发效率。
例如:图形设计师创建JSP模板,商业逻辑由该领域的专家完成,JSP页面和EJB由Java工程师完成,应用程序的装配和部署由团队中其他的成员完成,其中许多工作能够同时进行,有助于加速应用程序的开发。
(3)可移植性强
除了Java语言固有的可移植性外,EJB体系结构在Bean和支持该Bea n的容器之间提供了一套标准化的应用程序编程接口,这使开发人员能够将Bean从一种操作环境移植到另一种操作环境,而无需重新编写其源代码。
(4)重用性好
由于在EJB模型中,各个软件组件差不多上严格分离的,因此,能够从现有的软件组件装配出服务器端应用程序,这与从现有的JavaBean能够装配出客户端应用程序一样,使软件能够重用。
(5)易于爱护
基于组件的设计简化了应用程序的爱护。
由于组件能够被独立地更新和替代,通过更新应用程序中特定的组件,新的功能能够被专门容易地增加。
(6)可伸缩性
企业必须要选择一种服务器端平台,以便满足那些在它们系统上进行商业动作大批新客户。
基于J2EE平台的应用程序可被部署到各种操作系统上,例如,可被部署到高端UNIX或其他的大型机系统上。
J2EE领域的供应商提供了更为广泛的负载平稳策略,能排除系统中的瓶颈,承诺多台服务器集成部署,实现可高度伸缩的系统,满足以后商业应用的需要。
(7)被广泛同意
要紧的IT供应用商都采纳EJB体系结构,不同供应商的产品只要符合EJB体系结构,就差不多上可互操作的。
(8)爱护投资
由于企业必须适应新的商业需求,充分利用现有的企业信息系统投资,而不是重新制定,全盘更新方案就变得尤为重要,如此,一个以渐进的(而不是激进的,全盘否定的)方式建立在现有系统之上的服务器平台是大多数公司所期望的。
J2EE架构能够充分利用用户有的投资,通过承诺将现有的信息系统和资产“包裹”在J2EE应用程序中,不要求客户更换现有技术。
事实上,在关系数据库中储备数据的企业,差不多有了一套已具雏形的实体Bean,正等着通过EJB外壳去访咨询。
这之因此成为可能,要紧是因为J2EE拥有广泛的业界支持和一些重要的“企业运算”领域供应商的参与,每一个供应商都对现有的客户提供了不用废弃自己已有投资的升级途径。
由于基于J2EE平台的产品几乎能够在任何操作系统和硬件运行,现有的操作系统和硬件也能被保留使用。
2)MVC模式
模型-视图-操纵器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。
最近几年被举荐为Sun公司J2EE平台的设计模式,同时受到越来越多的使用ColdFus ion 和PHP 的开发者的欢迎。
MVC模式的好处各施其职,互不干涉。
在MVC模式中,三个层各施其职,因此如果一旦哪一层的需求发生了变化,就只需要更换相应的层中的代码而可不能阻碍到其它层中的代码。
网页设计人员能够进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发操纵层。
有利于组件的重用分层后更有利于组件的重用。
如操纵层可独立成一个能用的组件,视图层也可做成通用的操作界面。
MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特点。
这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易。
MVC结构提供了一种按功能对各种对象进行分割的方法(这些对象是用来爱护和表现数据的),其目的是为了将各对象间的耦合程度减至最小。
MVC结构本来是为了将传统的输入(input)、处理(processing)、输出(o utput)任务运用到图形化用户交互模型中而设计的。
然而,将这些概念运用于基于Web的企业级多层应用领域也是专门适合的。
在MVC结构中,模型(Model)代表应用程序的数据(data)和用于操纵访咨询和修改这些数据的业务规则(business rule)。
通常模型被用来作为对现实世界中一个处理过程的软件近似,当定义一个模型时,能够采纳一样的简单的建模技术。
当模型发生改变时,它会通知视图(View),同时为视提供查询模型有关状态的能力。
同时,它也为操纵器(Controller)提供访咨询封装在模型内部的应用程序功能的能力。
一个视图(View)用来组织模型的内容。
它从模型那儿获得数据并指定这些数据如何表现。
当模型变化时,视负责坚持数据表现的一致性。
视同时将用户要求告知操纵器(Controller)。
操纵器(Controller)定义了应用程序的行为;它负责对来自视的用户要求进行讲明,并把这些要求映射成相应的行为,这些行为由模型负责实现。
在独立运行的GUI客户端,用户要求可能是一些鼠标单击或是菜单选择操作。
在一个Web应用程序中,它们的表现形式可能是一些来自客户端的GET或POST的HTTP要求。
模型所实现的行为包括处理业务和修改模型的状态。
按照用户要求和模型行为的结果,操纵器选择一个视作为对用户要求的应答。
通常一组有关功能集对应一个操纵器。
(1)各施其职,互不干涉
在MVC模式中,三个层各施其职,因此如果一旦哪一层的需求发生了变化,就只需要更换相应的层中的代码而可不能阻碍到其它层中的代码。
如果业务发生了变化,如在取文章时可能webmaster把一些文章作了无效标志,不能直截了当把所有文章取出来,只能取出有效的文章,这时业务就发生了改变。
再设想一下,如果那个业务逻辑在100个页面中都要用到,那么MVC模式就体现了它的灵活性。
我们能够不更换任何JSP,只要更换model层中的相应类中的SQL语句即可。
(2)有利于开发中的分工
在MVC模式中,由于按层把系统开,那么就能更好的实现开发中的分工。
网页设计人员能够进行开发视图层中的JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发操纵层。
(3)有利于组件的重用
分层后更有利于组件的重用。
如操纵层可独立成一个能用的组件,视力层也可做成通用的操作界面。
3)struts2框架的使用
此次程序中要紧的是引入了Struts2和hibernate框架。
传统的java we b应用程序是采纳jsp+servlet+javabean来实现的,这种模式实现了最差不多的MVC分层,使得程序结构分为几层,有负责显示的jsp、负责流程逻辑操纵的servlet、负责数据封装的javabean。
然而这种结构仍旧存在咨询题:如jsp页面中需要使用符号嵌入专门多的java代码,造成页面结构纷乱,s ervlet和javabean负责了大量的跳转和运算工作,耦合紧密,程序复用度低
等等。
因此便是第一出来了Struts。
而Struts 2是Struts的下一代产品,是在struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。
其全新的Struts 2的体系结构与Struts 1的体系结构的差不庞大。
Struts 2以WebWork为核心,采纳拦截器的机制来处理用户的要求,如此的设计也使得业务逻辑操纵器能够与Servlet API完全脱离开,因此Struts 2能够明白得为WebWork的更新产品。
尽管从Struts 1到Struts 2有着太大的变化,然而有关于WebWork,Struts 2只有专门小的变化。
Struts2使用了WebWor k的设计核心,而不是Struts1的设计核心。
Struts2中大量使用拦截器来处理用户的要求,从而承诺用户的业务逻辑操纵器与Servlet API分离。
Struts2 框架由3个部分组成:核心操纵器(FilterDispatcher)、业务操纵器和用户实现的业务逻辑组件。
核心操纵器(FilterDispatcher)是Struts2框架的核心操纵器,该操纵器作为一个filter运行在web应用,它负责拦截所有的用户要求,当用户要求到达时,该Filter会过滤用户要求;业务操纵器组件确实是用户实现Action类的实例;JavaEE应用里的模型组件,通常指系统的业务逻辑组件,而隐藏在系统的业务逻辑组件下面的可能还包含Dao、领域对象等组件,这也确实是Struts2的模型组件,同时Struts2能使用JSP、FreeMarker、V elocity等作为视图技术。
Struts 2框架的大致处理流程如下:
(1)扫瞄器发送要求,例如要求/mypage.action、/reports/myreport.pdf 等。
(2)Control中的核心操纵器FilterDispatcher按照要求调用相应的业务逻辑操纵器(Action)。
(3)回调Action中的execute()方法,并在方法体内调用业务逻辑组件来处理要求(Model)。
既能够是将数据储存到数据库,也能够从数据库中检索信息。
实际上,因为Action只是一个操纵器,它会调用业务逻辑组件来处理用户的要求。
(4)返回响应,通过execute方法将信息返回到FilterDispatcher。
(5)查找响应,FilterDispatcher按照配置查找响应的是什么信息如:S UCCESS、ERROR,将跳转到哪个jsp页面。
(6)响应用户(jsp--->客户扫瞄器端显示)。
4)Hibernate的使用
Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了专门轻量级的对象封装,使得Java程序员能够为所欲为的使用对象编程思维来操纵数据库。
Hibernate能够应用在任何使用JDBC的场合,既能够在Java的客户端程序使用,也能够在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate能够在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
减低各个模块之间的耦合性。
5)Spring的使用
Spring是一个开源框架,它由Rod Johnson创建。
它是为了解决企业应用开发的复杂性而创建的。
Spring使用差不多的JavaBean来完成往常只可能由EJB完成的情况。
然而,Spring的用途不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何Java应用都能够从Spring中受益。
传统J2EE应用的开发效率低,应用服务器厂商对各种技术的支持并没有真正统一,导致J2EE的应用没有真正实现Write Once及Run Anywhere 的承诺。
Spring作为开源的中间件,独立于各种应用服务器,甚至无须应用服务器的支持,也能提供应用服务器的功能,如声明式事务、事务处理等。
Spring致力于J2EE应用的各层的解决方案,而不是仅仅用心于某一层的方案。
能够讲Spring是企业应用开发的“一站式”选择,并贯穿表现层、业务层及持久层。
然而,Spring并不想取代那些已有的框架,而是与它们无缝地整合。
3、开发工具Myeclipse的选择
Eclipse 是一个IDE(Integrated Developing Environment),而那个IDE 是承诺安装第三方开发的插件来使自身的功能得到扩展和增强的,而Myec lipse确实是其中的一种有名的插件集之一,MyEclipse将开发者常用到的一些有用的插件都集合起来,但它是收费的。
Eclipse是一个开放源代码,基于Java的可扩张的开发平台,多数人差不多上将Eclipse作为Java的集成开发环境使用,尽管Eclipse使用Java开发:
但Eclipse不仅仅局限于Java开发,还可用于其它语言的开发,如C/C++;Eclipse是一个框架和一组服务,它通过各种插件来构建开发环境,因此只要提供支持C/C++ 插件便能进行相应语言的开发。
MyEclipse为Eclipse提供了一个大量私有和开源的Java工具的集合,这解决了各种开源工具的不一致和缺点。
NitroX是一个纷杂而强大的加速J ava Web应用开发的工具,还包含了一个强大且能够编译所有JSP和Struts Web应用的工具AppXRay。
这些工具解析Java和XML配置文件。
MyEclipse的实际价值来自包含的公布包中的大量的工具。
如CCS/JS/ HTML/XML的编辑器,关心创建EJB和Struts项目的向导并产生项目的所有要紧的组件如action/session bean/form等。
还包含编辑Hibernate配置文件和执行SQL语句的工具。
2.2 需求分析
从一个企业的角度来设计那个网站,第一要了解用户需要什么,从这一点动身来把那个软件的内容填充起来。
在满足用户的基础上对网站功能的一个丰富化,每当做完一个功能就站在客户的立场对功能进行评测,如果有需要改善的地点,则在慢慢的进行完善。
本软件要紧是对企业的职员进行的一种治理,人员的工资,所属部门,考勤进行统一的治理。
那个地点涉及到的不同的公司里面可能所需要的赏罚制度不一样因此就没有更多的进行。
本系统确实是一个架构原型,在此功能上能够更加的完善和美化。
2.2.1 系统用户
本系统有定义了两个用户,一般用户,治理员,不同用户能够执行的功能是不一样的,一般用户只能查看自己的信息,治理员能够对每个职员的信息,部门信息进行增删改查操作。
2.2.2 系统功能需求
(1)用户登录
用户在登录系统的时候第一是进入系统的登录界面,前面同意的用户名,密码以及所属身份权限去后台进行验证,如果用户名不存在返回登录。