超市銷售管理及系統(tǒng)設計管理知識分析_第1頁
超市銷售管理及系統(tǒng)設計管理知識分析_第2頁
超市銷售管理及系統(tǒng)設計管理知識分析_第3頁
超市銷售管理及系統(tǒng)設計管理知識分析_第4頁
超市銷售管理及系統(tǒng)設計管理知識分析_第5頁
已閱讀5頁,還剩41頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 超市銷售管理系統(tǒng)設計與實現(xiàn)學生姓名: xxx指導教師:xxx所在院系:xxx所學專業(yè):xxx研究方向:xxxxxx大 學Supermarket sales management systemName:xxxTutor:xxxCollege:xxxMajor:xxxDirection:xxxxxx Universityxxxxxx 摘 要一直以來人們使用傳統(tǒng)人工的方式管理超市的各項工作,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產生大量的冗余文件和數(shù)據(jù),這給查找和統(tǒng)計等工作帶來了很大的困難。隨著超市規(guī)模的發(fā)展,商品數(shù)量的急劇增加,有關商品的各種信息量也成倍增長,傳統(tǒng)的人

2、工記憶方式也慢慢的無法適應形勢的變化。只有采用智能化現(xiàn)代化的管理手段才能適應時代的潮流,在計算機技術迅速發(fā)展的今天,將計算機技術應用到超市的管理中將極大的改善超市的管理水平。本文就是基于以上的背景,提出了基于B/S模式的超市銷售管理系統(tǒng)。通過本系統(tǒng)可以實現(xiàn)超市智能化高效化的管理。本系統(tǒng)根據(jù)超市的實際運營流程來設計實現(xiàn),主要包括商品銷售模塊、采購進貨模塊、庫存管理模塊,此外還提供了系統(tǒng)管理和財務管理兩個模塊實現(xiàn)了對本系統(tǒng)的管理和超市運營狀況的全面分析,用戶根據(jù)它們即可維護系統(tǒng)和了解超市當前的運營狀況。本文從系統(tǒng)需求、系統(tǒng)設計到系統(tǒng)開發(fā)環(huán)境搭建和功能實現(xiàn)等多個方面做了全面的研究和分析。首先分析了當

3、前超市行業(yè)的管理狀況,然后從經濟和技術等各個方面分析了開發(fā)本系統(tǒng)的可行性,接下來進行系統(tǒng)設計從功能設計和數(shù)據(jù)庫設計兩個方面做了詳細分析,最后以不同用戶類型的功能權限作為主線介紹了系統(tǒng)的實現(xiàn)并作出了系統(tǒng)測試。通過本文即可全面了解本系統(tǒng)。本系統(tǒng)基于B/S結構,應用MyEclipse開發(fā)平臺,采用JSP語言和ExtJS框架,并以Tomcat作為服務器Mysql作為數(shù)據(jù)庫進行開發(fā)的。關鍵詞 超市銷售管理;B/S;ExtJS;MVC;JSPAbstractHas been the work of the traditional manual way to manage small supermarket

4、, this management approach has many shortcomings, such as: low efficiency, poor security, the other over time, will produce a lot of redundant files and data, which givesFind and statistical work has brought great difficulties. With the development of small supermarket scale, the number of commoditi

5、es increase sharply, about a variety of goods the amount of information doubling the traditional artificial memory Only intelligent modern management tools in order to adapt to the trend of the times, the rapid development in computer technology today, the application of computer technology to the s

6、upermarket management will greatly improve the management level of the supermarket.This article is based on the above background, a small supermarket management system based on B / S mode. Small supermarket intelligent and efficient management can be achieved through this system. The system is desig

7、ned and implemented based on the actual operational processes of the supermarket, including merchandise sales module, purchase module procurement, inventory management module, in addition also provides two modules of the system management and financial management to achieve comprehensive management

8、of the system and supermarket operator status analysis, the user they can maintain the current operational status of the system and understanding of the supermarket. First analysis of the current management situation of small supermarket industry, and then from the other aspects of economic and tech

9、nical analysis of the feasibility of developing the system, followed by a detailed analysis of system design from the two aspects of functional design and database design, and finally to the different the functional competence of the user type as the main line of the realization of the system and ma

10、ke the system test. Through this article can be a comprehensive understanding of the system.The system is based on B / S structure, application MyEclipse platform tools, using the JSP language and ExtJS framework and Tomcat as the server Mysql as the database developed.Keywords small supermarket man

11、agement; B/S; ExtJS; MVC; JSP目 錄緒 論11 系統(tǒng)概述21.1 系統(tǒng)背景介紹21.2 系統(tǒng)功能概述21.3 系統(tǒng)開發(fā)環(huán)境31.3.1 開發(fā)環(huán)境介紹31.3.2 開發(fā)環(huán)境搭建31.3.3 系統(tǒng)實現(xiàn)模式32 可行性分析和需求分析52.1 可行性研究52.1.1 經濟可行性52.1.2 技術可行性52.2 系統(tǒng)需求分析52.2.1 功能需求分析52.2.2系統(tǒng)性能需求63 系統(tǒng)設計73.1 系統(tǒng)功能設計73.1.1 總體設計73.1.2 詳細設計83.2 系統(tǒng)用例分析93.2.1 用例分析93.2.2 用例詳細說明103.3 數(shù)據(jù)庫需求分析113.4 創(chuàng)建數(shù)據(jù)庫154

