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

下載本文檔

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

文檔簡介

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

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

3、:在線評測,程序設(shè)計,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 軟件運行環(huán)境描述2</p><p>  第二章 系統(tǒng)總體設(shè)計3</p><p>  2.1 模塊介紹3</p><p>  2.2 項目分工6</p><p>  2.3 數(shù)據(jù)流圖6</p><p>  2.4 數(shù)據(jù)庫設(shè)計8</p&g

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

10、</p><p>  4.1 邏輯結(jié)構(gòu)設(shè)計19</p><p>  4.3 出錯信息20</p><p>  4.4 補救措施20</p><p>  第五章 內(nèi)核實現(xiàn)難點21</p><p>  5.1 JNI本地調(diào)用21</p><p>  5.2 內(nèi)存測量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è)計類課程,具有實踐性強的特點。它不但要求學(xué)生掌握基礎(chǔ)的理論知識,更重要的是要求學(xué)生不斷提高自身的編程實踐能力。因此,在這類課程中,老師務(wù)必會布置大量的程序設(shè)計作業(yè),傳統(tǒng)通過電子郵件或手寫提交作業(yè)的方式讓老師感到批改作

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

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

15、用,廣東外語外貿(mào)大學(xué)的程序在線評測系統(tǒng)也就應(yīng)運而生。</p><p><b>  軟件開發(fā)環(huán)境描述</b></p><p>  操作系統(tǒng):Windows NT 5.1以上</p><p>  開發(fā)平臺: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>  軟件運行環(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è)計</b></p><p

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

19、/b></p><p>  可以添加、刪除、修改競賽;</p><p><b>  查詢競賽。</b></p><p><b>  后臺評測</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è)計</b></p><p><b

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

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

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

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

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

26、t;p><b>  參考文獻(xiàn)</b></p><p>  [1] 北京大學(xué)在線評測系統(tǒng),http://acm.pku.edu.cn/JudgeOnline/ </p><p>  [2] 烏拉爾大學(xué)在線評測系統(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è)計實用教程[M].電子工業(yè)出版社,2004年</p><p>  [7] 吳建,張旭東.JSP網(wǎng)絡(luò)開發(fā)入門與實踐[M].人民郵電出版社,2006年</p><p>  [8] 李樹清.Java通用范例開發(fā)金典[M].電子工業(yè)出版社,2009年</p><p>  [9] 林上杰,林康司.JSP 2.0 技術(shù)手冊[M].電子工業(yè)出版社,2004年</p

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

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

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

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

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

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

35、gt;<b>  本論文(設(shè)計)屬于</b></p><p><b>  不保密□。</b></p><p>  (請在以上方框內(nèi)打“√”)</p><p>  畢業(yè)論文(設(shè)計)作者簽名: 指導(dǎo)教師簽名:</p><p>  日期: 年 月 日

溫馨提示

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

評論

0/150

提交評論