蘇博妮,化希耀,2
近年來,隨著各種新技術的不斷涌現,物聯網、大數據和人工智能技術已對社會產生了深遠影響,這也不斷促使國內高校加快了信息化的進程.由于學生人數和課程數的上升,學校課程改革的需要和學分制的實施,各個高校許多課程授課模式已打破原來的班級,由學生自由選課組班.而傳統的課程管理采用人工管理模式,這種方式教務管理工作量繁重,而且還容易出現人為的不必要的錯誤.采用信息化教學管理和改革不僅可以減少教務人員的工作量,還增加了教師和學生選課的自主性和自由度.[1,2]國內許多高校都先后開發了選課系統.李帥和黃克敏等開發了基于SSH框架的高校選課系統;[3]俞靚亮采用ASP技術和SQL Ser ver2008設計了公共選修課網上選課系統,并投入學校的實際選課中取得了較好的效果;[4]王峰開發了基于MVC框架下的學生選課系統包括學生日常管理和高校課程管理兩個模塊;[5]王慧敏為減輕教務工作人員的工作量而開發了網上選課系統.[6]
PHP語言以其免費開源、面向對象和良好的跨平臺性,已成為 Web領域開發的首選編程語言.本文采用PHP5+My SQL開發了分級選課系統,該系統包括課程管理、學生管理和選課管理等功能.系統的開發和使用大大提高了公共課分級選課的效率,也為分級選課的統計、存儲以及分配提供一種更加快速,安全的信息平臺.[7]
學生選課系統包括學生選課、學生信息管理、教師信息管理和通知信息管理等功能.學生可以通過瀏覽器完成選課、退課、成績查詢等相關操作.為學生提供一個快捷的操作和瀏覽平臺.這樣學生可以結合自己的興趣愛好、專長選擇課程.該系統共分為8個功能模塊:注冊/登陸模塊、選課管理模塊、通知管理模塊、成績管理模塊、教師管理模塊、學生管理模塊、課程管理模塊和課件管理模塊,如圖1所示.

圖1 系統總體結構圖
本系統采用My SQL數據庫存儲數據.根據選課系統的需求,系統數據庫共包括課程表、選課表、教師表、學生表、管理員表和課件信息表等6張表.
選課表用來存儲學生選課信息,主要包括學號、課程號、教師號和成績等5個字段,如表1所示.

表1 選課表
學生表用來存儲學生信息,其中包括用戶名、密碼、真實姓名、性別、年齡、學院和班級等字段,如表2所示.

表2 學生表
課件信息表用來保存教師上傳的教學課件,以附件的形式保存在服務器端,學生可從選課系統里下載學習.該表包括編號、課程號、內容、文件、時間和教師等字段,如表3所示.

表3 課件信息表
其余數據庫表類似,這里不再詳述.
注冊與登錄模塊是系統的基本功能.為保證系統安全,為不同賬戶分配不同的權限,用戶權限分為管理員、教師和學生3種級別.學生注冊登錄之后可以操作選課功能、查看課程成績和修改個人信息等功能.教師登錄之后可以查看課程的選課情況、添加課程附件、錄入成績、修改個人信息和發布通知信息.管理員可以進行系統管理和用戶管理.系統登錄和注冊界面如圖2、3所示.

圖2 系統登錄界面

圖3 學生注冊界面
選課管理模塊主要為學生參加完分級考試后查看考試成績,如果通過考試,則可以參加選修課,并且選課總數只能為一科,選課成功后可查看選課情況,流程圖如圖4所示.部分選課程序如下:
$result=$sql->quer y("select score fro m co mputer where stu_id='{$_SESSION['user na me']}'");
$inf o=$result->fetch_array();
if($inf o['score']<60){
echo"";
exit;
}

圖4 選課流程圖
通知管理模塊分為通知信息的發布、修改和刪除.注冊/登陸主界面上的通知信息是學生、教師、管理員都可以查看的.但由于管理員、教師、學生的權限的不同,他們各自的功能也是有所差異的.

圖5 通知發布界面
課件管理模塊是教師在課前或課后將課件提供給學生預習和復習.上傳課件的類型包括PPT、wor d文檔和pdf格式文檔等,如圖6所示.

圖6 課件管理界面
關鍵程序如下:
if(is_uploaded_file($_FILES['file']['t mp_na me'])){
$file_na me=explode('.',$_FILES['file']['na me']);
$file_na me2=$file_na me[count($file_na me)-1];
if($file_na me2){
$file='../upload/'.$ti me.'.'.$file_name2;move_uploaded_file($_FILES['file']['t mp_na me'],$file);
}
else{
$file='';
}
}
$sql->quer y("insert into kejian(course_id,file,text,ti me,teacher)value('$id','$file','{$_POST['text']}','$ti me','$teacher')");
if($sql->affected_r ows){
echo"";
}
教師/學生管理模塊是對教師/學生信息創建、更改和刪除.在系統中,教師的信息需要管理員進行創建和刪除,這樣保證了系統的安全性.教師可以查看所帶課程的選課情況,以及添加課程附件的功能.學生可以查看課程附件并且下載課程附件,如圖7所示.

圖7 教師/學生添加界面
課程管理是對課程信息的添加、更改和刪除.該模塊同樣是有管理員進行控制.但在課程添加前應先創建教師,然后為課程指定授課教師,如圖8所示.

圖8 課程管理界面
為進一步減輕高校教務人員的工作量,提高課程管理效率,本文開發了基于PHP的分級選課系統.該系統操作簡單、界面友好美觀,易于擴充,還可自動完成各種不同的數據的統計、查詢功能.我們已在近3年的計算機基礎教學分級選課中采用該系統.未來還將在與現有教務管理系統數據共享等方面進一步改進.
參考文獻:
[1]張書波,龍 熠,彭 明.基于.NET的選課系統的設計與實現[J].電子測試,2016(8):62-63.
[2]李 江.基于WEB的高校網上選課系統的總體設計與實現[J].山東工業技術,2016(3):236.
[3]李 帥,黃克敏,楊 義,張天然,王 倩.高校學生選課系統的研究與設計[J].電腦知識與技術,2017(9):99-100.
[4]俞靚亮.高職學生選課系統的設計與實現[J].信息技術與信息化,2017(3):76-77.
[5]王 峰.基于MVC框架下學生選課系統的設計與實現[J].電腦編程技巧與維護,2017(5):63-65.
[6]王慧敏.高校網上選課系統的設計與實現[J].內蒙古科技與經濟,2016(19):56-57.
[7]廖嘉燦,侯超鈞.基于SSM和Http Client的在線選課輔助系統的設計與實現[J].計算機與現代化,2016(10):116-120,126.