B/S与C/S架构_(软件测试基础知识学习笔记)

一、C/S(Client-Server)

1.两层C/S架构

2、两层C/S架构功能

3、C/S架构的优点

4、C/S架构的缺点

二、B/S(Browser-Server)

1.三层C/S架构与功能 

2. B/S架构的优点

3、B/S架构的缺点

*C/S与B/S的关系

*C/S与B/S的区别不同点 


一、C/S(Client-Server)

是指客户机/服务器模式 (就如同QQ、微信 等)

1.两层C/S架构

这种架构是一种比较早期的软件架构 主要用于互联网内 目前所常用的是两层C/S架构

B/S与C/S架构_(软件测试基础知识学习笔记)_第1张图片

第一层:是在客户机系统上结合了表示与业务逻辑(用户表示层)

第二层:第二层是通过网络结合了数据库服务器(数据库层)

2、两层C/S架构功能

第一层(客户机):输入输出、运算、处理计算的能力数据存储等

第二层(服务器):逻辑处理

3、C/S架构的优点

3.1客户端和服务器直接相连

(1)点对点的模式使其更安全

(2)可以直接操作本地文本 减少获取文本的时间和精力

(3)由于直接相连 减少了通信流量 

(4)直接相连 中间没有什么阻隔或岔路 所以响应速度快 (对于通信量庞大具有极大的优势)

3.2客户端可以处理一些逻辑事务

(1)充分利用两者的硬件设施避免了资源的浪费

(2)客服机为服务器分担一些逻辑事务 可以进行数据处理和数据存储 可以处理复杂的事务流程

(3)客户端有一套完整应用程序 在出错提示、在线帮助等方面都有强大的功能 并且可以在子程序间自由切换

3.3 客户端操作界面

(1)可以提高客户的视觉体验 满足客户需求

(2)客户端操作界面可以随意排列 充分满足客户的需要

4、C/S架构的缺点

4.1客户端

(1)只能处理一些功能单一的多系统

(2)C/S架构适用于局域网 对网速要求较高

(3)由于需要安装客户端 安装部署困难 所以不易扩展

(4)若客户端使用的系统不同 就要针对这些系统分别编写程序

(5)客户端界面缺乏通用性 且当业务更改时就需要更改界面 重新编写

(6)客户端需要专门的客户端程序 比较麻烦 针对点多面广且不具备网络条件的用户群体 不能够实现快速部署安装和配置

4.2服务器

(1)用户数增多会出现通信拥堵 服务器响应速度慢等情况

(2)当服务器难当大任时 只能将其废弃 使用更强大的服务器。

(3)当客户端用户增多时 服务器难以承担重负 是名副其实的“胖”客户端

(4)用户是通过ODBC连接到数据库的 且每个连接到数据库的用户都会保持一个ODBC连接 会一直占用中央服务器的资源 对服务器的要求很高

4.3用户

(1)没有安装客户端的外部用户不能访问

(2)只有安装了客户端才能访问服务器 所以用户不能随时随地的访问

(3)用户是通过ODBC连接到数据库的 所以用户数受限 不易扩张

(4)由于针对小范围的客户 所以不能实现真正大范围的信息共享 信息传达和发布 

二、B/S(Browser-Server)

是指浏览器/服务器模式 用浏览器就可以完成的操作(如4399上的页游)

1.三层C/S架构与功能 

它是C/S架构的一种改进,可以说属于三层C/S架构 主要是利用了不断成熟的WWW浏览器技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能 并节约了开发成本 是一种全新的软件系统构造技术

B/S与C/S架构_(软件测试基础知识学习笔记)_第2张图片

 客户机:位于表示层 用于界面引导 接收用户输入 并向应用服务器发送服务请求 显示处理结果

应用服务器:业务逻辑层执行业务逻辑 并向数据库发送请求

数据库服务器:数据库存储层执行数据逻辑 运行 SQL或存储过程

第一层(浏览器)即客户端 且有输入输出功能,处理极少部分的事务逻辑 由于客户不需要安装客户端 只要有浏览器就能上网浏览 所以它面向的是大范围的用户。

第二层(WEB服务器) 扮演着信息传送的角色 当用户想要访问数据库时 就会首先向WEB服务器发送请求 WEB服务器统一请求后会向数据库服务器发送访问数据库的请求 这个请求是以SQL语句实现的。

第三层(数据库服务器)因为它存放着大量的数据 所以当数据库服务器收到了WEB服务器的请求后 会对SQL语句进行处理,并将返回的结果发送给WEB服务器 然后 WEB服务器将收到的数据结果转换为HTML文本形式发送给浏览器 就是用户看到的浏览器页面

*浏览器成为了客户端,但由于处理的内容较少,所以叫“瘦”客户端

2. B/S架构的优点

能面对广大的用户实现信息传播共享。

浏览器只处理一些简单的逻辑事务,负担小。

页面的更新能实现同步,所有用户都能看到。

界面设计开发简单,对程序员的要求较低,不需要大量的培训。

业务扩展方便,只需要增加几个业务扩展的页面即可,不需要大量的编程。

界面不需要太多的编写,比较通用,更改界面也比较简单,所以几乎不需要维护。

