畢業(yè)論文---程序在線評(píng)測(cè)系統(tǒng)_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  程序在線評(píng)測(cè)系統(tǒng)</b></p><p><b>  ——后臺(tái)評(píng)測(cè)模塊</b></p><p>  摘 要:ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽,是一項(xiàng)旨在展示大學(xué)生創(chuàng)新能力、團(tuán)隊(duì)精神和在壓力下編寫程序、分析和解決問題能力的年度競(jìng)賽。經(jīng)過近30多年的發(fā)展,ACM國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽已經(jīng)發(fā)展成為最具影響力的大學(xué)生計(jì)算機(jī)競(jìng)賽。

2、隨著其發(fā)展,各高校也越來越重視這項(xiàng)競(jìng)賽,廣東外語外貿(mào)大學(xué)的程序在線評(píng)測(cè)系統(tǒng)也應(yīng)運(yùn)而生。在這個(gè)平臺(tái)中,用戶只需要提交他們的代碼,系統(tǒng)就可以自動(dòng)地為其程序做出相應(yīng)的評(píng)測(cè),并且返回相應(yīng)的評(píng)測(cè)結(jié)果。通過這個(gè)平臺(tái),用戶不但可以鞏固學(xué)科知識(shí),也可以大大提高代碼的實(shí)踐能力。</p><p>  后臺(tái)評(píng)測(cè)模塊主要負(fù)責(zé)對(duì)用戶提交的源程序進(jìn)行編譯,運(yùn)行,得到是評(píng)測(cè)結(jié)果再反饋給用戶。</p><p>  關(guān)鍵詞

3、:在線評(píng)測(cè),程序設(shè)計(jì),ACM</p><p>  Online Judge System</p><p>  ——Background Judge Module</p><p>  Abstract: ACM international collegiate programming contest, is an annual competition that aim

4、s at showing their abilitities of innovation, teamwork, programming under pressure, analysing and solving problems. Through more than 30 years’ development, it has become the most influential computing contest for colleg

5、e students and been taken more seriously by many higher eduction universities and colleges, so there comes the Guangdong University of Foreign Studies Online Judge. System which can provi</p><p>  Background

6、 judge module is mainly responsible for a user to submit the source code to compile, run, and return the judge result to the user.</p><p>  Key words: Online judge, Programming, ACM</p><p><b

7、>  目 錄</b></p><p><b>  摘 要I</b></p><p>  AbstractII</p><p><b>  第一章 緒論1</b></p><p>  1.1 課題的背景、研究意義1</p><p>  1.2 軟件開

8、發(fā)環(huán)境描述1</p><p>  1.3 軟件運(yùn)行環(huán)境描述2</p><p>  第二章 系統(tǒng)總體設(shè)計(jì)3</p><p>  2.1 模塊介紹3</p><p>  2.2 項(xiàng)目分工6</p><p>  2.3 數(shù)據(jù)流圖6</p><p>  2.4 數(shù)據(jù)庫設(shè)計(jì)8</p&g

9、t;<p>  第三章 GOJ內(nèi)核設(shè)計(jì)13</p><p><b>  3.1 定義13</b></p><p>  3.2 性能要求14</p><p>  3.3 判題流程14</p><p>  3.4 接口設(shè)計(jì)15</p><p>  第四章 內(nèi)核數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)19

10、</p><p>  4.1 邏輯結(jié)構(gòu)設(shè)計(jì)19</p><p>  4.3 出錯(cuò)信息20</p><p>  4.4 補(bǔ)救措施20</p><p>  第五章 內(nèi)核實(shí)現(xiàn)難點(diǎn)21</p><p>  5.1 JNI本地調(diào)用21</p><p>  5.2 內(nèi)存測(cè)量23</p>

11、;<p>  5.3 進(jìn)程數(shù)控制29</p><p>  5.4 連接到其他Online Judge System30</p><p><b>  第六章 結(jié)語36</b></p><p><b>  參考文獻(xiàn)37</b></p><p><b>  致 謝38&

