校園二手書交易平臺的設(shè)計與實(shí)現(xiàn)論文定稿[共57頁]

上傳人:gfy****yf 文檔編號:54760319 上傳時間:2022-02-15 格式:DOC 頁數(shù):59 大?。?.53MB
收藏 版權(quán)申訴 舉報 下載
校園二手書交易平臺的設(shè)計與實(shí)現(xiàn)論文定稿[共57頁]_第1頁
第1頁 / 共59頁
校園二手書交易平臺的設(shè)計與實(shí)現(xiàn)論文定稿[共57頁]_第2頁
第2頁 / 共59頁
校園二手書交易平臺的設(shè)計與實(shí)現(xiàn)論文定稿[共57頁]_第3頁
第3頁 / 共59頁

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《校園二手書交易平臺的設(shè)計與實(shí)現(xiàn)論文定稿[共57頁]》由會員分享,可在線閱讀,更多相關(guān)《校園二手書交易平臺的設(shè)計與實(shí)現(xiàn)論文定稿[共57頁](59頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、 PINGDINGSHAN UNIVERSITY 畢業(yè)論文(設(shè)計) 題 目:校園二手書交易平臺的設(shè)計與實(shí)現(xiàn) 院(系): 軟件學(xué)院 專業(yè)年級: 軟件工程 2008級 姓 名: 劉瑞娟 學(xué) 號: 081530128 指導(dǎo)教師: 單冬紅 講師 2011年 11月10日 原 創(chuàng) 性 聲 明 本人鄭重聲明

2、:本人所呈交的畢業(yè)論文,是在指導(dǎo)老師的指導(dǎo)下獨(dú)立進(jìn)行研究所取得的成果。畢業(yè)論文中凡引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點(diǎn)等,均已明確注明出處。除文中已經(jīng)注明引用的內(nèi)容外,不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的科研成果。對本文的研究成果做出重要貢獻(xiàn)的個人和集體,均已在文中以明確方式標(biāo)明。 本聲明的法律責(zé)任由本人承擔(dān)。 論文作者簽名: 日 期: 關(guān)于畢業(yè)論文使用授權(quán)的聲明 本人在指導(dǎo)老師指導(dǎo)下所完成的論文及相關(guān)的資料(包括圖紙、試驗(yàn)記錄、原始數(shù)據(jù)、實(shí)物照片、圖片、錄音帶、設(shè)計手稿等),知識

3、產(chǎn)權(quán)歸屬平頂山學(xué)院。本人完全了解平頂山學(xué)院有關(guān)保存、使用畢業(yè)論文的規(guī)定,同意學(xué)校保存或向國家有關(guān)部門或機(jī)構(gòu)送交論文的紙質(zhì)版和電子版,允許論文被查閱和借閱;本人授權(quán)平頂山學(xué)院可以將本畢業(yè)論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進(jìn)行檢索,可以采用任何復(fù)制手段保存和匯編本畢業(yè)論文。如果發(fā)表相關(guān)成果,一定征得指導(dǎo)教師同意,且第一署名單位為平頂山學(xué)院。本人離校后使用畢業(yè)論文或與該論文直接相關(guān)的學(xué)術(shù)論文或成果時,第一署名單位仍然為平頂山學(xué)院。 論文作者簽名: 日 期: 指導(dǎo)老師簽名: 日 期:

4、 平頂山學(xué)院本科畢業(yè)設(shè)計 校園二手書交易平臺的設(shè)計與實(shí)現(xiàn) 摘 要 隨著互聯(lián)網(wǎng)的不斷發(fā)展,基于Web的網(wǎng)絡(luò)書店給人們帶來了極大的便利,網(wǎng)絡(luò)書店不僅是傳統(tǒng)售書模式的發(fā)展和補(bǔ)充,也是未來發(fā)展的趨勢。但是對于沒有經(jīng)濟(jì)來源的在校學(xué)生而言,購買新書的花費(fèi)較大,所以二手書市場一直活躍于校園中。在校園網(wǎng)絡(luò)發(fā)達(dá)的今天,開發(fā)一套二手書交易系統(tǒng),能夠很好地滿足供需雙方的需求,并且對于提高圖書的循環(huán)利用、降低學(xué)生的購書成本,具有現(xiàn)實(shí)意義。 系統(tǒng)采用SH (Struts + Hibernate)兩層架構(gòu)設(shè)計,應(yīng)用 Struts可以分離視圖層和控制層;Hibernate

5、實(shí)現(xiàn)用面向?qū)ο蟮乃枷雭砉芾頂?shù)據(jù)庫,實(shí)現(xiàn)業(yè)務(wù)邏輯與數(shù)據(jù)庫之間的低耦合,具有更好的安全性和可擴(kuò)展性。該系統(tǒng)主要實(shí)現(xiàn)發(fā)布二手書信息、搜索圖書信息、用戶留言等功能,以及后臺管理與維護(hù)等功能。系統(tǒng)中有三種用戶角色,管理員、注冊用戶和未注冊用戶。管理員主要有管理用戶、發(fā)布公告等權(quán)限,注冊用戶進(jìn)入系統(tǒng)可以進(jìn)行信息發(fā)布、留言等操作,未注冊用戶只能查看二手書的發(fā)售和求購信息。系統(tǒng)的實(shí)現(xiàn)將為學(xué)生提供很大的便利,而且為有效提高圖書的循環(huán)利用提供了途徑。 本論文研究了校園二手書交易平臺的背景及發(fā)展趨勢,按照軟件工程開發(fā)的理論進(jìn)行了系統(tǒng)分析、概要設(shè)計、詳細(xì)設(shè)計、代碼實(shí)現(xiàn)、測試等一系列工作,最終實(shí)現(xiàn)了具有實(shí)用價值的校園

6、二手書交易平臺。 關(guān)鍵詞:二手書交易,Struts,數(shù)據(jù)庫,Hibernate 校園二手書交易平臺的設(shè)計與實(shí)現(xiàn) The Design and Implementation of Second-hand Book-Selling System in Campus Abstract With the continuous development of the Internet, the network bookstore has brought people greatly convenience. Network bookstore is not only the d

7、evelopment and supplement of the traditional bookstore, but also the trend of future development. But to the students in school, who have no salery, the cost of new books is more expensive, and second-hand book market has been becoming more and more active. The network of campus has become very mat

8、ure, it’s necessary to develop a system used for the second-hand book dealing, to meet the needs of sellers and buyers, and improve book recycling and reduce students’ cost of buying new books. This system is designed by the SH (Struts Hibernate) two-layer framework. Using Struts can be separated

9、from the view layer and the control layer. Using Hibernate can achieve to manage database with object-oriented thinking. Using SH can achieve low coupling with the database and make the system more security and saclability. Functions of the system is mainly to release used books, search books’ infor

10、mation, leave comments, as well as the administrator to manage and maintain the system. There are three roles: system administrator users, registered users and unregistered users. The right of administrators is managing users, issuing bulletin and so on. Registered users can publish messages, leave

11、comments. Unregistered users can only browse information. The realization of the system will make it more convenient for students. And at the same time it will comes to book recycling. This thesis expounds the background and development trend of the campus secondhand books transaction platform. Ac

12、cording to the software engineering development theory. A series of work have been done, such as system analysis and design, detailed summary design, coding, and testing of development. Finally realized the practical value of the Second-hand Book-Selling system in campus. Keywords:Second-hand

