官术网_书友最值得收藏!

3.1 系統(tǒng)的體系架構(gòu)

一個好的系統(tǒng)架構(gòu)不僅有助于軟件開發(fā)進(jìn)度的合理安排,而且能夠使已開發(fā)的系統(tǒng)保持很強(qiáng)的生命力,因此,在開發(fā)起重機(jī)司機(jī)無紙化考試系統(tǒng)之前,必須首先確定系統(tǒng)的架構(gòu)。

目前,應(yīng)用于軟件系統(tǒng)開發(fā)的體系架構(gòu)主要有單機(jī)運(yùn)行、C/S和B/S(Browser/Server)三種模式。而單機(jī)運(yùn)行模式是將整個軟件系統(tǒng)安裝在每一臺PC(Personal Computer)機(jī)中,有多少臺PC機(jī)就需要安裝多少次軟件,并且由于安全性差、保密性差和數(shù)據(jù)回收工作量大等原因,基本上被淘汰。當(dāng)前系統(tǒng)的開發(fā)主流架構(gòu)技術(shù)是C/S架構(gòu)和B/S架構(gòu)。

3.1.1 C/S架構(gòu)

(1)C/S架構(gòu)概述

C/S架構(gòu)是客戶端/服務(wù)器端架構(gòu),即C/S模式,是軟件系統(tǒng)體系結(jié)構(gòu)的一種,主要由客戶機(jī)和服務(wù)器兩部分組成,成長于20世紀(jì)80年代末。該模式是根據(jù)客戶機(jī)和服務(wù)器兩端的硬件環(huán)境合理分配功能的實(shí)現(xiàn),以提高系統(tǒng)的運(yùn)行效率。

(2)C/S架構(gòu)工作過程

C/S架構(gòu)的工作過程:首先是用戶通過操作應(yīng)用程序界面發(fā)出請求。然后,客戶機(jī)端運(yùn)行Client端程序,接收用戶發(fā)送的請求,并且將請求發(fā)送給Server。最后,Server端接收并處理客戶端發(fā)送的請求,處理后的結(jié)果以特定的形式返回給客戶端以顯示給用戶。

目前,C/S架構(gòu)有兩種工作模式:兩層結(jié)構(gòu)的C/S架構(gòu)模式和三層結(jié)構(gòu)的C/S架構(gòu)模式,其相應(yīng)的工作過程略有不同。對于兩層C/S架構(gòu)模式,其層次結(jié)構(gòu)如圖3.1所示。在兩層C/S架構(gòu)模式中,第一層是在Client端上安裝應(yīng)用程序,第二層是在Server端安裝服務(wù)器管理應(yīng)用程序。其工作過程是Client端的應(yīng)用程序請求Server端,Server端管理應(yīng)用程序接收并且處理Client端應(yīng)用程序提出的請求,處理請求并將結(jié)果返回。

圖3.1 兩層C/S架構(gòu)模式層次結(jié)構(gòu)

三層C/S架構(gòu)模式是在兩層C/S架構(gòu)模式的基礎(chǔ)上演化而來的,其層次結(jié)構(gòu)如圖3.2所示。

圖3.2 三層C/S架構(gòu)模式層次結(jié)構(gòu)

由圖3.2可知,在該結(jié)構(gòu)中,第一層是客戶機(jī)端,第二層是應(yīng)用服務(wù)器端,第三層是數(shù)據(jù)庫服務(wù)器端。其工作過程是:用戶首先操作Client端應(yīng)用程序界面,使其運(yùn)行應(yīng)用程序,發(fā)出請求;然后應(yīng)用服務(wù)器接受、處理并將Client端的請求遞交給數(shù)據(jù)庫服務(wù)器端;最后,數(shù)據(jù)庫服務(wù)器端接收請求,處理數(shù)據(jù)庫中的數(shù)據(jù),并將處理后的結(jié)果返回應(yīng)用服務(wù)器端,應(yīng)用服務(wù)器端繼續(xù)將處理的結(jié)果傳送至客戶機(jī)端,以實(shí)現(xiàn)用戶的操作。

將兩層C/S架構(gòu)模式和三層C/S架構(gòu)模式進(jìn)行對比可知,采用三層C/S架構(gòu)模式開發(fā)的軟件可維護(hù)性較好。盡管目前三層C/S架構(gòu)模式運(yùn)用于實(shí)際開發(fā)的案例很少,但是它將是未來的一個發(fā)展趨勢。

(3)C/S架構(gòu)特點(diǎn)

C/S架構(gòu)一般應(yīng)用于基于局域網(wǎng)環(huán)境開發(fā)的軟件中,使用戶操作界面美觀友好,交互性較強(qiáng),且能夠很好地實(shí)現(xiàn)用戶要求,同時可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端,降低了系統(tǒng)的通信開銷。該架構(gòu)的特點(diǎn)優(yōu)勢如下:

①能充分發(fā)揮客戶端PC的處理能力。很多工作可以在客戶端處理后再提交給服務(wù)器,對應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快,適用于局域網(wǎng)。

②運(yùn)行速度快,工作效率高。原因在于Client和Server可以直接通信,能夠充分體現(xiàn)Client端處理請求的能力。

③數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨(dú)立進(jìn)行的,前臺應(yīng)用程序可以違反某些安全性、數(shù)據(jù)完整性規(guī)則,例如訪問者的權(quán)限,編號不可以重復(fù)、必須有客戶才能建立訂單這樣一些規(guī)則在前臺程序中不考慮,而由服務(wù)器程序集中實(shí)現(xiàn)。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無需過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非?!笆菪 保闊┑氖虑槎冀唤o了服務(wù)器和網(wǎng)絡(luò)。在C/S架構(gòu)中,數(shù)據(jù)庫還不能真正成為公共、專業(yè)化的倉庫,它受到獨(dú)立的專門管理,需要提供多方面關(guān)于約束的控制。

