程序在線評測系統(tǒng)畢業(yè)設(shè)計論文_第1頁
程序在線評測系統(tǒng)畢業(yè)設(shè)計論文_第2頁
程序在線評測系統(tǒng)畢業(yè)設(shè)計論文_第3頁
程序在線評測系統(tǒng)畢業(yè)設(shè)計論文_第4頁
程序在線評測系統(tǒng)畢業(yè)設(shè)計論文_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

題 目 程序在線評測系統(tǒng) 題 目 程序在線評測系統(tǒng) 姓 名 學 號 所在學院 年級專業(yè) 指導(dǎo)教師 * 職稱 講師 完成時間 2011 年 月 日 綜合評定成績: 指導(dǎo)教師評語 : 評定成績: 指導(dǎo)教師簽名: 日期: 答辯小組意見 : 評定成績: 答辯小組長簽名: 日期 : I 程序在線評測系統(tǒng) 后臺評測模塊 摘 要 : ACM 國際大學生程序設(shè)計競賽,是一項旨在展示大學生創(chuàng)新能力、團隊精神和在壓力下編寫程序、分析和解決問題能力的年度競賽。經(jīng)過近 30 多年的發(fā)展, ACM 國際大學生程序設(shè)計競賽已經(jīng)發(fā)展成為最具影響力的大學生計算機競賽。隨著其發(fā)展,各高校也越來越重視這項競賽,廣東外語外貿(mào)大學的程序在線評測系統(tǒng)也應(yīng)運而生。在這個平臺中,用戶只需要提交他們的代碼,系統(tǒng)就可以自動地為其程序做出相應(yīng)的評測,并且返回相應(yīng)的評測結(jié)果。通過這個平臺,用戶不但可以鞏固學科知識,也可以大大提高代碼 的實踐能力。 后臺評測模塊主要負責對用戶提交的源程序進行編譯,運行,得到是評測結(jié)果再反饋給用戶。 關(guān)鍵詞 :在線評測,程序設(shè)計, ACM II Online Judge System Background Judge Module Cheng Jin Yu School of Informatics Abstract: ACM international collegiate programming contest, is an annual competition that aims 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 college 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 provide great convenience for programming lovers and students. Users only need to submit their code, then the system can automatically make the appropriate evaluation of its procedures, and returns the corresponding evaluation results. Wiht this platform, users can not only consolidate the academic knowledge, but also can greatly improve the ability of pratical programming. Background judge module is mainly responsible for a user to submit the source code to compile, run, and return the judge result to the user. Key words: Online judge, Programming, ACM III 目 錄 摘 要 . I Abstract . II 第一章 緒論 . 1 1.1 課題的背景、研究意義 . 1 1.2 軟件開發(fā)環(huán)境描述 . 1 1.3 軟件運行環(huán)境描述 . 2 第二章 系統(tǒng)總體設(shè)計 . 3 2.1 模塊介紹 . 3 2.2 項目分工 . 錯誤 !未定義書簽。 2.3 數(shù)據(jù)流圖 . 錯誤 !未定義書簽。 2.4 數(shù)據(jù)庫設(shè)計 . 錯誤 !未定義書簽。 第三章 GOJ 內(nèi)核設(shè)計 . 5 3.1 定義 . 5 3.2 性能要求 . 錯誤 !未定義書簽。 3.3 判題流程 . 錯誤 !未定義書簽。 3.4 接口設(shè)計 . 錯誤 !未定義書簽。 第四章 內(nèi)核數(shù)據(jù)結(jié)構(gòu)設(shè)計 . 6 4.1 邏輯結(jié)構(gòu)設(shè)計 . 6 4.3 出錯信息 . 錯誤 !未定義書簽。 4.4 補救措施 . 6 第五章 內(nèi)核實現(xiàn)難點 . 7 5.1 JNI 本地調(diào)用 . 7 5.2 內(nèi)存測量 . 錯誤 !未定義書簽。 5.3 進程數(shù)控制 . 錯誤 !未定義書簽。 5.4 連接到其他 Online Judge System . 錯誤 !未定義書簽。 第六章 結(jié)語 . 8 參考文獻 . 9 致 謝 . 10 1 第一章 緒論 1.1 課題的背景、研究意義 程序設(shè)計類課程,具有實踐性強的特點。它不但要求學生掌握基礎(chǔ)的理論知識,更重要的是要求學生不斷提高自身的編程實踐能力。因此,在這類課程中,老師務(wù)必會布置大量的程序設(shè)計作業(yè),傳統(tǒng)通過電子郵件或手寫提交作業(yè)的方式讓老師感到批改作業(yè)的任務(wù)繁重,讓學生感到費時費力,難以提高編程的實踐能力。為方便教學,提高學生動手編程的實踐能力,開發(fā)一個自動化,智能化的評測系統(tǒng)成為需要。隨著現(xiàn)代信息化的發(fā)展,軟硬件的不斷升級,使得開發(fā)這樣一個評測系統(tǒng)成為可能。 Online Judge System,則是指一個在線的裁判系統(tǒng),它可對程序源代碼進行編譯和執(zhí)行,并通過預(yù)先設(shè)計的測試數(shù)據(jù)來檢驗程序源代碼的正確性。 ACM/ICPC(ACM International Collegiate Programming Contest, 國際大學生程序設(shè)計競賽 )是由國際計算機界歷史悠久、頗具權(quán)威性的組織 ACM( Association for Computing Machinery,國際計算機協(xié)會)主辦的,世界上公認的規(guī)模最大、水平最高的國際大學生程序設(shè)計競賽。 現(xiàn)在各高校也越來越重視 ACM 程序設(shè)計比賽,都 紛紛建立起自己的測評平臺供老師和學生使用,廣東外語外貿(mào)大學的程序在線評測系統(tǒng)也就應(yīng)運而生。 1.2 軟件開發(fā)環(huán)境描述 操作系統(tǒng): Windows NT 5.1 以上 開發(fā)平臺: MyEclipse 6.0.1 數(shù)據(jù)庫: MySQL 5.1.40 開發(fā)語言: Java 1.6 + Jsp + C+ WEB 服務(wù)器: Tomcat 6.0 2 1.3 軟件運行環(huán)境描述 CPU: PIII 800Mhz 或更高 內(nèi)存: 256MB 或更高 硬盤: 100MB 或以上剩余空間 操作系統(tǒng): Windows NT 5.1 以上 數(shù)據(jù)庫 : MySQL 5.1.40 WEB 服務(wù)器: Tomcat 6.0 3 第二章 系統(tǒng)總體設(shè)計 本系統(tǒng)主要是分為五個模塊:用戶維護,題目維護,競賽維護,后臺評測,論壇。 2.1 模塊介紹 2.1.1 用戶維護 2.1.2 題目維護 2.2 后臺管理 可以添加、刪除、修改競賽; 查詢競賽。 2.2.1 后臺評測 2.2.2 論壇 頂層圖如下 : 圖 2.2 頂層圖 4 2.2.3 數(shù)據(jù)表 表 2-1 用戶信息表( userinfo) 字段名 中文名稱 類型 長度 默認值 5 第三章 GOJ 內(nèi)核設(shè)計 3.1 定義 廣東外語外貿(mào)大學程序在線評測系統(tǒng),簡稱為 GOJ。其中負責評測用戶提交的源程序的模塊稱為廣東外語外貿(mào)大學程序在線評測系統(tǒng)的內(nèi)核,簡稱為 GOJ內(nèi)核。 6 第四章 內(nèi)核數(shù)據(jù)結(jié)構(gòu)設(shè)計 4.1 邏輯結(jié)構(gòu)設(shè)計 錯誤原因 錯誤代碼 可能情況 4.2 補救措施 出現(xiàn)錯誤,應(yīng)重復(fù)執(zhí)行該內(nèi)核,若確定為 Bug 的,要進行源代碼級別的修復(fù)。 7 第五章 內(nèi)核實現(xiàn)難點 5.1 JNI 本地調(diào)用 8 第六章 結(jié)語 在 GOJ 的開發(fā)過程中,受到的阻力很大。剛開 始是整體的模塊劃分問題,因為在設(shè)計的時候,沒有考慮周全系統(tǒng)的可擴展行,導(dǎo)致開始開發(fā)時發(fā)現(xiàn)很多地方需要重構(gòu)。但經(jīng)過和組員討論后,采用了 MVC 的方法,分清楚各個模塊,考慮清楚系統(tǒng)的擴展性,這才使得后面的工作可以順利進行。接著遇到的問題是代碼的統(tǒng)一性問題,比如代碼規(guī)范,枚舉類型的統(tǒng)一等。功夫不負有心人,經(jīng)過大家的努力,再加上大家的熱情,最后還是解決了這個問題。最后是整合的問題,因為每個人負責的模塊和別的模塊聯(lián)系較小,大家只顧著開發(fā)自己的模塊,所以在整合的時候,其他模塊要進行的一些配置等問題都出來了,但是組員們都非 常的耐心,各自幫助別人進行配置。雖然我們組有五人之多,但從開始開發(fā)到結(jié)束,大家都和睦地走過來了,而且互相學習的氛圍使得大家的能力都得到了很大的提升。 在內(nèi)核的開發(fā)過程中,讓我明白了要懂得詢問,懂得交流,懂得查閱。身邊每個人,每樣事物都可以給你啟發(fā)。比如,在我不解怎么測量內(nèi)存時,詢問了廣州大學的一位同學,他建議我去看核心編程,而且還給我講解核心編程的各個章節(jié),這給我后面的開發(fā)起到了很大的推動作用。又比如,經(jīng)常上百度、 Google,你會搜索到很多很有用的知識。當然,學校的資源更是豐富。 總之,要注意的事情很多, 要學的東西也很多,只有耐心走下去,最終還是可以走到終點。 9 參考文獻 1 北京大學在線評測系統(tǒng), /JudgeOnline/ 2 烏拉爾大學在線評測系統(tǒng) , http:/acm.timus.ru/archive.aspx 3 Microsoft Developers Network (MSDN) Library, / 4 Sun Developers Network (SDN), / 5 張亞飛 .JSP 開發(fā)王 M. 電子工業(yè)出版社, 2008 年 6 朱戰(zhàn)力,沈偉 .Java 程序設(shè)計實用教程 M.電子工業(yè)出版社, 2004 年 7 吳建,張旭東 .JSP 網(wǎng)絡(luò)開發(fā)入門與實踐 M.人民郵電出版社, 2006 年 8 李樹清 .Java 通用范例開發(fā)金典 M.電子工業(yè)出版社, 2009 年 9 林上杰,林康司 .JSP 2.0 技術(shù)手冊 M.電子工業(yè)出版社, 2004 年 10 劉長炯 .MyEclipse 6 Java 開發(fā)中文教程, 2007 年 11 Jeffrey Richter, WINDOWS 核心編程 M.Microsoft Press 出版社, 1999 年 10 致 謝 在 Online Judge 后臺的開發(fā)過程中遇到了很多困難。在此特別感謝 老師的指導(dǎo)。從選定課題到完成項目和論文,鄭老師一直關(guān)心項目設(shè)計和論文寫作進度,細心地指出設(shè)計的不合理之處和待改善之處,提出最優(yōu)設(shè)計方案建議,并且認真地給我修改論文。鄭琪老師誨人不倦的工作作風,一絲不茍的工作態(tài)度,嚴肅認真的治學風格給我留下深刻的影響,值得我永遠學習。在此,謹向?qū)熰嶇蠋熤乱猿?高的敬意和衷心的感謝! 我還要向組員致謝,感謝各位對我的指導(dǎo)和鼓勵,令合作項目得以順利進行。 在攻讀學士學位期間,感謝學院領(lǐng)導(dǎo)和老師的教導(dǎo)和幫助,我從他們身上學到了很多專業(yè)知識與為人處事的道理,樹立了正確的人生價值觀,培養(yǎng)了科學嚴謹?shù)闹螌W態(tài)度。感謝同學對我的關(guān)心和照顧,班集體、年級集體、學院集體、學校集體都給了我自豪感和歸屬感。 最后,謹向本論文所參閱的所有文獻資料的編著者表示謝意,您們的工作為本項目奠定了基礎(chǔ)。 廣東外語外貿(mào)大學 畢業(yè)論文(設(shè)計)學術(shù)誠 信 聲 明 本人 鄭重聲 明:所呈交的 畢業(yè)論文(設(shè)計) ,是本 人在 導(dǎo)師 的指 導(dǎo) 下, 獨 立進 行研究工作所取得的成果。除文中已 經(jīng) 注明引用的 內(nèi) 容外,本 論文(設(shè)計) 不包含任何其它 個 人或集體已 經(jīng)發(fā) 表或撰 寫過 的作品成果。 對 本文的研究做出重要貢獻 的 個 人和集體,均已在文中以明確方式 標 明。本人完全意 識到 本 聲 明的法律結(jié) 果由本人承 擔 。 作 者簽名 : 日期: 年 月 日 廣東外語外貿(mào)大學 畢業(yè)論文(設(shè)計) 版 權(quán) 使用授 權(quán)書 本 畢業(yè)論文(設(shè)計) 作者同意

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論