《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于C/S模式多層結構的通用計算機在線考試系統的實現
基于C/S模式多層結構的通用計算機在線考試系統的實現
來源:微型機與應用2011年第14期
丁革媛, 宋 揚, 袁忠臣, 魏寶武, 劉 彤
(沈陽工業大學 工程學院, 遼寧 遼陽 111003)
摘要: 數字化教學與學習環境建設是高校數字化校園建設的核心內容。利用開發工具Borland Delphi 7 和SQL Server 2000開發出適用于多學科的通用計算機在線考試軟件系統,實現了考試過程與管理的數字化、信息化和自動化。由于采用多層結構,在最為關鍵的中間層,設計采用了大量的遠程方法供客戶端調用,從而形成“瘦客戶機,胖服務器”模式,完全避免了傳統C/S模式中“胖客戶機、瘦服務器”的缺陷。不但使業務邏輯的改變從客戶端分離出來,同時大大減少了網絡流量,提高了軟件系統的性能。
Abstract:
Key words :

摘 要: 數字化教學與學習環境建設是高校數字化校園建設的核心內容。利用開發工具Borland Delphi 7 和SQL Server 2000開發出適用于多學科的通用計算機在線考試軟件系統,實現了考試過程與管理的數字化、信息化和自動化。由于采用多層結構,在最為關鍵的中間層,設計采用了大量的遠程方法供客戶端調用,從而形成“瘦客戶機,胖服務器”模式,完全避免了傳統C/S模式中“胖客戶機、瘦服務器”的缺陷。不但使業務邏輯的改變從客戶端分離出來,同時大大減少了網絡流量,提高了軟件系統的性能。
關鍵詞: C/S模式;多層結構;在線考試;SQL Server;存儲過程

 隨著計算機網絡技術和數據庫技術的飛速發展,高校的信息化建設進程日益深入,其中數字化校園建設成為其核心內容。縱觀全國各高校的數字化校園建設,大多以建設數字化網絡環境、數字化教學資源、數字化教學與學習環境、數字化管理手段和工作環境;實現數字化科研和管理;創建數字化生活空間;實現教育的信息化和現代化等為最終目標[1]。為推動數字化校園建設進程,創建數字化教學環境,開發出適用于多學科的計算機在線考試軟件系統。通過此軟件可以實現多學科網上在線考試,既能把教師從繁重的批閱試卷、復核試卷、試卷分析等工作中解放出來,又免去了印制紙質試卷、按考場分發試卷、紙質試卷保存等很多繁重工作,而且提高了試卷的保密性。
1 C/S模式的多層結構
 C/S模式是一種普遍應用的網絡計算模式。傳統的C/S模式是兩層結構,在這種模式下,網絡中的計算機分為兩個有機部分:客戶機和服務器。服務器只負責各種數據的處理和維護,為各個客戶機應用程序管理數據;客戶機包含文檔處理軟件、決策支持工具、數據查詢等應用邏輯程序,通過網絡使用SQL語言發送、請求和分析從服務器接收數據。這是一種“胖客戶機(Fat Client)”、“瘦服務器(Thin Server)”的網絡結構模式。隨著C/S結構應用范圍的不斷擴大和計算機網絡技術的發展,這種結構的缺陷日益明顯,如系統的可靠性有所降低、缺乏靈活性、資源浪費嚴重、維護費用較高等[2]。
 為解決這一問題,網絡計算模式逐漸從兩層擴展到N層,形成多層結構。在多層結構中把業務邏輯獨立出來,使得應用系統的開發模式變為下面形式:
 (1)客戶端。只注重人機界面的設計,不必關心業務邏輯和數據庫的訪問,使開發大大簡化,并且使得原兩層結構的胖客戶機變成瘦客戶機。
 (2)中間業務邏輯層。提供客戶端程序調用的業務邏輯規則,以完成其業務操作。當業務邏輯改變時,客戶端不必改變。
 (3)數據庫服務層。提供對數據庫進行各種操作的方法,由中間業務邏輯層調用完成業務邏輯。
 可以看出,在多層結構中,層次劃分不是物理上的劃分,而是結構邏輯上的劃分,即按應用目標劃分。如果客戶端要求響應速度很快,業務組件的體積較小,業務組件可以放在客戶端;如果業務組件包含大量對數據庫的操作,可以配置在數據庫服務器上,以減少網絡負載,提高運算速度;如果業務組件可供大多數客戶機程序訪問,則可以使用業務組件構成一個應用服務器,供大家訪問。由于多層結構的運行機制,使得多層結構具備以下優點[3]。
 (1)可伸縮性好。可按應用要求部署邏輯層次,適應于本地網和廣域網。
 (2)網絡效率高。通過合理布局,因網絡傳輸的數據量大大減少,網絡效率得到提高。
 (3)可管理性強。客戶端基本實現“零維護”,主要管理工作集中在應用邏輯層,業務邏輯的修改對客戶端沒有影響。
 (4)可重用性好。按可提供的服務構筑應用,每種服務可以被不同的應用再次使用。由于系統采用面向對象的組件構成,進一步增加了可重用性。
