于 一 楊俊杰 王太林
(中北大學(xué),山西 太原030051)
應(yīng)用目前在國內(nèi)的排球比賽的數(shù)據(jù)統(tǒng)計大都局限于在紙張上記錄,國外有一些應(yīng)用系統(tǒng)都不適合國內(nèi)使用并且價格昂貴。在比賽結(jié)束后教練團(tuán)隊想要分析該場或者多場比賽數(shù)據(jù),需要投入大量的人力物力,時效性較差。本系統(tǒng)在APP 端提供一種快速的數(shù)據(jù)錄入方式,在web 端對數(shù)據(jù)進(jìn)行統(tǒng)計分析,并將結(jié)果以圖表方式直觀的展現(xiàn)出來,使這項(xiàng)工作變的高效便捷且成本低。
本系統(tǒng)分為客戶端和服務(wù)端兩部分。客戶端主要負(fù)責(zé)比賽信息的統(tǒng)計并上傳,主要包括用戶登錄、用戶注冊、隊員添加、選擇上場隊員、上場隊員更換、比賽信息添加、比賽數(shù)據(jù)統(tǒng)計等功能。服務(wù)端主要負(fù)責(zé)比賽信息的分析,主要包括用戶登錄、用戶注冊、隊員信息管理、比賽數(shù)據(jù)管理、隊員數(shù)據(jù)分析、比賽數(shù)據(jù)分析等功能。
本系統(tǒng)客戶端與WEB 端均分為三個模塊,分別為用戶管理模塊、隊員管理模塊、比賽管理模塊,但是客戶端與WEB 端三個模塊下的具體功能又有不同,客戶端的用戶管理模塊相對WEB 端少了修改密碼的功能,而隊員管理模塊,客戶端提供了添加隊員、選擇上場隊員、更換上場隊員三個功能模塊;WEB 端則是添加隊員、修改隊員、刪除隊員、隊員數(shù)據(jù)分析四個功能;對于比賽管理模塊可以說客戶端負(fù)責(zé)統(tǒng)計,WEB 端進(jìn)行管理和分析。如圖1 和圖2 所示。
本系統(tǒng)通過使用Android Studio、Netbeans、和MySQL 等工具,開發(fā)客戶端,使用Amaze UI、SSM、Jquery 等框架開發(fā)WEB端應(yīng)用程序。
圖1 功能結(jié)構(gòu)圖(客戶端)
圖2 功能結(jié)構(gòu)圖(WEB 端)
客戶端基于Android 平臺進(jìn)行原生開發(fā),目前Android 平臺的開發(fā)技術(shù)已經(jīng)相當(dāng)成熟,由于Android 操作系統(tǒng)的免費(fèi)和開源,因此Android 移動設(shè)備的普及相當(dāng)廣,可以說是幾乎人手一臺。
服務(wù)器端采用目前比較流行的SSM 框架進(jìn)行WEB 端應(yīng)用開發(fā),SSM 是一個輕量級框架,適合數(shù)據(jù)源較為簡單的WEB 項(xiàng)目,該系統(tǒng)的目的是對排球比賽數(shù)據(jù)的統(tǒng)計與分析,因此數(shù)據(jù)量較小,非常適合使用SSM 框架。而且SSM 框架相對于SSH 框架來說實(shí)現(xiàn)起來更加靈活,后期維護(hù)也相對簡單。Spring 框架主要提供了面向切面(AOP)編程,核心的控制反轉(zhuǎn)(IoC)機(jī)制, 以及能夠整合多種持久層的框架和擁有自己的MVC 框架[1]。My Batis 是集成SQL 查詢、存儲過程調(diào)用和高級映射的持久層框架, 它封裝了幾乎所有通過手工設(shè)置的JDBC 代碼, 通過簡單的XML 配置和注解將Java 的POJOs 映射成數(shù)據(jù)庫中的記錄[2]。針對互聯(lián)網(wǎng)+技術(shù)的不斷革新, SSM 開發(fā)以其開發(fā)的靈活性越來越多的占據(jù)市場, 不僅僅使應(yīng)用系統(tǒng)在性能、復(fù)雜度上有了很大的改進(jìn), 其逆向工程可根據(jù)Java 反射、ORM 等高級特性, 極大的提高了開發(fā)人員的開發(fā)效率[3]。
在本系統(tǒng)中,存在用戶、隊員以及比賽記錄等實(shí)體,一個用戶對應(yīng)多個隊員,同時隊員多條比賽記錄,一個隊員對應(yīng)多條比賽記錄等,主要表結(jié)構(gòu)設(shè)計如下:
3.2.1 memberinfo(隊員信息表)(表1)
注:主鍵:number 外鍵:caochname 與userinfo 表中的username 對應(yīng)
3.2.2 matchinfo(比賽信息表)(表2)
注:主鍵:id
外鍵:caochName 與userinfo 表中的username 對應(yīng);number 與memberinfo 表中的number 對應(yīng)
3.3.1 客戶端功能模塊
客戶端隊員管理包括添加隊員、選擇上場隊員以及更換上場隊員三個子模塊,用戶登錄成功后,系統(tǒng)自動查詢該用戶名下的所有隊員并將其發(fā)送到客戶端??蛻舳私邮蘸髸崾居脩糇约寒?dāng)前有多少名隊員,如果用戶隊員數(shù)量足夠的話,用戶可以選擇繼續(xù)添加隊員或者跳過該步驟。用戶添加隊員時需要輸入隊員號碼以及隊員姓名。選擇上場隊員功能要求用戶只能選擇6 名隊員作為上場隊員,然后剩下的隊員作為待更換隊員等待。添加隊員模塊類圖如圖3 所示。
比賽管理模塊是客戶端的主要功能模塊,該模塊主要包括比賽信息的錄入以及比賽數(shù)據(jù)的統(tǒng)計。比賽信息的錄入包括主隊名稱、客隊名稱、比賽地點(diǎn)以及比賽名稱;比賽數(shù)據(jù)的錄入是整個客戶端最最要的功能模塊,客戶端將比賽數(shù)據(jù)統(tǒng)計好后上傳到服務(wù)器,然后WEB 端進(jìn)行進(jìn)一步數(shù)據(jù)的分析制表。比賽數(shù)據(jù)統(tǒng)計類圖如圖4 所示。
3.3.2 WEB 端功能模塊
WEB 端的隊員管理模塊功能主要包括添加隊員、修改隊員信息、隊員刪除、隊員分析四個子模塊,WEB 添加隊員時要求用戶輸入較為詳細(xì)的隊員信息,隊員刪除又分為單個刪除以及批量刪除,隊員分析則是將隊員參加的比賽的數(shù)據(jù)進(jìn)行繪制表格。隊員管理模塊類圖如圖5 所示。
WEB 端的比賽管理模塊主要包括比賽查看、比賽刪除、比賽數(shù)據(jù)分析三個子模塊,比賽刪除用戶需要刪除指定的比賽記錄,比賽數(shù)據(jù)分析則是對用戶選擇的比賽進(jìn)行數(shù)據(jù)分析并制表。WEB 端比賽管理模塊類圖如圖6 所示。
表1 隊員信息表
表2 比賽信息表
圖3 客戶端隊員管理模塊類圖
客戶端分為三個模塊,WEB 端分為五個模塊,進(jìn)行測試,均采用黑盒測試法,從用戶角度出發(fā),通過輸入和觀察各種輸出結(jié)果來發(fā)現(xiàn)本系統(tǒng)存在的問題并優(yōu)化修改,最終各項(xiàng)功能均通過測試。
圖4 比賽管理模塊類圖
圖5 WEB 端隊員管理模塊類圖
圖6 WEB 端比賽管理模塊類圖
客戶端主要功能模塊測試截圖如7.1~7.3 所示。
圖7.1 測試圖1 7.2 測試圖2 7.3 測試圖3
WEB 端主要功能模塊測試截圖如7.4-7.5 所示。
圖7.4 測試圖4
圖7.5 測試圖5
本次系統(tǒng)的設(shè)計研發(fā)過程,是在中北大學(xué)排球隊教練組的老師和隊員們的協(xié)作下完成的,尤其是前期系統(tǒng)功能需求分析階段和系統(tǒng)測試階段。本系統(tǒng)的功能相對合理,實(shí)用性強(qiáng),正在作為測試版上線使用,未來將向產(chǎn)品化方向逐步優(yōu)化改進(jìn)。