劉江玲
(湖北文理學(xué)院, 湖北 襄陽 441053)
在圖書銷售過程中,傳統(tǒng)人工圖書銷售管理方式,費(fèi)時(shí)費(fèi)力,效率低,還有可能出現(xiàn)遺漏偏差。[1-5]隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,應(yīng)用軟件迅速普及。計(jì)算機(jī)管理系統(tǒng)逐步成為趨勢,憑借省時(shí)、省力、低錯(cuò)誤率等一系列優(yōu)點(diǎn),改變了圖書銷售管理的傳統(tǒng)模式,提高了圖書銷售管理的工作效率。
本文以華文圖書超市為例。華文圖書超市是一家中小型連鎖圖書超市,多年來本著經(jīng)濟(jì)、實(shí)惠、高服務(wù)質(zhì)量的宗旨,贏得了襄陽市讀者的信賴。然而,華文圖書超市在日常的圖書管理中,面對眾多的圖書和眾多不同需求的顧客,每天都會(huì)產(chǎn)生大量的圖書數(shù)據(jù)信息。以傳統(tǒng)的手工方式來處理這些信息,操作繁瑣,效率低下,而且經(jīng)常出現(xiàn)統(tǒng)計(jì)失誤。通過圖書銷售管理系統(tǒng)的構(gòu)建,實(shí)現(xiàn)圖書超市管理的系統(tǒng)化、規(guī)范化、實(shí)用化,對圖書進(jìn)行統(tǒng)一管理,從根本上改變了圖書銷售管理的傳統(tǒng)模式。該系統(tǒng)能夠解決華文圖書超市在連鎖經(jīng)營過程中的圖書管理需求,提高工作效率,避免資源浪費(fèi)。
本系統(tǒng)的實(shí)現(xiàn)采用當(dāng)前流行的S2SH架構(gòu)模式,其核心思想就是采用分層的設(shè)計(jì)思想,使得網(wǎng)站頁面、業(yè)務(wù)邏輯操作和數(shù)據(jù)操作能夠有效地分離,各個(gè)層次間的依賴性降低,達(dá)到低耦合,每個(gè)層次可以按照項(xiàng)目需要自由設(shè)計(jì),而不用考慮其它層次的影響,有利于程序的維護(hù)和功能的擴(kuò)展。
S2SH架構(gòu)通過對復(fù)雜度的簡化使程序結(jié)構(gòu)更加直觀。它的目的是實(shí)現(xiàn)一種動(dòng)態(tài)的程序設(shè)計(jì),并使程序某一部分的重復(fù)利用成為可能。軟件系統(tǒng)通過對自身基本部份分離的同時(shí)也賦予了各個(gè)基本部分應(yīng)有的功能。S2SH架構(gòu)包括表示層、業(yè)務(wù)層和持久層,如圖1所示。
圖1 S2SH架構(gòu)
Struts2是一個(gè)優(yōu)雅的、可擴(kuò)展的Web框架。Struts2是在WebWork的基礎(chǔ)上發(fā)展而來的,但它不是Strutsl的繼承,和Struts1的區(qū)別很大。Struts框架的核心控制器是StrutsPrepareAndExecuteFilter,該 Filter負(fù)責(zé)攔截由<url-pattern>/*</url-pattern>指定的所有用戶請求,當(dāng)用戶請求到達(dá)時(shí),它會(huì)過濾用戶的請求。當(dāng)請求轉(zhuǎn)入Struts2框架處理時(shí)會(huì)先經(jīng)過一系列的攔截器,然后再到Action。與Struts1不同的是,Struts2中的Action是線程安全的,因?yàn)镾truts2對用戶的每一次請求都會(huì)創(chuàng)建一個(gè)獨(dú)立的Action。
Spring為企業(yè)應(yīng)用的開發(fā)提供了一個(gè)輕量級(jí)的解決方案,它融合了大量的中間層模塊,大大簡化了Web系統(tǒng)的開發(fā)過程。Spring的核心技術(shù)是控制反轉(zhuǎn)(IOC),或者叫依賴注入(DI)和面向方面的編程(AOP)。按照功能,Spring主要包括7個(gè)模塊:Spring核心模塊、Spring Context模塊、AOP模塊、Spring DAO模塊、ORM模塊、Spring Web模塊、Spring MVC框架。
Hibernate框架是一個(gè)強(qiáng)大的持久層框架,作為ORM技術(shù)的一種解決方案,其目標(biāo)是利用面向?qū)ο蟮姆椒▉韴?zhí)行數(shù)據(jù)庫操作。Hibernate的實(shí)質(zhì)是在業(yè)務(wù)邏輯層和數(shù)據(jù)庫層充當(dāng)橋梁,主要通過持久化類(*.java)、映射文件(*.hbm.xml)、配置文件(Hibernate.cfg.xml)與數(shù)據(jù)庫進(jìn)行交互。持久化類用于描述數(shù)據(jù)表的結(jié)構(gòu),映射文件指定持久化類與數(shù)據(jù)庫的映射關(guān)系;配置文件用于描述Hibernate的描述信息。Hibernate的運(yùn)行過程為:應(yīng)用程序先調(diào)用Configration類,該類讀取Hibernate的配置文件及映射文件中的信息,并用這些信息生成一個(gè)SessionFactpry對象。然后生成一個(gè)Session對象,最后通過Session對象中的方法執(zhí)行加載、保存、更新、刪除等操作。
1.項(xiàng)目環(huán)境:開發(fā)環(huán)境為MyEclipse8.5 JAVA JDK 1.6,WEB服務(wù)器為Tomcat6.0,開發(fā)語言為JAVA,數(shù)據(jù)庫為SQLServer2005,系統(tǒng)架構(gòu)為 B/S架構(gòu)。
2.開發(fā)工具:本系統(tǒng)使用到的開發(fā)工具有:MyEclipse 8.5 和 MySQL 5.0。MyEclipse 8.5 MyE-clipse是一個(gè)開放源代碼的可擴(kuò)展開發(fā)平臺(tái),在Web系統(tǒng)開發(fā)中,可以添加Struts框架、Spring框架和Hibernate框架,最后組成S2SH架構(gòu),提高開發(fā)效率,同時(shí)便于系統(tǒng)的后期維護(hù)工作。MySQL 5.1 MySQL由于其數(shù)據(jù)庫體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),成為中小型網(wǎng)站數(shù)據(jù)庫的首選。
MyEclipse作為Web系統(tǒng)的開發(fā)工具,支持系統(tǒng)采用S2SH架構(gòu);華文圖書連鎖超市資金少,從經(jīng)濟(jì)上考慮可以選擇MySQL數(shù)據(jù)庫,而且MySQL數(shù)據(jù)庫也能夠滿足華文圖書超市數(shù)據(jù)量不是很大的數(shù)據(jù)要求。由于該圖書銷售管理系統(tǒng)的訪問人員主要是圖書超市的銷售人員和管理人員,訪問量也不大,因此,對服務(wù)器的要求并不高。圖書連鎖超市的各個(gè)電腦不需要做任何改動(dòng),只要能夠滿足上網(wǎng)需要即可,所以,在運(yùn)行過程中是完全可行的。
經(jīng)過調(diào)查分析,本系統(tǒng)需要實(shí)現(xiàn)登錄模塊、系統(tǒng)管理、類別管理、圖書管理、銷售管理、進(jìn)貨需求等6大功能。
1.用戶登錄:通過登錄模塊進(jìn)行驗(yàn)證后,管理員可以進(jìn)入圖書管理系統(tǒng)。
2.系統(tǒng)管理:①添加管理員信息,②查看管理員信息,③修改密碼。
3.類別管理:①添加類別信息,②查看圖書類別信息,③修改圖書類別信息。
4.圖書管理:①添加圖書,②查看圖書,③修改圖書信息,④高級(jí)查詢,⑤查看庫存。
5.銷售管理:①查看銷售明細(xì),②查看當(dāng)日銷售明細(xì),③銷售排行。
6.進(jìn)貨管理:①添加進(jìn)貨,②查看進(jìn)貨。
1.時(shí)間特性:在圖書銷售過程中,系統(tǒng)的響應(yīng)時(shí)間要小,一般要在2秒內(nèi)得到響應(yīng)。
2.易用性:由于華文圖書連鎖超市的銷售管理人員計(jì)算機(jī)水平不是很高,系統(tǒng)用戶界要簡單易用。
3.穩(wěn)定性:系統(tǒng)的穩(wěn)定性很重要,否則,會(huì)影響正常銷售,所以必須保證系統(tǒng)的穩(wěn)定運(yùn)行。
本圖書銷售管理系統(tǒng)部署在Web服務(wù)器上,華文圖書連鎖超市只要能夠上Internet就可以訪問該系統(tǒng)。系統(tǒng)工作原理如圖2所示。
圖2 系統(tǒng)工作原理圖
1.登錄模塊:進(jìn)入登錄界面之后,輸入用戶名和密碼,單擊“登錄”按鈕,即可進(jìn)入圖書銷售管理系統(tǒng)頁面。在輸入密碼時(shí)顯示為“*”,有利于用戶的密碼安全。單擊“退出系統(tǒng)”按鈕,可以退出圖書銷售管理系統(tǒng)。
2.系統(tǒng)管理模塊:在該模塊,超級(jí)管理員對管理員賬戶進(jìn)行管理,在必要時(shí)對系統(tǒng)進(jìn)行初始化操作。
(1)添加管理員信息。超級(jí)管理員可以添加新的管理員,如圖3所示。
圖3 添加管理員信息頁面
(2)查看管理員信息。超級(jí)管理員可以查看所有的管理員信息,并可以刪除辭去職務(wù)的管理員。如圖4所示。
圖4 查看管理員信息頁面
(3)修改密碼。管理員可以在該頁面修改自己的密碼。修改密碼時(shí),需要提供正確的舊密碼,否則不能修改。如圖5所示。
圖5 修改密碼頁面
3.類別管理模塊:類別管理模塊是對圖書類別信息進(jìn)行管理,包括對圖書類別的增加、刪除、修改、查看和統(tǒng)計(jì)等。
(1)添加類別信息。管理員可以通過該功能將圖書類別添加到數(shù)據(jù)庫,如圖6所示。
圖6 添加圖書類別頁面
(2)查看圖書類別信息。管理員可以在該頁面查看圖書類別信息,也可以對圖書類別執(zhí)行修改和刪除。如圖7所示。
圖7 查看圖書類別頁面
(3)修改圖書類別信息。管理員可以通過該頁面修改圖書類別信息,如圖8所示。
圖8 修改圖書類別信息頁面
(4)類別統(tǒng)計(jì)。管理員可以對圖書的類別信息進(jìn)行統(tǒng)計(jì),為了方便查看,在這里以餅形圖的方式顯示。類別的餅形圖,統(tǒng)計(jì)結(jié)果如圖9所示。
圖9 類別統(tǒng)計(jì)頁面
4.圖書管理模塊:在該模塊,管理員可以對圖書進(jìn)行添加、刪除、修改和查詢操作。
(1)添加圖書。管理員可以通過該功能將圖書添加到數(shù)據(jù)庫,如圖10所示。
圖10 添加圖書編碼頁面
(2)查看圖書。管理員能夠查看圖書的全部信息,可以對圖書進(jìn)行模糊查詢;單擊“圖書名稱”,可以進(jìn)入圖書的詳細(xì)信息頁面;單擊“修改”,可以進(jìn)入修改圖書信息頁面。如圖11所示。
圖11 商品管理頁面
(3)圖書詳細(xì)信息。管理員可以在該頁面查看圖書的詳細(xì)信息,如圖12所示。
圖12 圖書詳細(xì)信息頁面
(4)修改圖書信息。管理員可以在該頁面修改圖書的詳細(xì)信息,需要注意的是,圖書編碼信息不可以修改。如圖13所示。
圖13 商品查詢結(jié)果頁面
(5)高級(jí)查詢。管理員可以在該頁面輸入圖書的任意信息進(jìn)行查詢,如圖14所示。
圖14 高級(jí)查詢頁面
(6)查看庫存。管理員可以在該頁面查看符合庫存數(shù)量的圖書信息,如圖15所示。
圖15 查看庫存頁面
5.購買圖書模塊:在該模塊,管理員對消費(fèi)者購買的圖書進(jìn)行操作。當(dāng)用戶購買一本圖書時(shí),先將其放在購物車中,接著可以選購其它圖書,當(dāng)選擇完成后,可以對購買的圖書一起結(jié)賬。
(1)選購圖書。在選購圖書頁面,可以查看圖書信息??梢詥螕簟皥D書名稱”查看圖書的詳細(xì)信息。如果滿意,可以單擊“購買”進(jìn)入購買頁面購買圖書。如圖16所示。
圖16 訂單管理頁面
(2)購買圖書。管理員在該頁面輸入客戶購買的數(shù)量,然后單擊“提交”數(shù)據(jù)即完成購買。如圖17所示。
圖17 購買圖書頁面
(3)查看選購信息。在該頁面,管理員可以查看客戶購買的圖書信息??梢詣h除客戶不滿意的商品,也可以清空購買的圖書信息,也可以繼續(xù)購買圖書。如果滿意購買的圖書,可以單擊“結(jié)賬”按鈕結(jié)賬,同時(shí)情況客戶的訂單信息。如圖18所示。
圖18 訂單詳細(xì)信息頁面
6.銷售管理模塊:在該模塊,管理員可以查看圖書的銷售明細(xì)信息,包括歷史明細(xì)和當(dāng)日明細(xì),還可以查看圖書的銷售排行。
(1)查看銷售明細(xì)。管理員可以查看圖書超市的銷售明細(xì)記錄,包括銷售圖書的名稱、單價(jià)、數(shù)量、金額、銷售時(shí)間等信息,也可以輸入關(guān)鍵字進(jìn)行模糊查詢。如圖19所示。
圖19 銷售明細(xì)頁面
(2)查看當(dāng)日銷售明細(xì)。管理員可以查看當(dāng)日圖書超市的銷售明細(xì)記錄,包括銷售圖書的名稱、單價(jià)、數(shù)量、金額、銷售時(shí)間等信息,也可以輸入關(guān)鍵字進(jìn)行模糊查詢。如圖20所示。
圖20 當(dāng)日銷售明細(xì)頁面
(3)日期查詢。在該頁面,管理員可以輸入起始日期或結(jié)束日期后,按照銷售日期進(jìn)行查詢。如圖21所示。
圖21 日期查詢頁面
(4)銷售排行。在該頁面,管理員可以查看圖書的銷售排行記錄,可以查看圖書的詳細(xì)信息,也可以對銷售好的圖書執(zhí)行進(jìn)貨操作。如圖22所示。
圖22 銷售排行頁面
7.進(jìn)貨/需求管理模塊:在該模塊,管理員可以添加進(jìn)貨,查看進(jìn)貨信息。
(1)添加進(jìn)貨。管理員根據(jù)實(shí)際的顧客需求信息,輸入進(jìn)貨的數(shù)量,提交即可。如圖23所示。
圖23 銷售明細(xì)頁面
(2)查看進(jìn)貨。在該頁面,管理員可以查看進(jìn)貨信息,如果需要修改,可以進(jìn)入修改頁面修改進(jìn)貨數(shù)量;如果沒有問題,單擊“進(jìn)貨完成”即可完成進(jìn)貨操作。如圖24所示。
圖24 當(dāng)日銷售明細(xì)頁面
軟件測試就是在一個(gè)軟件開發(fā)完成后,準(zhǔn)備部署運(yùn)行前,對軟件需求分析、設(shè)計(jì)規(guī)格說明和編碼的最終審核檢驗(yàn),是保證軟件開發(fā)質(zhì)量的關(guān)鍵。它是軟件開發(fā)過程的重要組成部分,其目的是用來確認(rèn)軟件是否符合開發(fā)要求,軟件是否存在bug,系統(tǒng)運(yùn)行是否穩(wěn)定。本系統(tǒng)參照實(shí)際運(yùn)行的環(huán)境來搭建測試環(huán)境,對系統(tǒng)在用戶登錄、系統(tǒng)管理、類別管理、圖書管理、銷售管理、進(jìn)貨需求等方面進(jìn)行了系統(tǒng)測試。查看測試結(jié)果是否和系統(tǒng)設(shè)計(jì)的預(yù)期一致,對于結(jié)果不一致的地方進(jìn)行修改,并做好修改記錄。
[1]陳淵.基于AJAX的網(wǎng)上圖書銷售管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2010.
[2]譚銳.基于VFP的圖書銷售管理系統(tǒng)的設(shè)計(jì)與開發(fā)[J].三峽大學(xué)學(xué)報(bào),2005(1):221-223.
[3]李?yuàn)?基于Ajax的網(wǎng)上圖書銷售管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].南昌:南昌大學(xué),2010.
[4]夏勇.出版社資源管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].長沙:湖南大學(xué),2007.
[5]陳弘.基于B/S方式的圖書銷售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].長沙大學(xué)學(xué)報(bào),2000(4):56-57.