首页 > 文库大全 > 精品范文库 > 4号文库

BS和CS结构的区别(最终定稿)

BS和CS结构的区别(最终定稿)



第一篇:BS和CS结构的区别

很多时候常常会在设计群遇到有人问什么是BS什么是CS?

简单点说:bs是浏览器(browser)和服务器(server)

cs是静态客户端程序(client)和服务器(server)

区别在于,虽然同样是通过一个程序连接到服务器进行网络通讯,但是bs结构的,客户端运行在浏览器里,比如你看百度,就是通过浏览器.还有一些bs结构的应用,比如中国电信,以及一些电子商务平台.用bs结构的好处是,不必专门开发一个客户端界面,可用asp,php,jsp等比较快速开发web应用的程序开发.cs结构的,要做一个客户端.网络游戏基本上大多是cs结构,比如你玩传奇,要专门开个传奇程序;玩冒险岛,要专门开个冒险岛......cs结构的优点是可以定做很多外观,可以做很多安全措施,可以补充浏览器没有的功能.缺点是开发速度比较慢,一个功能比较完善的客户端比较难做.专业理论上又是这么解释的。。

C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。

B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。

C/S的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:

只适用于局域网。而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。

客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。特别是有很多分部或专卖店的情况,不是工作量的问题,而是路程的问题。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。

对客户端的操作系统一般也会有限制。可能适应于Win98, 但不能用于win2000或Windows XP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。

B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。

第二篇:bs和cs测试区别

B/S测试与C/S测试之区别

我们在日常功能测试工作中,常常依据测试对象和测试目标的不同分为四个级别的测试,单元测试、集成测试、系统测试和验收测试,但是往往忽略了被测应用系统架构。在测试过程中针对不同的系统架构,测试的侧重点也不同。下面以B/S结构和C/S结构的特殊应用系统为例,分析在功能测试中的区别。

我们谈到的web系统是指以Brower/Server的访问方式为主,包含客户端浏览器、web应用服务器、数据库服务器的软件系统。一般的B/S结构,都是多层架构的,有界面层、业务逻辑层、数据层。由于这种结构不需要客户端的安装,客户端主要通过浏览器来访问,因此客户端测试的重点是:客户端操作系统(不同类型和版本)、客户端浏览器(不同类型和版本)以及客户端配置(cookie设置和分辨率设置)等测试。除客户端测试外,根据WEB系统常用技术还需要关注以下几个方面的测试:

(1)链接测试(2)表单测试(3)脚本测试(4)ActiveX控件测试

C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。这种结构与B/S最显著的区别是需要安装客户端,通过客户端程序来访问应用系统,因此C/S客户端测试是重点,并且与B/S结构有所不同。

C/S客户端测试的重点有:

(1)客户端安装测试

安装手册的评估 安装的自动化程度 安装选项和设置得测试 安装过程的中断测试 安装顺序测试 多环境安装测试 安装的正确性测试 修复安装测试 卸载安装测试(2)客户端升级测试

与变更相关的测试 变更内容的测试

与变更相关的测试

(3)客户端与服务器链接测试(4)服务器端数据验证(5)客户端可维护性测试

以上内容总结了B/S与C/S系统测试的不同点,唯实践使理论之树常青,我们可以在实际工作中积累总结出更多的不同的测试关注点。

一、软件测试包括哪些内容? 以下是一些需要考虑的步骤:

ü

1.得到需求、功能设计、内部设计说书和其他必要的文档 ü

2.得到预算和进度要求

ü

3.确定与项目有关的人员和他们的责任、对报告的要求、所需的标准和过程(例如发行过程、变更过程、等等)ü

4.确定应用软件的高风险范围,建立优先级、确定测试所涉及的范围和限制

ü

5.确定测试的步骤和方法 ── 部件、集成、功能、系统、负载、可用性等各种测试

ü

6.确定对测试环境的要求(硬件、软件、通信等)ü

7.确定所需的测试用具(testware),包括记录/回放工具、覆盖分析、测试跟踪、问题/错误跟踪、等等

ü

8.确定对测试的输入数据的要求

ü

9.分配任务和任务负责人,以及所需的劳动力 ü