13、Book Deal, Struts, Database, Hibernate 平頂山學(xué)院本科畢業(yè)設(shè)計 目 錄 1 緒論 1 1.1 項(xiàng)目開發(fā)背景 1 1.2 項(xiàng)目開發(fā)現(xiàn)狀 1 1.3 項(xiàng)目開發(fā)意義 2 1.4 論文主要工作和結(jié)構(gòu)安排 2 1.5 本章小結(jié) 2 2 開發(fā)技術(shù)及工具介紹 3 2.1 頁面開發(fā)技術(shù) 3 2.2 SH框架的選擇 3 2.3 WEB服務(wù)器 4 2.4 開發(fā)工具 4 2.5 本章小結(jié) 4 3 需求分析 5 3.1 業(yè)務(wù)操作流程 5 3.2 系統(tǒng)設(shè)計目標(biāo) 5 3.3 功能需求 5 3.4 性能需求 9 3.5 本章小結(jié) 10 4 總

14、體設(shè)計 11 4.1 系統(tǒng)功能設(shè)計 11 4.2 數(shù)據(jù)庫設(shè)計 12 4.2.1 數(shù)據(jù)庫概念設(shè)計 12 4.2.2 數(shù)據(jù)庫邏輯設(shè)計 13 4.2.3 數(shù)據(jù)庫的實(shí)現(xiàn) 14 4.3 接口設(shè)計 16 4.4 本章小結(jié) 16 5 詳細(xì)設(shè)計與實(shí)現(xiàn) 17 5.1 系統(tǒng)的功能設(shè)計 17 5.1.1 登錄功能的設(shè)計 17 5.1.2 用戶管理功能的設(shè)計 18 5.1.3 圖書管理功能的設(shè)計 18 5.1.4 留言功能的設(shè)計 20 5.1.5 公告管理功能的設(shè)計 21 5.2 系統(tǒng)類的設(shè)計 21 5.3 系統(tǒng)的實(shí)現(xiàn) 25 5.3.1 注冊登錄功能 25 5.3.2 搜索圖書和查

15、看圖書信息功能 26 5.3.3 發(fā)布圖書信息功能 28 5.3.4 留言功能 30 5.3.5 管理員管理用戶功能 30 5.3.6 公告管理功能 31 5.4 本章小結(jié) 32 6 測試 33 6.1 測試的意義 33 6.2 測試環(huán)境 33 6.3 功能測試 33 6.4 界面測試 35 6.5 問題嚴(yán)重程度描述 36 6.6 本章小結(jié) 36 7 結(jié)束語 37 7.1 總結(jié) 37 7.2 展望 37 附 錄 39 參考文獻(xiàn) 45 致 謝 47 1 緒論 二手書交易可以提高圖書的循環(huán)利用率,為學(xué)生提供很大的便利。設(shè)計旨在實(shí)現(xiàn)一個二手

16、書的交易系統(tǒng),為供需雙方提供便利的二手書網(wǎng)絡(luò)交易平臺。本部分介紹本系統(tǒng)的開發(fā)背景、意義以及論文的主要工作和結(jié)構(gòu)安排。 1.1 項(xiàng)目開發(fā)背景 現(xiàn)代網(wǎng)絡(luò)技術(shù)發(fā)展迅速,給傳統(tǒng)的售書方式帶來了很大的沖擊。傳統(tǒng)的書店銷售模式受到諸如場地、資金、宣傳等因素制約,已經(jīng)不能滿足人們的日益增長的圖書購買需求。網(wǎng)上書店應(yīng)運(yùn)而生,送貨上門、24小時服務(wù)、搜索圖書方便、無店鋪銷售等都使網(wǎng)絡(luò)書店深受歡迎。隨著人們購書觀念、購物習(xí)慣的改變、網(wǎng)購人群日益增加,這些都為網(wǎng)絡(luò)書店的發(fā)展提供了有力條件。網(wǎng)絡(luò)書店不僅是傳統(tǒng)售書模式的發(fā)展和補(bǔ)充,也是未來發(fā)展的趨勢。當(dāng)當(dāng)網(wǎng)1999年11月開通,目前是全球最大的中文網(wǎng)上書店。其管理

17、團(tuán)隊擁有多年的圖書出版、零售、信息技術(shù)及市場營銷經(jīng)驗(yàn)。面向全世界中文讀者提供20多萬種中文圖書及超過1萬種的音像商品,每天為成千上萬的網(wǎng)上消費(fèi)者提供方便、快捷的服務(wù),給網(wǎng)上購物者帶來極大的方便和實(shí)惠。 隨著物價上漲,書籍價格也在不斷攀升,作為大學(xué)生,大學(xué)時期正是汲取知識的重要階段,需要閱讀大量的專業(yè)書籍。圖書館藏書是學(xué)生書籍借閱的重要來源,但是對于學(xué)生而言專業(yè)書籍需長久保有。學(xué)生對某些書籍的長期保有需求使得二手書市場一直活躍在校園周邊。于此形成反差的是大量的專業(yè)書籍被當(dāng)做廢品賣掉,造成較大的資源浪費(fèi)。而且學(xué)生購買新書的成本較高,對于沒有收入的大學(xué)生來講也是一筆不小的開支。因此,學(xué)生群體自然成

18、為二手書供需市場的主體。 1.2 項(xiàng)目開發(fā)現(xiàn)狀 目前,校園中二手書交易方式有兩種:第三方回收倒賣的方式和二手書跳蚤市場。學(xué)校組織的二手書跳蚤市場在一段時間內(nèi)給學(xué)生帶來了很大的便利,但是由于時間、天氣、交易場所的局限性,跳蚤市場已逐漸的不能滿足學(xué)生的需求。通過第三方回收倒賣的方式,雖然能夠某種程度上滿足學(xué)生需求,但由于中間利益,不能使學(xué)生買賣雙方達(dá)到利益最大化,并且圖書流通周期過長。校園二手書交易平臺能夠讓學(xué)生與學(xué)生之間以一種更高效、直接的方式進(jìn)行交易,還可避免天氣、場地等因素的影響。 1.3 項(xiàng)目開發(fā)意義 目前,校園網(wǎng)絡(luò)比較發(fā)達(dá),在大學(xué)校園中大部分學(xué)生都擁有自己的電腦,校園二手書交易平

19、臺可以依托校園網(wǎng)絡(luò)建立,該交易平臺能夠很好的滿足供需雙方的需求,為圖書的循環(huán)利用和降低學(xué)生的購書成本具有現(xiàn)實(shí)的意義。 1.4 論文主要工作和結(jié)構(gòu)安排 本論文主要介紹校園二手書交易平臺的開發(fā)背景,開發(fā)設(shè)計過程和實(shí)現(xiàn)過程,數(shù)據(jù)庫設(shè)計以及系統(tǒng)測試,全文共分七章,具體安排如下所示。 第1章 介紹課題背景、系統(tǒng)的設(shè)計目標(biāo)、研究現(xiàn)狀及結(jié)構(gòu)安排等。 第2章 介紹對系統(tǒng)采用的相關(guān)技術(shù)及開發(fā)工具。 第3章 進(jìn)行系統(tǒng)的需求分析,并結(jié)合需求分析進(jìn)行功能設(shè)計。 第4章 根據(jù)系統(tǒng)的功能設(shè)計進(jìn)行數(shù)據(jù)庫的設(shè)計。 第5章 介紹系統(tǒng)的開發(fā),具體介紹每一個功能模塊的設(shè)計與實(shí)現(xiàn)的過程,并配有界面圖以及序列圖

