Software development system architecture

Software architecture

Posted by QianYe on August 23, 2021

常见2种软件开发体系架构(C/S和B/S)

C/S(Client/Server)

•CS(Client/Server,客户端/服务器)架构,C/S架构在技术上很成熟,它的主要特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。因为客户端要负责绝大多数的业务逻辑和UI展示,又称为胖客户端。它充分利用两端硬件,将任务分配到Client 和Server两端,降低了系统的通讯开销。C/S结构的软件需要针对不同的操作系统系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上局域网用户同时使用情况。

B/S(Browser/server)

​ •BS(Browser/server,浏览器/服务器)架构,BS是伴随着Internet技术的兴起,对C/S架构的改进,为了区别于传统的C/S 模式,特意称为B/S模式。在这种结构下,通过W3浏览器来进入工作界面,极少部分事务逻辑在前端(Browser)实现,它的主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、软件的个性化特点明显降低,难以实现传统模式下的特殊功能要求。它是瘦客户端,对大量的数据输入以及报表的应答等都需要通过浏览器与服务器进行交互,通信开销大,而且对于实现复杂的应用构造有较大的困难。

C/S架构与B/S架构比较

  B/S软件体系架构 C/S软件体系架构
硬件条件 广域网,不必是专门的网络环境,只要是能接入Internet的用户即可 局域网,专门的小范围网络硬件环境,用户固定,用户数量有限
系统维护 客户端零维护,易于实现系统的无缝升级 升级和维护难,成本高
软件重用性 多重结构,各构件相互独立,可重用性比较好 单一结构,软件整体性较强,各部分间的耦合性强,可重用性较差
平台想关性 客户端和服务端是平台无关的 客服端和服务端是平台相关的,多是Windows平台
完全性 面对不可知的用户群,对信息安全的控制能力相对较弱 面对相对固定的用户群,对信息安全的控制能力强

总结

CS架构的响应速度快,安全性强。一般应用于局域网中,但是开发维护成本高;BS架构可以实现跨平台,客户端零维护,但是个性化能力低,响应速度较慢。所以有些单位日常办公应用BS,在实际生产中使用CS结构。