12、系統(tǒng)實現(xiàn)204.1 銷售員功能模塊實現(xiàn)204.1.1 登錄模塊的實現(xiàn)204.1.2 商品銷售模塊的實現(xiàn)224.2 管理員功能模塊實現(xiàn)254.2.1 系統(tǒng)管理模塊的實現(xiàn)254.2.2 商品進貨模塊的實現(xiàn)284.2.3 商品庫存模塊的實現(xiàn)304.2.4 財務管理模塊的實現(xiàn)325 系統(tǒng)測試355.1 測試方案355.2測試用例355.2.1測試環(huán)境355.2.2測試方案355.3測試結果36結束語37致謝38參考文獻39緒 論隨著人們生活水平的不斷提高,消費的日益增長,越來越多的人選擇了方便快捷的超市購物,超市的信息量也不斷增長,所以作為超市的管理人員就需要有一個自動化、智能化的管理系統(tǒng)來完成這些信

13、息的處理。由此我們設計開發(fā)超市銷售管理系統(tǒng)。目前市場上的超市銷售管理系統(tǒng),大部分為基于分布式數(shù)據(jù)庫的網絡管理系統(tǒng),對于規(guī)模較小的超市沒有必要花巨資來購買這樣功能全面的管理系統(tǒng)。此外,對于那樣功能齊全的管理系統(tǒng)也需要花大精力來維護?;谶@種情況,我們用所學的知識,可以開發(fā)一種既能節(jié)約資金,又能完成超市日常的銷售管理任務的系統(tǒng)。本系統(tǒng)所包括的功能模塊主要有:用戶登錄模塊,它是系統(tǒng)的初始界面,用戶必須登錄才可以進行相應操作,登錄時系統(tǒng)會自動根據(jù)用戶的權限給予相應的管理主界面。財務管理模塊,此模塊可以根據(jù)用戶設定的時間段查詢超市的總體營業(yè)狀況及銷售、進貨等方面的運作狀況。商品銷售模塊,此模塊可以銷售商

14、品和盤點當日銷售情況。商品進貨模塊,此模塊可以進購商品和盤點當日進貨情況。商品庫存模塊,此模塊可以查看庫存信息,進行庫存商品的損溢操作等。系統(tǒng)管理模塊,此模塊可以設置系統(tǒng)信息,設置商品、供貨商、用戶等基礎信息,還可以查看系統(tǒng)日志等。在系統(tǒng)的安全性方面,超級管理員可以登錄到任何一個管理模塊,能夠添加和刪除其他賬戶,改變任意一個賬戶的密碼,設定賬戶的操作權限。普通用戶只能根據(jù)自己的權限進入相應的管理模塊進行對應的操作。通過這樣的權限限制就可以方便的控制系統(tǒng)的安全性??傊袖N售管理系統(tǒng)是一個經濟、實用的應用軟件,適合小規(guī)模的商店和超市。操作難度小,易學易用??梢源蟠蟮靥岣叱械倪\作效率。1 系統(tǒng)

15、概述1.1 系統(tǒng)背景介紹超市形式在我國于20世紀90年代初期起步,現(xiàn)在已經成為我國零售業(yè)的一種重要形態(tài)。隨著超市高速的發(fā)展,其經營管理也變得愈加復雜,早期的售貨員站柜臺的形式早已不能滿足現(xiàn)有銷售業(yè)的發(fā)展,這樣就迫切地需要引入新的管理技術。超市形態(tài)具有種種優(yōu)點,但在目前狀況下,它仍存在零售業(yè)企業(yè)所共有的落后的一面,如:不能有效地管理每種商品,收款結算速度慢,容易出現(xiàn)營業(yè)差錯,不宜進行商品調價,盤點效率低等,而且在超市日常管理中,商品的進、銷、存等決策以經驗為主,缺乏實時分析功能,管理人員對及時傳遞資料的要求始終得不到滿足。隨著超市形態(tài)的高速發(fā)展,其經營管理也變得愈加復雜,日常所需要處理的數(shù)據(jù)量也

16、逐漸增大,商業(yè)運轉的中間環(huán)節(jié)也越來越多,原始的人工管理已無法應對這復雜的市場。在這樣的背景下,只有依靠現(xiàn)代化的計算機信息處理技術來管理超市,從而節(jié)省出大量的人力、物力,改善員工的工作條件,減輕勞動強度,快速反映出商品的進、銷、存等狀況和各種反饋信息的分析,才能夠使管理人員快速對市場的變化做出相應的決策,加快超市經營管理效率。1.2 系統(tǒng)功能概述針對行業(yè)的發(fā)展現(xiàn)狀,綜合應用所學知識,設計超市銷售管理系統(tǒng)。本系統(tǒng)可以實現(xiàn)銷售、采購、倉儲等超市基本業(yè)務的綜合銷售管理,還可以實現(xiàn)財務的綜合統(tǒng)計,為超市的現(xiàn)代化管理提供便利、可靠的保障。根據(jù)不同的業(yè)務流程,將系統(tǒng)進行不同的功能模塊劃分,每個模塊各司其職,