20、,清晰表達(dá)出本模塊的設(shè)計流程。 第6章 介紹本系統(tǒng)的功能測試以及性能測試,并分析測試結(jié)果。 第7章 總結(jié)本系統(tǒng)的基本功能及結(jié)構(gòu),展望系統(tǒng)的前景和下一步的改進(jìn)目標(biāo)。 1.5 本章小結(jié) 本章首先介紹了本課題的背景及意義,深刻了解了研究本系統(tǒng)的重要性。接著介紹了課題的現(xiàn)狀,以便于有所創(chuàng)新。最后介紹了論文主要工作和結(jié)構(gòu)安排,以便于可以在保證論文質(zhì)量的前提下按照計劃順利地完成本論文的撰寫。 2 開發(fā)技術(shù)及工具介紹 本系統(tǒng)使用Java作為開發(fā)語言,采用Struts+Hibernate兩層框架,選用SQL Server 2000作為后臺數(shù)據(jù)庫,運(yùn)用Tomcat服務(wù)器技術(shù),基于B/S(Br

21、owser/Sserver)模式進(jìn)行設(shè)計。 2.1 頁面開發(fā)技術(shù) JSP(Java Servlet Pages)一種動態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。是基于Java Servlet以及整個Java體系的Web開發(fā)技術(shù),JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯[1]。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計和顯示分離,支持可重用的基于組件的設(shè)計,使基于Web的應(yīng)用程序的開發(fā)變得更加容易[2]。 它在傳統(tǒng)的靜態(tài)頁面文件中加入Java程序片段和JSP標(biāo)記,就構(gòu)成了JSP頁面。由Web服

22、務(wù)器上的JSP引擎來處理JSP元素,生成調(diào)用Bean,并用JDBC訪問數(shù)據(jù)庫(或文件),最后以HTML或XML的形式返回瀏覽器[3-4]。JSP在Servlet類中編譯,編譯一次后存入內(nèi)存,以后再調(diào)用時,不用再編譯,所以速度很快。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο螅哂衅脚_無關(guān)性且安全可靠等一些優(yōu)點(diǎn) [5]。 2.2 SH框架的選擇 SH 為Struts+Hibernate 的組成方式,它是目前流行的MVC模式框架之一。典型的J2EE兩層結(jié)構(gòu),分為中間層(業(yè)務(wù)邏輯層)和持久層,Web 應(yīng)用的前端是表現(xiàn)層,SH整合框架使用Struts框架,其負(fù)責(zé)的工作為:管理用戶的請求,做出

23、相應(yīng)的響應(yīng);提供一個流程控制器,委派調(diào)用業(yè)務(wù)邏輯和其他上層處理;處理異常;為顯示提供一個數(shù)據(jù)模型和用戶界面的驗(yàn)證等,Web應(yīng)用的后端是持久層[6]。SH整合框架使用Hibernate,其持久化對象是基于POJO和Java集合的,負(fù)責(zé)的工作為:查詢對象的相關(guān)信息;增加、刪除、更新數(shù)據(jù)庫記錄等,Web應(yīng)用的中間部分是業(yè)務(wù)邏輯層[7]。應(yīng)用 Struts可以分離視圖層和控制層;Hibernate實(shí)現(xiàn)用面向?qū)ο蟮乃枷雭砉芾頂?shù)據(jù)庫,實(shí)現(xiàn)與數(shù)據(jù)庫之間的低耦合,這種整合的開發(fā)模式讓我們的開發(fā)更加方便、快捷、思路清晰[8]。 在本系統(tǒng)中,使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,數(shù)據(jù)持久化操

24、作由Hibernate完成。系統(tǒng)的基本業(yè)務(wù)流程是:在表示層中,首先通過JSP頁面實(shí)現(xiàn)交互界面,負(fù)責(zé)傳送請求(Request)和接收響應(yīng)(Response),然后Struts根據(jù)配置文件 (struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。在業(yè)務(wù)層中,向Action提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO)組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果[9]。 2

25、.3 WEB服務(wù)器 Tomcat是在SUN的JSWDK的基礎(chǔ)上發(fā)展起來的另一個優(yōu)秀的JSP服務(wù)器,它不但支持Servlet,而且還提供了Web服務(wù)器的基本功能,處理HTML頁面。作為一個開放源碼的軟件,Tomcat有著自己獨(dú)特的優(yōu)勢,可以和目前大部分的主流服務(wù)器一起工作,而且有著相當(dāng)高的運(yùn)行效率??梢詫omcat和Apache集成起來,讓Apache處理靜態(tài)Html,而Tomcat處理JSP和Servlet[10]。使用Tomcat的用戶也很多,資料豐富,交流方便。系統(tǒng)采用B/S開發(fā)模式,這種模式無需安裝客戶端軟件,客戶端只需要瀏覽器便可訪問。降低維護(hù)和升級成本。本系統(tǒng)使用Tomcat和A

26、pache集成發(fā)布文檔管理系統(tǒng),由Apache處理靜態(tài)Html,Tomcat處理JSP和Servlet。 2.4 開發(fā)工具 MyEclipse企業(yè)級工作平臺(MyEclipse Enterprise Workbench,簡稱MyEclipse)是對Eclipse IDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率[11]。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS, JavaScript,Hibernate[12-13]。故本系統(tǒng)采用MyEclipse作為

27、開發(fā)工具。數(shù)據(jù)庫采用SQL Server 2000,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。它有豐富的編程接口工具,為用戶數(shù)據(jù)操作提供了便利,并能快速高效發(fā)布數(shù)據(jù)到Web頁面。 2.5 本章小結(jié) 本章主要講解了系統(tǒng)在開發(fā)中用到的技術(shù)和開發(fā)工具,包括頁面開發(fā)的JSP技術(shù),SQL Server數(shù)據(jù)庫技術(shù),SH技術(shù),WEB服務(wù)器技術(shù)及其在系統(tǒng)中的作用。 3 需求分析 軟件需求分析就是對目標(biāo)系統(tǒng)提出完整、準(zhǔn)確、清晰、具體的要求。需求分析是軟件工程中的一個關(guān)鍵過程[14]。通過需求分析要明確系統(tǒng)的主要功能模塊,以及各功能模塊需要完成的具體功能。 3.1 業(yè)務(wù)操作流程 未注冊的用戶可以瀏覽網(wǎng)

28、站公告查看待出售的的圖書信息和求購信息,可以搜索圖書。注冊用戶除了擁有上述功能外還可以發(fā)布出售圖書信息和求購信息,用戶之間可以相互留言。管理員進(jìn)入系統(tǒng)后,可以對公告進(jìn)行發(fā)布、查看和刪除,可以對用戶進(jìn)行查看和刪除,可以查看待售圖書信息。 3.2 系統(tǒng)設(shè)計目標(biāo) 本系統(tǒng)基于校園網(wǎng)絡(luò)的一個二手書交易平臺,為了方便同學(xué)們進(jìn)行二手書交易,以達(dá)到二手書籍的充分利用,也為在校生提供更多的便利。具體的功能期望實(shí)現(xiàn)如下目標(biāo)。 1.未注冊用戶可以搜索圖書、瀏覽公告,查看待售圖書信息和求購圖書信息。 2.注冊用戶可以查看修改自己的信息。 3.注冊用戶可以搜索圖書、瀏覽公告,查看待售圖書信息和求購圖書信息。