10.设立大致的时间表、期限、和里程碑

ü

11.确定输入环境的类别、边界值分析、错误类别 ü

12.准备测试计划文件和对计划进行必要的回顾 ü

13.准备白盒测试案例

ü

14.对测试案例进行必要的回顾/调查/计划

ü

15.准备测试环境和测试用具,得到必需的用户手册/参考文件/结构指南/安装指南,建立测试跟踪过程,建立日志和档案、建立或得到测试输入数据 ü

16.得到并安装软件版本 ü

17.进行测试

ü

18.评估和报告结果

ü

19.跟踪问题/错误,并解决它 ü

20.果有必要,重新进行测试

ü

21.整个生命周期里维护和修改测试计划、测试案例、测试环境、和测试用具

民 民 民 民 民

三、有哪些测试

1、黑盒测试——不是基于内部代码和设计的知识,而是基于需求和功能。

2、白盒测试——基于应用程序的内部逻辑的知识,通过语句,分支,路径和条件的

覆盖率。

3、单元测试——测试中的最小单位,测试特殊的功能或代码模块。由于需要对内部

代码和设计的详细知识,该测试一般由开发者完成而不是由测试人员完成。该测试的

容易程度同代码设计的好坏直接相关。

4、增量型的集成测试——随着新功能的增加,不断的对应用程序进行测试。在程序 的所有部分完成之前,需要一个应用程序的各个部分之间能够相对独立的进行工作。

这类型测试可以有开发者或测试者完成

5、集成测试——测试应用程序结合的部分来确定它们的功能结合到一起是正确的。

在这里‘部分’的概念可能是代码模块,独立的应用程序,在网络上的客户端和服务

器断程序等等。这类型测试典型的是于客户/服务器和分布式系统相关。

6、功能测试——是一种黑盒测试,同应用程序的功能需求紧密相关。这类型测试应

当有测试人员来完成。这并不意味着开发人员在发布版本之前就不需要检查他们的代 码。

7、端到端测试——同系统测试类似,包括模拟现实世界对一个完整的应用环境进行

测试。例如同数据库进行交互、使用网络通信,或者其他的软件、硬件和系统进行交 互。

8、理智测试——这是一种典型的原始测试,其目的是要确定一个新的软件版本在一

些主要的测试努力下表现的足够好并且可以接受。例如:如果一个新软件每五分钟当

机一次,使系统执行速度极其缓慢,或者破坏系统数据,那么该软件就处于不够‘理

智’状态,必须保证在当前状态下进行进一步测试。

9、回归测试——在软件或环境被修改后进行的再测试。可能很难确定我们需要进行

多少的再测试,尤其接近到__________开发过程的末期。自动测试工具可能会有很大的帮助。

10、可接受性测试——基于最终用户的规格进行的最后测试。或者基于最终用户在一

定的时间范围内的测试。

11、负荷测试——在高负荷条件下进行的测试。

12、压力测试——该术语通常同负荷测试和性能测试是可交换的。也可用于描述这样

一些测试,如:在不正常的负荷状态下,过分的重复某些动作或输入情况下进行的系统功能测 试。

13、性能测试——该术语通常同负荷测试和压力测试是可交换的。理想的性能测试是

定义在需求文档或QA测试计划中的。

14、安装和反安装测试——测试完全、部分或升级的安装/反安装过程

15、恢复测试——测试当出现崩溃,硬件错误或其他灾难性问题时,系统的表现情况

16、安全性测试——测试系统对于内部和外部非法入侵、故意损坏时的表现情况。可

能需要复杂的测试技术。

17、兼容性测试——测试系统在不同的平台/硬件/操作系统/网络上的表现情况。

18、ALPHA测试——在开发进行结束的时候进行的测试。针对测试的结果可能还会进

行一些小的设计更改。这类测试典型的是由用户进行的,而不是由开发者或测试人员

进行的。

19、BETA测试——在开发和测试已经全部结束后,并且在最终版本发布之前进行的

测试。这类测试典型的是由用户进行的,而不是由开发者或测试人员进行的。

五、什么是测试计划

测试计划是描述软件测试努力的目标、范围、方法和焦点的文档。

1、标题