17、完成各自的業(yè)務管理任務。如商品銷售模塊可以進行商品的銷售和盤點當日的銷售信息等,財務管理模塊可以查詢超市的綜合營業(yè)狀況,查詢銷售和進貨的狀況等。它們互相之間共享營業(yè)數(shù)據(jù),各自又有不同的展現(xiàn)和用戶接口形式。體現(xiàn)了功能的靈活實現(xiàn)。1.3 系統(tǒng)開發(fā)環(huán)境1.3.1 開發(fā)環(huán)境介紹本系統(tǒng)使用MyEclipse作為開發(fā)工具,使用Tomcat為服務器,使用Firefox為默認瀏覽器。開發(fā)前需要首先安裝JDK以支持環(huán)境的搭建。因為系統(tǒng)要使用ExtJS這個JS框架,開發(fā)前首先在MyEclipse中安裝插件Spket,以更好的支持ExtJS開發(fā)。在Firefox中安裝組件Firebug調試工具,它在開發(fā)調試Java

18、Script過程中十分便利。1.3.2 開發(fā)環(huán)境搭建(1)安裝JDK以支持Java開發(fā)環(huán)境,整合MyEclipse和Tomcat服務器,有一個統(tǒng)一便利的集成開發(fā)環(huán)境。(2)在MyEclipse中安裝插件Spket,它是一款全面支持JavaScript的免費開發(fā)工具,其體積小巧,它就像是為EXT量身定做的一樣。插件Spket安裝后默認沒有提供對EXT的支持,我們需要將EXT庫添加到列表中,并將其設為默認。這樣在開發(fā)ExtJS的時候可以有相應提示。(3)瀏覽器Firefox對ExtJS的支持很好,我們使用它作為默認瀏覽器。Firebug是它的一個組件,它用于調試JavaScript相當方便,它可以

19、顯示動態(tài)生成的DOM,甚至可以在Firebug里直接對DOM進行修改,而這些修改會反映到顯示頁面上。Firebug可以查看Ajax方式發(fā)送和接收的各種信息,還可以查看發(fā)送的參數(shù)以及返回的狀態(tài)和信息。Firebug安裝相當簡單,在Firefox中搜索,在網頁中點擊安裝即可。1.3.3 系統(tǒng)實現(xiàn)模式本系統(tǒng)采用B/S結構,使用JSP/Servlet技術,前臺使用RIA富客戶端的ExtJS框架,整體上采用MVC模式來實現(xiàn)。下面詳細介紹這些概念。(1) 在網絡程序中,有C/S結構和B/S結構之分,其中C/S是客戶端(Client)/服務器(Server)模式,這種模式的客戶端中需要安裝一個客戶端軟件,客

20、戶端軟件負責與服務器進行數(shù)據(jù)交換。B/S是瀏覽器(Browser)/服務器(Server)模式,客戶端只要有一款瀏覽器就可以和服務器實現(xiàn)數(shù)據(jù)交互,Web應用程序就是B/S模式。(2) JSP全稱是Java Server Pages,是由Sun Microsystems公司倡導、眾多公司參與開發(fā)建立的一種動態(tài)網頁技術標準。JSP技術以Java語言作為腳本語言(Java是一種成熟的跨平臺的程序設計語言)。JSP具有非常突出的開放性、跨平臺性和高效性。Servlet是一種Java編程語言類,用來擴展通過響應請求編程模型服務應用程序訪問的服務器功能。盡管Servlet能夠響應任何類型的請求,但是它們一

21、般用來擴展由服務器支持的應用程序。(3) ExtJS可以用來開發(fā)RIA也即富客戶端的AJAX應用,是一個用javascript寫的,主要用于創(chuàng)建前端用戶界面,是一個與后臺技術無關的前端ajax框架。其無論從UI界面上CSS樣式的應用,到數(shù)據(jù)解析上的異常處理,都可算是一款不可多得的JavaScript客戶端技術的精品。本系統(tǒng)使用ExtJS實現(xiàn)了One Page, One Application即一個頁面就是一個應用。(4)本系統(tǒng)采用MVC結構設計模式。MVC架構是"Model View -Controller"的縮寫,中文翻譯為"模型-視圖-控制器"。MV

22、C應用程序總是由這三個部分組成。Event(事件)導致Controller改變Model或View,或者同時改變兩者。只要Controller改變了Models的數(shù)據(jù)或者屬性,所有依賴的View都會自動更新。類似的,只要Controller改變了View,View會從潛在的Model中獲取數(shù)據(jù)來刷新自己。模型是應用程序的主體部分,表示業(yè)務數(shù)據(jù)和業(yè)務邏輯。數(shù)據(jù)模型主要指實體對象的數(shù)據(jù)保存(持續(xù)化)。業(yè)務模型實現(xiàn)應用程序的業(yè)務邏輯,比如將一張訂單保存到數(shù)據(jù)庫,從數(shù)據(jù)庫獲取訂單。一個模型能為多個視圖提供數(shù)據(jù)。視圖是用戶看到并與之交互的界面,向用戶顯示有關的數(shù)據(jù),并能接收用戶的輸入數(shù)據(jù),但是它并不進行