29、 4.注冊用戶可以發(fā)布出售圖書及修改圖書狀態(tài),刪除已售出圖書。 5.注冊用戶可以發(fā)布和刪除求購圖書信息。 6.注冊用戶之間可以相互留言及標(biāo)記留言狀態(tài)、刪除留言。 7.管理員可以發(fā)布、查看、刪除公告。 8.管理員可以修改登陸密碼, 管理員可以查看待售圖書信息。 9.管理員可以查看用戶信息和刪除已畢業(yè)用戶。 3.3 功能需求 由于二手書價格便宜,性價比極高,備受在校生的青睞。目前校園里二手書大都以跳蚤市場方式進(jìn)行交易,雖然也能為學(xué)生提供一個交易平臺,但容易受到場地,天氣和時間等各種因素的制約,具有諸多不便。在網(wǎng)絡(luò)環(huán)境發(fā)達(dá)的今天,如果能通過校園網(wǎng)絡(luò)為買賣雙方提供二手書交易平臺,并提供

30、相關(guān)書籍信息,為學(xué)生購書提供方便、快捷、經(jīng)濟(jì)的購書渠道,增加書籍循環(huán)利用次數(shù),勢必會得到廣大師生的歡迎。系統(tǒng)角色主要有管理員和用戶,管理員主要管理個人信息、管理用戶、管理公告、查看待售圖書信息等;用戶可以管理個人信息、管理二手書信息、發(fā)布求購出售信息、瀏覽公告等。系統(tǒng)總用例圖如圖3-1所示。 圖3-1 系統(tǒng)總體用例圖 用戶主要針對的是在系統(tǒng)中進(jìn)行過注冊的注冊用戶,只有注冊用戶才能完整享有其對系統(tǒng)的各項(xiàng)功能使用權(quán)。注冊用戶用例圖如圖3-2所示。 圖3-2 注冊用戶用例圖 用戶注冊用例描述如表3-1所示。 表3-1 用戶注冊用例描述 用例編號 3-1-2-3 用例名稱

31、 用戶注冊 用例概述 未注冊用戶進(jìn)行注冊 主參與者 未注冊用戶 前置條件 無 后置條件 用戶成功注冊 成功保證 顯示注冊成功,數(shù)據(jù)庫中用戶表更新 基本事件流 1點(diǎn)擊注冊 2用戶根據(jù)要求輸入各項(xiàng)信息 3點(diǎn)擊確認(rèn) 規(guī)則與約束 要求的必填信息不能為空 用戶發(fā)布求購圖書用例描述如表3-2所示。 表3-2 用戶發(fā)布求購圖書用例描述 用例編號 3-2-5-1 用例名稱 用戶發(fā)布求購圖書 用例概述 用戶根據(jù)自己需求發(fā)布求購圖書信息 主參與者 用戶 前置條件 用戶成功登陸系統(tǒng) 后置條件 求購信息列表更新 成功保證 數(shù)據(jù)庫求購圖書表數(shù)據(jù)更新 基

32、本事件流 1點(diǎn)擊發(fā)布求購圖書信息 2用戶根據(jù)要求輸入各項(xiàng)信息 3點(diǎn)擊確認(rèn) 規(guī)則與約束 要求必填的信息不能為空 管理員用例圖如圖3-3所示。 圖3-3 管理員用例圖 管理員刪除用戶用例描述如表3-3所示。 表3-3 管理員刪除用戶用例描述 用例編號 3-3-4 用例名稱 管理員 用例概述 管理員刪除已畢業(yè)用戶信息 主參與者 管理員 前置條件 管理員成功登陸后臺 后置條件 無 成功保證 數(shù)據(jù)庫用戶表數(shù)據(jù)更新 基本事件流 1查看用戶信息 2根據(jù)信息選擇需刪除的用戶 3點(diǎn)擊刪除 規(guī)則與約束 刪除用戶為已畢業(yè)學(xué)生 管理員發(fā)布公告用例描述如表

33、3-4所示。 表3-4 管理員發(fā)布公告用例描述 用例編號 3-3-6 用例名稱 管理員發(fā)布公告 用例概述 管理員根據(jù)需要發(fā)布公告 主參與者 管理員 前置條件 管理員成功登陸系統(tǒng) 后置條件 公告列表更新 成功保證 數(shù)據(jù)庫公告表數(shù)據(jù)更新 基本事件流 1點(diǎn)擊發(fā)布公告 2管理員根據(jù)要求輸入公告內(nèi)容 3點(diǎn)擊確認(rèn) 規(guī)則與約束 要求必填的公告內(nèi)容不能為空 3.4 性能需求 為了保證系統(tǒng)能夠長期、穩(wěn)定、高效的運(yùn)行,校園二手書交易平臺應(yīng)該滿足以下的性能需求。 1. 系統(tǒng)處理的準(zhǔn)確性和及時性 系統(tǒng)處理的準(zhǔn)確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分

34、考慮系統(tǒng)當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足用戶對信息處理的需求。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準(zhǔn)確性。 2. 系統(tǒng)的易用性 校園二手書的主要在校園網(wǎng)內(nèi)使用,所以要易于操作,方便管理維護(hù)。要實(shí)現(xiàn)這一點(diǎn),就要求系統(tǒng)應(yīng)該盡量符合大多數(shù)用戶的使用習(xí)慣,使用熟悉的術(shù)語和人性化的界面。 3. 系統(tǒng)的標(biāo)準(zhǔn)性 在自主開發(fā)本系統(tǒng)時,要嚴(yán)格按照軟件工程的規(guī)范,對系統(tǒng)進(jìn)行科學(xué)的管理,保證代碼的易讀性、保密性和可移植性。 3.5 本章小結(jié) 本章對軟件開發(fā)中將要面臨的問題及其解決方案進(jìn)行初步設(shè)計及合理安排,明確開發(fā)目標(biāo);畫出了系統(tǒng)的用例圖,讓用戶對系統(tǒng)的總體結(jié)構(gòu)

35、一目了然,對系統(tǒng)的功能進(jìn)一步認(rèn)識。 4 總體設(shè)計 4.1 系統(tǒng)功能設(shè)計 系統(tǒng)設(shè)計是一個把軟件需求轉(zhuǎn)換成用軟件系統(tǒng)表示的過程。通過對目標(biāo)系統(tǒng)的分析和研究,做出了二手書交易平臺的總體規(guī)劃,這是全面開發(fā)系統(tǒng)的重要基礎(chǔ)。在對二手書交易平臺全面分析調(diào)查的基礎(chǔ)上,制定出二手書交易平臺的總體規(guī)劃。 從系統(tǒng)E-R出發(fā),系統(tǒng)中的用戶角色有兩種分別是管理員和用戶,用戶對系統(tǒng)有發(fā)布圖書信息功能、瀏覽公告功能、留言功能,管理員對系統(tǒng)有公告管理功能、管理用戶功能、查看圖書信息功能。系統(tǒng)功能模塊圖如圖4-1所示。 圖4-1 二手書交易平臺功能模塊圖 該二手書交易平臺系統(tǒng)主要分為四大功能模塊,分別是:用戶管

