《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技术 > 设计应用 > 交卷统计系统的分析与设计
交卷统计系统的分析与设计
来源:微型机与应用2012年第14期
陈永松
(广东松山职业技术学院, 广东 韶关 512126)
摘要: 为适应计算机操作考试的需要,在服务器端开发了交卷统计系统。系统通过显示交卷人数、未交卷考号以及交空白卷考生目录等交卷信息,帮助监考教师及时发现和处理各种交卷异常。系统采用C#为开发工具,讨论了交卷统计系统的系统分析和系统设计过程。经过多次考试的检验,在监考中使用本系统,可以避免在考试过程中出现考号错误、漏交卷等异常情况,并可减少空白卷率以及因交卷问题而引起的考生与考场之间的各种纠纷。
Abstract:
Key words :

摘  要: 為適應(yīng)計(jì)算機(jī)操作考試的需要,在服務(wù)器端開(kāi)發(fā)了交卷統(tǒng)計(jì)系統(tǒng)。系統(tǒng)通過(guò)顯示交卷人數(shù)、未交卷考號(hào)以及交空白卷考生目錄等交卷信息,幫助監(jiān)考教師及時(shí)發(fā)現(xiàn)和處理各種交卷異常。系統(tǒng)采用C#為開(kāi)發(fā)工具,討論了交卷統(tǒng)計(jì)系統(tǒng)的系統(tǒng)分析和系統(tǒng)設(shè)計(jì)過(guò)程。經(jīng)過(guò)多次考試的檢驗(yàn),在監(jiān)考中使用本系統(tǒng),可以避免在考試過(guò)程中出現(xiàn)考號(hào)錯(cuò)誤、漏交卷等異常情況,并可減少空白卷率以及因交卷問(wèn)題而引起的考生與考場(chǎng)之間的各種糾紛。
關(guān)鍵詞: 操作考試;監(jiān)考;交卷信息;空白卷

   隨著計(jì)算機(jī)教育的發(fā)展,高校計(jì)算機(jī)課程上機(jī)考試的比重越來(lái)越大。除少數(shù)課程用考試系統(tǒng)完成考試外,高校采取的考試方式一般是學(xué)生在本地機(jī)完成操作,然后將操作結(jié)果傳到服務(wù)器的某個(gè)文件夾中。各個(gè)院校提交考試結(jié)果的方式不同,我院采用發(fā)卷交卷系統(tǒng)[1]將本地機(jī)中的答題文件傳到服務(wù)器,盡管該系統(tǒng)通過(guò)交卷檢查器[2]一定程度上避免了錯(cuò)誤交卷,但是檢查器只提供在客戶端中檢查單個(gè)考生交卷情況的功能,在服務(wù)器端缺乏必要的檢查統(tǒng)計(jì)工具??荚囘^(guò)程中出現(xiàn)的考號(hào)錯(cuò)誤、考生漏交卷、交空白卷等異常情況,監(jiān)考教師往往不能及時(shí)發(fā)現(xiàn),導(dǎo)致考生沒(méi)有成績(jī)?;诖耍捎肅#為開(kāi)發(fā)工具,研發(fā)了一個(gè)交卷統(tǒng)計(jì)系統(tǒng),該系統(tǒng)可以從考生目錄自動(dòng)識(shí)別出空白卷,顯示已交卷和未交卷考號(hào)等各種交卷信息,幫助監(jiān)考教師及時(shí)發(fā)現(xiàn)各種交卷異常。
1 系統(tǒng)分析
1.1系統(tǒng)功能需求

    在服務(wù)器端遍歷交卷目錄,顯示按班級(jí)分類的各班已交卷人數(shù)及考號(hào)和未交卷考號(hào),遍歷每個(gè)考生目錄下的文件,將沒(méi)有答題卡或答題卡內(nèi)沒(méi)有答題信息的考生目錄名稱顯示在輸出端。
1.2 數(shù)據(jù)流圖
    根據(jù)系統(tǒng)功能需求,結(jié)合實(shí)際考試中遇到的一些問(wèn)題,畫出本系統(tǒng)的數(shù)據(jù)流圖。其中頂層圖和0層圖如圖1和圖2所示。

1.3部分?jǐn)?shù)據(jù)流和存儲(chǔ)說(shuō)明
    空白答題卡:由任課教師提供的沒(méi)有答題信息的答題卡,同一場(chǎng)考試中最多有4張答題卡,每個(gè)考生分別使用一張答題卡答題。
  已交卷考號(hào):已經(jīng)交卷的考生考號(hào),考生目錄左邊8位為考號(hào),考號(hào)左邊6位為班號(hào)。
    班級(jí)信息:由本班已交卷人數(shù)和本班全體交卷考生考號(hào)組成。