23、任何實際的業(yè)務處理。視圖可以向模型查詢業(yè)務狀態(tài),但不能改變模型,它還能接收模型發(fā)出的數(shù)據(jù)更新事件,從而對用戶界面進行同步更新??刂破鹘邮苡脩舻妮斎氩⒄{用模型和視圖去完成用戶的需求。如當用戶單擊頁面中的提交按鈕來發(fā)送表單內容時,控制器接受請求并調用相應的模型組件去處理請求,然后更新相應視圖來顯示模型返回的數(shù)據(jù)。控制層在數(shù)據(jù)和應用客戶之間擔當一個調節(jié)者,它實現(xiàn)了業(yè)務邏輯的控制,并且響應客戶端和數(shù)據(jù)層之間的交換,它接受客戶端的請求,將請求轉發(fā)到系統(tǒng)服務,并把系統(tǒng)服務返回的結果返回到客戶端。模型、視圖與控制器的分離,使得一個模型可以具有多個顯示視圖。如果用戶通過某個視圖的控制器改變了模型的數(shù)據(jù),所有其

24、它依賴于這些數(shù)據(jù)的視圖都應反映到這些變化。因此,無論何時發(fā)生了何種數(shù)據(jù)變化,控制器都會將變化通知所有的視圖,導致顯示的更新。這實際上是一種模型的變化-傳播機制。2 可行性分析和需求分析2.1 可行性研究可行性研究(Feasibility Study),是指在調查的基礎上,通過市場分析、技術分析、財務分析和國民經濟分析,對各種投資項目的技術可行性與經濟合理性進行的綜合評價。2.1.1 經濟可行性作為超市的銷售管理系統(tǒng),由于其數(shù)據(jù)量相對較小,并且在數(shù)據(jù)處理上不是很復雜,所以從項目開發(fā)的角度來說其開發(fā)周期會比較短,它的開發(fā)成本不會很高。由于系統(tǒng)數(shù)據(jù)量相對較少,從系統(tǒng)運行的角度來看,對計算機的性能要求

25、相對來說也不是很高,所以在其管理上所需費用要相對較少。從本系統(tǒng)的投入費用、收益、投資回報周期等方面來看,本系統(tǒng)都是可行的。2.1.2 技術可行性隨著互聯(lián)網的迅速發(fā)展,基于Internet的B/S架構應用程序逐漸被人們所關注?;贘AVAEE規(guī)范的系統(tǒng)設計實現(xiàn)已經非常成熟。能夠很好的實現(xiàn)B/S架構的軟件。無論是從經濟方面還是從技術方面分析的情況上都可以看出,開發(fā)超市銷售管理系統(tǒng),實現(xiàn)超市銷售管理的計算機化是非常必要的,也是可行的。因為使用計算機化的超市銷售管理系統(tǒng)可以很好的改變目前超市銷售管理工作的現(xiàn)狀,能夠提高工作效率。2.2 系統(tǒng)需求分析所謂“需求分析”,是指對要解決的問題進行詳細的分析,弄

26、清楚問題的要求,包括需要輸入什么數(shù)據(jù),要得到什么結果,最后應輸出什么??梢哉f,在軟件工程當中的“需求分析”就是確定要計算機“做什么”。2.2.1 功能需求分析根據(jù)超市的實際運營情況進行分析,通常它們沒有獨立的倉庫,進貨和銷售商品都是在同一場所完成,在此,我們即按照這一實際的情況進行系統(tǒng)設計。超市的基本業(yè)務狀況有銷售、進貨、庫存等,此外系統(tǒng)中還要設置商品、用戶、權限等必要的系統(tǒng)信息,還可以查看超市運行財務狀況。根據(jù)超市的業(yè)務流程,必須要設計實現(xiàn)的模塊有商品銷售模塊,以實現(xiàn)商品銷售的基本業(yè)務。采購進貨模塊,以實現(xiàn)商品采購進貨的基本業(yè)務。庫存管理模塊,實現(xiàn)商品的綜合管理業(yè)務。此外可以添加輔助功能模塊

27、,系統(tǒng)管理和財務管理,分別實現(xiàn)對系統(tǒng)的維護和超市營業(yè)狀況的分析查詢。2.2.2系統(tǒng)性能需求實用性:方便可快捷的實現(xiàn)商品在銷售、采購和庫存等方面的信息操作。整個系統(tǒng)實現(xiàn)商品信息的統(tǒng)一編碼,并由系統(tǒng)管理員集中管理,可以促進系統(tǒng)管理員的工作效率,并有效減少成本和繁瑣的工作量。易操作性:本系統(tǒng)在銷售、商品管理等重要環(huán)節(jié),不需輸入任何復雜的信息,管理員只需通過瀏覽器便可進行數(shù)據(jù)的錄入、查詢和修改等工作。適應性:該系統(tǒng)對于軟硬件要求并不是趨于高檔,能實現(xiàn)廣泛應用。本系統(tǒng)是B/S模式,可以實現(xiàn)同時讓多個用戶訪問和操作。同時支持動態(tài)添加基本信息,增加的商品供貨商等都可以隨時添加。易維護性:可以方便的維護系統(tǒng),

28、可以使用工具導出數(shù)據(jù)庫數(shù)據(jù),清空階段性數(shù)據(jù)。實現(xiàn)系統(tǒng)數(shù)據(jù)處理的輕負荷。安全性:系統(tǒng)采用不同的權限級別,不同的用戶有不同的操作權限,實現(xiàn)了很好的安全認證。3 系統(tǒng)設計3.1 系統(tǒng)功能設計 超市系統(tǒng)功能的設計首先進行總體設計說明系統(tǒng)功能設計的設計思想和設計原則,在根據(jù)總體設計做詳細的功能模塊設計。實現(xiàn)一體化的設計思路。3.1.1 總體設計(1)設計思想:(1)系統(tǒng)分成幾個相對獨立的模塊,但這些模塊都進行集中式管理。每個模塊都可以完成自己特定的功能,如財務、銷售、進貨等等。(2)分層的模塊化程序設計思想,整個系統(tǒng)采用模塊化結構設計。作為應用程序有較強的可操作性和擴展性。如程序中操作數(shù)據(jù)庫時,在Uti

29、l層中獲取數(shù)據(jù)庫連接,在DAO層中操作數(shù)據(jù)庫完成CRUD操作。這樣使程序層次結構分明,便于維護拓展。(3)合理的數(shù)據(jù)流設計,在應用系統(tǒng)設計中,相對獨立的模塊間以數(shù)據(jù)流相互連接,使各模塊間的耦合性較低,方便系統(tǒng)運行,提高系統(tǒng)安全性。(2)設計原則:為了使本系統(tǒng)功能齊全完備,操作簡便,最大限度的提高軟件的質量,從而滿足用戶的實際需要,在設計開發(fā)過程中遵循如下原則:(1)合法性原則:依據(jù)小型超市實際的工作情況,進行諸如商品進貨、銷售等工作。(2)實用性原則:適合商品信息管理工作的實際需求,并能夠處理一些特殊情況的要求,此外,盡可能預留空間,以便擴充功能。(3)準確性原則:對輸入的相關資料建立檢錯機制

30、,及時報錯,使用戶能夠及時準確的輸入合法資料(如:類型匹配,長度不超限等)。(4)易操作原則:要求設計的系統(tǒng)功能齊全,接口友好,操作方便,必要的地方進行提示。(5)安全性原則:該系統(tǒng)的管理員具有可設置登錄賬戶,修改密碼的權限,不同的用戶類型有不同的操作權限。3.1.2 詳細設計本系統(tǒng)除了登錄模塊外,主頁中共實現(xiàn)五個完整的功能模塊,分別是財務管理、商品銷售管理、商品進貨管理、商品庫存管理和系統(tǒng)管理。系統(tǒng)根據(jù)不同的用戶角色又有不同的功能模塊體現(xiàn),其中銷售人員的功能結構圖如圖3-1所示:圖3-1 銷售人員功能結構圖管理員的對應的系統(tǒng)功能結構圖,如圖3-2所示。圖3-2 系統(tǒng)功能結構圖財務管理模塊包括

31、營業(yè)綜合統(tǒng)計、收銀報表查詢、結賬單據(jù)查詢、進貨報表查詢、進貨單據(jù)查詢。財務管理模塊中可以根據(jù)設定的時間段,查詢對應的營業(yè)信息。商品銷售模塊包括銷售商品、今日盤點。商品銷售模塊中系統(tǒng)自動將所有商品按照類別分類顯示,銷售人員可以選定商品或直接輸入商品編號進行銷售操作,此外還可以查看當日盤點信息。商品進貨模塊包括采購進貨、今日盤點。商品進貨模塊中也會自動顯示所有商品,采購人員可以選定商品進行采購操作,還可查看當日進貨盤點信息。商品庫存模塊包括庫存預警、庫存信息查詢、損溢處理、損益查詢。商品庫存模塊中可以查看庫存預警,查看庫存的詳細信息。進行庫存的損溢操作,查看損益信息等?;诔羞\營的實際情況并不設

32、置商品出庫的功能。系統(tǒng)管理模塊包括用戶設置、商品管理、供貨商管理、商品類別管理、員工管理、權限管理、登錄日志、系統(tǒng)信息。系統(tǒng)管理模塊中可以設置用戶信息,商品、商品類別、供貨商等信息??梢蕴砑訂T工并設置員工的權限。系統(tǒng)會自動查詢出登錄日志和設定的系統(tǒng)信息并做出相應展現(xiàn)。管理員可以添加賬戶類型,并設置相應的權限。3.2 系統(tǒng)用例分析 對系統(tǒng)做角色用例分析,這樣可以很好地體現(xiàn)系統(tǒng)各個模塊的設計思路,體現(xiàn)系統(tǒng)功能模塊設計的必要性。3.2.1 用例分析用例分析是干什么用的呢?要說明這個問題,我們看看下面幾個概念。角色(Actor)是與系統(tǒng)交互的人或事。所謂與“系統(tǒng)交互”指的是角色向系統(tǒng)發(fā)送消息、從系統(tǒng)中

33、接收信息,以及在系統(tǒng)中的信息交換。使用用例與系統(tǒng)互相交流的任何人或事都是角色。比如,某人使用系統(tǒng)中提供的用例,則該人就是角色。用例是對包括變量在內的一組動作序列的描述,系統(tǒng)執(zhí)行這些動作,并產生可觀察到的系列結果。我們可以這樣通俗的理解,用例是參與者想要系統(tǒng)做的某件事情。根據(jù)用例和角色的概念,通過對超市銷售管理系統(tǒng)需求的了解,可以得到如圖3-3所示的分析結果:圖3-3 系統(tǒng)用例圖在圖3-3中像人一樣的圖形就是角色,通過對超市銷售管理系統(tǒng)的需求分析可知系統(tǒng)默認有管理員角色,管理員擁有所有系統(tǒng)權限,它可以添加其他用戶和設置其權限;圖中橢圓代表的是用例(這里分析的是系統(tǒng)整體上的功能);中間的箭頭將角色

34、與用例連接起來,代表的是對應的角色可以使用的用例,有一個箭頭就代表對應的角色可以使用用例,沒有箭頭則表示對應的角色不能使用該用例。3.2.2 用例詳細說明光有用例分析是不夠的,用例只是程序的功能界定,需求概述也僅僅對每個功能提了個名字,想要實現(xiàn)系統(tǒng)的功能還必須知道每個功能的詳細內容,深入了解用戶在完成系統(tǒng)的某個功能時需要做些什么事。下面就讓我們來看看圖中用例的詳細說明。(1)系統(tǒng)登錄所有的用戶都可以登錄,系統(tǒng)會自動加載與其權限對應的主界面。(2)財務管理可以根據(jù)設定的時間段查看超市整體的營業(yè)狀況,查看這一時間內銷售或進貨的報表,查看某一結賬單據(jù)的詳細等等。(3)商品銷售可以輸入商品編號或商品樹

35、中選擇商品,進行銷售商品的操作,盤點當日的銷售狀況。(4)采購進貨可以輸入商品編號或商品樹中選擇商品,進行采購商品的操作,盤點當日的采購狀況。(5)商品庫存查看庫存預警,商品少于一定數(shù)量則自動顯示在預警頁面中。查看庫存詳細信息。進行庫存商品的損溢操作,查看損溢信息等。(6)系統(tǒng)管理設置系統(tǒng)運行的必要信息,添加商品、商品類別,供貨商信息,添加員工設置權限,查看登錄日志,查看系統(tǒng)信息等。3.3 數(shù)據(jù)庫需求分析數(shù)據(jù)庫在一個系統(tǒng)中占有非常重要的地位,數(shù)據(jù)設計的優(yōu)劣將直接對應用系統(tǒng)的效率以及實現(xiàn)的效果產生影響。合理的數(shù)據(jù)庫結構設計可以提高數(shù)據(jù)存取效率,保證數(shù)據(jù)完整性和一致性,從而有利于程序的實現(xiàn)。設計數(shù)

36、據(jù)庫系統(tǒng)時應該首先充分了解系統(tǒng)需求的各個方面的需求,包括現(xiàn)有的和將來可能增加的需求。目前商業(yè)應用中最主要的是關系數(shù)據(jù)庫。 Oracle、DB2、Sybase、MS SQL Server、MySQL等都是關系數(shù)據(jù)庫。本系統(tǒng)選用MySQL數(shù)據(jù)庫。MySQL是當前應用最廣泛的開源數(shù)據(jù)庫軟件,在非商業(yè)用途下可免費使用。MySQL精小但是執(zhí)行效率高,運行穩(wěn)定,深受歡迎。需求具體體現(xiàn)在各種信息的提供、保存、更新和查詢上,這就要求數(shù)據(jù)庫結構能充分滿足各種信息的輸出和輸入。通過收集基本數(shù)據(jù)、數(shù)據(jù)結構以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)詞典,為后面的具體設計打下基礎。在仔細分析和調查系統(tǒng)的基礎上,針對超市銷售