36、理模塊、圖書交易信息管理模塊、公告管理模塊、留言功能模塊。 用戶管理模塊:該模塊涉及用戶操作的相關(guān)功能實(shí)現(xiàn)。包括用戶的注冊、登錄和相關(guān)用戶信息修改等基本內(nèi)容。同時,管理員可以管理已注冊的用戶信息,并擬定刪除無效賬號,如畢業(yè)生賬號。 圖書交易信息管理模塊:該模塊是整個系統(tǒng)最為核心的功能模塊。用戶可依托此模塊,填寫二手書籍出售信息,進(jìn)在網(wǎng)上發(fā)布,從而進(jìn)行二手書銷售。也可以利用該模塊發(fā)布二手書的求購信息,真正形成相關(guān)二手書的交易平臺體系。這其中又包括發(fā)布二手書詳細(xì)信息、查看二手書詳細(xì)信息,發(fā)布求購二手書信息、查看求購信息、刪除求購圖書信息。根據(jù)設(shè)想和實(shí)際操作性考慮,圖書售出后對圖書銷售狀態(tài)的改變

37、也可將售書圖書刪除,刪除的二手書將不再出現(xiàn)在現(xiàn)有銷售或是求購的圖書列表之中。管理員也可以使用該模塊及時掌握和跟蹤圖書交易信息,調(diào)整用戶發(fā)布的相關(guān)內(nèi)容。 公告管理模塊:該模塊對網(wǎng)站發(fā)布的相關(guān)公告進(jìn)行管理。管理員可使用該模塊進(jìn)行公告的貼出、刪除等相關(guān)方面的操作。為網(wǎng)站的用戶起到指引和告知的作用。 留言功能模塊:該模塊獨(dú)立于其他模塊存在,主要負(fù)責(zé)買賣雙方通過該功能模塊實(shí)現(xiàn)相互的交易溝通和聯(lián)系,方便交易。包括發(fā)表留言、標(biāo)記留言狀態(tài)、刪除留言等具體功能實(shí)現(xiàn)。 4.2 數(shù)據(jù)庫設(shè)計 4.2.1 數(shù)據(jù)庫概念設(shè)計 數(shù)據(jù)庫是整個項(xiàng)目設(shè)計中的關(guān)鍵,在整個系統(tǒng)中存儲后臺數(shù)據(jù),以供統(tǒng)計、查詢、分析等使用,一個

38、好的數(shù)據(jù)庫能有效的管理后臺中的數(shù)據(jù),提高軟件的運(yùn)行效率[15-16]。數(shù)據(jù)庫設(shè)計主要包括兩個方面內(nèi)容:數(shù)據(jù)庫分析,數(shù)據(jù)庫的設(shè)計與實(shí)現(xiàn)。 圖4-2 系統(tǒng)E-R圖 由需求分析得出系統(tǒng)角色有兩種:管理員和用戶,管理員的功能有管理注冊用戶、管理公告、管理二手書,用戶功能有管理二手書、瀏覽公告、發(fā)表留言。用戶及管理員對功能的完成在數(shù)據(jù)庫中體現(xiàn)為對數(shù)據(jù)表中數(shù)據(jù)的增加、刪除、修改和查詢。由以上分析得到的用戶需求抽象為信息結(jié)構(gòu),根據(jù)需求分析畫出系統(tǒng)E-R圖如下圖4-2所示,圖中各實(shí)體屬性如下。 管理員信息包括管理員名稱,管理員密碼。 用戶信息包括用戶名,密碼,真實(shí)姓名,性別,年齡,密保問題,答案,

39、QQ號,郵件,電話,地址,班級號。 公告信息包括公告標(biāo)題,內(nèi)容,發(fā)布時間。 圖書信息包括圖書名稱,圖書類別,作者,出版社,價錢,圖片,發(fā)布者,折舊程度,出售價格,附加信息,出售狀態(tài),發(fā)布時間。 求購圖書信息包括圖書名稱,求購者,圖書信息,備注說明,發(fā)布時間。 留言信息包括標(biāo)題,內(nèi)容,留言者,留言對象,留言時間,是否已讀。 圖書類信息包括圖書類別名,說明。 院系信息包括院系名稱,說明。 班級信息包括班級名稱,班級所屬院系,說明。 圖4-2所示的E-R圖中描述了注冊用戶的各個模塊的具體功能,主要有發(fā)布出售/求購圖書信息,發(fā)布留言,查看公告等。各實(shí)體間存在關(guān)聯(lián)有:一個管理員可以管理多

40、個用戶,管理多個公告,查看多本待售圖書信息;一個院系可以有多個班級組成,一個班級包括多個用戶;一個用戶可瀏覽多個公告,可發(fā)布多個圖書信息,發(fā)布多個求購信息,發(fā)表多個留言;一種圖書只能屬于一個圖書類型。 4.2.2 數(shù)據(jù)庫邏輯設(shè)計 注冊用戶可以發(fā)布圖書信息,發(fā)布求購信息,書籍買賣成交后,賣家自己進(jìn)行書籍已售的狀態(tài)修改,狀態(tài)修改后此書目不會再出現(xiàn)在可瀏覽書目列表中,只存在于用戶自己的已售記錄中。雙方相互留言,查看和修改自己的信息,可進(jìn)行圖書搜索。游客只可以瀏覽網(wǎng)站公告,圖書信息,求購信息,可搜索。系統(tǒng)管理員可以修改登錄密碼,查看所有用戶信息,對刪除已畢業(yè)用戶,查看所有圖書信息,發(fā)布公告,查看公

41、告,刪除公告。 依據(jù)數(shù)據(jù)庫關(guān)系模式的設(shè)計結(jié)果,系統(tǒng)包含三類角色,其中三個角色分別為注冊學(xué)生用戶,系統(tǒng)管理員和游客。具體分析如下: 系統(tǒng)管理員表(ID,管理員用戶,管理員密碼) 學(xué)生用戶表(ID,用戶名,密碼,真實(shí)姓名,性別,年齡,密保問題,答案,QQ號,郵件,電話,地址,班級號) 校園二手書交易平臺主要用于學(xué)生發(fā)布圖書信息瀏覽圖書信息以及瀏覽網(wǎng)站公告,因此需要有公告、圖書信息、求購圖書信息、班級、留言等內(nèi)容。設(shè)計出如下表: 公告表(ID,公告標(biāo)題,內(nèi)容,發(fā)布時間) 院系表(ID,院系名稱,說明) 班級表(ID,班級名稱,班級所屬院系,說明) 圖書類別表(ID,圖書類別名,說明)

42、 圖書信息表(ID,圖書名稱,圖書類別,作者,出版社,價錢,圖片,發(fā)布者,折舊程度,出售價格,附加信息,出售狀態(tài),發(fā)布時間) 求購圖書表(ID,圖書名稱,求購者,圖書信息,備注說明,發(fā)布時間) 留言表(ID,標(biāo)題,內(nèi)容,留言者,留言對象,留言時間,是否已讀) 4.2.3 數(shù)據(jù)庫的實(shí)現(xiàn) 由以上得出的數(shù)據(jù)關(guān)系模式,根據(jù)對數(shù)據(jù)庫系統(tǒng)的分析可知,若要完整實(shí)現(xiàn)相應(yīng)的數(shù)據(jù)存儲需要,則在本系統(tǒng)數(shù)據(jù)庫BookShop中應(yīng)主要有數(shù)據(jù)表AdminInfo(系統(tǒng)管理員),UserInfo(用戶),DeptInfo(院系),ClassInfo(班級),BulletinInfo(公告),BookInfo(出

43、售圖書信息),BookType(圖書類別),BegToBuy(求購信息),MsgInfo(留言)。 1. AdminInfo(系統(tǒng)管理員),如圖4-3所示。 圖4-3 系統(tǒng)管理員信息表 2. MsgInfo(留言),如圖4-4所示。 圖4-4 留言信息表 3. UserInfo(用戶),如圖4-5所示。 圖4-5 用戶信息表 4. BulletinInfo(公告),如圖4-6所示。 圖4-6 公告信息表 5. BookInfo(出售圖書信息),如下圖4-7所示。 圖4-7 出售圖書信息表 6. BegToBuy(求購信息),如下圖4-8所示。

