UML软件工程组织

常用体系结构介绍(1)
作者:王辉 本文选自:赛迪网 2003年02月12日

系统设计就是程序人员把用户的需求设计成系统可以明白的任务描述,使程序人员编写出相应的计算机系统。

系统设计有四个重点分别是:体系设计、功能模块设计、数据库及算法设计和界面设计。而体系设计是系统设计中的重中之重,系统体系是体系设计中的核心,本文将重点介绍体系设计中当前流行的各个系统体系及其特点。

体系设计

体系设计一般是明确用户的需求,经过调研分析后进行最终决定的,但现在很多体系设计是采用在社会上广泛的公布需求(以标书的形式),由开发商拟定竟相投标的,正式中标后,再进行认定形式的调研分析。这种情况下,开发商要特别注意的是:在投标时就要根据其标书的内容及性质明确其系统的设计体系及技术类型。

常用系统体系

层次体系

所谓层次的慨念就是一层一层分割一目了然的处理方式。层次体系就是利用分层的方式来处理复杂的功能,层次系统要求上层子系统可以使用下层子系统的功能,而下层子系统不能够使用上层子系统的功能。一般下层每个程序接口执行当前的一个简单的功能,而上层通过调用不同的下层程序,并按不同的顺序来执行这些下层程序,层次体系就是以这种方式来完成多个复杂的业务功能的。

这种层次结构的典型就是计算机网络的OSI参考模型,如图所示:

技术特点:

又比如某一系统为了快速开发程序界面,界面编写语言是Microsoft Visual Basic 6.0中文版,而为了实现某些特定的功能又采用了Microsoft Visual C++ 6.0编写COM,调用SDK进行具体实现,这种方式就是层次体系的结构。

本体系应用于单机系统。中下层的由Microsoft Visual C++ 6.0等开发组件编写COM组件(DLL文件等)或驱动程序,由最上层是快速开发工具(Microsoft Visual Basic 6.0、Delphi等)进行调用。系统中的中下层程序(组件等)和最外层的EXE文件可以分别升级。最为典型是现在WINDOWS 2000的补丁,杀毒软件(金山毒霸)可以进行网上升级,它是程序升级过程就是从网上下载相应的程序文件更新本地相应的DLL和EXE文件。

· 应用于:一般的单机应用软件,小的工资管理,个人名片(备忘录)管理(Microsoft Visual Basic + ACCESS数据库)等,驱动程序实际也为典型的层次体系结构。

客户机/服务器(两层)结构

客户机/服务器结构简称C/S结构或称两层结构,由服务器提供应用(数据)服务,多台客户机进行连接。如下图所示:

客户/服务器应用模式的特点是大都基于“肥客户机”结构下的两层结构应用软件。客户端软件一般由应用程序及相应的数据库连接程序组成。服务器端软件一般是某种数据库系统。

技术特点:

当前的实际应用中多数服务器就是一台数据库服务器(如DB2、ORACEL等数据库),而客户端就是用Microsoft Visual Basic 6.0编写的客户软件,通过ODBC或ADO同数据库服务器通信。组成一个应用系统。由于快速开发工具(Microsoft Visual Basic 6.0、Delphi等)全部有ODBC或ADO开发专用组件和向导,本技术体系开发系统相当简单快速。

在实际开发中很多情况是编程人员把简单查询和数据操作放在前端开发语言中,复杂的业务逻辑程序放在了数据库的存储过程中,本方式也属于C/S结构,不过业内人员有时称这种方式为两层半结构。

客户/服务器应用模式的缺点是系统客户方软件安装维护困难、数据库系统的无法满足对于成百上千的终端同时联机的需求、由于客户/服务器间的大量数据通信不适合远程连接,使其只能适合于局域网应用。

采用C/S结构,服务器的操作系统不但可以为WINDOWNS系统服务器,也可以是UNIX、LINUX服务器,除了服务器端安装及维护方式不同外,客户端安装及连接服务器方式同连WINDOWS服务器方式没有区别。

· 应用于:一般用于客户机在50台以下的ERP系统,客户机采用Microsoft Visual Basic或Delphi编写,服务器采用SQL Server 、DB2、ORACEL等大型数据库。

三层次客户机/服务器结构和浏览器/服务器结构的数据库服务器管理端由于客户端连接数少,也常采用C/S结构。

浏览器/服务器(B/S)结构

在当前Internet/Intranet领域,“浏览器/服务器”结构是当前非常流行的客户机/服务器结构,简称B/S结构。如下图所示。

技术特点:

这种结构最大的优点是:客户机统一采用浏览器,这不仅让用户使用方便,而且使得客户机不存在及安装维护的问题。当然软件开发布和维护的工作不是自动消失了,而是转移到了Web服务器端。在Web服务器端,程序员使用脚本语言编写响应页面。

当前主要的浏览器是 Netscape Navigator和Internet Explorer,Internet Explorer和windows捆绑销售,而Netscape Navigator是可以免费下载的。国内大部分客户机基于Internet Explorer,而服务器使用ASP、JSP或PHP编写。

客户机可以是WINDWS(浏览器为Internet Explorer)、LINUX(浏览器为Netscape Navigator)、UNIX(浏览器为Netscape Navigator),而服务器可以是WINDOWS服务器(WEB服务为IIS5,数据库SQL SERVER或ACCESS,脚本语言为ASP,如:当当网上书店 http://www.dangdang.com)、也可以是UNIX(WEB服务为Apache ,数据库为MYSQL,脚本语言为PHP,如:21CN.COM 的旅游频道http://travel.21cn.com)

客户机同WEB服务器之间的通信采用HTTP协议,由于HTTP协议是一种无连接的协议,通信原理如下:浏览器只有在接受到请求后才和WEB服务器进行连接,WEB服务器马上与数据库通信并取得结果,WEB服务器再把数据库返回的结果转发给浏览器,浏览器接收到返回信息后马上断开连接。由于正真的连接时间很短,这样WEB服务器可以共享系统资源,为更多用户提供服务,达到可以支持几千、几万甚至于更多用户的能力。

一般用于电子商务网站、大型公司企业网、客户机是无盘工作站的多客户机的系统。

但由于当前HTML语言的局限性,其打印和界面控制不是很理想,所以主要用于网站建设。

· 应用于:本结构多应用于商业网站。如:21CN.COM的旅游频道http://travel.21cn.com(WEB服务为Apache ,数据库为MYSQL,脚本语言为PHP)。

当前也有很多公司内部的ERP系统、信息处理系统也采用本方式。

三层次客户机/服务器结构

三层次客户机/服务器结构是在常规客户机/服务器结构上提出的,系统在客户机和数据库服务器间添加一个应用服务器。

注意:虽然物理结构是所有主机连接集线器,但只有实际运行是客户机连接应用服务器,应用服务品同数据库服务器通信。客户机同数据库服务器不进行通信连接。



版权所有:UML软件工程组织