【正文】
,并就這些問題提出解決方案。在本設(shè)計(jì)當(dāng)中,使用JAVA類實(shí)現(xiàn)。因此,在設(shè)計(jì)系統(tǒng)時(shí),應(yīng)盡量做到界面簡潔友好,方便使用者學(xué)習(xí)使用。這允許了管理人員能夠?qū)κ袌龅淖兓龀黾皶r(shí)準(zhǔn)確的反應(yīng)。關(guān)鍵詞:JSP;信息管理系統(tǒng);MVC框架AbstractWith the continuous development of retail industry, the supermarket, as an effective and convenient mode of retailing, has bee 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 prehensive kinds of goods. But the hypermarket also has problems. For example, their branch usually 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 developing 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, easydeveloping, convenientmaintaining and functional to this management system.This system has satisfied the needs of routine of the supermarket, and looked forward to a further improvement.Key Words: JSP(Java Server Page),IMS(Information Management System),MVC Frame目 錄1 引 言 1 1 1 1 1 32 問題定義與可行性分析 4 4 4 銷、存 4 4 4 4 53 需求分析 6 6 6 6 7 8 8 94 總體設(shè)計(jì) 10 10 10 125 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 15 15 17 17 21 26 33 33 34 34 35 41 41 41結(jié) 論 43參考文獻(xiàn) 44致 謝 451 引 言本處簡要介紹了小型超市信息管理系統(tǒng)的開發(fā)背景,主要內(nèi)容包括社會背景,公司背景,技術(shù)背景三個(gè)部分。目前,市場上的超市存在著大型化和小型化兩種趨勢。此次采用的軟件過程模型為過程開發(fā)模型,具體表現(xiàn)為將基本的過程活動、描述、開發(fā)、有效性驗(yàn)證和進(jìn)化,看成是一些界限分明的獨(dú)立的過程階段。因此,在超市經(jīng)營中引入計(jì)算機(jī)管理勢在必行。要盡量做到在節(jié)省成本的同時(shí),滿足超市信息管理系統(tǒng)日常工作的需要。JSP具備了Java技術(shù)的簡單易用,完全的面向?qū)ο?,具有平臺無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。Web應(yīng)用中當(dāng)用戶請求到來時(shí),控制器本身不輸出任何東西也不做任何處理,它只是接收請求并決定調(diào)用哪個(gè)模型去處理該請求,然后用確定使用哪個(gè)視圖組件來顯示模型處理返回的數(shù)據(jù)。對小型超市的各個(gè)業(yè)務(wù)模塊進(jìn)行分析,劃分系統(tǒng)的各個(gè)部分。2 問題定義與可行性分析本處主要內(nèi)容是小型超市信息管理系統(tǒng)的問題定義部分??尚行苑治龅囊饬x就在于當(dāng)開發(fā)者已經(jīng)明確開發(fā)過程中可能會出現(xiàn)的問題時(shí),要對這些目標(biāo),問題進(jìn)行實(shí)際意義的分析。如果是企業(yè)自己安排人手開發(fā)系統(tǒng)的話,其主要的投資還是在人力資源上,從系統(tǒng)的業(yè)務(wù)需求調(diào)查到系統(tǒng)的分析編碼制作都是需要巨大的人力投入的。而其他一些煩瑣的事物都通過新系統(tǒng)來加以分析解決,不僅節(jié)省了大量的時(shí)間,還為企業(yè)的各項(xiàng)決策提供了寶貴的資料,為企業(yè)帶來巨大的經(jīng)濟(jì)效益。它直接決定了系統(tǒng)的模塊劃分,業(yè)務(wù)邏輯,明確了使用者對小型超市信息管理系統(tǒng)功能的要求。輸入用戶名,密碼 登錄系統(tǒng)。圖32 管理員功能性需求用例圖非功能性需求分析主要是對面向系統(tǒng)性能方面的要求進(jìn)行分析,以確定諸如硬件配置,數(shù)據(jù)庫連接等問題。4在下列情況下須進(jìn)行數(shù)據(jù)庫零級備份:⑴新系統(tǒng)上線時(shí)(最好全備);⑵結(jié)帳前后;⑶年終結(jié)算;⑷固定周期時(shí)點(diǎn)(如一個(gè)月);⑸特定時(shí)點(diǎn)(如系統(tǒng)發(fā)生重大事故恢復(fù)之前、之后)。使用者進(jìn)入系統(tǒng)后,首先進(jìn)入歡迎界面。若管理員需要對相關(guān)商品信息作出修改,或者刪除某項(xiàng)商品信息。在此頁面填入相應(yīng)的商品信息,點(diǎn)擊“添加”按鈕。在進(jìn)貨信息添加頁面中,當(dāng)管理員填寫好相應(yīng)的字段后,點(diǎn)擊“添加”按鈕。5 交易信息查看模塊顧客每次在超市的消費(fèi)都會有相應(yīng)的記錄??梢詫?shí)現(xiàn)對購物車中商品數(shù)量的修改,查看目前已購買商品的價(jià)格總計(jì),或者選擇刪除購物車中的某項(xiàng)商品,甚至清空購物車。因此在設(shè)計(jì)表時(shí),要盡量做到簡潔有效,結(jié)構(gòu)清晰。主要模塊有登錄模塊,商品信息查看模塊,購物車模塊三部分。圖52 超市信息管理系統(tǒng)頁面描述:。Servlet根據(jù)Flag的值,調(diào)用相應(yīng)的函數(shù),查詢數(shù)據(jù)庫表(member)并進(jìn)行判斷,如果用戶名與密碼匹配,則跳轉(zhuǎn)到管理頁面(),否則,輸出登錄失敗頁面。((Member_Name))。( /BODY)。}}說明:login方法,接受前臺頁面?zhèn)鬟f過來的用戶名與密碼,并利用編碼轉(zhuǎn)換類將用戶名轉(zhuǎn)換為UTF8編碼類型,解決了亂碼問題。ResultSet rs=()。return member1。接受到Flag=1 ,調(diào)用FindAll()方法,查詢MysqL數(shù)據(jù)庫中g(shù)oods表,查詢所有商品信息,返回一個(gè)ListGoods 集合,名為list。id=%=(i).getID()%”。id=%=(i).getID()%刪除/a/td tda href=?flag=5amp。try{Connection conn。((GoodsName))。(good)。系統(tǒng)根據(jù)XML配置文件,調(diào)用CartController 中的add方法,代碼如下:public void add(int id,HttpServletRequest request, HttpServletResponse response){try{ ().setAttribute(Amounterror, )。Goods g=(id)。 (request, response)。 % table tr td width=608% if(()==0){% 您未購買任何商品。添加商品至購物車時(shí),會對購物車中的商品進(jìn)行校驗(yàn),若商品已在購物車中,則不在購物車中添加新項(xiàng)目,而是只修改商品數(shù)量。int exitNum=0。(())。}catch(Exception e){()。ListShoppingcart lsc=new ArrayListShoppingcart()。(i).setAmount((num[i]))。如果發(fā)現(xiàn)消費(fèi)者購買的商品數(shù)量大于庫存時(shí),則不允許其購買,并在界面上輸出相應(yīng)錯(cuò)誤信息。(request, response)。private static String psw=123456。}return con。import 。private String Input_Name。public Input() {super()。Input_Amount = input_Amount。}public String getInput_Name() {return Input_Name。}public int getInput_Amount() {return Input_Amount。}}進(jìn)貨單控制類():package controller。import 。break。}catch(Exception e){()。GoodsDAO gooddao=new GoodsDAO()。Int maintaintime=((GoodsMaintainTime))。(request, response)。黑盒測試法(又稱功能測試),是把系統(tǒng)看成一個(gè)黑盒子,完全不考慮程序內(nèi)部結(jié)構(gòu)和代碼,是在程序接口進(jìn)行的測試。普通顧客測試用例見表52所示。雖然可以通過操作者的人為控制避免這些失誤,但系統(tǒng)的穩(wěn)定性,代碼強(qiáng)度都受到了影響??偨Y(jié)前面的各項(xiàng)設(shè)計(jì)與分析成果,我們可以得到以下結(jié)論:小型超市的基本功能已經(jīng)實(shí)現(xiàn),可以滿足正常經(jīng)營的需要。白盒測試法(又稱結(jié)構(gòu)測試),是把程序看做裝在一個(gè)透明的白盒子里,也就是在完全了解程序結(jié)構(gòu)和代碼的前提下,按照程序內(nèi)部的邏輯測試程序,檢驗(yàn)程序中的每條通路是否都能按照預(yù)定要求正確工作。 }說明:進(jìn)貨單模塊是超市信息管理系統(tǒng)中很重要的一個(gè)組成部分。int id=(name)。int goodstype=((GoodsType))。()。deleteByID(id,request,response)。import 。import 。}public String getInput_GetTime() {return Input_GetTime。}public int getInput_Type() {return Input_Type。Input_MaintainTime = input_MaintainTime。InputID = inputID。private int Input_Price。public class CodeCreator {public CodeCreator(){}public String createAccountcode(){SimpleDateFormat sdf=new SimpleDateFormat(yyyyMMddHHmmss)。public class ToChinese {public ToChinese(){}public static String tochinese(String str){try{if(str==null){return。password=+psw+amp。}}相關(guān)頁面設(shè)計(jì)見圖512,圖513,圖514。 ()方法:public void removecart(int id,HttpServletRequest request, HttpServletResponse response){try{ListShoppingcart list=(ListShoppingcart)().getAttribute(ShoppingCart)。}}().setAttribute(ShoppingCart, lsc)。i()。如果購物車中已經(jīng)存在此商品,則將購物車中的商品數(shù)量信息單獨(dú)保存,并從購物車中刪除此商品的信息。(exitNum+1)。for(int i=0。每點(diǎn)擊相關(guān)鏈接就調(diào)用servlet的對應(yīng)函數(shù)對session中的ShoppingCart進(jìn)行操作。i()。 } }說明:其中在session范圍內(nèi)設(shè)置了“