37、管理系統(tǒng)的需求,通過對超市運營的流程和數(shù)據(jù)進行分析,設計如下所示的數(shù)據(jù)項和數(shù)據(jù)結構:用戶信息:包括用戶名稱、系統(tǒng)啟用時間、用戶地址、聯(lián)系電話、營業(yè)時間。其對應的實體屬性圖如圖3-4所示:圖3-4 用戶信息實體屬性圖權限信息:包括用戶類型編號、用戶類型名稱、財務管理權限、商品銷售權限、商品進貨權限、商品庫存管理權限、系統(tǒng)管理權限。(其中TRUE=1和FALSE=0)其對應的實體屬性圖如圖3-5所示:圖3-5 權限信息實體屬性圖員工信息:包括員工工號、員工姓名、員工密碼、用戶類型。其對應的實體屬性圖如圖3-6所示:圖3-6 員工信息實體屬性圖日志信息:包括日志編號、員工工號、登錄時間、退出時間、登

38、錄IP。其對應的實體屬性圖如圖3-7所示:圖3-7 日志信息實體屬性圖供貨商信息:包括供貨商編號、供貨商名稱、聯(lián)系人、聯(lián)系電話、聯(lián)系地址。其對應的實體屬性圖如圖3-8所示:圖3-8 供貨商信息實體屬性圖商品類別信息:包括類別編號、類別名稱、類別說明。其對應的實體屬性圖如圖3-9所示:圖3-9 商品類別信息實體屬性圖商品信息:包括商品編號、商品名稱、單位、類別、成本價、單價。其對應的實體屬性圖如圖3-10所示:圖3-10 商品信息實體屬性圖商品庫存信息:包括商品編號、庫存數(shù)量。其對應的實體屬性圖如圖3-11所示:圖3-11 商品庫存信息實體屬性圖損溢信息:包括損溢編號、商品編號、供貨商、損溢數(shù)量