44、圖4-8 求購信息表 4.3 接口設(shè)計 接口里面定義的都是公共的抽象方法,抽象方法只是聲明了該方法的具有的功能,但是并沒有給予相關(guān)的實(shí)現(xiàn)。定義抽象方法方便類之間的繼承,所以定義接口的目的就是要被其它類實(shí)現(xiàn)的,在子類里面要對接口里的所有方法進(jìn)行具體的實(shí)現(xiàn),這樣可以使代碼的層次更清晰,易于更新和維護(hù)。本系統(tǒng)中主要的接口類如下。 1. AdminService:定義了管理員登錄、修改密碼等方法。 2. UserService:定義了用戶登錄、修改個人信息等方法。 3. BulleService:定義了公告發(fā)布、刪除,獲取公告列表等方法。 4. MsgService:定義了保存留言信息、刪

45、除留言信息、標(biāo)記留言狀態(tài)和獲取留言列表等方法。 5. BookService:定義了圖書信息的發(fā)布、獲取圖書列表、搜索圖書、修改圖書狀態(tài)等方法。 6. BegService:定義了求購信息的發(fā)布、刪除等方法。 在相應(yīng)的Implement類中實(shí)現(xiàn)了上述接口中所有的方法,這樣減少了代碼的重寫,只集成接口就可以,提高了組成單元的內(nèi)聚性,降低了組成單元的耦合程度,從而提高系統(tǒng)的維護(hù)性和可擴(kuò)展性。 4.4 本章小結(jié) 本章對系統(tǒng)的數(shù)據(jù)庫進(jìn)行了需求分析,通過E-R圖理清了各個實(shí)體之間的關(guān)系,分析出系統(tǒng)中所需建立的表,并對各個表之間的關(guān)系進(jìn)行了分析和說明,對表的設(shè)計進(jìn)行了詳細(xì)的講解和說明,還介紹了表

46、的具體實(shí)現(xiàn)過程。 5 詳細(xì)設(shè)計與實(shí)現(xiàn) 本章主要介紹系統(tǒng)的功能模塊劃分和詳細(xì)設(shè)計實(shí)現(xiàn)部分,根據(jù)需求分析和用戶角色定位,對系統(tǒng)功能結(jié)構(gòu)進(jìn)行劃分,并在此基礎(chǔ)上逐步實(shí)現(xiàn)系統(tǒng)各項(xiàng)功能。 5.1 系統(tǒng)的功能設(shè)計 5.1.1 登錄功能的設(shè)計 用戶使用到二手書交易平臺系統(tǒng)的三大模塊分別是:用戶管理模塊、圖書交易信息管理模塊和留言功能模塊。用戶使用用戶管理模塊完成注冊、登錄和修改信息這三大操作。一個用戶若想進(jìn)行書籍信息的發(fā)布,則首先需要成為本系統(tǒng)的注冊用戶。此時可以使用用戶管理模塊的注冊功能。在主頁選擇注冊選項(xiàng),進(jìn)入注冊頁面,填寫相關(guān)信息,通過驗(yàn)證后完成用戶注冊。 未注冊用戶只能瀏覽相關(guān)發(fā)布的書籍信

47、息,而不能進(jìn)行其他操作。用戶在頁面的登錄部分輸入注冊的用戶名和密碼,頁面的檢測算法對字符等格式進(jìn)行檢測,后通過相關(guān)處理類對此請求進(jìn)行處理,在驗(yàn)證用戶名和密碼匹配且正確的情況下方可登錄系統(tǒng),從而可以使用其他兩個模塊進(jìn)行用戶權(quán)限下的相關(guān)操作。 用戶登錄后,可以修改自己的信息。選擇修改用戶信息的選項(xiàng)進(jìn)入用戶信息修改界面,在信息修改頁面參照顯示的相關(guān)用戶信息,對自己想要修改的部分進(jìn)行修改,而后提交,完成注冊信息的改動操作。對用戶的用戶管理模塊相關(guān)功能進(jìn)行設(shè)計,其序列圖如圖5-1示。 圖5-1 用戶注冊、登錄及修改個人信息序列圖 5.1.2 用戶管理功能的設(shè)計 管理員應(yīng)該可以執(zhí)行的主要功能有

48、登錄修改個人信息、管理注冊用戶、管理公告、查看二手書信息。因此,管理員使用該系統(tǒng)的用戶管理模塊、圖書交易信息管理模塊和公告管理模塊這四大模塊的相關(guān)功能。 管理用戶功能,相關(guān)序列圖如圖5-2所示。 圖5-2 用戶管理序列圖 管理員若要對已經(jīng)注冊在庫的用戶進(jìn)行管理,或是修改自己的個人信息就需要使用該系統(tǒng)的用戶管理模塊進(jìn)行管理操作。這里的對用戶管理,一般指刪除用戶,因?yàn)橛脩舻淖孕畔⑿薷臋?quán)在用戶自己手中,管理員一般不涉及。 管理員輸入管理員用戶名和密碼,進(jìn)入后臺管理界面,點(diǎn)擊用戶管理進(jìn)入用戶管理界面,在此界面可查看所有用戶信息,點(diǎn)擊想要刪除的用戶,系統(tǒng)提示是否確定刪除,刪除成功后提示操

49、作成功,返回用戶管理界面。 5.1.3 圖書管理功能的設(shè)計 圖書交易信息管理模塊完成二手書銷售信息或求購信息的發(fā)布和相關(guān)管理操作。因此,對其使用功能分解,又可將該模塊分為求購信息管理和銷售信息管理兩類主要功能。 用戶需要發(fā)布圖書求購信息或者對其本用戶的圖書求購信息進(jìn)行刪除等操作,需要使用圖書交易信息管理模塊的求購信息管理子模塊。在登錄后點(diǎn)擊發(fā)布求購信息,進(jìn)入填寫圖書求購信息界面,填寫求購的圖書信息,提交后系統(tǒng)將用戶的求購信息在頁面輸出,顯示用戶的相關(guān)求購內(nèi)容。當(dāng)用戶獲得想要的圖書信息后,可以選擇將求購信息刪除。對應(yīng)序列圖如圖5-3示。 圖5-3 用戶管理求購信息序列圖 若用戶需要

50、發(fā)布銷售二手書的信息,或是對自己的過往二手書銷售信息進(jìn)行管理的話,則需要使用圖書交易信息管理模塊的銷售信息管理子模塊。用戶登錄系統(tǒng)后點(diǎn)擊發(fā)布圖書信息,頁面跳轉(zhuǎn)到填寫圖書信息界面,填寫圖書信息,提交信息后返回主界面,用戶可查看圖書,圖書賣出后用戶對圖書狀態(tài)進(jìn)行修改,將圖書標(biāo)注為已售出,圖書將出現(xiàn)在已售出圖書中供用戶查看,可直接對圖書刪除,圖書將不在出現(xiàn)在圖書列表。 用戶登錄后對二手書圖書的管理功能,對應(yīng)序列圖如圖5-4示。 圖5-4 二手書管理序列圖 管理員對于二手圖書信息查看應(yīng)使用該系統(tǒng)的圖書交易信息管理模塊。使用該模塊管理員可以對用戶發(fā)布的所有圖書交易信息進(jìn)行查看。相應(yīng)序列圖如圖5