2 系統(tǒng)設(shè)計(jì)
2.1模塊設(shè)計(jì)

    本系統(tǒng)分為空白卷及考號(hào)處理、分班、交卷信息處理3個(gè)模塊。
2.2 輸入設(shè)計(jì)
    輸入設(shè)計(jì)包括輸入交卷目錄、空白答題卡目錄和空白答題卡文件名。其中目錄通過(guò)文件夾瀏覽對(duì)話框選擇錄入,文件名可以包含通配符,如*.sql。每次重新運(yùn)行本系統(tǒng),輸入界面顯示上一次操作輸入的目錄和文件名,通過(guò)讀寫XML格式文件實(shí)現(xiàn)這一功能。
2.3 輸出設(shè)計(jì)
    在輸出界面中顯示考場(chǎng)已交卷總?cè)藬?shù)、各班已交卷人數(shù)、交卷及未交卷考號(hào)和空白卷考生目錄名稱。由于在實(shí)際考試中,監(jiān)考教師更關(guān)心已交卷人數(shù)和未交卷考號(hào),因此交卷考號(hào)只顯示起始考號(hào)和最后考號(hào)。考慮到每場(chǎng)考試班級(jí)數(shù)量不超過(guò)3個(gè),如果超過(guò)3個(gè),說(shuō)明有異常情況,如考生輸錯(cuò)考號(hào),因此人數(shù)最多的3個(gè)班才顯示交卷人數(shù)、交卷和未交卷考號(hào),其他班只顯示已交卷考號(hào)。未交卷考號(hào)和空白卷考生目錄以列表框形式顯示。
2.4處理過(guò)程設(shè)計(jì)
2.4.1空白卷及考號(hào)處理設(shè)計(jì)

    空白卷及考號(hào)處理過(guò)程為:遍歷空白答題卡目錄,將空白答題卡的文件信息(包括文件名和文件大小)保存到答題卡結(jié)構(gòu)體數(shù)組中。遍歷交卷目錄,從每個(gè)考生目錄中提取考號(hào),保存到考號(hào)數(shù)組中,按答題卡結(jié)構(gòu)體數(shù)組提供的文件名,遍歷每個(gè)考生目錄中的文件,如果找不到文件判斷為空白卷,否則判斷考生答題卡文件大小,如果與空白答題卡文件大小相同,則判斷為空白卷,系統(tǒng)將空白卷目錄顯示在輸出界面中。
2.4.2分班處理設(shè)計(jì)
    分班目的是根據(jù)考號(hào)數(shù)組中的數(shù)據(jù),按班號(hào)不同對(duì)考號(hào)進(jìn)行分班,并將結(jié)果存入班級(jí)信息中。
    (1) 班級(jí)信息數(shù)據(jù)結(jié)構(gòu)
    ①定義一個(gè)班級(jí)信息類存放班級(jí)信息,類圖[3]如圖3所示。其中Cnt為班級(jí)人數(shù),No[]為考號(hào)數(shù)組。
    ②為便于對(duì)班級(jí)信息對(duì)象進(jìn)行統(tǒng)一管理,引入List<T>類[4],名稱為ClassList,聲明如下:

    List<ClassGroup> ClassList=new List<ClassGroup>();
    每增加一個(gè)班級(jí)信息對(duì)象,則將該對(duì)象添加到ClassList列表中。
    (2) 分班處理過(guò)程
    為便于描述,使用以下符號(hào):j為班級(jí)下標(biāo),k為考號(hào)下標(biāo),ClassList[j][k]為j班第k個(gè)人考號(hào),ClassList[j].Cnt為j班人數(shù)。
    流程如下:將考號(hào)數(shù)組進(jìn)行升序處理,然后判斷每個(gè)考號(hào)和前一個(gè)考號(hào),如果其中的班號(hào)不同,則創(chuàng)建一個(gè)新的ClassGroup對(duì)象,并將該對(duì)象添加到ClassList列表中, ClassList[j].Cnt=k+1,然后j++, k=0,如果和前一個(gè)考號(hào)相同,則k++,不管是哪種情況都將當(dāng)前考號(hào)存入ClassList[j][k]。