39、、損溢標注、損溢說明、損溢日期、操作員。其對應的實體屬性圖如圖3-12所示:圖3-12 損溢信息實體屬性圖銷售商品信息:包括賬單號、商品編號、銷售數(shù)量、應收金額、折扣率、實收金額、銷售日期、操作員。其對應的實體屬性圖如圖3-13所示:圖3-13 銷售商品信息實體屬性圖采購商品信息:包括帳單號、商品編號、供貨商、進貨數(shù)量、支付金額、進貨日期、操作員。其對應的實體屬性圖如圖3-14所示:圖3-14 采購商品信息實體屬性圖3.4 創(chuàng)建數(shù)據(jù)庫我們選用MySQL數(shù)據(jù)庫,首先創(chuàng)建超市銷售管理系統(tǒng)數(shù)據(jù)庫market,創(chuàng)建數(shù)據(jù)庫的SQL語句為:create database market default ch

40、aracter set utf8;,并使用當前數(shù)據(jù)庫“use market”開始創(chuàng)建表:其中,用戶信息表如表3-1所示,表名user,主鍵user_name。表3-1 用戶信息表字段名字段類型長度主/外鍵約束對應中文名user_namevarchar40PNOT NULL用戶名稱sys_use_timedatetime-NOT NULL系統(tǒng)啟用時間user_addrvarchar40-NOT NULL用戶地址user_phonevarchar20-NOT NULL聯(lián)系電話open_timevarchar20-NOT NULL營業(yè)時間用戶信息表中存儲系統(tǒng)超市名稱、地址、聯(lián)系電話等信息。設定后它會

