石皓天,高 嶺,楊建鋒
(1.西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院,陜西 西安 710127;
2.西北大學(xué) 現(xiàn)代教育技術(shù)中心,陜西 西安 710069)
基于B/S模式的研究生教學(xué)科研平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)*
石皓天1,高 嶺1,楊建鋒2
(1.西北大學(xué) 信息科學(xué)與技術(shù)學(xué)院,陜西 西安 710127;
2.西北大學(xué) 現(xiàn)代教育技術(shù)中心,陜西 西安 710069)
近年來(lái),研究生逐年擴(kuò)招導(dǎo)致學(xué)生和導(dǎo)師之間比例不斷擴(kuò)大,各高校為應(yīng)對(duì)城市的快速發(fā)展在多個(gè)校區(qū)同時(shí)開(kāi)展了教學(xué)工作。如何高效率、跨地域指導(dǎo)研究生成為了目前研究生教育中的一個(gè)重要問(wèn)題。針對(duì)這個(gè)問(wèn)題本文提出了一種基于B/S架構(gòu)下的研究生教學(xué)科研平臺(tái),并對(duì)平臺(tái)的設(shè)計(jì)、開(kāi)發(fā)過(guò)程及實(shí)現(xiàn)的關(guān)鍵技術(shù)做了詳細(xì)闡述,為研究生的管理與教學(xué)提供了一種信息化、低成本的實(shí)現(xiàn)途徑。
研究生教育;B/S;教學(xué)科研平臺(tái);LAMP
研究生教育是我國(guó)教育的一個(gè)重要組成部分,對(duì)于我國(guó)現(xiàn)代化建設(shè)和發(fā)展有著十分重要的意義。近幾年隨著高校研究生數(shù)量規(guī)模的日益擴(kuò)大,學(xué)生和老師比例逐漸增大,傳統(tǒng)的研究生指導(dǎo)管理模式已經(jīng)逐漸不能滿足當(dāng)今的教育需求。根據(jù)這個(gè)情況,本文在基于B/S網(wǎng)絡(luò)架構(gòu)相關(guān)技術(shù)研究的基礎(chǔ)上,結(jié)合研究生教學(xué)現(xiàn)狀對(duì)研究生教學(xué)科研平臺(tái)進(jìn)行了詳細(xì)的設(shè)計(jì),并使用LAMP技術(shù)完成了研究生教學(xué)科研平臺(tái)的開(kāi)發(fā)與實(shí)現(xiàn)。
研究生教育主要包括導(dǎo)師對(duì)研究生的教學(xué)與管理以及研究生之間的學(xué)術(shù)交流,因此研究生教學(xué)平臺(tái)的設(shè)計(jì)也是基于這兩點(diǎn)入手的。該平臺(tái)是結(jié)合校園現(xiàn)有的網(wǎng)絡(luò)環(huán)境搭建的網(wǎng)絡(luò)平臺(tái),是一個(gè)融博客、論壇、研究生教學(xué)以及項(xiàng)目管理工具于一體的研究生教學(xué)互動(dòng)平臺(tái)。該平臺(tái)著眼于記錄研究生在校期間學(xué)習(xí)、生活等方面的點(diǎn)滴歷程,方便導(dǎo)師與研究生互動(dòng)教學(xué),為導(dǎo)師和研究生之間的溝通以及研究生教學(xué)管理提供一個(gè)方便快捷的網(wǎng)絡(luò)平臺(tái)。如圖1所示為平臺(tái)功能圖,平臺(tái)主要包括個(gè)人主頁(yè)、項(xiàng)目成果、資源共享、論壇交流這四個(gè)功能模塊。
個(gè)人主頁(yè)模塊具有個(gè)人項(xiàng)目管理、文章管理、短信息平臺(tái)、個(gè)人相冊(cè)以及好友管理這五項(xiàng)子模塊,該平臺(tái)是以個(gè)人主頁(yè)模塊為核心搭建起來(lái)。個(gè)人項(xiàng)目管理功能主要包括對(duì)于自己所參與項(xiàng)目的管理。用戶通過(guò)項(xiàng)目管理平臺(tái)實(shí)現(xiàn)對(duì)于自己所參與項(xiàng)目的操作。文章管理是方便用戶通過(guò)這個(gè)模塊發(fā)表日志記錄個(gè)人在校生活和學(xué)習(xí)經(jīng)歷。短信息發(fā)布平臺(tái)主要用于用戶之間的實(shí)時(shí)通信,方便用戶之間跨地域的通信交流。個(gè)人相冊(cè)是用于用戶上傳個(gè)人在校生活和學(xué)習(xí)照片的模塊。好友管理包括添加好友、好友管理等功能。
項(xiàng)目成果模塊主要用于展示各個(gè)院系所有導(dǎo)師項(xiàng)目。通過(guò)這個(gè)模塊可以有效了解各院系的項(xiàng)目信息,以便了解整個(gè)學(xué)校的科研情況。
資源共享主要是該平臺(tái)用戶用于上傳下載學(xué)習(xí)資料的功能模塊。該模塊的主要應(yīng)用目的是提供給用戶分享下載各種學(xué)習(xí)資料包括電子書、視頻以及音頻。
論壇交流模塊主要分為公共論壇模塊和項(xiàng)目交流模塊。公共論壇模塊主要用于平臺(tái)用戶交流學(xué)術(shù)。項(xiàng)目交流模塊是項(xiàng)目成員討論項(xiàng)目開(kāi)發(fā)的應(yīng)用模塊。平臺(tái)效果截圖如圖2所示。
研究生教學(xué)平臺(tái)運(yùn)行在基于B/S模式的Internet網(wǎng)絡(luò)環(huán)境中。所謂B/S模式即服務(wù)器/瀏覽器模式。它是隨著Internet技術(shù)的興起,對(duì)C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)WWW瀏覽器來(lái)實(shí)現(xiàn),極少部分事務(wù)邏輯在前端(Browser)實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實(shí)現(xiàn),形成所謂三層3-tier結(jié)構(gòu)。B/S結(jié)構(gòu)的網(wǎng)絡(luò)應(yīng)用,以及Internet/Intranet模式下的數(shù)據(jù)庫(kù)應(yīng)用,相對(duì)易于把握,成本也是較低的。它是一次到位的開(kāi)發(fā),能實(shí)現(xiàn)不同的人員從不同的地點(diǎn)以不同的接入方式(比如LAN、WAN、Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù)庫(kù);它能有效地保護(hù)數(shù)據(jù)平臺(tái)和管理訪問(wèn)權(quán)限,服務(wù)器數(shù)據(jù)庫(kù)也很安全。
LAMP(Linux+Apache+MySQL+PHP)Web應(yīng)用組合是本文設(shè)計(jì)系統(tǒng)的軟件架構(gòu)。其中Linux作為服務(wù)端的操作系統(tǒng),是一種運(yùn)行速度快捷和安全的開(kāi)源操作系統(tǒng)。[1]在Linux上運(yùn)行的服務(wù)器軟件為Apache服務(wù)器,由于其跨平臺(tái)和安全性被廣泛使用,是最流行的Web服務(wù)器端軟件之一。PHP是開(kāi)發(fā)該系統(tǒng)的腳本語(yǔ)言,與其相配的數(shù)據(jù)庫(kù)系統(tǒng)為MySQL數(shù)據(jù)庫(kù)系統(tǒng),具有低成本、高性能、易移植等特點(diǎn)。[2]這個(gè)組合由于經(jīng)常被一起使用,擁有了越來(lái)越高的兼容性,共同形成了一個(gè)強(qiáng)大的Web應(yīng)用平臺(tái)。
根據(jù)系統(tǒng)的功能設(shè)計(jì),該平臺(tái)的核心數(shù)據(jù)庫(kù)主要的表和表結(jié)構(gòu)如下:
1.項(xiàng)目表
項(xiàng)目表(cetc_projects)是平臺(tái)項(xiàng)目管理中的核心數(shù)據(jù)表。具體結(jié)構(gòu)如表1所示。
表1 平臺(tái)項(xiàng)目表
在項(xiàng)目管理中還包括 cetc_group、cetc_group_stu、cetc_task、cetc_project_file這四個(gè)表共同完成該功能。cetc_group主要用于存儲(chǔ)項(xiàng)目中項(xiàng)目組的所有信息,包括項(xiàng)目組名稱、項(xiàng)目組相關(guān)介紹以及項(xiàng)目組所屬項(xiàng)目。cetc_group_stu主要用于存儲(chǔ)學(xué)生和項(xiàng)目組之間的關(guān)系,包括學(xué)生用戶的ID和項(xiàng)目組ID,主要實(shí)現(xiàn)了學(xué)生與項(xiàng)目組之間多對(duì)多的關(guān)系。cetc_task主要用于存儲(chǔ)項(xiàng)目下任務(wù)的所有信息,包括任務(wù)名稱、任務(wù)內(nèi)容、任務(wù)所屬項(xiàng)目組。導(dǎo)師通過(guò)對(duì)項(xiàng)目組發(fā)送任務(wù)到每個(gè)項(xiàng)目組成員,項(xiàng)目組成員通過(guò)個(gè)人項(xiàng)目管理模塊查看是否有新任務(wù)。cetc_project_file主要用于存儲(chǔ)項(xiàng)目下文檔資料的所有信息,包括文檔名稱、上傳時(shí)間、上傳人、文檔類型以及所屬項(xiàng)目,實(shí)現(xiàn)了平臺(tái)項(xiàng)目管理中文檔資料的存儲(chǔ),所有參與項(xiàng)目的導(dǎo)師和學(xué)生都可以下載上傳屬于該項(xiàng)目的文檔資料。這些數(shù)據(jù)表關(guān)系如圖3所示。
2.用戶列表
用戶表是從數(shù)據(jù)庫(kù)讀出的主要信息數(shù)據(jù)表,此表是本系統(tǒng)的核心數(shù)據(jù)表。具體表結(jié)構(gòu)如表2、3所示。
要實(shí)現(xiàn)研究生教學(xué)科研平臺(tái),核心就是能夠靈活地分配權(quán)限以及實(shí)現(xiàn)SNS社會(huì)網(wǎng)絡(luò),以下就主要介紹該平臺(tái)中這兩個(gè)核心功能模塊的實(shí)現(xiàn)。
1.平臺(tái)的訪問(wèn)控制
訪問(wèn)控制(access control)又稱為安全訪問(wèn),是指平臺(tái)能夠?qū)Y源的訪問(wèn)(包括對(duì)資源的各種操作、使用)進(jìn)行控制,保證只有對(duì)資源擁有訪問(wèn)權(quán)限的主體才能訪問(wèn)資源。實(shí)施訪問(wèn)控制主要包括三個(gè)對(duì)象集:主體、客體、安全訪問(wèn)策略。[3]訪問(wèn)控制的實(shí)質(zhì)是通過(guò)安全訪問(wèn)規(guī)則限制訪問(wèn)主體對(duì)客體的訪問(wèn)權(quán)限,從而使其在合法范圍內(nèi)使用。該平臺(tái)所實(shí)現(xiàn)的訪問(wèn)控制是上世紀(jì)90年代所提出的基于角色的訪問(wèn)控制RBAC技術(shù)。RBAC的基本元素如下:
(1)用戶:一個(gè)獨(dú)立訪問(wèn)的平臺(tái)資源的主體。用戶一般指的是使用平臺(tái)的人。
(2)角色:角色的概念源于實(shí)際工作中代表處理日常事務(wù)權(quán)利的職務(wù),角色與組織中的崗位相對(duì)應(yīng)。
(3)權(quán)限:表示對(duì)系統(tǒng)中的客體進(jìn)行訪問(wèn)的操作許可。
(4)角色分配和權(quán)限分配:角色分配是指為用戶在平臺(tái)中添加實(shí)際角色,權(quán)限分配是指根據(jù)角色職責(zé)范圍獲得訪問(wèn)資源的權(quán)限。
用戶角色管理包含了對(duì)用戶的管理和角色管理。管理員通過(guò)角色管理模塊為用戶添加相應(yīng)的角色。這個(gè)平臺(tái)分為了三種角色:系統(tǒng)管理員、導(dǎo)師、學(xué)生。
頁(yè)面模塊控制訪問(wèn)主要是指頁(yè)面訪問(wèn)權(quán)限,通過(guò)建立角色和頁(yè)面的對(duì)應(yīng)關(guān)系并控制對(duì)用戶是否可見(jiàn)來(lái)實(shí)現(xiàn)用戶權(quán)限管理。在本文所提出的是基于“用戶-角色-頁(yè)面模塊”的用戶控制訪問(wèn)方法,頁(yè)面模塊作為權(quán)限配置的基本單位,根據(jù)平臺(tái)的實(shí)際應(yīng)用需要,平臺(tái)從以下幾個(gè)方面來(lái)管理用戶對(duì)于頁(yè)面模塊的訪問(wèn)控制:
1)用戶登錄身份識(shí)別:用戶通過(guò)自己的用戶名和密碼登錄時(shí),平臺(tái)會(huì)對(duì)用戶名和密碼進(jìn)行驗(yàn)證以確定用戶的合法化。如果為非法用戶則取消登錄資格;如果是合法用戶則將用戶的信息包括用戶基本信息以及用戶相關(guān)角色信息放入Session變量中。
表2 教師用戶表(cetc_teachers)
表3 學(xué)生用戶表(cetc_students)
2)獲取系統(tǒng)菜單:不同角色的用戶,對(duì)于平臺(tái)的頁(yè)面模塊具有不同的訪問(wèn)權(quán)限。在用戶進(jìn)入平臺(tái)后,根據(jù)用戶所屬的角色信息獲取到可以訪問(wèn)的頁(yè)面模塊,從而自動(dòng)生成相應(yīng)的頁(yè)面模塊。權(quán)限流程圖和實(shí)現(xiàn)圖如圖4、5所示。
從圖4、圖5可以看出管理設(shè)置用戶權(quán)限時(shí),通過(guò)用戶頁(yè)面關(guān)系表(cetc_role_menu_relationship)來(lái)存儲(chǔ)用戶操作頁(yè)面的權(quán)限,當(dāng)用戶點(diǎn)擊某個(gè)頁(yè)面時(shí)就會(huì)獲得該數(shù)據(jù)庫(kù)表中的信息來(lái)確定用戶是否擁有該頁(yè)面的權(quán)限。
根據(jù)系統(tǒng)設(shè)計(jì)目標(biāo)對(duì)于導(dǎo)師和研究生賦予了不同的頁(yè)面模塊權(quán)限。這樣實(shí)現(xiàn)了這個(gè)系統(tǒng)對(duì)于用戶管理的多樣化,從而保護(hù)了數(shù)據(jù)庫(kù)的安全和有效性。
2.SNS社會(huì)化網(wǎng)絡(luò)服務(wù)
SNS(Social Networking Service),即社會(huì)化網(wǎng)絡(luò)服務(wù)也可以簡(jiǎn)稱為“社會(huì)化網(wǎng)絡(luò)”,旨在幫助人們建立社會(huì)化網(wǎng)絡(luò)服務(wù)的互聯(lián)網(wǎng)應(yīng)用[4],將個(gè)人空間和網(wǎng)絡(luò)上的社會(huì)交往集合為一體。本文中所提出的基于SNS社會(huì)化網(wǎng)絡(luò)服務(wù)為高校研究生、導(dǎo)師提供日志、短信息、相冊(cè)等豐富的社會(huì)化網(wǎng)絡(luò)服務(wù),使用戶在不斷交流、協(xié)作中分享社會(huì)化網(wǎng)絡(luò)學(xué)習(xí)過(guò)程。
在本文討論的社會(huì)化網(wǎng)絡(luò)系統(tǒng)中主要包括七個(gè)元素:身份,分享,會(huì)話,群組,聲譽(yù),關(guān)系,狀態(tài)。身份是用戶在平臺(tái)中的核心,用戶在該平臺(tái)中任何活動(dòng)都與身份相關(guān)。本平臺(tái)主要包括導(dǎo)師和研究生兩種身份并且在該平臺(tái)中用戶采用實(shí)名制網(wǎng)絡(luò)注冊(cè)。當(dāng)用戶在該平臺(tái)注冊(cè)后,由系統(tǒng)管理員對(duì)用戶身份進(jìn)行核實(shí)。分享是平臺(tái)中所有用戶之間分享例如視頻音頻等學(xué)習(xí)資料。在本平臺(tái)中所有用戶都可以上傳下載學(xué)習(xí)資源,這里學(xué)習(xí)資源主要包括電子書籍、視頻、音頻。對(duì)于屬于某個(gè)項(xiàng)目的用戶,該用戶還可以下載自己所參與項(xiàng)目的文檔或者資料。會(huì)話是指用戶之間的交流。在本平臺(tái)中這種交流主要是使用短信息的方式實(shí)現(xiàn)。群組是平臺(tái)中把相同興趣的用戶組織在一起的方式。在本平臺(tái)中群組包括兩個(gè)方面:一個(gè)方面是由導(dǎo)師添加學(xué)生作為自己所管理研究生的大群組;另一個(gè)方面是在導(dǎo)師所建立項(xiàng)目中屬于同一項(xiàng)目組的研究生用戶群組。聲譽(yù)是對(duì)于用戶級(jí)別的定義。在本平臺(tái)中用戶級(jí)別主要由用戶上傳學(xué)習(xí)共享資料的數(shù)量而定。由上傳資料數(shù)量而確定用戶級(jí)別主要是為了提高用戶上傳學(xué)習(xí)共享資料的積極性。關(guān)系是用戶之間社會(huì)化網(wǎng)絡(luò)聯(lián)系的體現(xiàn)。這種關(guān)系主要是指好友關(guān)系,群組關(guān)系。在本平臺(tái)中,導(dǎo)師用戶的關(guān)系包括他與學(xué)生的師生關(guān)系和好友關(guān)系以及與其他導(dǎo)師的同事關(guān)系。學(xué)生用戶的關(guān)系包括與其他學(xué)生的好友關(guān)系和與其導(dǎo)師的師生關(guān)系。用戶可以通過(guò)添加好友及時(shí)了解好友目前的學(xué)習(xí)生活狀態(tài)。狀態(tài)通常表示在線或者離線,也可以表達(dá)更詳盡的信息。在本平臺(tái)中主要是指在線或離線狀態(tài)。通過(guò)正常登錄或下線的方式來(lái)改變用戶的狀態(tài)。SNS社會(huì)化網(wǎng)絡(luò)服務(wù)元素如圖6所示。
除此之外,研究生教學(xué)平臺(tái)使用了數(shù)據(jù)庫(kù)分頁(yè)技術(shù)保證頁(yè)面顯示的正常,在個(gè)人信息數(shù)據(jù)庫(kù)管理中,用戶密碼采用MD5加密方式,即使數(shù)據(jù)庫(kù)管理員也無(wú)法獲得用戶密碼,從而保證了用戶賬號(hào)安全。
本文對(duì)用戶訪問(wèn)控制和SNS社會(huì)化網(wǎng)絡(luò)服務(wù)在研究生教學(xué)科研平臺(tái)中的應(yīng)用做了詳細(xì)闡述,并且通過(guò)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)導(dǎo)師對(duì)研究生的教學(xué)指導(dǎo)以及對(duì)研究生在校的虛擬社會(huì)做了初步的探討和嘗試。如何在校園網(wǎng)中建立更為有效的虛擬網(wǎng)絡(luò)社會(huì),促進(jìn)研究生教學(xué)和管理中教師與學(xué)生、學(xué)生與學(xué)生之間的相互交流,還有待于進(jìn)一步的研究。
[1](美)Richard Petersen.Linux完全參考手冊(cè)(第六版)[M].北京:機(jī)械工業(yè)出版社,2009.
[2]姜林美.PHP+MySQL動(dòng)態(tài)網(wǎng)站開(kāi)發(fā)[M].北京:電子工業(yè)出版社,2008.
[3]路庭輝,文貴華.B/S結(jié)構(gòu)下的用戶控制訪問(wèn)方法[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(7):1433-1436.
[4]馮旭鵬.構(gòu)建基于SNS的校際網(wǎng)絡(luò)學(xué)習(xí)共同體初探[J].中國(guó)教育信息化,2010(9).
(編輯:金冉)
TP311.52
B
1673-8454(2011)11-0027-04
*項(xiàng)目支持:陜西省科技廳“13115科技創(chuàng)新項(xiàng)目”:文檔數(shù)字化管理與資源共享平臺(tái),項(xiàng)目編號(hào):2009FWPT-06;西北大學(xué)校內(nèi)科研基金:面向搜索引擎的高校網(wǎng)站優(yōu)化,基金號(hào):ND0932;西北大學(xué)校內(nèi)研制基金:教學(xué)資源平臺(tái)的研究與設(shè)計(jì);校內(nèi)研究基金課題項(xiàng)目:研究生教學(xué)科研平臺(tái),項(xiàng)目編號(hào):YC07075。