亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于HUSTOJ的高級(jí)語言考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2018-04-27 11:51:38卜明磊浙江廣廈建設(shè)職業(yè)技術(shù)學(xué)院
        數(shù)碼世界 2018年4期
        關(guān)鍵詞:源碼進(jìn)程試卷

        卜明磊 浙江廣廈建設(shè)職業(yè)技術(shù)學(xué)院

        1 引言

        自第一臺(tái)計(jì)算機(jī)誕生至今,短短數(shù)十載,信息時(shí)代已然改變?nèi)藗兩a(chǎn)生活方式。本課題就是設(shè)計(jì)并實(shí)現(xiàn)一套基于HUSTOJ的高級(jí)語言考試系統(tǒng)。HUSTOJ遵守GPL協(xié)議,其開源的特性有利于實(shí)現(xiàn)代碼的二次開發(fā)并能為本系統(tǒng)所用。

        通過本高級(jí)語言考試系統(tǒng),管理員可以對(duì)教師、學(xué)生和題庫進(jìn)行管理,教師可以根據(jù)具體情況從已有題庫中選擇所需題目進(jìn)行人工組卷,也可對(duì)已有試卷進(jìn)行查看,更也可以查看每次考試的統(tǒng)計(jì)信息,而這些統(tǒng)計(jì)信息是計(jì)算機(jī)自動(dòng)運(yùn)用數(shù)學(xué)知識(shí)運(yùn)算所得,即高效又準(zhǔn)確。學(xué)生可以通過考試系統(tǒng)完成在線評(píng)測(cè)并第一時(shí)間獲取自己成績(jī),實(shí)時(shí)反饋,促進(jìn)教育教學(xué)良好有序進(jìn)行。

        2 HUSTOJ的分析

        HUSTOJ作為一個(gè)開源在線評(píng)測(cè)系統(tǒng)已經(jīng)被廣泛用于計(jì)算機(jī)程序設(shè)計(jì)比賽和編程能力測(cè)試中。通過分析它的源代碼我們可以發(fā)現(xiàn),HUSTOJ由core和web兩個(gè)文件組成, web主要用于存放數(shù)據(jù),core主要用于實(shí)現(xiàn)判題功能。其中,core分為三部分:judged(其中最核心部分是服務(wù)進(jìn)程源碼judged.cc)、judge_client(其中最核心部分是判題進(jìn)程源碼judged_client.cc)、sim(其中最核心部分是sim.sh,是一個(gè)第三方軟件,用于檢測(cè)相似度,防止作弊)。這里主要用到了judged和judge_client,因此在判題源碼分析中主要介紹服務(wù)進(jìn)程源碼和判題進(jìn)程源碼。

        2.1 判題源碼分析

        2.1.1 服務(wù)進(jìn)程源碼分析

        服務(wù)進(jìn)程代碼(judged.cc)是由519行C語言編寫的源代碼組成,總大小為13.4KB。該源代碼實(shí)現(xiàn)的主要功能在第485行至519行的main函數(shù)中得以表現(xiàn)。首先創(chuàng)建家目錄(默認(rèn)家目錄為home/judge)并進(jìn)入,在確認(rèn)輸入無誤后創(chuàng)建守護(hù)進(jìn)程,然后在確認(rèn)家目錄無誤且守護(hù)進(jìn)程尚未運(yùn)行后配置數(shù)據(jù)庫信息,通過執(zhí)行SQL語句獲取符合要求的題目標(biāo)記值信息(這里是對(duì)應(yīng)的是題目的主鍵solution_id),之后計(jì)算機(jī)一直處于等待返回信息狀態(tài),一旦接收到對(duì)應(yīng)信號(hào),則立馬結(jié)束判題服務(wù)進(jìn)程,如果進(jìn)程未結(jié)束則表示準(zhǔn)備就緒。接下來進(jìn)入循環(huán)體,該創(chuàng)建的守護(hù)進(jìn)程就正式成為執(zhí)行題目的判題守護(hù)進(jìn)程并開始起作用,直到出現(xiàn)錯(cuò)誤或題目全部已經(jīng)答完。

        2.1.2 判題進(jìn)程源碼分析

        判題進(jìn)程代碼(judge_client.cc)是由1989行C語言編寫的源代碼組成,總大小為70.8KB。獲取題目solution_id并為之編號(hào),在配置數(shù)據(jù)庫配置信息后驗(yàn)證數(shù)據(jù)庫是否運(yùn)行正常,結(jié)果(記錄在result中)共有0至13共14種情況,其中, result為4表示AC,即結(jié)果正確,其他數(shù)字對(duì)應(yīng)代表一種出錯(cuò)情況。判題進(jìn)程源碼采用的是沙箱技術(shù),通過創(chuàng)建一個(gè)虛擬環(huán)境并在其中運(yùn)行,待得出結(jié)果后刪除它。這就保證了系統(tǒng)的安全性。

        2.2 數(shù)據(jù)庫分析

        HUSTOJ數(shù)據(jù)庫共有17張數(shù)據(jù)表。中本系統(tǒng)調(diào)用的最主要數(shù)據(jù)表是記錄題目提交運(yùn)行相關(guān)信息的表solution solution_id,problem_id,user_id,time,memory,in_date,result,language,ip,contest_id,valid,num,code_length,judgetime,pass_rate)和表 source_code(solution_id,source)。

        值得注意的是,HUSTOJ數(shù)據(jù)表中不存在外鍵,數(shù)據(jù)的完整性由web中的PHP代碼保證。

        3 系統(tǒng)模塊設(shè)計(jì)

        4 系統(tǒng)實(shí)現(xiàn)

        本考試系統(tǒng)功能分為四大模塊:用戶登錄驗(yàn)證模塊、系統(tǒng)管理員模塊、教師模塊和學(xué)生模塊。

        4.1 用戶登錄驗(yàn)證模塊

        首先輸入正確的姓名、密碼,并選擇相應(yīng)的身份,然后單擊登錄按鈕即可。如果輸入無誤,則進(jìn)入相應(yīng)界面,否則顯示錯(cuò)誤提示信息。

        4.2 系統(tǒng)管理員模塊

        4.2.1 教師管理

        根據(jù)教師姓名、職稱和部門查詢教師信息,符合條件的教師信息(教師姓名、密碼、職稱、部門)以一張表格形式展現(xiàn),在信息的最后,管理員可以選擇修改該教師信息或刪除該教師信息。

        4.2.2 學(xué)生管理

        根據(jù)學(xué)生學(xué)號(hào)、姓名、專業(yè)和年級(jí)查詢學(xué)生信息,符合條件的學(xué)生信息(學(xué)生學(xué)號(hào)、姓名、密碼、性別、專業(yè)、年級(jí))以一張表格形式展現(xiàn),在信息的最后,管理員可以選擇修改該學(xué)生信息功能或刪除該學(xué)生信息

        4.2.3 題庫管理

        根據(jù)題目?jī)?nèi)容、題型、知識(shí)點(diǎn)和章節(jié)查詢題庫信息,符合條件的題庫信息(題目?jī)?nèi)容、題型、知識(shí)點(diǎn)、章節(jié))以一張表格形式展現(xiàn),在信息的最后,管理員可以選擇修改該題目或刪除該題目。

        4.3 教師模塊

        4.3.1 人工組卷

        輸入試卷基本信息(試卷名稱、考試時(shí)間、選擇題數(shù)量、判斷題數(shù)量、填空題數(shù)量、程序題數(shù)量、選擇題分值、填空題分值、判斷題分值、程序題分值)后單擊提交,進(jìn)入組卷界面。單擊“選擇題”后題庫中的所有選擇題將顯示,教師可任意選取,不過必須與試卷基本信息中的題數(shù)相對(duì)應(yīng),否則最終提交將會(huì)無效。其他還有“填空題”、“判斷題”和“程序題”,于此類似。最后,單擊“提交”,在系統(tǒng)提示完成后組卷工作完成。

        4.3.2 人工閱卷

        從數(shù)據(jù)庫中選取該教師出的試卷,從中再選取未曾批改過的題目,將信息(學(xué)號(hào)、試卷編號(hào)、題目編號(hào)、考生答案、參考答案、機(jī)器批閱結(jié)果、是否已核對(duì)、更正)顯示出來。對(duì)于已核對(duì)的題目,則在“核對(duì)”中打鉤,并作為最終結(jié)果。如果遇到自動(dòng)批改試卷有出路的地方,則在“核對(duì)”中選中之后還需在更正一欄中填入正確得分。

        4.3.3 試卷分析

        選中條件信息(學(xué)號(hào)、試卷編號(hào)、題目編號(hào))進(jìn)行查閱試卷。在選中試卷?xiàng)l件之后單擊“查詢”,可以得到相應(yīng)學(xué)號(hào)、試卷編號(hào)、題目編號(hào)、得分、該題平均分以及排名統(tǒng)計(jì)信息。

        4.3.4 試卷查詢

        選中試卷?xiàng)l件信息(試卷編號(hào)、題目編號(hào)編號(hào))進(jìn)行查詢。在選中試卷?xiàng)l件之后單擊“查詢”,可以得到相應(yīng)試卷編號(hào)、題目編號(hào)、試卷名稱、題目?jī)?nèi)容和刪除信息。如果教師對(duì)該每一題目不滿意欲刪除,則可以通過單擊左鍵“刪除”來達(dá)到目的。

        4.3.5 成績(jī)查詢

        選中條件信息(學(xué)號(hào)、試卷編號(hào))進(jìn)行查閱。在選中條件之后單擊“查詢”,可以得到相應(yīng)學(xué)號(hào)、試卷名稱、題目編號(hào)、得分、平均分信息。

        4.4 學(xué)生模塊

        4.4.1 進(jìn)入考試

        單擊導(dǎo)航欄中的“進(jìn)入考試”鏈接,顯示信息分為兩部分:功能區(qū)以及信息區(qū)。功能區(qū)位于上方。學(xué)生選擇試卷編號(hào)并單擊“進(jìn)入考試”按鈕進(jìn)入答題頁面。而信息區(qū)域顯示勵(lì)志故事,旨在激勵(lì)學(xué)生。答題頁面是本次考試試卷全部?jī)?nèi)容。每一道題目由題號(hào)、題目?jī)?nèi)容、題型和考生答案四部分構(gòu)成??荚囋凇翱忌鸢浮敝刑顚懘鸢负髥螕繇撁嫦路降摹疤峤弧卑粹o即可交卷。本系統(tǒng)采用系統(tǒng)自動(dòng)閱卷功能,在學(xué)生提交答案后系統(tǒng)自動(dòng)在后臺(tái)運(yùn)行批改程序,在第一時(shí)間得到結(jié)果。

        4.4.2 成績(jī)查詢

        選中條件信息(學(xué)號(hào)、試卷編號(hào))進(jìn)行查閱。在選中條件之后單擊“查詢”,可以得到相應(yīng)學(xué)號(hào)、試卷名稱、題目編號(hào)、得分、平均分信息。

        5 總結(jié)展望

        5.1 總結(jié)

        因?yàn)榛贖USTOJ的高級(jí)語言考試系統(tǒng)是一套能夠?qū)崿F(xiàn)計(jì)算機(jī)自動(dòng)批改試卷的高級(jí)語言考試系統(tǒng),而本系統(tǒng)的研究重點(diǎn)是在LAMP( Linux + Apache + MySQL + PHP )的框架下,在自動(dòng)程序判題系統(tǒng)HUSTOJ的基礎(chǔ)上進(jìn)行自行設(shè)計(jì)并創(chuàng)建一套高級(jí)語言考試系統(tǒng)。可以毫不夸張地說,這是一個(gè)新的領(lǐng)域,而我就是一個(gè)純粹地探索者——在網(wǎng)絡(luò)地幫助下(特別是百度、谷歌等搜索引擎的幫助以及CSDN等網(wǎng)站的幫助),功能基本實(shí)現(xiàn)。

        5.2 展望

        此次實(shí)現(xiàn)了高級(jí)語言考試系統(tǒng)的基本功能。其主要特色是借助HUSTOJ實(shí)現(xiàn)對(duì)程序的自動(dòng)判題。由于本系統(tǒng)是開源系統(tǒng),而且是參照工程化的已有項(xiàng)目搭建完成,所以結(jié)構(gòu)清晰,編程規(guī)范,為以后編程人員解讀代碼或再次開發(fā)提供了保障??傊?,對(duì)于本系統(tǒng)的未來努力方向總結(jié)如下:

        (1)美觀性:增強(qiáng)界面美觀設(shè)計(jì),使界面更符合大眾對(duì)審美的需求;

        (2)防作弊性:通過數(shù)學(xué)工具實(shí)現(xiàn)數(shù)據(jù)統(tǒng)計(jì)計(jì)算,達(dá)到防作弊的效果;

        (3)數(shù)據(jù)表現(xiàn)多樣性:對(duì)于各種統(tǒng)計(jì)信息,實(shí)現(xiàn)數(shù)據(jù)與圖形圖畫的轉(zhuǎn)換,實(shí)現(xiàn)諸如折線圖、圓餅圖等功能;

        (4)安全性:對(duì)于每次用戶登錄(特別是文本框等數(shù)據(jù)輸入),都要通過多種手段進(jìn)行安全驗(yàn)證,比如正則表達(dá)式等。

        [1]張浩斌.基于開放式云平臺(tái)的開源在線評(píng)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)科學(xué)2012年增刊,第39 卷第11A 期:339-343,348.

        [2]何莉輝,梁滄.基于ACM 國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽的學(xué)習(xí)模式[J].邊疆經(jīng)濟(jì)與文化,2008(6):95-96.

        [3]網(wǎng)絡(luò)教育_維基百科[EB/OL]. http://zh.wikipedia.org/wiki/Linux.

        [4]車明洙,紀(jì)洪波.一種基于ACM 程序設(shè)計(jì)競(jìng)賽在線評(píng)測(cè)系統(tǒng)解決方案 [J].微型機(jī)與應(yīng)用,2010(4):11-13.

        猜你喜歡
        源碼進(jìn)程試卷
        基于網(wǎng)頁源碼結(jié)構(gòu)理解的自適應(yīng)爬蟲代碼生成方法
        基于圖神經(jīng)網(wǎng)絡(luò)的軟件源碼漏洞檢測(cè)方法
        企業(yè)如何保護(hù)源碼
        債券市場(chǎng)對(duì)外開放的進(jìn)程與展望
        Module5 A Trip Along the Three Gorges
        Module5 Great People and Great Inventions of Ancient China
        Module 4 Sandstorms in Asia
        Module 1 Europe
        基于數(shù)據(jù)結(jié)構(gòu)教輔系統(tǒng)的實(shí)驗(yàn)課程改革
        社會(huì)進(jìn)程中的新聞學(xué)探尋
        国模冰莲自慰肥美胞极品人体图 | 日韩精品极品免费观看| 人妻精品久久一区二区三区| 亚洲av综合av国产av中文| 国产熟妇搡bbbb搡bb七区| 久久与欧美视频| 美腿丝袜视频在线观看| 午夜成人理论福利片| 亚洲 欧美精品suv| 爆乳无码AV国内| 日韩精品久久午夜夜伦鲁鲁| 精品人妻少妇嫩草av无码专区| 天天做天天躁天天躁| 中文一区二区三区无码视频| 国产一区二区三区十八区| 欧美人妻aⅴ中文字幕| 久久国产36精品色熟妇| 资源在线观看视频一区二区| 中文字幕一区在线直播| 东京热人妻无码一区二区av| 国产日产精品久久久久久| 一级二级三一片内射视频| 久久国产劲爆∧v内射| 一本一道波多野结衣一区| 无码高潮久久一级一级喷水 | 亚洲男人在线天堂av| 亚洲国产精品无码成人片久久| 成人欧美一区二区三区的电影| 亚洲嫩模高清在线视频| 久久国产精品色av免费看| 高清精品一区二区三区| 亚洲精品国产综合一线久久| 亚洲成人激情在线影院| 日本亚洲精品一区二区三| 精品一区二区三区免费播放| 日本一区二区三区中文字幕最新 | 日韩精品无码一区二区三区| 内射囯产旡码丰满少妇| 人妻少妇精品无码专区app| 日韩中文字幕不卡在线| 国产精品久久人妻无码|