2、确定软件的版本号

3、修订文档历史,包括作者、日期和批示

4、目录表

5、文档的目的和适合的读者群

6、测试的目的

7、软件产品概述

8、相关文档列表,例如:需求、设计文档、其他测试计划等

9、相关的标准或合法需求

10、可跟踪性需求

11、相关的命名规范和标识符规范

12、整个软件项目组织和人员/联系信息/责任

13、测试组织和人员/联系信息/责任

14、假设和依赖关系

15、项目风险信息

16、测试优先级和焦点

17、测试范围和限制

19、测试提纲——对测试过程的一个分解,通过测试类型、特点、功能性、过 程、系统、模块等

20、测试环境设置和配置问题

21、数据库设置需求

22、概述系统日志/错误日志/其他性能,有助于描述和汇报问题的屏幕捕获工具 等

23、有助于测试者跟踪问题根源的具体软硬件工具的论述

24、测试自动化的可能性和概述

25、使用的测试工具,包括版本、补丁等

26、使用的项目测试度量

27、报告需求和测试可传递性

28、软件入口和出口准则

29、初始的理性测试阶段和标准 30、测试终止和重新开始的标准

31、人员安排

32、测试地点

33、用到的测试外的组织,他们的目的、责任、可传递性、联系人和协作问题

34、相关的财产、分类、安全性和许可证问题

35、公开的一些问题

36、附录——词汇表、缩略语等

六、什么是测试用例

1、一个测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。

第三篇:CS和BS比较

C/S Client/Server B/S Browser/Server

区别其实还是挺大的。

找篇文章给你看看,写的不错--

当今世界科学技术飞速发展,尤其以通信、计算机、网络为代表的互联网技术更是日新月异,令人眼花燎乱,目不睱接。由于计算机互联网在政治、经济、生活等各个领域的发展、运用以及网络的迅速普及和全社会对网络的依赖程度,计算机网络已经成为国家的经济基础和命脉,成为社会和经济发展强大动力,其地位越来越重要。但是,由于主流技术研发企业和用户对“B/S”和“C/S”技术谁优谁劣、谁代表技术潮流发展等等问题的争论不休,已经给检察机关使用“OA(办公)”和“案件管理”软件工作开展带来困惑,本文就此两项技术发展变化和应用前景做些探讨,供同行参考。

一、什么是C/S和B/S

要想对“C/S”和“B/S”技术发展变化有所了解,首先必须搞清楚三个问题。

第一、什么是C/S结构。

C/S(Client/Server)结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。

传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都还需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用。而且代价高,效率低。

第二、什么是B/S结构。

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。

以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

第三、管理软件主流技术。

管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发展时期。其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件其风格都是一样的,使用人对操作培训的要求不高,而且软件可操作性强,易于识别;再者,平台体系结构也从过去单用户发展到今天的文件/服务器(F/S)体系、客户机/服务器(C/S)体系和浏览器/服务器(B/S)体系。

二、C/S和B/S 之比较

C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是美国 Borland公司最早研发,B/S是美国微软公司研发。目前,这两项技术以被世界各国所掌握,国内公司以C/S和B/S技术开发出产品也很多。这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体,都有一大群文人墨客为自己摇旗呐喊,广告满天飞,可谓仁者见仁,智者见智。

1、C/S架构软件的优势与劣势

(1)、应用服务器运行数据负荷较轻。

最简单的C/S体系结构的数据库应用由两部分组成,即客户应用程序和数据库服务器程序。二者可分别称为前台程序与后台程序。运行数据库服务器程序的机器,也称为应用服务器。一旦服务器程序被启动,就随时等待响应客户程序发来的请求;客户应用程序运行在用户自己的电脑上,对应于数据库服务器,可称为客户电脑,当需要对数据库中的数据进行任何操作时,客户程序就自动地寻找服务器程序,并向其发出请求,服务器程序根据预定的规则作出应答,送回结果,应用服务器运行数据负荷较轻。

(2)、数据的储存管理功能较为透明。