12、lt;/b></p><p><b>  緒論</b></p><p>  課題的背景、研究意義</p><p>  程序設(shè)計(jì)類課程,具有實(shí)踐性強(qiáng)的特點(diǎn)。它不但要求學(xué)生掌握基礎(chǔ)的理論知識(shí),更重要的是要求學(xué)生不斷提高自身的編程實(shí)踐能力。因此,在這類課程中,老師務(wù)必會(huì)布置大量的程序設(shè)計(jì)作業(yè),傳統(tǒng)通過電子郵件或手寫提交作業(yè)的方式讓老師感到批改作

13、業(yè)的任務(wù)繁重,讓學(xué)生感到費(fèi)時(shí)費(fèi)力,難以提高編程的實(shí)踐能力。為方便教學(xué),提高學(xué)生動(dòng)手編程的實(shí)踐能力,開發(fā)一個(gè)自動(dòng)化,智能化的評(píng)測(cè)系統(tǒng)成為需要。隨著現(xiàn)代信息化的發(fā)展,軟硬件的不斷升級(jí),使得開發(fā)這樣一個(gè)評(píng)測(cè)系統(tǒng)成為可能。</p><p>  Online Judge System,則是指一個(gè)在線的裁判系統(tǒng),它可對(duì)程序源代碼進(jìn)行編譯和執(zhí)行,并通過預(yù)先設(shè)計(jì)的測(cè)試數(shù)據(jù)來檢驗(yàn)程序源代碼的正確性。</p><

14、p>  ACM/ICPC(ACM International Collegiate Programming Contest, 國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽)是由國(guó)際計(jì)算機(jī)界歷史悠久、頗具權(quán)威性的組織ACM(Association for Computing Machinery,國(guó)際計(jì)算機(jī)協(xié)會(huì))主辦的,世界上公認(rèn)的規(guī)模最大、水平最高的國(guó)際大學(xué)生程序設(shè)計(jì)競(jìng)賽?,F(xiàn)在各高校也越來越重視ACM程序設(shè)計(jì)比賽,都紛紛建立起自己的測(cè)評(píng)平臺(tái)供老師和學(xué)生使

15、用,廣東外語外貿(mào)大學(xué)的程序在線評(píng)測(cè)系統(tǒng)也就應(yīng)運(yùn)而生。</p><p><b>  軟件開發(fā)環(huán)境描述</b></p><p>  操作系統(tǒng):Windows NT 5.1以上</p><p>  開發(fā)平臺(tái):MyEclipse 6.0.1</p><p>  數(shù)據(jù)庫:MySQL 5.1.40</p>&l

16、t;p>  開發(fā)語言:Java 1.6 + Jsp + C++</p><p>  WEB服務(wù)器:Tomcat 6.0</p><p><b>  軟件運(yùn)行環(huán)境描述</b></p><p>  CPU:PIII 800Mhz或更高</p><p>  內(nèi)存:256MB或更高</p>&

17、lt;p>  硬盤:100MB或以上剩余空間</p><p>  操作系統(tǒng):Windows NT 5.1以上</p><p>  數(shù)據(jù)庫:MySQL 5.1.40</p><p>  WEB服務(wù)器:Tomcat 6.0</p><p><b>  系統(tǒng)總體設(shè)計(jì)</b></p><p

18、>  本系統(tǒng)主要是分為五個(gè)模塊:用戶維護(hù),題目維護(hù),競(jìng)賽維護(hù),后臺(tái)評(píng)測(cè),論壇。</p><p><b>  模塊介紹</b></p><p><b>  用戶維護(hù)</b></p><p><b>  題目維護(hù)</b></p><p><b>  后臺(tái)管理<

19、/b></p><p>  可以添加、刪除、修改競(jìng)賽;</p><p><b>  查詢競(jìng)賽。</b></p><p><b>  后臺(tái)評(píng)測(cè)</b></p><p><b>  論壇</b></p><p><b>  頂層圖如下:<

20、;/b></p><p><b>  圖2.2 頂層圖</b></p><p><b>  數(shù)據(jù)表</b></p><p>  表2-1 用戶信息表(userinfo)</p><p><b>  GOJ內(nèi)核設(shè)計(jì)</b></p><p><b

