摘 要:本文對考試系統進行了較為全面的需求分析、用例建模、結構設計、模塊設計,為基于Agent的在線考試系統的實現提供給力的技術支持。
關鍵詞:Agent;考試系統;需求分析;設計
1 需求分析
現實生活中的考試是一項參與環節眾多,功能復雜的系統工程。而在線的考試系統把整個考試過程由線下遷移到線上,這就使得系統分析設計工作相對比較繁重。
1.1 分析問題
傳統意義上的考試過程中自始至終參與人員多,工作量大面廣,開銷巨大。所以,開發一種網絡化、智能化的在線考試系統,具有很大的實用價值以及現實意義。
無論何種先進的考試系統,前提必須能有效組卷。因此,組卷工作就是系統分析設計的重中之重。理想狀態下,系統可由用戶直接根據需要,設置好相關參數后自動生成試卷或由用戶(教師)手動選題組卷。
從安全角度考慮,系統還需要有一個用戶身份識別的功能,需要用戶(學生或教師)輸入正確的用戶名、密碼,經系統驗證合格后才能進入下一步操作。
1.2 需求描述
基于Agent的在線考試系統主要提供用戶信息、生成試卷、答卷、判卷、試卷分析、試題信息維護管理等服務功能,充分利用計算機和網絡技術,改變傳統的考試方式,實現無紙化、智能化的考試要求。
⑴用戶信息管理:在線考試系統中的用戶主要有系統管理員、老師、學生幾類人員。系統對于不同的用戶對本系統的資源訪問給予了不同的訪問權限。
⑵考試管理:用戶登錄系統以后,參加在線考試,結束后自動交卷。
⑶組卷管理:教師可以通過設置試題類型定義、分值、知識點分布、曝光度等約束條件,利用系統自動組卷。如有必要,系統還可以對教師用戶提供手工組卷功能。
⑷試卷分析:匯總考生答題情況,查詢成績等。
⑸系統管理:系統管理員具有最高的權限,可以訪問系統中的所有資源。
2 用例建模
通過使用UML建模進行系統需求分析,該系統主要使用對象是學生、教師、系統管理員三類人員。考試系統中,第一類對象(學生)主要的工作需求就是參加考試;第二類對象(教師)主要的工作需求①組卷,生成試卷②試題庫維護③手工、自動判卷④試卷分析;第三類對象(系統管理員)主要負責用戶的管理,負責用戶注冊、刪除、修正信息等。
3 系統結構設計
在線考試系統擬采用B/A/S模式,不需要安裝客戶端程序,有助于增加訪問速度。其總體結構主要分為三層,如下圖所示。
第一層是基于Web瀏覽器的表示層。Web瀏覽器作為客戶端,為用戶提供可視化界面,主要負責與客戶進行信息交互。通過該層可以有關考試信息輸入、輸出。
第二層是中間代理層,這些代理可以分為3類:用戶Agent(學生Agent、教師Agent、系統管理員Agent)、管理服務Agent、任務Agent(登錄Agent、題庫管理Agent等)。
考生用戶一旦登錄系統服務器,系統就會自動產生一個用戶Agent,經管理服務Agent注冊后,統一進行管理。注冊后的用戶Agent有任何需求都可以向管理服務Agent發送請求,并由其因時制宜地進行任務分派;任務完成后,將任務執行情況返回給管理服務Agent。同樣管理服務Agent與用戶Agent進行信息交互,及時返回任務完成情況。用戶退出系統時,銷毀用戶Agent。
第三層屬于數據層,用于保存各類數據資源包括試題庫、信息庫和資源庫等。其中試題庫的基本構成單位是試題;學生信息庫負責記錄學生的個人信息資料、考試情況等。
4 模塊設計
系統管理員負責具體實施的用戶管理模塊包含登、增、刪、改等功能。
由教師負責具體實施的工作模塊主要有①組卷模塊:包含系統自動、人工組卷兩種方式;②試題維護模塊:包含添、刪、改功能;③試卷分析模塊:根據學生答題情況,系統自動對答卷情況進行數據分析等;④判卷模塊:包含系統自動、人工閱卷兩種實現方式。
那么余下的答卷模塊主要實現學生自主答題功能。