在数据库应用中,数据的储存管理功能,是由服务器程序和客户应用程序分别独立进行的,前台应用可以违反的规则,并且通常把那些不同的(不管是已知还是未知的)运行数据,在服务器程序中不集中实现,例如访问者的权限,编号可以重复、必须有客户才能建立定单这样的规则。所有这些,对于工作在前台程序上的最终用户,是“透明”的,他们无须过问(通常也无法干涉)背后的过程,就可以完成自己的一切工作。在客户服务器架构的应用中,前台程序不是非常“瘦小”,麻烦的事情都交给了服务器和网络。在C/S体系的下,数据库不能真正成为公共、专业化的仓库,它受到独立的专门管理。

(3)、C/S架构的劣势是高昂的维护成本且投资大。

首先,采用C/S架构,要选择适当的数据库平台来实现数据库数据的真正“统一”,使分布于两地的数据同步完全交由数据库系统去管理,但逻辑上两地的操作者要直接访问同一个数据库才能有效实现,有这样一些问题,如果需要建立“实时”的数据同步,就必须在两地间建立实时的通讯连接,保持两地的数据库服务器在线运行,网络管理工作人员既要对服务器维护管理,又要对客户端维护和管理,这需要高昂的投资和复杂的技术支持,维护成本很高,维护任务量大。

其次,传统的C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,由于产品的更新换代十分快,代价高和低效率已经不适应工作需要。在JAVA这样的跨平台语言出现之后,B/S架构更是猛烈冲击C/S,并对其形成威胁和挑战。

2、B/S架构软件的优势与劣势

(1)、维护和升级方式简单。

目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。

(2)、成本降低,选择更多。

大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。

比如说很多人每天上“网易”(原文为新浪)网,只要安装了浏览器就可以了,并不需要了解“网易”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。

(3)、应用服务器运行数据负荷较重。

由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。

3,C/S 与 B/S 区别

Client/Server是建立在局域网的基础上的,Browser/Server是建立在广域网的基础上的。

(1)、硬件环境不同:

C/S 一般建立在专用的网络上,小范围里的网络环境,局域网之间再通过专门服务器提供连接和数据交换服务。

B/S 建立在广域网之上的,不必是专门的网络硬件环境,例如电话上网,租用设备,信息自己管理,有比C/S更强的适应范围,一般只要有操作系统和浏览器就行。

(2)、对安全要求不同

C/S 一般面向相对固定的用户群,对信息安全的控制能力很强。一般高度机密的信息系统采用C/S 结构适宜,可以通过B/S发布部分可公开信息。

B/S 建立在广域网之上,对安全的控制能力相对弱,面向是不可知的用户群。

(3)、对程序架构不同

C/S 程序可以更加注重流程,可以对权限多层次校验,对系统运行速度可以较少考虑。

B/S 对安全以及访问速度的多重的考虑,建立在需要更加优化的基础之上。比C/S有更高的要求,B/S结构的程序架构是发展的趋势,从MS的.Net系列的BizTalk 2000 Exchange 2000等,全面支持网络的构件搭建的系统。SUN和IBM推的JavaBean构件技术等,使B/S更加成熟。

(4)、软件重用不同

C/S 程序可以不可避免的整体性考虑,构件的重用性不如在B/S要求下的构件的重用性好。

B/S 对的多重结构,要求构件相对独立的功能。能够相对较好的重用。就如买来的餐桌可以再利用,而不是做在墙上的石头桌子。

(5)、系统维护不同

系统维护是软件生存周期中,开销大,相当重要

C/S 程序由于整体性,必须整体考察,处理出现的问题以及系统升级难,可能是再做一个全新的系统。

B/S 构件组成方面构件个别的更换,实现系统的无缝升级。系统维护开销减到最小,用户从网上自己下载安装就可以实现升级。

(6)、处理问题不同

C/S 程序可以处理用户面固定,并且在相同区域,安全要求高的需求,与操作系统相关,应该都是相同的系统。

B/S 建立在广域网上,面向不同的用户群,分散地域,这是C/S无法作到的,与操作系统平台关系最小。

(7)、用户接口不同

C/S 多是建立在Window平台上,表现方法有限,对程序员普遍要求较高。

B/S 建立在浏览器上,有更加丰富和生动的表现方式与用户交流,并且大部分难度减低,降低开发成本。

