天天看點

基于java的考試系統_課内資源 - 基于java的網上考試系統

開發一套标準化考試系統,要求通過該系統完成多個科目的标準化考試工作。考試開始時,考生在用戶端機器上使用學号和密碼登入進入考試系統,如下:

基于java的考試系統_課内資源 - 基于java的網上考試系統

所有考生的資訊(包含學号,姓名和密碼)在伺服器端的student.cfg檔案中儲存,該檔案的儲存格式為:“學号:姓名:密碼”,如下:

基于java的考試系統_課内資源 - 基于java的網上考試系統

登入成功後進入選擇科目界面,考生選擇一門考試科目,如下:

基于java的考試系統_課内資源 - 基于java的網上考試系統

所有考試科目的清單在伺服器端的subject.cfg檔案中儲存,該檔案不僅儲存科目清單,還儲存了與科目對應的試題檔案的檔案名,格式為:“科目名=試題檔案名”,如下:

基于java的考試系統_課内資源 - 基于java的網上考試系統

考生選擇考試科目後,程式将從伺服器接收該科目的試題,并進入考試主界面,如下:

基于java的考試系統_課内資源 - 基于java的網上考試系統

每門科目的考試試題儲存在伺服器端的一個試題檔案中,試題檔案的格式如下:

基于java的考試系統_課内資源 - 基于java的網上考試系統

每5行構成一道試題,其中第一行為試題的題幹,以下4行為試題的4個選項,并且在正确選項的行首用“”來标示。

考試完成後考生點選主界面上的“交卷”按鈕,程式将自動計算考生的得分,并将得分發送給伺服器,儲存在伺服器的*.sco檔案中,每門科目都有一個相應的檔案,該檔案的格式為:

“學号:成績”,如下:

基于java的考試系統_課内資源 - 基于java的網上考試系統

為完成以上程式,定義以下包及類:

基于java的考試系統_課内資源 - 基于java的網上考試系統

1. 用戶端和伺服器端的通信方式登入請求用戶端發送資料:學号、密碼

伺服器端傳回的資料:學生對象和目前能提供的考試科目清單

選擇考試科目用戶端發送資料:科目名

伺服器端傳回的資料:試卷對象

交卷:用戶端發送資料:學号,科目,成績

伺服器端傳回的資料:成功與否的資訊

退出

2. 伺服器端的檔案若幹試題庫檔案(corejava.exm)

若幹科目的成績檔案

學生資訊的檔案

3. 伺服器對檔案的通路方式:試題庫檔案:Paper getPaper(String 科目名);

學生資訊的檔案:Student getStudent(int id,String passwd);

成績檔案:addScore(int id,float score,String 科目);