董向偉 李博 張金美

摘 要:在信息化大環境的推動下,傳統體能測試的統計管理方式已顯煩瑣,相關系統管理軟件亟待開發。本文提出了一套體能測試管理系統的設計方案,該系統開發主要使用Python語言,Web框架選用Django框架。該體能測試管理系統具有較強的實用性與較高的推廣價值,能在學校全面推廣使用。
關鍵詞:體能測試成績管理系統;Python;Django架構;管理后臺
中圖分類號:TP311.52 文獻標識碼:A 文章編號:1003-5168(2019)04-0024-02
Design of Physical Fitness Test Management System
DONG Xiangwei LI Bo ZHANG Jinmei
(School of Electronic Engineering, Huai’an College of Information Technology,Huai’an Jiangsu 223003)
Abstract: Promoted by the information environment, the traditional statistical management of physical fitness testing has become cumbersome, and the related system management software needs to be developed urgently. In this paper, a design scheme of physical fitness test management system was proposed. The system is mainly developed in Python language, and the Django framework is chosen as the Web framework. It has strong practicability and high popularization value, and can be widely used in schools.
Keywords: physical performance management system;Python;Django architecture;management background
在傳統的體育教學過程中,跑步測試時,體育教師會拿出若干個碼表分別對參跑的進行學生一對一計時,然后將計時結果在成績表中逐一登記。該過程煩瑣且工作量巨大,同時也會因為人為疏忽導致計時錯誤或記錄錯誤,從而影響學生的最終成績[1]。在大力推廣物聯網技術的背景下,本文結合Android技術所支持的測跑APP,設計了一套自動統計學生跑步成績的管理后臺系統,該系統具有即時評分、快速統計成績的功能,方便、快捷且不易出錯。
1 開發工具及關鍵技術
1.1 開發工具
代碼編譯工具:JetBrains PyCharm 2018.2.4;數據庫圖形化工具:Navicat for MySql10.1.7;服務器端運行環境:Linux;軟件環境:Python2.7.14、Django1.8.3、Mysql5.7。
1.2 關鍵技術
1.2.1 Web前端。HTML是網頁的核心,HTML5作為HTML的最新版本,引入了多項新技術,可以使開發者的工作大大簡化;CSS是網頁外觀;JavaScript是一種解釋性腳本語言,主要用來向HTML頁面添加交互行為,完成前端和后端的數據交互等。
前端框架選用Bootstrap。Bootstrap主要基于HTML、CSS、JavaScript,其簡潔靈活,使得Web開發更加快捷
1.2.2 Web后端。Python是一種動態的、面向對象的腳本語言,隨著版本的更新及語言功能的不斷增加,現已逐漸廣泛應用于系統管理任務的處理和Web編程系統設計。
Web框架選用Django。Django是一個開放源代碼的Web應用框架,由Python寫成,采用MVC的框架模式,即模型M,視圖V和控制器C。
2 系統需求
對參與體能測試的學生來說,其希望系統的管理員能及時發布公告,從而根據自己的情況選擇合適的時間進行預約考試,測試完成后能及時查看自己的測試成績,并根據成績測試分析找出不足,對癥進行專項訓練;對管理者來說,其希望能實時統計學生的成績,并進行自動分析,生成評價圖。
3 系統設計
3.1 功能設計
根據系統的特點,可以將管理系統分為管理員模塊、普通教師模塊、反饋信息模塊三大部分進行設計[2,3]。管理員模塊主要用于對各個系統進行管理與維護,管理員有權限進行用戶管理、成績管理、反饋信息處理等;普通教師模塊主要用于普通教師對學生成績的查詢及點評等操作;反饋模塊主要是對極端問題進行處理,如違紀學生處理、誤操作等情況的撤除等。
3.2 后端服務設計
參跑人員攜帶手機打開指定APP開始跑步后,結束時數據會自動存儲到數據庫。后端服務的主要功能是數據統計與分析[4]。后端主要有一個data服務,該服務為系統提供學生參測的具體信息,服務主要接口有CheckUser(self,userid)獲取管理者的信息(管理員/普通教師)、GetDataByStudentid(self, studentid)獲取學生參測信息、GetDataByClassid(self, classid)獲取班級參測信息、GettInfoByClassid(self, classid)獲取班級參測詳情等。
3.3 數據庫設計
本管理系統,數據庫選用MySQL,數據庫名為runningtest,庫中主要有兩個數據信息表,分別為個人信息表和跑步數據表。以個人信息表(user)為例進行說明,user表主要字段信息如表1所示。
Django提供了一個抽象層(Model)來構建和管理Web應用程序的數據[5]。Django中遵循Code Frist的原則,即根據代碼中定義的類來自動生成數據庫表。例如,數據庫中表user中存放所有用戶信息,其models.py中生成的表結構信息為:
class User(models.Model):
userid = models.IntegerField(primary_key=True)
user_name = models.CharField(max_length=12L)
passwd = models.CharField(max_length=32L)
modify_time=models.CharField(max_length=32L, blank=True)
login_time=models.CharField(max_length=32L, blank=True)
class Meta:
db_table = 'user'
使用數據庫的關系對象映射,擺脫了復雜的SQL操作,數據結構變得簡潔。例如,登錄系統中輸入用戶名后需要在數據庫中查詢密碼時,代碼為passwd=User.objects.filter(user_name=username).values('passd')[0],這樣就不需要再去和復雜的SQL語句打交道。
3.4 服務運行維護設計
本服務部署在Linux系統中,選用Nginx作為服務,其主要優點體現在:①Nginx配置簡潔(Apache和Tomcat都比較復雜);②Nginx處理靜態文件好,耗費內存少;③Nginx適合做前端服務器,負載性能良好;④Nginx本身就是一個反向代理服務器,且支持負載均衡[6]。
4 結語
Web程序的開發大約分4個層次,即表現層(Represent Layer)、控制層Logic control layer)、邏輯層(Service Layer)、數據存儲層(Persistent Layer)。在開發過程中,要充分考慮項目的部署、移植、性能和代碼可重用性等。
參考文獻:
[1]張弛.基于運動訓練學視角的招警考試體能測試培訓現狀研究[D].臨汾:山西師范大學,2017.
[2]鄧慧.考試后臺管理系統[D].青島:青島科技大學,2018.
[3]王靜.高校一卡通體育教學管理系統設計[J].微型電腦應用,2018(4):57-58,75.
[4]雷曉薇.基于Django框架的教學管理系統的研究與實現[J].電子設計工程,2018(18):39-43,48.
[5]楊武帥,萬啟元,桑賢伯.基于Python和Django框架的物聯網智能設備管理系統的設計與實現[J].中國新技術新產品,2018(11):13-15.
[6]杜艷美.基于web前端的性能優化框架模型研究[D].綿陽:西南科技大學,2018.