2 系統需求分析
 數字化教學環境是學校數據化校園建設的重要組成部分。而數字化教學環境以建立網上教務管理系統、網上考試系統、網上答疑系統和網上討論系統等為主要內容。目前,已實現網上教務管理、網上答疑和網上討論目標。為實現網上考試目標,探索開發適用于多學科的計算機在線考試軟件系統成為關鍵。要開發出適用于多學科的平臺型計算機在線考試系統,首先對試題內容、試題形式、評分標準、試題數量、試卷分析等問題要進行周密的考慮,據此設計出一種能夠適用于多學科的平臺型試卷模板,在網絡環境正常運行的前提下,實現網上在線考試。通過該考試系統,完成自動抽取試卷、自動批閱試卷、自動回收成績、自動分析試卷、打印成績單等功能。針對軟件系統的功能和性能等實際需求,設計服務器開發環境采用安全性較高穩定性較好的數據服務器SQL Server 2000,采用Windows 2003 Server 作為服務器操作系統,C/S結構前端采用Borland Delphi 7作為開發工具[4]。
3 系統功能設計
 在需求分析的基礎上,確定計算機在線考試軟件系統包括服務器管理、學生管理、考試管理、題庫管理、自動閱卷、試卷分析和系統維護等功能,其軟件結構圖如圖1所示。


4 系統實現
 由于軟件系統中的服務器要同時與大量的考試終端發生信息交互,為了避免由于服務器處理負荷過重而引起的系統崩潰,同時要保證整個系統在網絡環境中的安全性,設計采用C/S模式多層網絡計算模式。通過將任務合理分配到客戶端和服務器端,再充分利用兩端的硬件環境優勢,提高系統的整體數據處理效率并實現考試終端和管理中心的雙向通信。軟件系統客戶端運行時的主界面如圖2所示。

 

 

4.1 中間業務邏輯層設計
    中間層服務器是系統設計的關鍵,在中間層上設計了大量的遠程方法供客戶端調用,這種方式稱為“瘦客戶機,胖服務器”模式。使用該模式,當客戶功能有所變動時,只需更改中間層上的方法,而不用重新分發客戶端。在Delphi7中使用DataSetProvider控件提供RPC服務,對于客戶端的每一個操作,都可以通過在中間層服務器中設計相應的方法實現[5]。在中間層設計的兩個主要方法如下:
  (1)function ExeClientSql(const MySql: WideString): WordBool; safecall;
  //執行SQL的更新、插入、刪除等操作,返回是否成功;
  (2)function GetClientData(const MySql: WideString): OleVariant; safecall;
                     //執行SQL的查詢操作,返回查詢結果。
4.2 軟件系統的主要技術特點
  (1)考試時由考生隨機抽題組卷,同時確保相鄰考生抽取不同的試題。實現該功能的存儲過程如下:
  CREATE PROCEDURE cp_Paper_Sel
  @tblDL char(20),
  @MyPrior int,
  @MyNext int,
  @MyKM char(30)
   AS
  exec(′select top 1 套題編號,套題名稱 from tblcrecord where 套題編號 not in
   (select 套題編號 from ′+@tblDL+′ where IP序號=′+@MyPrior+′or IP序號=′+@MyNext+′) and 科目名稱=‘’‘+@MyKM+’‘’and 是否抽取=′′是′′ order by newid()′)
  GO
     (2)IP安全技術:考試系統中將考試IP限定在某一區域內,如192.168.36.1到192.168.36.200,可以防止在考場外進行替考,同時在考試時通過“禁止未登錄考生參加考試”功能,在考生登錄之后進一步避免了場外替考現象的發生。此外,將考生考號和考生機器IP地址進行綁定,考生在考試過程中,只能在一臺計算機上答題,以防止考生之間相互換題等作弊行為。當考生登錄到考試系統以后,將考生機器IP地址寫入考生信息表以及登錄IP表,防止一個考號在兩臺機器上登錄。
  //檢查是否同一IP登錄
        with cds2 do
          begin
             Close ;
             SQL.Clear ;
             SQL.Add(′exec sp_Query_All:fldName,:tblName′);;
             Params.ParamByName(′fldname′).Value :=′*′;
             Params.ParamByName(′tblName′).Value:=
