范烜豪 劉彬 胡進川 劉祥


摘? ?要:由于互聯網的高速發展,國內競賽管理系統平臺應運而生,但因商業化運營需求,現有競賽管理系統平臺均以電子競技賽事為主,商業化背景過強,對提高大學生創新與實踐能力并沒有多大幫助,反而容易造成游戲沉迷。因而建立一個公平、簡潔、高效的競賽系統并服務于大學生群體已成為當務之急。如今,大學生競賽管理系統是對大學生競賽管理最有效的方式之一,為解決大學生學科競賽組織和管理的信息化問題,項目小組擬定結合JSP,CSS,JS技術和MySQL數據庫及Servlet技術進行系統研發,以規范競賽項目申報、過程管理等環節,提高工作效率。
關鍵詞:信息系統;JSP;CSS;JS;MySQL;Servlet
1? ? 項目背景及現狀分析
1.1? 項目背景
學科競賽是衡量各大高校辦學質量的重要指標之一,是考察大學生專業知識綜合運用能力、團隊合作能力、創新能力的重要手段,對推動學風建設、促進教育教學改革、促進大學生個性發展、培養應用型人才起著非常重要的作用。目前,攀枝花學院每年有包括計算機類、建筑類、藝術設計類、醫學類等約90項各種類別各種等級的大學生學科競賽,參賽學生逐年遞增。由于不同學科競賽組織方式不同,到目前為止,學校對于競賽的管理還采用傳統的人工管理的方式,雖然在某種程度上勉強可以適應現有需求,但存在的問題也越來越突出,主要表現為:從競賽立項認定到競賽成果申報,管理過程煩瑣、信息傳遞不及時、管理人員工作量大且效率低;競賽數據統計難,易漏易錯;競賽成果無法展示、不利于在師生中開展宣傳。
1.2? 國內外學科競賽管理系統現狀
在國外,大部分的學校已擁有一套較為完善的競賽管理系統,或獨立開發了適合自己學校需求的競賽管理系統,可實現學生隨時在線瀏覽競賽信息,報名參加競賽和提交作品等,主辦方也能方便地發布和管理競賽項目,工作效率得到了極大提高。在國內,高校大學生競賽活動可以鍛煉學生綜合運用知識的能力及創新能力,國家相關部門也對此進行大力倡導并加大對相關活動的資金投入。隨著這一類賽事規模和層次的發展,參賽范圍變廣。現在國內部分高校在競賽組織管理的相關活動中還采用原始的紙質文檔進行信息統計和歸類,在一定程度上使相關工作變得煩瑣且不利于信息統計。一些高校開發有相關的系統,但僅僅只是在線報名,沒有網上展示成果的功能,也沒有教師可以上傳指導資料這些功能,系統的功能有限,需要完善。建立一個公平、簡潔、高效的競賽管理系統并服務于大學生群體已成為當務之急。
2? ? 系統的總體設計
為了解決以上競賽組織和管理的問題,結合攀枝花學院學科競賽管理辦法和本項目組所學專業知識,提出“大學生學科競賽管理系統設計與實現”課題。擬定采用Java服務器頁面(Java Server Pages,JSP)、層疊樣式表(Cascading Style Sheets,CSS)、直譯式腳本語言(Javascript,JS)做前端開發,MySQL作為本系統的數據庫,后臺用Servlet等技術實現,規范競賽項目申報、過程管理等環節,提高工作效率。在具體的功能模塊上,系統主要由以下3種模塊組成,如圖1所示。
(1)系統模塊:主要是用戶和管理員兩種身份。用戶經過注冊得到賬號,管理員身份則是由后臺直接給出;用戶和管理員都可以對自己的基本信息進行完善和修改,而且管理員還可以對用戶進行管理。
(2)競賽模塊:對競賽的增、刪、改、查操作。用戶擁有查找競賽、報名競賽、評價已經參加的競賽、經過管理員審核可以創建競賽等功能模塊;管理員則擁有競賽管理、競賽發布、競賽申報、競賽過程管理、競賽成果管理以及用戶管理等功能。
(3)競賽展示模塊:對競賽進行有效的展示,可對競賽進行搜索。用戶和管理員都可以查看競賽的基本信息,還可以對競賽進行關鍵字搜索和查詢。
在數據庫設計方面,研究團隊為系統定義了用戶和管理員權限,用戶和管理員不同的角色對應的權限也不相同,用戶以及管理員在系統界面上看到的也不相同,所操作的功能也不相同。
在系統功能設計方面,用戶可以自行注冊,管理員身份則是由后臺創建;用戶可以查看競賽、申報競賽、評價競賽以及發布競賽,用戶發布競賽要經過管理員審核后才可發布競賽;管理員則擁有競賽管理、競賽發布、競賽申報、競賽過程管理、競賽成果管理以及用戶管理等功能。
3? ? 系統的設計與實現
3.1? 前期準備
系統開發前期主要搭建Java開發環境,Tomcat服務器,MySQL數據庫。Java開發環境主要進行前后臺的開發,Tomcat服務器為項目的發布打包到服務器上,方便可以遠程操作,因為Tomcat服務器是一個免費的開放源代碼的Web應用服務器,屬于輕量級應用服務器,在中小型系統和并發訪問用戶不是很多的場合下普遍使用,所以是開發和調試JSP程序的首選。MySQL數據庫對數據進行處理,方便前后端的數據交互。
3.2? 實現
3.2.1? 數據庫設計
數據庫的設計主要由MySQL完成,MySQL既能夠作為一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作為一個庫而嵌入到其他的軟件中。它是一種開放源代碼的關系型數據庫管理系統(Relational Database Management System,RDBMS),關系數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度并提高了靈活性;而且MySQL還支持AIX,FreeBSD,HP-UX,Linux,Mac OS,Novell Netware,OpenBSD,OS/2 Wrap,Solaris,Windows等多種操作系統;還能支持多線程,充分利用CPU資源。與其他的大型數據庫例如Oracle,DB2,SQL Server等相比,MySQL自有其不足之處,由于MySQL是開放源碼軟件,因此可以大大降低總體的成本,更為方便。本系統共設計并創建了6個表,分別為user(用戶信息表)、player(選手信息表)、race(競賽信息表)、teacher(指導教師信息表)、team(參賽隊伍信息表)、type表,對用戶、參賽選手、教師發布的賽事、參賽隊伍進行了數據管理,方便前后臺快速準確獲取數據,并對數據進行處理。
3.2.2? 前臺設計
前臺設計主要使用JSP,JSTL,CSS,JavaScript等技術進行實現,對前臺的頁面進行美化以及對前端與后臺進行數據交互。JSP技術以Java語言作為腳本語言,為用戶的超文本傳輸協議(Hyper Text Transport Protocol,HTTP)請求提供服務,并能與服務器上的其他Java程序共同處理復雜的業務需求。它具有模塊化的方式,簡單、高效地添加動態網頁內容,并且可以利用JavaBean和標簽庫技術復用常用的功能代碼,而且繼承了Java語言的相對易用性。本次設計采用的JavaScript對頁面進行動態功能的添加,JavaScript作為輕量級的腳本語言,簡單、高效,并且可以跨平臺使用,所以采用JavaScript作為頁面動態效果的開發語言。使用JSP進行view和controller進行數據間的傳遞,實現后臺接收前臺的數據請求,可以快速地實現前后臺的數據交互。
3.2.3? 后臺實現
該系統使用原生的Java進行開發,再運用JavaWeb相關知識體系進行前臺的開發和對后臺進行交互。后臺的結構如圖2所示。
Controller層是控制層,從前臺接收請求,再將請求發送給服務層進行邏輯處理,并與數據庫進行數據交互,后面在通過json返回給前臺。并且當Web服務器接收到一個HTTP請求時,它會先判斷請求內容,如果是靜態網頁數據,Web服務器將會自行處理,然后產生響應信息;如果牽涉到動態數據,Web服務器會將請求轉交給Servlet容器。此時Servlet容器會找到對應處理該請求的Servlet實例來處理這次請求,結果會送回Web服務器,再由Web服務器傳回用戶端。
4? ? 結語
文章結合攀枝花學院的競賽管理現狀,提出了一種由Servlet技術完成的競賽管理系統,通過該項目的有效實施,對完善攀枝花學院學科競賽體系,規范競賽項目的申報、立項、過程執行、總結、獎勵等常規環節,提高工作效率,增強管理信息的即時性和信息的共享程度,實現競賽管理工作無紙化、信息化、智能化有著十分重要的作用。
[參考文獻]
[1]李炳乾.智慧型校園背景下學科競賽系統的建設研究[J].吉林廣播電視大學學報,2019(9):5-7.
[2]簡國明,蔡潤哲,林興,等.高校學生學科競賽管理平臺的系統設計與實現[J].高師理科學刊,2018(5):43-46.
[3]彭楊麗,徐家喜,陳培培.基于Java EE學科競賽管理系統的設計與實現[J].電腦知識與技術,2018(19):99-101.
[4]楊月奎.學科技能競賽管理系統的研究和實現[J].科技經濟導刊,2016(7):147.
[5]劉彬.攀枝花學院學術成果展示平臺分析與設計[J].攀枝花學院學報,2019(2):74-77.