2.4.3交卷信息處理設(shè)計(jì)

 


    將ClassList列表中的班級(jí)信息對(duì)象按Cnt進(jìn)行降序處理,然后顯示Cnt最大的3個(gè)班的班級(jí)人數(shù)、已交卷起始考號(hào)、已交卷最后考號(hào)和未交卷考號(hào),其他班只顯示已交卷考號(hào)。
    未交卷考號(hào)的處理分兩種情況,一種是有考生名單EXCEL文件的,則EXCEL文件中有但交卷考號(hào)中沒(méi)有的即為未交卷考號(hào);另一種情況是沒(méi)有考生名單EXCEL文件,處理方法是遍歷本班考生考號(hào),如當(dāng)前考號(hào)(如00301105)和前一個(gè)考號(hào)(如00301102)之間不連續(xù),則中間的號(hào)碼(如00301103和00301104)認(rèn)為是未交卷考號(hào)。
2.5代碼實(shí)現(xiàn)
    本系統(tǒng)大部分代碼省略。這里只介紹班級(jí)信息對(duì)象按Cnt屬性進(jìn)行排序的處理方法,首先定義一個(gè)IComparer 類型用于比較兩個(gè)ClassGroup對(duì)象的大小,參考代碼如下:
    public class ClasscntCmp : IComparer<ClassGroup>
         { int IComparer<ClassGroup>.Compare(ClassGroup x,
             ClassGroup y)
             { return y.cnt - x.cnt;} }
  然后通過(guò)ClassList.Sort(new ClasscntCmp());實(shí)現(xiàn)班級(jí)信息對(duì)象的降序處理。
3 關(guān)于空白答題卡的一些問(wèn)題
    在操作考試中,存放考試結(jié)果大致分為兩種類型。一是用專門的答題卡,將操作過(guò)程或結(jié)果以文字和圖片形式的復(fù)制到答題卡中,在題目文件中輸入答題信息也屬于這種類型;二是沒(méi)有專門的答題卡,考試結(jié)果就是對(duì)每道題進(jìn)行相關(guān)操作后生成的文件,如程序設(shè)計(jì)源文件。對(duì)于第二種類型,建議將第一道操作題的空白操作文件(如a01.cs,進(jìn)入操作軟件后不要進(jìn)行任何操作直接保存)作為答題卡進(jìn)行檢驗(yàn)。
    系統(tǒng)檢測(cè)出空白答題卡后,監(jiān)考教師應(yīng)通知考生,確認(rèn)空白答題卡原因,如果考生答題文件在本地機(jī)中仍然存在,只是未傳到服務(wù)器,允許考生重新交卷。如果因考生個(gè)人原因,如未保存文件,在本地機(jī)也找不到答題文件,則應(yīng)讓考生簽名確認(rèn)。
    交卷統(tǒng)計(jì)系統(tǒng)實(shí)現(xiàn)了對(duì)所有計(jì)算機(jī)操作考試進(jìn)行交卷信息管理,通過(guò)顯示已交卷人數(shù)、未交卷考號(hào)等信息,便于監(jiān)考教師對(duì)當(dāng)前交卷情況進(jìn)行監(jiān)控,及時(shí)發(fā)現(xiàn)考場(chǎng)中出現(xiàn)的漏交卷、交卷考號(hào)錯(cuò)誤等異常情況。而空白卷檢測(cè)功能能夠在第一時(shí)間發(fā)現(xiàn)考生空白卷,在監(jiān)考現(xiàn)場(chǎng)就空白卷問(wèn)題進(jìn)行處理,一方面減少了空白卷率,另一方面現(xiàn)場(chǎng)簽名確認(rèn)也減少了考生與考場(chǎng)之間的糾紛。包括本院使用的發(fā)卷交卷系統(tǒng)在內(nèi),所有將操作結(jié)果傳到服務(wù)器,并以考號(hào)作為目錄名區(qū)分不同考生的操作考試,都可以使用交卷統(tǒng)計(jì)系統(tǒng)進(jìn)行交卷信息管理。
參考文獻(xiàn)
[1] 胡開(kāi)明. 基于.NET的發(fā)卷交卷系統(tǒng)設(shè)計(jì)[J].重慶工商大學(xué)學(xué)報(bào)(自然科學(xué)版),2010,27(3),252-256.
[2] 胡開(kāi)明,陳建華,王玉賢. 基于VB.NET的交卷檢查器設(shè)計(jì)[J]. 黃石:黃石理工學(xué)院學(xué)報(bào), 2009,25(2):15-17.
[3] 馬駿.C#程序設(shè)計(jì)及應(yīng)用教程[M].北京:人民郵電出版,2009.
[4] 孫涌.軟件工程教程[M].北京:機(jī)械工業(yè)出版社,2010.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。

相關(guān)內(nèi)容