由于Web的平台无关性,可以从一台服务器、几个用户的工作组级扩展成为拥有成上万用户的大型系统。


数据都集中存放在数据库服务器,所以不存在数据不一致现象。

能有效地保护数据平台和管理访问权限,服务器数据库也很安全。

在数据库服务器上不一定使用WINDOWS系统,选择更多,成本更少。

如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。

在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

数据存放在数据库服务器,客户端并不存放任何业务数据或者数据库连接信息,所以数据比较安全。

随着服务器负载的增加,可以平滑地增加服务器的个数并建立集群服务器系统,然后在各个服务器之间做负载均衡。

B/S建立在广域网上,所需的网速不高。

外部的用户也可以对浏览器进行访问。

界面人性化,通用化,不需要多少培训就能掌握。

不需要安装客户端,只要能连上网,就能随时随地的浏览页面。

借助Internet强大的信息发布与信息传送能力可以有效地解决企业内部的大量不规则的信息交流。

所有的用户都是通过一个JDBC连接缓冲池连接到数据库的,用户并不保持对数据库的连接,用户数基本上是无限的。

软件重用性强,节省了大量的成本。

不需要安装特殊的软件,客户端几乎零维护。

开发简单,升级便捷,人员不需要太多培训,节省了大量的资金。

客户端几乎不需要维护,只要盯紧服务器就可以了,所以成本较小。

一般只有初期一次性投入成本,有利于软件项目控制和避免IT黑洞。

建立在广域网之上的, 不必是专门的网络硬件环境,例如电话上网, 租用设备等,成本较小。

3、B/S架构的缺点

 1.客户端

(1)面通用化 不能突出个性

(2)页面需要不断地动态刷新 尤其是用户增多 网速慢得情况很费时

(3)由于不需要安装客户端 客户端易扩展 还有就是外部用户也可以访问 所以B/S面对大量的不可知用户

2.服务器

(1)用户增多时 服务器响应速度慢

(2)功能虽然多样化 但是不能专门化 不能实现复杂的功能

(3)服务器承担着重要的责任 数据负荷较重 一旦发生服务器“崩溃”等问题 后果不堪设想

*C/S与B/S的关系

1.B/S架构是从C/S架构改进而来

2.随着WEB技术的飞速发展以及人们对网络的依赖程度加深 B/S一举成为当今最流行的网络架构

3.两种架构 它们各有千秋 都是非常重要的网络架构

4.响应速度 用户界面 数据安全等方面 C/S强于B/S 在适用www条件下 B/S明显胜过C/S

5.它们各有优缺点 相互无法取代

*C/S与B/S的区别不同点 

1、结构

C/S是两层架构,由客户端和服务器组成,而B/S是三层架构,由浏览器,WEB服务器和数据库服务器组成。

2、逻辑事务处理
C/S架构合理地让客户端和服务器承担一部分逻辑事务处理,使得服务器的负担减轻了,而且客户端也能进行一些数据处理和存储的功能。B/S架构的浏览器就是它的客户端,可是这个客户端只能进行一些简单的输入输出和信息发布共享的功能,主要的逻辑事务处理还是要靠服务器,所以服务器的负担很重。

3、工作原理
C/S架构是客户端和服务器直接相连,实现点对点的通信,B/S是浏览器通过WEB服务器向数据库服务器发送数据请求,实现多对多的通信。

4、响应速度
C/S架构的客户端和服务器直接相连,中间没有任何阻隔,所以相应速度快,尤其是在用户增多时更加明显。B/S架构相应速度慢,主要的重任在数据库服务器身上,由于B/S架构的无限扩展性,当用户激增,访问量庞大时,服务器相应速度慢,服务器存在瘫痪的危险。

5、成本
C/S架构开发时,硬件需要一次性购买,费用较高,且需要训练有素的技术人员,培训费用高,而且软件后期也需要不断投入大量资金。B/S架构只需要一次性投入几乎可以一劳永逸,有利于软件项目控制和IT黑洞。

6、维护、升级以及扩展
C/S架构一旦有业务的变更或要升级,客户端界面就要重新设计,需要投入大量的人力物力。软件维护也比较麻烦,需要专业人士进行维护。用户扩展也比较麻烦,需要安装客户端,对软硬件要求高。B/S架构的维护和升级都非常容易,只要更改页面内容或者增减页面即可,客户端几乎是零维护,只需要维护好服务器。所以相对来说更简易,方便。由于B/S可以随时随地的访问,所以极易扩展。

7、信息共享
C/S架构是建立在局域网之上的,面向的是可知的有限用户,信息共享只在小范围内。B/S架构建立在广域网之上,用户随时随地都可以访问,外部用户也可以访问,尤其是WEB技术的不断发展,B/S面对的是几乎无限的用户群体,所以信息共享性很强。

8、客户端界面
C/S架构可以针对不同的功能设计出不同的很有特色的用户界面,实现个性化。但是一旦业务改变就需要重新设计,很麻烦。B/S架构的用户界面很通用,不能针对用户突出个性,但是业务改变时只需要改变界面内容或者增减页面,很轻松就能实现。

你可能感兴趣的:(软件测试学习,学习)