软件设计基础-C/S系统

时间:2021-11-02 06:57:52

在软件设计开发过程中,逐渐形成了一些针对特定应用领域的软件系统组织方式的惯用模式

如经典的C/S(client/server,客户/服务器)模式和B/S(browser/server,浏览器/服务器)

模式。相应的基于C/S模式和B/S模式开发的系统被称为C/S系统和B/S系统。开发时,可根

据其应用领域的特性选择一种适合的模式进行软件体系结构的设计。

C/S系统在计算机系统发展过程中占据着非常重要的位置,经历了从宿主式集中模式到C/S

模式的发展过程。

典型的宿主式集中模式中,采用大中型机或小型机作为主机,所有任务均为主机完成。

一台主机可配置多台终端,一般可同时支持多个用户,所有用户的应用程序以及数据都存储

在主机上。用户通过终端与主机交互,终端本身几乎没有处理能力,只负责接收用户的输入及显示

主机的处理结果。

20世纪80年代,个人计算机(PC)得到广泛的应用,PC不但可提供与用户交互的能力,同时

也提供了数据存储及数据处理能力。但数据在多台PC之间的共享成为一个大问题,而局域网技术

能够提供对PC、打印机以及大中型机或小型机之间的资源集成起来的有效通信支持。局域网

中的各计算机之间的资源具有不对等性。基于资源的不对等以及便于共享数据和应用,人们

提出一种新的计算模式——C/S模式,并成熟与20世纪90年代。

在C/S模式中,客户和服务器是指进程而不是指机器硬件。进程是一个具有独立功能的程序

关于某个数据集合的一次运行活动,可以把进程简单理解为一个可执行文件的一次执行。

服务器指的是驻留在服务器所在计算机上的不断运行的进程,该进程可以向其他的进程

提供服务,而客户就是期待使用服务的进程。C/S模式是非对称的,不断运行的服务器进程

在网络上等待着客户的服务请求。由于客户决定什么时候向服务器提出请求,因此服务器

实际上是一个总在等待接受请求并提供服务的“从”进程,客户则是提出服务请求的“主”进程。

典型的C/S系统主要由客户应用程序、数据库服务器和网络三部分组成,服务器端主要是数

据库服务器,负责接收并执行客户端有关数据的增加、删除、修改、查询等请求,而客户端

依据业务逻辑对数据进行处理,并负责界面展示。

客户应用程序面向用户,可以向服务器请求并将所得到的响应传递给用户。数据库服务

器是服务的提供者,负责管理数据库并响应用户需求。其中客户应用程序和数据库服务器指

的都是软件,不是真正的计算机硬件设备。

C/S模式具有以下优点:

(1)更好地保护原有资源并共享

C/S模式是一种开放式的结构,可有效地保护原有的软硬件资源;之前在其他环境上积累

的数据和软件均可在C/S中通过集成而得以保留和使用;用户不仅可以存取服务器上的

资源,也可存取其他客户机上的资源。

(2)快速处理信息

当用户提出一项请求时,可由多个服务器并行进行处理,提高响应速度;也可将一项任务

分解,由客户和服务器分别处理,共同合作完成。

(3)客户机和服务器均可单独*升级

同时也具有以下缺点:

(1)将任务分开处理,系统本身也被分为若*分,增大系统开发和管理的复杂程度与

难度,增加了服务器的管理和支持人员的开销。

(2)客户与服务器数据数据库之间的互连支持能力有限,不同的数据库管理系统之间难以

共享数据。同时,由于客户端集成了对数据的处理和显示功能,如果更新程序,则每台客户

机上的软件都要更新,否则就会出错,无形中加大了软件分发和更新困难,增加了工作量和

出错的概率。