④適合分布式計算環(huán)境。由于聯(lián)網(wǎng)的計算機(jī)以客戶端/服務(wù)器模式為基礎(chǔ),并且使用消息傳遞方式進(jìn)行通信,因此,本地服務(wù)器可以很方便地把消息發(fā)送給遠(yuǎn)程客戶。而對客戶來說,是從遠(yuǎn)程得到的服務(wù)還是從本地得到的服務(wù)并不重要。

⑤系統(tǒng)支持面向?qū)ο蟮哪K化開發(fā),具有較強(qiáng)的交互性,可以實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)流程。

⑥安全性和穩(wěn)定性高。由于在C/S架構(gòu)模式中,采用統(tǒng)一管理的方式進(jìn)行管理數(shù)據(jù)資源,尤其是對重要的數(shù)據(jù)可以設(shè)置訪問權(quán)限,因此能夠保證系統(tǒng)的安全性和穩(wěn)定性。

3.1.2 B/S架構(gòu)

(1)B/S架構(gòu)概述及工作過程

B/S架構(gòu)即B/S模式,是繼Web興起后的一種應(yīng)用于網(wǎng)絡(luò)系統(tǒng)開發(fā)的架構(gòu)模式。該架構(gòu)由瀏覽器、Web服務(wù)器和數(shù)據(jù)庫服務(wù)器三個層次組成,前端只是實(shí)現(xiàn)極少數(shù)的事務(wù)邏輯,大多數(shù)事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn),其層次結(jié)構(gòu)如圖3.3所示。其工作過程是:首先,用戶通過操作瀏覽器將請求傳遞給Web服務(wù)器;其次,Web服務(wù)器將用戶的請求發(fā)送給數(shù)據(jù)庫服務(wù)器;最后,Web服務(wù)器接收數(shù)據(jù)庫服務(wù)器的處理結(jié)果(即用戶請求),并將用戶請求返回瀏覽器。

圖3.3 B/S架構(gòu)層次結(jié)構(gòu)

(2)B/S架構(gòu)特點(diǎn)

B/S架構(gòu)的主要特點(diǎn)有:

①具有很強(qiáng)的開放性和可擴(kuò)展性。

②采用點(diǎn)(或者多點(diǎn))對多點(diǎn)的架構(gòu)模式,便于系統(tǒng)的開發(fā)、維護(hù)和升級。

③由于B/S架構(gòu)只安裝一個服務(wù)器,并且系統(tǒng)的核心功能實(shí)現(xiàn)部分集中于服務(wù)器上,因此在該架構(gòu)中的服務(wù)器處理大量的數(shù)據(jù),負(fù)荷較大,從而有可能導(dǎo)致服務(wù)器發(fā)生崩潰,如果發(fā)生崩潰,那么系統(tǒng)也就癱瘓了。

④由于B/S架構(gòu)應(yīng)用于基于廣域網(wǎng)環(huán)境開發(fā)的軟件系統(tǒng)中,因此系統(tǒng)安全性不容易保證。

3.1.3 用于起重機(jī)司機(jī)無紙化考試系統(tǒng)的架構(gòu)

在實(shí)際開發(fā)中,系統(tǒng)開發(fā)應(yīng)根據(jù)所開發(fā)系統(tǒng)的特點(diǎn)和自身硬件的要求確定選擇什么樣的體系架構(gòu)。通過對比上述描述的C/S架構(gòu)和B/S架構(gòu)的工作過程及特點(diǎn),結(jié)合起重機(jī)司機(jī)無紙化考試系統(tǒng)的需求分析,考慮到考點(diǎn)的多設(shè)置問題、系統(tǒng)登錄的安全性以及數(shù)據(jù)庫中數(shù)據(jù)的安全性等,因此,本系統(tǒng)選擇交互性較強(qiáng),且操作處理數(shù)據(jù)能力較強(qiáng)的兩層C/S架構(gòu)作為系統(tǒng)開發(fā)架構(gòu)。起重機(jī)司機(jī)無紙化考試系統(tǒng)架構(gòu)如圖3.4所示。

圖3.4 起重機(jī)司機(jī)無紙化考試系統(tǒng)架構(gòu)

由圖3.4可以看出,客戶機(jī)端主要是提供應(yīng)用程序的界面,實(shí)現(xiàn)和用戶交互的功能,為用戶提供登錄接口。服務(wù)器端則主要是通過應(yīng)用程序以實(shí)現(xiàn)功能。首先服務(wù)器端接收用戶請求;然后運(yùn)行的應(yīng)用程序通過ADO技術(shù)實(shí)現(xiàn)數(shù)據(jù)庫連接,且操作數(shù)據(jù)庫,例如:查詢、修改和刪除數(shù)據(jù)庫中的數(shù)據(jù)等功能;最后將運(yùn)行結(jié)果返回給客戶機(jī)端。

主站蜘蛛池模板: 化隆| 安徽省| 洱源县| 丰县| 洛浦县| 西林县| 渝北区| 磐安县| 峨山| 衡东县| 嘉义县| 通化县| 长武县| 耒阳市| 政和县| 汉中市| 逊克县| 蛟河市| 五莲县| 黑水县| 弥勒县| 和田市| 酉阳| 泽州县| 承德市| 靖江市| 微山县| 普兰县| 荃湾区| 莫力| 凤山市| 芦山县| 漳浦县| 正蓝旗| 渭源县| 滁州市| 保定市| 兴城市| 阿尔山市| 萨嘎县| 天台县|