(8)、信息流不同

C/S 程序一般是典型的中央集权的机械式处理,交互性相对低。

B/S 信息流向可变化,B-B、B-C、B-G等信息流向的变化,更象交易中心 参考资料:百度一下

回答者: l69d6036sw | 四级 | 2011-3-1 10:12

首先你该知道bs是什么,cs是什么..bs就是浏览器客户端+server的模式;cs就是本地客户端(一般为桌面客户端)+server的模式;

bs的开发需要什么呢? 因为是运行在浏览器上,那么肯定需要网页即html页面,jsp只是web服务器用来动态生成html的东西,显而易见了,jsp的好处就是可以动态生成页面,就比如从数据库中查询成绩列表,将这些列表动态的注入到jsp页面中,便得到了想要的页面了。

cs的开发需要什么呢?因为它不需要运行在浏览器上,那么是不需要网页的,但这样却没有可以用来执行操作的界面了,于是所有的界面必须全部自己实现,在java里面可以用swing或swt/JFace组件库来实现。

bs和cs的差别,你打开一个网页,然后打开一个桌面窗口例如360的,然后看看有啥不同..很明显了,网页是由浏览器去执行解析和显示的,其遵循一定的语法,开发起来也相对容易,但这样却做不了浏览器能力以外的事情了。然而cs的情况下你的客户端是桌面客户端,缺乏了浏览器的支持,于是实现起来相对费劲些,但它能做许多浏览器无法做的东西。

可以这样理解,cs客户端与浏览器一样都是操作系统的桌面程序,而bs则是在浏览器基础之上所做的定制(姑且说成定制),从能力和扩展性来讲cs要强一些,但cs开发起来较为繁杂。

大概是这样了,希望能让你有点理解了~~ 回答者: littleatp | 四级 | 2011-3-1 10:55

取其优之补其弊.cs的就是你要有客户端的,比方一些用的软件 360啊 qq啊 大型网游啊,这些都是cs程序,但是如果楼主玩网游,就会发现,一个游戏那么大啊,下到什么时候啊.相反bs的程序就不会那么麻烦,bs比方网页形式的软件,用起来的话很方便,但是有利也有弊.,楼上那位都说了 我就不多说了 回答者: find_rainbow | 三级 | 2011-3-1 11:07

第四篇:BS模式和CS模式

B/S

B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、速度快、效果优。

随着Internet和WWW的流行,以往的主机/终端和C/S都无法满足当前的全球网络开放、互连、信息随处可见和信息共享的新要求,于是就出现了B/S型模式,即浏览器/服务器结构。B/S模式最大特点是:用户可以通过WWW浏览器去访问Internet上的文本、数据、图像、动画、视频点播和声音信息,这些信息都是由许许多多的Web服务器产生的,而每一个Web服务器又可以通过各种方式与数据库服务器连接,大量的数据实际存放在数据库服务器中。客户端除了WWW浏览器,一般无须任何用户程序,只需从Web服务器上下载程序到本地来执行,在下载过程中若遇到与数据库有关的指令,由Web服务器交给数据库服务器来解释执行,并返回给Web服务器,Web服务器又返回给用户。在这种结构中,将许许多多的网连接到一块,形成一个巨大的网,即全球网。而各个企业可以在此结构的基础上建立自己的Intranet。

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

B/S结构的优点

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

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

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

(4)、开发简单,共享性强

B/S 模式的缺点

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

(个性化的要求取决以软件框架,而非架构,分享B/S软件就蛮灵活)

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

(如果辅助于插件,照样可以用键盘快速操作)

(3)、页面动态刷新,响应速度明显降低。

(分享软件用分页保证响应速度稳定)

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