21、>  定義</b></p><p>  廣東外語外貿(mào)大學(xué)程序在線評(píng)測(cè)系統(tǒng),簡(jiǎn)稱為GOJ。其中負(fù)責(zé)評(píng)測(cè)用戶提交的源程序的模塊稱為廣東外語外貿(mào)大學(xué)程序在線評(píng)測(cè)系統(tǒng)的內(nèi)核,簡(jiǎn)稱為GOJ內(nèi)核。</p><p><b>  內(nèi)核數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)</b></p><p><b>  邏輯結(jié)構(gòu)設(shè)計(jì)</b></p>

22、;<p><b>  補(bǔ)救措施</b></p><p>  出現(xiàn)錯(cuò)誤,應(yīng)重復(fù)執(zhí)行該內(nèi)核,若確定為 Bug 的,要進(jìn)行源代碼級(jí)別的修復(fù)。</p><p><b>  內(nèi)核實(shí)現(xiàn)難點(diǎn)</b></p><p><b>  JNI本地調(diào)用</b></p><p><b

23、>  結(jié)語</b></p><p>  在GOJ的開發(fā)過程中,受到的阻力很大。剛開始是整體的模塊劃分問題,因?yàn)樵谠O(shè)計(jì)的時(shí)候,沒有考慮周全系統(tǒng)的可擴(kuò)展行,導(dǎo)致開始開發(fā)時(shí)發(fā)現(xiàn)很多地方需要重構(gòu)。但經(jīng)過和組員討論后,采用了MVC的方法,分清楚各個(gè)模塊,考慮清楚系統(tǒng)的擴(kuò)展性,這才使得后面的工作可以順利進(jìn)行。接著遇到的問題是代碼的統(tǒng)一性問題,比如代碼規(guī)范,枚舉類型的統(tǒng)一等。功夫不負(fù)有心人,經(jīng)過大家的努力,再

24、加上大家的熱情,最后還是解決了這個(gè)問題。最后是整合的問題,因?yàn)槊總€(gè)人負(fù)責(zé)的模塊和別的模塊聯(lián)系較小,大家只顧著開發(fā)自己的模塊,所以在整合的時(shí)候,其他模塊要進(jìn)行的一些配置等問題都出來了,但是組員們都非常的耐心,各自幫助別人進(jìn)行配置。雖然我們組有五人之多,但從開始開發(fā)到結(jié)束,大家都和睦地走過來了,而且互相學(xué)習(xí)的氛圍使得大家的能力都得到了很大的提升。</p><p>  在內(nèi)核的開發(fā)過程中,讓我明白了要懂得詢問,懂得交流

25、,懂得查閱。身邊每個(gè)人,每樣事物都可以給你啟發(fā)。比如,在我不解怎么測(cè)量?jī)?nèi)存時(shí),詢問了廣州大學(xué)的一位同學(xué),他建議我去看核心編程,而且還給我講解核心編程的各個(gè)章節(jié),這給我后面的開發(fā)起到了很大的推動(dòng)作用。又比如,經(jīng)常上百度、Google,你會(huì)搜索到很多很有用的知識(shí)。當(dāng)然,學(xué)校的資源更是豐富。</p><p>  總之,要注意的事情很多,要學(xué)的東西也很多,只有耐心走下去,最終還是可以走到終點(diǎn)。</p>&l

26、t;p><b>  參考文獻(xiàn)</b></p><p>  [1] 北京大學(xué)在線評(píng)測(cè)系統(tǒng),http://acm.pku.edu.cn/JudgeOnline/ </p><p>  [2] 烏拉爾大學(xué)在線評(píng)測(cè)系統(tǒng),http://acm.timus.ru/archive.aspx</p><p>  [3] Microsoft Develop

27、ers Network (MSDN) Library,http://msdn.microsoft.com/</p><p>  [4] Sun Developers Network (SDN),http://java.sun.com/</p><p>  [5] 張亞飛.JSP開發(fā)王[M]. 電子工業(yè)出版社,2008年</p><p>  [6] 朱戰(zhàn)力,沈偉.Ja

28、va程序設(shè)計(jì)實(shí)用教程[M].電子工業(yè)出版社,2004年</p><p>  [7] 吳建,張旭東.JSP網(wǎng)絡(luò)開發(fā)入門與實(shí)踐[M].人民郵電出版社,2006年</p><p>  [8] 李樹清.Java通用范例開發(fā)金典[M].電子工業(yè)出版社,2009年</p><p>  [9] 林上杰,林康司.JSP 2.0 技術(shù)手冊(cè)[M].電子工業(yè)出版社,2004年</p

