吳國華
摘要:為了滿足職業(yè)院校開展各種技能與才藝展示類比賽的即時(shí)評(píng)分需求,基于Flash+VB平臺(tái)設(shè)計(jì)與開發(fā)了即時(shí)評(píng)分系統(tǒng)。針對(duì)即時(shí)評(píng)分系統(tǒng)的可行性分析、設(shè)計(jì)與開發(fā)進(jìn)行了探討,為提高比賽評(píng)分的公開透明程度,減輕計(jì)算成績的工作量,保證成績的準(zhǔn)確與安全提供解決方案。
關(guān)鍵詞:Flash;VB;即時(shí)評(píng)分系統(tǒng);設(shè)計(jì);開發(fā)
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)25-0080-03
Abstract: In order to meet the needs of all kinds of skills and talent display competitions in vocational colleges, the instant scoring system is designed and developed Based on Flash+VB platform. According to the feasibility analysis, design and development of instant scoring system are discussed, in order to improve the transparency level of the game score, reduce the calculation results in the work, to ensure the achievement of accurate and safe solution.
Key words: Flash; VB; instant scoring system; design; develop
1 背景
隨著國家對(duì)職業(yè)教育的高度重視,職業(yè)教育的發(fā)展迎來了黃金時(shí)期,各大職業(yè)院校紛紛開展各種技能競賽和學(xué)生才藝展示比賽,讓職校學(xué)生有技能比拼的練兵場(chǎng),也有才華展示的大舞臺(tái)。根據(jù)技能展示與表演類型比賽的特點(diǎn),筆者利用Flash和VB兩個(gè)軟件設(shè)計(jì)與開發(fā)了即時(shí)評(píng)分系統(tǒng),為比賽提供網(wǎng)絡(luò)與多媒體技術(shù)的支持,保障比賽評(píng)分結(jié)果的公開透明和數(shù)據(jù)處理的安全高效。
2 即時(shí)評(píng)分系統(tǒng)的可行性分析
2.1 即時(shí)評(píng)分系統(tǒng)的需求
在技能展示比賽或者表演類的比賽中,選手十分關(guān)注自己的成績與排名。在傳統(tǒng)的比賽中,選手往往要到最后才知道結(jié)果,而且成績?nèi)绾斡?jì)算并不清楚,對(duì)于比賽的公開透明程度和評(píng)委的打分尺度總是心存疑問,造成一些不必要的糾紛。同時(shí),在統(tǒng)計(jì)成績的過程中,各評(píng)委的分?jǐn)?shù)與選手排名往往會(huì)直接使用手工計(jì)算,這樣很容易出現(xiàn)計(jì)算錯(cuò)誤或排名混淆的情況,而且計(jì)算的時(shí)間比較長,動(dòng)用的人力也比較多,比賽結(jié)果的保存和數(shù)據(jù)查詢比較困難,對(duì)于比賽的連續(xù)性和工作量都產(chǎn)生了影響。為了更好地體現(xiàn)比賽的公平公正,保證比賽成績安全高效的計(jì)算,提高比賽效率,減少工作人員的工作量,即時(shí)評(píng)分系統(tǒng)的設(shè)計(jì)與開發(fā)有必然的需求。
2.2 即時(shí)評(píng)分系統(tǒng)解決的問題
2.2.1 即時(shí)展示評(píng)分成績,公開透明
運(yùn)用即時(shí)評(píng)分系統(tǒng),選手能第一時(shí)間通過屏幕知道自己的評(píng)分成績,而且每個(gè)評(píng)委的評(píng)分結(jié)果一目了然,保證了評(píng)分的效率與公正。同時(shí),為了配合比賽的緊張氣氛,根據(jù)比賽的需求,選手排名可以不直接顯示,在公布成績后再展示在屏幕中,選手既能即時(shí)了解自己的成績,也可以保證比賽的緊張刺激,操作靈活,公開透明。
2.2.2 杜絕評(píng)委相互影響,公正公平
即時(shí)評(píng)分系統(tǒng)可以根據(jù)比賽現(xiàn)場(chǎng)的評(píng)委數(shù)量而隨意增加客戶端數(shù)目,每個(gè)評(píng)委作為一個(gè)客戶端有一臺(tái)筆記本進(jìn)行評(píng)分,當(dāng)選手的技能或者作品展示結(jié)束后,評(píng)委獨(dú)立評(píng)分,每個(gè)評(píng)委的評(píng)分呈現(xiàn)在大屏幕中,最后根據(jù)比賽的規(guī)則得到選手的最終成績,公正公平。
2.2.3 即時(shí)生成選手排名,安全高效
運(yùn)用即時(shí)評(píng)分系統(tǒng),可以直觀地在屏幕上展示每個(gè)選手的成績與排名,減少了計(jì)算出錯(cuò)的幾率,節(jié)約率人力成本,提高了比賽的效率。同時(shí),選手的成績與名次能直接導(dǎo)出到Word或者Excel軟件進(jìn)行備份保存,方便日后的數(shù)據(jù)整理和歸檔,安全高效。
2.3 即時(shí)評(píng)分系統(tǒng)的硬件與開發(fā)軟件平臺(tái)
2.3.1 硬件平臺(tái)
即時(shí)評(píng)分系統(tǒng)的設(shè)計(jì)是針對(duì)廣大師生用戶,軟件體積很小,只有不到20M的大小,對(duì)于計(jì)算機(jī)的配置要求很低,對(duì)于網(wǎng)絡(luò)設(shè)備的要求也不高,軟件方便攜帶與安裝,硬件設(shè)備也可以靈活布置,性價(jià)比與操作性很高。
評(píng)委客戶端與數(shù)據(jù)服務(wù)器統(tǒng)一使用帶Wifi功能的普通筆記本電腦即可,操作系統(tǒng)是WindowsXP以上版本,根據(jù)比賽的評(píng)委數(shù)量設(shè)置評(píng)委客戶端的筆記本電腦數(shù)目。數(shù)據(jù)服務(wù)器要連接到投影機(jī)或者LED屏幕進(jìn)行評(píng)分與成績展示。網(wǎng)絡(luò)通訊設(shè)備主要采用無線路由器或者交換機(jī),評(píng)委客戶端與數(shù)據(jù)服務(wù)器統(tǒng)一連接到一個(gè)網(wǎng)絡(luò)設(shè)備上,建議使用無線路由器,可以減少網(wǎng)線的布線工作。具體的物理連接拓?fù)湔?qǐng)見圖一。
2.3.2 開發(fā)軟件平臺(tái)
即時(shí)評(píng)分系統(tǒng)的界面主要使用Flash軟件進(jìn)行制作,VB語言為程序開發(fā)平臺(tái),Access為數(shù)據(jù)庫平臺(tái),即時(shí)評(píng)分系統(tǒng)的結(jié)構(gòu)請(qǐng)見圖2。
Flash是Adobe公司生產(chǎn)的一款集動(dòng)畫創(chuàng)作與應(yīng)用程序開發(fā)于一身的創(chuàng)作軟件,對(duì)于視頻、聲音、圖形和動(dòng)畫等多媒體交互式設(shè)計(jì)提供了方便的平臺(tái)。使用Flash作為系統(tǒng)界面開發(fā)的軟件,能更好地展示多媒體元素,讓系統(tǒng)呈現(xiàn)的效果更加多姿多次,符合中職生的審美標(biāo)準(zhǔn)。Flash主要使用ActionScript作為開發(fā)語言,語言編寫簡單,但AS語言不能直接訪問數(shù)據(jù)庫,需要通過FSCommand命令與VB語言進(jìn)行對(duì)接,再與數(shù)據(jù)庫進(jìn)行連接。
Visual Basic,簡稱VB語言,是Microsoft公司開發(fā)的一種基于對(duì)象的程序設(shè)計(jì)語言,VB語言可以輕易地使用DAO、RDO、ADO連接數(shù)據(jù)庫,通過動(dòng)態(tài)生成Winsock控件實(shí)現(xiàn)數(shù)據(jù)服務(wù)器與評(píng)委客戶端之間的通訊連接。endprint
Access數(shù)據(jù)庫軟件是由微軟公司生產(chǎn)的Office系列里的關(guān)系數(shù)據(jù)庫管理軟件。Access數(shù)據(jù)庫支持VB語言,操作界面友好,VBA函數(shù)編寫簡易,穩(wěn)定性與兼容性強(qiáng),運(yùn)作成本較低,適合于小型軟件系統(tǒng)。
3 即時(shí)評(píng)分系統(tǒng)的設(shè)計(jì)
3.1 數(shù)據(jù)服務(wù)器的設(shè)計(jì)
數(shù)據(jù)服務(wù)器是即時(shí)評(píng)分系統(tǒng)的關(guān)鍵,包含有四大功能,分別為評(píng)分功能、統(tǒng)計(jì)獲獎(jiǎng)名單功能、展示成績排行榜功能和數(shù)據(jù)管理功能。評(píng)委客戶端通過無線網(wǎng)絡(luò)與數(shù)據(jù)服務(wù)器連接,把每位選手的成績發(fā)送給服務(wù)器,服務(wù)器根據(jù)比賽的評(píng)分規(guī)則進(jìn)行選手最終得分計(jì)算,并把成績存儲(chǔ)到數(shù)據(jù)庫中。根據(jù)比賽的評(píng)獎(jiǎng)要求,計(jì)算出獲獎(jiǎng)名單,并在賽后把所有選手的成績進(jìn)行展示,以示公平。
數(shù)據(jù)服務(wù)器的管理功能十分重要,在比賽前要先把選手的信息通過Excel電子表格文件導(dǎo)入到系統(tǒng)中,根據(jù)比賽裁判員的數(shù)量設(shè)置評(píng)委客戶端的數(shù)目,進(jìn)行系統(tǒng)初始化設(shè)置。在比賽過程中可以對(duì)裁判的打分進(jìn)行管理,如果打分有錯(cuò)誤,可以隨時(shí)進(jìn)行更正。賽后,把選手的獲獎(jiǎng)名單和總成績導(dǎo)出到Word或者Excel軟件中進(jìn)行打印和備份保存。
數(shù)據(jù)服務(wù)器要與比賽場(chǎng)地的投影機(jī)或LED屏幕連接,展示比賽的評(píng)分與排名。在運(yùn)用Flash軟件制作的界面中,可以方便植入比賽的名稱、主辦方和一些有趣的動(dòng)畫效果,增加比賽的感染力和宣傳力。
3.2 評(píng)委客戶端的設(shè)計(jì)
評(píng)委客戶端的設(shè)計(jì)簡單清晰,通過選手號(hào)碼和評(píng)分小鍵盤兩部分組成。評(píng)委在看到當(dāng)前打分的選手或作品號(hào)碼后,通過鼠標(biāo)點(diǎn)擊屏幕上的小鍵盤進(jìn)行打分,或使用筆記本的數(shù)字鍵進(jìn)行打分,然后點(diǎn)確認(rèn)或按回車鍵即可。根據(jù)比賽的參加人數(shù)和賽程安排,評(píng)委打分可設(shè)置一個(gè)思考的時(shí)間,保證比賽的進(jìn)度與評(píng)分的合理。
3.3 數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫的設(shè)計(jì)簡單清晰,只要一張數(shù)據(jù)表即可完成。數(shù)據(jù)庫的主要字段有選手編號(hào)、姓名、指導(dǎo)老師和成績等,在比賽前的數(shù)據(jù)預(yù)設(shè)過程里,可以根據(jù)比賽的需要增加數(shù)據(jù)表的字段,以保證在服務(wù)器中展示內(nèi)容的完整性。
4 即時(shí)評(píng)分系統(tǒng)主要功能的開發(fā)
4.1 評(píng)委客戶端與服務(wù)器的通訊功能開發(fā)
評(píng)委客戶端與數(shù)據(jù)服務(wù)器之間的數(shù)據(jù)即時(shí)通訊是本系統(tǒng)開發(fā)的關(guān)鍵。在網(wǎng)絡(luò)連接方面,主要使用無線路由器進(jìn)行,設(shè)置IP地址為“172.16.0.X”。使用VB里的Winsock控件,服務(wù)器使用7777作為監(jiān)聽端口,為保證連接穩(wěn)定性,當(dāng)監(jiān)聽到有客戶端連接時(shí),動(dòng)態(tài)生成一個(gè)新的Winsock作為通訊控件,如4個(gè)評(píng)委,則生成4個(gè)控件與客戶端一一對(duì)應(yīng)。
4.2 Flash AS語言與VB語言之間的數(shù)據(jù)傳輸功能開發(fā)
系統(tǒng)的界面設(shè)計(jì)主要使用Flash軟件制作,而開發(fā)語言使用VB編程,在開發(fā)中首先要實(shí)現(xiàn)使用Flash AS語言傳輸數(shù)據(jù)到VB語言中。在VB中添加ShockwaveFlash控件,F(xiàn)lash通過按鈕執(zhí)行Fscommand命令,觸發(fā)VB里ShockwaveFlash控件的FSCommand事件,再通過GetVariable函數(shù)獲取Flash里的變量值。
然后,利用VB語言傳輸數(shù)據(jù)給Flash并控制Flash里的關(guān)鍵幀進(jìn)行場(chǎng)景跳轉(zhuǎn)。在VB里通過ShockwaveFlash控件的SetVariable函數(shù),設(shè)置數(shù)據(jù)傳輸?shù)紽lash的變量里,并通過TGotoFrame函數(shù),讓Flash跳轉(zhuǎn)到某個(gè)場(chǎng)景的某個(gè)關(guān)鍵幀。例如:
在tip1里顯示“請(qǐng)為選手打分:”的數(shù)據(jù):fs1.SetVariable "tip1", "請(qǐng)為選手打分:"
讓Flash返回到主場(chǎng)景的第三幀:fs1.TGotoFrame "_root", 3
4.3 數(shù)據(jù)的管理功能開發(fā)
即時(shí)評(píng)分系統(tǒng)的前期數(shù)據(jù)要求使用Excel進(jìn)行編輯,導(dǎo)入數(shù)據(jù)主要使用DataIn函數(shù)和GetExcel函數(shù)。數(shù)據(jù)的添加、修改、刪除通過ADODB對(duì)象執(zhí)行SQL語句進(jìn)行,添加數(shù)據(jù)insert into score,修改數(shù)據(jù)update score,刪除數(shù)據(jù)delete from score。
當(dāng)評(píng)分結(jié)束,服務(wù)器可以對(duì)選手成績生成Word和Excel兩種形式的文件,分別通過Public Sub out2Word()和Public Sub out2Excel()兩個(gè)算法進(jìn)行。
4.4 評(píng)分功能開發(fā)
當(dāng)選手的才藝或作品展示完畢后,服務(wù)器就會(huì)給評(píng)委發(fā)送評(píng)分指令,在評(píng)委客戶端的屏幕上就會(huì)出現(xiàn)評(píng)分界面,評(píng)委給定分?jǐn)?shù)并確認(rèn)后,客戶端程序?qū)⒎謹(jǐn)?shù)數(shù)據(jù)發(fā)給服務(wù)器,完成客戶端評(píng)分過程。數(shù)據(jù)服務(wù)器收到各個(gè)客戶端的分?jǐn)?shù)后根據(jù)比賽預(yù)設(shè)定評(píng)分標(biāo)準(zhǔn)進(jìn)行最終得分計(jì)算,并通過投影機(jī)或LED顯示在大屏幕中。
5 結(jié)束語
即時(shí)評(píng)分系統(tǒng)操作簡單,易于推廣,適應(yīng)各種軟硬件平臺(tái),適用于廣大的學(xué)校用戶,對(duì)于各種類型的比賽能提供即時(shí)評(píng)分與評(píng)獎(jiǎng)功能,簡化了比賽流程,減輕了比賽的人力物力,保障了比賽的數(shù)據(jù)信息。
參考文獻(xiàn):
[1] 李篤. 計(jì)算機(jī)軟件開發(fā)信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子設(shè)計(jì)工程, 2016, 24(16):47-53.
[2] 張璇. 基于VB_NET的在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 電腦知識(shí)與技術(shù), 2013, 9(7):1503-1506.endprint