41、自動加載到主頁的系統(tǒng)信息上,每次登錄時會自動顯示出來。權限信息表如表3-2所示,表名userlimit,主鍵user_type_id。表3-2 權限信息表字段名字段類型長度主/外鍵約束對應中文名user_type_idint-P(auto)NOT NULL用戶類型編號user_type_namevarchar20-NOT NULL用戶類型名稱cw_ctrlint-NOT NULL財務管理權限sell_ctrlint-NOT NULL商品銷售權限buy_ctrlint-NOT NULL商品進貨權限stock_ctrlint-NOT NULL庫存管理權限sys_ctrlint-NOT NULL系統(tǒng)

42、管理權限權限表中擁有某個權限TRUE=1,沒有權限FALSE=0,向權限表中加入初始數(shù)據(jù),定義用戶類型“admin”管理員擁有所有權限,SQL語句為“insert into userlimit values(null,'admin',1,1,1,1,1);”。員工信息表如表3-3所示,表名person,主鍵per_id。表3-3 員工信息表字段名字段類型長度主/外鍵約束對應中文名per_idint-PNOT NULL員工工號per_namevarchar20-NOT NULL員工姓名per_passwordvarchar20-NOT NULL員工密碼user_type_idin

43、t-F(userlimit)NOT NULL用戶類型系統(tǒng)默認使用員工工號進行登錄,管理員可以添加員工設定其工號和密碼,并設置其權限類型。這里向員工表中加入初始數(shù)據(jù),加入管理員賬戶其SQL語句為“insert into person values(1111,'admin','1111',1);”,即管理員工號:1111,密碼:1111。這樣啟用系統(tǒng)后便可以使用此賬戶進行系統(tǒng)初始化操作了。員工使用其工號登錄時,系統(tǒng)會自動根據(jù)其用戶類型確定其權限,并加載對應的UI。日志信息表如表3-4所示,表名log,主鍵log_id。表3-4 日志信息表字段名字段類型長度主/外鍵約

44、束對應中文名log_idint-P(auto)NOT NULL日志編號per_idint-F(person)NOT NULL員工工號login_timedatetime-NOT NULL登錄時間logout_timedatetime-NOT NULL退出時間login_ipvarchar20-NOT NULL登錄IP用戶登錄時系統(tǒng)會自動記錄登錄員工的工號和其登錄時間、登錄IP地址等信息,當用戶退出時系統(tǒng)會自動記錄其時間并更新對應記錄。供貨商信息表如表3-5所示,表名provider,主鍵pv_id。表3-5 供貨商信息表字段名字段類型長度主/外鍵約束對應中文名pv_idint-P(auto)N

45、OT NULL供貨商編號pv_namevarchar20-NOT NULL供貨商名稱pv_pervarchar20-NOT NULL聯(lián)系人pv_addrvarchar40-NOT NULL聯(lián)系電話pv_phonevarchar20-NOT NULL聯(lián)系地址設定供貨商信息,在采購進貨時會加載供用戶選擇,每筆訂單中的記錄都可以設定各自的供貨商信息。商品類別信息表如表3-6所示,表名category,主鍵cg_id。表3-6 商品類別信息表字段名字段類型長度主/外鍵約束對應中文名cg_idint-P(auto)NOT NULL類別編號cg_namevarchar20-NOT NULL類別名稱cg_s

46、tatevarchar40-NOT NULL類別說明設定商品類別后,添加商品的時候便可以根據(jù)商品類別添加,系統(tǒng)也會按照商品類別分類顯示。商品信息表如表3-7所示,表名sp,主鍵sp_id。表3-7 商品信息表字段名字段類型長度主/外鍵約束對應中文名sp_idint-P(auto)NOT NULL商品編號sp_namevarchar20-NOT NULL商品名稱sp_unitvarchar20-單位cg_idint-F(category)NOT NULL類別sp_costdouble-NOT NULL成本價sp_pricedouble-NOT NULL單價添加商品后,進行進貨、銷售、損溢等操作時