29、><p>  [10] 劉長(zhǎng)炯.MyEclipse 6 Java 開發(fā)中文教程,2007年</p><p>  [11] Jeffrey Richter,WINDOWS核心編程[M].Microsoft Press出版社,1999年</p><p><b>  致 謝</b></p><p>  在Online Judge

30、后臺(tái)的開發(fā)過程中遇到了很多困難。在此特別感謝?????老師的指導(dǎo)。從選定課題到完成項(xiàng)目和論文,鄭老師一直關(guān)心項(xiàng)目設(shè)計(jì)和論文寫作進(jìn)度,細(xì)心地指出設(shè)計(jì)的不合理之處和待改善之處,提出最優(yōu)設(shè)計(jì)方案建議,并且認(rèn)真地給我修改論文。鄭琪老師誨人不倦的工作作風(fēng),一絲不茍的工作態(tài)度,嚴(yán)肅認(rèn)真的治學(xué)風(fēng)格給我留下深刻的影響,值得我永遠(yuǎn)學(xué)習(xí)。在此,謹(jǐn)向?qū)熰嶇蠋熤乱猿绺叩木匆夂椭孕牡母兄x!</p><p>  我還要向組員致謝,感謝各

31、位對(duì)我的指導(dǎo)和鼓勵(lì),令合作項(xiàng)目得以順利進(jìn)行。</p><p>  在攻讀學(xué)士學(xué)位期間,感謝學(xué)院領(lǐng)導(dǎo)和老師的教導(dǎo)和幫助,我從他們身上學(xué)到了很多專業(yè)知識(shí)與為人處事的道理,樹立了正確的人生價(jià)值觀,培養(yǎng)了科學(xué)嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度。感謝同學(xué)對(duì)我的關(guān)心和照顧,班集體、年級(jí)集體、學(xué)院集體、學(xué)校集體都給了我自豪感和歸屬感。</p><p>  最后,謹(jǐn)向本論文所參閱的所有文獻(xiàn)資料的編著者表示謝意,您們的工作為本

32、項(xiàng)目奠定了基礎(chǔ)。</p><p><b>  廣東外語外貿(mào)大學(xué)</b></p><p>  畢業(yè)論文(設(shè)計(jì))學(xué)術(shù)誠(chéng)信聲明</p><p>  本人鄭重聲明:所呈交的畢業(yè)論文(設(shè)計(jì)),是本人在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文(設(shè)計(jì))不包含任何其它個(gè)人或集體已經(jīng)發(fā)表或撰寫過的作品成果。對(duì)本文的研究做出重

33、要貢獻(xiàn)的個(gè)人和集體,均已在文中以明確方式標(biāo)明。本人完全意識(shí)到本聲明的法律結(jié)果由本人承擔(dān)。</p><p><b>  作者簽名:</b></p><p>  日期: 年 月 日</p><p><b>  廣東外語外貿(mào)大學(xué)</b></p><p>  畢業(yè)論文(設(shè)計(jì))版權(quán)使用授權(quán)書&

34、lt;/p><p>  本畢業(yè)論文(設(shè)計(jì))作者同意學(xué)校保留并向國(guó)家有關(guān)部門或機(jī)構(gòu)送交論文(設(shè)計(jì))的復(fù)印件和電子版,允許論文(設(shè)計(jì))被查閱和借閱。本人授權(quán)廣東外語外貿(mào)大學(xué)可以將本畢業(yè)論文(設(shè)計(jì))的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用影印、縮印或掃描等復(fù)制手段保存和匯編本畢業(yè)論文(設(shè)計(jì))。</p><p>  保 密□,在 年解密后適用本授權(quán)書。</p><p&

35、gt;<b>  本論文(設(shè)計(jì))屬于</b></p><p><b>  不保密□。</b></p><p> ?。ㄕ?qǐng)?jiān)谝陨戏娇騼?nèi)打“√”)</p><p>  畢業(yè)論文(設(shè)計(jì))作者簽名: 指導(dǎo)教師簽名:</p><p>  日期: 年 月 日

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論