(技术问题,用微软C#或java怎么会不能解决任何要求呢)

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

C/S 模式的优点

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

(当数据少时,速度与B/S软件一般;当数据超过十万时,C/S软件变慢,B/S软件能维持稳定速度)

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

(似乎可以随意排列界面,但遇到第二客户要求时又要从头做起,比较灵活)

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

C/S 模式的缺点

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

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

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

(就开发企业管理软件而言,C/S开发人员比B/S开发人员的成本低了许多)

三、B/S架构软件的优势与劣势

(1)、维护和升级方式简单。

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

(2)、系统的性能

在系统的性能方面,B/S占有优势的是其异地浏览和信息采集的灵活性。任何时间、任何地点、任何系统,只要可以使用浏览器上网,就可以使用B/S系统的终端。不过,采用B/S结构,客户端只能完成浏览、查询、数据输入等简单功能,绝大部分工作由服务器承担,这使得服务器的负担很重。采用C/S结构时,客户端和服务器端都能够处理任务,这虽然对客户机的要求较高,但因此可以减轻服务器的压力。而且,由于客户端使用浏览器,使得网上发布的信息必须是以HTML格式为主,其它格式文件多半是以附件的形式存放。而HTML格式文件(也就是Web页面)不便于编辑修改,给文件管理带来了许多不便。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。

(3)、系统的开发

C/S结构是建立在中间件产品基础之上的,要求应用开发者自己去处理事务管理、消息队列、数据的复制和同步、通信安全等系统级的问题。这对应用开发者提出了较高的要求,而且迫使应用开发者投入很多精力来解决应用程序以外的问题。这使得应用程序的维护、移植和互操作变得复杂。如果客户端是在不同的操作系统上,C/S结构的软件需要开发不同版本的客户端软件。但是,与B/S结构相比,C/S技术发展历史更为“悠久”。从技术成熟度及软件设计、开发人员的掌握水平来看,C/S技术应是更成熟、更可靠的。

四、B/S、C/S结构软件技术上的比较

其实,无论是B/S还是C/S,他们都不新鲜。C/S(Client/Server,客户端/服务器)技术从上世纪90年代初出现至今已经相当成熟,并得到了非常广泛的应用,其结构经历了二层C/S、三层C/S的更迭。B/S(Browser/Server,浏览器/服务器)技术则是伴随着Internet的普及而来的。有必要说明的是,B/S最早并不叫“B/S”,此类应用国外通常叫Web应用,是国内一些公司“创造”了“B/S”这个词。

应该说,B/S和C/S各有千秋,他们都是当前非常重要的计算架构。在适用Internet、维护工作量等方面,B/S比C/S要强得多;但在运行速度、数据安全、人机交互等方面,B/S远不如C/S。综合起来可以发现,凡是C/S的强项,便是B/S的弱项,反之亦然。因此,问题也就因此而产生了,我们的ERP产品到底该用B/S还是C/S架构呢?一场关于C/S与B/S的口水战也由此在ERP业界拉开了序幕。在互联网泡沫盛行的2000年至2002年间,这场口水战达到了顶峰。但直到现在,人们也没有辩出谁是谁非。

事实上,从上面的分析可以看出,这场口水战不可能有胜负出现,因为B/S与C/S具有不同的优势与特点,他们无法相互取代。例如,对于以浏览为主、录入简单的应用程序,B/S技术有很大的优势,现在全球铺天盖地的Web网站就是明证;而对于交互复杂的ERP等企业级应用,B/S则很难胜任,从全球范围看,成熟的ERP产品大多采用二层或三层C/S架构,B/S的ERP产品并不多见。

“B/S还是C/S”也就由此成了ERP的技术之痛。难道这个痛就无药可救了吗?是否有可能将B/S与C/S的优势融合呢?答案是肯定的,在这几年的发展中将B/S与C/S的优势完美地结合起来,就是说该平台的应用系统能以B/S的方式发布运行,同时又具有C/S方式的极强的可操作性。这点从该平台生成的商品化的网络协同商务管理软件上得到充分的体现!

五、B/S、C/S结构软件商业运用上的比较

管理软件是为企业服务的,企业选用管理软件不仅要从技术上考虑,还要从商业运用方面来考虑,下文将从商业运用的角度对两种结构的软件进行比较。

1,投入成本比较。B/S结构软件一般只有初期一次性投入成本。对于集团来讲,有利于软件项目控制和避免IT黑洞,而C/S结构的软件则不同,随着应用范围的扩大,投资会连绵不绝。

2,硬件投资保护比较。在对已有硬件投资的保护方面,两种结构也是完全不同的。当应用范围扩大,系统负载上升时,C/S结构软件的一般解决方案是购买更高级的中央服务器,原服务器放弃不用,这是由于C/S软件的两层结构造成的,这类软件的服务器程序必须部署在一台计算机上;而B/S结构(如e通管理系列)则不同,随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。有效地保护了原有硬件投资。

3,企业快速扩张支持上的比较。对于成长中的企业,快速扩张是它的显著特点。例如迪信通公司,每年都有新的配送中心成立,每月都有新的门店开张。应用软件的快速部署,是企业快速扩张的必要保障。对于C/S结构的软件来讲,由于必须同时安装服务器和客户端、建设机房、招聘专业管理人员等,所以无法适应企业快速扩张的特点。而B/S结构软件,只需一次安装,以后只需设立账号、培训即可。

其次,随着软件应用的扩张,对系统维护人才的需求有可能成为企业快速扩张的制约瓶颈。如果企业开店上百家,对计算机专业人才的需求就将是企业面临的巨大挑战之一。

抛开人力成本不说,一个企业要招到这么多的专业人才并且留住他们也是不可能的。所以,采用C/S结构软件必然会制约企业未来的发展。另外,大多数C/S结构的软件都是通过ODBC直接连到数据库的,安全性差不说,其用户数也是受限的。每个连到数据库的用户都会保持一个ODBC连接,都会一直占用中央服务器的资源,对中央服务器的要求非常高,使得用户扩充受到极大的限制。而B/S结构软件则不同,所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的。

从以上的分析可以看出,B/S结构的管理软件和C/S结构软件各有各的的优势。而从国外的发展趋势来看。目前,国外大型企业管理软件要么已经是B/S结构的,要么正在经历从C/S到B/S结构的转变。从国内诸多软件厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大型管理软件可能在将来的几年内占据管理软件领域的主导地位。

第五篇:BS和CS架构之间的区别和优缺点

分层(Laying)是软件开发者用来将复杂的软件系统分解的最常用的方法。当你使用“层”(Lay)这个术语考虑一个系统时,你可以把软件中的主要子系统的组织方式想象为多层蛋糕,每一层都位于低层之上。在这个方案中,高层使用低层中定义的各种服务,但低层却意识不到高层的存在。更进一步地,每一层通常都会对其低层隐藏在其上的层,因此,层4使用层3提供的服务,而层3使用层2提供的服务,但是层4不知道层2的存在。将系统分解为不同的层有很多益处:

你可以将单独的一层理解为一个整体,而不用过多的了解其它层的细节。你可以用实现相同基本服务的替代品来替代这些层。你可以减少层之间的依赖性。层可以更好的实现标准化。

一旦你创建了一层,你就可以在许多更高级的服务中使用它。分层是一项很重要的技术,但是也有不足:

层封装了部分功能,但并不能很好地封装所有功能。因此,你有时必须修改多个层。这个缺点的经典案例就是在一个分层的企业应用程序中加入一个需要在UI上显示的字段,则必须修改数据库,并且修改位于UI和数据库间的每一层。额外的层会影响性能。在每一层数据通常需要从一层传递到另一层。但是,对于某一功能的封装通常会给你带来更高的效率以弥补损失的性能。我们可以通过优化控制事务的层,而加快事务的处理。

分层架构最难的部分是决定应该拥有哪些层和这些层的职责。

一、C/S结构与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模式,客户端分散,且应用简单,只需要进行简单的浏览和少量信息的录入。

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

★B/S模式的优点

●具有分布性特点,可以随时随地进行查询、浏览等业务处理。●业务扩展简单方便,通过增加网页即可增加服务器功能。

●维护简单方便,只需要改变网页,即可实现所有用户的同步更新。●开发简单,共享性强。★B/S模式的缺点

●个性化特点明显降低,无法实现具有个性化的功能要求。●操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。●页面动态刷新,响应速度明显降低。

●无法实现分页显示,给数据库访问造成较大的压力。●功能弱化,难以实现传统模式下的特殊功能要求。

5、C/S模式的优点和缺点 ★C/S模式的优点

●由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。●操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。

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

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

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

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

奇速网络收录整理:www.feisuxs

相关内容

热门阅读

最新更新

随机推荐