李艷 王思艷
摘 要:近幾年圖書質量良莠不齊,導致高校圖書館購置圖書和高校師生選用教材方面無法做到“優(yōu)勝劣汰”。針對這種現狀,本研究在詳盡的需求分析基礎上,采用MVC設計標準,基于ThinkPHP框架實現了一個高校書評系統(tǒng)。實踐證明,基于ThinkPHP框架開發(fā)的該系統(tǒng)在開發(fā)過程中不僅規(guī)范化程度高,且效率高。由于采用評論實名制、優(yōu)秀書評推薦機制和積分激勵等機制,該系統(tǒng)在應用中“優(yōu)勝劣汰”作用明顯,可以很好地服務于高校教學。
關鍵詞:高校;書評系統(tǒng);ThinkPHP
中圖分類號:TP315 文獻標識碼:A
1 引言(Introduction)
近幾年,隨著圖書數量的增多,圖書質量良莠不齊,由此導致如下現狀——學校圖書館在購置各種紙質圖書或電子書的過程中,經常會在相同或相似的書名面前不知該選取何種圖書。雖然有簡單的圖書信息(目錄、樣章或簡要說明),可仍舊不清楚這本書究竟值不值得購買。對教師而言,要選擇一本好教材尤為重要,然而面對新出版的各種“規(guī)劃教材”“應用型教材”……,除非用過,或者提前向出版社索要樣書,否則僅憑圖書信息,不能很好地鑒別這些書的應用價值。對學生而言,要想購買和閱讀專業(yè)圖書,一般需要教師前期閱讀的經驗幫助,才能選到真正能滿足學習需要的專業(yè)圖書??傊还茉谛熒蛘咂胀ㄗx者,他們都希望在閱讀或購買前可以查詢到其他讀者對相關圖書的各種中肯的評論信息,并將其作為一個閱讀或購買意向的參考。由此可見,構建書評系統(tǒng)有較高的實用價值和需求。其意義體現在如下幾個方面:第一,有利于讀者閱讀或者購買心儀的電子或紙質圖書。第二,給學?;蛘叩胤綀D書館購買館藏圖書提供相應的參考。第三,中肯的書評給作者寶貴的意見,有利于作者改進圖書質量。第四,書評給各出版社提供了重要反饋信息,好書自然會有好評,真正體現圖書出版領域的“優(yōu)勝劣汰”,有助于出版社的良好發(fā)展和運營。
2 需求分析(Requirement analysis)
本系統(tǒng)目前定位于高校,重點關注高校圖書館購置館藏圖書和高校師生選用專業(yè)教材,以及課下閱讀專業(yè)輔助教材等問題,力爭在魚龍混雜的各種教材中購置滿足教學需要的真正“好用”的圖書。
本書評系統(tǒng)用戶有兩種,前臺普通注冊用戶和后臺管理員。
前臺普通注冊用戶有兩種功能需求:第一種為圖書信息操作功能。(1)用戶可以按照不同需求瀏覽系統(tǒng)發(fā)布的圖書信息。(2)可以選擇搜索功能檢索系統(tǒng)所發(fā)布的圖書信息。(3)對他有興趣的圖書可以進行收藏。(4)對圖書還可以進行點贊和評分功能,可以利用圖書收藏數和好評率為其他用戶提供參考信息。第二種為書評信息操作功能。(1)用戶對他已看過的圖書可以發(fā)布中肯的書評信息(可以發(fā)表兩種書評:長書評和短書評)。(2)對他自己發(fā)表的書評信息可以進行修改和刪除操作。(3)用戶在瀏覽各種書評的時候,可以進行回復,發(fā)表自己的個人觀點。第三種為用戶個人中心操作功能。(1)用戶在登錄之后可修改個人信息,如修改密碼和頭像。(2)用戶在登錄之后可管理他曾收藏的各種圖書,如刪除圖書信息。(3)用戶在登錄之后可發(fā)表日記,記錄自己的讀書體會。
后臺管理員功能需求:第一種為管理圖書信息功能。(1)在管理員登錄后就可以通過圖書管理瀏覽已添加的圖書信息。(2)管理員登錄后可以添加圖書信息。(3)可以修改刪除已有圖書信息。第二種為管理書評信息功能,管理員可瀏覽書評和刪除書評信息。第三種為管理用戶信息功能,管理員可以設置用戶的各種級別和積分限制,查看已注冊用戶的詳細信息。第四種為管理圖書分類信息的功能,管理員登錄后查看圖書分類信息,還可添加修改和刪除圖書分類信息。
3 系統(tǒng)設計(Design of the system)
3.1 系統(tǒng)的體系結構
依照MVC設計標準,本系統(tǒng)各個功能模塊之間,采用“用戶表示層、應用控制層、數據模型層”三層體系結構[1],本系統(tǒng)體系結構如圖1所示。
MVC(“Model-View-Controller”的縮寫),可以說它是一種先進的設計思想。在MVC下,應用程序的輸入、應用程序的處理和應用程序的輸出這三者被強制性分開[2,3],MVC架構模式如圖2所示。
3.2 功能模塊劃分
本系統(tǒng)共兩種用戶,各自有不同的管理模塊。與管理員相關的有圖書信息管理模塊、圖書分類信息管理模塊、圖書評論信息管理模塊和用戶信息管理模塊。而與其他一般用戶相關的功能模塊有圖書信息操作模塊、書評信息操作模塊、日記信息操作模塊和個人信息操作模塊。各個功能模塊間基于MVC設計,可以獨立進行構造。為了提高各個模塊的高效化,每個功能模塊又有各種不同子模塊,這樣易于系統(tǒng)的構建和維護[4]。
3.3 數據庫設計
基于前面系統(tǒng)需求分析和功能模塊劃分,共設計了六個表——管理員表、圖書信息表、書評信息表、普通用戶信息表、圖書分類信息表和日記信息表等。
4 系統(tǒng)實現(Implementation of the system)
本系統(tǒng)選用ThinkPHP框架+MySql進行開發(fā)。傳統(tǒng)的php系統(tǒng)開發(fā)有如下特征:代碼不很靈活,前端需要考慮div、css、js,后端還要考慮php和mySql,涉及工作很多,效率一般。與傳統(tǒng)的php系統(tǒng)開發(fā)有所不同,本系統(tǒng)雖利用php語言開發(fā),但系統(tǒng)采用了ThinkPHP框架,有效提高了系統(tǒng)的開發(fā)效率。ThinkPHP是一個免費開源的,快速、簡單的面向對象的輕量級PHP開發(fā)框架[5],依照Apache2開源協(xié)議發(fā)布,是為快速網頁應用開發(fā)和簡化企業(yè)應用開發(fā)而誕生的。ThinkPHP從誕生以來一直秉承簡潔好用的設計原則,在保持出色的性能和至簡代碼的同時,它也注重易用性[6,7]。
4.1 ThinkPHP框架部署
在系統(tǒng)所需的開發(fā)環(huán)境都已部署好后,從網上下載最新的ThinkPHP框架[4]。在網站根目錄新建文件夾rbook,作為高校書評系統(tǒng)項目名稱。再將前面下載的ThinkPHP核心目錄包放到此根目錄下,在Rbook目錄下新建index.php文件,作為項目入口文件,運行后相關目錄會自動生成。
4.2 基于MVC開發(fā)系統(tǒng)
本系統(tǒng)在開發(fā)的各個方面都體現了MVC。在系統(tǒng)開發(fā)中,在model類中寫與各個數據表有關的一些數據操作,如圖書信息表(圖書號、作者、圖書名稱、圖書類型、圖書信息簡述、ISBN、出版社、圖書圖片、出版日期、點藏數、評分)一些操作。在Action類中主要寫與高校書評系統(tǒng)業(yè)務流程有關的一些代碼,在tpl中重點寫與本系統(tǒng)顯示有關的設計代碼,這樣層與層間獨立,相互依賴性就明顯減少,有很好的復用性[8]。如果后期有其他需求,這種基于MVC的設計仍然可很好地滿足可擴展性。下面就以前臺一般注冊用戶書評信息操作模塊為例詳細說明系統(tǒng)的開發(fā)。
(1)模型的實現
一般注冊用戶的書評信息操作模塊,主要包括查看書評信息、發(fā)布書評信息、修改自己書評信息和刪除自己書評信息四個子模塊。這里的書評信息操作,都要保證一條書評只能屬于一本圖書,一條書評只能屬于一位注冊用戶(只能被一位注冊用戶發(fā)表)。為此,在Rbook\Lib\Model目錄下新建了一個LongreviewModel.class.php文件,此刻,意味著新建了圖書關聯模型類Longreview,代碼如下:
(2)控制器的實現
在一般注冊用戶的書評信息操作模塊中,需自定義一個控制器類ReviewAction。依照高校書評系統(tǒng)的功能需要,此控制器類它至少需要定義如下幾個方法——用于查看書評詳情頁面的方法index(),用于發(fā)布書評信息的方法insert(),用于修改書評的方法edit(),用于刪除影評信息的方法del()。其操作流程為,先在Rbook\Lib\Action目錄下新建ReviewAction.class.php文件,在此只列出刪除書評的方法關鍵代碼:
(3)視圖的實現
就書評信息操作模塊而言,可在Rbook\Tpl\Review目錄下新建兩個文件edit.html和review.html。edit.html顯示修改一般注冊用戶書評信息的內容,review.html則可用于顯示一般注冊用戶查看書評、發(fā)布書評和刪除自己的書評的內容。例如當用戶調用ReviewAction這個類中的edit方法修改自己發(fā)布的書評信息時,系統(tǒng)會調用相應模板文件夾Rbook\Tpl\Review下的edit.html網頁,在用display()輸出相應的模板前,需要將頁面中動態(tài)的信息輸出到相應的標記處。同樣的,查看一般注冊用戶查看書評、發(fā)布書評和刪除自己的書評原理與修改書評一致,這里不再贅述。例如在瀏覽器中可以看到發(fā)布書評的內容如圖3所示。
至此,高校書評系統(tǒng)的一般注冊用戶的書評信息操作模塊已全部實現,系統(tǒng)其他功能模塊的實現原理和技術基本相同,這里不再贅述??v觀高校書評系統(tǒng)的開發(fā)過程,我們發(fā)現利用ThinkPHP框架開發(fā)快速高效,你可依照你自己的需要靈活地創(chuàng)建各種模板、模型和控制器。
5 結論(Conclusion)
利用ThinkPHP框架開發(fā)的高校書評系統(tǒng)目前已開發(fā)完成,實踐證明利用該框架開發(fā)的系統(tǒng)不僅效率高,而且規(guī)范化程度高。現在該系統(tǒng)已在本地區(qū)兄弟院校間進行測試運行,反饋效果很好,“優(yōu)勝劣汰”作用明顯。下一步要在如何提高書評質量方面進行重點研究,進一步改進和完善系統(tǒng),讓其在高校圖書館購置圖書和高校師生選用教材方面進一步發(fā)揮其“優(yōu)勝劣汰”作用。
參考文獻(References)
[1] Pujari J K,Sayed I H,Rajput B.WORKING OF MVC PATTERNS FOR DESIGNING AND IMPLEMENTING USER FRIENDLY AND RESPONSIVE WEB BASED APPLICATION-A REVIEW[J].Advances in Computational Research,2015,7(1):206.
[2] Wen-zheng Z,Hong C.The Research and Application of Modular Mobile Phone Web Front-end Based on MVCS Mode[J].International Journal of Future Generation Communication and Networking,2015,8(5):97-106.
[3] Kim K,et al.An interactive pervasive whiteboard based on MVC architecture for ubiquitous collaboration[J].Multimedia Tools and Applications,2015,74(5):1557-1576.
[4] 王俊芳,李隱峰,王池.基于MVC模式的ThinkPHP框架研究[J].電子科技,2014,27(04):151-154.
[5] 張文勝,陳宏.基于ThinkPHP模型的敏捷開發(fā)的應用與實踐[J].軟件工程,2016(03):45-48.
[6] 王艷青,李天輝.基于ThinkPHP的Ajax數據交互研究[J].遼寧大學學報(自然科學版),2016(02):119-122.
[7] 孫祎.基于ThinkPHP的網站集群設計[J].電腦知識與技術,2015(31):73-74.
[8] 江銀洋,劉愛麗.基于Thinkphp框架實現購房簽到系統(tǒng)[J].網絡安全技術與應用,2015(02):34-37.