47、系統(tǒng)會自動將所有商品按照商品類別分類展示出來,供用戶選擇使用。商品庫存信息表如表3-8所示,表名stock,主鍵sp_id。表3-8 商品庫存信息表字段名字段類型長度主/外鍵約束對應中文名sp_idint-P(auto)F(sp)NOT NULL商品編號stock_countint-NOT NULL庫存數(shù)量通過查詢商品庫存表可以查看庫存預警信息和詳細的庫存信息。表中沒有的冗余字段查詢的時候使用表的聯(lián)合查詢來實現(xiàn)。損益信息表如表3-9所示,表名sy,主鍵sy_id。表3-9 損溢信息表字段名字段類型長度主/外鍵約束對應中文名sy_idint-P(auto)NOT NULL損溢編號sp_idint

48、-F(sp)NOT NULL商品編號pv_idint-F(provider)NOT NULL供貨商sy_countint-NOT NULL損溢數(shù)量sy_bzint-NOT NULL損溢標注sy_statevarchar40-損溢說明sy_timedatetime-NOT NULL損溢日期per_idint-F(person)NOT NULL操作員庫存商品會有損溢情況,這里設置這個表,產生商品損溢時進行記錄同時更新商品庫存表。銷售商品信息表如表3-10所示,表名sell,主鍵s_bill,sp_id。表3-10 銷售商品信息表字段名字段類型長度主/外鍵約束對應中文名s_billvarchar20

49、PNOT NULL賬單號sp_idint-P/F(sp)NOT NULL商品編號s_countint-NOT NULL銷售數(shù)量s_ysdouble-NOT NULL應收金額s_ratedouble-折扣率s_ssdouble-NOT NULL實收金額s_timedatetime-NOT NULL銷售日期per_idint-F(person)NOT NULL操作員銷售商品信息表使用聯(lián)合主鍵“primary key(s_bill,sp_id)”,通過賬單號和商品ID可以確定這個表中的一條記錄。通過這個表可以查詢銷售記錄,形成財務銷售信息,借此以輔助提高超市的決策水平。采購商品信息表如表3-11所示

50、,表名buy,主鍵b_bill,sp_id。表3-11 采購商品信息表字段名字段類型長度主/外鍵約束對應中文名b_billvarchar20PNOT NULL賬單號sp_idint-P/F(sp)NOT NULL商品編號pv_idint-F(provider)NOT NULL供貨商b_countint-NOT NULL進貨數(shù)量b_zfdouble-NOT NULL支付金額b_timedatetime-NOT NULL進貨日期per_idint-F(person)NOT NULL操作員采購商品信息表使用聯(lián)合主鍵“primary key(b_bill,sp_id)”,通過賬單號和商品ID可以確定這

51、個表中的一條記錄。通過這個表可以查詢采購記錄,形成財務進貨信息,借此以輔助提高超市的決策水平。4 系統(tǒng)實現(xiàn)根據(jù)前面的分析和設計,以功能模塊為單位逐個進行編碼實現(xiàn),這里以不同用戶角色進入系統(tǒng)(這里以銷售人員和系統(tǒng)管理員為例進行分析說明),分析其對應的各個功能模塊的實現(xiàn)方法,展示其實現(xiàn)效果。4.1 銷售員功能模塊實現(xiàn)銷售人員只是負責商品的銷售工作,他們可以登錄系統(tǒng),并進行商品的銷售和銷售的盤點工作。這里便介紹登錄模塊和商品銷售模塊。4.1.1 登錄模塊的實現(xiàn)登錄頁面是系統(tǒng)的初始界面,用戶只有登錄成功才會出現(xiàn)系統(tǒng)主界面,可以進行相應操作。它是系統(tǒng)的門戶,登錄后實現(xiàn)了用戶的權限區(qū)分。實現(xiàn)的登錄界面和信

52、息驗證如圖4-1所示:圖4-1 登錄界面用戶登錄模塊會自動校驗用戶輸入的信息,符合要求后才可以提交。登錄成功自動進入系統(tǒng)主界面(系統(tǒng)根據(jù)用戶類型對應的用戶權限,向用戶展示出對應的操作主界面),登錄失敗會有相應提示。登錄模塊實現(xiàn)的流程如圖4-2所示:圖4-2登錄模塊實現(xiàn)流程圖本模塊遵循MVC模式使用ExtJS實現(xiàn)其前臺使用Servlet處理后臺邏輯。修改項目中web.xml配置,將歡迎界面改為login.jsp,在項目中創(chuàng)建login.jsp登錄頁面,引入EXT,使用ExtJS創(chuàng)建登錄界面。創(chuàng)建login.js文件,使用EXT實現(xiàn)登錄界面和登錄信息校驗,及Ajax提交登錄信息。系統(tǒng)后臺接收登錄請

53、求信息并加以處理,ServletLogin.java接收請求并交由業(yè)務處理類LoginBean.java進行處理,它調用DAO層各個類,實現(xiàn)登錄信息的驗證,并將驗證結果返回。其源代碼如下:public boolean action(HttpServletRequest request) boolean msg = false;int typeid = 0;int per_id = Integer.parseInt(request.getParameter("per_id");String pw = request.getParameter("per_passwor

54、d");PersonDAO pDAO = PersonDAOFactory.getPersonDAOInstance();try typeid = pDAO.queryId(per_id, pw); catch (Exception e) e.printStackTrace();if(typeid = 0) /登錄驗證失敗return msg;else /登錄成功perid = String.valueOf(per_id);UserlimitDAO ulDAO = UserlimitDAOFactory.getUserlimitDAOInstance();try Userlimit ul = ulDAO.query(typeid); /獲取用戶權限ulstr = ul.toCtrl(); catch (Exception e1) e1.printStackTrac

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論