51、-5所示。 圖5-5 管理員圖書信息管理序列圖 5.1.4 留言功能的設(shè)計 用戶的留言功能,相應(yīng)序列圖如圖5-6所示。 圖5-6 留言管理序列圖 留言功能模塊添加留言或查看以往留言,方便買賣雙方聯(lián)系溝通。用戶購買圖書時可進(jìn)行留言,使用留言可以方便用戶之間的溝通,協(xié)調(diào)買賣雙方的活動。為此,用戶使用到留言功能模塊。當(dāng)?shù)卿浻脩暨M(jìn)入某人的留言板時,可以在其留言板填寫留言信息。該信息被提交后,留言將出現(xiàn)在對方的留言模塊中,被留言用戶可以查看對自己的留言,在查看之后可將其狀態(tài)標(biāo)注為已讀,這樣便能夠區(qū)分已讀和未讀的不同類別的留言信息。在對無用的留言刪除之后,該留言便不會出現(xiàn)在此用戶的留言列

52、表中。 5.1.5 公告管理功能的設(shè)計 管理員對于公告的管理要使用公告管理模塊,主要是進(jìn)行發(fā)布相關(guān)公告,或是刪除公告。管理員進(jìn)入發(fā)布公告界面,填寫發(fā)布公告具體信息,提交信息后返回管理界面,提交刪除請求可刪除公告,提示刪除成功后返回公告管理界面。公告管理功能對應(yīng)的序列圖如圖5-7所示。 圖5-7 公告管理序列圖 5.2 系統(tǒng)類的設(shè)計 根據(jù)MVC三層設(shè)計思想,可將系統(tǒng)分為視圖層、控制層和模型層。系統(tǒng)使用Hibernate架構(gòu),使系統(tǒng)由傳統(tǒng)的表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫層變?yōu)楸硎緦?、業(yè)務(wù)邏輯層、持久化層和數(shù)據(jù)庫層這四大層次。于是,對于使用了Struts的三層MVC系統(tǒng)結(jié)合Hibernat

53、e的典型持久層操作,該系統(tǒng)可以大致認(rèn)為分為四大層次,它們分別是視圖層、控制層、模型層和持久化層,但是在通常情況下還是以三層架構(gòu)的層次劃分為主。因此,類設(shè)計主要是針對控制層、模型層及持久化層開展的,對該系統(tǒng)模塊進(jìn)行類級別的劃分和設(shè)計。其類別主要分為:對數(shù)據(jù)庫數(shù)據(jù)對象分析抽象形成的數(shù)據(jù)實(shí)體類,進(jìn)行控制處理的核心處理控制類,調(diào)用處理相關(guān)數(shù)據(jù)的數(shù)據(jù)處理類和工具類這四大部分,其中,工具類包括過濾類和常用處理類這兩個類。系統(tǒng)類的主要劃分可見圖5-8所示。 圖5-8 類劃分圖 這些類按照其定義及屬性劃分,可以分屬到模型、控制和持久三個層的部分當(dāng)中。其中因?yàn)閿?shù)據(jù)實(shí)體類是在持久層中進(jìn)行對數(shù)據(jù)庫的數(shù)據(jù)封裝

54、以及實(shí)例化的操作,它們可以歸到持久化層當(dāng)中去。而數(shù)據(jù)處理類是對數(shù)據(jù)進(jìn)行增、刪、改、查幾種操作的規(guī)范化設(shè)定,以及部分邏輯業(yè)務(wù)處理,于是它們既屬于持久化操作層又涉及模型層,起業(yè)務(wù)邏輯處理的功能。而核心處理控制類主要負(fù)責(zé)業(yè)務(wù)邏輯控制,它們可以被劃入控制層當(dāng)中,不過其本身也承擔(dān)一部分業(yè)務(wù)邏輯處理能力,因此也可視作涉及模型層。它們的層次歸屬可以參考圖5-9。 控制層C 模型層M 持久化層 數(shù)據(jù)實(shí)體類 核心處理控制類 數(shù)據(jù)處理類 工具類 圖5-9 類所屬層次劃分 由類層次分析不難得出,使用Hibernate框架以聯(lián)系持久化層和模型層的關(guān)鍵就是建立與

55、數(shù)據(jù)庫表對應(yīng)的數(shù)據(jù)實(shí)體類,這些類具有和數(shù)據(jù)表相應(yīng)的結(jié)構(gòu),是數(shù)據(jù)庫表的直接反映。在實(shí)際的設(shè)計和實(shí)現(xiàn)中,通過對這些數(shù)據(jù)實(shí)體類的應(yīng)用就可以達(dá)到原本對數(shù)據(jù)庫表直接操作的效果。主要數(shù)據(jù)實(shí)體類的功能如下所述。 1. AdminInfo類對應(yīng)數(shù)據(jù)庫中的管理員表,是管理員表的映射實(shí)體。主要用于記錄管理員的主要信息包括管理員名稱和密碼。 2. userInfo類對應(yīng)用戶表,主要記錄用戶的主要信息,這些信息主要包括用戶名,密碼,真實(shí)姓名,性別,年齡,密保問題,答案,QQ號,郵件,電話,地址,班級號。 3. BegToBuy類對應(yīng)求購信息表,主要記錄求購圖書的主要信息,這些信息主要包括圖書名稱,求購者

56、,圖書信息,備注說明,發(fā)布時間。 4. BookInfo類對應(yīng)圖書信息表,主要記錄二手圖書信息,這些信息主要包括圖書名稱,圖書類別,作者,出版社,價錢,圖片,發(fā)布者,折舊程度,出售價格,附加信息,出售狀態(tài),發(fā)布時間。 5. MsgInfo類對應(yīng)留言信息表,主要記錄留言的主要信息,這些信息主要包括標(biāo)題,內(nèi)容,留言者,留言對象,留言時間,是否已讀。 6. BulletinInfo類對應(yīng)公告信息表,主要記錄公告的主要信息,這些信細(xì)主要包括公告標(biāo)題,內(nèi)容,發(fā)布時間。 系統(tǒng)類圖主要用于描述系統(tǒng)中核心類的主要屬性特征以及它們之間的關(guān)聯(lián),如此可以更清晰地洞察到系統(tǒng)中實(shí)體之間相互作用[17-18]。主

57、要實(shí)體類如圖5-10所示。 圖5-10 主要實(shí)體類圖 實(shí)體類是建立持久層和模型層聯(lián)系的關(guān)鍵,但對整個系統(tǒng)而言,處理數(shù)據(jù)流向和調(diào)用處理方法的核心是控制類,這些類的實(shí)例化對象負(fù)責(zé)對整個系統(tǒng)的用戶數(shù)據(jù)進(jìn)行方法調(diào)用處理,根據(jù)不同請求轉(zhuǎn)向不同業(yè)務(wù)處理流程以得到相應(yīng)處理結(jié)果??梢哉f,核心控制類是整個系統(tǒng)得以正常工作的保證,脫離了控制類的工作系統(tǒng)就會如同沒有指揮官的飛船一般,將會偏離預(yù)設(shè)的運(yùn)行軌道。主要核心控制類的功能如下所述。 1. AdminpwdAction:該類用于實(shí)現(xiàn)管理員登錄和修改密碼,通過驗(yàn)證管理員輸入信息是否正確實(shí)現(xiàn)管理員登錄,通過調(diào)用AdminInfoDAO類的merge方法連接

