版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
整理為word格式整理為word格式整理為word格式PINGDINGSHANUNIVERSITY畢業(yè)論文(設(shè)計)題目:校園二手書交易平臺的設(shè)計與實現(xiàn)院(系):軟件學(xué)院專業(yè)年級:軟件工程2008級姓名:劉瑞娟學(xué)號:081530128指導(dǎo)教師:單冬紅講師2011年11月10日原創(chuàng)性聲明整理為word格式整理為word格式整理為word格式本人鄭重聲明:本人所呈交的畢業(yè)論文,是在指導(dǎo)老師的指導(dǎo)下獨立進行研究所取得的成果。畢業(yè)論文中凡引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點等,均已明確注明出處。除文中已經(jīng)注明引用的內(nèi)容外,不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的科研成果。對本文的研究成果做出重要貢獻的個人和集體,均已在文中以明確方式標明。本聲明的法律責(zé)任由本人承擔(dān)。論文作者簽名:日期:整理為word格式整理為word格式整理為word格式關(guān)于畢業(yè)論文使用授權(quán)的聲明本人在指導(dǎo)老師指導(dǎo)下所完成的論文及相關(guān)的資料(包括圖紙、試驗記錄、原始數(shù)據(jù)、實物照片、圖片、錄音帶、設(shè)計手稿等),知識產(chǎn)權(quán)歸屬平頂山學(xué)院。本人完全了解平頂山學(xué)院有關(guān)保存、使用畢業(yè)論文的規(guī)定,同意學(xué)校保存或向國家有關(guān)部門或機構(gòu)送交論文的紙質(zhì)版和電子版,允許論文被查閱和借閱;本人授權(quán)平頂山學(xué)院可以將本畢業(yè)論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用任何復(fù)制手段保存和匯編本畢業(yè)論文。如果發(fā)表相關(guān)成果,一定征得指導(dǎo)教師同意,且第一署名單位為平頂山學(xué)院。本人離校后使用畢業(yè)論文或與該論文直接相關(guān)的學(xué)術(shù)論文或成果時,第一署名單位仍然為平頂山學(xué)院。論文作者簽名:日期:指導(dǎo)老師簽名:日期:整理為word格式整理為word格式整理為word格式校園二手書交易平臺的設(shè)計與實現(xiàn)摘要隨著互聯(lián)網(wǎng)的不斷發(fā)展,基于Web的網(wǎng)絡(luò)書店給人們帶來了極大的便利,網(wǎng)絡(luò)書店不僅是傳統(tǒng)售書模式的發(fā)展和補充,也是未來發(fā)展的趨勢。但是對于沒有經(jīng)濟來源的在校學(xué)生而言,購買新書的花費較大,所以二手書市場一直活躍于校園中。在校園網(wǎng)絡(luò)發(fā)達的今天,開發(fā)一套二手書交易系統(tǒng),能夠很好地滿足供需雙方的需求,并且對于提高圖書的循環(huán)利用、降低學(xué)生的購書成本,具有現(xiàn)實意義。系統(tǒng)采用SH(Struts+Hibernate)兩層架構(gòu)設(shè)計,應(yīng)用Struts可以分離視圖層和控制層;Hibernate實現(xiàn)用面向?qū)ο蟮乃枷雭砉芾頂?shù)據(jù)庫,實現(xiàn)業(yè)務(wù)邏輯與數(shù)據(jù)庫之間的低耦合,具有更好的安全性和可擴展性。該系統(tǒng)主要實現(xiàn)發(fā)布二手書信息、搜索圖書信息、用戶留言等功能,以及后臺管理與維護等功能。系統(tǒng)中有三種用戶角色,管理員、注冊用戶和未注冊用戶。管理員主要有管理用戶、發(fā)布公告等權(quán)限,注冊用戶進入系統(tǒng)可以進行信息發(fā)布、留言等操作,未注冊用戶只能查看二手書的發(fā)售和求購信息。系統(tǒng)的實現(xiàn)將為學(xué)生提供很大的便利,而且為有效提高圖書的循環(huán)利用提供了途徑。本論文研究了校園二手書交易平臺的背景及發(fā)展趨勢,按照軟件工程開發(fā)的理論進行了系統(tǒng)分析、概要設(shè)計、詳細設(shè)計、代碼實現(xiàn)、測試等一系列工作,最終實現(xiàn)了具有實用價值的校園二手書交易平臺。關(guān)鍵詞:二手書交易,Struts,數(shù)據(jù)庫,Hibernate
整理為word格式整理為word格式整理為word格式TheDesignandImplementationofSecond-handBook-SellingSysteminCampusAbstractWiththecontinuousdevelopmentoftheInternet,thenetworkbookstorehasbroughtpeoplegreatlyconvenience.Networkbookstoreisnotonlythedevelopmentandsupplementofthetraditionalbookstore,butalsothetrendoffuturedevelopment.Buttothestudentsinschool,whohavenosalery,thecostofnewbooksismoreexpensive,andsecond-handbookmarkethasbeenbecomingmoreandmoreactive.Thenetworkofcampushasbecomeverymature,it’snecessarytodevelopasystemusedforthesecond-handbookdealing,tomeettheneedsofsellersandbuyers,andimprovebookrecyclingandreducestudents’costofbuyingnewbooks.ThissystemisdesignedbytheSH(StrutsHibernate)two-layerframework.UsingStrutscanbeseparatedfromtheviewlayerandthecontrollayer.UsingHibernatecanachievetomanagedatabasewithobject-orientedthinking.UsingSHcanachievelowcouplingwiththedatabaseandmakethesystemmoresecurityandsaclability.Functionsofthesystemismainlytoreleaseusedbooks,searchbooks’information,leavecomments,aswellastheadministratortomanageandmaintainthesystem.Therearethreeroles:systemadministratorusers,registeredusersandunregisteredusers.Therightofadministratorsismanagingusers,issuingbulletinandsoon.Registereduserscanpublishmessages,leavecomments.Unregistereduserscanonlybrowseinformation.Therealizationofthesystemwillmakeitmoreconvenientforstudents.Andatthesametimeitwillcomestobookrecycling.Thisthesisexpoundsthebackgroundanddevelopmenttrendofthecampussecondhandbookstransactionplatform.Accordingtothesoftwareengineeringdevelopmenttheory.Aseriesofworkhavebeendone,suchassystemanalysisanddesign,detailedsummarydesign,coding,andtestingofdevelopment.FinallyrealizedthepracticalvalueoftheSecond-handBook-Sellingsystemincampus.整理為word格式整理為word格式整理為word格式Keywords:Second-handBookDeal,Struts,Database,Hibernate整理為word格式整理為word格式整理為word格式目錄1緒論 11.1項目開發(fā)背景 11.2項目開發(fā)現(xiàn)狀 11.3項目開發(fā)意義 21.4論文主要工作和結(jié)構(gòu)安排 21.5本章小結(jié) 22開發(fā)技術(shù)及工具介紹 32.1頁面開發(fā)技術(shù) 32.2SH框架的選擇 32.3WEB服務(wù)器 42.4開發(fā)工具 42.5本章小結(jié) 43需求分析 53.1業(yè)務(wù)操作流程 53.2系統(tǒng)設(shè)計目標 53.3功能需求 53.4性能需求 93.5本章小結(jié) 104總體設(shè)計 114.1系統(tǒng)功能設(shè)計 114.2數(shù)據(jù)庫設(shè)計 124.2.1數(shù)據(jù)庫概念設(shè)計 124.2.2數(shù)據(jù)庫邏輯設(shè)計 134.2.3數(shù)據(jù)庫的實現(xiàn) 144.3接口設(shè)計 164.4本章小結(jié) 165詳細設(shè)計與實現(xiàn) 175.1系統(tǒng)的功能設(shè)計 17整理為word格式整理為word格式整理為word格式5.1.1登錄功能的設(shè)計 175.1.2用戶管理功能的設(shè)計 185.1.3圖書管理功能的設(shè)計 185.1.4留言功能的設(shè)計 205.1.5公告管理功能的設(shè)計 215.2系統(tǒng)類的設(shè)計 215.3系統(tǒng)的實現(xiàn) 255.3.1注冊登錄功能 255.3.2搜索圖書和查看圖書信息功能 265.3.3發(fā)布圖書信息功能 285.3.4留言功能 305.3.5管理員管理用戶功能 305.3.6公告管理功能 315.4本章小結(jié) 326測試 336.1測試的意義 336.2測試環(huán)境 336.3功能測試 336.4界面測試 356.5問題嚴重程度描述 366.6本章小結(jié) 367結(jié)束語 377.1總結(jié) 377.2展望 37附錄 39參考文獻 45致謝 47整理為word格式整理為word格式整理為word格式1緒論二手書交易可以提高圖書的循環(huán)利用率,為學(xué)生提供很大的便利。設(shè)計旨在實現(xiàn)一個二手書的交易系統(tǒng),為供需雙方提供便利的二手書網(wǎng)絡(luò)交易平臺。本部分介紹本系統(tǒng)的開發(fā)背景、意義以及論文的主要工作和結(jié)構(gòu)安排。1.1項目開發(fā)背景現(xiàn)代網(wǎng)絡(luò)技術(shù)發(fā)展迅速,給傳統(tǒng)的售書方式帶來了很大的沖擊。傳統(tǒng)的書店銷售模式受到諸如場地、資金、宣傳等因素制約,已經(jīng)不能滿足人們的日益增長的圖書購買需求。網(wǎng)上書店應(yīng)運而生,送貨上門、24小時服務(wù)、搜索圖書方便、無店鋪銷售等都使網(wǎng)絡(luò)書店深受歡迎。隨著人們購書觀念、購物習(xí)慣的改變、網(wǎng)購人群日益增加,這些都為網(wǎng)絡(luò)書店的發(fā)展提供了有力條件。網(wǎng)絡(luò)書店不僅是傳統(tǒng)售書模式的發(fā)展和補充,也是未來發(fā)展的趨勢。當當網(wǎng)1999年11月開通,目前是全球最大的中文網(wǎng)上書店。其管理團隊擁有多年的圖書出版、零售、信息技術(shù)及市場營銷經(jīng)驗。面向全世界中文讀者提供20多萬種中文圖書及超過1萬種的音像商品,每天為成千上萬的網(wǎng)上消費者提供方便、快捷的服務(wù),給網(wǎng)上購物者帶來極大的方便和實惠。隨著物價上漲,書籍價格也在不斷攀升,作為大學(xué)生,大學(xué)時期正是汲取知識的重要階段,需要閱讀大量的專業(yè)書籍。圖書館藏書是學(xué)生書籍借閱的重要來源,但是對于學(xué)生而言專業(yè)書籍需長久保有。學(xué)生對某些書籍的長期保有需求使得二手書市場一直活躍在校園周邊。于此形成反差的是大量的專業(yè)書籍被當做廢品賣掉,造成較大的資源浪費。而且學(xué)生購買新書的成本較高,對于沒有收入的大學(xué)生來講也是一筆不小的開支。因此,學(xué)生群體自然成為二手書供需市場的主體。1.2項目開發(fā)現(xiàn)狀目前,校園中二手書交易方式有兩種:第三方回收倒賣的方式和二手書跳蚤市場。學(xué)校組織的二手書跳蚤市場在一段時間內(nèi)給學(xué)生帶來了很大的便利,但是由于時間、天氣、交易場所的局限性,跳蚤市場已逐漸的不能滿足學(xué)生的需求。通過第三方回收倒賣的方式,雖然能夠某種程度上滿足學(xué)生需求,但由于中間利益,不能使學(xué)生買賣雙方達到利益最大化,并且圖書流通周期過長。校園二手書交易平臺能夠讓學(xué)生與學(xué)生之間以一種更高效、直接的方式進行交易,還可避免天氣、場地等因素的影響。整理為word格式整理為word格式整理為word格式1.3項目開發(fā)意義目前,校園網(wǎng)絡(luò)比較發(fā)達,在大學(xué)校園中大部分學(xué)生都擁有自己的電腦,校園二手書交易平臺可以依托校園網(wǎng)絡(luò)建立,該交易平臺能夠很好的滿足供需雙方的需求,為圖書的循環(huán)利用和降低學(xué)生的購書成本具有現(xiàn)實的意義。1.4論文主要工作和結(jié)構(gòu)安排本論文主要介紹校園二手書交易平臺的開發(fā)背景,開發(fā)設(shè)計過程和實現(xiàn)過程,數(shù)據(jù)庫設(shè)計以及系統(tǒng)測試,全文共分七章,具體安排如下所示。第1章介紹課題背景、系統(tǒng)的設(shè)計目標、研究現(xiàn)狀及結(jié)構(gòu)安排等。第2章介紹對系統(tǒng)采用的相關(guān)技術(shù)及開發(fā)工具。第3章進行系統(tǒng)的需求分析,并結(jié)合需求分析進行功能設(shè)計。第4章根據(jù)系統(tǒng)的功能設(shè)計進行數(shù)據(jù)庫的設(shè)計。第5章介紹系統(tǒng)的開發(fā),具體介紹每一個功能模塊的設(shè)計與實現(xiàn)的過程,并配有界面圖以及序列圖,清晰表達出本模塊的設(shè)計流程。第6章介紹本系統(tǒng)的功能測試以及性能測試,并分析測試結(jié)果。第7章總結(jié)本系統(tǒng)的基本功能及結(jié)構(gòu),展望系統(tǒng)的前景和下一步的改進目標。1.5本章小結(jié)本章首先介紹了本課題的背景及意義,深刻了解了研究本系統(tǒng)的重要性。接著介紹了課題的現(xiàn)狀,以便于有所創(chuàng)新。最后介紹了論文主要工作和結(jié)構(gòu)安排,以便于可以在保證論文質(zhì)量的前提下按照計劃順利地完成本論文的撰寫。整理為word格式整理為word格式整理為word格式2開發(fā)技術(shù)及工具介紹本系統(tǒng)使用Java作為開發(fā)語言,采用Struts+Hibernate兩層框架,選用SQLServer2000作為后臺數(shù)據(jù)庫,運用Tomcat服務(wù)器技術(shù),基于B/S(Browser/Sserver)模式進行設(shè)計。2.1頁面開發(fā)技術(shù)JSP(JavaServletPages)一種動態(tài)網(wǎng)頁技術(shù)標準。是基于JavaServlet以及整個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標記,就構(gòu)成了JSP頁面。由Web服務(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)點[5]。2.2SH框架的選擇SH為Struts+Hibernate的組成方式,它是目前流行的MVC模式框架之一。典型的J2EE兩層結(jié)構(gòu),分為中間層(業(yè)務(wù)邏輯層)和持久層,Web應(yīng)用的前端是表現(xiàn)層,SH整合框架使用Struts框架,其負責(zé)的工作為:管理用戶的請求,做出相應(yīng)的響應(yīng);提供一個流程控制器,委派調(diào)用業(yè)務(wù)邏輯和其他上層處理;處理異常;為顯示提供一個數(shù)據(jù)模型和用戶界面的驗證等,Web應(yīng)用的后端是持久層[6]。SH整合框架使用Hibernate,其持久化對象是基于POJO和Java集合的,負責(zé)的工作為:查詢對象的相關(guān)信息;增加、刪除、更新數(shù)據(jù)庫記錄等,Web應(yīng)用的中間部分是業(yè)務(wù)邏輯層[7]。應(yīng)用Struts可以分離視圖層和控制層;Hibernate實現(xiàn)用面向?qū)ο蟮乃枷雭砉芾頂?shù)據(jù)庫,實現(xiàn)與數(shù)據(jù)庫之間的低耦合,這種整合的開發(fā)模式讓我們的開發(fā)更加方便、快捷、思路清晰[8]。整理為word格式整理為word格式整理為word格式在本系統(tǒng)中,使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負責(zé)MVC的分離,數(shù)據(jù)持久化操作由Hibernate完成。系統(tǒng)的基本業(yè)務(wù)流程是:在表示層中,首先通過JSP頁面實現(xiàn)交互界面,負責(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.3WEB服務(wù)器Tomcat是在SUN的JSWDK的基礎(chǔ)上發(fā)展起來的另一個優(yōu)秀的JSP服務(wù)器,它不但支持Servlet,而且還提供了Web服務(wù)器的基本功能,處理HTML頁面。作為一個開放源碼的軟件,Tomcat有著自己獨特的優(yōu)勢,可以和目前大部分的主流服務(wù)器一起工作,而且有著相當高的運行效率??梢詫omcat和Apache集成起來,讓Apache處理靜態(tài)Html,而Tomcat處理JSP和Servlet[10]。使用Tomcat的用戶也很多,資料豐富,交流方便。系統(tǒng)采用B/S開發(fā)模式,這種模式無需安裝客戶端軟件,客戶端只需要瀏覽器便可訪問。降低維護和升級成本。本系統(tǒng)使用Tomcat和Apache集成發(fā)布文檔管理系統(tǒng),由Apache處理靜態(tài)Html,Tomcat處理JSP和Servlet。2.4開發(fā)工具MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴展,利用它我們可以在數(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作為開發(fā)工具。數(shù)據(jù)庫采用SQLServer2000,使系統(tǒng)管理和數(shù)據(jù)庫管理更加直觀、簡單。它有豐富的編程接口工具,為用戶數(shù)據(jù)操作提供了便利,并能快速高效發(fā)布數(shù)據(jù)到Web頁面。整理為word格式整理為word格式整理為word格式2.5本章小結(jié)本章主要講解了系統(tǒng)在開發(fā)中用到的技術(shù)和開發(fā)工具,包括頁面開發(fā)的JSP技術(shù),SQLServer數(shù)據(jù)庫技術(shù),SH技術(shù),WEB服務(wù)器技術(shù)及其在系統(tǒng)中的作用。整理為word格式整理為word格式整理為word格式3需求分析軟件需求分析就是對目標系統(tǒng)提出完整、準確、清晰、具體的要求。需求分析是軟件工程中的一個關(guān)鍵過程[14]。通過需求分析要明確系統(tǒng)的主要功能模塊,以及各功能模塊需要完成的具體功能。3.1業(yè)務(wù)操作流程未注冊的用戶可以瀏覽網(wǎng)站公告查看待出售的的圖書信息和求購信息,可以搜索圖書。注冊用戶除了擁有上述功能外還可以發(fā)布出售圖書信息和求購信息,用戶之間可以相互留言。管理員進入系統(tǒng)后,可以對公告進行發(fā)布、查看和刪除,可以對用戶進行查看和刪除,可以查看待售圖書信息。3.2系統(tǒng)設(shè)計目標本系統(tǒng)基于校園網(wǎng)絡(luò)的一個二手書交易平臺,為了方便同學(xué)們進行二手書交易,以達到二手書籍的充分利用,也為在校生提供更多的便利。具體的功能期望實現(xiàn)如下目標。1.未注冊用戶可以搜索圖書、瀏覽公告,查看待售圖書信息和求購圖書信息。2.注冊用戶可以查看修改自己的信息。3.注冊用戶可以搜索圖書、瀏覽公告,查看待售圖書信息和求購圖書信息。4.注冊用戶可以發(fā)布出售圖書及修改圖書狀態(tài),刪除已售出圖書。5.注冊用戶可以發(fā)布和刪除求購圖書信息。6.注冊用戶之間可以相互留言及標記留言狀態(tài)、刪除留言。7.管理員可以發(fā)布、查看、刪除公告。8.管理員可以修改登陸密碼,管理員可以查看待售圖書信息。9.管理員可以查看用戶信息和刪除已畢業(yè)用戶。3.3功能需求由于二手書價格便宜,性價比極高,備受在校生的青睞。目前校園里二手書大都以跳蚤市場方式進行交易,雖然也能為學(xué)生提供一個交易平臺,但容易受到場地,天氣和時間等各種因素的制約,具有諸多不便。在網(wǎng)絡(luò)環(huán)境發(fā)達的今天,如果能通過校園網(wǎng)絡(luò)為買賣雙方提供二手書交易平臺,并提供相關(guān)書籍信息,為學(xué)生購書提供方便、快捷、經(jīng)濟的購書渠道,增加書籍循環(huán)利用次數(shù),勢必會得到廣大師生的歡迎整理為word格式整理為word格式整理為word格式。系統(tǒng)角色主要有管理員和用戶,管理員主要管理個人信息、管理用戶、管理公告、查看待售圖書信息等;用戶可以管理個人信息、管理二手書信息、發(fā)布求購出售信息、瀏覽公告等。系統(tǒng)總用例圖如圖3-1所示。圖3-1系統(tǒng)總體用例圖用戶主要針對的是在系統(tǒng)中進行過注冊的注冊用戶,只有注冊用戶才能完整享有其對系統(tǒng)的各項功能使用權(quán)。注冊用戶用例圖如圖3-2所示。整理為word格式整理為word格式整理為word格式圖3-2注冊用戶用例圖用戶注冊用例描述如表3-1所示。表3-1用戶注冊用例描述用例編號3-1-2-3用例名稱用戶注冊用例概述未注冊用戶進行注冊主參與者未注冊用戶前置條件無后置條件用戶成功注冊成功保證顯示注冊成功,數(shù)據(jù)庫中用戶表更新基本事件流1點擊注冊2用戶根據(jù)要求輸入各項信息3點擊確認規(guī)則與約束要求的必填信息不能為空用戶發(fā)布求購圖書用例描述如表3-2所示。表3-2用戶發(fā)布求購圖書用例描述用例編號3-2-5-1用例名稱用戶發(fā)布求購圖書用例概述用戶根據(jù)自己需求發(fā)布求購圖書信息主參與者用戶前置條件用戶成功登陸系統(tǒng)后置條件求購信息列表更新成功保證數(shù)據(jù)庫求購圖書表數(shù)據(jù)更新基本事件流1點擊發(fā)布求購圖書信息2用戶根據(jù)要求輸入各項信息整理為word格式整理為word格式整理為word格式3點擊確認規(guī)則與約束要求必填的信息不能為空管理員用例圖如圖3-3所示。圖3-3管理員用例圖管理員刪除用戶用例描述如表3-3所示。表3-3管理員刪除用戶用例描述用例編號3-3-4用例名稱管理員用例概述管理員刪除已畢業(yè)用戶信息主參與者管理員前置條件管理員成功登陸后臺后置條件無成功保證數(shù)據(jù)庫用戶表數(shù)據(jù)更新基本事件流1查看用戶信息2根據(jù)信息選擇需刪除的用戶整理為word格式整理為word格式整理為word格式3點擊刪除規(guī)則與約束刪除用戶為已畢業(yè)學(xué)生管理員發(fā)布公告用例描述如表3-4所示。表3-4管理員發(fā)布公告用例描述用例編號3-3-6用例名稱管理員發(fā)布公告用例概述管理員根據(jù)需要發(fā)布公告主參與者管理員前置條件管理員成功登陸系統(tǒng)后置條件公告列表更新成功保證數(shù)據(jù)庫公告表數(shù)據(jù)更新基本事件流1點擊發(fā)布公告2管理員根據(jù)要求輸入公告內(nèi)容3點擊確認規(guī)則與約束要求必填的公告內(nèi)容不能為空3.4性能需求為了保證系統(tǒng)能夠長期、穩(wěn)定、高效的運行,校園二手書交易平臺應(yīng)該滿足以下的性能需求。1.系統(tǒng)處理的準確性和及時性系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮系統(tǒng)當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足用戶對信息處理的需求。在系統(tǒng)開發(fā)過程中,必須采用一定的方法保證系統(tǒng)的準確性。2.系統(tǒng)的易用性校園二手書的主要在校園網(wǎng)內(nèi)使用,所以要易于操作,方便管理維護。要實現(xiàn)這一點,就要求系統(tǒng)應(yīng)該盡量整理為word格式整理為word格式整理為word格式符合大多數(shù)用戶的使用習(xí)慣,使用熟悉的術(shù)語和人性化的界面。3.系統(tǒng)的標準性在自主開發(fā)本系統(tǒng)時,要嚴格按照軟件工程的規(guī)范,對系統(tǒng)進行科學(xué)的管理,保證代碼的易讀性、保密性和可移植性。3.5本章小結(jié)本章對軟件開發(fā)中將要面臨的問題及其解決方案進行初步設(shè)計及合理安排,明確開發(fā)目標;畫出了系統(tǒng)的用例圖,讓用戶對系統(tǒng)的總體結(jié)構(gòu)一目了然,對系統(tǒng)的功能進一步認識。整理為word格式整理為word格式整理為word格式4總體設(shè)計4.1系統(tǒng)功能設(shè)計系統(tǒng)設(shè)計是一個把軟件需求轉(zhuǎn)換成用軟件系統(tǒng)表示的過程。通過對目標系統(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)主要分為四大功能模塊,分別是:用戶管理模塊、圖書交易信息管理模塊、公告管理模塊、留言功能模塊。用戶管理模塊:該模塊涉及用戶操作的相關(guān)功能實現(xiàn)。包括用戶的注冊、登錄和相關(guān)用戶信息修改等基本內(nèi)容。同時,管理員可以管理已注冊的用戶信息,并擬定刪除無效賬號,如畢業(yè)生賬號。圖書交易信息管理模塊:該模塊是整個系統(tǒng)最為核心的功能模塊。用戶可依托此模塊,填寫二手書籍出售信息,進在網(wǎng)上發(fā)布,從而進行二手書銷售。也可以利用該模塊發(fā)布二手書的求購信息,真正形成相關(guān)二手書的交易平臺體系。這其中又包括發(fā)布二手書詳細信息、查看二手書詳細信息,發(fā)布求購二手書信息、查看求購信息、刪除求購圖書信息。根據(jù)設(shè)想和實際操作性考慮,圖書售出后對圖書銷售狀態(tài)的改變也可將售書圖書刪除,刪除的二手書將不再出現(xiàn)在現(xiàn)有銷售或是求購的圖書列表之中。管理員也可以使用該模塊及時掌握和跟蹤圖書交易信息,調(diào)整用戶發(fā)布的相關(guān)內(nèi)容。整理為word格式整理為word格式整理為word格式公告管理模塊:該模塊對網(wǎng)站發(fā)布的相關(guān)公告進行管理。管理員可使用該模塊進行公告的貼出、刪除等相關(guān)方面的操作。為網(wǎng)站的用戶起到指引和告知的作用。留言功能模塊:該模塊獨立于其他模塊存在,主要負責(zé)買賣雙方通過該功能模塊實現(xiàn)相互的交易溝通和聯(lián)系,方便交易。包括發(fā)表留言、標記留言狀態(tài)、刪除留言等具體功能實現(xiàn)。4.2數(shù)據(jù)庫設(shè)計4.2.1數(shù)據(jù)庫概念設(shè)計數(shù)據(jù)庫是整個項目設(shè)計中的關(guān)鍵,在整個系統(tǒng)中存儲后臺數(shù)據(jù),以供統(tǒng)計、查詢、分析等使用,一個好的數(shù)據(jù)庫能有效的管理后臺中的數(shù)據(jù),提高軟件的運行效率[15-16]。數(shù)據(jù)庫設(shè)計主要包括兩個方面內(nèi)容:數(shù)據(jù)庫分析,數(shù)據(jù)庫的設(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)整理為word格式整理為word格式整理為word格式E-R圖如下圖4-2所示,圖中各實體屬性如下。管理員信息包括管理員名稱,管理員密碼。用戶信息包括用戶名,密碼,真實姓名,性別,年齡,密保問題,答案,QQ號,郵件,電話,地址,班級號。公告信息包括公告標題,內(nèi)容,發(fā)布時間。圖書信息包括圖書名稱,圖書類別,作者,出版社,價錢,圖片,發(fā)布者,折舊程度,出售價格,附加信息,出售狀態(tài),發(fā)布時間。求購圖書信息包括圖書名稱,求購者,圖書信息,備注說明,發(fā)布時間。留言信息包括標題,內(nèi)容,留言者,留言對象,留言時間,是否已讀。圖書類信息包括圖書類別名,說明。院系信息包括院系名稱,說明。班級信息包括班級名稱,班級所屬院系,說明。圖4-2所示的E-R圖中描述了注冊用戶的各個模塊的具體功能,主要有發(fā)布出售/求購圖書信息,發(fā)布留言,查看公告等。各實體間存在關(guān)聯(lián)有:一個管理員可以管理多個用戶,管理多個公告,查看多本待售圖書信息;一個院系可以有多個班級組成,一個班級包括多個用戶;一個用戶可瀏覽多個公告,可發(fā)布多個圖書信息,發(fā)布多個求購信息,發(fā)表多個留言;一種圖書只能屬于一個圖書類型。4.2.2數(shù)據(jù)庫邏輯設(shè)計注冊用戶可以發(fā)布圖書信息,發(fā)布求購信息,書籍買賣成交后,賣家自己進行書籍已售的狀態(tài)修改,狀態(tài)修改后此書目不會再出現(xiàn)在可瀏覽書目列表中,只存在于用戶自己的已售記錄中。雙方相互留言,查看和修改自己的信息,可進行圖書搜索。游客只可以瀏覽網(wǎng)站公告,圖書信息,求購信息,可搜索。系統(tǒng)管理員可以修改登錄密碼,查看所有用戶信息,對刪除已畢業(yè)用戶,查看所有圖書信息,發(fā)布公告,查看公告,刪除公告。依據(jù)數(shù)據(jù)庫關(guān)系模式的設(shè)計結(jié)果,系統(tǒng)包含三類角色,其中三個角色分別為注冊學(xué)生用戶,系統(tǒng)管理員和游客。具體分析如下:系統(tǒng)管理員表(ID,管理員用戶,管理員密碼)整理為word格式整理為word格式整理為word格式學(xué)生用戶表(ID,用戶名,密碼,真實姓名,性別,年齡,密保問題,答案,QQ號,郵件,電話,地址,班級號)校園二手書交易平臺主要用于學(xué)生發(fā)布圖書信息瀏覽圖書信息以及瀏覽網(wǎng)站公告,因此需要有公告、圖書信息、求購圖書信息、班級、留言等內(nèi)容。設(shè)計出如下表:公告表(ID,公告標題,內(nèi)容,發(fā)布時間)院系表(ID,院系名稱,說明)班級表(ID,班級名稱,班級所屬院系,說明)圖書類別表(ID,圖書類別名,說明)圖書信息表(ID,圖書名稱,圖書類別,作者,出版社,價錢,圖片,發(fā)布者,折舊程度,出售價格,附加信息,出售狀態(tài),發(fā)布時間)求購圖書表(ID,圖書名稱,求購者,圖書信息,備注說明,發(fā)布時間)留言表(ID,標題,內(nèi)容,留言者,留言對象,留言時間,是否已讀)4.2.3數(shù)據(jù)庫的實現(xiàn)由以上得出的數(shù)據(jù)關(guān)系模式,根據(jù)對數(shù)據(jù)庫系統(tǒng)的分析可知,若要完整實現(xiàn)相應(yīng)的數(shù)據(jù)存儲需要,則在本系統(tǒng)數(shù)據(jù)庫BookShop中應(yīng)主要有數(shù)據(jù)表AdminInfo(系統(tǒng)管理員),UserInfo(用戶),DeptInfo(院系),ClassInfo(班級),BulletinInfo(公告),BookInfo(出售圖書信息),BookType(圖書類別),BegToBuy(求購信息),MsgInfo(留言)。1.AdminInfo(系統(tǒng)管理員),如圖4-3所示。圖4-3系統(tǒng)管理員信息表2.MsgInfo(留言),如圖4-4所示。圖4-4留言信息表整理為word格式整理為word格式整理為word格式3.UserInfo(用戶),如圖4-5所示。圖4-5用戶信息表4.BulletinInfo(公告),如圖4-6所示。圖4-6公告信息表5.BookInfo(出售圖書信息),如下圖4-7所示。圖4-7出售圖書信息表6.BegToBuy(求購信息),如下圖4-8所示。圖4-8求購信息表整理為word格式整理為word格式整理為word格式4.3接口設(shè)計接口里面定義的都是公共的抽象方法,抽象方法只是聲明了該方法的具有的功能,但是并沒有給予相關(guān)的實現(xiàn)。定義抽象方法方便類之間的繼承,所以定義接口的目的就是要被其它類實現(xiàn)的,在子類里面要對接口里的所有方法進行具體的實現(xiàn),這樣可以使代碼的層次更清晰,易于更新和維護。本系統(tǒng)中主要的接口類如下。1.AdminService:定義了管理員登錄、修改密碼等方法。2.UserService:定義了用戶登錄、修改個人信息等方法。3.BulleService:定義了公告發(fā)布、刪除,獲取公告列表等方法。4.MsgService:定義了保存留言信息、刪除留言信息、標記留言狀態(tài)和獲取留言列表等方法。5.BookService:定義了圖書信息的發(fā)布、獲取圖書列表、搜索圖書、修改圖書狀態(tài)等方法。6.BegService:定義了求購信息的發(fā)布、刪除等方法。在相應(yīng)的Implement類中實現(xiàn)了上述接口中所有的方法,這樣減少了代碼的重寫,只集成接口就可以,提高了組成單元的內(nèi)聚性,降低了組成單元的耦合程度,從而提高系統(tǒng)的維護性和可擴展性。4.4本章小結(jié)本章對系統(tǒng)的數(shù)據(jù)庫進行了需求分析,通過E-R圖理清了各個實體之間的關(guān)系,分析出系統(tǒng)中所需建立的表,并對各個表之間的關(guān)系進行了分析和說明,對表的設(shè)計進行了詳細的講解和說明,還介紹了表的具體實現(xiàn)過程。整理為word格式整理為word格式整理為word格式5詳細設(shè)計與實現(xiàn)本章主要介紹系統(tǒng)的功能模塊劃分和詳細設(shè)計實現(xiàn)部分,根據(jù)需求分析和用戶角色定位,對系統(tǒng)功能結(jié)構(gòu)進行劃分,并在此基礎(chǔ)上逐步實現(xiàn)系統(tǒng)各項功能。5.1系統(tǒng)的功能設(shè)計5.1.1登錄功能的設(shè)計用戶使用到二手書交易平臺系統(tǒng)的三大模塊分別是:用戶管理模塊、圖書交易信息管理模塊和留言功能模塊。用戶使用用戶管理模塊完成注冊、登錄和修改信息這三大操作。一個用戶若想進行書籍信息的發(fā)布,則首先需要成為本系統(tǒng)的注冊用戶。此時可以使用用戶管理模塊的注冊功能。在主頁選擇注冊選項,進入注冊頁面,填寫相關(guān)信息,通過驗證后完成用戶注冊。未注冊用戶只能瀏覽相關(guān)發(fā)布的書籍信息,而不能進行其他操作。用戶在頁面的登錄部分輸入注冊的用戶名和密碼,頁面的檢測算法對字符等格式進行檢測,后通過相關(guān)處理類對此請求進行處理,在驗證用戶名和密碼匹配且正確的情況下方可登錄系統(tǒng),從而可以使用其他兩個模塊進行用戶權(quán)限下的相關(guān)操作。用戶登錄后,可以修改自己的信息。選擇修改用戶信息的選項進入用戶信息修改界面,在信息修改頁面參照顯示的相關(guān)用戶信息,對自己想要修改的部分進行修改,而后提交,完成注冊信息的改動操作。對用戶的用戶管理模塊相關(guān)功能進行設(shè)計,其序列圖如圖5-1示。整理為word格式整理為word格式整理為word格式圖5-1用戶注冊、登錄及修改個人信息序列圖5.1.2用戶管理功能的設(shè)計管理員應(yīng)該可以執(zhí)行的主要功能有登錄修改個人信息、管理注冊用戶、管理公告、查看二手書信息。因此,管理員使用該系統(tǒng)的用戶管理模塊、圖書交易信息管理模塊和公告管理模塊這四大模塊的相關(guān)功能。管理用戶功能,相關(guān)序列圖如圖5-2所示。圖5-2用戶管理序列圖管理員若要對已經(jīng)注冊在庫的用戶進行管理,或是修改自己的個人信息就需要使用該系統(tǒng)的用戶管理模塊進行管理操作。這里的對用戶管理,一般指刪除用戶,因為用戶的注冊信息修改權(quán)在用戶自己手中,管理員一般不涉及。管理員輸入管理員用戶名和密碼,進入后臺管理界面,點擊用戶管理進入用戶管理界面,在此界面可查看所有用戶信息,點擊想要刪除的用戶,系統(tǒng)提示是否確定刪除,刪除成功后提示操作成功,返回用戶管理界面。整理為word格式整理為word格式整理為word格式5.1.3圖書管理功能的設(shè)計圖書交易信息管理模塊完成二手書銷售信息或求購信息的發(fā)布和相關(guān)管理操作。因此,對其使用功能分解,又可將該模塊分為求購信息管理和銷售信息管理兩類主要功能。用戶需要發(fā)布圖書求購信息或者對其本用戶的圖書求購信息進行刪除等操作,需要使用圖書交易信息管理模塊的求購信息管理子模塊。在登錄后點擊發(fā)布求購信息,進入填寫圖書求購信息界面,填寫求購的圖書信息,提交后系統(tǒng)將用戶的求購信息在頁面輸出,顯示用戶的相關(guān)求購內(nèi)容。當用戶獲得想要的圖書信息后,可以選擇將求購信息刪除。對應(yīng)序列圖如圖5-3示。圖5-3用戶管理求購信息序列圖若用戶需要發(fā)布銷售二手書的信息,或是對自己的過往二手書銷售信息進行管理的話,則需要使用圖書交易信息管理模塊的銷售信息管理子模塊。用戶登錄系統(tǒng)后點擊發(fā)布圖書信息,頁面跳轉(zhuǎn)到填寫圖書信息界面,填寫圖書信息,提交信息后返回主界面,用戶可查看圖書,圖書賣出后用戶對圖書狀態(tài)進行修改,將圖書標注為已售出,圖書將出現(xiàn)在已售出圖書中供用戶查看,可直接對圖書刪除,圖書將不在出現(xiàn)在圖書列表。用戶登錄后對二手書圖書的管理功能,對應(yīng)序列圖如圖5-4示。整理為word格式整理為word格式整理為word格式圖5-4二手書管理序列圖管理員對于二手圖書信息查看應(yīng)使用該系統(tǒng)的圖書交易信息管理模塊。使用該模塊管理員可以對用戶發(fā)布的所有圖書交易信息進行查看。相應(yīng)序列圖如圖5-5所示。圖5-5管理員圖書信息管理序列圖5.1.4留言功能的設(shè)計用戶的留言功能,相應(yīng)序列圖如圖5-6所示。整理為word格式整理為word格式整理為word格式圖5-6留言管理序列圖留言功能模塊添加留言或查看以往留言,方便買賣雙方聯(lián)系溝通。用戶購買圖書時可進行留言,使用留言可以方便用戶之間的溝通,協(xié)調(diào)買賣雙方的活動。為此,用戶使用到留言功能模塊。當?shù)卿浻脩暨M入某人的留言板時,可以在其留言板填寫留言信息。該信息被提交后,留言將出現(xiàn)在對方的留言模塊中,被留言用戶可以查看對自己的留言,在查看之后可將其狀態(tài)標注為已讀,這樣便能夠區(qū)分已讀和未讀的不同類別的留言信息。在對無用的留言刪除之后,該留言便不會出現(xiàn)在此用戶的留言列表中。5.1.5公告管理功能的設(shè)計管理員對于公告的管理要使用公告管理模塊,主要是進行發(fā)布相關(guān)公告,或是刪除公告。管理員進入發(fā)布公告界面,填寫發(fā)布公告具體信息,提交信息后返回管理界面,提交刪除請求可刪除公告,提示刪除成功后返回公告管理界面。公告管理功能對應(yīng)的序列圖如圖5-7所示。整理為word格式整理為word格式整理為word格式圖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é)合Hibernate的典型持久層操作,該系統(tǒng)可以大致認為分為四大層次,它們分別是視圖層、控制層、模型層和持久化層,但是在通常情況下還是以三層架構(gòu)的層次劃分為主。因此,類設(shè)計主要是針對控制層、模型層及持久化層開展的,對該系統(tǒng)模塊進行類級別的劃分和設(shè)計。其類別主要分為:對數(shù)據(jù)庫數(shù)據(jù)對象分析抽象形成的數(shù)據(jù)實體類,進行控制處理的核心處理控制類,調(diào)用處理相關(guān)數(shù)據(jù)的數(shù)據(jù)處理類和工具類這四大部分,其中,工具類包括過濾類和常用處理類這兩個類。系統(tǒng)類的主要劃分可見圖5-8所示。圖5-8類劃分圖這些類按照其定義及屬性劃分,可以分屬到模型、控制和持久三個層的部分當中。其中因為數(shù)據(jù)實體類是在持久層中進行對數(shù)據(jù)庫的數(shù)據(jù)封裝以及實例化的操作,它們可以歸到持久化層當中去。而數(shù)據(jù)處理類是對數(shù)據(jù)進行增、刪、改、查幾種操作的規(guī)范化設(shè)定,以及部分邏輯業(yè)務(wù)處理,于是它們既屬于持久化操作層又涉及模型層,起業(yè)務(wù)邏輯處理的功能。而核心處理控制類主要負責(zé)業(yè)務(wù)邏輯控制,它們可以被劃入控制層當中,不過其本身也承擔(dān)一部分業(yè)務(wù)邏輯處理能力,因此也可視作涉及模型層。它們的層次歸屬可以參考圖5-9。整理為word格式整理為word格式整理為word格式控制層C控制層C模型層M持久化層數(shù)據(jù)實體類核心處理控制類數(shù)據(jù)處理類工具類圖5-9類所屬層次劃分由類層次分析不難得出,使用Hibernate框架以聯(lián)系持久化層和模型層的關(guān)鍵就是建立與數(shù)據(jù)庫表對應(yīng)的數(shù)據(jù)實體類,這些類具有和數(shù)據(jù)表相應(yīng)的結(jié)構(gòu),是數(shù)據(jù)庫表的直接反映。在實際的設(shè)計和實現(xiàn)中,通過對這些數(shù)據(jù)實體類的應(yīng)用就可以達到原本對數(shù)據(jù)庫表直接操作的效果。主要數(shù)據(jù)實體類的功能如下所述。1.AdminInfo類對應(yīng)數(shù)據(jù)庫中的管理員表,是管理員表的映射實體。主要用于記錄管理員的主要信息包括管理員名稱和密碼。2.userInfo類對應(yīng)用戶表,主要記錄用戶的主要信息,這些信息主要包括用戶名,密碼,真實姓名,性別,年齡,密保問題,答案,QQ號,郵件,電話,地址,班級號。3.BegToBuy類對應(yīng)求購信息表,主要記錄求購圖書的主要信息,這些信息主要包括圖書名稱,求購者,圖書信息,備注說明,發(fā)布時間。4.BookInfo類對應(yīng)圖書信息表,主要記錄二手圖書信息,這些信息主要包括圖書名稱,圖書類別,作者,出版社,價錢,圖片,發(fā)布者,折舊程度,出售價格,附加信息,出售狀態(tài),發(fā)布時間。5.MsgInfo類對應(yīng)留言信息表,主要記錄留言的主要信息,這些信息主要包括標題,內(nèi)容,留言者,留言對象,留言時間,是否已讀。6.BulletinInfo類對應(yīng)公告信息表,主要記錄公告的主要信息,這些信細主要包括公告標題,內(nèi)容,發(fā)布時間。整理為word格式整理為word格式整理為word格式系統(tǒng)類圖主要用于描述系統(tǒng)中核心類的主要屬性特征以及它們之間的關(guān)聯(lián),如此可以更清晰地洞察到系統(tǒng)中實體之間相互作用[17-18]。主要實體類如圖5-10所示。圖5-10主要實體類圖實體類是建立持久層和模型層聯(lián)系的關(guān)鍵,但對整個系統(tǒng)而言,處理數(shù)據(jù)流向和調(diào)用處理方法的核心是控制類,這些類的實例化對象負責(zé)對整個系統(tǒng)的用戶數(shù)據(jù)進行方法調(diào)用處理,根據(jù)不同請求轉(zhuǎn)向不同業(yè)務(wù)處理流程以得到相應(yīng)處理結(jié)果。可以說,核心控制類是整個系統(tǒng)得以正常工作的保證,脫離了控制類的工作系統(tǒng)就會如同沒有指揮官的飛船一般,將會偏離預(yù)設(shè)的運行軌道。主要核心控制類的功能如下所述。1.AdminpwdAction:該類用于實現(xiàn)管理員登錄和修改密碼,通過驗證管理員輸入信息是否正確實現(xiàn)管理員登錄,通過調(diào)用AdminInfoDAO類的merge方法整理為word格式整理為word格式整理為word格式連接數(shù)據(jù)庫更新用戶的密碼屬性。2.SearchAction:該類用于搜索圖書的信息,通過調(diào)用BookInfoDAO類的searchByBookName,searchByAuthor,searchByPublisher三個方法實現(xiàn)與數(shù)據(jù)庫中信息匹配,通過連接數(shù)據(jù)庫返回滿足條件的圖書列表。3.UserLoginAction:該類用于檢測用戶是否成功登錄,用戶輸入用戶名、密碼封裝在loginForm表單中,通過該類通過調(diào)用UserInfoDAO類中checkUserLogin方法連接數(shù)據(jù)庫檢測用戶是否登錄成功。4.BegAction:該類通過調(diào)用BulltinInfoDAO類中findHotBulletinInfos方法連接數(shù)據(jù)庫獲得最新公告。通過調(diào)用BegToBuyDAO類中的findNewstBuys方法連接數(shù)據(jù)庫實現(xiàn)在首頁顯示最新的求購信息。通過調(diào)用BegToBuyDAO類中的findMyBegToBuys方法連接數(shù)據(jù)庫實現(xiàn)用戶查看自己的求購圖書。通過調(diào)用BookTypeDAO類中的findAll方法和數(shù)據(jù)庫連接實現(xiàn)查看所有圖書信息。5.MsgDetailsAction:該類用于管理留言。通過調(diào)用MsgInfoDAO類中的getUnReadMsgCount(),getUnReadMsgInfos(),getReadMsgInfos()三個方法和數(shù)據(jù)庫連接分別實現(xiàn)對未讀留言的數(shù)量統(tǒng)計,查找未讀留言信息,查找已讀留言信。6.UpdateSelfInfoAction:該類用于修改用戶的信息。先通過修改頁面來進行用戶信息的修改,通過表單類selfInFormform獲取修改后的信息,再賦值給UserInfon類的一個對象,最后調(diào)用Dao類的findByExample方法將修改后的用戶信息更新數(shù)據(jù)庫的用戶表。7.BookDetailAction:該類用于發(fā)表圖書。用戶填寫圖書詳細信息提交后封裝在bookDetailsForm表單中,通過DAO層與數(shù)據(jù)庫映射,圖書信息完整,通過調(diào)用BookInfoDAO類中的findById()方法,連接數(shù)據(jù)庫更新圖書列表。系統(tǒng)中還有很重要的一個類別,這就是作為公共調(diào)用工具的工具類,這些類沒有特別的依賴性,完成的是輔助系統(tǒng)相關(guān)業(yè)務(wù)處理工作實施的任務(wù)。雖然其內(nèi)容簡單,但是卻是不可或缺的系統(tǒng)重要組成部分。工具類的介紹如下所述。1.EncodingFilter:該類是一個過濾器類,主要用來設(shè)置web服務(wù)使用的編碼方式。整理為word格式整理為word格式整理為word格式2.StringUntil:該類主要是對信息去掉首位空格的實現(xiàn),主要方法有s.trim()。5.3系統(tǒng)的實現(xiàn)5.3.1注冊登錄功能注冊的用戶填完必填信息點擊提交便可注冊,必填信息有空缺時提示對應(yīng)項不能為空,填寫信息時會檢測用戶名是否可用,用戶名未被注冊提示用戶名可用,可繼續(xù)填寫信息,填寫用戶名已被注冊會提示用戶名不可用。輸入密碼時,兩次輸入要一致,有不同時提示密碼輸入不一致。用戶登錄,首先將從前臺頁面提交的用戶名和密碼進行接受,之后在后臺進行處理,按照用戶名在數(shù)據(jù)庫中進行查詢?nèi)绻榈皆撚脩魟t將該用戶的權(quán)限和密碼全都取出來分別賦給兩個字符串變量,判斷從數(shù)據(jù)庫中讀出的密碼與登錄時輸入的密碼是否配比上,若兩個密碼相同則根據(jù)權(quán)限的值進入相應(yīng)的頁面,否則輸出密碼錯誤。注冊界面如圖5-11所示。圖5-11用戶注冊界面其具體的三層業(yè)務(wù)流程如下。1.視圖層:接收用戶輸入的用戶名和密碼兩個信息。在用戶點選登錄按鈕后,觸發(fā)相關(guān)事件,將信息送至處理類處理。2.控制層:接受表示層提交的用戶登錄信息表單,通過struts-config配置文件查找到action處理類UserLoginAction,調(diào)用其默認的execute()方法進行處理。通過持久層UserDAO的整理為word格式整理為word格式整理為word格式checkUserLogin()方法檢測用戶登錄,而后將處理結(jié)果反饋給表示層。3.持久層:通過UserDAO類的checkUserLogin()方法檢測用戶登錄,對登錄的用戶的用戶名和密碼信息從數(shù)據(jù)庫中進行成對讀取,若無,則證明無此用戶或是用戶名和密碼出現(xiàn)錯誤,登錄失敗。登錄界面如圖5-12所示。圖5-12登錄界面管理員輸入正確的用戶名密碼可進入系統(tǒng)進行管理用戶,管理公告,查看圖書信息等操作。管理員登錄界面如圖5-13所示。圖5-13管理員登錄界面5.3.2搜索圖書和查看圖書信息功能1.用戶登錄以后進入主界面,可通過輸入書名、圖書作者或者出版社實現(xiàn)關(guān)鍵字搜索,數(shù)據(jù)庫中不存在與輸入條件匹配的數(shù)據(jù)項時,返回沒有待售圖書,數(shù)據(jù)庫中存在與輸入條件匹配的數(shù)據(jù)項時,按輸入條件返回搜索結(jié)果,功能界面如下圖5-14所示。圖5-14搜索界面用戶輸入搜索關(guān)鍵字,可輸入作者、書名、或者出版社進行搜索,根據(jù)關(guān)鍵字在數(shù)據(jù)庫中檢索,如有與關(guān)鍵字匹配的數(shù)據(jù)項則返回搜索結(jié)果列表,如沒有與關(guān)鍵字匹配的數(shù)據(jù)項,返回沒有查找圖書。搜索圖書的核心代碼如下。publicList<BookInfo>searchByBookName(StringbookName){整理為word格式整理為word格式整理為word格式 try{ StringqueryString="fromBookInfoasmodelwheremodel.isSaled=?andmodel.bookNamelike'%" +bookName+"%'"; QueryqueryObject=getSession().createQuery(queryString); queryObject.setParameter(0,false); returnqueryObject.list(); }catch(RuntimeExceptionre){ throwre; }}publicList<BookInfo>searchByAuthor(Stringauthor){ try{ StringqueryString="fromBookInfoasmodelwheremodel.isSaled=?andmodel.authorlike'%" +author+"%'"; QueryqueryObject=getSession().createQuery(queryString); queryObject.setParameter(0,false); returnqueryObject.list(); }catch(RuntimeExceptionre){ throwre; } } publicList<BookInfo>searchByPublisher(Stringpublisher){ try{ StringqueryString="fromBookInfoasmodelwheremodel.isSaled=?andmodel.publisherlike'%" +publisher+"%'"; QueryqueryObject=getSession().createQuery(queryString); queryObject.setParameter(0,false); returnqueryObject.list(); }catch(RuntimeExceptionre){ throwre;}}2.用戶登錄系統(tǒng)進入首頁后,可以查看自己的個人信息,待售圖書情況和求購圖書情況,管理自己的圖書信息,對圖書進行刪除、標記圖書狀態(tài),對求購信息進行刪除,可查看留言標記留言的狀態(tài)、刪除留言、回復(fù)留言??筛鶕?jù)需要按圖書類型查看所需圖書,點擊具體的圖書名稱可以查看該圖書的具體信息。這里對查看圖書信息的功能界面進行展示,功能界面如圖5-15所示。整理為word格式整理為word格式整理為word格式圖5-15查看圖書信息界面用戶進行操作,觸發(fā)事件,于是系統(tǒng)控制器進入配置文件struts-config當中查找對應(yīng)處理控制類,有相關(guān)的控制類根據(jù)對應(yīng)請求調(diào)用相應(yīng)的方法對圖書進行操作,可返回圖書信息,對圖書進行刪除、標記圖書狀態(tài)。5.3.3發(fā)布圖書信息功能1.用戶登錄以后,如果對圖書查詢結(jié)果不滿意,可以點擊發(fā)布求購圖書信息按鈕進行填寫所要求購的圖書信息,信息填寫完成點擊提交,求購信息出現(xiàn)在求購欄,交易結(jié)束可刪除求購信息。用戶求購信息發(fā)布時,首先要求用戶填寫發(fā)布的相關(guān)求購內(nèi)容,包括書名、描述和備注。然后這些信息被收集整理,并同時觸發(fā)事件,于是系統(tǒng)的控制器進入配置文件struts-config當中查找對應(yīng)處理控制類,并把相關(guān)三項求購信息轉(zhuǎn)入處理控制類BuyAction當中,使用默認的execute()方法進行處理。如果用戶信息存在的話,則通過BegToBuy類的對象獲得圖書信息,圖書信息完整,調(diào)用begToBuy類中的save()方法將求購信息保存到數(shù)據(jù),以便用戶查看和使用。功能界面如圖5-16所示。整理為word格式整理為word格式整理為word格式圖5-16發(fā)布求購信息界面2.用戶登錄后可以點擊發(fā)布圖書出售信息按鈕填寫要出售的圖書信息,信息填寫完整點擊提交,所發(fā)布圖書就出現(xiàn)在圖示列表同時出現(xiàn)在自己的待售圖書中。功能界面如圖5-17所示。用戶發(fā)布待售圖書時,首先要求用戶填寫發(fā)布的相關(guān)圖書內(nèi)容,包括書名、圖書類型和圖書價格等。圖書信息被整理封裝,點擊提交同時觸發(fā)事件,于是系統(tǒng)的控制器進入配置文件struts-config當中查找對應(yīng)處理控制類,并把相關(guān)圖書信息轉(zhuǎn)入處理控制類SaleAction當中,使用默認的execute()方法進行處理。如果用戶信息存在的話,則通過BookInfo類的對象獲得圖書信息,圖書信息完整,則調(diào)用saleDAO類的save()方法保存圖書信息到數(shù)據(jù)圖。圖5-17發(fā)布圖書信息界面整理為word格式整理為word格式整理為word格式5.3.4留言功能留言功能界面如圖5-18所示。圖5-18留言功能界面用戶查看到欲購買圖書后,可以通過留言跟賣家交流商定時間聯(lián)系進行交易。用戶留言時,首先要求用戶填寫留言的具體內(nèi)容,包括標題、內(nèi)容、備注。留言信息被整理封裝,點擊提交同時觸發(fā)事件,于是系統(tǒng)的控制器進入配置文件struts-config當中查找對應(yīng)處理控制類,并把相關(guān)留言信息轉(zhuǎn)入處理控制類MsgAction當中,使用默認的execute()方法進行處理。如果發(fā)表留言用戶信息存在的話,調(diào)用userInfoDAO類的findById()方法找到留言對象,如果留言對象存在,則調(diào)用msgActionDAO類的save()方法將留言存入數(shù)據(jù)庫。5.3.5管理員管理用戶功能管理員登錄本系統(tǒng)后,可以管理注冊用戶信息,對于已畢業(yè)的學(xué)生可進行刪除,如圖5-19所示。圖5-19管理員管理用戶界面當系統(tǒng)管理員對已畢業(yè)用戶進行刪除時,首先進入系統(tǒng)的管理員主界面,進入該頁面后可以選擇用戶管理模塊進入用戶管理頁面,在此頁面中選中已畢業(yè)學(xué)生,系統(tǒng)將此信息傳入服務(wù)器端,服務(wù)器接收該信息后調(diào)用相關(guān)用戶信息查詢業(yè)務(wù)邏輯類進行處理,從數(shù)據(jù)庫中讀出對應(yīng)的用戶信息,將此信息封裝,由控制器將信息發(fā)送至頁面顯示,以此完成用戶的個人信息瀏覽。控制層接收到用戶管理頁面?zhèn)鱽碛脩粽埱???刂破鹘邮盏揭褂脛h除方法的服務(wù)器請求,就調(diào)用刪除用戶的方法,實例化用戶服務(wù)類并使用其刪除方法對用戶刪除,實質(zhì)就是使用Hibernate的delete方法,把用form封裝的用戶信息與數(shù)據(jù)庫中的用戶對比然后刪除。刪除成功,轉(zhuǎn)向提示頁面,提示刪除成功;刪除失敗,也轉(zhuǎn)向提示頁面,提示刪除失敗。整理為word格式整理為word格式整理為word格式5.3.6公告管理功能管理員登錄本系統(tǒng)后,可以發(fā)布公告信息,可對已經(jīng)發(fā)布的公告進行查詢,對已過時公告進行刪除操作,如圖5-20所示。管理員發(fā)布公告時,首先要填寫發(fā)布的公告標題以及公告內(nèi)容。然后這些信息被收集整理,并同時觸發(fā)事件,于是系統(tǒng)的控制器進入配置文件struts-config當中查找對應(yīng)處理控制類,并把相關(guān)公告信息轉(zhuǎn)入處理控制類BulleAction當中,使用默認的execute()方法進行處理。通過BulleInfo類的對象獲得公告信息,公告信息完整,調(diào)用BulletinInfoDAO類中的save()方法將求購信息保存到數(shù)據(jù),以便用戶查看和使用。圖5-20管理員發(fā)布公告界面公告管理頁面通過控制器傳來的公告數(shù)據(jù)在表格中顯示出來,并且安置了刪除按鈕。公告數(shù)據(jù)是被封裝在實體類對象中的,當頁面接收到這個對象后,就使用EL表達式將公告數(shù)據(jù)中的每個屬性分別抽離出來按類別進行顯示。同時,這些信息屬于發(fā)布公告時填寫的內(nèi)容,使用公告表單form對象,可以在管理員單擊刪除按鈕后把這些信息封裝并提交,傳遞給控制器,讓控制器進行處理使用。刪除按鈕設(shè)定了與控制器關(guān)聯(lián)的URL路徑,通過執(zhí)行控制器中的公告刪除方法可以將該頁面顯示的公告信息刪除。整理為word格式整理為word格式整理為word格式管理員刪除公告時,進入公告管理頁面,選中要刪除的公告,點擊刪除??刂破鹘邮盏揭褂脛h除方法的服務(wù)器請求,就調(diào)用刪除公告的方法,實例化公告服務(wù)類并使用其刪除方法對公告刪除,實質(zhì)就是使用Hibernate的delete方法,把用form封裝的公告信息與數(shù)據(jù)庫中的公告對比然后刪除,效果如圖5-21所示。圖5-21管理員刪除公告界面5.4本章小結(jié)本章主要介紹系統(tǒng)的詳細設(shè)計與實現(xiàn),給出了詳細的功能結(jié)構(gòu)圖,一目了然的了解系統(tǒng)的功能,對系統(tǒng)進行功能劃分,分為用戶管理功能、圖書管理功能、公告管理功能、留言功能,并對各個模塊進行分析畫出序列圖及具體實現(xiàn)的截圖。整理為word格式整理為word格式整理為word格式6測試測試主要是針對系統(tǒng)在運行過程中可能出現(xiàn)的問題進行檢測,以確保系統(tǒng)在任何環(huán)境下均能正常工作[19]。6.1測試的意義現(xiàn)在軟件質(zhì)量給人們的利益密切相關(guān),為了避免由于軟件質(zhì)量給人們帶來的一系列經(jīng)濟等各方面的損失,甚至災(zāi)難。因此,人們對軟件質(zhì)量的重視程度越來越高,測試在軟件開發(fā)中的地位也越來越重要。軟件工程的總目標是充分利用有限的人力和物力資源,高效率、高質(zhì)量地完成軟件開發(fā)項目。不足的測試勢必使軟件帶著一些未揭露的隱藏錯誤投入運行,這將意味著更大的危險讓用戶承擔(dān)。所以,軟件測試是軟件生命周期中一項非常重要且非常復(fù)雜的工作,對軟件可靠性保證具有極其重要的意義[20]。6.2測試環(huán)境測試環(huán)境如下表6-1所示。表6-1測試環(huán)境表軟件環(huán)境(相關(guān)軟件、操作系統(tǒng)等)操作平臺:WindowsXP數(shù)據(jù)庫:MicrosoftSQLServer2000服務(wù)器:Tomcat6.0瀏覽器:InternetExplorer8.0硬件環(huán)境(網(wǎng)絡(luò)、設(shè)備等)CPU:2.0GHz內(nèi)存:2G硬盤:500G6.3功能測試功能測試的目標是核實數(shù)據(jù)的接受、處理和檢索是否正確,以及業(yè)務(wù)規(guī)則的實施是否恰當。此類測試基于黑盒技術(shù),該技術(shù)通過圖形用戶界面(GUI)與應(yīng)用程序進行交互,并對交互的輸出或結(jié)果進行分析,以此來核實應(yīng)用程序及其內(nèi)部進程。整理為word格式整理為word格式整理為word格式功能一:用戶登錄功能測試目的:測試用戶是否能登錄系統(tǒng)測試方法:黑盒測試測試數(shù)據(jù)如表6-2所示。表6-2管理員更新用戶信息的測試數(shù)據(jù)用例ID用戶名密碼測試
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆福建省百校高二物理第一學(xué)期期末經(jīng)典模擬試題含解析
- 2025屆北京市朝陽陳經(jīng)綸中學(xué)高一物理第一學(xué)期期末統(tǒng)考試題含解析
- 2025屆遼寧省大連市渤海高級中學(xué)物理高一第一學(xué)期期中調(diào)研試題含解析
- 2025屆湖南省醴陵二中、四中高三物理第一學(xué)期期末預(yù)測試題含解析
- 江西豐城二中2025屆物理高三上期末調(diào)研試題含解析
- 江西省九江市九江一中2025屆高一物理第一學(xué)期期末經(jīng)典試題含解析
- 2025屆福建省寧德市重點名校物理高一上期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 林區(qū)修建應(yīng)急通道委托書范本
- 文物保護與修復(fù)基礎(chǔ)知識單選題100道及答案解析
- 【10份】2019高考數(shù)學(xué)(浙江)二輪復(fù)習(xí)練習(xí):階段質(zhì)量檢測 綜合檢測
- 華為數(shù)字能源初級練習(xí)卷含答案
- 2023年中級經(jīng)濟師考試真題及答案完整版
- 二年級上冊道德與法治10《我們不亂扔》說課稿
- 2023-2024學(xué)年高一上學(xué)期選科指導(dǎo)主題班會 課件
- Unit4ExploringpoetryExtendedReading公開課課件高中英語牛津譯林版(2020)選擇性
- 天線技術(shù)在智能電網(wǎng)通信系統(tǒng)中的關(guān)鍵技術(shù)研究-第2篇
- 急診科護士培訓(xùn)計劃(6篇)
- 初一二元一次方程組計算50題
- 中國公路學(xué)會高德地圖-2023年高速公路服務(wù)區(qū)出行熱度分析報告:1月-6月
- 安裝發(fā)光字驗收單
- 項目式學(xué)習(xí)在初中化學(xué)單元教學(xué)中的應(yīng)用以第九單元“溶液”教學(xué)為例
評論
0/150
提交評論