翟亮亮 吳迪
中圖分類號(hào):G726 文獻(xiàn)標(biāo)識(shí):A 文章編號(hào):1674-1145(2019)9-186-03
摘 要 隨著計(jì)算機(jī)技術(shù)、信息技術(shù)、人工智能等技術(shù)的飛速發(fā)展,利用計(jì)算機(jī)、自動(dòng)化使得無(wú)紙化職工教育考試成為現(xiàn)實(shí),從而實(shí)現(xiàn)職工自測(cè)學(xué)習(xí)、統(tǒng)一考試,管理題庫(kù)、組卷、考試系統(tǒng)閱卷、考試結(jié)果分析自動(dòng)形成,極大地節(jié)省了人力、物力、財(cái)力,對(duì)生產(chǎn)任務(wù)繁重的地勘單位來說,具有深遠(yuǎn)的現(xiàn)實(shí)意義和實(shí)用價(jià)值。
關(guān)鍵詞 考試系統(tǒng) 無(wú)紙化 地勘單位
傳統(tǒng)的職工教育培訓(xùn)考試方式是參加集中培訓(xùn)的職工,根據(jù)培訓(xùn)通知要求到達(dá)指定地點(diǎn)進(jìn)行培訓(xùn)、答題,教師出卷、印卷、組織職工筆試答卷、閱卷組評(píng)分、卷面分析,整個(gè)過程耗時(shí)冗長(zhǎng)、造成了紙張浪費(fèi)嚴(yán)重,且不易根據(jù)職工答卷情況立即對(duì)此次職工掌握不牢、不全、不透徹的試題再次進(jìn)行強(qiáng)化培訓(xùn),特別是對(duì)長(zhǎng)期出差、出野外的職工,在不影響科研生產(chǎn)的前提下,短期內(nèi)對(duì)所有職工進(jìn)行培訓(xùn)考試基本上不可能實(shí)現(xiàn)。
一、系統(tǒng)的需求分析與概要設(shè)計(jì)
(一)需求分析
可行性分析。數(shù)據(jù)庫(kù)采用的是免費(fèi)開源的SQLite數(shù)據(jù)庫(kù),無(wú)需開發(fā)經(jīng)費(fèi),在經(jīng)濟(jì)上是完全可以接受的。并且該系統(tǒng)實(shí)施后,顯著提高了考試效率,有利于實(shí)現(xiàn)信息化管理,為單位節(jié)省了大量的人力、物力、財(cái)力。
系統(tǒng)采用C#為編程語(yǔ)言,基于.Net Framework4.0框架,系統(tǒng)界面采用基于DirectX的WPF(全稱Windows Presentation Foundation),WPF是通過可擴(kuò)展應(yīng)用程序標(biāo)記語(yǔ)言XAML的聲明式編程,實(shí)現(xiàn)系統(tǒng)的界面描述與程序代碼的分離,使得界面設(shè)計(jì)和代碼編寫更好地協(xié)作,同時(shí)WPF也支持可視化圖形界面,提高系統(tǒng)開發(fā)及人工交互的效率。
(二)功能性模塊
系統(tǒng)大致分為用戶登錄模塊、試題庫(kù)及試卷管理模塊、考試模塊、考試結(jié)果輸出模塊及管理員后臺(tái)管理模塊等五個(gè)模塊。系統(tǒng)的功能需求幾分析如下(表1):
(三)系統(tǒng)體系結(jié)構(gòu)及重要功能
職工教育培訓(xùn)考試系統(tǒng)采用三層架構(gòu),將整個(gè)運(yùn)行體系劃分為“表現(xiàn)層”、“業(yè)務(wù)邏輯層”、“數(shù)據(jù)訪問層”,為了將試題模型化處理,在編程的過程中,另外創(chuàng)建了“實(shí)體層”、“通用類庫(kù)”等。
表現(xiàn)層主要指用戶與計(jì)算機(jī)的交互界面,目的是為了方便用戶數(shù)據(jù)的輸入和顯示處理后的結(jié)果,通過表現(xiàn)層界面收集用戶輸入的數(shù)據(jù)要求,并把這些數(shù)據(jù)轉(zhuǎn)換為業(yè)務(wù)邏輯層可操作的數(shù)據(jù);同時(shí)把業(yè)務(wù)邏輯層傳出的結(jié)果轉(zhuǎn)換成用戶想要的效果,通過文本、單選框、復(fù)選框、圖片等形式顯示在用戶界面。
數(shù)據(jù)庫(kù)訪問層主要封裝了GetList()、GetExamList()、GetQuestionList()等方法,用來從數(shù)據(jù)庫(kù)中提取所需要的值,返回值為L(zhǎng)ist<>格式,用來做業(yè)務(wù)邏輯層相應(yīng)業(yè)務(wù)功能的數(shù)據(jù)源。
實(shí)體層用于封裝實(shí)體類數(shù)據(jù)結(jié)構(gòu),用于映射數(shù)據(jù)庫(kù)的數(shù)據(jù)表,描述業(yè)務(wù)中客觀存在的對(duì)象。通用類庫(kù)Common為靜態(tài)類,用來存放通用輔助工具類,本系統(tǒng)主要封裝了SQLiteHelper幫助類。
(四)系統(tǒng)運(yùn)行流程
系統(tǒng)操作大致分為用戶登錄、試題庫(kù)及試卷管理、考試、考試結(jié)果輸出等四個(gè)步驟(圖1)。
首先,用戶通過“用戶注冊(cè)功能”注冊(cè)新用戶,用戶名即姓名,密碼部分則采用MD5加密的形式存儲(chǔ)于數(shù)據(jù)庫(kù)表中。用戶登錄時(shí),可勾選“記住密碼”功能,下次登錄時(shí),可免輸密碼登錄,登錄成功后則進(jìn)入試卷管理頁(yè)面。開始考試后,考試時(shí)間倒計(jì)時(shí)則開始計(jì)時(shí),用戶可通過點(diǎn)擊下一題或者試題導(dǎo)航定位試題,用戶執(zhí)行交卷操作后,系統(tǒng)會(huì)自動(dòng)判斷用戶是否已答完試卷,如果有未做答試題,系統(tǒng)會(huì)彈出信息框,提示未做答試題編號(hào),用戶可選擇繼續(xù)交卷或者返回試卷作答。當(dāng)時(shí)間倒計(jì)時(shí)為0時(shí),系統(tǒng)會(huì)強(qiáng)制交卷并執(zhí)行評(píng)分操作??荚囃瓿珊?,系統(tǒng)自動(dòng)對(duì)考卷進(jìn)行評(píng)分,并彈出成績(jī)單,用戶可選擇打印成績(jī)單或者輸出整套試卷歸檔保存,或者輸出錯(cuò)誤試題,用來復(fù)習(xí)易錯(cuò)試題。
二、系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)由3個(gè)數(shù)據(jù)表構(gòu)成,分別為試卷列表、試題庫(kù)表、試題信息表。
試題庫(kù)表用于存儲(chǔ)試題信息,包括所屬科目、題型、題目編號(hào)、題目?jī)?nèi)容、選項(xiàng)內(nèi)容、答案、解析、用戶答案、是否收藏等信息。
試卷列表用于存儲(chǔ)生成的試卷信息,包括試卷名稱、所屬科目、考試時(shí)間、滿分分值、創(chuàng)建時(shí)間、是否已考、考試成績(jī)、交卷時(shí)間等信息,每一條數(shù)據(jù)對(duì)應(yīng)一套試卷。
試題信息表用于存儲(chǔ)每套試卷中試題的編號(hào)、序號(hào)、用戶答案、分值、得分等情況,該表是在試卷生成時(shí)由代碼隨機(jī)提取試題庫(kù)中的試題,將對(duì)應(yīng)的試卷ID存入試題信息表中,用戶作答后,將用戶的答案存入相應(yīng)內(nèi)容,同時(shí)將用戶答案與試題庫(kù)中的標(biāo)準(zhǔn)答案作對(duì)比,如果回答正確,則在得分列填充得分,以便提交試卷時(shí)計(jì)算總得分。
三、主要功能的設(shè)計(jì)及實(shí)現(xiàn)
(一)考生登錄
用戶可通過“用戶注冊(cè)”功能進(jìn)行注冊(cè),密碼采用MD5加密技術(shù),保證賬號(hào)安全。用戶登錄時(shí),可通過“記住密碼”功能,保存登錄信息到本電腦,下次系統(tǒng)啟動(dòng)時(shí),會(huì)首先讀取本機(jī)的登錄配置文件,無(wú)需輸入密碼便可登錄,提升了用戶體驗(yàn)(圖2)。
(二)自定義組卷
自定義組卷功能可通過選擇試卷類型,默認(rèn)生成隨機(jī)試卷,試卷名稱采用試卷類型+組卷的時(shí)間構(gòu)成,組卷時(shí)間精確到秒,可避免生成試卷名稱重復(fù)。如果默認(rèn)生成的試卷不能滿足需求,可通過點(diǎn)擊Expand控件的高級(jí)選項(xiàng)擴(kuò)展按鈕,彈出高級(jí)選項(xiàng),根據(jù)需要自定義每種題型的數(shù)量、分值、考試時(shí)間等信息,基本滿足了出卷的各種需求。
(三)試卷列表
功能菜單采用當(dāng)今流行的可擴(kuò)展Ribbon風(fēng)格菜單,由多個(gè)儀表板設(shè)計(jì)器組成,用一組組的“便簽”進(jìn)行組織分類,使系統(tǒng)功能分組化,雙擊隱藏儀表板功能為主界面提供更多的操作空間。系統(tǒng)的試卷列表由TabControl構(gòu)成,由“未做試題”和“已做試題”兩個(gè)TabItem構(gòu)成。
“未做試卷”列表中,主要保存了試卷名稱、科目、考試時(shí)間、分值、試卷創(chuàng)建時(shí)間等試卷信息,用戶可點(diǎn)擊“開始考試”和“刪除試卷”按鈕對(duì)相應(yīng)的試卷進(jìn)行考試、刪除等操作;“已做試卷”列表中,存儲(chǔ)試卷名稱、所屬科目、考試時(shí)間、考試成績(jī)、交卷時(shí)間等信息,當(dāng)然也可以執(zhí)行重新考試或者刪除試卷操作。
(四)答題主界面
答題主界面是系統(tǒng)的核心部分,主要由三個(gè)區(qū)域組成:考試試卷信息區(qū)、試題區(qū)、試題導(dǎo)航翻頁(yè)區(qū)(圖3)。
考試試卷信息區(qū)可顯示考試的科目、考生姓名、試題導(dǎo)航、考試時(shí)間倒計(jì)時(shí)。其中,考生姓名用來填充成績(jī)單中的姓名信息;系統(tǒng)在生成試卷后,根據(jù)試題的數(shù)目自動(dòng)生成試題導(dǎo)航,用戶可通過點(diǎn)擊試題導(dǎo)航跳轉(zhuǎn)到指定試題,也可以通過試題導(dǎo)航方格顏色直觀的看出試題的作答狀態(tài),已做達(dá)試題默認(rèn)填充為綠色;考試時(shí)間倒計(jì)時(shí)則是在試卷生成時(shí),根據(jù)默認(rèn)或自定義的考試時(shí)間進(jìn)行時(shí)間倒計(jì)時(shí),考試時(shí)間剩余10分鐘時(shí),進(jìn)度條以紅色背景提示用戶,剩余時(shí)間為0則自動(dòng)交卷評(píng)分,完美的模擬了考試過程。
試題區(qū)為該系統(tǒng)核心功能部分,系統(tǒng)將題目信息、選項(xiàng)信息展示在用戶面前,選項(xiàng)則采用CheckBox做為和用戶交互的控件,當(dāng)用戶點(diǎn)擊試題導(dǎo)航或者通過下一題按鈕切換試題時(shí),會(huì)觸發(fā)存儲(chǔ)用戶答案的事件,系統(tǒng)讀取CheckBox確定用戶所選答案,并將用戶答案寫入數(shù)據(jù)庫(kù)中。
試題導(dǎo)航翻頁(yè)區(qū)則放置了上一題、下一題、提交試卷等按鈕,用于響應(yīng)用戶的相關(guān)操作。
(五)試卷提交與自動(dòng)評(píng)分
試卷提交分兩種情況,一種是用戶手動(dòng)提交,另一種是考試時(shí)間倒計(jì)時(shí)為0時(shí),系統(tǒng)自動(dòng)提交。
用戶手動(dòng)提交:當(dāng)用戶作答完成時(shí),點(diǎn)擊導(dǎo)航翻頁(yè)區(qū)的提交按鈕,系統(tǒng)將觸發(fā)手動(dòng)交卷操作,自動(dòng)檢測(cè)用戶已作答試題,如果有未作答試題,系統(tǒng)會(huì)彈出確定交卷提示框,并顯示用戶未作答試題序號(hào),如果仍確定交卷,系統(tǒng)則會(huì)提交試卷并執(zhí)行評(píng)分操作;反之可以返回做題界面繼續(xù)做題。
系統(tǒng)自動(dòng)提交:當(dāng)考試時(shí)間倒計(jì)時(shí)為0時(shí),不論是否存在為作答試卷,系統(tǒng)會(huì)自動(dòng)提交試卷而不會(huì)彈出未做答選項(xiàng),并強(qiáng)制執(zhí)行評(píng)分操作。
(六)試卷導(dǎo)出與歸檔
如果有必要,可將作答后的整套試卷輸出,供打印歸檔。也可以只輸出錯(cuò)誤試題,供用戶進(jìn)行錯(cuò)誤復(fù)習(xí)。
四、結(jié)語(yǔ)
該系統(tǒng)自研發(fā)完成投入應(yīng)用已有一年多的時(shí)間,初期也存在一些小問題,但是隨著使用人數(shù)的增多,問題及時(shí)得到了解決,至今已更新了多個(gè)版本,系統(tǒng)已基本穩(wěn)定。該系統(tǒng)采用了本地的SQLite數(shù)據(jù)庫(kù),安卓系統(tǒng)也采用的是SQLite數(shù)據(jù)庫(kù),這樣為以后安卓版的系統(tǒng)的研發(fā)擴(kuò)展提供了方便,提高了數(shù)據(jù)庫(kù)的重復(fù)利用性。
當(dāng)然,這只是職工教育培訓(xùn)考試模式的一種小創(chuàng)新,隨著社會(huì)經(jīng)濟(jì)的不斷發(fā)展,地勘單位需要涉及的領(lǐng)域也越來越多,原有的教育培訓(xùn)辦法必須進(jìn)行科學(xué)的、合理的補(bǔ)強(qiáng),進(jìn)而為多領(lǐng)域、多崗位的有效生產(chǎn)做出根本上的保障,促進(jìn)國(guó)家的進(jìn)一步發(fā)展。
參考文獻(xiàn):
[1]陳艷超.基于xaml的軟件用戶界面設(shè)計(jì)與實(shí)現(xiàn)[J].內(nèi)蒙古石油化工,2015(5).