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

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

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

目前,應(yīng)用于軟件系統(tǒng)開(kāi)發(fā)的體系架構(gòu)主要有單機(jī)運(yùn)行、C/S和B/S(Browser/Server)三種模式。而單機(jī)運(yùn)行模式是將整個(gè)軟件系統(tǒng)安裝在每一臺(tái)PC(Personal Computer)機(jī)中,有多少臺(tái)PC機(jī)就需要安裝多少次軟件,并且由于安全性差、保密性差和數(shù)據(jù)回收工作量大等原因,基本上被淘汰。當(dāng)前系統(tǒng)的開(kāi)發(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ù)器兩部分組成,成長(zhǎng)于20世紀(jì)80年代末。該模式是根據(jù)客戶機(jī)和服務(wù)器兩端的硬件環(huán)境合理分配功能的實(shí)現(xiàn),以提高系統(tǒng)的運(yùn)行效率。

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

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

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

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

三層C/S架構(gòu)模式是在兩層C/S架構(gòu)模式的基礎(chǔ)上演化而來(lái)的,其層次結(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ù)庫(kù)服務(wù)器端。其工作過(guò)程是:用戶首先操作Client端應(yīng)用程序界面,使其運(yùn)行應(yīng)用程序,發(fā)出請(qǐng)求;然后應(yīng)用服務(wù)器接受、處理并將Client端的請(qǐng)求遞交給數(shù)據(jù)庫(kù)服務(wù)器端;最后,數(shù)據(jù)庫(kù)服務(wù)器端接收請(qǐng)求,處理數(shù)據(jù)庫(kù)中的數(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)行對(duì)比可知,采用三層C/S架構(gòu)模式開(kāi)發(fā)的軟件可維護(hù)性較好。盡管目前三層C/S架構(gòu)模式運(yùn)用于實(shí)際開(kāi)發(fā)的案例很少,但是它將是未來(lái)的一個(gè)發(fā)展趨勢(shì)。

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

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

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

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

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

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

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

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

3.1.2 B/S架構(gòu)

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

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

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

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

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

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

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

③由于B/S架構(gòu)只安裝一個(gè)服務(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)境開(kāi)發(fā)的軟件系統(tǒng)中,因此系統(tǒng)安全性不容易保證。

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

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

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

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

主站蜘蛛池模板: 鄢陵县| 石狮市| 胶南市| 永清县| 定南县| 永嘉县| 长海县| 宿松县| 乡宁县| 鞍山市| 察隅县| 汕尾市| 安乡县| 抚宁县| 丰都县| 阿尔山市| 板桥市| 聂拉木县| 那坡县| 任丘市| 清远市| 伽师县| 翁牛特旗| 泸州市| 会泽县| 旅游| 化州市| 西乡县| 东乌珠穆沁旗| 洛川县| 郴州市| 阳山县| 巴中市| 永仁县| 贵南县| 靖州| 阳原县| 顺平县| 碌曲县| 那曲县| 凭祥市|