dm.tblDL+′ where登錄IP='''+dm.MyIP+''';
             try
               Open;
             if recordcount<>0  then
             begin
                sMessageDlg(′警告′,′無效的考試請求!′,
mtWarning ,[mbOK],0);
                exit;
             end ;
             except
               raise ;
             end;
  (3)考試時間限制:考生第一次取題開始計時,到規定的時間結束,考生只有在該時間內可以取題,其他時間都不能取題,計時由服務器完成,同時,若考試過程中由于意外情況導致考試終止時,監考老師可以通過輸入二次答題密碼的方式讓考生繼續答題,從而實現考生考試時間的公平性,又加強了試題的安全性。
     (4)大量應用存儲過程,保障系統的快速反應和高效運行。例如,將考生抽取的試題加入到考試數據庫中的存儲過程:
  CREATE PROCEDURE cp_Paper_Add
  @tblKS char(20),
  @MyNo char(10),
  @Mynum char(20),
  @Mytbl char(10)
   AS
  exec(′insert into′+@tblKS+′ (學生學號,套題編號,試題序號,試題內容,試題答案,試題分數,是否答題,套題名稱,考試科目,試題類型,學生分數,類別序號) select '''+@MyNo+''','''+@Mynum+''',試題序號,試題內容,試題答案,試題分數,′′否′′,套題名稱,科目名稱,試題類型,0,類別序號  from  ′+@Mytbl+′ where  套題編號='''+@mynum+''')
  GO
  (5)數據加密功能。軟件系統中使用了關鍵數據加密和數據庫動態加密兩種技術。對于考試系統中的重要數據使用關鍵數據加密技術,如試題庫中的試題采用加密的方式存儲,用戶登錄時的密碼加密后保存到數據庫中,以免被他人獲取并泄漏。而用戶每次登錄數據庫時,系統都會自動修改數據庫密碼并進行加密存儲,這樣使得數據庫密碼具有不確定性,大大增加了數據庫的安全性,實現數據庫動態加密[6]。
  (6)試題錄入功能獨立于主系統。將試題錄入功能與主系統分開,既保障了系統的安全性,又方便教師進行試題錄入。通過設置登錄賬號和錄入科目,限制教師只能在指定時間內根據指定的驗證碼錄入指定科目試題,增加了題庫的安全性。
  采用C/S模式多層結構開發數據庫應用系統,比傳統的C/S模式結構有著無法比擬的優勢。該軟件系統主要采用了多層結構使得業務邏輯從客戶端分離出來,在最為關鍵的中間層上,設計了大量的遠程方法供客戶端調用,從而形成“瘦客戶機,胖服務器”模式,不但很好地實現了軟件系統的各項功能,而且簡化了程序設計,大大減少了網絡流量,從而提高軟件系統的運行效率、可維護性和整體性能。
參考文獻
[1] 郭清順.高校數字化校園建設的整體目標與實施策略[EB/OL].http://www.sysu.edu.cn/2003/xxzy/yth/text/
mubiao.ppt.
[2] 孫志鋒,徐鏡春,歷小潤.數據結構與數據庫技術[M].杭州:浙江大學出版社,2004:186-189.
[3] 李舒,陳麗君.高校學生成績管理系統的設計與實現[J].遼寧大學學報.自然科學版,2006,33(3):283-285.
[4] 席茂軍,方勇,吳少華,等.Delphi +SQL Server 2000平臺數據庫應用系統研究[J].計算機工程與設計,2009,30(5):1245-1246.
[5] 胡開明,陳建華,陳素燕,等.基于Delphi的SQL數據庫服務器安全監控[J].鄭州輕工業學院學報(自然科學
版),2010,25(3):120-122.
[6] 吳小林,蔣先剛,高艷錦.基于Delphi的多層數據庫應用系統連接技術的研究[J].華東交通大學學報,2005,22(1):68-70.
 

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 瑟瑟网站免费 | 亚洲国产精品网 | 成年在线视频免费视频观看 | 精品国产亚洲人成在线 | 亚洲涩涩视频 | 最近2019中文字幕大全7 | 按摩毛片 | 日日摸夜夜爽夜夜爽出水 | 中文在线最新版天堂 | 欧美日本道免费二区三区 | 天天艹夜夜艹 | 国产免费黄视频 | 亚洲邪恶 | 国产香蕉精品视频在 | 色综合天天综合网看在线影院 | 美女很黄很黄的网站 | 亚洲激情 | 天天曰夜夜曰 | 一区二区三区欧美在线 | 欧美日韩在线免费观看 | 国产精品1024 | 欧美曰b | 黄免费视频 | 国产精品免费看香蕉 | 国产日韩视频一区 | 最好看的中文字幕2019免费 | 日韩美在线 | 色综合色综合色综合 | 亚洲性人人天天夜夜摸 | 亚洲国产精久久久久久久 | 日韩高清在线日韩大片观看网址 | 夫妻毛片 | 中文字幕二区 | 狠狠色婷婷丁香六月 | 婷婷在线五月 | 亚洲第一页综合 | 最近日本韩国高清免费观看 | 国产麻豆精品hdvideoss | 伊人久久大香线蕉资源 | 国产黄色小视频在线观看 | 国产在线精品二区李沁 |