要c/s还是b/s?

转载 2006年06月09日 07:46:00

 谈人力资源管理软件开发的技术架构及其优缺点

  单位进行人力资源管理软件的选型,信息部门也会介入了这一过程,从技术上提供支持,技术部门除了对软件的功能、灵活性、易用性等方面比较关注外,还会比较关注软件的技术架构的一些问题。许多单位都非常倾向B/S结构。

  一、C/S结构与B/S结构的特点分析

  随着计算机技术的不断发展与应用,计算模式从集中式转向了分布式,尤为典型的是C/S结构(Client/Server的简称,客户机/服务器模式)。两层结构C/S模式,在上个世纪八十年代及九十年代初得到了大量应用,最直接的原因是可视化开发工具的推广。之后,它开始向三层结构发展。近年来,随着网络技术不断发展,尤其是基于Web的信息发布和检索技术、Java计算技术以及网络分布式对象技术的飞速发展,导致了很多应用系统的体系结构从 C/S结构向更加灵活的多级分布结构演变,使得软件系统的网络体系结构跨入一个新阶段,即B/S体系结构(Browser/Server的简称,浏览器/ 服务器模式)。基于Web的B/S方式其实也是一种客户机/服务器方式,只不过它的客户端是浏览器。为了区别于传统的C/S模式,才特意将其称为B/S模式。认识到这些结构的特征,对于系统的选型而言是很关键的。

  1、系统的性能

  在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。

  不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML 格式为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。

  2、系统的开发

  C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。

  但是,与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。

  3、系统的升级维护

  C/S系统的各部分模块中有一部分改变,就要关联到其它模块的变动,使系统升级成本比较大。B/S与C/S处理模式相比,则大大简化了客户端,只要客户端机器能上网就可以。对于B/S而言,开发、维护等几乎所有工作也都集中在服务器端,当企业对网络应用进行升级时,只需更新服务器端的软件就可以,这减轻了异地用户系统维护与升级的成本。如果客户端的软件系统升级比较频繁,那么B/S架构的产品优势明显——所有的升级操作只需要针对服务器进行,这对那些点多面广的应用是很有价值的,例如一些招聘网站就需要采用B/S模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。

  在系统安全维护上,B/S则略显不足,B/S结构尤其得考虑数据的安全性和服务器的安全性,毕竟现在的网络安全系数并不高。以OA软件为例,B/S结构要实现办公协作过程中复杂的工作流控制与安全性控制,还有很多技术上的难点。因此,当前虽然出现了B/S结构的OA系统产品,但尚未大范围推广。

  4、C/S 模式的优点和缺点

  ★ C/S 模式的优点

  ● 由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。

  软件功能设计个性化,具有直观、简单、方便的特点,可以满足客户个性化的功能要求;如自由制表的功能在C/S 模式下就能够实现,在B/S 模式下就很难实现或运行效率很低。

  ● 操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。

  ● C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

  ★ C/S 模式的缺点
  ● 需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。

  ● 兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。

  ● 开发成本较高,需要具有一定专业水准的技术人员才能完成。

  5、B/S模式的优点和缺点

  ★ B/S 模式的优点

  ● 具有分布性特点,可以随时随地进行查询、浏览等业务处理。

  ● 业务扩展简单方便,通过增加网页即可增加服务器功能。

  ● 维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

  ● 开发简单,共享性强。

  ★ B/S 模式的缺点

  ● 个性化特点明显降低,无法实现具有个性化的功能要求。

  ● 操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。

  ● 页面动态刷新,响应速度明显降低。

  ● 无法实现分页显示,给数据库访问造成较大的压力。

  ● 功能弱化,难以实现传统模式下的特殊功能要求。

  二、人力资源管理信息系统软件开发重点与难点

  1、非技术性格的人力资源工作者要求软件设计的尽量简单、好用

  众所周知,从事技术工作的人往往不善于也不喜欢与人打交道,而从事人力资源工作的人大都是非技术性格的人,他们大多喜欢与人打交道,不喜欢与机器打交道。因此,他们不愿意投入精力去专研一个软件的使用,他们希望软件的操作越“傻”越好,摸一摸就能走下来。通过这些年的观察我们发现:凡是在这方面做的不够好的软件,往往都是“短命”软件,前一任软件使用人如果工作发生变动,后一任使用人往往就难以为继,很少有单位能够二度送君上“学堂”。

  2、正在摸索和变革中的中国人力资源管理体系要求软件能够以不变应万变

  目前,我们国家正处在由传统人事管理向人力资源过渡的转型时期,人力资源管理从思想到行动都发生着巨大的变化,今天可能采用的是“薪点工资制”,明天可能就要改为“岗变薪变”工资;今天采用的是360度考核,明天可能就改为了KTF考核。处于摸索中的人力资源管理每天都可能发生这样那样的变革,这就对人力资源管理软件提出了巨大的挑战,软件如果不能够随着变革而自行适应,那么,这个软件就没有生命力。以前,很多大型企业使用人事软件大多是本单位信息中心自行编制,这些软件的结构往往是做死的,在计划经济年代,这种方法还是可取的。但随着市场大潮的冲击,一方面,人力资源管理的内容不断发生变化,另一方面,软件开发人员流动加剧,使得这些软件适应不了变化的需要,因此,逐渐地被商品化软件所取代。

  3、软件的灵活与操作的简单是一对矛盾,是矛盾的统一体

  基于以上国情民情,可以说,中国人力资源管理软件的开发面临着痛苦的局面,软件既要做的灵活开放,又要操作非常简单,凡是懂软件开发的人都知道,这是一个非常矛盾的局面,但商品化的人力资源软件公司还是要迎难而上,毕竟用户是“上帝”啊,掉几斤肉也要解决“上帝”的难题。我们在开发HRP软件的时候,脑子里萦绕的总是这个问题,把一些复杂的功能优化再优化,简单再简单,实在简单不了了,就把它藏起来,一般操作人员和单位领导看到的软件是极为简单的,只有系统管理员才能看到软件灵活开放的另一面。


  三、C/S与B/S混合结构,是当前人力资源管理软件开发和应用的主流

  客观地分析C/S、B/S模式的优劣,结合人力资源管理信息系统软件开发的特点,规划人力资源管理系统的时候“有的放矢,趋利避害”,才能够搭建成合适的信息系统。我们知道人力资源管理软件中信息的查询、浏览(尤其是异地查询浏览)、小规模数据录入等比较适合做成B/S模式,客户端只要能上网即可以操作软件。而灵活创建报表,自定义工资标准和公式等一些属于软件灵活开放的功能,以及涉及一些复杂流程的功能则适合采用C/S结构,客户端功能比较强、安全系数也高。这样处理,即可充分发挥各种模式的优越性,又可以避免B/S结构在安全性、保密性和响应速度等方面的缺点以及C/S结构在异地查询浏览不够灵活等方面的缺点。

  一个应用软件的成熟是需要较长一段磨合稳定期的。大家都知道,SAP的ERP-R3软件在中国市场上仍占据着很大的市场份额,但这一软件的发展历史和成熟过程可能大家了解的就不多了。实际上,SAP的ERP-R3软件于1993年就开发完成了,在之后的若干年一直不断的与国际大型企业进行磨合,功能不断优化、细化,才使它拥有了今天的地位。

  一个新的技术从出现到成熟也是需要一段时间的,它也需要一个版本一个版本的升级直至成熟。因此,我们不应该单纯追求技术的先进性,而要追求实用技术,当你要实现一个方案时,你要分析项目的性质及最终用户,然后再寻找能解决你问题的最实用手段。如果脱离软件生存发展的规律,一味追求新技术,可能适得其反,走上一条风险之路。

  基于以上,结合目前市场上推出的一些产品的成功与失败,可以看出,C/S与B/S混合结构,必将成为当前人力资源管理软件应用的主流。

