知识点讲解
 
       客户机/服务器风格
知识路径: > 软件架构基础知识 > 软件架构的风格 > 软件架构风格 > 
被考次数:1次
被考频率: 低频率
总体答错率: 65%
知识难度系数:
考试要求: 掌握     
相关知识点:17个
        C/S架构可以是二层的,也可以是三层的。本节介绍二层的C/S架构,12.3.3节介绍三层的C/S架构。
        二层C/S架构是基于资源不对等,且为实现共享而提出来的,C/S架构定义了工作站如何与服务器相连,以实现数据和应用分布到多个处理机上。C/S架构有3个主要组成部分,分别是数据库服务器、客户应用程序和网络。
        服务器负责有效地管理系统的资源,其任务集中于:数据库安全性的要求、数据库访问并发性的控制、数据库前端的客户应用程序的全局数据完整性规则、数据库的备份与恢复;客户应用程序的主要任务是:提供用户与数据库交互的界面,向数据库服务器提交用户请求并接收来自数据库服务器的信息,利用客户应用程序对存在于客户端的数据执行应用逻辑要求;网络通信软件的主要作用是完成数据库服务器和客户应用程序之间的数据传输。
        C/S架构将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。服务器为多个客户应用程序管理数据,而客户程序发送、请求和分析从服务器接收的数据,这是一种胖客户机(fat client)、瘦服务器(thin server)的软件架构。其数据流图如下图所示。
        
        C/S结构的一般处理流程
        在一个C/S架构的软件系统中,客户应用程序是针对一个小的、特定的数据集,如一个表的行来进行操作,而不是像文件服务器那样针对整个文件进行,对某一条记录进行封锁,而不是对整个文件进行封锁,因此保证了系统的并发性,并使网络上传输的数据量减到最少,从而改善了系统的性能。
        C/S架构的优点主要在于系统的客户应用程序和服务器构件分别运行在不同的计算机上,系统中每台服务器都可以适合各构件的要求,这对于硬件和软件的变化显示出极大的适应性和灵活性,而且易于对系统进行扩充和缩小。在C/S架构中,系统中的功能构件充分隔离,客户应用程序的开发集中于数据的显示和分析,而数据库服务器的开发则集中于数据的管理,不必在每一个新的应用程序中都要对一个DBMS进行编码。将大的应用处理任务分布到许多通过网络连接的低成本计算机上,以节约大量费用。
        C/S架构具有强大的数据操作和事务处理能力,模型思想简单,易于人们理解和接受。但随着企业规模的日益扩大,软件的复杂程度不断提高,C/S架构逐渐暴露了以下缺点:
        (1)开发成本较高。C/S架构对客户端软硬件配置要求较高,尤其是软件的不断升级,对硬件要求不断提高,增加了整个系统的成本,且客户端变得越来越臃肿。
        (2)客户端程序设计复杂。采用C/S架构进行软件开发,大部分工作量放在客户端的程序设计上,客户端显得十分庞大。
        (3)信息内容和形式单一,因为传统应用一般为事务处理,界面基本遵循数据库的字段解释,开发之初就已确定,用户获得的只是单纯的字符和数字,既枯燥又死板。
        (4)用户界面风格不一,使用繁杂,不利于推广使用。
        (5)软件移植困难。采用不同开发工具或平台开发的软件,一般互不兼容,不能或很难移植到其他平台上运行。
        (6)软件维护和升级困难。采用C/S架构的软件要升级,开发人员必须到现场为客户机升级,每个客户机上的软件都需维护。对软件的一个小小改动,每一个客户端都必须更新。
        (7)新技术不能轻易应用。因为一个软件平台及开发工具一旦选定,不可能轻易更改。
 

更多复习资料
请登录电脑版软考在线 www.rkpass.cn

京B2-20210865 | 京ICP备2020040059号-5
京公网安备 11010502032051号 | 营业执照
 Copyright ©2000-2023 All Rights Reserved
软考在线版权所有