




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、考試管理系統(tǒng) 1 引引 言言 考試與我們的關(guān)系是非常密切的,考試的出題一直是一個(gè)比較麻煩的問題,要花費(fèi)大量的 時(shí)間和精力;傳統(tǒng)的考試用的考卷,需要大量人工和打印機(jī)來印制試卷, 而對與計(jì)算機(jī)上機(jī) 考試傳統(tǒng)的考試根本行不通,無紙化考試必將是以后考試的主要形式?;谝陨线@幾點(diǎn),為了 解決考試試題的多樣性、隨機(jī)性和上述一些問題,編寫一套考試管理系統(tǒng)來是很有必要的。 目目 錄錄 第一章第一章 系統(tǒng)簡介系統(tǒng)簡介- 第二章第二章 總體設(shè)計(jì)構(gòu)思總體設(shè)計(jì)構(gòu)思- 2.1 數(shù)據(jù)庫如何設(shè)計(jì)- 2.1.1 考題數(shù)據(jù)庫- 2.1.2 考生信息數(shù)據(jù)庫- 2.1.3 用戶信息數(shù)據(jù)庫- 2.2 如何通訊- 2.3 如何生成考題
2、- 2.4 如何避免系統(tǒng)蹦潰后考生信息及題目信息丟失- 2.5 如何計(jì)算總分- 2.6 如何防止考生作弊- 2.7 數(shù)據(jù)如何隱蔽- 2.8 如何解決服務(wù)器傳輸文件多線程問題- 2.9 如何實(shí)現(xiàn)加密算法- 第三章第三章 主要模塊說明主要模塊說明- 3.1 考試平臺(tái)- 3.2 服務(wù)器- 第四章第四章 總結(jié)總結(jié)- 4.1 系統(tǒng)不足- 4.2 心得體會(huì)- 考試管理系統(tǒng) 2 一一 簡簡 介介 課題名課題名: :考試管理系統(tǒng) 開發(fā)工具開發(fā)工具:Microsoft Visual Basic 6.0 中文版 數(shù)據(jù)庫數(shù)據(jù)庫:Access 運(yùn)行環(huán)境運(yùn)行環(huán)境: :Windows98/20XX/XP/ME,考試機(jī)房需
3、連成局域網(wǎng) 安裝安裝: :在機(jī)房中設(shè)一臺(tái)機(jī)器為服務(wù)器將服務(wù)器程序安裝到此機(jī)器中運(yùn)行即可.將考試平臺(tái)程序 分別安裝到其他用機(jī)中運(yùn)行即可. 功能說明功能說明: :考試管理系統(tǒng)是針對學(xué)校上機(jī)考試所編寫的管理軟件,系統(tǒng)分為兩部分一部分是管 理考生,考題,考試類型,考試時(shí)間等信息,這部分由管理員(教師)進(jìn)行管理.另一部分是考試平臺(tái), 是考生完成試卷的主要接口.考生登錄到考試平臺(tái)后,則系統(tǒng)則對該考生輸入的準(zhǔn)考證號(hào)發(fā)送 到服務(wù)器進(jìn)行驗(yàn)證.驗(yàn)證成功則發(fā)送考題庫文件至考試平臺(tái)端.并通過考題庫文件隨機(jī)生成考 題(考題分為填空題,單項(xiàng)選擇題,多項(xiàng)選擇題,操作題.)考生答卷后提交試卷,并提示考生未做的 題目.如果無誤
4、則系統(tǒng)算出總分發(fā)送到服務(wù)器進(jìn)行儲(chǔ)存. 二二 總體設(shè)計(jì)構(gòu)思總體設(shè)計(jì)構(gòu)思 2.12.1 數(shù)據(jù)庫如何設(shè)計(jì)數(shù)據(jù)庫如何設(shè)計(jì)? ? 2.1.12.1.1 考題數(shù)據(jù)庫考題數(shù)據(jù)庫(文件:examktl.dll) FillSubject 表單(填空題) 字段名寬度類型說明 SubjectMemo題目內(nèi)容 FillPostion2Text填空位置標(biāo)記 FillResultMemo正確答案 FillSelectedMemo當(dāng)前選擇的答案 FillNum2Integer需要填充的數(shù)量 Key10Text密鑰 考試管理系統(tǒng) 3 ChoiceExercise 表單(單選題) 字段名寬度類型說明 SubjectMemo題目
5、內(nèi)容 ChoiceAMemo答案 A ChoiceBMemo答案 B ChoiceCMemo答案 C ChoiceDMemo答案 D ChoiceResult2Text當(dāng)前選擇的答案 RightResult2Text正確答案 Key10Text密鑰 MultiChoice 表單(多選題) 字段名寬度類型說明 SubjectMemo題目內(nèi)容 ChoiceAMemo答案 A ChoiceBMemo答案 B ChoiceCMemo答案 C ChoiceDMemo答案 D ChoiceEMemo答案 E ChoiceFMemo答案 F ChoiceResult10Text當(dāng)前選擇的答案 (如:”DEF
6、”)說明 你選擇了 DEF RightResult10Text正確答案 Key10Text密鑰 OperationSubject 表單(操作題) 字段名長度類型說明 SubjectMemo題目內(nèi)容 考試管理系統(tǒng) 4 2.1.22.1.2 考生信息數(shù)據(jù)庫考生信息數(shù)據(jù)庫(文件:examext.dll) Student 表單(考生信息) 字段名長度類型說明 ID20TEXT準(zhǔn)考證號(hào) Name16TEXT考生姓名 Class20TEXT考生班級(jí) PhotoBinary考生照片 PointDouble考生分?jǐn)?shù) Examed1TEXT考試記錄 2.1.32.1.3 用戶信息數(shù)據(jù)庫用戶信息數(shù)據(jù)庫(文件:ex
7、amyh.dll) UserInfo 表單(用戶信息) 字段名長度類型說明 UserName20TEXT用戶名 UserPassword16TEXT用戶密碼 UserType8TEXT用戶類型 2.22.2 如何通訊如何通訊? ? 可通過 Winsock 控件可實(shí)現(xiàn)通訊功能.服務(wù)器開放兩個(gè)端口來與客戶機(jī)進(jìn)行通訊,端口” 10088”考生信息通道,”10087”文件傳輸通道,請求文件傳輸,服務(wù)器為該請求分配一個(gè)進(jìn)程對 其進(jìn)行文件傳輸操作(這里的進(jìn)程其實(shí)就是將工程拆分成兩個(gè)工程,主工程調(diào)用專門對文件傳 輸?shù)墓こ滩僮? 2.32.3 如何生成考題如何生成考題? 首先驗(yàn)證通過后獲得考試的信息(如填空題
8、 10 題-每題 1 分,單選 30 題-每題 1 分,多選 5 題-每 題 2 分,操作題目 5 題-每題 10 分),分別存入變量中,通過下載過來的數(shù)據(jù)庫,及題目信息的變 量做隨機(jī)抽取題目(此部分功能請參考模塊詳細(xì)說明模塊詳細(xì)說明) 考試管理系統(tǒng) 5 題目 1題目 2AEmpty 題目 2題目 5CEmpty 題目 3題目 6DEmpty 題目 4題目 1AEmpty 題目 5題目 4BEmpty 題目 6題目 3CEmpty : : : : : : Empty 題目 n題目 nAEmpty 2.42.4 如何避免系統(tǒng)蹦潰后考生信息及題目信息丟失如何避免系統(tǒng)蹦潰后考生信息及題目信息丟失?
9、? 可在考生登獲得考試信息并生成考題后把考生信息,服務(wù)器 Adress,考試題目信息,存入備份文 件 Exambak.bak 中.每次異常退出后在運(yùn)行時(shí)讀文件的信息到程序中. 2.52.5 如何計(jì)算總分如何計(jì)算總分? ? 考生在提交試卷前,對所有題目進(jìn)行檢索發(fā)現(xiàn)考生為做的題目并給予提示.可將考生選擇的題 目和正確答案放入兩個(gè)數(shù)組中.然后對兩個(gè)數(shù)組中的元素進(jìn)行比較相同則總分+該題的分值 AD EmptyA BB DD AC : : : : CD D 循 環(huán) 比 較 D 2.62.6 如何防止考生作弊如何防止考生作弊? ? 存放選擇答案 數(shù)組 存放正 確答案 數(shù)組 正確? 正確: 累加該題分值 Z
10、ongFeng 數(shù) 據(jù) 庫 題目 索引 數(shù)組 正確 答案 數(shù)組 選擇答案數(shù)組 隨 機(jī) 考試管理系統(tǒng) 6 通過隨機(jī)出題目加強(qiáng)系統(tǒng)防作弊功能,鎖定系統(tǒng)桌面. 2.72.7 數(shù)據(jù)如何隱蔽?數(shù)據(jù)如何隱蔽? 方案方案 1:1: 禁止考生訪問瀏覽計(jì)算機(jī)內(nèi)容。 方案方案 2:2: 更改數(shù)據(jù)庫擴(kuò)展名,把所有后綴為 MDB(ACCESS 數(shù)據(jù)庫文件)改成 DLL。讓想有僥幸 心理查找數(shù)據(jù)庫的考生無從下手 方案方案 3:3: 即使找到數(shù)據(jù)庫并打開了數(shù)據(jù)庫,系統(tǒng)對數(shù)據(jù)庫里的內(nèi)容正確答案進(jìn)行了加密。即使找 到正確答案也是亂碼看不懂內(nèi)容的含義。 2.82.8 如何解決服務(wù)器文件傳輸多線程問題?如何解決服務(wù)器文件傳輸多線
11、程問題? 考場很多考生需要對考題進(jìn)行下載,而主進(jìn)程只能對 1 個(gè)請求進(jìn)行文件傳輸,因此只要有一個(gè) 考生在下載考題,則其他考生則必須等待,因此需要實(shí)現(xiàn)多線程的操作,而要用 VB 實(shí)現(xiàn)多線程, 是件比較繁瑣困難的事情,而且調(diào)試經(jīng)常使得 VB 崩潰。因此可將此部分拆分另一個(gè)工程。此 工程是專門傳輸文件的工作。通過主工程調(diào)用傳參數(shù)(服務(wù) Adress+端口號(hào)+要傳輸?shù)奈募?。 因此解決了文件傳輸?shù)?1 對多同步進(jìn)行的問題 2.92.9 如何實(shí)現(xiàn)加密算法?如何實(shí)現(xiàn)加密算法? 通過 VB 中的 XOR(位操作-異或)操作,明文對密鑰的 AscII 碼異或操作后得到密文。如果密 鑰和明文相同異或后則二進(jìn)制
12、為 000.所以為了避免,則遇到相同的用 Chr(128) 如明文“ABCD”密鑰 “ZC” AZ BC C D 密文 三三 主要模塊說明主要模塊說明 3.13.1 考試平臺(tái)考試平臺(tái) 3.1.13.1.1 ExamManageSystem.FrmMainExamManageSystem.FrmMain 程序主窗口程序主窗口 文件名文件名:FrmMain.frm:FrmMain.frm 本塊功能說明本塊功能說明: :是考試平臺(tái)的主要界面。 Xor 考試管理系統(tǒng) 7 窗口界面 模塊名模塊名: :Init 參數(shù)參數(shù): 無 功能功能: :窗口初始化 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 考試平臺(tái)運(yùn)行時(shí)初始化,通過查
13、找 ExamBak.bak 文件來判斷程序運(yùn)行時(shí)是否要讀取備份文件 如果則說明考生有異常退出發(fā)生,已經(jīng)登錄過則 UserLogin = True 在讀取備份文件 模塊名模塊名: : LockPC 參數(shù)參數(shù): : (locked As Boolean) 功能功能:鎖定系統(tǒng)桌面 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 通過訪問 API 函數(shù) FindWindow 找到任務(wù)欄上的開始按鈕,任務(wù)攔等句柄,并同過 ShowWindow 來隱藏顯示窗口. 通過 SystemParametersInfo 禁用 CTRL+ALT+Del ALT+F4 等系統(tǒng)鍵 模塊名模塊名: : BakStudentInfo 參數(shù)參數(shù): :
14、 無 考試管理系統(tǒng) 8 功能功能: :備份學(xué)生信息 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: 通過 WinAPI 函數(shù) WritePrivateProfileString 將學(xué)生信息以 INI 文件格式寫入 ExamBak.bak 文件中. 模塊名模塊名: : ResumeStudentInfo 參數(shù)參數(shù): : 無 功能功能:還原學(xué)生信息 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 通過 WinAPI 函數(shù) GetPrivateProfileString 將學(xué)生信息以 INI 文件格式從 ExamBak.bak 文件中讀取出來給系統(tǒng)變量 模塊名模塊名: : Winsock1_DataArrival(Winsock 事件 參數(shù)參數(shù): (
15、ByVal bytesTotal As Long)系統(tǒng)給定 功能功能: :獲得服務(wù)器傳送來的信息 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 服務(wù)器發(fā)送過來的信息是以 命令+內(nèi)容 發(fā)送過來,此模塊先讀取命令部分 在依據(jù)是先約定好 的命令決定做哪步操作,命令詳解如下: 命令名含義 |StudenEr|考生驗(yàn)證失敗 |StudenOk|考生驗(yàn)證成功 |GetExamI|獲得考試信息 由模塊 GetExamInfo 獲得內(nèi) 容 |SendMsgs|提示信息 |EXOverOK|考試正常結(jié)束(服務(wù)器已將成績保存) |EXOverEr|考試結(jié)束異常(服務(wù)器未將成績保存) |CheatMsg|作弊處理 模塊名模塊名: : W
16、insock1_ Error (Winsock 事件) 參數(shù)參數(shù): : (ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)系統(tǒng)給定 功能功能:捕捉與服務(wù)器連接的錯(cuò)誤 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 此事件的得到出發(fā)是從 FrmLogon(登錄窗口)中輸入 IPAdress 及準(zhǔn)考證后連接服務(wù)器。 考試管理系統(tǒng) 9
17、 TryHost 是 FrmMain 中的全局變量是連接服務(wù)器次數(shù)的關(guān)鍵字.只要未連接到服務(wù)器并 TryHost 未滿 6 次則不停的連接服務(wù)器 3.1.23.1.2 ExamManageSystem.FrmLoginExamManageSystem.FrmLogin 考試登錄考試登錄 文件名文件名:FrmLogin.frm:FrmLogin.frm 本塊功能說明本塊功能說明: :對考生進(jìn)行驗(yàn)證。如果已經(jīng)進(jìn)入考試狀態(tài)服務(wù)器監(jiān)考老師可公布服務(wù)器的 IPAdress 給考生考 生輸入服務(wù)器 Adress 和準(zhǔn)考證號(hào)進(jìn)行登錄考試。 窗口界面 模塊名模塊名: : CmdLogin_Click (Com
18、mandButton 事件) 參數(shù)參數(shù): : 無 功能功能: :登錄服務(wù)器 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 通過主窗口的 WINSOCK 控件連接服務(wù)器,如果未連接到服務(wù)器則嘗試連接 7 次 3.1.33.1.3 ExamManageSystem.FrmDownLoadExamManageSystem.FrmDownLoad 下載考題窗口下載考題窗口 文件名文件名:FrmDownLoad.frm:FrmDownLoad.frm 本塊功能說明本塊功能說明: :本塊主要功能是從服務(wù)器端下載題庫。通過向服務(wù)器發(fā)送題庫下載請求,進(jìn)行第一次握手。服 務(wù)器做出應(yīng)答后,獲得服務(wù)器開通端口連接到服務(wù)器并進(jìn)行文件傳輸。
19、 考試管理系統(tǒng) 10 窗口界面 模塊名模塊名: : Init 參數(shù)參數(shù): : 無 功能功能: :初始化窗口 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 通過查找 Exambak.bak 來 和比較 Exambak.bak 大小來判斷是否已經(jīng)下載過考題庫,如果 未下載則向服務(wù)器發(fā)送下載文件請求,服務(wù)器獲得請求并分配端口,即發(fā)送下載考題庫文件請 求到服務(wù)器;否則則跳過。 模塊名模塊名: : WskFileComm_DataArrival (Winsock 事件) 參數(shù)參數(shù): : 無 功能功能: :獲得服務(wù)器發(fā)來的文件流并寫入文件 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 服務(wù)器發(fā)送文件流(文件內(nèi)容)來時(shí)觸發(fā)該事件,由于通訊非連續(xù)性的所
20、以要通過 CurrentFileLen 全局變量來記錄文件寫入的當(dāng)前位置,以便下次數(shù)據(jù)流來時(shí)從 CurrentFileLen 位置開始寫入知道 CurrentFileLen= DownFileLenCount(文件總大小)改 值在考生登錄時(shí)已經(jīng)獲得。 3.1.43.1.4 ExamManageSystem.FrmBulidExamManageSystem.FrmBulid 隨機(jī)生成考題窗口隨機(jī)生成考題窗口 文件名文件名:FrmBulid.frm:FrmBulid.frm 本塊功能說明本塊功能說明: :考試題目初始化,根據(jù)有無備份文件來判斷,是隨機(jī)生成題目還是還原從備份文件中還原題目信 息 沒有
21、備份文件時(shí) 考試管理系統(tǒng) 11 有備份文件時(shí) 模塊名模塊名: : RndSubject 參數(shù)參數(shù): : 無 功能功能: :隨機(jī)出題 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 通過已經(jīng)分配好大小的數(shù)組 FillSubject()填空題 SingleChoiceSubject()單選題 MultiChoiceSubject()多選題 OperationSubject()操作題 分別從題庫中找取相應(yīng)的表單隨機(jī) 抽取表單中的記錄的位置分別放入數(shù)組中形成索引。 模塊名模塊名: : ResumeSubject 參數(shù)參數(shù): : 無 功能功能: :還原題目 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 通過已經(jīng)分配好大小的數(shù)組 FillSubjec
22、t()填空題 SingleChoiceSubject()單選題 MultiChoiceSubject()多選題 OperationSubject()操作題 分別從備份文件中提取出來放入數(shù) 組中形成索引。 3.1.53.1.5 ExamManageSystem.FrmFillTestExamManageSystem.FrmFillTest 填空題填空題 文件名文件名:FrmLogin.frm:FrmLogin.frm 本塊功能說明本塊功能說明: :是考生做答填空的窗口。 考試管理系統(tǒng) 12 模塊名模塊名: : CheckSubject 參數(shù)參數(shù): : (cMemo As String, Sign
23、 As String) 功能功能: :將數(shù)據(jù)庫里的數(shù)據(jù)轉(zhuǎn)換為考題樣式 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 如:題目 VB 中什么函數(shù)是_1_提取字符的? _1_為填空 而存入數(shù)據(jù)庫中則是 VB 中什 么函數(shù)是取字符的?(是填空的標(biāo)記可以是自己設(shè)定的)此函數(shù)就是將數(shù)據(jù)庫中的轉(zhuǎn)換成 現(xiàn)實(shí)中看的懂的題目,并且記錄填空的個(gè)數(shù)到變量 ResultNum。 模塊名模塊名: : ViewFillResult 參數(shù)參數(shù): : 無 功能功能: :為填空題的空位分配答題的文本框 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 根據(jù)題目的填空數(shù)量來分配給考生答題文本框(此功能類似許多考試中的與答題紙)題目與答 案分開。方便對考生的答題內(nèi)容進(jìn)行記錄。
24、3.1.63.1.6 ExamManageSystem.ExamManageSystem. FrmSelectTestFrmSelectTest 單選題單選題 文件名文件名:FrmSelectTest.frm:FrmSelectTest.frm 本塊功能說明本塊功能說明: :是考生做答單選題的窗口。并即時(shí)記錄考生當(dāng)前所做的答案(考生做一題則記錄一題的答案) 考試管理系統(tǒng) 13 窗口界面 這快主要介紹主要構(gòu)思主要構(gòu)思( (詳細(xì)請參照原代碼) 窗口在加載時(shí)通過對 SingleChoiceSubject()(已經(jīng)在生成題目時(shí)候已經(jīng)初始化過)中記錄號(hào)對數(shù)據(jù)庫進(jìn)行訪問,取 出每題的當(dāng)前選擇答案和正確答案
25、本被到 SingleSelectQuestion()和 SingleRightQuestion()中,以便對考 生答題的狀態(tài)進(jìn)行記錄,也方便總分的計(jì)算。題目的切換是通過 SingleChoiceSubject()數(shù)組來進(jìn)行切換, SingleChoiceSubject 是記錄題庫中記錄號(hào)的索引,用全局變量 CurrentT(是記錄當(dāng)前題目的索引)初始值為 0 則代表第一條記錄。切換題目其實(shí)就是對 CurrentT 進(jìn)行加減操作。之后通過數(shù)據(jù)庫移動(dòng)到 SingleChoiceSubject(CurrentT)中存儲(chǔ)的記錄號(hào),在顯示在窗口中。考生對當(dāng)前題目做答也是按照同上的方 法記錄到數(shù)據(jù)庫中和儲(chǔ)
26、存選擇題目的變量 SingleSelectQuestion() 中 3.1.73.1.7 ExamManageSystem.ExamManageSystem. FrmMultiSelectTestFrmMultiSelectTest 多選題多選題 文件名文件名:FrmMultiSelectTest.frm:FrmMultiSelectTest.frm 本塊功能說明本塊功能說明: :是考生做答多選題的窗口。并即時(shí)記錄考生當(dāng)前所做的答案(考生做一題則記錄一題的答案) 考試管理系統(tǒng) 14 窗口界面 這快主要介紹主要構(gòu)思主要構(gòu)思( (詳細(xì)請參照原代碼) 窗口在加載時(shí)通過對 MultiChoiceSub
27、ject()(已經(jīng)在生成題目時(shí)候已經(jīng)初始化過)中記錄號(hào)對數(shù)據(jù)庫進(jìn)行訪問, 取出每題的當(dāng)前選擇答案和正確答案本被到 MultiSelectQuestion()和 MultiRightQuestion()中,以便對考 生答題的狀態(tài)進(jìn)行記錄,也方便總分的計(jì)算。題目的切換是通過 MultiChoiceSubject()數(shù)組來進(jìn)行切換, MultiChoiceSubject 是記錄題庫中記錄號(hào)的索引,用全局變量 CurrentT(是記錄當(dāng)前題目的索引)初始值為 0 則代表第一條記錄。切換題目其實(shí)就是對 CurrentT 進(jìn)行加減操作。之后通過數(shù)據(jù)庫移動(dòng)到 MultiChoiceSubject(Curre
28、ntT)中存儲(chǔ)的記錄號(hào),在顯示在窗口中。考生對當(dāng)前題目做答也是按照同上的方 法記錄到數(shù)據(jù)庫中和儲(chǔ)存選擇題目的變量 MultiSelectQuestion() 中。由于多選題不同與單選題,考生可選多 個(gè)答案,所以考生每次選擇題目時(shí)候都對復(fù)選框進(jìn)行檢索找出考生所選的答案,復(fù)選框(0-5)對應(yīng)答案(A-F) 如 果復(fù)選框 0,5 是被選擇的 則題目答案就是”AF”記錄到數(shù)據(jù)庫和變量中。 3.1.83.1.8 ExamManageSystem.ExamManageSystem. FrmOperationFrmOperation 操作題操作題 文件名文件名: :FrmOperationFrmOperat
29、ion.frm.frm 本塊功能說明本塊功能說明: :是考生做答操作題的窗口。非本程序功能,針對現(xiàn)在上機(jī)考試除了基礎(chǔ)題外還應(yīng)有應(yīng)用方面的 要求,本窗口則是給出題目的要求 考生可通過特定考核的工具軟件進(jìn)行考試 考試管理系統(tǒng) 15 題目的切換是通過 OperationSubject ()數(shù)組來進(jìn)行切換,OperationSubject 是記錄題庫中記錄號(hào)的索引,用全 局變量 CurrentT(是記錄當(dāng)前題目的索引)初始值為 0 則代表第一條記錄。切換題目其實(shí)就是對 CurrentT 進(jìn)行加減操作。之后通過數(shù)據(jù)庫移動(dòng)到 OperationSubject (CurrentT)中存儲(chǔ)的記錄號(hào),在顯示在窗
30、口中。 3.1.83.1.8 CommonModuleCommonModule 通用模塊通用模塊 模塊名模塊名: : executeSQL 參數(shù)參數(shù): : (ByVal SQL As String, msgstring As String) 功能功能: :執(zhí)行 SQL 語句 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 執(zhí)行 SQL 語句,參數(shù) SQL 是 SQL 語句,參數(shù) msgstring 是查詢信息返回值 模塊名模塊名: : connectstring 參數(shù)參數(shù): : 無 功能功能: :ADODB 連接參數(shù)設(shè)置 考試管理系統(tǒng) 16 模塊名模塊名: : ConnectServer 參數(shù)參數(shù): : 無 功能功能
31、: :連接服務(wù)器 模塊名模塊名: : CountZongFeng 參數(shù)參數(shù): : 無 功能功能: :計(jì)算總分并發(fā)送總分到服務(wù)器 準(zhǔn)考證+分?jǐn)?shù) 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 通過對考生所選的答案和正確答案進(jìn)行循環(huán)對比正確則加上改題所得的分?jǐn)?shù)。 模塊名模塊名: : JieMi 參數(shù)參數(shù): : (Dstr As String, Dkey As String) 功能功能: :計(jì)算總分并發(fā)送總分到服務(wù)器 準(zhǔn)考證+分?jǐn)?shù) 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 參數(shù) Dstr 密文, 參數(shù) Dkey 密鑰 通過密文的每個(gè)字符和密鑰的每個(gè)字符進(jìn)行異或操作得到 明文, 模塊名模塊名: : GetExamInfo 參數(shù)參數(shù): : (C
32、Data As String) 功能功能: :獲取考試信息 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 參數(shù) Cdata 是存放考試信息的文本流 格式是:填空題總數(shù)+填空題每題分?jǐn)?shù)+單選題總數(shù)+每 題分?jǐn)?shù)+多選題總數(shù)+每題分?jǐn)?shù)+操作題總數(shù)+考試時(shí)間+考題文件大??;將內(nèi)容分別提取到變 量中去。 3.23.2 考試服務(wù)器考試服務(wù)器 3.2.13.2.1 ExamServer.FrmMainExamServer.FrmMain 主模塊主模塊 文件名文件名:FrmMain.frm:FrmMain.frm 本塊功能說明本塊功能說明: :是考試服務(wù)器的主要界面。是系統(tǒng)的核心,該模塊接受考試平臺(tái)的連接請求并與其通訊。是進(jìn) 入系
33、統(tǒng)其他模塊的主要途徑。 考試管理系統(tǒng) 17 模塊名模塊名: : Init 參數(shù)參數(shù): : 無 功能功能: :初始化系統(tǒng) 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 初始化系統(tǒng),初始化考試信息,初始化服務(wù)器狀態(tài)信息。 模塊名模塊名: : Winsock1_DataArrival 參數(shù)參數(shù): : (Index As Integer, ByVal bytesTotal As Long) 功能功能: :獲得考試平臺(tái)的傳輸?shù)男畔?設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 考試平臺(tái)是以命令類型+內(nèi)容 返回或請求給服務(wù)器端的 如下表單: 考試管理系統(tǒng) 18 命令名含義 |StudenID|請求驗(yàn)證考生成功返回發(fā)送|StudenOk|失 敗|St
34、udenEr| |GetExamI|請求獲得考試信息。并發(fā)送|GetExamI|+ 信息到考試平臺(tái) |ExamOver|請求考試結(jié)束,服務(wù)器將發(fā)過來的成績進(jìn)行記 錄如果成功返回|EXOverOK|如果失敗返回 |EXOverEr| |CheatMsg|考試平臺(tái)收到作弊處理的反饋信息,服務(wù)器將 對改考生進(jìn)行作弊記錄 |SendFile|文件傳輸請求,(分配一個(gè)線程并隨機(jī)開放一個(gè) 臨時(shí)端口等待傳輸文件) 模塊名模塊名: : Winsock1_ConnectionRequest 參數(shù)參數(shù): : (Index As Integer, ByVal requestID As Long) 功能功能: :響應(yīng)
35、考試平臺(tái)計(jì)算機(jī)的連接請求 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 每當(dāng)獲得一次請求 則會(huì)為這臺(tái)請求的的計(jì)算機(jī)分配一個(gè) Winsock 與它建立連接或找取空閑 的 Winsock 與他建立連接 3.2.23.2.2 ExamServer.FrmLoginExamServer.FrmLogin 登錄模塊登錄模塊 文件名文件名:FrmLogin.frm:FrmLogin.frm 本塊功能說明本塊功能說明: :登錄界面,通過用戶輸入的用戶名和密碼在數(shù)據(jù)庫中檢索,如果正確則登錄 考試管理系統(tǒng) 19 3.2.33.2.3 ExamServer.FrmEditPWExamServer.FrmEditPW & FrmAddU
36、serFrmAddUser 修改密碼模塊添加用戶模塊修改密碼模塊添加用戶模塊 文件名文件名:FrmEditPW.frm:FrmEditPW.frm & FrmAddUser.frmFrmAddUser.frm 本塊功能說明本塊功能說明: :修改密碼和添加密碼模塊 3.2.43.2.4 ExamServer.FrmExamSetupExamServer.FrmExamSetup 考試信息設(shè)置模塊考試信息設(shè)置模塊 文件名文件名:FrmExamSetup.frm:FrmExamSetup.frm 本塊功能說明本塊功能說明: :考試設(shè)置,將考試信息儲(chǔ)存在 ExamSetup.ini 文件中 考試管理系
37、統(tǒng) 20 說明說明: : FillSubject 對應(yīng)填空題 Count 題目總數(shù) Value 為每題分值 Select 對應(yīng)單選題 Count 題目總數(shù) Value 為每題分值 MultiSelect 對應(yīng)多選題 Count 題目總數(shù) Value 為每題分值 Operation 對應(yīng)操作題 Count 題目總數(shù) Value 為每題分值 Time 對應(yīng)考試時(shí)間 Value 時(shí)間值 3.2.53.2.5 ExamServer.FrmAddFillSubjectExamServer.FrmAddFillSubject 添加填空題模塊添加填空題模塊 文件名文件名:FrmAddFillSubject.
38、frm:FrmAddFillSubject.frm 本塊功能說明本塊功能說明: :添加填空題目,填空位置以特殊符號(hào)代替如(1+1=),通過 CheckSubject 轉(zhuǎn)換成 1+1=_ 同時(shí)算出填空的數(shù)量,分配好存放答案的 TextBox,管理員輸入后存入數(shù)據(jù)庫。(答案加密)密鑰為當(dāng)前記錄號(hào) 也一起存入數(shù)據(jù)庫 考試管理系統(tǒng) 21 模塊名模塊名: : CheckSubject 參數(shù)參數(shù): : (Sign As String) 功能功能: :轉(zhuǎn)換填空分隔符,計(jì)算分割符數(shù) 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 填空位置以特殊符號(hào)代替如(1+1=),通過 CheckSubject 轉(zhuǎn)換成 1+1=_同時(shí)算出填空的數(shù)
39、量,分配好存放 答案的數(shù)組變量。 模塊名模塊名: : CheckResult 參數(shù)參數(shù): :無 功能功能: :轉(zhuǎn)換填空分隔符,計(jì)算分割符數(shù) 設(shè)計(jì)構(gòu)思設(shè)計(jì)構(gòu)思: : 檢查答案是否全部輸入。 3.2.63.2.6 ExamServer.FrmEditFillSubjectExamServer.FrmEditFillSubject 編輯填空題模塊編輯填空題模塊 文件名文件名:FrmEditFillSubject.frm:FrmEditFillSubject.frm 本塊功能說明本塊功能說明: :編輯填空題目,與上一節(jié)功能相似只是做編輯操作,填空分隔符不可修改 考試管理系統(tǒng) 22 3.2.73.2.7
40、 ExamServer.FrmAddSubjectExamServer.FrmAddSubject 添加單選題模塊添加單選題模塊 文件名文件名:FrmAddSubject.frm:FrmAddSubject.frm 本塊功能說明本塊功能說明: :添加單選題,將用戶輸入的信息存入數(shù)據(jù)庫(答案加密)密鑰為當(dāng)前記錄號(hào)也一起存入數(shù)據(jù)庫 3.2.83.2.8 ExamServer.FrmEditSubjectExamServer.FrmEditSubject 編輯單選題模塊編輯單選題模塊 考試管理系統(tǒng) 23 文件名文件名:FrmEditSubject.frm:FrmEditSubject.frm 本塊功能說明本塊功能說明: :編輯單選題,答案通過當(dāng)前記錄的密鑰解密出來,將用戶修改的信息存入數(shù)據(jù)庫(答案加
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖北孝感美珈職業(yè)學(xué)院《組織行為學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 昆明藝術(shù)職業(yè)學(xué)院《中外美術(shù)史》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川文化藝術(shù)學(xué)院《軌道交通自動(dòng)化專題》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025屆湖南省高考?xì)v史仿真模擬試卷02
- 2025年上海市安全員《C證》考試題庫
- 晉中學(xué)院《特種鑄造》2023-2024學(xué)年第二學(xué)期期末試卷
- 林州建筑職業(yè)技術(shù)學(xué)院《商業(yè)插圖》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑龍江中醫(yī)藥大學(xué)《商務(wù)溝通與談判》2023-2024學(xué)年第二學(xué)期期末試卷
- 拉薩師范高等??茖W(xué)?!洞髷?shù)據(jù)安全技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 長沙學(xué)院《生物藥物檢測技術(shù)與設(shè)備》2023-2024學(xué)年第二學(xué)期期末試卷
- 歷史類常識(shí)考試100題及完整答案
- 醫(yī)院納入定點(diǎn)后使用醫(yī)療保障基金的預(yù)測性分析報(bào)告
- 媒介素養(yǎng)概論 課件 劉勇 第0-4章 緒論、媒介素養(yǎng)-新聞評論
- 智能割草機(jī)器人的概述外文翻譯
- 井下作業(yè)工:初級(jí)井下作業(yè)工考試答案二
- 民營企業(yè)職務(wù)犯罪預(yù)防
- 睿智醫(yī)藥科技股份有限公司財(cái)務(wù)分析研究
- 【品牌戰(zhàn)略】麥當(dāng)勞公司成功管理秘訣苦心經(jīng)營
- 2024屆南通二模(又蘇北七市二模)數(shù)學(xué)試題
- 菜點(diǎn)與酒水知識(shí)課件
- 新修訂《中小學(xué)教師職業(yè)道德規(guī)范》解讀
評論
0/150
提交評論