

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、基于ACM程序設(shè)計競賽的在線評測系統(tǒng)設(shè)計與實現(xiàn)前臺網(wǎng)站部分計算機科學(xué)與技術(shù)專業(yè) 學(xué)生:吳玉培 指導(dǎo)教師:趙磊摘 要:隨著 Internet 的廣泛應(yīng)用和計算機技術(shù)的飛速發(fā)展, 計算機算法在其中發(fā)揮著極其重要的作用。 為了更好地適應(yīng)這個社會選拔人才的要求, 同學(xué)們提高程序設(shè)計能力的愿望 越發(fā)強烈 ,然而人工評測程序的效率還是很低的。因此ACM 在線評測系統(tǒng)應(yīng)運而生了 .這個在線評測系統(tǒng)主要由三個大的部分組成,即數(shù)據(jù)庫部分,網(wǎng)站部分,和編譯器的調(diào)用部分, 三個部分緊密地聯(lián)系在一起。 在用戶提交解決方案的同時, 在服務(wù)器端產(chǎn)生源程序, 編譯部 分負責(zé)調(diào)用源程序, 并把結(jié)果寫入數(shù)據(jù)庫, 然后網(wǎng)站部分再
2、通過數(shù)據(jù)庫查詢語句把數(shù)據(jù)庫中 的結(jié)果顯示在網(wǎng)頁上。關(guān)鍵詞: 在線評測; ACM ;網(wǎng)站部分1概述1.1 ACM 在線評測系統(tǒng)設(shè)計背景和研究意義ACM/ICPC 國際大學(xué)生程序設(shè)計競賽始于 1970 年,是全球大學(xué)生計算機程序能力競賽 活動中最有影響的一項賽事。 ACM 國際大學(xué)生程序設(shè)計競賽是參賽選手展示計算機才華的 廣闊舞臺, 是著名大學(xué)計算機教育成果的直接體現(xiàn), 是信息企業(yè)與世界頂尖計算機人才對話 的最好機會。ACM 國際大學(xué)生程序設(shè)計競賽是旨在展示大學(xué)生創(chuàng)新能力、團隊精神和在壓力下編寫 程序、 分析和解決問題能力的競賽。 經(jīng)過近30年的發(fā)展, ACM 國際大學(xué)生程序設(shè)計競賽 已經(jīng)發(fā)展成為
3、最具影響力的大學(xué)生計算機競賽。競賽規(guī)模的迅速擴大對閱卷工作的自動化、 高效性、 合理性和公正性提出了更高的要求, 建立一套準確、 高效的程序評測系統(tǒng)成為非常 迫切的需求。通過對在線評測系統(tǒng)相關(guān)知識的學(xué)習(xí),以及對目前已有軟件系統(tǒng)的功能分析, 本系統(tǒng)總結(jié)以往系統(tǒng)開發(fā)的設(shè)計經(jīng)驗, 結(jié)合當(dāng)今系統(tǒng)的發(fā)展趨勢,確定了該項目的設(shè)計方案。1.2 ACM 在線評測系統(tǒng)設(shè)計的開發(fā)工具與運行環(huán)境系統(tǒng)前臺開發(fā)工具主要用到 Dreamweaver 8、 wamp5。(1) Dreamweaver 8 簡介Macromedia Dreamweaver 8 是建立 Web 站點和應(yīng)用程序的專業(yè)工具。 它將可視布局工 具、應(yīng)
4、用程序開發(fā)功能和代碼編輯支持組合在一起, 使得各個層次的開發(fā)人員和設(shè)計人員都 能夠快速做出界面吸引人的基于標準的網(wǎng)站和應(yīng)用程序。語言版本:中文版本:8 中文版配置 Win9x/Me/NT/2000/XP/2003/win7/(2) wamp5 簡介wamp5 是一款優(yōu)秀的 wamp 集成軟件,可以輕松的一下子同時安裝PHP5、 MYSQL 和Apache 環(huán)境,對初學(xué) PHP 的學(xué)者來說非常方便。同時,wamp5 內(nèi)還集成了 PhpMyadmin 和SQLitemanager 管理工具。語言版本:英文?版本 Vin9x/Me/NT/2000/XP/2003/win7。系統(tǒng)網(wǎng)站部分是用 PHP
5、語言編寫,使用的數(shù)據(jù)庫是 MYSQL 而服務(wù)器則是現(xiàn)今最流行的 Apache 服務(wù)器,在 Vindows XP 系統(tǒng)上實現(xiàn)。因此系統(tǒng)的運行環(huán)境如下:(1)數(shù)據(jù)庫: MYSQL ;(2)服務(wù)器 : Apache;(3) 操作系統(tǒng): Vindows XP 。2需求分析該系統(tǒng)設(shè)計的主要目的是希望給學(xué)計算機的學(xué)生提高編程能力和對ACM 編程有興趣的學(xué)生提供一個學(xué)習(xí)和操練的平臺, 真正實現(xiàn)一個高效管理和穩(wěn)定的在線評判 系統(tǒng)。結(jié)合學(xué)習(xí)及ACM點,系統(tǒng)具有以下幾點功能需求:(1) 用戶管理:認真填寫資料就可以注冊了,未注冊用戶只能瀏覽不能進行 提交或者參與比賽。(2) 題目瀏覽:用戶可以通過頁面瀏覽題目,查
6、詢題目,找到自己感興趣或者比較 新的題目,然后進行提交。(3)提交:用戶做題目時可以選擇提交的語言, 此系統(tǒng)可以用的語言有 C+、C、Pascal、 Java等。(4) 查看提交狀態(tài):提交情況,越在前面的頁面在時間上越靠近現(xiàn)在,反映用戶做題 目時的提交狀態(tài)、做哪個題目、 AC 或者一些常見的錯誤,比如結(jié)果錯誤、運行時間和運行 空間超過題目要求運行的時間和空間, 以及用戶提交時用的是什么語言、 提交時間、 提交的 序號等等。(5) 查看排名:顯示用戶做題數(shù)的一個排名,做的題目越多,排名越在前,若做出同 樣的題目,則以提交次數(shù)少者排名靠前。(6) 比賽練習(xí):添加比賽用于舉行比賽或者考察學(xué)生的編程能
7、力。(7) 后臺管理:包括用戶信息的管理,題目的添加和修改,比賽的添加和修改以及數(shù) 據(jù)庫的備份等等。3系統(tǒng)可行性分析此系統(tǒng)從結(jié)構(gòu)的總體上進行劃分, 可以劃分為三個大的模塊, 即前臺網(wǎng)站設(shè)計, 數(shù)據(jù)庫 設(shè)計,后臺調(diào)用評判程序正誤的結(jié)果。 接下來將對上述三大模塊的可行性以及服務(wù)器的承受 力做具體的分析:前臺網(wǎng)站設(shè)計的可行性: 寫前臺網(wǎng)站代碼的主要語言是 PHP 語言,這門語言已經(jīng)發(fā)展到 了相當(dāng)成熟的地步, 從理論上講完全可以實現(xiàn)該系統(tǒng)的所有功能, 其次, 制作本系統(tǒng)所使用 的 PHP 技術(shù)也已經(jīng)是一些非常成熟的技術(shù),并且在相關(guān)書籍以及網(wǎng)絡(luò)論壇上有相關(guān)的理論 和實例可供參考。數(shù)據(jù)庫設(shè)計的可行性:首先
8、,本系統(tǒng)所采用 MYSQ 數(shù)據(jù)庫,這個數(shù)據(jù)庫的管理軟件已經(jīng) 經(jīng)過嚴格的測試,可供本系統(tǒng)完成相關(guān)信息的存取工作。 其次是對數(shù)據(jù)庫進行讀, 寫,更改 的 SQL 語言已經(jīng)發(fā)展到非常成熟的地步,此外, PHP 與 MYSQL 的連接技術(shù)也已經(jīng)相當(dāng)成 熟,并且在相關(guān)書籍以及網(wǎng)絡(luò)論壇上有相關(guān)的理論和實例可供參考。后臺調(diào)用評判程序正誤的結(jié)果的可行性: 后臺程序代碼實現(xiàn)的主要語言是 C+ ,這門語 言本身經(jīng)過開發(fā)人員和用戶的反復(fù)測試, 已經(jīng)變得相當(dāng)成熟; 另外程序?qū)崿F(xiàn)者對該語言也非 常的熟悉,能夠運用該語言實現(xiàn)本系統(tǒng)的相關(guān)功能模塊;此外程序一旦以進程運行起來后, 則可以采用 Windows 所提供的 API
9、 來對相關(guān)的進程進行控制和管理,這位本系統(tǒng)的技術(shù)實 現(xiàn)提供了可能。并且在相關(guān)書籍以及網(wǎng)絡(luò)論壇上有相關(guān)的理論和實例可供參考。服務(wù)器的承受力方面的可行性: 從訪問規(guī)模上講, 由于本系統(tǒng)主要是為校內(nèi)用戶提供程 序測評服務(wù),雖然今后也可能為部分互聯(lián)網(wǎng)用戶提供程序測評服務(wù)。 但是就目前的情況而言, 每天的用戶的登錄總量一般是保持在 200 個用戶左右。 而且用戶提交程序所耗費的運行時間 和運行內(nèi)存都是在規(guī)定的時間和規(guī)定的內(nèi)存的嚴格控制之下。綜上所述, 本系統(tǒng)前臺網(wǎng)站設(shè)計, 數(shù)據(jù)庫設(shè)計, 后臺調(diào)用評判程序正誤的結(jié)果這三個大 的模塊從語言到開發(fā)技術(shù)上講, 可行性的各個條件已經(jīng)完全具備, 不僅如此, 在用戶所
10、提交 的一些極端程序的條件下, 本系統(tǒng)也可以對其進行處理, 從而保證了程序的正常運行。 因此 可以開始對本進行設(shè)計開發(fā)了。4系統(tǒng)的設(shè)計4.1 系統(tǒng)框架即實現(xiàn)流程根據(jù)需求分析,ACME 線系統(tǒng)主要包括以下幾大模塊:用戶模塊,在線評判模塊,在線 比賽模塊,題庫模塊,后臺管理模塊。其中用戶模塊主要包括由用戶自行操作的用戶注冊和登錄、 更新用戶信息的功能及由管 理員對用戶進行管理的一些操作主要有添加用戶、刪除用戶、更新用戶等。在線評判模塊是系統(tǒng)的一個核心, 對與應(yīng)用層的用戶來說主要包括查看競賽題目、提 交競賽代碼、查看排名、查看競賽狀態(tài)等功能。在線比賽模塊,用戶能參與競賽查看比賽信息及規(guī)則,看看往屆比
11、賽題目等。 題庫模塊是主要是用戶能打開相關(guān)問題集進行練習(xí), 也可以通過站內(nèi)搜索功能通過輸入 問題 ID 直接找到問題。后臺管理模塊主要負責(zé)創(chuàng)建比賽、修改比賽、管理比賽題目、增加問題、修改問題、管理測試數(shù)據(jù)、修改用戶權(quán)限、數(shù)據(jù)庫備份等功能。框架流程如圖4-1 所示:4.2系統(tǒng)的數(shù)據(jù)庫設(shè)計該系統(tǒng)數(shù)據(jù)庫采用 MYSQL,其主要目的是為了與PHP 網(wǎng)站更好的銜接,而且 PHP 的數(shù)據(jù)庫連接技術(shù)也是相當(dāng)成熟。數(shù)據(jù)庫的名稱是 0J,包含 6 張表,這 6 張表分別是:userinfo.solution,problem,loginlog,contest,standing。這 6 張表中 userinfo 表
12、主要是用來儲存用戶的登錄名和密碼以及用戶的做題的正確個 數(shù),提交次數(shù),以及做題的正確率;solution 表主要是在用戶每次提交的時候記錄下用戶的提交信息,這些提交信息包括用戶的登錄名,題號,程序運行的時間,程序運行的內(nèi)存,運 行的結(jié)果,提交的時間,以及提交的語言等;problem 表中主要是儲存每個題目的相關(guān)信息, 包括題目的題號,題目的內(nèi)容, 題目的類別,題目的難度,以及該題目屬于第幾次模擬測試 等;loginlog 表主要是在每一次用戶登錄的時候,儲存用戶的登錄名,密碼,以及用戶的登 錄時間,這樣可以知道登錄本系統(tǒng)的總?cè)藬?shù)是多少;con test 表主要是用來記錄每一次比賽的題目、開始時
13、間、結(jié)束時間。Standing 表是用來記錄每次比賽參見比賽用戶的信息,比如做題個數(shù),做題用的總時間,以及用戶的排名等等。數(shù)據(jù)庫中的各個表的內(nèi)容分類及大致功能介紹見表 4-1 :表 4-1 OJ 數(shù)據(jù)庫提交題目提交狀態(tài)查看排名參加比賽個人信息用戶管理題目管理比賽管理數(shù)據(jù)庫備份圖4-1框架實現(xiàn)流程表名表功能說明useri nfo儲存登錄名和密碼信息soluti on儲存用戶的提交信息problem儲存題目信息logi nlog儲存用戶登錄信息con test儲存每次比賽的題目sta nding儲存每次參加比賽的用戶信息4.3前臺網(wǎng)站部分的設(shè)計該在線提交系統(tǒng)的前臺網(wǎng)站的名稱是onlinejudge
14、_1.0,該網(wǎng)站包括注冊,登錄,修改用戶信息,瀏覽問題等等。具體的網(wǎng)頁介紹見表4-2:表 4-2 網(wǎng)頁功能網(wǎng)頁名稱功能模塊Register用戶注冊Login用戶登錄ModifUserI nfo修改用戶信息ProblemList題目列表ShowProblem題目內(nèi)容SubmitProblem用戶提交Status提交狀態(tài)Ra nkList用戶排名Con tests比賽FAQs常見問題說明AddProblem添加題目AddCo ntest添加比賽ModifyPrivate修改用戶權(quán)限ModifyProblem修改題目ModifyC on test修改比賽5結(jié)束語歷經(jīng)了幾個月的奮戰(zhàn),緊張而又充實的畢業(yè)
15、設(shè)計終于落下了帷幕?;叵脒@段日子的經(jīng)歷和感受,我感慨萬千,在這次畢業(yè)設(shè)計的過程中,我擁有了無數(shù)難忘的回憶和收獲。腳踏實地,認真嚴謹,實事求是的學(xué)習(xí)態(tài)度,不怕困難、堅持不懈、吃苦耐勞的精神是我在這次設(shè) 計中最大的收益。我想這是一次意志的磨練,是對我實際能力的一次提升,也會對我未來的學(xué)習(xí)和工作有很大的幫助。在此更要感謝我的導(dǎo)師和專業(yè)老師,是你們的細心指導(dǎo)和關(guān)懷,使我能夠順利的完成畢業(yè)論文。在我的學(xué)業(yè)和論文的研究工作中無不傾注著老師們辛勤的汗水和心血。在此我要向我的導(dǎo)師致以最衷心的感謝和深深的敬意。參考文獻】1 王珊,薩師煊.數(shù)據(jù)庫系統(tǒng)概論(第二版)M.北京:高等教育出版社,2011,17-206.
16、2 陽西述,梁小滿,周端峰.網(wǎng)頁制作與網(wǎng)站設(shè)計M.武漢:武漢大學(xué)出版社,2010,50-186.3 Roger S.Pressman, 鄭人杰,馬素霞.軟件工程一實踐者的研究方法(原書第六版)M.北京:機械工業(yè)出版社 ,2009,58-319.4 曹玉峰 . 國家信息學(xué)奧林匹克競賽在線評測系統(tǒng) D. 吉林:吉林大學(xué)出版社 ,2008,76-122.5 劉楠,孫國道. ACM 在線評判系統(tǒng)設(shè)計與實現(xiàn) J .計算機時代 , 2006,189-242.6 蔣社想 ,戴書文 . 基于 J2EE 的 ACM 競賽在線評判系統(tǒng)的設(shè)計 J. 安徽理工大學(xué)學(xué)報 ,2009, 120-187.7 車明洙 , 紀
17、洪波 . 一種基于 ACM 程序設(shè)計競賽在線評測系統(tǒng)解決方案J. 微型機與應(yīng)用2011,106-185.8 焦燕.在線評測系統(tǒng)的設(shè)計與實現(xiàn)D.呼和浩特:內(nèi)蒙古大學(xué)出版社,2010, 57-186.9 王成良.Web 開發(fā)技術(shù)及其應(yīng)用M.北京:清華大學(xué)出版社,2008,75-124.10 王曉東.算法設(shè)計與分析M.北京:清華大學(xué)出版社,2010, 30-149.11 王育堅.Visual C+面向?qū)ο缶幊探坛蘉.北京:清華大學(xué)出版社,2009, 38-150.12 孫鐘秀.操作系統(tǒng)教程M.北京:清華大學(xué)出版社,2011,31-149.Design and Implementation of On
18、line Judge systemBased on the ACM Programming ContestComputer Science and Technology Specialty:Wu YuPei Tutor: Zhao LeiAbstract: With the wide application of Internet and the rapid development of computer technology, computer algorithmplays a very important role. In order to adapt to the social demand of selecting talented persons, students have shown
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑工程項目委托管理合同
- 工作流程標準化操作指南說明
- 中介業(yè)務(wù)合作協(xié)議合同
- 夫妻離婚協(xié)議書年
- 醫(yī)院治療流程規(guī)范
- 混凝土運輸承包合同
- 2025年武漢貨運資格證考試答題20題
- 三農(nóng)品牌塑造與推廣策略手冊
- 2025年哈爾濱貨運從業(yè)資格證模擬考試
- 2025年自貢貨運從業(yè)資格證考試模擬考試題庫下載
- 火星表面材料分析-深度研究
- 《職業(yè)技能等級評價規(guī)范編制指南編制說明》
- 畜禽養(yǎng)殖場惡臭污染物排放及其處理技術(shù)研究進展
- 超聲內(nèi)鏡引導(dǎo)下穿刺活檢術(shù)的配合及護理
- 新生兒常見的產(chǎn)傷及護理
- 代寫回憶錄合同
- 2024年10月自考00149國際貿(mào)易理論與實務(wù)試題及答案
- 2024年下半年教師資格考試《中學(xué)教育知識與能力》真題及答案解析
- 物業(yè)保潔常用藥劑MSDS
- 《跨文化溝通》課件
- (一模)長春市2025屆高三質(zhì)量監(jiān)測(一)數(shù)學(xué)試卷
評論
0/150
提交評論