重庆理工大学毕业论文 基于Jave Web的企业人力资源管理系统的设计与开发
2.3 B/S体系结构及C/S体系结构的比较
B/S体系结构和C/S体系结构在很多方面存在着不同: 1) 硬件环境不同
B/S体系结构建立在广域网的基础上,信息可以自己管理,有比C/S体系结构更强的适应范围。一般只要有操作系统和浏览器就行,与操作系统平台关系最小,面向不可知的用户群;C/S体系结构建立在局域网的基础上,通过专门服务器提供连接和数据交换服务。所处理的用户不仅固定,并且出于相同区域,要求拥有相同的操作系统。 2) 结构不同
使用B/S体系结构的软件采用三层结构(如图2-1),而使用C/S体系结构的软件一般采用两层结构(如图2-2):
图2-1 C/S模式两层体系结构
图2-2 B/S模式三层体系结构
这两种体系结构的不同点是:两层结构中客户端参与运算,而三层结构中客户端并不参与运算,只是简单接收用户的请求,显示最后结果。由于三层结构中的客户端并不需要参与计算,所以对客户端的计算机电脑配置要求较低。虽然B/S体系结构采用了逻辑上的三层结构,但在物理上的网络结构仍然是原来的以太网或环形网。这样,第一层与第二层结构之间的通信、第二层与第三层结构之间的通信都需占用同一条网络线路,网络通信量大。而C/S体系结构只有两层结
6
重庆理工大学毕业论文 基于Jave Web的企业人力资源管理系统的设计与开发
构,网络通信量只包括Client与Server之间的通信量,网络通信量低。 3) 处理模式不同
B/S体系结构的处理模式与C/S体系结构相比,大大简化了客户端。只要装上操作系统、网络协议软件以及浏览器即可。这时的客户机称为瘦客户机,而服务器则集中了所有的应用逻辑。 4) 构件重用不同
在构件的重用性方面,使用B/S系统结构对应的是多重结构,要求构件具有相对独立的功能,具有较好的重用性。而使用C/S体现结构的程序从整体进行考虑,具有较低的重用性。 5) 系统维护不同
系统维护是在软件生存周期中开销最大的一部分。使用B/S体系结构在构件组成方面只变更个别构件,开发、维护等工作都集中在服务器端。当需要升级时,只需要新服务器端的软件,而不必更换客户端软件,实现系统的无缝升级。这样就减轻了系统维护与升级的成本和工作量,使用户的总体拥有成本(TCO)大大降低。而是用C/S体系结构的程序由于其本身的整体性,必须整体考察并处理出现的问题,维护成本较高,难度较大。 6) 对安全的要求不同
B/S体系结构采用点对多点、多点对多点这种开放的结构模式,并采用TCP/IP这一类运用于Internet的开放性协议,其安全性只能靠数据服务器上管理密码的数据库来保证。而C/S体系结构采用配对的点对点的结构模式,并采用适用于局域网、安全性比较好的网络协议,安全性可得到较好的保证。C/S体系结构一般面向相对固定的用户群,程序更加注重流程,它可以对权限进行多层次校验,提供了更安全的存取模式,对信息安全的控制能力很强。 7) 速度不同
由于C/S体系结构在逻辑结构上比B/S体系结构少一层,对于相同的任务,C/S体系结构完成的速度总比B/S体系结构快。使得C/S体系结构更有利于处理大量数据。
2.4 Jsp/Servlet 技术概述 2.4.1 Jsp/Servlet简介
随着网络经济的到来,微软公司希望帮助用户能够在任何时候、任何地方、利用任何工具都可以获得网络上的信息,并享受网络通信所带来的快乐。Jsp/Servlet 是SUN公司开发的,战略就是为实现这样的目标而设立的。
Java Servlet及其特点
7
重庆理工大学毕业论文 基于Jave Web的企业人力资源管理系统的设计与开发
Servlet是Java技术对CGI编程的回答。Servlet程序在服务器端运行,动态地生成Web页面。与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性,更节省投资(更重要的是, Servlet程序员收入要比Perl程序员高:-):
高效:
在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在Servlet中,每个请求由一个轻量级的Java线程处理(而不是重量级的操作系统进程)。
在传统CGI中,如果有N个并发的对同一CGI程序的请求,则该CGI程序的代码在内存中重复装载了N次;而对于Servlet,处理请求的是N个线程,只需要一份Servlet类代码。在性能优化方面,Servlet也比CGI有着更多的选择,比如缓冲以前的计算结果,保持数据库连接的活动,等等。
方便:
Servlet提供了大量的实用工具例程,例如自动地解析和解码HTML表单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。
功能强大:
在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。例如,Servlet能够直接和Web服务器交互,而普通的CGI程序不能。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。
可移植性好:
Servlet用Java编写,Servlet API具有完善的标准。因此,为I-Planet Enterprise Server写的Servlet无需任何实质上的改动即可移植到Apache、Microsoft IIS或者WebStar。几乎所有的主流服务器都直接或通过插件支持Servlet。
节省投资:
不仅有许多廉价甚至免费的Web服务器可供个人或小规模网站使用,而且对于现有的服务器,如果它不支持Servlet的话,要加上这部分功能也往往是免费的(或只需要极少的投资)。
JSP及其特点
JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术,有关JSP基础概念的说明请参见《JSP技术简介 》。
许多由CGI程序生成的页面大部分仍旧是静态HTML,动态内容只在页面中有限的几个部分出现。但是包括Servlet在内的大多数CGI技术及其变种,总是通过程序生成整个页面。JSP使得我们可以分别创建这两个部分。例如,下面就是
8
重庆理工大学毕业论文 基于Jave Web的企业人力资源管理系统的设计与开发
一个简单的JSP页面:
<!DOCTYPE HTML PUBLIC \HTML 4.0 Transitional//EN\><HTML><HEAD><TITLE>欢迎访问网上商店</TITLE></HEAD><BODY><H1>欢迎</H1><SMALL>欢迎,<!-- 首次访问的用户名字为\User\--> <% out.println(Utils.getUserNameFromCookie(request)); %>要设置帐号信息,请点击<A HREF=http://www.blue1000.com/article/\ings.HTML\>这里</A></SMALL><P>页面的其余内容。.</BODY></HTML> 下面是JSP和其他类似或相关技术的一个简单比较: JSP和Active Server Pages(ASP)相比
Microsoft的ASP是一种和JSP类似的技术。JSP和ASP相比具有两方面的优点。首先,动态部分用Java编写,而不是VB Script或其他Microsoft语言,不仅功能更强大而且更易于使用。第二,JSP应用可以移植到其他操作系统和非Microsoft的Web服务器上。
JSP和纯Servlet相比
JSP并没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML更加方便,不必再用 println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计专家进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。
JSP和服务器端包含(Server-Side Include,SSI)相比
SSI是一种受到广泛支持的在静态HTML中引入外部代码的技术。JSP在这方面的支持更为完善,因为它可以用Servlet而不是独立的程序来生成动态内容。另外,SSI实际上只用于简单的包含,而不是面向那些能够处理表单数据、访问数据库的“真正的”程序。
JSP和JavaScript相比
JavaScript能够在客户端动态地生成HTML。虽然JavaScript很有用,但它只能处理以客户端环境为基础的动态信息。除了Cookie之外,HTTP状态和表单提交数据对JavaScript来说都是不可用的。另外,由于是在客户端运行,JavaScript不能访问服务器端资源,比如数据库、目录信息等等。
9
重庆理工大学毕业论文 基于Jave Web的企业人力资源管理系统的设计与开发
第3章 系统分析
系统分析的主要目的是明确要解决的问题是什么,对所要解决的问题是否有可行的解决方案,用户对系统的基本需求有哪些、附加需求有哪些,在此基础之上确定目标系统应具有哪些功能[4]。 3.1 问题定义
结合企业管理人力资源的情况,利用现有的条件设计与开发基于(Browser/Server)B/S的人力资源管理系统。 3.2 可行性分析
可行性分析的目的不是解决问题,而是确定问题是否值得去解决。可行性分析实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。主要包括以下几个方面:
1) 技术可行性。使用JSP/Servlet技术和数据库技术可以实现整个系统的设计与开发。首先,利用JSP/Servlet技术可以基于Web的应用程序开发,即可以实现基于B/S模式的管理信息系统的开发;其次,利用数据库技术可以对实施人力资源相关信息进行统一管理,从而可以实现应用程序与数据库的交互。
2) 操作可行性。系统界面设计简洁、友好,综合考虑企业人力资源管理员对计算机的掌握能力,方便各类用户进行操作。
3) 效果可行性。系统实用性强,设计过程中结合实际工作要求,尽量减少有关人员手工劳动,发挥计算机善于处理大量数据的特长。 3.3 需求分析 3.3.1 使用对象分析
该系统的使用对象为人力资源管理员。 3.3.2 使用对象工作流程分析 1) 工资管理员工作流程分析
工资管理员负责对系统中涉及的所有的工资信息(包括考勤管理、奖惩管理等)进行操作,使得工资管理员可以对涉及工资相关的信息进行查看统计。系统
10