58、數(shù)據(jù)庫更新用戶的密碼屬性。 2. SearchAction:該類用于搜索圖書的信息,通過調(diào)用BookInfoDAO類的searchByBookName, searchByAuthor, searchByPublisher三個方法實(shí)現(xiàn)與數(shù)據(jù)庫中信息匹配,通過連接數(shù)據(jù)庫返回滿足條件的圖書列表。 3. UserLoginAction:該類用于檢測用戶是否成功登錄,用戶輸入用戶名、密碼封裝在loginForm表單中,通過該類通過調(diào)用UserInfoDAO類中checkUserLogin方法連接數(shù)據(jù)庫檢測用戶是否登錄成功。 4. BegAction:該類通過調(diào)用BulltinInfoDAO類中fi

59、ndHotBulletinInfos方法連接數(shù)據(jù)庫獲得最新公告。通過調(diào)用BegToBuyDAO類中的findNewstBuys方法連接數(shù)據(jù)庫實(shí)現(xiàn)在首頁顯示最新的求購信息。通過調(diào)用BegToBuyDAO類中的findMyBegToBuys方法連接數(shù)據(jù)庫實(shí)現(xiàn)用戶查看自己的求購圖書。通過調(diào)用BookTypeDAO類中的findAll方法和數(shù)據(jù)庫連接實(shí)現(xiàn)查看所有圖書信息。 5. MsgDetailsAction:該類用于管理留言。通過調(diào)用MsgInfoDAO類中的getUnReadMsgCount(),getUnReadMsgInfos(),getReadMsgInfos()三個方法和數(shù)據(jù)庫連接分別

60、實(shí)現(xiàn)對未讀留言的數(shù)量統(tǒng)計,查找未讀留言信息,查找已讀留言信。 6. UpdateSelfInfoAction:該類用于修改用戶的信息。先通過修改頁面來進(jìn)行用戶信息的修改,通過表單類selfInFormform獲取修改后的信息,再賦值給UserInfon類的一個對象,最后調(diào)用Dao類的findByExample方法將修改后的用戶信息更新數(shù)據(jù)庫的用戶表。 7. BookDetailAction:該類用于發(fā)表圖書。用戶填寫圖書詳細(xì)信息提交后封裝在bookDetailsForm表單中,通過DAO層與數(shù)據(jù)庫映射,圖書信息完整,通過調(diào)用BookInfoDAO類中的findById()方法,連接數(shù)據(jù)庫

61、更新圖書列表。 系統(tǒng)中還有很重要的一個類別,這就是作為公共調(diào)用工具的工具類,這些類沒有特別的依賴性,完成的是輔助系統(tǒng)相關(guān)業(yè)務(wù)處理工作實(shí)施的任務(wù)。雖然其內(nèi)容簡單,但是卻是不可或缺的系統(tǒng)重要組成部分。工具類的介紹如下所述。 1. EncodingFilter:該類是一個過濾器類,主要用來設(shè)置web服務(wù)使用的編碼方式。 2. StringUntil:該類主要是對信息去掉首位空格的實(shí)現(xiàn),主要方法有s.trim()。 5.3 系統(tǒng)的實(shí)現(xiàn) 5.3.1 注冊登錄功能 注冊的用戶填完必填信息點(diǎn)擊提交便可注冊,必填信息有空缺時提示對應(yīng)項(xiàng)不能為空,填寫信息時會檢測用戶名是否可用,用戶名未被注冊提示用

62、戶名可用,可繼續(xù)填寫信息,填寫用戶名已被注冊會提示用戶名不可用。輸入密碼時,兩次輸入要一致,有不同時提示密碼輸入不一致。 用戶登錄,首先將從前臺頁面提交的用戶名和密碼進(jìn)行接受,之后在后臺進(jìn)行處理,按照用戶名在數(shù)據(jù)庫中進(jìn)行查詢?nèi)绻榈皆撚脩魟t將該用戶的權(quán)限和密碼全都取出來分別賦給兩個字符串變量,判斷從數(shù)據(jù)庫中讀出的密碼與登錄時輸入的密碼是否配比上,若兩個密碼相同則根據(jù)權(quán)限的值進(jìn)入相應(yīng)的頁面,否則輸出密碼錯誤。注冊界面如圖5-11所示。 圖5-11 用戶注冊界面 其具體的三層業(yè)務(wù)流程如下。 1. 視圖層:接收用戶輸入的用戶名和密碼兩個信息。在用戶點(diǎn)選登錄按鈕后,觸發(fā)相關(guān)事件,將信息送至

63、處理類處理。 2. 控制層:接受表示層提交的用戶登錄信息表單,通過struts-config配置文件查找到action處理類UserLoginAction,調(diào)用其默認(rèn)的execute()方法進(jìn)行處理。通過持久層UserDAO的checkUserLogin()方法檢測用戶登錄,而后將處理結(jié)果反饋給表示層。 3. 持久層:通過UserDAO類的checkUserLogin()方法檢測用戶登錄,對登錄的用戶的用戶名和密碼信息從數(shù)據(jù)庫中進(jìn)行成對讀取,若無,則證明無此用戶或是用戶名和密碼出現(xiàn)錯誤,登錄失敗。登錄界面如圖5-12所示。 圖5-12 登錄界面 管理員輸入正確的用戶名密碼可進(jìn)入系

64、統(tǒng)進(jìn)行管理用戶,管理公告,查看圖書信息等操作。管理員登錄界面如圖5-13所示。 圖5-13 管理員登錄界面 5.3.2 搜索圖書和查看圖書信息功能 1. 用戶登錄以后進(jìn)入主界面,可通過輸入書名、圖書作者或者出版社實(shí)現(xiàn)關(guān)鍵字搜索,數(shù)據(jù)庫中不存在與輸入條件匹配的數(shù)據(jù)項(xiàng)時,返回沒有待售圖書,數(shù)據(jù)庫中存在與輸入條件匹配的數(shù)據(jù)項(xiàng)時,按輸入條件返回搜索結(jié)果,功能界面如下圖5-14所示。 圖5-14 搜索界面 用戶輸入搜索關(guān)鍵字,可輸入作者、書名、或者出版社進(jìn)行搜索,根據(jù)關(guān)鍵字在數(shù)據(jù)庫中檢索,如有與關(guān)鍵字匹配的數(shù)據(jù)項(xiàng)則返回搜索結(jié)果列表,如沒有與關(guān)鍵字匹配的數(shù)據(jù)項(xiàng),返回沒有查找圖書。搜索圖書

65、的核心代碼如下。 public List searchByBookName(String bookName) { try { String queryString = "from BookInfo as model where model.isSaled=? and model.bookName like '%" + bookName + "%'"; Query queryObject = getSession().createQuery(queryString); queryObject.setParameter(0, fals

66、e); return queryObject.list(); } catch (RuntimeException re) { throw re; }} public List searchByAuthor(String author) { try { String queryString = "from BookInfo as model where model.isSaled=? and model.author like '%" + author + "%'"; Query queryObject = getSession().createQuery(queryString); queryObject.setParameter(0, false); return queryObject.list(); } catch (RuntimeException re) { throw re; } } public List searchByPu

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!