版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
圖書銷售管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)目錄TOC\o"1-3"\h\u143541引言 引言現(xiàn)代人們生活活動不斷的日益豐富,人們更多的生活在喧囂的快節(jié)奏生活中,缺少了一種使內(nèi)心平靜的東西——書籍。圖書銷售管理系統(tǒng)的由此應(yīng)運(yùn)而生,同時也隨著計算機(jī)產(chǎn)品在生活中被廣泛運(yùn)用,所以在網(wǎng)上進(jìn)行圖書銷售也是一種必然的結(jié)果。大量的知識儲備能最好的發(fā)展自我的身心、創(chuàng)造出良好的生活,而能夠創(chuàng)造這種奇跡的只有書籍。對于書籍的購買,傳統(tǒng)的實(shí)體書店過于死板,為了迎合新時代的發(fā)展,出現(xiàn)了一種全新的購書模式——網(wǎng)上購書。網(wǎng)上購書的出現(xiàn)打破了傳統(tǒng)書店的時空局限、宣傳方式單一等缺點(diǎn),帶來的是更加方便、快捷的購書方式。因?yàn)橘彆W(wǎng)站中海量的圖書資源,幾乎滿足了所有人群的需求。購書網(wǎng)站被越來越多的人的所接受。購書網(wǎng)站的誕生是一個很短的時間,在很短的時間內(nèi)購書網(wǎng)站平臺出現(xiàn)了從無到有,從簡單的購買到如今的規(guī)?;⑾到y(tǒng)化的購書系統(tǒng)。與線下實(shí)體書店單一的銷售的模式相比,這種新誕生的書籍的采買模式,有很多優(yōu)勢:相比之下新的模式降低了的很多的成本;網(wǎng)上的圖書可以提供便捷的檢索方式,用戶可以根據(jù)自己的需求進(jìn)行快速的檢索;更快更速度的信息傳播,使顧客可以在書籍上傳后的第一時間就可以瀏覽到,然后就可以根據(jù)自己的需要直接進(jìn)行消費(fèi),極大地提升了人們購買書籍的效率;解決了時、空間的限制,在時間上可以實(shí)現(xiàn)24小時全天候服務(wù),使購書隨時都可以進(jìn)行;在空間上,圖書銷售管理系統(tǒng)的數(shù)量多、品種全,沒有空間上的限制。當(dāng)然也正是因?yàn)檫@諸多的好處,突破了線下書店的一些局限性,網(wǎng)上書城才發(fā)展的如此的快。圖書銷售管理系統(tǒng)的利用網(wǎng)站作為平臺進(jìn)行交易有關(guān)流程,將書籍的相關(guān)信息發(fā)布在網(wǎng)上供用戶瀏覽參考??蛻艨梢愿鶕?jù)書籍的相關(guān)介紹信息來選擇自己感興趣的書籍,加入到購物車,提交訂單并進(jìn)行書籍的購買,最終在網(wǎng)上完成交易。
2相關(guān)技術(shù)2.1技術(shù)介紹2.1.1MVC框架MVC是能夠讓同一個程序呈現(xiàn)出不同的表現(xiàn)形式的模型。20世紀(jì)80年代,施樂帕克公司發(fā)明了mvc軟件設(shè)計模式,主要針對編程語言。后來java公司使用了該模式,并且將它推廣給其他的計算機(jī)軟件開發(fā)者,于是它開始在世界范圍內(nèi)被廣泛使用。M指的是model(模型),V指的是view(視圖),C指的是controller(控制器),這三個核心組件可以幫助任何一個程序劃分獨(dú)立的任務(wù)完成區(qū)域,讓程序的輸入、處理、輸出都相對獨(dú)立,分開進(jìn)行[1]。M(模型層):信息標(biāo)識業(yè)務(wù)數(shù)據(jù),也是處理任務(wù)最多的組件。Mvc中的核心是模型層,因?yàn)樗?fù)責(zé)執(zhí)行軟件的各個功能。而模型層又分為兩部分,第一部分用于處理計算機(jī)業(yè)務(wù),第二部分用于專門進(jìn)行數(shù)據(jù)訪問。Javabean經(jīng)常會使用數(shù)據(jù)訪問層倆進(jìn)行封裝數(shù)據(jù)庫、或是搜索信息,而業(yè)務(wù)處理層則負(fù)責(zé)一般業(yè)務(wù)。因?yàn)槟P蛯拥拇a只需編寫一次即可用于多個視圖,所以無需重復(fù)編寫代碼。V(視圖層):向用戶呈現(xiàn)數(shù)據(jù)的頁面。主要負(fù)責(zé)表單,顯示頁面,與用戶的交互。該視圖層主要使用的技術(shù)有jsp、js等等,此外,想要實(shí)現(xiàn)用戶與程序的信息交換,需要用戶點(diǎn)擊網(wǎng)絡(luò)頁面,填寫各種表格,從而為用戶提供各種不同的頁面[17]。C(控制層):調(diào)用適當(dāng)?shù)臄?shù)據(jù)(模型)并將其分配給業(yè)務(wù)邏輯,并將數(shù)據(jù)(模型)傳輸?shù)揭晥D層(視圖)以進(jìn)行表示。其相當(dāng)于一個模型分發(fā)器,再接收到請求之后將其轉(zhuǎn)到模型層再進(jìn)行處理任務(wù),處理完之后,模型層通過控制層返回到視圖層中的請求處。[18]。因此,由上所述,MVC處理大致分為以下幾個階段:首先,控制器在收到用戶的請求時,會根據(jù)請求的內(nèi)容來判斷使用哪個模型進(jìn)行業(yè)務(wù)處理。其次,在處理用戶請求后,被選擇的模型會反饋數(shù)據(jù)。最終,經(jīng)過處理之后,控制器會將模型轉(zhuǎn)化為數(shù)據(jù)格式,然后再轉(zhuǎn)換成視圖,通過視圖層展示給用戶。2.1.2JQueryUI前端框架JQuery是一個JavaScript框架,它還可以被稱為是一套完整的JavaScript代碼集,具有簡單的語法和跨平臺兼容性。JQuery最初為了讓寫代碼具備事半功倍的效果而創(chuàng)建的,換句話說,在少編寫代碼的情況下還能完成大量的任務(wù)。這個程序前端框架配備了javascript中所有常用的操作代碼,還提供了簡潔的編程語言設(shè)計空間。不僅有處理頁面事件的作用,頁面動畫流暢度也有所增強(qiáng),還優(yōu)化了html的文檔屬性,提供完整的ajax交互[8]。jQuery框架的代碼具有美元起始風(fēng)格和鏈?zhǔn)骄幊田L(fēng)格。綜上所述,JQuery的特點(diǎn)可以概括為:第一,可以擴(kuò)展CSS選擇器,第二,擴(kuò)展系統(tǒng)機(jī)制和插件數(shù)量;第三,簡潔語法是一個相對精確、小巧、通用的接口;2.2開發(fā)語言和環(huán)境2.2.1Java編程語言作為一種常用、高效的生物編程語言,java不僅具備C++中的優(yōu)秀屬性,并且還摒棄了C++中的復(fù)雜方法和混亂的指標(biāo)。因此,這種編程語言有兩個突出特點(diǎn):第一,Java的后臺處理程序十分快捷,能夠進(jìn)行大規(guī)模的數(shù)據(jù)處理,具有高效性和便捷性特征。第二,這種語言更適合靜態(tài)表現(xiàn)對象,允許開發(fā)人員可以用簡單的方式來處理較為復(fù)雜的邏輯處理[2]。除了上述兩個突出優(yōu)點(diǎn)外,Java還有其他的特殊屬性。比如,java的性能比其他編程程序要優(yōu)越許多,并且其代碼語言很方便移動到特定位置。Java具有多平臺分發(fā)的功能,能夠描述桌面軟件、web程序、分布式的操作。此外,IDE是java開發(fā)人員最為重要的工具,使用它可以給測試程序提供一個安全的開發(fā)環(huán)境,這也是java語言的一大特征[3]。2.2.2JavaScript作為一種計算機(jī)腳本語言,JavaScript一般用作動態(tài)輸入和內(nèi)部媒體使用??梢詫⒎g器稱為JavaScript工具,它也是瀏覽器不可或缺的一部分,廣泛用于客戶端。這種腳本語言最初用于HTML頁面,為網(wǎng)站頁面添加動畫效果。2.2.3HTML/CSSHTML是超文本標(biāo)記語言,也是網(wǎng)頁上最常用和最常用的通用語言。網(wǎng)頁的語言包含在帶有大于和小于符號的記中。其中一些標(biāo)簽是一起出現(xiàn),而另一些則不成對出現(xiàn)。HTML標(biāo)記是在尖括號中的語言,所以也被稱為超文本標(biāo)記語言、而超文本經(jīng)常被俗稱為超鏈接,標(biāo)簽被俗稱為標(biāo)記。這是用于創(chuàng)建前端可視化界面的語言,這種語言包括許多HTML標(biāo)簽,用這種語言創(chuàng)建的可視化界面將保存為文本文件,而該文件把.html或.htm作為擴(kuò)展名[4]。CSS級聯(lián)樣式表,也可簡稱為樣式表或“CSS”,其主要的作用是設(shè)計前臺可視界面的樣式。例如,DIV標(biāo)簽是鼠標(biāo)單擊前的原始樣式,而DIV塊在單擊后變?yōu)榧t色。這是一種風(fēng)格。通過對樣式的設(shè)置,可以對HTML前端的可視界面中每個徽標(biāo)的顯示屬性進(jìn)行統(tǒng)一的控制。級聯(lián)樣式表允許準(zhǔn)確識別網(wǎng)站元素的位置、布局和特殊效果的能力進(jìn)行精確的指定。[5]。2.2.4MySQL關(guān)系數(shù)據(jù)庫就是建立在關(guān)系數(shù)據(jù)庫模型基礎(chǔ)上的數(shù)據(jù)庫,這個數(shù)據(jù)庫能夠以各種各樣的方式存取或重新組織數(shù)據(jù)。之所以MySQL被看作是傳統(tǒng)的關(guān)系數(shù)據(jù)庫,是因?yàn)樗慕M織結(jié)構(gòu)比較開放,用戶使用時有很大的自主權(quán)利。隨著計算機(jī)技術(shù)的進(jìn)步,該系統(tǒng)也在不斷開發(fā)新的功能,其使用性能也在不斷提高。越來越多的開發(fā)人員致力于MySQL的開發(fā)與維護(hù),這個程序的安全性就會增加,使用程序的企業(yè)或個人也會變多[6]。關(guān)系數(shù)據(jù)庫的一大特點(diǎn)是不同的表存儲不同的數(shù)據(jù)。隨著數(shù)據(jù)庫數(shù)量的增加,就可以盡可能將不同類型的信息細(xì)化,而不是采用“所有雞蛋都放在一個籃子里”的做法。用戶在使用過程中,可以將不同的數(shù)據(jù)表格存儲在不同的數(shù)據(jù)庫中,這樣MySQL的執(zhí)行反饋能力也會更強(qiáng)。數(shù)據(jù)檢索與管理的能力更加靈活,該程序中的查詢功能也是通過標(biāo)準(zhǔn)化語言來實(shí)現(xiàn)的[7]。2.3開發(fā)工具及平臺2.3.1開發(fā)工具Eclipse是OTI公司旗下的一個開發(fā)平臺,這個平臺的功能相當(dāng)于IDE給java開發(fā)人員提供的功能,都能夠創(chuàng)造集成開發(fā)環(huán)境。因?yàn)檫@個開發(fā)平臺中的每個插件都能夠給用戶帶來幫助,并且所有開發(fā)人員都有相同的開發(fā)場所。但是就其本身而言,它僅僅只是個框架。此外,由于Eclipse支持許多擴(kuò)展插件,所以它的靈活性相較于IDE來說更差。所以更多的開發(fā)人員只是將其作為開發(fā)框架。代碼編寫、分析、翻譯、糾錯等都可在Eclipse上操作,免安裝、擴(kuò)展性強(qiáng)等優(yōu)特點(diǎn)[8-13]。2.3.2開發(fā)平臺Tomcat是一個免費(fèi)web應(yīng)用服務(wù)器,它可以適用于多個不同場合,比如中小型的企業(yè)系統(tǒng),或是并發(fā)訪問。由于它的重量不大,所以方便使用。并且它提供開放的源代碼,很方便jsp的程序開發(fā)[14]。
3系統(tǒng)分析3.1系統(tǒng)可行性分析3.1.1經(jīng)濟(jì)可行性判斷一個系統(tǒng)的可行性,首先要從經(jīng)濟(jì)因素出發(fā)。分析其能夠帶來的經(jīng)濟(jì)效益、社會效益,來衡量系統(tǒng)的經(jīng)濟(jì)性。如果這個系統(tǒng)能夠有效幫助圖書管理員減輕工作量,方便用戶的使用,那么它就能夠有效降低管理成本和人力成本。如果這個系統(tǒng)不能節(jié)省圖書銷售成本以及銷售資源,并且還會帶來額外的人力、物力成本,那么開發(fā)這個系統(tǒng)是無用且無價值的,并且沒有開發(fā)和設(shè)計的先決條件。圖書銷售管理系統(tǒng)的需要的設(shè)計投資僅需要很小的投資。不會對程序員本身的經(jīng)濟(jì)情況形成較大負(fù)擔(dān)。經(jīng)濟(jì)上不會對開發(fā)造成壓力。3.1.2技術(shù)可行性其次,從技術(shù)層面考慮可行性。開發(fā)用于圖書銷售的管理系統(tǒng)要使用多種技術(shù),比如,設(shè)計前段可視化頁面需要用到HTML、JavaScript技術(shù)等等,框架使用JQueryUI框架。系統(tǒng)后臺的開發(fā)語言采用JAVA,開發(fā)輕平臺的最佳組合即JSP、Servlet、MySQL,開發(fā)難度簡單,適合開發(fā)者現(xiàn)有的水平[15]。且只需要少量的開發(fā)人員就能完成網(wǎng)站的大部分功能。減輕了開發(fā)人員數(shù)量的壓力。系統(tǒng)可以在較短的時間內(nèi)準(zhǔn)確查到想要的數(shù)據(jù)。并在維護(hù)的時候可以減輕維護(hù)人員的壓力[16]。3.1.3操作可行性圖書銷售管理系統(tǒng)的操作簡易、方便,用戶可以直接進(jìn)入網(wǎng)站進(jìn)行瀏覽,在進(jìn)入圖書銷售管理系統(tǒng)的進(jìn)行購買時如果沒有登入會返回登入頁面進(jìn)行登入,如果沒有賬號可以進(jìn)行會員注冊登錄,注冊賬號后會自動登錄系統(tǒng),用戶可以搜索自己喜愛的書籍,進(jìn)行購買。如果不記得書籍名字,也可以根據(jù)書的類型、中心詞進(jìn)行搜索,然后加入書架,最后支付書款。3.1.4組織可行性最后,系統(tǒng)的開發(fā)還要考慮組織可行性。開發(fā)系統(tǒng)需要制定明確的系統(tǒng)開發(fā)方案,確定合理的組織結(jié)構(gòu),選擇經(jīng)驗(yàn)豐富的管理人員,建立雙贏的關(guān)系,并為系統(tǒng)的正常運(yùn)行定期對人員進(jìn)行培訓(xùn)。3.2總體功能需求分析用于圖書銷售的管理系統(tǒng)被開發(fā)設(shè)計完成后,其系統(tǒng)功能主要分為五個方面:第一用戶注冊/登錄板塊、瀏覽書目板塊、購物車板塊、查看訂單板塊、后臺管理模塊。如圖3-1所示:圖3-1圖書銷售管理系統(tǒng)的總體結(jié)構(gòu)圖3.3各模塊功能需求分析3.3.1用戶模塊登錄/注冊模塊分為用戶登入、注冊以及管理員登入。用戶登錄:在登錄前,用戶只能使用系統(tǒng)的瀏覽、搜索、查看功能,不能進(jìn)行購買、加入購物車的操作。如果用戶想要購買書籍,必須先登錄系統(tǒng),沒有賬號的會在用戶輸入信息時自動為其注冊賬號。當(dāng)用戶輸入賬號密碼后,系統(tǒng)會隨機(jī)生成驗(yàn)證碼,來驗(yàn)證用戶是否是本人在登錄。用戶需要填寫正確的驗(yàn)證碼才能登錄系統(tǒng)。如果用戶不小心輸錯了賬號或密碼或是驗(yàn)證碼,系統(tǒng)會自動彈出登錄失敗的消息。用戶注冊:用戶在登入時如果沒有賬號,可以在注冊頁面注冊后進(jìn)行登入。根據(jù)前端網(wǎng)頁中要求輸入的內(nèi)容進(jìn)行注冊,如果用戶名、郵箱等在用戶表中不存在則可以成功注冊。注冊成功后轉(zhuǎn)入到登入可視化界面,根據(jù)注冊的賬號或手機(jī)進(jìn)行登入。用戶模塊結(jié)構(gòu)圖如下圖3-2所示:圖3-2用戶模塊結(jié)構(gòu)圖3.3.2書籍瀏覽模塊用戶在沒有登入時可以根據(jù)頁面所提示的相關(guān)分類,瀏覽自己所需要的書籍,查看書籍的相關(guān)信息。用戶也可以根據(jù)書籍名稱、作者姓名等關(guān)鍵詞進(jìn)行搜索。登錄系統(tǒng)后,用戶可以查看圖書列表,對有興趣的書目可以點(diǎn)擊文本進(jìn)行詳細(xì)閱覽,在瀏覽期間,用戶可以隨時把意愿書目加入購物車,自主選擇購買數(shù)量,自主下單。書籍瀏覽模塊結(jié)構(gòu)圖如下圖3-3所示:圖3-3書籍瀏覽模塊結(jié)構(gòu)圖3.3.3購物車模塊購物車板塊的功能包括:清理購物車、添加、修改等,用戶在登陸系統(tǒng)后,可以清理掉失效書目或自己不喜歡的書目,還可以修改書籍的購買數(shù)量。該板塊的結(jié)構(gòu)如圖3-4所示:圖3-4購物車模塊結(jié)構(gòu)圖3.3.4訂單模塊只有系統(tǒng)注冊用戶才能夠使用訂單模塊的功能,當(dāng)用戶填寫收件人信息時,提交訂單,支付貨款后,系統(tǒng)就會自動生成新訂單,然后反饋到后臺。銷售人員則會根據(jù)訂單內(nèi)容來郵寄書籍。用戶也可以在系統(tǒng)上查看自己的訂單、以及物流信息等。如圖3-5所示:圖3-5訂單模塊結(jié)構(gòu)圖3.3.5后臺管理模塊系統(tǒng)的后臺管理被細(xì)分為三個小板塊,如下:分類管理:管理員進(jìn)入系統(tǒng)后臺后,可以對圖書目錄進(jìn)行分組或單獨(dú)管理,可以添加一級分類,也可以刪除二級分類。圖書管理:用戶在系統(tǒng)前臺看到的圖書詳細(xì)信息,都是管理員在系統(tǒng)后臺編輯的,這一板塊可以讓管理員刪除或修改圖書信息。訂單管理:管理員可以看到系統(tǒng)自動生成的訂單,能夠查看訂單詳細(xì),或是取消訂單。后臺管理模塊結(jié)構(gòu)如下圖3-6所示圖3-6后臺管理模塊結(jié)構(gòu)圖
4系統(tǒng)設(shè)計4.1總體設(shè)計4.1.1系統(tǒng)劃分根據(jù)系統(tǒng)功能需求分析,針對每一模塊分別設(shè)計出了具體的功能,并且設(shè)計了前臺與后臺模塊。如圖4-1所示:系統(tǒng)的前臺銷售模塊圖4-1圖書銷售管理系統(tǒng)的的前臺模塊后臺管理員功能模塊如圖4-2所示:圖4-2圖書銷售管理系統(tǒng)的的后臺模塊4.1.2處理流程設(shè)計根據(jù)系統(tǒng)分析可以知道,用戶在未登陸系統(tǒng)前屬于游客游覽,用戶想要對書籍進(jìn)行購買則必須進(jìn)行登入,登入后可以使用站內(nèi)的所有功能。頁面左側(cè)會顯示圖書的一級、二級分類,用戶可以根據(jù)詳細(xì)分類瀏覽到自己所需要的書籍并查看書籍的詳細(xì)信息;如果用戶沒有時間進(jìn)行仔細(xì)瀏覽,可以通過首頁的搜索進(jìn)行搜找,可以用書名、出版社等信息來搜找自己心里有意愿購買的圖書。先在搜索頁面進(jìn)行查找,然后確定想買的圖書后,將其添加到購物欄。為了方便用戶使用購物欄默認(rèn)分組只有一個,以便不會添加到其他分組,在購物車中,用戶就可以再次確認(rèn)購買書籍或是刪除不想要的圖書。在對購物車中的書籍?dāng)?shù)量編輯好后并填寫收貨信息,提交訂單后可以在我的訂單中查看到已經(jīng)購買的書籍,并查看其詳細(xì)信息。管理員不需要注冊,只需要系統(tǒng)提供的賬號和密碼進(jìn)行登入。登入成功后會對分類、書籍、訂單進(jìn)行基本的管理。圖書銷售管理系統(tǒng)的流程圖如圖4-3所示:圖4-3圖書銷售管理系統(tǒng)的流程圖4.2數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是大部分軟件、系統(tǒng)的基礎(chǔ)。在進(jìn)行數(shù)據(jù)庫設(shè)計前首先需要分析了解用戶需要什么功能,設(shè)計概念模型,然后將概念模型轉(zhuǎn)換為數(shù)據(jù)庫管理系統(tǒng)支持的數(shù)據(jù)模型,也就是邏輯結(jié)構(gòu)設(shè)計。4.2.1概念模型設(shè)計圖書銷售管理系統(tǒng)的的分析與設(shè)計的初衷是為了服務(wù)于沒有時間到實(shí)體店進(jìn)行購買書籍的用戶。所以主要用戶是普通大眾。普通大眾要成為圖書銷售管理系統(tǒng)的的用戶必須先進(jìn)行注冊,這樣就涉及到用戶的實(shí)體對象。當(dāng)用戶登入成功后可以對書籍進(jìn)行瀏覽,涉及到書籍實(shí)體對象。用戶在網(wǎng)站內(nèi)可以進(jìn)行搜索,這樣又涉及到書籍分類實(shí)體。用戶在瀏覽書籍時會把自己喜歡的書籍加入到購物車中,涉及到購物車實(shí)體。書籍下單時要填寫相關(guān)收貨信息,下單后用戶會對訂單進(jìn)行查看,這便涉及到訂單實(shí)體和訂單目錄實(shí)體。最后,則涉及到管理員的用戶密碼,即管理員實(shí)體。本系統(tǒng)的主要實(shí)體有:User實(shí)體類、Category實(shí)體類、Book實(shí)體類、Cartitem實(shí)體類、Order實(shí)體類、Orderitem實(shí)體類、Admin實(shí)體類。(1)User實(shí)體圖4-4User實(shí)體圖(2)Category實(shí)體圖4-5Category實(shí)體圖(3)Book實(shí)體圖4-6Book實(shí)體圖(4)Cartitem實(shí)體圖4-7Cartitem實(shí)體圖(5)Order實(shí)體圖4-8Order實(shí)體圖(6)Orderitem實(shí)體圖4-9Orderitem實(shí)體圖(7)Admin實(shí)體圖4-10Admin實(shí)體圖圖書銷售管理系統(tǒng)的的全局E-R模型如圖4-11所示圖4-11全局E-R模型4.2.2邏輯結(jié)構(gòu)設(shè)計能設(shè)計出ER圖,設(shè)計時主要是根據(jù)概念結(jié)構(gòu)模型的設(shè)計來進(jìn)行的,而后轉(zhuǎn)成邏輯結(jié)構(gòu),而此邏輯結(jié)構(gòu)要與MySQL所支持的數(shù)據(jù)類型相符合[10]。整體的邏輯結(jié)構(gòu)的表述如下:(1)用戶(用戶名、用戶名、登錄密碼、電子郵件地址)(2)圖書類別(類代碼、類名、類描述、排序號、版塊代碼)(3)圖書(圖書標(biāo)識、圖書名稱、作者、定價、現(xiàn)價、折扣、出版商、出版時間、版本、頁碼、字?jǐn)?shù)、印刷時間、格式、紙張質(zhì)量、類別標(biāo)識、大象形圖、小印刷號、序號排列)(4)購物車識別號、編號、賬號、用戶名、分揀號(5)訂閱(訂單號、總數(shù)量、訂單狀態(tài)、收獲日期、訂單時間、用戶ID)(6)訂閱列表(訂單列表編號、編號、小計金額、圖書標(biāo)識符、圖書名稱、當(dāng)前價格、縮略圖路徑、訂單編號)(7)系統(tǒng)管理員(管理員代碼、姓名、密碼)4.2.3表結(jié)構(gòu)設(shè)計概念設(shè)計主要是通過數(shù)據(jù)庫的概念結(jié)構(gòu)和模式進(jìn)行建立數(shù)據(jù)庫的邏輯結(jié)構(gòu),然后利用數(shù)據(jù)庫的DBMS進(jìn)行完成,它不需要計算機(jī)系統(tǒng)的支持。根據(jù)數(shù)據(jù)庫的邏輯結(jié)構(gòu)進(jìn)行設(shè)計,從而對本程序共設(shè)計出的表有:User表、Category表、Book表、Cartitem表、Order表、Orderitem表、Admin表。每一個數(shù)據(jù)表所對應(yīng)的表結(jié)構(gòu)如下表所示[11]。(1)User表用于記錄用戶信息,如表4-1所示。表4-1User表數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_uid32charN用戶IDL_loginname50varcharN登錄名稱L_loginpass50varcharN密碼L_email50varcharN郵箱(2)category表用于記錄書籍分類,如表4-2所示。表4-2category表數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_cid32charN所屬分類ID數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_cname50varcharN分類名稱L_pid32charY父分類IDL_desc100varcharY分類描述L_orderBy11intY排序(3)book表用于記錄書籍的信息,如表4-3所示。表4-3book表數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_bid32charN圖書IDL_bname200varcharN書圖名稱L_author50varcharY作者L_price8decimalY定價L_currPrice8decimalY當(dāng)前價L_discount3decimalY打折L_press100varcharY出版社L_publishtime10charY出版時間L_edition11intY版次L_pageNum11intY頁數(shù)L_wordNum11intY字?jǐn)?shù)L_printtime10charY印刷時間L_booksize11intY開本L_paper50varcharY紙質(zhì)L_cid32charY所屬分類IDL_image_w100varcharY大圖L_image_b100varcharY小圖L_orderBy11intY序號(4)cartitem表用于記錄購物車中的信息,如表4-4所示。表4-4cartitem表數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_cartItemId32charN購物車ID數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_quantity11intN數(shù)量L_bid32charN圖書IDL_uid32charN用戶IDL_orderyBy11intN序號(5)order表用于記錄訂單信息,如表4-5所示。表4-5order表數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_oid32charN所屬訂單IDL_ordertime32charN下單時間L_total11decimalN合計金額L_status11intN訂單狀態(tài)L_address1000varcharN收貨地址L_uid32charN用戶ID(6)orderitem表用于記錄已下單的信息,如表4-6所示。表4-6t_Orderitem表數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_orderItemId32charN訂單目錄IDL_quantity11intN數(shù)量L_subtotal8decimalN總計L_bid32charN圖書IDL_bname200varcharN圖書名稱L_currPrice8decimalN當(dāng)前價L_image_b100varcharN小圖路徑L_oid32charN所屬訂單ID(7)admin表用于記錄管理員的信息,如表4-7所示。表4-7t_admin表數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_adminId32charN管理員ID數(shù)據(jù)名長度數(shù)據(jù)類型是否空說明L_dminname50varcharN名稱L_adminpwd50varcharN密碼4.3詳細(xì)設(shè)計4.3.1包結(jié)構(gòu)設(shè)計在激活每個模塊之前,必須為每個模塊創(chuàng)建一個相應(yīng)的包。每個包必須建立以下基本類別:實(shí)體類、DAO類、service類、servlet類。以用戶模塊所創(chuàng)建的包為例如下表4-8所示表4-8包結(jié)構(gòu)表包名說明cn.itcast.goods.user.domain實(shí)體類cn.itcast.goods.user.daoDao接口cn.itcast.goods.user.service業(yè)務(wù)邏輯層接口cn.itcast.goods.user.web.servlet業(yè)務(wù)邏輯控制層4.3.2類說明及結(jié)構(gòu)圖(1)實(shí)體類實(shí)體類主要使用來存儲、管理系統(tǒng)內(nèi)的信息,用駝峰命名法來對實(shí)體類進(jìn)行命名,實(shí)體類名和數(shù)據(jù)庫名相同,實(shí)體類名如下:User、Book、Cartitem、Order、Orderitem、Category、Admin[19]。圖4-12實(shí)體類及關(guān)聯(lián)圖(2)Service類Service是接口的聲明,用來處理業(yè)務(wù)邏輯。每一個接口和一個實(shí)體類都相互對應(yīng),命名方式通常以一個實(shí)體類的名字加上Service對其進(jìn)行命名[20]。本程序所寫到的Service接口的為:UserService、BookService、CartitemService、OrderService、OrderitemService、CategoryService、AdminService。4.3.3視圖文件分布設(shè)計在系統(tǒng)文件中的WebRoot文件中添加一個jsps文件夾,里面加入CSS、JS、PAGER、USER、等文件夾。圖像文件會單獨(dú)存放在WebRoot文件下,用戶資料存放在單獨(dú)的用戶文件夾中,JSP文件存放在WebRoot文件下。4.3.4模塊設(shè)計(1)用戶模塊設(shè)計:主要負(fù)責(zé)用戶登錄的功能。如果用戶是第一次進(jìn)入該系統(tǒng),那么填寫的賬號會自動生成密碼,用戶就可以用這個密碼進(jìn)行登錄。如果用戶已經(jīng)擁有賬號,直接輸入賬號密碼即可。在登錄前,購買功能不能使用。用戶設(shè)計流程圖如下圖4-13所示:圖4-13用戶設(shè)計流程圖(2)購物車模塊設(shè)計:登錄后,用戶能夠正常使用購物欄功能,在購物車頁面查看已經(jīng)選中的書籍列表,然后思考是否購買圖書,如果購買就輸入商品數(shù)量,不購買就刪除。購物車設(shè)計流程圖如下圖4-14所示:圖4-14購物車設(shè)計流程圖(3)訂單模塊的功能只有登錄用戶才能使用,在用戶對收貨的信息填寫好之后,可以提交,提交訂單后,系統(tǒng)會自動彈出付款界面,該系統(tǒng)支持多種支付方式,用戶可以用微信、銀行卡、支付寶進(jìn)行款項(xiàng)支付。在付款完成后,系統(tǒng)會自動生成訂單號,并且跳轉(zhuǎn)頁面,用戶就可以在我的訂單中查看相關(guān)信息。訂單設(shè)計流程圖如下圖4-15所示:圖4-15購物車設(shè)計流程圖(4)管理員模塊設(shè)計:管理員不需要注冊,只需要系統(tǒng)提供的賬號和密碼直接進(jìn)行登入。登入成功后會對分類、書籍、訂單進(jìn)行基本的管理。管理員設(shè)計流程圖如下圖4-16所示:圖4-16管理員設(shè)計流程圖
5系統(tǒng)實(shí)現(xiàn)5.1系統(tǒng)開發(fā)及運(yùn)行環(huán)境硬件:處理器為Intel(R)Core(TM)i5-7200UCPU@2.71GHz3.10GHz;內(nèi)存:4.00GB;系統(tǒng)類型:64位操作系統(tǒng),以及相同配置的處理器;軟件配置:系統(tǒng)開發(fā)集成環(huán)境:Eclipse,版本2019.3.1x64,數(shù)據(jù)庫:MySQL8.9服務(wù)器:Tomcat9.0客戶端:Google5.2圖書銷售管理系統(tǒng)的的實(shí)現(xiàn)圖書銷售管理系統(tǒng)有五個板塊,用戶在使用過程中只會涉及前四個板塊,分別是登錄、瀏覽、加購、下單,而管理員一般只操作后臺處理一個板塊。5.2.1用戶登錄模塊實(shí)現(xiàn)用戶模塊處理用戶注冊及登錄還有其他相關(guān)信息,用戶輸入密碼和用戶名在登錄界面后可以對自己賬號內(nèi)的購書記錄進(jìn)行管理。此時數(shù)據(jù)庫中將存入用戶信息,這樣管理員就可以對用戶進(jìn)行管理。啟用用戶登錄模塊后,第一步就是要建立一個登錄界面,并顯示登錄界面和帶有用戶名、密碼、確認(rèn)碼的登錄按鈕。圖5-1用戶登錄界面如果用戶沒有賬號進(jìn)行登錄,可以先進(jìn)行注冊。圖5-2用戶注冊界面關(guān)鍵代碼://登錄功能 publicUserlogin(Useruser){ try{returnuserDao.findByLoginnameAndLoginpass(user.getLoginname(),user.getLoginpass()); }catch(SQLExceptione){ thrownewRuntimeException(e);}}//注冊功能 publicvoidregist(Useruser){ user.setUid(CommonUtils.uuid()); try{userDao.add(user) }catch(SQLExceptione){ thrownewRuntimeException(e);}5.2.2書籍瀏覽模塊實(shí)現(xiàn)在頁面左側(cè)有兩個級別分類,可以進(jìn)行分類選擇,在主頁面的中間位置顯示該分類的熱門和主推書籍,或者在頁面頂部的搜索按鈕上選擇所想查找的書籍。書籍列表界面如下圖5-3所示圖5-3修改當(dāng)前用戶密碼界面選擇某本書籍后對其進(jìn)行點(diǎn)擊,會直接打開書籍的相關(guān)信息連接,跳轉(zhuǎn)到顯示書籍詳細(xì)信息的新頁面。書籍相關(guān)信息界面如圖5-4所示圖5-4書籍相關(guān)信息界面5.2.3購物車模塊實(shí)現(xiàn)用戶在登錄后,將自己已經(jīng)選擇好的書籍點(diǎn)擊購物車按鈕放入到購物車之中,打開自己的購物車之后,購物車?yán)锏母鲿畠r格、名稱、數(shù)量和總價及總量都能夠看到,用戶可以在這頁面對將要購買的書籍進(jìn)行數(shù)量修改或直接刪除不需要的書籍。而刪除或修改等操作,則會對底層的數(shù)據(jù)庫表有直接的改動。要對數(shù)據(jù)庫表進(jìn)行更改,必須使用異步JQuery來訪問服務(wù)器。購物車頁面如下圖5-5所示圖5-5購物車頁面5.2.4訂單模塊實(shí)現(xiàn)購物車界面中,首先選擇要購買的書,隨后填收貨信息,結(jié)算后生成訂單。此時的訂單便已經(jīng)出現(xiàn),但顯示為是“未付款”,此時需用戶支付成功后,方可查看已經(jīng)下單的書籍信息。訂單詳情頁面如下圖5-6所示圖5-6訂單詳情頁面5.2.5后臺管理模塊后臺管理員通過平臺主動分配的賬號及密碼進(jìn)行登入,賬號密碼正確后,系統(tǒng)會自動進(jìn)入界面。后臺主頁如下圖5-7所示圖5-7后臺主頁頁面找到首頁上方的“分類管理”按鈕,點(diǎn)擊之后就會自動跳轉(zhuǎn)到分類列表界面。分類列表如下圖5-8所示圖5-8分類列表頁面后臺的圖書管理與前臺的布局顯示大致,不作詳細(xì)介紹。但后臺主要多了一個添加書籍的界面,此界面可以上架新書,上傳書籍的一些相關(guān)信息及前臺頁面所顯示的書籍的圖片等。添加書籍界面如下圖5-9所示圖5-9添加圖書界面管理員不止可以對分類,具體書籍信息進(jìn)行修改操作,還可以管理訂單的細(xì)則、跟蹤訂單狀態(tài)和更改訂單信息等。[23]。訂單列表界面如圖5-10顯示圖5-10訂單列表界面
6系統(tǒng)測試6.1測試概述及方法軟件測試用于驗(yàn)證軟件或系統(tǒng)功能是否正確,是否完整,確定其安全度和質(zhì)量。該測試的主要功能是檢測系統(tǒng)中的錯誤和不合理的位置[24]。測試主要分為白盒測試和黑盒測試兩部門。黑盒測試主要是用輸入和輸出的操作來判斷考察以及評估測試對象的正確性,對于內(nèi)部結(jié)構(gòu)方面并不太關(guān)注。而白盒測試的測試程序方面主要是基于測試對象的內(nèi)部結(jié)構(gòu)而設(shè)計的[25]。6.2登錄模塊測試打開系統(tǒng)進(jìn)行登入,在鼠標(biāo)失去焦點(diǎn)后,如果輸入的用戶名與user表中的數(shù)據(jù)表是相同的且用戶名長度必須在3~20之間,則提示該用戶可以登入,如果不相同則提示用戶名長度必須在3~20之間。在用戶名存在但密碼錯誤或密碼為空時,點(diǎn)擊提交后會提示“密碼錯誤或密碼不能為空”。在用戶名和密碼都填寫正確之后,系統(tǒng)會隨機(jī)生成圖文驗(yàn)證碼,以防止用戶的賬號被他人使用。如果用戶沒有填寫驗(yàn)證碼,系統(tǒng)就會彈出驗(yàn)證碼不能為空的提示。如果用戶輸入驗(yàn)證碼錯誤,那么則會出現(xiàn)錯誤提示。登錄模塊測試如下圖6-1所示圖6-1登錄模塊測試頁面6.3注冊模塊測試用戶在進(jìn)行注冊時,當(dāng)鼠標(biāo)失去光標(biāo)后,如果輸入的用戶名已經(jīng)存在或用戶名長度沒有在3-~20字符之間或沒有填寫用戶名,則會出現(xiàn)“該用戶名已被注冊”或是其他提示字樣,比如,用戶名超過系統(tǒng)設(shè)置的長度,則會提示你進(jìn)行修改。在用戶名填寫正確之后再填寫登錄密碼和確認(rèn)密碼,密碼必須在3-20位之間,不得超過20,也不得少于3位。填寫確認(rèn)密碼欄時,兩次填寫的密碼必須一致,不然系統(tǒng)就會提示用戶“兩次密碼不一致”,并且讓用戶重新輸入密碼。只有在用戶正確輸入密碼、賬號后,接下來才是填寫用戶郵箱。郵箱的格式必須填寫正確,并且不能為空,因?yàn)檫@是必填項(xiàng)。當(dāng)以上四個必填項(xiàng)都正確填寫后,只要進(jìn)行最后的驗(yàn)證碼輸入。如果不填寫驗(yàn)證碼就點(diǎn)擊注冊選項(xiàng),會彈出不得為空的錯誤提示。如果填寫錯誤驗(yàn)證碼,用戶無法成功登陸系統(tǒng)。最后,在上述的所有步驟都填寫成功后,用戶點(diǎn)擊立即注冊選項(xiàng),即可成為系統(tǒng)的新用戶。注冊模塊測試如下圖6-2所示圖6-2注冊模塊測試頁面6.4管理員登錄模塊測試管理員在登入時不需要進(jìn)行注冊,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 北交所消費(fèi)服務(wù)行業(yè)產(chǎn)業(yè)跟蹤第四十二期:AI有望賦能消費(fèi)培育新的增長點(diǎn)關(guān)注北交所與AI有關(guān)的消費(fèi)公司
- 旅游知識儲備2026年旅游管理專業(yè)題庫
- 七上8首課外古詩考點(diǎn)整-理 學(xué)生版
- 未來五年工業(yè)節(jié)水技術(shù)咨詢服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略分析研究報告
- 未來五年國際貿(mào)易代理服務(wù)企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報告
- 未來五年藝術(shù)家、作家經(jīng)紀(jì)人服務(wù)企業(yè)數(shù)字化轉(zhuǎn)型與智慧升級戰(zhàn)略分析研究報告
- 未來五年雞毛穿條企業(yè)縣域市場拓展與下沉戰(zhàn)略分析研究報告
- 未來五年鮭魚苗企業(yè)縣域市場拓展與下沉戰(zhàn)略分析研究報告
- 期末復(fù)習(xí):《朝花夕拾》《西游記》測試題
- 2025年儀表工知識試題及答案
- 生物-四川省巴中市普通高中2022級(2025屆)高三下學(xué)期“一診”考試(巴中一診)試題和答案
- 馬口鐵印鐵制罐項(xiàng)目可行性研究報告
- 22G101三維彩色立體圖集
- HGT 4205-2024《工業(yè)氧化鈣》規(guī)范要求
- GB/T 5578-2024固定式發(fā)電用汽輪機(jī)規(guī)范
- 《空氣源熱泵供暖工程技術(shù)規(guī)程》
- 河北省唐山市2023-2024學(xué)年高一上學(xué)期1月期末考試化學(xué)試題(含答案解析)
- 附件5:安全爬梯連墻件計算書
- 提高人行道透水磚鋪裝平整度穩(wěn)固性試驗(yàn)合格率
- 松鋪系數(shù)計算表2
- 江蘇省高等職業(yè)教育實(shí)訓(xùn)基地建設(shè)指南
評論
0/150
提交評論