- 無(wú)紙化考試系統(tǒng)開(kāi)發(fā)理論與實(shí)踐:基于起重機(jī)司機(jī)考試
- 董明曉 田君茹 董岱岳
- 2449字
- 2020-05-07 10:16:31
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ī)端。
- 2019年上海市選聘高校畢業(yè)生到村任職考試《綜合知識(shí)和能力》考點(diǎn)精講及典型題(含歷年真題)詳解
- 外貿(mào)單證
- 房地產(chǎn)開(kāi)發(fā)與經(jīng)營(yíng)
- 動(dòng)物解剖學(xué)與組織胚胎學(xué)
- 鞋靴設(shè)計(jì)學(xué)(第二版)
- 北京服裝學(xué)院服裝藝術(shù)與工程學(xué)院2015屆畢業(yè)設(shè)計(jì)作品集
- 高校法學(xué)專業(yè)核心課程配套測(cè)試:刑事訴訟法(第八版)
- 水文學(xué)(第二版)
- 大型賽事媒體運(yùn)行理論與實(shí)務(wù)(體育新聞與傳播專業(yè)教材系列)
- 學(xué)校心理拓展訓(xùn)練
- 走寫畫:繪畫寫生. 設(shè)計(jì)素材的捕捉與應(yīng)用
- 陶藝設(shè)計(jì)與制作
- 會(huì)計(jì)學(xué)原理
- 同等學(xué)力申碩《地理學(xué)學(xué)科綜合水平考試大綱及指南》(第3版)課后習(xí)題詳解
- 范健《商法》(第4版)【教材精講+考研真題解析】講義與視頻課程【40小時(shí)高清視頻】