版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 本科畢業(yè)設(shè)計(jì)</b></p><p><b> ?。ㄈ宋目茖W(xué))</b></p><p> 題 目:基于PHP框架的精品資源共享課程管</p><p> 理評(píng)價(jià)系統(tǒng)設(shè)計(jì)與開發(fā) </p><p> 院(系、部):教育學(xué)院
2、 </p><p> 學(xué) 生 姓 名:溫圣元 </p><p> 指 導(dǎo) 教 師:李國(guó)林 職 稱 講師 </p><p> 2017年5月26日</p><p> 河北科技師范學(xué)院教務(wù)處制 </p><p&
3、gt;<b> 資料目錄</b></p><p><b> 河北科技師范學(xué)院</b></p><p><b> 本科畢業(yè)設(shè)計(jì)</b></p><p> 基于PHP框架的精品資源共享課程管理評(píng)價(jià)系統(tǒng)設(shè)計(jì)與開發(fā)</p><p> 院(系、部)名 稱 :教育學(xué)院
4、 </p><p> 專 業(yè) 名 稱:教育技術(shù)學(xué) </p><p> 學(xué) 生 姓 名:溫圣元 </p><p> 學(xué) 生 學(xué) 號(hào):1951150309 </p><p> 指 導(dǎo) 教 師:李國(guó)林
5、 </p><p> 2017年5月26日</p><p> 河北科技師范學(xué)院教務(wù)處制 </p><p><b> 學(xué) 術(shù) 聲 明</b></p><p> 本人呈交的學(xué)位論文,是在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,所有數(shù)據(jù)、圖片資料真實(shí)可靠。盡我所知,除文中已經(jīng)注明引用的內(nèi)容
6、外,本學(xué)位論文的研究成果不包含他人享有著作權(quán)的內(nèi)容。對(duì)本論文所涉及的研究工作做出貢獻(xiàn)的其他個(gè)人和集體,均已在文中以明確的方式標(biāo)明。本學(xué)位論文的知識(shí)產(chǎn)權(quán)歸屬于河北科技師范學(xué)院。</p><p> 本人簽名: 日期: </p><p> 指導(dǎo)教師簽名:
7、日期: </p><p><b> 摘 要</b></p><p> 目前信息技術(shù)的正在高速發(fā)展,高校的教學(xué)改革也在不斷深入,人們的學(xué)習(xí)、工作和生活方式正在向著高度信息化的模式發(fā)展,同樣,信息技術(shù)在教育方面的應(yīng)用也迎來了快速的發(fā)展。精品資源共享課是在原國(guó)家精品課程的基礎(chǔ)上,進(jìn)行結(jié)構(gòu)優(yōu)化、升級(jí)轉(zhuǎn)型的課程。其作為重
8、要的教學(xué)資源,數(shù)量繁多,質(zhì)量參差不齊,需要對(duì)其加強(qiáng)管理和引導(dǎo),要在合理管理的情況下進(jìn)行高效的評(píng)價(jià)更是尤為艱難。采用傳統(tǒng)的管理系統(tǒng)在安全性、穩(wěn)定性以及可維護(hù)性方面存在諸多缺陷,因此,開發(fā)一個(gè)高效、安全的管理評(píng)價(jià)系統(tǒng)變得尤為重要。本文介紹了選題的背景和意義、系統(tǒng)的開發(fā)工具,并詳細(xì)說明了設(shè)計(jì)實(shí)現(xiàn)本系統(tǒng)所需要的必要準(zhǔn)備工作和具體實(shí)現(xiàn)過程。</p><p> 關(guān)鍵詞:教學(xué)資源;課程管理系統(tǒng);ThinkPHP;安全;設(shè)計(jì)&
9、lt;/p><p><b> Abstract</b></p><p> At present, Information Technology is developing rapidly, the teaching reform in Colleges and universities is also deepening.people's learning,
10、work and life mode of development is toward informationization also, application of information technology in education has also ushered in rapid development. Excellent resource sharing course is based on the original na
11、tional quality course on the structure, optimization, transformation and upgrading of the curriculum. As the important teaching resource</p><p> Key words: teaching resources; curriculum management system;
12、ThinkPHP; safety; high efficiency;</p><p><b> 目錄</b></p><p><b> 一、緒論1</b></p><p> ?。ㄒ唬┻x題的背景和意義1</p><p> (二)國(guó)內(nèi)外研究現(xiàn)狀1</p><p>
13、二、開發(fā)工具的選用和介紹1</p><p> ?。ㄒ唬?shù)據(jù)庫系統(tǒng)的選用1</p><p> (二)ThinkPHP開源框架介紹2</p><p><b> 1.單一入口2</b></p><p><b> 2.MVC模式2</b></p><p><b&
14、gt; 3.面向?qū)ο?</b></p><p> 4.項(xiàng)目、應(yīng)用、模塊和方法3</p><p> ?。ㄈ¦eb前端頁面設(shè)計(jì)使用到的技術(shù)介紹5</p><p> 1.CSS+DIV5</p><p> 2.Javascript、jQuary和Ajax5</p><p> 三、系統(tǒng)需求分析
15、5</p><p><b> (一)任務(wù)需求5</b></p><p><b> ?。ǘ┕δ苄枨?</b></p><p><b> 1.概述6</b></p><p> 2.各類用戶的角色功能6</p><p> 3.課程評(píng)價(jià)流程分
16、析7</p><p> 四、系統(tǒng)的具體設(shè)計(jì)及實(shí)現(xiàn)8</p><p> ?。ㄒ唬?shù)據(jù)庫的設(shè)計(jì)8</p><p> ?。ǘ└鲬?yīng)用的具體設(shè)計(jì)與實(shí)現(xiàn)14</p><p> 1.前臺(tái)應(yīng)用(Home)14</p><p> 2.后臺(tái)應(yīng)用(Admin)16</p><p> (三)系統(tǒng)整
17、合與細(xì)節(jié)處理26</p><p> 五、系統(tǒng)的測(cè)試與部署26</p><p><b> 結(jié)束語27</b></p><p><b> 參考文獻(xiàn)27</b></p><p><b> 致謝28</b></p><p><b>
18、 一、緒論</b></p><p> (一)選題的背景和意義</p><p> 精品資源共享課是在原精品課程的概念的基礎(chǔ)上提出的,以課程資源的系統(tǒng)性、完整性為基本要求,強(qiáng)調(diào)視頻等多媒體教學(xué)資源的運(yùn)用,通過網(wǎng)絡(luò)信息系統(tǒng)向高校師生和社會(huì)學(xué)習(xí)者提供優(yōu)質(zhì)教育資源服務(wù),促進(jìn)現(xiàn)代信息技術(shù)在教學(xué)中的應(yīng)用,實(shí)現(xiàn)優(yōu)質(zhì)課程教學(xué)資源共享,進(jìn)行結(jié)構(gòu)優(yōu)化、升級(jí)轉(zhuǎn)型的課程[1]。目前,包括我校(河北科
19、技師范學(xué)院)在內(nèi)的許多高校的還在使用原生PHP語言編寫的網(wǎng)站來管理評(píng)價(jià)精品課程,這樣的搭建的課程管理評(píng)價(jià)系統(tǒng)存在諸多缺陷。例如在初期設(shè)計(jì)制作過程中,由于原生網(wǎng)絡(luò)編程語言較為繁瑣,會(huì)加大開發(fā)人員工作量,使得開發(fā)周期較長(zhǎng);在運(yùn)行維護(hù)中,語言用法習(xí)慣不統(tǒng)一,使得維護(hù)混亂;此外原生網(wǎng)絡(luò)編程語言封裝性較差,使得安全等級(jí)大打折扣等等。 </p><p> 針對(duì)原生PHP語言的弊端,國(guó)內(nèi)外已經(jīng)有許多公司采用全新的框架模式來搭
20、建網(wǎng)站,但這些網(wǎng)站主要適用于商業(yè)系統(tǒng),并不適合高校的課程管理。</p><p> 在仔細(xì)分析了本校精品課程管理的實(shí)際情況,研究了原精品課管理評(píng)價(jià)系統(tǒng)后,采用框架模式開發(fā)一套本校使用的精品課程管理系統(tǒng)。這將使得我校的課程信息安全大幅提升并為我校教職工以及管理人員帶來極大的便利。</p><p> ?。ǘ﹪?guó)內(nèi)外研究現(xiàn)狀</p><p> 在國(guó)外,課程管理系統(tǒng)的研究
21、開始得比較早,據(jù)不完全統(tǒng)計(jì),目前,國(guó)外課程管理系統(tǒng)多達(dá)百種,而商業(yè)類管理系統(tǒng)更是種類繁多,管理系統(tǒng)的應(yīng)用發(fā)展還在高速推廣,據(jù)Educause Core Data Service調(diào)查表明,在美國(guó)900多個(gè)參與調(diào)查的高等院校中,90%以上已經(jīng)配備課程管理系統(tǒng)[2]。</p><p> 在國(guó)內(nèi),相關(guān)技術(shù)起步較晚,但是我國(guó)已經(jīng)引入了開源的課程管理系統(tǒng),如Moodle,sakai等。互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,各個(gè)高校都在建設(shè)
22、自己的課程管理系統(tǒng)。</p><p> 二、開發(fā)工具的選用和介紹</p><p> ?。ㄒ唬?shù)據(jù)庫系統(tǒng)的選用</p><p> 在WEB應(yīng)用開發(fā)中,MySQL是最佳的關(guān)系型數(shù)據(jù)庫,并且其與PHP語言兼容性較好。它由甲骨文公司運(yùn)營(yíng),分為社區(qū)版和商業(yè)版。其中社區(qū)版體積較小,運(yùn)行效率高,速度快,并且與PHP語言一樣,開源免費(fèi)。經(jīng)過全世界的開發(fā)者多年的探索,PHP+My
23、SQL的組合以及成為了經(jīng)典。</p><p> 因此,在項(xiàng)目開發(fā)中,使用MySQL作為系統(tǒng)的數(shù)據(jù)庫。在開發(fā)過程中使用的MySQL版本為v5.5.24。</p><p> ?。ǘ㏕hinkPHP開源框架介紹</p><p> PHP的開發(fā)框架在國(guó)內(nèi)外有很多,并且有的已經(jīng)相當(dāng)成熟,例如國(guó)外大名鼎鼎的Zend Framework、Yii和Drupal平臺(tái)等。在國(guó)內(nèi),
24、最著名的開發(fā)框架是ThinkPHP,這款輕量級(jí)的PHP開發(fā)框架經(jīng)過幾年的發(fā)展和完善,目前已經(jīng)很成熟。</p><p> 在項(xiàng)目開發(fā)中使用的ThinkPHP版本為v3.2.3,因此,以這一版本為例,來介紹一下ThinkPHP的具體功能。</p><p> ThinkPHP采用MVC模式,MVC模式將模型、控制器、視圖層分離,極大提高了項(xiàng)目的安全性、可維護(hù)性以及效率。 </p>
25、<p> 使用ThinkPHP搭建項(xiàng)目前,首先來了解一下ThinkPHP的一些基本概念:</p><p><b> 1.單一入口</b></p><p> 所謂單一入口,就是指項(xiàng)目的每一個(gè)應(yīng)用都采用一個(gè)單一的文件來訪問,用戶的數(shù)據(jù)從這個(gè)入口文件進(jìn)入,找到相應(yīng)的控制器執(zhí)行后,再將返回的數(shù)據(jù)通過這個(gè)單一入口文件返回給用戶。 </p>&l
26、t;p><b> 2.MVC模式</b></p><p> MVC是一種軟件的設(shè)計(jì)模式,它能夠在開發(fā)過程中將項(xiàng)目的視圖層、控制層和模型層分離,也就是將數(shù)據(jù)的輸入過程、處理過程和輸出過程相分離。如圖1所示:</p><p><b> 圖1 MVC模式圖</b></p><p> (1)M-模型層(Model)&
27、lt;/p><p> 模型層主要涉及數(shù)據(jù)的處理,例如對(duì)于數(shù)據(jù)庫的CURD(Create增、Update改、Read讀、Delete刪)操作等。在ThinkPHP框架中,將對(duì)于數(shù)據(jù)的CURD等操作封裝在了Model類中,開發(fā)者只需要調(diào)用其中對(duì)應(yīng)的各種方法就可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的操作。同時(shí),開發(fā)者還可以定義自己的模型類來處理一些比較復(fù)雜的數(shù)據(jù)操作。</p><p> ?。?)V-視圖層(View)&l
28、t;/p><p> 視圖層在ThinkPHP框架中主要作為模板,也就是用戶在瀏覽器中看到的頁面效果。用戶可以通過視圖(瀏覽器顯示的頁面)將數(shù)據(jù)發(fā)送給控制器,控制器再調(diào)用模型處理完數(shù)據(jù)后,再將返回的數(shù)據(jù)傳給相應(yīng)的視圖模板來顯示給用戶,這就是視圖層的作用,它是用戶與應(yīng)用程序交互的窗口。此外ThinkPHP的視圖中增加了部分邏輯判斷標(biāo)簽,可以進(jìn)行簡(jiǎn)單的邏輯判斷。</p><p> (3)C-控制
29、器(Controller)</p><p> 上文提到過控制器的作用是調(diào)用模型處理數(shù)據(jù),其實(shí)這只是它的小部分功能。在MVC模式代碼和視圖分離的形式中,可以這樣簡(jiǎn)單的理解控制器:那就是原先需要編寫在“*.php”文件中用于實(shí)現(xiàn)交互效果的php語句,現(xiàn)在全部寫在了控制器類中。因此,控制器類中編寫的方法是網(wǎng)頁實(shí)現(xiàn)交互效果的關(guān)鍵。</p><p><b> 3.面向?qū)ο?lt;/b&
30、gt;</p><p> 面向?qū)ο笫怯?jì)算機(jī)編程的一種結(jié)構(gòu)形式,它相對(duì)于與面向過程這一概念。舉個(gè)例子,傳統(tǒng)的C語言就是典型的面向過程的程序語言,它在編譯過程中順序執(zhí)行每一條語句。而JAVA和C++就是典型的面向?qū)ο蟮某绦蛘Z言,它以類的方式來編寫,將相關(guān)的屬性和方法封裝到類中,通過實(shí)例化一個(gè)類來實(shí)現(xiàn)程序的效果。類與類之間還可以相互繼承,來實(shí)現(xiàn)更多的效果。這樣做的好處是程序的抽象性和可重用性更高。PHP語言就結(jié)合了面
31、向?qū)ο蟮囊恍├砟?,它可以通過面向?qū)ο蟮木幊虂韺?shí)現(xiàn)網(wǎng)頁交互效果。在ThinkPHP中,控制器、模型和一些核心代碼都采用類文件的方式來編寫。頁面之間的跳轉(zhuǎn)也是將URL直接指向相關(guān)類中的方法名,調(diào)用相應(yīng)的控制器類來調(diào)用模板顯示頁面的。</p><p> 4.項(xiàng)目、應(yīng)用、模塊和方法</p><p> ThinkPHP框架在搭建之前,需要確定項(xiàng)目的結(jié)構(gòu),這就涉及到項(xiàng)目、應(yīng)用、模型和方法這幾個(gè)概念
32、。</p><p><b> ?。?)項(xiàng)目</b></p><p> 通俗的說要開發(fā)的一個(gè)系統(tǒng)就是一個(gè)項(xiàng)目,例如要開發(fā)的精品資源共享課程管理評(píng)價(jià)系統(tǒng)就是一個(gè)項(xiàng)目,它的存儲(chǔ)路徑對(duì)應(yīng)為服務(wù)器項(xiàng)目文件夾的根目錄。在這個(gè)根目錄下,可以部署ThinkPHP的框架核心文件和各應(yīng)用的入口文件。</p><p><b> ?。?)應(yīng)用</b&
33、gt;</p><p> 通過將項(xiàng)目中的不同部分進(jìn)行分類,從而將其分為不同的應(yīng)用,每一個(gè)應(yīng)用有一個(gè)入口文件和文件夾,例如可以將一個(gè)項(xiàng)目分為前臺(tái)和后臺(tái),前臺(tái)就是一個(gè)應(yīng)用,定義它的入口文件為Index.php,在入口文件內(nèi)進(jìn)行應(yīng)用定義:define('BIND_MODULE','Home');//定義應(yīng)用的模版名稱為Home</p><p> 然后在瀏覽器中
34、執(zhí)行這個(gè)入口文件,ThinkPHP框架會(huì)自動(dòng)創(chuàng)建相應(yīng)的Home文件夾,其中自動(dòng)生成了一些按照MVC分層的目錄結(jié)構(gòu),可以很方便的按照MVC模式來編寫程序代碼和設(shè)計(jì)模板頁面。如圖2所示: </p><p> 圖2 Home應(yīng)用的目錄結(jié)構(gòu)圖</p><p><b> ?。?)模塊</b></p><p> 在應(yīng)用中,通過控制器類文件來代表各個(gè)模塊
35、,例如上文說到的前臺(tái)應(yīng)用,可以再細(xì)分為顯示首頁模塊、注冊(cè)模塊、登錄模塊,在應(yīng)用文件夾中的controller文件夾中編寫相應(yīng)的控制器類就可以實(shí)現(xiàn)相應(yīng)的效果。如圖3所示:</p><p><b> 圖3 模塊圖</b></p><p><b> (4)方法</b></p><p> 在控制器類中編寫具體的函數(shù),就是一個(gè)
36、個(gè)的方法,可以調(diào)用這些方法來實(shí)現(xiàn)具體的功能。例如Home應(yīng)用中Index模塊的index()方法,就是負(fù)責(zé)顯示前臺(tái)首頁的, </p><p> namespace Home\Controller;</p><p> use Think\Controller;</p><p> class IndexController extends Controller {
37、</p><p> $this->display();</p><p><b> }</b></p><p> 在thinkphp3.2.3中引入了命名空間的用法,有效的解決多個(gè)模塊之間的沖突問題,并且實(shí)現(xiàn)了更加高效的類庫自動(dòng)加載機(jī)制。</p><p> 在了解了這些基礎(chǔ)概念后,可以搭建自己的項(xiàng)目,使用Th
38、inkPHP框架進(jìn)行項(xiàng)目開發(fā)的一般流程是:</p><p> a.系統(tǒng)設(shè)計(jì)、創(chuàng)建數(shù)據(jù)庫和數(shù)據(jù)表;</p><p> b.創(chuàng)建項(xiàng)目并編寫入口文件;</p><p><b> c.完成項(xiàng)目配置;</b></p><p><b> d.創(chuàng)建控制器類;</b></p><p>
39、; e.創(chuàng)建模型類;(可選)</p><p><b> f.創(chuàng)建模板文件;</b></p><p><b> g.運(yùn)行和調(diào)試;</b></p><p><b> h.部署到服務(wù)器。</b></p><p> ?。ㄈ¦eb前端頁面設(shè)計(jì)使用到的技術(shù)介紹</p>
40、<p> 在模板的設(shè)計(jì)過程中,使用到了一些前端開發(fā)的新技術(shù)。</p><p><b> 1.CSS+DIV</b></p><p> 采用CSS3+DIV的排版方式,將頁面中的模塊分成一個(gè)個(gè)的盒子,用CSS3樣式表中的盒子模型來定義DIV塊的位置和效果。</p><p> 2.Javascript、jQuary和Ajax&
41、lt;/p><p> 在靜態(tài)頁面與后臺(tái)的交互中,本系統(tǒng)也使用到了JavaScript語言。jQuary類庫的引入使的開發(fā)更加方便的實(shí)現(xiàn)一些復(fù)雜的頁面效果,例如表單元素和內(nèi)容的控制等。通過Ajax技術(shù),可以同步將表單中的數(shù)據(jù)提交給后臺(tái),并且實(shí)時(shí)將后臺(tái)反饋回的數(shù)據(jù)再交還給頁面顯示出來。ThinkPHP框架的Action類中,提供了一個(gè)AjaxReturn()方法,可以將數(shù)據(jù)實(shí)時(shí)返回給靜態(tài)頁面。 </p>
42、<p><b> 三、系統(tǒng)需求分析</b></p><p><b> ?。ㄒ唬┤蝿?wù)需求</b></p><p> 目前精品資源共享課程資源數(shù)量繁多,用戶分散,集中管理較為困難,要在合理管理的情況下進(jìn)行高效的評(píng)價(jià)更是艱難。采用B/S模式在網(wǎng)絡(luò)上進(jìn)行資源管理的能夠極大節(jié)省財(cái)力物力。但是傳統(tǒng)的網(wǎng)絡(luò)課程管理系統(tǒng)在設(shè)計(jì)制作、運(yùn)行效率、后期維護(hù)
43、、安全防護(hù)以及穩(wěn)定性方面存在嚴(yán)重缺陷,設(shè)計(jì)制作出安全、便捷、高效的精品資源共享課程管理評(píng)價(jià)系統(tǒng)成為我校的迫切需要。 </p><p><b> ?。ǘ┕δ苄枨?lt;/b></p><p><b> 1.概述</b></p><p> 精品資源共享課程管理系統(tǒng)主要是面向本校的教師、專家的系統(tǒng)。通過本系統(tǒng)教師可以進(jìn)行課程的申
44、請(qǐng)以及課程內(nèi)容的管理,而專家通過本系統(tǒng)可以進(jìn)行課程評(píng)價(jià),這些操作都是課程評(píng)價(jià)過程中的不必可少的環(huán)節(jié)。</p><p> 該系統(tǒng)主要研究實(shí)現(xiàn)以下功能 </p><p> (1) 課程管理:主要包含對(duì)課程的申請(qǐng)、審核、等級(jí)調(diào)整、刪除、檢索以及教學(xué)內(nèi)容網(wǎng)站建設(shè)等功能。 </p><p> (2)課程評(píng)價(jià)管理:主要包含教師角色的對(duì)申請(qǐng)課程的自我評(píng)價(jià)、專家角色對(duì)課程
45、進(jìn)行評(píng)價(jià)、修改評(píng)價(jià)以及管理員為專家分配評(píng)價(jià)課程并對(duì)評(píng)價(jià)進(jìn)行匯總、修訂和導(dǎo)出等功能。</p><p> (3)通知管理:管理人員發(fā)布通知,并可對(duì)其進(jìn)行查看、修改、刪除操作。</p><p> (4)文件管理:實(shí)現(xiàn)了文件的發(fā)布、刪除等功能。 </p><p> (5)角色管理:實(shí)現(xiàn)了各角色的注冊(cè)、修改個(gè)人信息以及修改密碼等功能。</p><p&
46、gt; (6)系統(tǒng)管理:實(shí)現(xiàn)了各角色的登錄、退出以及安全驗(yàn)證等功能。 </p><p> 2.各類用戶的角色功能</p><p><b> ?。ㄒ唬┙處熡脩?lt;/b></p><p> 教師用戶作為精品資源共享課程的申請(qǐng)人,也是系統(tǒng)服務(wù)的基本對(duì)象,所以合理設(shè)計(jì)教師用戶的相關(guān)功能是本系統(tǒng)實(shí)現(xiàn)的基礎(chǔ)。教師角色相關(guān)功能如圖4所示。</p&g
47、t;<p> 圖4 教師角色相關(guān)功能圖</p><p><b> ?。ǘ<矣脩?lt;/b></p><p> 專家用戶作為課程評(píng)價(jià)的重要角色,在管理員分配給專家要評(píng)價(jià)的課程后,專家進(jìn)行評(píng)價(jià)。專家角色相關(guān)功能如圖5所示。</p><p> 圖5 專家角色相關(guān)功能圖</p><p><b>
48、(三)管理員角色</b></p><p> 圖6 管理角色相關(guān)功能圖</p><p> 3.課程評(píng)價(jià)流程分析</p><p> 教師申請(qǐng)課程,課程通過管理審核后,管理員建立課程內(nèi)容網(wǎng)站,如果課程等級(jí)為遴選課程,則管理員直接分配給專家進(jìn)行評(píng)價(jià);如果課程為評(píng)估課程,則需要教師填寫自評(píng)表后,教師分配給專家評(píng)價(jià),專家評(píng)價(jià)完成后,管理可以對(duì)評(píng)價(jià)進(jìn)行管理、導(dǎo)出
49、。課程評(píng)價(jià)流程如圖7所示。</p><p> 圖7 課程評(píng)價(jià)流程圖</p><p> 四、系統(tǒng)的具體設(shè)計(jì)及實(shí)現(xiàn)</p><p><b> (一)數(shù)據(jù)庫的設(shè)計(jì)</b></p><p> 數(shù)據(jù)庫作為記錄數(shù)據(jù)的主要載體,規(guī)定了數(shù)據(jù)類型,此外數(shù)據(jù)庫之間的相關(guān)字段決定了各類數(shù)據(jù)之間的邏輯關(guān)系;數(shù)據(jù)庫的選擇也要跟隨設(shè)計(jì)項(xiàng)目的
50、數(shù)據(jù)容量大小來選擇,本系統(tǒng)管理范圍為我校教師的課程,所以采用了中小型數(shù)據(jù)庫MySQL;</p><p> 本系統(tǒng)采用thinkphp框架屬于MVC模式的框架,MVC模式中Model用來操作數(shù)據(jù),每一個(gè)數(shù)據(jù)表可以實(shí)例化為一個(gè)model類對(duì)象,設(shè)計(jì)人員可以通過model類對(duì)象來操作數(shù)據(jù),這種通過模型層操作數(shù)據(jù)的方式相比傳統(tǒng)方式更為快捷、安全。</p><p> 本系統(tǒng)中,數(shù)據(jù)庫名為“tp_
51、jingpinke”,數(shù)據(jù)表前綴為“tp_”。這里將部分?jǐn)?shù)據(jù)表的表結(jié)構(gòu)列出:</p><p><b> 表 1管理員表</b></p><p><b> 表 2教師表</b></p><p><b> 表 3專家表</b></p><p><b> 表 4課程
52、表</b></p><p><b> 表 5評(píng)價(jià)表</b></p><p> 自我評(píng)價(jià)依據(jù)部分共5個(gè)一級(jí)指標(biāo) 15個(gè)二級(jí)指標(biāo) 15個(gè)分?jǐn)?shù)。</p><p><b> 表 6自評(píng)表</b></p><p><b> 表 7總分表 </b></p>
53、<p><b> 表 8文件表 </b></p><p><b> 表 9通知表 </b></p><p> ?。ǘ㏕hinkPHP框架的搭建</p><p> 根據(jù)ThinkPHP框架的部署習(xí)慣,將本系統(tǒng)分為前臺(tái)和后臺(tái)兩個(gè)應(yīng)用,前臺(tái)應(yīng)用以</p><p> index.php
54、作為入口文件,在其中定義Home為前臺(tái)應(yīng)用名稱。后臺(tái)應(yīng)用以admin.php作為入口文件,在其中定義Admin為后臺(tái)應(yīng)用名稱。入口文件建立后,調(diào)用入口文件,框架自動(dòng)建立應(yīng)用目錄,以前臺(tái)應(yīng)用為例,其目錄結(jié)構(gòu)如圖8所示。</p><p> 圖8 前臺(tái)應(yīng)用目錄結(jié)構(gòu)圖</p><p> 在應(yīng)用中,Model文件夾為模型文件夾,用來建立模型以及管理數(shù)據(jù);View文件夾為視圖文件夾,主要用來存放h
55、tml模板,展示界面;Controller文件夾為控制器文件夾,主要進(jìn)行邏輯處理。</p><p> 兩個(gè)應(yīng)用統(tǒng)一采用公共模塊的配置文件,在配置文件中設(shè)置服務(wù)器相關(guān)配置以及系統(tǒng)安全配置,其中’DEFAULT_FILTER’為默認(rèn)過濾內(nèi)容,只要在配置文件里設(shè)置過濾內(nèi)容,系統(tǒng)中所有I方法獲取的字符串均按此設(shè)置過濾,相比原生PHP在安全性以及可維護(hù)性方面有較大提升。</p><p> 接下來
56、在Controller文件夾中創(chuàng)建控制器并編寫方法,調(diào)用dispaly()方法來顯示;在“View/控制器名稱/”目錄下,建立“方法名.html”即可顯示內(nèi)容??刂坪鸵晥D文件夾的對(duì)應(yīng)如圖9所示。</p><p> 這樣,通過在瀏覽器中輸入“http://localhost/tp_jingpinke/index.php/控制器名/方法名”就可以訪問到新建的控制器中相應(yīng)方法調(diào)用的頁面。</p><
57、;p> 圖9 控制器和視圖的對(duì)應(yīng)圖</p><p> ?。ǘ└鲬?yīng)用的具體設(shè)計(jì)與實(shí)現(xiàn)</p><p> 1.前臺(tái)應(yīng)用(Home)</p><p> 前臺(tái)應(yīng)用(Home)包括了三個(gè)模塊,因此編寫了三個(gè)控制器類,分別是IndexController.class.php(首頁)、RegController.class.php(注冊(cè))、LoginControll
58、er.class.php(登錄)。</p><p> ?。ㄒ唬㊣ndex控制器類文件(IndexController.class.php)</p><p> 其中的index()方法從數(shù)據(jù)庫中課程、文件以及通知的信息,并通過通過assign()方法分配給了index.html首頁顯示。首頁如圖10所示:</p><p><b> 圖10 首頁圖<
59、/b></p><p> notice()方法用來獲取具體通知信息。</p><p> helper()方法用來獲取幫助信息。</p><p> search()方法用來完成搜索功能,并顯示。</p><p> trVerify()、tVerify()、eVerify()、aVerify()四個(gè)方法則通過創(chuàng)建驗(yàn)證碼類來顯示教師注
60、冊(cè)、教師登錄、專家登錄、管理登錄處的驗(yàn)證碼。</p><p> ?。ǘ㏑eg控制器類文件(RegController.class.php)</p><p> index()方法用來顯示注冊(cè)頁。注冊(cè)頁面如圖11所示。</p><p> doReg()方法用來完成注冊(cè):</p><p> $teacher=D('Teacher
61、39;); </p><p> if(!$teacher->create()){</p><p> $this->error($teacher->getError());</p><p><b> }else{</b></p><p> $lastId=$teacher->add(); &
62、lt;/p><p> if($lastId){ </p><p> $this->success('注冊(cè)成功,請(qǐng)等待審核!',U('Index/index')); </p><p><b> }else{</b></p><p> $this->error('注冊(cè)失
63、敗,請(qǐng)檢查后重試!',U('Index/index'));</p><p><b> }</b></p><p><b> }</b></p><p> 其中采用了D方法來調(diào)用TeacherModel.class.php模型類來實(shí)例化Teacher對(duì)象,同時(shí)完成表單的自動(dòng)驗(yàn)證,在Teacher
64、對(duì)象通過自動(dòng)驗(yàn)證后并完成創(chuàng)建即可寫入數(shù)據(jù)庫。</p><p> 圖11 教師注冊(cè)界面圖</p><p> 模型類文件在 “項(xiàng)目\應(yīng)用\Model\”目錄下。模型類文件路徑如圖12所示。</p><p> 以下列出TeacherModel.class.php的部分自動(dòng)驗(yàn)證代碼 </p><p> namespace Home\Model
65、;</p><p> use Think\Model;</p><p> class TeacherModel extends Model{</p><p> protected $_validate=array(</p><p> array('teacher_id','require','教
66、師號(hào)必須填寫!'),</p><p> array('name','require','姓名必須填寫!'),</p><p><b> ……</b></p><p><b> ); </b></p><p> 圖12 模型類文件圖<
67、;/p><p> (三)Login控制器類文件(LoginModel.class.php)</p><p> doAdminLogin()、doELogin()、doTeacherLogin()三個(gè)方法分別是管理員、專家、教師的登錄;登錄的過程大致為:用戶提交登錄賬戶密碼后,控制器中的方法獲取,數(shù)據(jù)并進(jìn)行數(shù)據(jù)是否合法的驗(yàn)證,若數(shù)據(jù)合法,則與數(shù)據(jù)庫中各用戶表的用戶名和密碼進(jìn)行比對(duì),對(duì)比匹配后
68、則登錄成功,并將角色的ID記錄到session中。</p><p> 其中管理員登錄方法中也采用D方法實(shí)例化ManagerModel.class.php模型并完成數(shù)據(jù)合法性的驗(yàn)證。 </p><p> 2.后臺(tái)應(yīng)用(Admin)</p><p> 后臺(tái)應(yīng)用(Admin)包括了三個(gè)模塊,因此也編寫了三個(gè)控制器類,分別是TeacherController.c
69、lass.php(教師)、ExpertController.class.php(專家)、AdminController.class.php(管理員)。</p><p> ?。ㄒ唬㏕eacher控制器類文件(TeacherController.class.php)</p><p> 教師主要功能是對(duì)課程進(jìn)行申請(qǐng)、建設(shè),以及查看通知、修改信息等。因此建立了不同的方法來實(shí)現(xiàn)各種功能。下面列出一
70、些主要的方法:</p><p> _initialize()方法:此方法為前置方法,命名固定,在調(diào)用本控制器中任意方法前均會(huì)執(zhí)行一次本方法,在此方法內(nèi)制作了角色身份驗(yàn)證,對(duì)session進(jìn)行比對(duì),不匹配則跳轉(zhuǎn)回登錄界面。</p><p> DoTeaherCourseApply()方法用來實(shí)現(xiàn)課程申請(qǐng),課程申請(qǐng)同樣通過D方法來實(shí)例化模型并驗(yàn)證字段合法性,在通過驗(yàn)證后,將課程相關(guān)信息寫入
71、course表,并將“shenhe”字段值設(shè)置為0,等待管理員審核。</p><p> 本系統(tǒng)中方法命名均采用駝峰寫法,同一個(gè)功能包含兩個(gè)方法時(shí)一般采用“XX()”來展示界面,將數(shù)據(jù)輸入到模板,而將模板的數(shù)據(jù)返回給控制器則一般采用“DoXX()”等方法。</p><p> TeacherCourseBuild()方法用展示課程建設(shè)界面,本方法用來從數(shù)據(jù)庫中獲取用戶的課程,并傳遞到視圖中
72、顯示出來,視圖中通過判斷等級(jí),評(píng)價(jià)結(jié)果等字段來完成信息呈現(xiàn)。課程建設(shè)的主要功能是教師可以通過本界面訪問自己的教學(xué)網(wǎng)站,并且還有管理教學(xué)網(wǎng)站的功能。</p><p> 教師還可以在課程建設(shè)界面對(duì)評(píng)估課程填寫自評(píng)表,來完成評(píng)價(jià)信息。教師填寫的自評(píng)表如圖13所示。</p><p> 圖13 教師填寫自評(píng)表圖</p><p> 教師填寫完自評(píng)表,將自評(píng)依據(jù)和自評(píng)分?jǐn)?shù)通
73、過DoZiping()方法存入數(shù)據(jù)庫,DoZiping()方法通過D方法實(shí)例化模型并驗(yàn)證數(shù)據(jù)合法性,并將自評(píng)小分通過“|”來連接合并記錄入ziping表的fenxf字段中,評(píng)價(jià)依據(jù)也記錄到相應(yīng)的字段中。</p><p> ViewNotice()為查看通知的方法:將notice表中的信息查詢獲取到模板中,專家的查看通知獲取方法與此方法大同小異,不再贅述。</p><p> DoTeac
74、herPasswordChange()方法是修改教師密碼的方法,首先判斷輸入的密碼和確認(rèn)密碼是否一致,一致則實(shí)例化teacher類并對(duì)符合條件的數(shù)據(jù)進(jìn)行更新操作。部分代碼如下所示:</p><p> $teacher=M('Teacher');//實(shí)例化Teacher模型類</p><p> $data1['teacher_id']=$_SESSION[
75、'teacher_id']; //where判斷條件的數(shù)組</p><p> $data1['pwd'] = md5(I('post.old_code')); // where判斷條件的數(shù)組</p><p> $dataS['pwd'] = md5(I('post.new_code')); //更新數(shù)據(jù)的數(shù)
76、組</p><p> $arr=$teacher->where($data1)->save($dataS);//進(jìn)行數(shù)據(jù)操作 </p><p> where查詢條件以及C(Create)U(Update)R(Read)D(Delete)操作數(shù)據(jù)一般采用數(shù)組方式,這種做法安全性好,并且可讀性強(qiáng),便于修改。</p><p> 在數(shù)據(jù)更新完成后密碼便修改
77、完畢,此時(shí)用戶自動(dòng)注銷,要求用戶重新登錄。</p><p> 專家以及管理的修改密碼實(shí)現(xiàn)方法與此方法大同小異,不再贅述。</p><p> 修改個(gè)人信息的實(shí)現(xiàn)方法與修改密碼的實(shí)現(xiàn)方法雷同,在此不再詳細(xì)說明。</p><p> ?。ǘ〦xpert控制器類文件(ExpertController.class.php)</p><p> 專家
78、角色的主要功能是進(jìn)行評(píng)價(jià),所以在此集中說明評(píng)價(jià)部分。專家首頁如圖14所示。</p><p> 圖14 專家首頁界面圖</p><p> 專家可評(píng)價(jià)課程主要分為3類,重點(diǎn)遴選課程、精品遴選課程以及精品評(píng)估課程。</p><p> 在index()方法中,控制器從數(shù)據(jù)庫中獲取不同等級(jí)的課程來輸出到視圖模板中,專家可以進(jìn)行評(píng)價(jià),評(píng)價(jià)超鏈接會(huì)將課程id傳入評(píng)價(jià)界面。遴
79、選課程部分評(píng)價(jià)表如圖所示,遴選課程共有8個(gè)二級(jí)指標(biāo),即為8個(gè)小分,而評(píng)估課程有15個(gè)評(píng)價(jià)指標(biāo),所以評(píng)價(jià)結(jié)果字段采用“|”進(jìn)行連接并記錄。例如圖中所示的評(píng)價(jià)結(jié)果字段記錄值為8|12|20|15|12|12|15|6。如果評(píng)價(jià)等級(jí)為B、C、D、E中的等級(jí)則按總分的80%、60%、40%、20%進(jìn)行計(jì)算。</p><p> 提交分?jǐn)?shù)后,DoEvaluate()會(huì)將分?jǐn)?shù)寫入數(shù)據(jù)表:本方法依舊采用D方法實(shí)例化pingji
80、a模型類,下面貼入部分PingjiaModel.class.php的代碼。</p><p> namespace Admin\Model;</p><p> use Think\Model;</p><p> class PingjiaModel extends Model{ </p><p><b> //自動(dòng)驗(yàn)證<
81、/b></p><p> protected $_validate=array( </p><p> array('score1','require','該課程評(píng)價(jià)項(xiàng)目不完整!',1), </p><p><b> ……</b></p><p> array
82、('score8','require','該課程評(píng)價(jià)項(xiàng)目不完整!',1),</p><p><b> ); </b></p><p><b> //自動(dòng)完成 </b></p><p> protected $_auto = array ( </p>&
83、lt;p> array('zfpj','get_zfpj',3,'callback'), </p><p> array('pingjia_res','get_res',3,'callback'), </p><p><b> );</b></p
84、><p> protected function get_zfpj(){ </p><p> return I('post.score1')+I('post.score2')+I('post.score3')+I('post.score4')+I('post.score5')+I('post.score
85、6')+I('post.score7')+I('post.score8');</p><p><b> }</b></p><p> protected function get_res(){</p><p> return I('post.score1')."|"
86、;.I('post.score2')."|".I('post.score3')."|".I('post.score4')."|".I('post.score5')."|".I('post.score6')."|".I('post.score7'
87、)."|".I('post.score8');</p><p><b> } </b></p><p><b> }</b></p><p> $_validate為自動(dòng)驗(yàn)證部分,自動(dòng)驗(yàn)證提交的表單是否符合規(guī)矩,通過此方法極大的簡(jiǎn)化控制器部分的代碼,增強(qiáng)了安全性。本模型中共驗(yàn)證了
88、8個(gè)分?jǐn)?shù)是否為空值。</p><p> $_auto為自動(dòng)完成部分,按相應(yīng)規(guī)則填寫則可以在創(chuàng)建對(duì)象時(shí)對(duì)字段進(jìn)行自動(dòng)填寫。</p><p> 本模型中自動(dòng)完成了zfpj(評(píng)價(jià)總分)字段和pingjia_res(評(píng)價(jià)結(jié)果字段),分別采用get_zfpj()和get_res()回調(diào)函數(shù)的方法</p><p> 修改評(píng)價(jià)部分分為顯示修改評(píng)價(jià)的頁面以及進(jìn)行評(píng)價(jià)更新的操作
89、,顯示修改評(píng)價(jià)界面將要修改的課程ID獲取并查詢pingjia表中的信息,獲取并將pingjia_res字段的值用explode函數(shù)以“|”為切割點(diǎn),進(jìn)行分割,將分割后的數(shù)組傳遞給視圖模板中。課程評(píng)價(jià)修改界面如圖15所示。</p><p> 模板中獲取評(píng)價(jià)分?jǐn)?shù)的后與各等級(jí)分?jǐn)?shù)進(jìn)行比對(duì),相等后則選擇該等級(jí)的radiobutton,至此,專家即可查看評(píng)價(jià)分?jǐn)?shù),點(diǎn)擊提交后即可修改分?jǐn)?shù),實(shí)現(xiàn)方法與評(píng)價(jià)課程相同。</
90、p><p> 評(píng)估課程的評(píng)價(jià)與遴選課程的評(píng)價(jià)大同小異,不同之處在于評(píng)價(jià)依據(jù)不固定,評(píng)價(jià)依據(jù)為教師填寫的自評(píng)表內(nèi)容,將ziping表中的yiju字段獲取到本頁,評(píng)價(jià)二級(jí)指標(biāo)也由8個(gè)變?yōu)?5個(gè),所以pingjia_res字段依舊是以“|”進(jìn)行連接。</p><p> 圖15 課程修改評(píng)價(jià)圖</p><p> ?。ㄈ〢dmin控制器類文件(AdminController
91、.class.php)</p><p> _initialize()是前置方法,用來驗(yàn)證管理身份。</p><p> index()方法獲取所有課程信息顯示出來。</p><p> NoticeManage()方法獲取通知并采用分頁方式輸出。通知管理界面如圖16所示。</p><p> 圖16 通知管理界面圖</p>&
92、lt;p> thinkphp自帶分頁類 可以將數(shù)據(jù)進(jìn)行分頁,并將獲取到的分頁數(shù)據(jù)分配給模版</p><p> import("ORG.Util.Page");// 導(dǎo)入分頁類</p><p> $count= $notice->count();// 查詢滿足要求的總記錄數(shù)</p><p> $p = getpage($coun
93、t,10);</p><p> $show= $p->show();// 分頁顯示輸出 </p><p> $arr=$notice->limit($p->firstRow,$p->listRows)->select();</p><p> $this->assign('list',$arr);</p&
94、gt;<p> $this->assign('page',$show);// 賦值分頁輸出</p><p> 模版中只需要引用$page變量即可進(jìn)行分頁的輸出,并且模版中引入了page的css,對(duì)分頁進(jìn)行美化。<link href="__CSS__/tp_page.css">thinkphp中可以不指定引入文件的類型,框架會(huì)根據(jù)后綴名進(jìn)行智能
95、匹配。</p><p> NoticeManage()還獲取了file表中的文件在視圖中進(jìn)行了輸出。</p><p> fabutongzhi()、ViewNotice()、ModifyNotice()、DoModifyNotice()方法分別為發(fā)布通知、查看通知詳情、展示修改通知界面以及修改通知,實(shí)現(xiàn)方法都是基本的CURD操作,不再一一贅述。</p><p>
96、 AExpertManage()方法為顯示專家管理界面,本界面主要功能是為專家分配評(píng)價(jià)課程,如果評(píng)價(jià)表中與專家表存在相同的專家id 并且niandu字段等于當(dāng)前年,則說明本年度已經(jīng)為專家分配過。則應(yīng)該顯示繼續(xù)分配和刪除分配。專家管理界面如圖17所示。</p><p> 圖17 專家管理界面圖</p><p> DelCourseDistribute()方法為刪除已經(jīng)為某專家分配的課程
97、。</p><p> AExpertCourseDistribute()顯示為專家分配評(píng)價(jià)課程界面,將所有本年度重點(diǎn)遴選課程、精品遴選課程、以及評(píng)估課程分類顯示,并每個(gè)課程可以用復(fù)選框選中,提交表單后,遴選課程的分配則將表帶傳遞給DoCourseDistributeP()方法,而評(píng)估課程則將表單提交給DoCourseDistributeE()方法。分配評(píng)估課程評(píng)價(jià)界面如圖18所示。</p><
98、;p> DoCourseDistributeP()獲取傳遞過來的check1數(shù)組,并遍歷數(shù)組中的value來獲取選中的課程的id,遍歷得到id后,通過id去查詢課程表,然后將課程名字、課程id以及專家id插入評(píng)價(jià)表,直至將check1數(shù)組遍歷完成,則插入完成即課程評(píng)價(jià)分配完成。</p><p> 圖18 分配評(píng)估課程評(píng)價(jià)界面圖</p><p> DoCourseDistribu
99、teE()與DoCourseDistributeP()大同小異,不再贅述。</p><p> AContinueDistribute()繼續(xù)分配課程評(píng)價(jià)方法,先獲取該專家本年度的評(píng)價(jià)表中的信息,并獲取各個(gè)等級(jí)的課程信息,在視圖模式中采用if標(biāo)簽并用in_array方法判斷獲取的各等級(jí)課程是否在獲取的評(píng)價(jià)表中,若是則將復(fù)選框選中,并設(shè)置disabled屬性。復(fù)選框選中后繼續(xù)分配課程,依舊調(diào)用DoCourseDis
100、tributeE()與DoCourseDistributeP()方法。繼續(xù)分配評(píng)價(jià)課程界面如圖19所示。</p><p> 圖19 繼續(xù)分配評(píng)價(jià)課程界面圖</p><p> EResetPassword()用來顯示專家重置密碼界面,本界面中設(shè)置了一個(gè)采用專家名字拼音作為密碼的選項(xiàng),在tp_jingpinke\ThinkPHP\Library\Org\Util路徑下添加了pinyin.c
101、lass.php,并在此方法中實(shí)例化了一個(gè)拼音類,專家重置密碼界面如圖20所示。</p><p> 圖20 專家重置密碼圖</p><p> $p = new \Org\Util\Pinyin();</p><p> $expert=M('Expert');</p><p> $data['id'] =
102、 $_GET['id']; </p><p> $arr=$expert->where($data)->select();</p><p> $NameSpelling['Sname']=$p->output($arr[0]['name'], $utf8 = true);</p><p> 在t
103、hinkphp框架中查詢獲取到的數(shù)組均為二維數(shù)組,所以想要把專家的名字轉(zhuǎn)化為拼音就要用$arr[0]['name']。其余的實(shí)現(xiàn)方法依舊是基本的CURD操作,不再贅述。 </p><p> UploadFile()為文件上傳方法,在thinkphp框架中有內(nèi)置的upload類,通過實(shí)例化upload類,并調(diào)用uploadOne方法來上傳文件,如果上傳成功則將其名稱寫入file表,tp_jingp
104、inke\Uploads為存放上傳文件的目錄。</p><p> TeacherManage()方法為顯示教師管理界面,TeacherExamine()為教師審核界面,TeacherPassExamine()是教師通過審核界面,教師通過審核后將該教師的shenhe字段設(shè)置為1,審核不通過則為2,且審核不通過需要填寫不通過原因。教師管理界面如圖21所示。</p><p><b>
105、 圖21 教師管理圖</b></p><p> ACourseManage()為顯示課程管理界面的方法,將各等級(jí)課程分類獲取并顯示到模版中。ACourseExamine()為顯示課程審核界面的方法,DoACourseExamine()為判斷課程審核界面,審核通過后則跳轉(zhuǎn)到ACoursePassExamine()方法,審核不通過則將課程信息獲取到DoACourseExamine的同名視圖模版中,并在
106、此頁面填寫不通過審核原因。DoCourseNoPassReason()將審核不通過原因?qū)懭氲綌?shù)據(jù)庫中。課程管理界面如圖22所示。</p><p><b> 圖22 課程管理圖</b></p><p> ACoursePassExamine()為課程通過審核后要調(diào)用的方法,課程審核通過后要判斷是否要?jiǎng)?chuàng)建教學(xué)網(wǎng)站,如果該課程的webadd字段非空則說明已經(jīng)創(chuàng)建過教學(xué)網(wǎng)
107、站,無法再次創(chuàng)建教學(xué)網(wǎng)站;若webadd字段為空則在模版中顯示是否創(chuàng)建教學(xué)網(wǎng)站界面。并為創(chuàng)建教學(xué)網(wǎng)站做一些準(zhǔn)備工作,記錄session等。若選擇創(chuàng)建教學(xué)網(wǎng)站則調(diào)用AZipcms()方法釋放HBcms0411.zip壓縮包里的內(nèi)容,通過cms進(jìn)行課程網(wǎng)站的創(chuàng)建。在tp_jingpinke\cmsss\的目錄下建立“課程名字”拼音的文件夾。課程網(wǎng)站創(chuàng)建成功后,可以通過tp_jingpinke\cmsss\課程名全拼\index.php來查看
108、課程網(wǎng)站首頁,通過tp_jingpinke\cmsss\課程名全拼\admin.php來登錄課程網(wǎng)站的后臺(tái),管理員帳號(hào)密碼與教師自身的帳號(hào)密碼相同。</p><p> doLogout()方法為注銷方法,清空$_SESSION數(shù)組,如果設(shè)置cookie則清空,并銷毀Session。每個(gè)用戶的注銷方法實(shí)現(xiàn)都是一致的。</p><p> ACommentManage()用來顯示課程評(píng)價(jià)管理
109、界面,通過join來連接教師表與課程表,并為課程表的name取別名為cname,避免與教師表中的name重名;模版獲取到課程名稱、作者、院系后還要獲取該課程已經(jīng)評(píng)價(jià)專家的人數(shù)和總分配專家人數(shù),以及平均分?jǐn)?shù)。由于要獲取遍歷出的每個(gè)課程的已經(jīng)評(píng)價(jià)的專家人數(shù)和總共分配專家人數(shù),所以設(shè)計(jì)兩個(gè)查詢,一個(gè)用來獲取評(píng)價(jià)表中所有課程總分大于0(即已評(píng)價(jià))的信息記為數(shù)組A,而另一個(gè)用來獲取評(píng)價(jià)表中所有的信息記為數(shù)組B,并且這兩個(gè)都是本年度的,在模版中進(jìn)行
110、數(shù)組遍歷,如果數(shù)組A中的課程id等于之前課程遍歷中的id,則該課程的已經(jīng)評(píng)價(jià)的專家人數(shù)+1,如果數(shù)組B中的課程id等于之前課程遍歷中的id,則該課程的總分配的專家人數(shù)+1,通過這種方式即可獲取“已評(píng)專家人數(shù)/總分配專家數(shù)”;課程評(píng)價(jià)分則通過將該課程的總分?jǐn)?shù)除以已評(píng)專家人數(shù)即可。評(píng)價(jià)管理界面如圖25所示。</p><p> ACommentDetail()用來顯示課程評(píng)價(jià)的詳細(xì)情況。</p><
111、;p> DoCreateTotal()將所有已有評(píng)價(jià)的生成總分。</p><p> Clean()方法用來清理之前評(píng)價(jià)。清理評(píng)價(jià)后進(jìn)行專家評(píng)價(jià)課程分配。</p><p> Export()導(dǎo)出方法,引用daochu.php文件,利用PHPExcel將評(píng)價(jià)信息導(dǎo)出到Excel。</p><p> Review()修訂方法。對(duì)于已經(jīng)生產(chǎn)總表的評(píng)價(jià)課程,如果
112、課程有額外加分減分項(xiàng)則通過此功能操作。</p><p> 圖25評(píng)價(jià)管理界面圖</p><p> ADoLevelUp()確定評(píng)審過程,選擇評(píng)審中通過的課程,將課程升級(jí),并且本年度評(píng)審結(jié)束,將本年度所有課程設(shè)置為已評(píng)。 </p><p> ?。ㄈ┫到y(tǒng)整合與細(xì)節(jié)處理</p><p> 當(dāng)系統(tǒng)中個(gè)應(yīng)用模塊的功能均實(shí)現(xiàn)后,就可以開始整合整個(gè)
113、項(xiàng)目,進(jìn)行URL的指向,細(xì)節(jié)的修改等工作。主要包括對(duì)課程內(nèi)容管理系統(tǒng)進(jìn)行URL指向、查看幫助文件等內(nèi)容。</p><p> 最后,還實(shí)驗(yàn)性的將一些課程、用戶信息和文件通過系統(tǒng)添加進(jìn)了數(shù)據(jù)庫中。這樣就完成了系統(tǒng)的最后整合過程,基本上能夠完成我校精品資源共享課管理評(píng)價(jià)的需要。對(duì)于系統(tǒng)后續(xù)的維護(hù)和功能補(bǔ)充,會(huì)根據(jù)實(shí)際需求做相關(guān)的改動(dòng)。</p><p> 五、系統(tǒng)的測(cè)試與部署</p>
114、;<p> 在項(xiàng)目的設(shè)計(jì)與開發(fā)工作完成后,會(huì)進(jìn)行測(cè)試與部署。測(cè)試平臺(tái)選擇在本地進(jìn)行,搭建好了Windows環(huán)境平臺(tái),最后關(guān)閉項(xiàng)目開發(fā)的調(diào)試模式,測(cè)試性的部署運(yùn)行。</p><p> 在逐步測(cè)試了各項(xiàng)功能后,發(fā)現(xiàn)還有一些小的細(xì)節(jié)部分代碼運(yùn)行沒有達(dá)到預(yù)期效果,例如在課程審核后,課程狀態(tài)未改變問題,所以增加了審核后請(qǐng)刷新按鈕。</p><p> 在系統(tǒng)測(cè)試完成后,可以進(jìn)入到系
115、統(tǒng)部署階段,我校服務(wù)器為Windows Server平臺(tái),因此只需在Windows Server平臺(tái)中安裝PHP和MySQL環(huán)境,將備份好的MySQL數(shù)據(jù)文件導(dǎo)入,備份時(shí)使用Navicat軟件的轉(zhuǎn)存SQL文件的功能,將整個(gè)ams數(shù)據(jù)庫儲(chǔ)存為一個(gè)“*.sql”文件。再將項(xiàng)目根目錄拷貝至服務(wù)器的根目錄,隨后進(jìn)行域名等其他相關(guān)配置即可在線運(yùn)行。 </p><p><b> 結(jié)束語</b><
116、/p><p> 隨著信息傳播速度的提高和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,越來越多的傳統(tǒng)工作方式可以移植到網(wǎng)絡(luò)上在線進(jìn)行。本設(shè)計(jì)就是在綜合考慮了我校學(xué)精品課程管理的實(shí)際工作需要后制作的。雖然本系統(tǒng)還有很多的不足之處,但在后續(xù)實(shí)際使用過程中,還會(huì)對(duì)本系統(tǒng)做修改和完善,力圖使所有的用戶都能滿意。在開發(fā)和設(shè)計(jì)本系統(tǒng)的過程中,也在不斷的學(xué)習(xí)相關(guān)的技術(shù),提高自我的能力,使我對(duì)于面向?qū)ο蟮木幊棠J胶涂蚣荛_發(fā)的過程有了更深的理解。</p
117、><p><b> 參考文獻(xiàn)</b></p><p> [1]郭紅.職業(yè)教育研究[J].河南工業(yè)職業(yè)技術(shù)學(xué)院學(xué)報(bào),2014,02(05):01-02.</p><p> [2]黃萬穩(wěn),孫重錦.國(guó)外課程管理系統(tǒng)特征分析[J].大眾科技,2009,10(03):177-02.</p><p> [3]黃建.基于ORM的P
118、HP框架研究與應(yīng)用[D].西安:西安建筑科技大學(xué),2010.</p><p> [4]蔣蕾,吉根云.Java中面向?qū)ο?OOP)在編程中的應(yīng)用[J].電腦編程技巧與維護(hù):電腦編程技巧與維護(hù)雜志,2005,02(03):101-001.</p><p> [5]李東,柯秀文云.基于MVC模式城市社區(qū)居民信息管理系統(tǒng)的設(shè)計(jì)[J].安徽電子職業(yè)技術(shù)學(xué)院學(xué)報(bào),2015,14(03):0001-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)設(shè)計(jì)---公司資源共享管理系統(tǒng)
- 資源共享畢業(yè)設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)---網(wǎng)上教學(xué)資源共享系統(tǒng)
- 基于設(shè)計(jì)資源共享的齒輪設(shè)計(jì)系統(tǒng)的研究與開發(fā).pdf
- 精品資源共享課程建設(shè)
- 高校資源共享與評(píng)價(jià)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 高校資源共享與評(píng)價(jià)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文開題報(bào)告.doc
- 基于php的圖片共享系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)——畢業(yè)論文
- 地球概論精品資源共享課程
- 高校資源共享與評(píng)價(jià)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)論文終稿.doc
- 畢業(yè)設(shè)計(jì)基于php的新聞管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于php與mysql倉庫管理系統(tǒng)的畢業(yè)設(shè)計(jì)
- 畢業(yè)論文_信科系資源共享平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
- 66024.“精品資源共享網(wǎng)絡(luò)平臺(tái)”的設(shè)計(jì)與實(shí)現(xiàn)
- 40234.信號(hào)與系統(tǒng)精品資源共享課視頻資源設(shè)計(jì)與制作
- 基于php和ajax的博客系統(tǒng)設(shè)計(jì)畢業(yè)設(shè)計(jì)論文
- 機(jī)床夾具資源共享技術(shù)與網(wǎng)絡(luò)協(xié)同設(shè)計(jì)系統(tǒng)的開發(fā).pdf
- 淺議精品資源共享課課程網(wǎng)站建設(shè)
- 畢業(yè)設(shè)計(jì)選題管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)php
- 現(xiàn)代教育技術(shù)資源共享課的設(shè)計(jì)與開發(fā)
評(píng)論
0/150
提交評(píng)論