基于PHP語言的操作系統(tǒng)教學網(wǎng)站的開發(fā)
孫增國,楊柳
(華僑大學計算機科學與技術學院,福建廈門361021)
摘要:針對傳統(tǒng)課堂教學的缺陷,開發(fā)了操作系統(tǒng)的教學網(wǎng)站。依次對網(wǎng)站進行了需求分析、概要設計、詳細設計和代碼設計,采用PHP語言,最終完成網(wǎng)站的設計與實現(xiàn)。操作系統(tǒng)教學網(wǎng)站界面美觀,操作方便,實用性強,具有算法演示、資料共享、疑問解答和作業(yè)在線提交與批改等功能。該網(wǎng)站能夠滿足教師和學生的實際需求,顯著提高教學效率,可以作為課堂教學的輔助工具。
關鍵詞:PHP語言;操作系統(tǒng)教學網(wǎng)站;需求分析;概要設計;詳細設計;代碼設計
收稿日期:2014-08-09
基金項目:國家自然科學
作者簡介:孫增國(1980-),男,陜西西安人,副教授,博士,主要從事雷達信號及圖像處理的研究。
中圖分類號:TP311文獻標志碼:A
操作系統(tǒng)是計算機專業(yè)的主干課程,包含大量的算法,涉及到很多抽象的概念和原理。[1~3]傳統(tǒng)的課堂教學會遇到很多挑戰(zhàn),比如,算法講解不夠形象,教師答疑受時間和空間的很大限制,紙質(zhì)作業(yè)提交與批改效率低下等等。另一方面,網(wǎng)絡的應用已經(jīng)非常普及,如果能將教學內(nèi)容集成于網(wǎng)絡,必然會擴大課堂教學的影響。因此,有必要建立操作系統(tǒng)的教學網(wǎng)站,使基本的教學環(huán)節(jié)能夠在網(wǎng)站上實現(xiàn),彌補傳統(tǒng)課堂教學的缺陷,提高教學質(zhì)量,使學生更加高效的掌握操作系統(tǒng)的內(nèi)容。[4~6]本文按照軟件工程的一般步驟,由網(wǎng)站的需求分析、概要設計、詳細設計到代碼設計,采用PHP編程語言,從而完成操作系統(tǒng)教學網(wǎng)站的開發(fā)。本網(wǎng)站集成常見的教學手段,如算法演示、資料共享、疑問解答和作業(yè)在線提交與批改等等,可以作為操作系統(tǒng)課堂教學的有效輔助工具。
1需求分析
需求分析的目的在于從用戶的角度分析網(wǎng)站應該具有哪些功能。[7~9]本網(wǎng)站的主要用戶包括教師與學生。對于教師,應該具有資料共享、課程互動、作業(yè)中心、后臺管理等功能。其中,資料共享包括教學資源的上傳和下載功能,課程互動包括提出問題、回答問題和查看問題三個子功能,作業(yè)中心包括布置作業(yè)、批改作業(yè)、查看作業(yè)、編輯作業(yè)和刪除作業(yè)等功能,后臺管理包括班級信息管理、學生信息管理,可以進行班級的添加、刪除以及學生密碼的重置等操作。對于學生,應該具有資料共享、課程互動、作業(yè)中心等功能。其中,資料共享包括和課程相關的資源的上傳和下載功能,課程互動包括提出問題、回答問題和查看問題三個子功能,作業(yè)中心包含查看作業(yè)、書寫完成和提交作業(yè)等功能。為了提高網(wǎng)站的安全性,教師和學生必須登錄后才能提出問題、回答問題、布置作業(yè)和書寫作業(yè)。為了提高網(wǎng)站的實用性,網(wǎng)站還應該提供不需要登錄可以直接查看的功能,如課程內(nèi)容介紹、教師簡介、課堂教學資源、公告欄和常見問題等等,其中課堂教學資源包括教學課件、教學視頻和算法演示??傊?,在對網(wǎng)站進行需求分析的基礎上,本網(wǎng)站合理組織功能模塊,適當劃分用戶類別,從而保證了網(wǎng)站的實用性和安全性。
2概要設計
在需求分析的基礎上,本節(jié)對操作系統(tǒng)教學網(wǎng)站進行概要設計,其目的在于確定網(wǎng)站的結構框架和功能模塊。[7~9]操作系統(tǒng)教學網(wǎng)站包括課程內(nèi)容、教師風采、課堂教學、資料共享、課程互動、作業(yè)中心、常見問題、公告欄和后臺管理等功能模塊,其結構圖如圖1所示。其中,“課程內(nèi)容”和“教師風采”主要介紹課程和任課教師的基本情況,“課堂教學”主要為學生提供教學課件、教學視頻和算法演示功能,便于學生自學,幫助他們掌握經(jīng)典的算法?!百Y料共享”提供文件的上傳和下載功能,便于教師和學生共享有用的資料。“課程互動”提供在線提問和回答功能,便于教師和學生及時溝通,而不受時間和空間的限制?!白鳂I(yè)中心”提供布置作業(yè)、完成作業(yè)和批改作業(yè)等功能,使作業(yè)的布置、提交與批改這一教學基本環(huán)節(jié)完全在網(wǎng)上實現(xiàn),既簡化了流程,又提高了效率?!俺R妴栴}”單獨羅列出學生在課程學習中經(jīng)常遇到的共性問題,便于學生查閱,盡量減少同類錯誤的發(fā)生?!肮鏅凇碧峁┱n程教學的最新通知,如上課時間調(diào)整、考試時間和實驗安排等等?!昂笈_管理”包括班級管理、學生管理和重置密碼等功能,便于教師宏觀管理所教的班級和學生的信息。
網(wǎng)站概要設計的另一個任務是合理確定教師和學生的訪問權限,既保證網(wǎng)站使用的方便性,又保證網(wǎng)站操作的安全性。對于課程內(nèi)容、教師風采、課堂教學和常見問題等模塊以及資料共享中的下載文件功能,教師和學生不需要登錄,可以直接查看和使用。除此之外,學生必須注冊登錄后才能上傳文件、提出問題、回答問題、查看作業(yè)以及完成作業(yè),教師必須注冊登陸后才能上傳文件、提出問題、回答問題、布置作業(yè)、批改作業(yè)、上傳公告、管理公告以及管理后臺班級和學生信息。
圖1 操作系統(tǒng)教學網(wǎng)站的結構圖
3詳細設計
根據(jù)網(wǎng)站的概要設計,本節(jié)對網(wǎng)站進行詳細設計,其任務是確定每個功能模塊的具體實現(xiàn)流程。[7-9]本網(wǎng)站最關鍵的功能在于資料共享、課程互動和作業(yè)中心,因此,本節(jié)以這三個模塊為例,具體說明模塊的設計思路和實現(xiàn)流程,它們的流程圖如圖2所示。對于資料共享模塊,教師和學生無需登錄,可以直接瀏覽資料列表并下載資料。如果教師和學生希望上傳資料,則必須先登錄,否則顯示登陸提示信息。對于課程互動模塊,教師和學生無需登錄就可以瀏覽最新問題列表,查看問題內(nèi)容。如果要查看本人提出的問題,并且希望提出新的問題和回復問題,則必須進行登錄,未登錄的情況下會顯示登陸提示信息。對于作業(yè)中心模塊,教師和學生必須登錄后才能訪問該模塊,否則顯示登錄提示信息。登陸后,判斷登錄用戶是教師還是學生。如果是教師,可以進行作業(yè)的布置、查看、修改和批改等作業(yè)管理功能。如果是學生,則可以進行作業(yè)的查看、完成和提交。
(a)資料共享模塊
(b)課程互動模塊
(c)作業(yè)中心模塊 圖2 功能模塊流程圖
本網(wǎng)站涉及很多數(shù)據(jù)庫,因此,詳細設計的另一個任務是數(shù)據(jù)庫的設計和建立。本網(wǎng)站數(shù)據(jù)庫使用到的表如表1所示。合理設置這些表的功能和屬性,同時建立不同表之間的關系,是網(wǎng)站能夠正常運行的關鍵問題。這里以作業(yè)中心為例,詳細說明表的設計。教師通過作業(yè)中心布置作業(yè),所有作業(yè)信息放在一張表中,如表2所示。作業(yè)表包含作業(yè)id、作業(yè)標題、所在章節(jié)、作業(yè)題目、所屬班級、創(chuàng)建日期、開始做作業(yè)的時間以及作業(yè)提交的截止時間。作業(yè)id作為主鍵,唯一標識本次作業(yè),避免不同作業(yè)的混淆。所屬班級作為外鍵,反映了作業(yè)和班級之間的聯(lián)系。學生通過作業(yè)中心完成并提交作業(yè),學生作的答案以及教師的批改結果放在另一張表中,如表3所示。作業(yè)答案表包含用戶id、作業(yè)id、學生作的答案、成績、評語和創(chuàng)建日期。用戶id和作業(yè)id同時作為主鍵和外鍵,既唯一標識學生作的答案,又反映了作業(yè)答案和用戶及作業(yè)之間的聯(lián)系。
表1 網(wǎng)站使用到的表
表2 作業(yè)表
表3 作業(yè)答案表
4代碼設計
根據(jù)詳細設計的結果,就可以對網(wǎng)站進行代碼設計。[7~9]本網(wǎng)站采用PHP語言進行編碼。PHP語言是一種服務器端HTML嵌入式腳本描述語言,其最大特色在于在網(wǎng)頁上對數(shù)據(jù)庫操作的方便性。此外,PHP語言具有支持多種系統(tǒng)平臺、版本更新速度快、容易與現(xiàn)有網(wǎng)頁整合、幾乎完整的包括所有網(wǎng)站所需要的功能以及系統(tǒng)移植速度快等特點。[10~12]因此,采用PHP語言實現(xiàn)網(wǎng)站功能是可行的并且是方便的。本網(wǎng)站最大的特色在于作業(yè)中心模塊,教師可以在網(wǎng)上布置并修改作業(yè),學生可以在網(wǎng)上完成,最后教師在網(wǎng)上批改,整個過程完全在線處理。本節(jié)以教師布置及修改作業(yè)為例,詳細說明如何利用PHP語言進行編碼。教師布置及修改作業(yè)的代碼如下:首先進行權限檢查,只有教師才能布置作業(yè);其次輸入作業(yè)的相關信息,如作業(yè)標題、所在章節(jié)、班級、作業(yè)內(nèi)容和完成時限等等,系統(tǒng)自動獲取當前時間。作業(yè)布置及修改成功后,學生登錄網(wǎng)站點擊我的作業(yè),就會看到新的作業(yè)。
//教師布置、修改作業(yè)代碼
case "create" :
//判斷用戶權限,不是教師不能布置作業(yè),并提示警示信息
if ($user ["power"] < 1) {
echoInfoPage("只有教師才能布置作業(yè)", "權限不足");
} else {
//布置作業(yè)
$homework_model = new Homework($base);
if (!isset($_POST ["hwid"])) {
//系統(tǒng)自動獲取當前時間作為布置作業(yè)時間
$edate = date("Y-m-d", strtotime("+". $_POST ["time_limit"]. " day"));
//編輯所布置作業(yè)的標題、所屬章節(jié)、分配班級、作業(yè)內(nèi)容等
$homework_model->add($_POST ["title"], $_POST ["chapter"], getPostContent(), $_POST ["class"], $edate);
echoInfoPage("作業(yè)布置成功", "添加完成");
} else {
//修改作業(yè)
//系統(tǒng)自動獲取當前時間作為修改所布置作業(yè)時間
$edate = date("Y-m-d", strtotime($homework ["edate"]. "+". $_POST ["time_limit"]. " day"));
$homework = $homework_model->get_by_hwid($_GET ["hwid"]);
//修改所布置作業(yè)的標題、所屬章節(jié)、分配班級、作業(yè)內(nèi)容等
$homework_model->update($_POST ["hwid"], $_POST ["title"], $_POST ["chapter"], getPostContent(), $_POST ["class"], $edate);
echoInfoPage("修改完成");
}
(1)菌株。菌株CEH-ST79分離自察爾汗鹽湖湖水樣品,保存于本實驗室,并于2016年保存于廣東省微生物菌種保藏中心,保藏編號為GDMCC NO.: 60079。3株馬鈴薯干腐病病原菌Fusarium sp.由本實驗室分離保存,其中馬鈴薯干腐病病原菌青9A-4-13和青9A-5-2分離自馬鈴薯青薯9號,病原菌65B-2-6分離自下寨65號。供試馬鈴薯品種為青薯2號。
}
break;
5界面展示
使用與PHP編程語言相對應的高效服務器配置工具phpStudy 2013在本機搭建服務器,本節(jié)展示操作系統(tǒng)教學網(wǎng)站的首頁及重要的功能模塊,包括算法演示、資料共享、課程互動和作業(yè)中心。
5.1網(wǎng)站首頁
網(wǎng)站首頁如圖3所示。在首頁中,可以直接瀏覽課程介紹、教師簡介、最新通知、最新話題以及常見問題,可以直接下載講義等教學資料,可以通過登錄進入資料共享、課程互動和作業(yè)中心等模塊,實現(xiàn)資料上傳、交流答疑以及作業(yè)在線提交與批改等功能,也可以通過鏈接進入其它常用網(wǎng)站??梢姡揪W(wǎng)站界面美觀,操作方便,功能全面,能夠?qū)崿F(xiàn)基本的教學環(huán)節(jié)。
圖3 操作系統(tǒng)教學網(wǎng)站首頁
圖4 算法演示模塊界面
5.2算法演示模塊
算法演示模塊的界面如圖4所示。在該界面中,教師和學生可以演示操作系統(tǒng)的經(jīng)典算法,如進程調(diào)度算法、基于時間片的進程調(diào)度算法、預防進程死鎖的銀行家算法、動態(tài)分區(qū)分配算法、頁面置換算法和磁盤調(diào)度算法。演示過程具體形象,交互性強,可以設置不同的參數(shù),觀察相應的實驗結果,便于教師講解算法原理,也便于學生理解和掌握操作系統(tǒng)的基本概念和方法。
5.3資料共享模塊
資料共享模塊界面如圖5所示,包括資料列表、上傳文件和下載文件。所有資料根據(jù)其類別放在資料列表中的不同文件夾中,便于上傳、下載和整理。教師和學生登錄后可以把有用資料上傳至資料列表中;教師和學生無需登錄,可以直接下載資料列表中的文件。登錄后使用上傳功能便于資料的管理,而不需登錄直接下載則方便教師和學生使用資料。
(a)資料列表
(b)上傳文件
(c)下載文件
5.4課程互動模塊
課程互動模塊的界面如圖6所示,包括問題列表、提出問題和回復問題。學生可以在這里提出問題,教師可以在線解答。點擊“我要提問”,當前登錄用戶就可以提出問題。如果沒有登錄,系統(tǒng)會提示先登錄然后才能提問。點擊“我的問題”,會顯示當前登陸用戶提出的所有問題,并按時間降序排列顯示。如果沒有登錄,系統(tǒng)會提示先登錄然后才能查看自己提出的問題。點擊“最新問題”,不需登錄直接顯示教師和學生提出的所有問題,并按時間降序排列。用戶登錄后,可以對問題進行回復??梢?,課程互動模塊既能瀏覽問題,又能提出問題,還能針對某一問題做出回復,便于學生之間的交流,也便于教師及時了解學生的學習動態(tài),有針對性的給出解答和輔導。
(a)問題列表
(b)提出問題
(c)回復問題
5.5作業(yè)中心模塊
作業(yè)中心模塊界面如圖7所示,包括教師布置作業(yè)、學生提交作業(yè)和教師批改作業(yè)三部分。為便于管理,并保證作業(yè)的安全性,作業(yè)中心模塊的所有功能必須在登錄后才能完成。只有教師才能布置作業(yè),布置作業(yè)時需要填寫作業(yè)標題、內(nèi)容、章節(jié)、班級以及時限等信息。教師布置作業(yè)完畢后,學生可以在我的作業(yè)中進行查看。學生在我的作業(yè)列表中點擊未提交的作業(yè)后,就可以看到作業(yè)的詳細信息,可以直接在界面上編輯進行回答,編輯完畢后點擊提交按鈕,將作業(yè)提交給教師。學生完成作業(yè)提交后,教師在作業(yè)列表中選擇要批改的作業(yè)批次,點擊批改按鈕,進行作業(yè)批改,并給出評語和分數(shù)。可見,作業(yè)中心模塊可以在線實現(xiàn)作業(yè)的布置與批改,縮短了作業(yè)反饋的周期,提高了作業(yè)環(huán)節(jié)的效率,方便教師及時發(fā)現(xiàn)教學中存在的問題并進行改進。
(a)布置作業(yè)
(b) 提交作業(yè)
(c) 批改作業(yè)
6結語
本文開發(fā)了操作系統(tǒng)的教學網(wǎng)站,作為傳統(tǒng)教學方式的有益補充。本文按照軟件工程的一般步驟,依次對網(wǎng)站進行了需求分析、概要設計、詳細設計和代碼設計。需求分析從用戶的角度分析了網(wǎng)站應具有的功能,概要設計從宏觀角度確定了網(wǎng)站的結構框架、功能模塊和不同用戶的訪問權限,詳細設計明確了每個模塊的具體實現(xiàn)流程以及網(wǎng)站數(shù)據(jù)庫的設計細節(jié),代碼設計則使用高效的PHP語言完成網(wǎng)站的編碼。最后,本文給出了算法演示、資料共享、課程互動和作業(yè)中心等主要功能模塊的實現(xiàn)界面,并簡要說明了各個模塊的使用方法。操作系統(tǒng)教學網(wǎng)站界面美觀,操作方便,實用性強,具有算法演示、資料共享、疑問解答和作業(yè)在線布置、提交與批改等功能,能夠滿足教師和學生的實際需求,彌補傳統(tǒng)教學手段的不足,提高教學效率,可以作為課堂教學的有效輔助工具。操作系統(tǒng)教學網(wǎng)站的開發(fā),為課程的遠程在線教學提供了必要的準備工作。
參考文獻:
[1]左萬歷, 周長林, 彭濤. 計算機操作系統(tǒng)教程[M]. 北京: 高等教育出版社, 2010.
[2]湯小丹, 梁紅兵, 哲鳳屏, 等. 計算機操作系統(tǒng)[M]. 西安: 西安電子科技大學出版社, 2007.
[3]Silberschatz A, Galvin P B, Gagne G. 操作系統(tǒng)概念[M]. 鄭扣根, 譯. 北京: 高等教育出版社, 2010.
[4]孫偉, 馮萍. 《操作系統(tǒng)》教學網(wǎng)站的設計與實現(xiàn)[J]. 長春大學學報, 2008, 18(2): 42-45.
[5]楊麗萍. 基于B/S架構的《操作系統(tǒng)》教學輔助系統(tǒng)的研發(fā)[J]. 長春大學學報, 2009, 19(4): 24-26.
[6]詹澤梅. 《操作系統(tǒng)》教學網(wǎng)站設計與實現(xiàn)[J]. 軟件導刊, 2010, 9(12): 218-219.
[7]李浪, 朱雅莉, 熊江. 軟件工程[M]. 武漢: 華中科技大學出版社, 2013.
[8]Sommerville I. Software engineering [M]. Ninth Edition. 北京: 機械工業(yè)出版社, 2011.
[9]Pfleeger S L, Atlee J M. 軟件工程[M]. 楊衛(wèi)東, 譯. 北京: 人民郵電出版社, 2010.
[10]胡秀源. PHP技術在動態(tài)網(wǎng)站設計中的研究[J]. 煤炭技術, 2011, 30(12): 222-223.
[11]張恩民. PHP開發(fā)實戰(zhàn)權威指南[M]. 北京: 清華大學出版社, 2012.
[12]Welling L, Thomson L. PHP和MySQL Web開發(fā)[M]. 武欣, 等譯. 北京:機械工業(yè)出版社, 2009.
責任編輯:劉琳
Development of Operation System Teaching Website Based on PHP Language
SUN Zengguo, YANG Liu
(College of Computer Science and Technology, Huaqiao University, Xiamen 361021, China)
Abstract:Aiming at the drawbacks of traditional classroom teaching, this paper develops a operation system teaching website, the design and implementation of which are completed by requirement analysis, summary design, detailed design and code design successively based on PHP language. This website with the beautiful interface, convenient operation and strong practicability has the functions of algorithm demonstration, resource sharing, question solution and homework on-line submit and correction, which can satisfy the practical needs of teachers and students and improve the teaching efficiency obviously, so it can be regarded as an assistant tool for classroom teaching.
Keywords:PHP language; operation system teaching website; requirement analysis; summary design; detailed design; code design