软件设计基础-C/S系统的更多相关文章

  1. 安卓手持智能POS端上能扫描开单的软件-店面销售开单系统

    安卓移动POS终端上能扫描开单的软件: 一.登录验证,以业务员.密码登录: 二.订单列表,显示相关信息,包括日期.单据号.客户名.金额.单据状态.有新增订单及按特定条件查询订单的功能(日期.客户等). ...

  2. 非Unicode编码的软件如何在Windows系统上运行

    我们常常会遇到这样一种情况:点开某些日文软件(我不会说就是galgame( ╯□╰ ))会出现乱码或者直接无法运行. 出现乱码的原因很简单:编码与译码的方式不一致!!!!!!!!!!! 首先大家需要知 ...

  3. 三维软件转Unity的系统单位设置研究

    Unity的系统单位为米,其他3D软件的模型导入,而保持和Unity的比例一致是非常重要的,下面对各软件进行测试: ㈠. 3dsmax 转 Unity的比例为100:1:也就是说Unity单位是3ds ...

  4. deb包+软件图标+添加到系统菜单+举例安装卸载

    本文介绍的内容和实验一下: 1. 制造deb包.2. 为了使软件图标.3. 开始菜单中添加到系统中的软件:4. 安装和卸载制作的deb包. 1. 制作deb包 制作deb包的方法可能有多种,本文使用的 ...

  5. 第二节windows系统下Xshell 5软件远程访问虚拟机 Linux系统

    下载Xshell 5软件在windows下安装 安装好后Xshell 5启动软件 下一步,检查虚拟机,配置是否正确 下一步,设置网络,保障虚拟机系统能够连接网络 下一步,进入虚拟机系统,检查虚拟机网络 ...

  6. [软件逆向]实战Mac系统下的软件分析+Mac QQ和微信的防撤回

      0x00  一点废话 最近因为Mac软件收费的比较多,所以买了几款正版软件,但是有的软件卖的有点贵,买了感觉不值,不买吧,又觉得不方便,用别人的吧,又怕不安全.于是我就买了正版的Hopper Di ...

  7. VB|xp风格:终于解决了“图片优化软件”在部分xp系统上无法启动的问题。

    一年以来,图片优化软件一直存在一个“兼容”性问题. 因为之前的软件是在windows 2003系统上开发的,制作成安装文件后,经部分用户测试发现,在部分用户的xp系统上安装后,无法正常启动,只能听到p ...

  8. 我们用整整三年时间,建成了一套软件:用户定制系统(UD)

    这是我们花了三年时间,完成了一套软件--用户定制系统(UD) 主要功能就是集中在下面这个界面了 (自己生成自己哦) ============================= 更多详情,请您访问:我们 ...

  9. 利用U盘大白菜软件来重装win7系统

    个人装win7系统用了两个U盘,一个做启动盘(FAT32格式),另外一个当做系统盘(NTFS格式). 首先在电脑里面下载一个大白菜软件,并且安装好,打开软件,插上U盘,检测到了该U盘即可一键制作启动盘 ...

随机推荐

  1. C#----操作应用程序配置文件App.config

    对配置文件的一些疑问: 在应用程序的目录下,有两处值得注意的地方,一个是应用程序根目录下的App.config文件,和bin\debug\name.exe.config 或者 bin\Release\ ...

  2. VC++中字符串编码的转换

    在以前VC++6.0中默认的字符集是多字节字符集(MBCS:Multi-Byte Character Set),而VS2005及以后默认的字符集是Unicode,这样导致以前在VC6.0中非常简单实用 ...

  3. jquery 请求apache solr 跨域解决方案

    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script&gt ...

  4. ch01&period;深入理解C&num;委托及原理&lpar;转&rpar;

    ch01..深入理解C#委托及原理_<没有控件的ASPDONET> 一.委托 设想,如果我们写了一个厨师做菜方法用来做菜,里面有 拿菜.切菜.配菜.炒菜 四个环节,但编写此方法代码的人想让 ...

  5. 每天一个Linux命令(10)--cat命令

    --首先,恭喜你,这是第十个命令啦. --为啥第十个就要恭喜?没啥特别呀? --因为逢十进一啊! cat命令的用途是连接文件或标准输入并打印.这个命令常用来显示文件内容,或者将几个文件连接起来显示,或 ...

  6. proxifier配合ss,实现全局代理

    proxfixer配合ss的话,基本可以实现全局代理,分应用代理,或者玩外服的游戏(一般的游戏默认不走代理,本软件可以强制应用代理)      由于ss使用的是sockets5代理,一般情况下只有浏览 ...

  7. Hessian序列化的一个潜在问题

    一. 最近的用rpc框架的时候,当用hessian序列化对象是一个对象继承另外一个对象的时候,当一个属性在子类和有一个相同属性的时候,反序列化后子类属性总是为null. 二. 示例代码: DTO对象 ...

  8. 类似于Mimikatz的Linux Hash Dump工具

    项目主页 https://github.com/huntergregal/mimipenguin 需要root权限 支持 Kali 4.3.0 (rolling) x64 (gdm3) Ubuntu ...

  9. bash的内置字符串处理工具

    bash内置字符串处理工具: 1.字符串切片: ${var:offset:number} 取字符串的子串: ${var:  -length} 取字符串的最右侧的length个字符.注意:冒号右侧必须有 ...

  10. MySQL Json类型的数据处理

    新建表 CREATE TABLE `user_copy` ( `id` ) NOT NULL, `name` ) DEFAULT NULL, `lastlogininfo` json DEFAULT ...