李詠豪 孫同



摘要:該文分析了籃球聯賽中數據管理的現狀,利用Javabean+Dao(M)+JSP(V)+servlet(C)模式構建了籃球聯賽管理系統。該系統主要包括用戶管理模塊,比賽數據管理模塊和票務系統管理模塊,同時,對用戶和球員實體的E-R圖和球員數據庫表進行了分析。籃球聯賽系統可以有效幫助教練和觀眾提取球員和球隊在場上表現的相關信息,提高后臺管理效率。
關鍵詞:籃球;數據管理;E-R圖;數據表
中圖分類號:TP315? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)11-0085-02
Abstract: This paper analyzes the current situation of data management of Basketball League. We construct the Basketball League management system using the mode of Javabean+Dao(M)+JSP(V)+servlet(C). The system mainly includes the user management module, game data management module and ticket system management. And we analyze the E-R diagram of users and players, as well as the player database table. The Basketball league system can effectively help coaches and spectators to extract the relevant information of players and teams on the field, and improve the efficiency of background management.
Key words: basketball; data management; E-R diagram; database table
1 背景
數據統計在籃球聯賽占有舉足輕重的地位,客觀反映了球隊、球員的綜合實力,教練、觀眾與球員均能從數據統計中提取出有效的信息。
隨著籃球聯賽的普及程度不斷上升,紙質記錄比賽的數據、電話訂座等方式存在較多缺陷,已不能滿足聯賽管理的需求,缺點如下[1]:
1)維護數據的性能低下;
2)查詢信息不方便;
3)購票效率低;
4)維護數據統計的工作量大。
通過籃球聯賽的專屬管理系統,便于球員、教練、觀眾從多方位獲取比賽信息,也提高了后臺管理的效率。
2 系統建設
2.1 軟件架構
該系統建設采取最典型的MVC模式[2]:Javabean+Dao(M)+JSP(V)+ servlet(C)模式,其中Javabean用于數據的封裝,方便結果在servlet和JSP頁面之間進行傳遞;Dao用于連接數據庫以及進行數據庫的增刪查改;JSP用于顯示,收集數據;servlet用于驗證數據,實例化Javabean,調用Dao連接數據庫,控制頁面的跳轉等。
2.2 系統設計
系統功能結構圖如圖1所示,系統功能該系統包括用戶管理模塊、比賽數據管理模塊與票務系統管理模塊,“*”代表該模塊或子模塊是管理員端的功能[3]。
用戶管理模塊包括的子模塊有個人信息的查看與修改、公告管理。比賽數據管理的子模塊有查看球隊各項數據排名、更新單場比賽數據、查看球員各項信息排名、查看單個球員信息與查看單個球隊信息。其中,更新單場比賽數據、添加球員單場表現可以同步更新球隊、球隊的場均數據。
3 數據庫分析
籃球聯賽系統選擇使用MySQL數據庫,版本為5.7.17,MySQL具有跨平臺性的優勢且功能強大,使用方便;同時,MySQL從5.0開始支持事務,對數據的完整性有了更好的保障[4]。
3.1 項目E-R圖
籃球聯賽系統包括的實體主要有用戶、球員、球隊、球票、比賽。下面分別介紹用戶實體和球員實體的E-R圖[5]。
用戶實體E-R圖如圖2所示,其中,用戶編號表示主鍵。對于用戶(管理員)來說,需要包括用戶的各項信息,包括用戶名、密碼、余額、性別、郵編、地址和手機號。
球員實體E-R圖如圖3所示,其中,姓名為主鍵。對于球員來說,其主要信息包括他的基本信息,如年齡,身高和體重,另外還有該球員的場上比賽信息,包括比賽場次,場均得分,場均籃板,場均助攻和場均失誤。
3.2 數據庫表的設計
籃球聯賽系統共建了6張表,分別為bs_users,bs_players,bs_teams,bs_gameinfo, bs_tickets,bs_performance分別對應上述項目E-R圖的實體集“用戶”,實體集“球員”,實體集“球隊”,弱實體集“比賽”,弱實體集“球票”以及關系“球員表現”。根據E-R圖向關系模型轉化的規則確定每張表的屬性,下面舉例介紹球員表。
球員表用于記錄球員的基本信息以及場均數據,其中包含作為主鍵的球員姓名;球員的年齡,身高等基本信息以及球員的各項場均數據,因為一個球員只能效力于一支球隊,因此引入球隊表的主鍵球隊名來表示其效力球隊。具體情況如表1所示。
4 購票頁面的設計
購票頁面(選擇區域)如圖4所示。區域分為綠區、紅區與藍區,具有不同票價,其中,綠區的區域編號為0到7,座位號為0到1599,紅區的區域編號為8到41,座位號為1600到8399,藍區的區域編號為42到89,座位號為8400到17999。
購票頁面(選擇區域)的設計是本系統前端開發中的一大難點。首先,籃球場中的座位是環繞球場的,一定數量的座位組成一個區域,如何確定區域的位置與大小呢?其次,以何種方式獲取用戶的區域選擇信息呢?最后,如果該區域已滿,如何避免用戶選擇該區域呢?
通過一張NBA籃球聯賽的座位區域圖片,我們確定了區域的位置與大小,然而,該圖片中每個區域的顏色都是相同的。通過PS軟件,我們調整了區域顏色,分為紅、綠、藍三檔,三個區域的票價不一,我們假定每個區域中的座位數量是固定的,簡化了問題。
若按照NBA籃球聯賽的座位區域將每個區域都制成一個按鈕,由于區域形狀不一且我們未使用現有的框架與組件,設計難度較大。最終,我們使用Map標簽,測量每個區域內最大矩形對角線上兩個點的坐標。并設置了跳轉的超鏈接,當用戶點擊Map標簽所包圍的區域時,就能跳轉到該區域的選座頁面,完成區域的選擇。同時,當用戶的鼠標移至區域上方時,自動提示用戶所在區域的名稱。
5 結束語
籃球聯賽系統的設計可以有效幫助教練、觀眾與球員提取出球員和球隊在場上表現的相關信息,可以大幅度降低數據統計的工作量,也方便了觀眾查詢和管理維護數據,顯著提高了后臺管理效率。
參考文獻:
[1] 郝建青,張仲義.信息系統需求分析方法研究[J].管理工程學報,2001,15(2):35-39.
[2] 齊志敏.Windows中JDK的安裝及Java開發環境的設置[J].電子技術與軟件工程,2014(10):267.
[3] 劉增杰.MySQL 5.7從入門到精通(視頻教學版)[M].北京:清華大學出版社,2016.
[4] 張秀杰,盧鳳偉,歐楠.利用Myeclipse及Eclipse對“移動實習就業跟蹤系統”開發的研究[J].電腦編程技巧與維護,2014(21):14-15.
[5] 迪布瓦. MySQL網絡數據庫指南[M].北京:機械工業出版社, 2000.
【通聯編輯:王力】