String s = a+b+c+d+e;创建了几个对象的详细分析?

问题1: String s = "a" + "b" + "c" + "d" + "e";  问此语句共创建了几个对象,  答案是  就创建了一个  String s = "a" + "b"...

转置矩阵的分块并行乘法(C语言实现),计算矩阵C[rawn][rawn]=A[rawm][rawn]'*B[rawm][rawn],子块大小为S*T,其算法实现原理参加本代码的附件。

可参见

O​R​A​C​L​E​ ​E​B​S​ ​A​P​发​票​到​付​款​的​数​据​流

--1.发票创建时生成数据如下表 --发票主表 SELECT * FROM AP_INVOICES_ALL A WHERE A.INVOICE_NUM = '20111213001'; --发票...
  • gsairon
  • gsairon
  • 2014年05月29日 15:06
  • 506

String s = a+b+c+d+e;创建了几个对象的详细分析?

最近看到许多类似的帖子,大致意思如下:问题1: String s = “a” + “b” + “c” + “d” + “e”; 问此语句共创建了几个对象, 答案是 就创建了一个 Strin...

利用正则表达式解析(1+3*m+s*b+c*v)^3

1、问题描述 把(1+3*m+s*b+c*v)^3的表达式化简为形如(1+3*m+s*b+c*v)*(1+3*m+s*b+c*v)*(1+3*m+s*b+c*v)的格式。 ps:这个问题是我在别人的...

String s = a+b+c+d+e;创建了几个对象的详细分析?

最近看到许多类似的帖子,大致意思如下: 问题1: String s = "a" + "b" + "c" + "d" + "e";  问此语句共创建了几个对象,  答案是  就创建了一个...

String s = "a" + "b" + "c" + "d" + "e"对象问题

问题1: String s = "a" + "b" + "c" + "d" + "e";  问此语句共创建了几个对象,  答案是  就创建了一个  String s = "a" + "b"...

用stc12c5a60s2单片机的PCA寄存器输出PWM波,通过MX214B芯片控制直流电机

 一.PCA寄存器的资料 1,stc12c5a60s2一般pwm频率=PCA时钟源/256 2,PCA时钟源设置有4种方式,一般都有T0的溢出率,来设置PCA时钟源, 一般在COMD这个寄...

ThinkPHP单字母函数整理 A函数 B函数 C函数 D函数 F函数 L函数 R函数 S函数 U函数

A函数(基本是Action的简写)   A函数是用来实例化我们的Action类的,例如我们的程序有2个Action分别是IndexAction和TestAction,在 IndexAction中...

如果令 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 分别等于

如果令 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 分别等于 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:要c/s还是b/s?
举报原因:
原因补充:

(最多只允许输入30个字)