基于JSP的小型超市信息管理系統(tǒng)_畢業(yè)論文x.docx
《基于JSP的小型超市信息管理系統(tǒng)_畢業(yè)論文x.docx》由會員分享,可在線閱讀,更多相關《基于JSP的小型超市信息管理系統(tǒng)_畢業(yè)論文x.docx(50頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、本科生畢業(yè)論文(設計)基于JSP的小型超市信息管理系統(tǒng)設計與實現(xiàn)姓名學號專業(yè)指導教師年 月 日II摘 要隨著零售業(yè)的不斷發(fā)展,超市這種高效,方便的銷售模式已經(jīng)越來越成熟。目前,市場上的超市存在著大型化和小型化兩種趨勢。大型超市往往擁有著雄厚的資金實力,極為全面的商品種類,但也存在著網(wǎng)店覆蓋率低,不能滿足偏遠地區(qū)人民需要的問題。而小型超市則很好地填補了這個空白。本文是對小型超市信息管理系統(tǒng)的開發(fā)過程進行詳細描述的論文,目的是采用JSP/SERVLET開發(fā),應用MVC架構(gòu),設計一個小型超市管理系統(tǒng)。為小型超市管理系統(tǒng)提供一個價格低廉,開發(fā)簡單,維護方便,功能實用的解決方案。此次采用的軟件過程模型為
2、過程開發(fā)模型,具體表現(xiàn)為將基本的過程活動、描述、開發(fā)、有效性驗證和進化,看成是一些界限分明的獨立的過程階段。本文一步步按照開發(fā)過程中所涉及到的問題進行詳細描述,由淺至深,從構(gòu)建系統(tǒng)前進行的需求分析,到后臺數(shù)據(jù)的處理,表單之間的傳遞等內(nèi)容,都進行了闡釋,并附上了關鍵模塊的相關代碼。目前,本系統(tǒng)已經(jīng)可以滿足小型超市的日常經(jīng)營需要,并期待進一步的改進。關鍵詞:JSP;信息管理系統(tǒng);MVC框架AbstractWith the continuous development of retail industry, the supermarket, as an effective and convenien
3、t mode of retailing, has become more and more mature. Now, the supermarkets on the market place have two trends such as maximize and minimize. The hypermarket often has solid capital or cash and very comprehensive kinds of goods. But the hypermarket also has problems. For example, their branch usual
4、ly lack of fraction of coverage, so that they could not afford the needs of people who lives at remote area, while the tiny supermarket can solve this problem very well. This article is a particular description paper of developing process of this mini supermarket management system. The purpose is de
5、veloping this system with JSP/SERVLET and applying the MVC framework, so that we can design and build this supermarket management system. We can provide a solution which is cheap, easy-developing, convenient-maintaining and functional to this management system.This system has satisfied the needs of
6、routine of the supermarket, and looked forward to a further improvement.Key Words: JSP(Java Server Page),IMS(Information Management System),MVC Frame目 錄1 引 言11.1背景11.1.1社會背景11.1.2公司背景11.1.3技術背景11.2文章結(jié)構(gòu)32 問題定義與可行性分析42.1問題定義42.1.1商品基本信息42.1.2人員基本信息42.1.3進、銷、存42.1.4結(jié)算42.2可行性分析42.2.1技術可行性研究42.2.2經(jīng)濟可行性研究
7、53 需求分析63.1綜合描述63.2功能性需求63.2.1顧客功能性需求63.2.2管理員功能性需求73.3非功能性需求83.3.1性能需求83.3.2安全措施需求94 總體設計104.1系統(tǒng)總體設計104.2模塊設計104.3數(shù)據(jù)庫設計125 系統(tǒng)詳細設計與實現(xiàn)155.1綜合描述155.2關鍵模塊詳細設計175.2.1登錄模塊175.2.2商品信息查看模塊215.3.3購物車模塊265.3功能性模塊設計335.3.1數(shù)據(jù)庫連接類335.3.2編碼轉(zhuǎn)換類345.3.3流水號生成類345.3.4進貨單模塊設計355.4系統(tǒng)測試415.4.1測試的目標與方法415.4.2測試用例41結(jié) 論43參
8、考文獻44致 謝45IV1 引 言1.1背景本處簡要介紹了小型超市信息管理系統(tǒng)的開發(fā)背景,主要內(nèi)容包括社會背景,公司背景,技術背景三個部分。旨在為讀者闡明小型超市信息管理系統(tǒng)開發(fā)的基調(diào),使讀者對小型超市信息管理系統(tǒng)的社會意義,背景信息有個大致的了解。1.1.1社會背景隨著我國社會主義市場經(jīng)濟的不斷成熟與發(fā)展,越來越多的人們意識到,第三產(chǎn)業(yè)在社會經(jīng)濟發(fā)展中起到了越來越重要的作用。超市這種形式在我國起步于20世紀90年代,現(xiàn)在已經(jīng)成為我國零售業(yè)的主要形式之一。隨著超市經(jīng)營規(guī)模的擴大化,商品種類日趨豐富,原有的人工銷售模式已經(jīng)遠遠不能滿足要求,在超市管理方面的效率也大大降低。因此,在超市經(jīng)營中引入計
9、算機管理勢在必行。不同于純粹的電商銷售B2C模式,超市管理系統(tǒng)在日常經(jīng)營中存在著自身獨有的特點:商品種類豐富,數(shù)據(jù)量巨大,因而不能對超市的整體經(jīng)營狀況,相關商品的銷售情況,進存貨的決策有一個宏觀上的了解。因此,我在本次設計中選擇了小型超市信息管理系統(tǒng),利用現(xiàn)代化的計算機技術來對超市經(jīng)營中所設計到的業(yè)務進行管理,從而節(jié)省了大量的人力物力,減少了人工操作帶來的風險,并且能夠?qū)φ麄€超市的銷售情況有一個宏觀上的了解,從而能夠?qū)Τ邢乱徊降慕?jīng)營策略,進貨方向有一個數(shù)據(jù)上的支持。這允許了管理人員能夠?qū)κ袌龅淖兓龀黾皶r準確的反應。1.1.2公司背景小型超市在其日常經(jīng)營管理中存在著自身獨有的特點。首先,規(guī)模
10、小,實力弱。不同于其他的大型連鎖超市,小型超市一般都以個體經(jīng)營為主,因此存在著規(guī)模較小,成本低,實力弱的特點。因此在信息管理系統(tǒng)的投入上,不可能很多,所以我的設計中,要考慮到成本方面的問題。要盡量做到在節(jié)省成本的同時,滿足超市信息管理系統(tǒng)日常工作的需要。其次,缺乏相關技術人員支持。小型超市一般位于地理位置相對偏遠的地區(qū),其經(jīng)營管理人員的素質(zhì)普遍不高,同時也缺乏相應的技術人員對系統(tǒng)進行維護和技術支持。因此,在設計系統(tǒng)時,應盡量做到界面簡潔友好,方便使用者學習使用。同時,要考慮到系統(tǒng)的穩(wěn)定性。1.1.3技術背景關于JSP:JSP是由SunMicrosystems公司倡導、許多公司參與一起建立的一種
11、動態(tài)技術標準。在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP標簽,就構(gòu)成了JSP網(wǎng)頁java程序片段可以操縱數(shù)據(jù)庫、重新定向網(wǎng)頁以及發(fā)送E-mail等,實現(xiàn)建立動態(tài)網(wǎng)站所需要的功能。所有程序操作都在服務器端執(zhí)行,網(wǎng)絡上傳送給客戶端的僅是得到的結(jié)果,這樣大大降低了對客戶瀏覽器的要求,即使客戶瀏覽器端不支持Java,也可以訪問JSP網(wǎng)頁。JSP具備了Java技術的簡單易用,完全的面向?qū)ο?,具有平臺無關性且安全可靠,主要面向因特網(wǎng)的所有特點。關于MVC:MVC設計模式將一個完整的應用分為3個組件:Model(模型),View(視圖)以及Con
12、troller(控制器)。 Model(模型):該組件是對軟件所處理問題邏輯的一種抽象,封裝了問題的核心數(shù)據(jù),邏輯和功能實現(xiàn),獨立于具體的界面顯示以及I/O操作。在本設計當中,使用JAVA類實現(xiàn)。 View(視圖):該組件將表示模型數(shù)據(jù),邏輯關系以及狀態(tài)信息,以某種形式展現(xiàn)給用戶。視圖組件從模型組件獲得顯示信息,并且對于相同的顯示信息可以通過不同的顯示形式或視圖展現(xiàn)給用戶。在本設計當中用JSP頁面實現(xiàn)。Controller(控制器):該組件主要負責用戶與軟件之間的交互操作,控制模型狀態(tài)變化的傳播,以確保用戶界面與模型狀態(tài)的統(tǒng)一。Web應用中當用戶請求到來時,控制器本身不輸出任何東西也不做任何處
13、理,它只是接收請求并決定調(diào)用哪個模型去處理該請求,然后用確定使用哪個視圖組件來顯示模型處理返回的數(shù)據(jù)。在本設計當中,使用Servlet實現(xiàn)。 1.2文章結(jié)構(gòu)本論文由五大部分組成:第二章節(jié) 問題定義與可行性分析。主要內(nèi)容是針對小型超市的業(yè)務流程具體情況,分析抽象業(yè)務類型,找到并明確超市信息管理系統(tǒng)中會遇到的問題,并就這些問題提出解決方案。可行性分析是針對問題的解決方案,結(jié)合小型超市建立過程中的實際情況,對方案的可行性做出一個真實,準確的評估與計算。從而為以后的需求分析,系統(tǒng)設計確立一個明確的方向。第三章節(jié) 需求分析。此章節(jié)的編寫基本按照需求分析報告的格式展開。對小型超市的各個業(yè)務模塊進行分析,劃
14、分系統(tǒng)的各個部分。數(shù)據(jù)庫建模的內(nèi)容也在此章節(jié)包含。第四章節(jié) 總體設計。在需求分析完成的基礎之上,對小型超市信息管理系統(tǒng)的各個模塊進行總體設計,對用戶界面進行詳細的介紹和明確。第五章節(jié) 系統(tǒng)詳細設計。在總體設計完成的基礎上,對系統(tǒng)關鍵模塊的功能進行實現(xiàn)。對每個功能的輸入輸出,變量傳遞,各模塊在執(zhí)行任務時的數(shù)據(jù)流程,工作流程進行事先。進而對各個模塊的功能進行明確。2 問題定義與可行性分析2.1問題定義本處主要內(nèi)容是小型超市信息管理系統(tǒng)的問題定義部分。作者通過日常生活的超市購物經(jīng)歷,深入分析小型超市信息管理系統(tǒng)可能或正在面對的問題,并以問題定義的方式提出。旨在確立小型超市信息管理系統(tǒng)的開發(fā)方向,為以
15、后的需求分析定下基調(diào)。2.1.1商品基本信息1商品信息按照統(tǒng)一格式存入數(shù)據(jù)庫;2商品按類進行編整,進貨;3商品類型不能刪除,每種類型都必須有商品;4商品廠家要有記錄。2.1.2人員基本信息1只有管理員可以登錄該系統(tǒng)后臺;2管理員只有注冊過才能登錄系統(tǒng); 3管理員可以對管理員表進行操作,但不能刪除其他管理員;4顧客可以直接進入系統(tǒng)進行購物。2.1.3進、銷、存1進貨后要對商品存量進行更新;2后要對商品存量進行更新。2.1.4結(jié)算以購物車形式實現(xiàn)。2.2可行性分析可行性分析是任何一個系統(tǒng)開發(fā)項目所不能缺少的一環(huán)。可行性分析的意義就在于當開發(fā)者已經(jīng)明確開發(fā)過程中可能會出現(xiàn)的問題時,要對這些目標,問題
16、進行實際意義的分析。從而避免那些明顯超出能力范圍,成本范圍,以及冗余繁雜的模塊,代碼等。在一個項目開發(fā)的前期明確哪些功能,哪些目標是可以達成的,顯然非常重要。2.2.1技術可行性研究在IT行業(yè)中從業(yè)的工作人員一般都要求懂計算機,具有一定軟硬件基礎,會使用各種管理軟件,熟悉IT產(chǎn)品。因為,超市中的對員工素質(zhì)要求比較高,從管理層到下面的營銷人員,都要求具有一定的IT背景,所以在新系統(tǒng)投入使用時,只要對員工進行少量的培訓,系統(tǒng)的功能和使用方法就基本上能夠使系統(tǒng)順利的運行了。2.2.2經(jīng)濟可行性研究因為通過網(wǎng)絡傳遞銷售信息,可以不受距離的限制,因此可以節(jié)約許多的人力和物力,方便管理,由此可以減少不必要
17、的開支,同時該系統(tǒng)可以提高企業(yè)的銷售效率,即提高了企業(yè)的經(jīng)濟效益,所以從經(jīng)濟上是完全可行的。開發(fā)新系統(tǒng)的工作是一項艱巨復雜的工作,它的投資主要是人力和物力的投資。對于本系統(tǒng)的開發(fā)來說,其主要投資還是在人力和物力兩個方面。如果是企業(yè)自己安排人手開發(fā)系統(tǒng)的話,其主要的投資還是在人力資源上,從系統(tǒng)的業(yè)務需求調(diào)查到系統(tǒng)的分析編碼制作都是需要巨大的人力投入的。超市作為一個尖端的高科技產(chǎn)業(yè),其員工要求都比一般企業(yè)的要求要高,而且對系統(tǒng)開發(fā)及軟件產(chǎn)業(yè)了解比較多,所以在自我開發(fā)管理系統(tǒng)的過程中,企業(yè)自己比較容易安排人手,這樣就可以為企業(yè)節(jié)約大部分的額外開支。同時超市就其他產(chǎn)品還說,屬于高端行業(yè),無論是產(chǎn)品的價
18、格還是質(zhì)量都比較高,而經(jīng)營產(chǎn)品的經(jīng)銷商或者是商家都要求有雄厚的資金的作支持。所以,在系統(tǒng)的開發(fā)過程中,企業(yè)完全有能力承擔開發(fā)費用。管理系統(tǒng)是一個信息化、智能化和先進管理理念的集合體。而管理是一個動態(tài)過程,在其運行過程中要采取多項措施。所以在管理中獲得經(jīng)濟效益是一個綜合效益,要對他進行直接定量的分析是比較困難的。一般新系統(tǒng)帶來的經(jīng)濟效益是間接的,其最主要的表現(xiàn)就是減少了企業(yè)的管理費用和人力開支。而其他一些煩瑣的事物都通過新系統(tǒng)來加以分析解決,不僅節(jié)省了大量的時間,還為企業(yè)的各項決策提供了寶貴的資料,為企業(yè)帶來巨大的經(jīng)濟效益。3 需求分析3.1綜合描述編寫目的:第二章節(jié)的編寫主要是為后面的系統(tǒng)詳細
19、設計打下基礎。通過需求分析的編寫,要明確系統(tǒng)可以分為哪些模塊,每個模塊實現(xiàn)的作用都有哪些,不同人員對系統(tǒng)的要求都有哪些。使讀者對這個小型超市信息管理系統(tǒng)的設計思想有一個初步的了解。預期讀者:本章節(jié)的預期讀者包括設計人員,超市信心管理系統(tǒng)的使用者,管理員。因此在設計時盡量做到圖文兼?zhèn)?,使得閱讀者能夠了解系統(tǒng)的工作流程,相關數(shù)據(jù)的交互。運行環(huán)境:本系統(tǒng)開發(fā)環(huán)境具體如下:1 windows7操作系統(tǒng);2 Myeclipse6.0.1;3 Mysql5.5;4支持Html ,JavaScript的瀏覽器,如 IE9。3.2功能性需求功能性需求是整個需求分析章節(jié)最為重要的部分。它直接決定了系統(tǒng)的模塊劃分
20、,業(yè)務邏輯,明確了使用者對小型超市信息管理系統(tǒng)功能的要求。一個完善的,明確的,詳細的功能性需求分析是開發(fā)一個系統(tǒng)的關鍵。成功的功能性需求分析可以避免后期對系統(tǒng)的大范圍改動甚至是推倒重建,因此,本部分極為重要。3.2.1顧客功能性需求1不用輸入用戶名,密碼 ,直接登錄超市管理系統(tǒng)的商品頁面;2查看商品的基本信息,包括 商品編號,單價,余量,廠家,生產(chǎn)日期,保質(zhì)期;3在購物車中查看自己選中的商品名稱,價格,數(shù)量,并可以從購物車中移除某些商品,查看總價,并可以選擇結(jié)賬或選擇繼續(xù)購物;4點擊結(jié)賬后顯示結(jié)賬成功并退出系統(tǒng)。相關用例圖見圖3-1。圖3-1 顧客用例圖顧客用例 “查看商品基本信息”的用例描述
21、見表3-1。其他用例類似于此,不再一一贅述。表3-1 用例描述-查看商品基本信息使用者顧客用例查看商品基本信息參與者顧客,小型超市信息管理系統(tǒng)數(shù)據(jù)顧客向超市信息管理系統(tǒng)發(fā)送商品相關信息,如商品名,商品類型,商品編號等激勵超市信息管理系統(tǒng)根據(jù)用戶發(fā)送的字段,查詢后臺數(shù)據(jù)庫響應超市信息管理系統(tǒng)返回查詢商品結(jié)果備注無3.2.2管理員功能性需求1打開網(wǎng)站后,進入登錄頁面。輸入用戶名,密碼 登錄系統(tǒng)。2登陸后,選擇進入系統(tǒng)人員管理頁面或者商品信息管理頁面。在系統(tǒng)人員管理頁面中,查看其它管理員的信息,并可以添加新的管理員。在商品信息管理頁面,可以查看全部商品的信息,包括商品編號,進價,單價,余量,廠家,生
22、產(chǎn)日期,保質(zhì)期。3進入商品信息管理頁面的進貨管理頁面,可以填寫進貨單,實現(xiàn)相關產(chǎn)品數(shù)量的增加。4進入商品信息管理頁面的銷售查看頁面,可以查看近期各項商品的銷售情況。5點擊頁面右上角的退出按鈕,直接退出系統(tǒng)并跳轉(zhuǎn)到登錄頁面。相關用例圖見圖3-2 管理員功能性需求用例圖。圖3-2 管理員功能性需求用例圖3.3非功能性需求非功能性需求分析主要是對面向系統(tǒng)性能方面的要求進行分析,以確定諸如硬件配置,數(shù)據(jù)庫連接等問題。非功能性需求的合理確定會給系統(tǒng)的后期維護,硬件升級,系統(tǒng)性能分析等帶來很大的便利。3.3.1性能需求相互合作的用戶數(shù)量1;系統(tǒng)支持的并發(fā)操作數(shù)量1。容量需求:存儲器:2G;磁盤空間:10G
23、;數(shù)據(jù)庫中表的最大行數(shù):無規(guī)定。3.3.2安全措施需求1主機設備和網(wǎng)絡通信設備必須有備份,并處于實時備用狀態(tài)。2建立設備檔案,詳細記錄設備的基本情況(包括升級、更新情況等)、故障現(xiàn)象、故障分析、維修過程、處理結(jié)果等內(nèi)容。設備發(fā)生故障時應及時維修,必要時,通知供貨廠商(代理商)的技術人員到場解決。3在下列情況下須進行系統(tǒng)軟件的系統(tǒng)級全備份:新系統(tǒng)投入運營上線之前;系統(tǒng)軟件升級之前和之后;固定的周期時點(如季末、年末等;特定時點(如災難應急演練前、系統(tǒng)發(fā)生重大事故恢復后等)。4在下列情況下須進行數(shù)據(jù)庫零級備份:新系統(tǒng)上線時(最好全備);結(jié)帳前后;年終結(jié)算;固定周期時點(如一個月);特定時點(如系統(tǒng)
24、發(fā)生重大事故恢復之前、之后)。5在下列情況下須進行數(shù)據(jù)庫增量備份:兩次零級備份之間必須每日做增量備份。4 總體設計4.1系統(tǒng)總體設計系統(tǒng)總體設計圖如圖4-1所示。當使用人員登錄系統(tǒng)后,按身份的不同進入各自的頁面,并使用系統(tǒng)提供的功能。管理員的人員信息管理屬于操作者所有,在此本系統(tǒng)默認管理員可以操作其他管理員的信息。圖4-1 系統(tǒng)總體設計圖4.2模塊設計本處將對小型超市信息管理系統(tǒng)進行分模塊設計,明確各個模塊的操作流程,功能如何使用等問題。1 登錄模塊超市信息管理系統(tǒng)的使用者主要有兩種:普通的顧客和管理員。按照日常生活中超市的運作流程,普通顧客不需要為其設立專門的數(shù)據(jù)表,所以只需要實現(xiàn)管理員的登
25、錄模塊。使用者進入系統(tǒng)后,首先進入歡迎界面。普通顧客點擊“開始購物旅程”超鏈接,直接進入購物界面。管理員點擊“進入后臺系統(tǒng)”超鏈接,進入管理員登陸界面。由于管理員對系統(tǒng)有操作,查看等權(quán)限,因此不允許在登陸頁面注冊新的管理員。登陸成功后跳轉(zhuǎn)至管理員管理頁面,否則顯示“Login fail”登陸失敗。當輸入正確的姓名,密碼后,界面自動跳轉(zhuǎn)到管理員管理歡迎界面。2 商品信息管理模塊管理員進入后臺管理界面后,點擊“商品信息管理頁面”超鏈接,進入商品信息管理頁面。頁面查詢后臺數(shù)據(jù)庫數(shù)據(jù),將所有商品信息展示在右側(cè)頁面上。若管理員需要對相關商品信息作出修改,或者刪除某項商品信息。則點擊相應的超鏈接進行操作。
26、刪除成功后系統(tǒng)會提示“刪除成功”。點擊“更新”,系統(tǒng)會進入商品信息更新頁面。在頁面中,已經(jīng)預先填好了所選商品信息。這允許管理員僅對需要修改的字段內(nèi)容修改,避免了全盤輸入的麻煩。若管理員需要添加新商品,則點擊“添加新商品”鏈接。系統(tǒng)跳轉(zhuǎn)到 商品信息添加頁面。在此頁面填入相應的商品信息,點擊“添加”按鈕。若各個字段的值都符合要求,則系統(tǒng)提示“添加成功”。再點擊左側(cè)“商品信息管理頁面”,則可以看到剛才插入的商品信息。3 進貨單管理模塊進貨是超市正常運營,及時跟進市場最新動態(tài),調(diào)整售貨方向的最重要的手段。進貨單管理模塊用來實現(xiàn)進貨功能,管理員可以填寫進貨單實現(xiàn)對商品表及進貨單表的更新。在 管理員管理歡
27、迎界面 點擊“進貨單管理頁面”,系統(tǒng)跳轉(zhuǎn)到進貨單管理頁面。由于進貨操作是管理員對超市經(jīng)營情況收集信息的重要途徑,因此不允許對進貨單進行修改操作,以便進行對賬,合計等操作。點擊“增加進貨單”鏈接,系統(tǒng)跳轉(zhuǎn)至進貨信息添加頁面。在進貨信息添加頁面中,當管理員填寫好相應的字段后,點擊“添加”按鈕。系統(tǒng)在后臺會自動查找填入的商品名。如果以前存在同名的商品,則在原來的商品的基礎上,對數(shù)量作出修改。如果查不到填入的商品名,則在商品表中新建一條記錄。最后,在進貨單表中生成相應的進貨記錄。4 管理員信息管理模塊在管理員管理歡迎界面,點擊“管理員信息管理頁面”。系統(tǒng)跳轉(zhuǎn)至管理員信息管理界面。在此界面上,可以實現(xiàn)對
28、管理員信息的增刪改,在此不再一一贅述。5 交易信息查看模塊顧客每次在超市的消費都會有相應的記錄。由于小型超市規(guī)模的限制,不可能大量保存每筆交易的詳細信息,因此系統(tǒng)以交易流水號的形式表示每筆交易。此模塊就是供管理員查看交易信息的記錄。由于交易信息是對超市中已存在的交易行為的記錄,因此不允許管理員對交易信息進行修改,只能在記錄較多時刪除某條記錄。6 退出模塊管理員在左側(cè)菜單點擊“退出”鏈接,進入“確認退出頁面”。7購物模塊在開始頁面點擊“開始購物旅程”鏈接,跳轉(zhuǎn)到購物頁面。點擊一項商品后的添加至購物車鏈接,會提示添加成功,并選擇查看購物車或繼續(xù)購物。點擊“查看購物車”進入購物車管理頁面??梢詫崿F(xiàn)對
29、購物車中商品數(shù)量的修改,查看目前已購買商品的價格總計,或者選擇刪除購物車中的某項商品,甚至清空購物車。點擊“結(jié)賬”鏈接,系統(tǒng)在新頁面中會生成一個交易流水號,繼續(xù)點擊“結(jié)賬”,如果后臺保存成功,則提示交易完成,點擊鏈接離開。4.3數(shù)據(jù)庫設計商品基本信息表見表4-1。表4-1 商品基本信息表名稱含義類型約束備注GoodsID商品IDInt 20主鍵自動增長GoodsName商品名稱Varchar 10唯一值GoodsType商品類型Int 20不為空GoodsPrice單價Int 10不為空GoodsPurchasePrice進價Int 10不為空GoodsAmount商品數(shù)量Int 10不為空G
30、oodsGetTime進貨日期Date不為空GoodsMaintainTime保質(zhì)期Int 10不為空單位為(天)GoodsFactory生產(chǎn)廠家Varchar 50不為空員工信息表見表 4-2。表4-2 員工信息表名稱含義類型約束備注MemberID員工IDInt 20主鍵自動增長MemberName員工姓名Varchar 10不為空MemberPassword員工密碼Varchar 6不為空MemberSex員工性別Int 1不為空1:男 2:女MemberAge員工年齡Int 10可為空進貨單表見表4-3。表4-3 進貨單表名稱含義類型約束備注Input_ID進貨單IDInt 50主鍵自
31、動增長Input_GoodsID商品IDInt 20不為空Input_GoodsName商品名稱Varchar 10唯一值Input_GoodsType商品類型Int 20不為空Input_GoodsPrice單價Int 10不為空Input_GoodsPurchasePrice進價Int 10不為空Input_GoodsAmount商品數(shù)量Int 10不為空Input_GoodsGetTime進貨日期Date不為空Input_GoodsMaintainTime保質(zhì)期Int 10不為空單位為(天)Input_GoodsFactory生產(chǎn)廠家Varchar 50不為空訂單表見表4-4。表4-4
32、訂單表名稱含義類型約束備注Account_ID訂單IDInt 20主鍵自動增長Account_GoodsID商品IDInt 20不為空Account_Code交易流水號Varchar 50外鍵 參照Sale表code不為空Account_GoodsCount購買商品數(shù)量Int 10不為空交易單表見表4-5。表4-5 交易單表名稱含義類型約束備注Sale_ID交易單IDVarchar 20主鍵自動增長Sale_Date交易日期Date不為空Sale_Accountcode交易流水號Varchar 50不為空在進行小型超市信息管理系統(tǒng)的數(shù)據(jù)庫設計時,要綜合考慮到超市的經(jīng)營成本,維護成本,員工素質(zhì)等
33、問題。因此在設計表時,要盡量做到簡潔有效,結(jié)構(gòu)清晰。過多的外鍵,約束,甚至于不必要的字段等都是在小型超市設計中所要避免的。因此在設計商品表時,只涉及了關于貨物的基本信息,在人員信息表設計時,只涉及了人員最基本的信息,避免了其他冗雜的字段帶來的大量數(shù)據(jù)空間消耗以及維護上和開發(fā)上的困難,從而為商品信息及交易信息的存貯留下了充裕的空間。當然,隨著超市的經(jīng)營,規(guī)模上的擴大在所難免,員工信息,交易記錄的復雜度將會日漸上升。但由于小型超市信息管理系統(tǒng)采用了MVC框架結(jié)構(gòu),因此在系統(tǒng)升級,表結(jié)構(gòu)改變上相對簡單,成本較低。5 系統(tǒng)詳細設計與實現(xiàn)5.1綜合描述由于小型超市信息管理系統(tǒng)結(jié)構(gòu)比較簡單,相對大型的,成
34、熟的超市采用的管理系統(tǒng)來說,無論在系統(tǒng)的性能,結(jié)構(gòu)復雜度,安全性上面都無法與之相比。因此在進行系統(tǒng)設計時,應盡量做到結(jié)構(gòu)清晰,編碼方式合理,代碼與系統(tǒng)的可維護性較高。在本章節(jié)中,選取小型超市信息管理系統(tǒng)關鍵模塊進行設計闡述。主要模塊有登錄模塊,商品信息查看模塊,購物車模塊三部分。有關本系統(tǒng)的文件結(jié)構(gòu)見圖5-1,圖5-2。圖5-1 系統(tǒng)文件結(jié)構(gòu)描述:controller包主要是存放servlet類,實現(xiàn)業(yè)務邏輯與功能函數(shù),接受表單傳參。每個servlet類都要在xml文件中進行注冊,以便系統(tǒng)進行調(diào)用。Dao包主要是存放數(shù)據(jù)庫操作類。每個controller類的功能都是通過dao類的函數(shù)實現(xiàn)對數(shù)據(jù)
35、庫的操作。Entity包主要是存放數(shù)據(jù)庫實體類,每個java類都對應著數(shù)據(jù)中的表,除了shoppingcart類。實體類主要是實現(xiàn)接受參數(shù),返回查詢結(jié)果。圖5-2 超市信息管理系統(tǒng)頁面描述:小型超市信息管理系統(tǒng)中主要頁面包括GoodsManage.jsp,Goods.jsp,selectSC.jsp等。主要實現(xiàn)商品信息展示,購物車模塊結(jié)果。Manage.jsp為框架網(wǎng)頁,實現(xiàn)后臺管理的主頁面布局。5.2關鍵模塊詳細設計此處為小型超市信息管理系統(tǒng)關鍵模塊的詳細描述,并附上相關代碼以及截圖。在代碼的關鍵處加以說明,以方便讀者閱讀。5.2.1登錄模塊登錄流程如圖5-3。管理員在登錄表單填寫用戶名,密
36、碼,將表單與Flag標志提交至Servlet。系統(tǒng)根據(jù)XML文件的配置,調(diào)用相關的Servlet類(MemberController.java)。Servlet根據(jù)Flag的值,調(diào)用相應的函數(shù),查詢數(shù)據(jù)庫表(member)并進行判斷,如果用戶名與密碼匹配,則跳轉(zhuǎn)到管理頁面(manage.jsp),否則,輸出登錄失敗頁面。圖5-3 登錄模塊流程圖相關代碼如下:Login.jsp: 請輸入您的姓名:請輸入您的密碼: 說明:登錄表單中,將姓名與密碼字段 “name”屬性分別設置為“Member_Name”,“Member_Password”,向后臺進行參數(shù)傳遞。點擊submit按鈕,按照a
37、ction中的路徑調(diào)用方法,傳遞方法的類型為“post”,將提交至servlet的dopost方法。MemberController.java:public void login(HttpServletRequest req,HttpServletResponse response)tryToChinese to=new ToChinese();Member user=new Member();MemberDAO memberdao=new MemberDAO();user.setName(req.getParameter(Member_Name);user.setPassword(req.g
38、etParameter(Member_Password);Member member=memberdao.login(user);if(member=null)PrintWriter out=response.getWriter();out.println();out.println( );out.println( );out.println(login fail+);out.println( );out.println();out.flush();out.close();elsereq.getSession().setAttribute(Member, member);RequestDisp
39、atcher rd=req.getRequestDispatcher(manage.jsp);rd.forward(req, response);catch(Exception e)e.printStackTrace();說明:login方法,接受前臺頁面?zhèn)鬟f過來的用戶名與密碼,并利用編碼轉(zhuǎn)換類將用戶名轉(zhuǎn)換為UTF-8編碼類型,解決了亂碼問題。實例化一個MemberDao類,調(diào)用其Login方法,返回實體類Member。如果返回值為空,則輸出登錄失敗頁面。否則,跳轉(zhuǎn)至管理員管理頁面manage.jsp。MemberDAO.java Login.()public Member login(Mem
40、ber member)throws SQLExceptionString sql=select * from member where MemberName=? and MemberPassword=?;PreparedStatement psmt=conn.prepareStatement(sql);psmt.setString(1, member.getName();psmt.setString(2, member.getPassword();ResultSet rs=psmt.executeQuery();Member member1=new Member();if(rs.next()m
41、ember1.setID(rs.getInt(MemberID);member1.setName(rs.getString(MemberName);member1.setPassword(rs.getString(MemberPassword);member1.setSex(rs.getInt(MemberSex);member1.setAge(rs.getInt(MemberAge);rs.close();return member1;elsereturn null;說明:Login方法對數(shù)據(jù)庫進行操作。首先連接至數(shù)據(jù)庫,利用前臺傳來的用戶名,密碼字段對數(shù)據(jù)庫進行查詢,以結(jié)果集形式進行返回。
42、并實例化member類,將結(jié)果集中的數(shù)據(jù)輸出,返回Member類型。相關界面設計見圖5-4,圖5-5,圖5-6。圖5-4 超市信息管理系統(tǒng)歡迎界面圖5-5 超市管理員登陸界面圖5-6 登陸失敗頁面5.2.2商品信息查看模塊在Left.jsp 中點擊“商品信息管理頁面”,鏈接為”Goods.do?flag=1” 。系統(tǒng)根據(jù)XML配置文件,調(diào)用GoodsController.java 。接受到Flag=1 ,調(diào)用FindAll()方法,查詢MysqL數(shù)據(jù)庫中goods表,查詢所有商品信息,返回一個List 集合,名為list。利用req.setAttribute(goods, list) 將集合存
43、入request范圍內(nèi),然后跳轉(zhuǎn)至商品信息展示頁面(Goodsmanage.jsp)。在商品信息展示頁面,創(chuàng)建一個Table.列名分別為商品各項屬性名。新建一個List list.。將request 范圍內(nèi)的“goods”接收并進行強制類型轉(zhuǎn)換。循環(huán)list,將商品輸出。在每一行商品的后面,加上“刪除”“更新”兩個鏈接,分別為:“Goods.do?flag=2&id=”,“Goods.do?flag=5&id=”。點擊鏈接,可以調(diào)用GoodsController.java 中的相應函數(shù),傳遞參數(shù)為ID,進行刪除或更新的操作。相關流程見圖5-7。圖5-7 商品信息查看模塊流程圖相關代碼如下:Le
44、ft.jsp:歡迎頁面商品信息管理頁面進貨單管理頁面管理員信息管理頁面交易信息查看頁面退出GoodsManage.jsp:商品ID商品名商品類型商品售價商品進價商品數(shù)量商品進貨時間商品保質(zhì)期(天)生產(chǎn)廠家%List list=new ArrayList();list=(List)request.getAttribute(goods);for(int i=0;i a href=Goods.do?flag=2&id=刪除 a href=Goods.do?flag=5&id=更新 添加新商品GoodController.java.FindAll():public void findAll(HttpS
45、ervletRequest req,HttpServletResponse response)tryListlist=gooddao.selectGoods();req.setAttribute(goods, list);RequestDispatcher rd=req.getRequestDispatcher(GoodsManage.jsp);rd.forward(req, response);catch(Exception e)e.printStackTrace();說明:FindAll方法調(diào)用gooddao的selectGoods方法,將所有商品信息讀出,以集合的形式存入變量“goods
46、”中,在中進行調(diào)用。GoodsDAO.selectGoods:public List selectGoods()throws SQLExceptionResultSet rs=null;tryConnection conn;conn=con.getConnection();String sql=select * from goods ;Statement psmt=conn.createStatement();rs=psmt.executeQuery(sql);List list=new ArrayList();while(rs.next()Goods good=new Goods();goo
47、d.setID(rs.getInt(GoodsID);good.setName(rs.getString(GoodsName);good.setType(rs.getInt(GoodsType);good.setPrice(rs.getInt(GoodsPrice);good.setPurchasePrice(rs.getInt(GoodsPurchasePrice);good.setAmount(rs.getInt(GoodsAmount);good.setGetTime(rs.getString(GoodsGetTime);good.setMaintainTime(rs.getInt(Go
48、odsMaintainTime);good.setFactory(rs.getString(GoodsFactory);list.add(good);return list; catch(Exception e)e.printStackTrace(); return null;相關頁面設計見圖5-8,5-9,5-10。圖5-8 商品信息查看頁面圖5-9 商品信息添加頁面圖5-10 商品信息更新頁面5.3.3購物車模塊用戶在商品瀏覽頁面查看商品。如果喜歡某件商品,點擊每行商品后的“添加至購物車”鏈接,調(diào)用“Cart.do?flag=1&id=?”ID為要添加的商品的ID。系統(tǒng)根據(jù)XML配置文件,
49、調(diào)用CartController 中的add方法,代碼如下:public void add(int id,HttpServletRequest request, HttpServletResponse response)try request.getSession().setAttribute(Amounterror, );GoodsDAO gd=new GoodsDAO();int exitNum=0;List list=(List)request.getSession().getAttribute(ShoppingCart);for(int i=0;ilist.size();i+)if(l
50、ist.get(i).getID()=id)exitNum=list.get(i).getAmount(); list.remove(list.get(i);Shoppingcart sc=new Shoppingcart();Goods g=gd.FindGoodsbyID(id);sc.setID(g.getID(); sc.setName(g.getName();sc.setAmount(exitNum+1);sc.setPrice(g.getPrice();list.add(sc);request.getSession().setAttribute(ShoppingCart, list
51、);RequestDispatcher rd=request.getRequestDispatcher(addcartsuccess.jsp); rd.forward(request, response);catch(Exception e) e.printStackTrace(); 說明:其中在session范圍內(nèi)設置了“AmountError”變量,用于校驗購物車中商品數(shù)量與現(xiàn)在超市中商品余量的關系。先從“ShoppingCart”變量中提取商品,并保留商品數(shù)量,刪除此商品。然后重新實例化一個Shoppingcart ,將顧客選中的商品信息存入list中重新存入session中。然后頁面跳
52、轉(zhuǎn)到addcartsuccess.jsp。此時購物車session中已存放了顧客選中的商品信息,默認商品數(shù)量為1,點擊查看購物車鏈接“selectSC.jsp”。代碼如下: %Listlist=new ArrayList(); list=(List)request.getSession().getAttribute(ShoppingCart); % 您未購買任何商品。 前去購物 您購買的商品如下: 離開超市 商品名稱 商品單價 商品數(shù)量 價格小計 %for(int i=0;i input type=text value= name=num a href=Cart.do?flag=3&id=刪除商品 %float allcost=0; for(Shoppingcart sc :list)allcost+=sc.getAmount()*sc.
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025《增值稅法》高質(zhì)量發(fā)展的增值稅制度規(guī)范增值稅的征收和繳納
- 深入學習《中華人民共和國科學技術普及法》推進實現(xiàn)高水平科技自立自強推動經(jīng)濟發(fā)展和社會進步
- 激揚正氣淬煉本色踐行使命廉潔從政黨課
- 加強廉潔文化建設夯實廉政思想根基培育風清氣正的政治生態(tài)
- 深入學習2024《突發(fā)事件應對法》全文提高突發(fā)事件預防和應對能力規(guī)范突發(fā)事件應對活動保護人民生命財產(chǎn)安全
- 2023年四年級數(shù)學上冊第一輪單元滾動復習第10天平行四邊形和梯形作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊第14單元階段性綜合復習作業(yè)課件新人教版
- 2023年四年級數(shù)學上冊易錯清單十五課件新人教版
- 2023年四年級數(shù)學上冊易錯清單七課件西師大版
- 2023年五年級數(shù)學下冊易錯清單六作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊易錯清單二作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊四分數(shù)的意義和性質(zhì)第10課時異分母分數(shù)的大小比較作業(yè)課件蘇教版
- 2023年五年級數(shù)學下冊周周練四作業(yè)課件北師大版
- 2023年五年級數(shù)學下冊六折線統(tǒng)計圖單元復習卡作業(yè)課件西師大版
- 2023年四年級數(shù)學上冊6除數(shù)是兩位數(shù)的除法單元易錯集錦一作業(yè)課件新人教版