基于JAVA的小型超市管理系統(tǒng)_第1頁
基于JAVA的小型超市管理系統(tǒng)_第2頁
基于JAVA的小型超市管理系統(tǒng)_第3頁
基于JAVA的小型超市管理系統(tǒng)_第4頁
基于JAVA的小型超市管理系統(tǒng)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、網(wǎng)站規(guī)劃與建設(shè)綜合實驗課程設(shè)計報告設(shè)計題目: 基于JAVA的小型超市管理系統(tǒng) 專 業(yè): XXXXXXX 班 級: XXXXX班 指導(dǎo)教師: XXXXX 組長姓名: XXXXX 學(xué)號: XXXXX姓名: XXXXX 學(xué)號: XXXXX 姓名: XXXXX 學(xué)號: XXXXX 姓名: XXXXX 學(xué)號: XXXXX 姓名: XXXXX 學(xué)號: XXXXX 2013年6月計算機(jī)科學(xué)與技術(shù)系摘要 本文首先簡單給出了超市管理系統(tǒng)的設(shè)計背景和意義,并介紹了系統(tǒng)開發(fā)所用到的開發(fā)工具和語言,然后在進(jìn)行了需求分析的基礎(chǔ)上,說明了系統(tǒng)功能模塊的劃分及各模塊之間的相互關(guān)系,然后著重論述了系統(tǒng)功能的一些重要的技術(shù)實現(xiàn)

2、過程。本系統(tǒng)的每一個功能模塊都包含了多個功能。整個系統(tǒng)主要完成對超市商品的日常管理,包括進(jìn)貨管理,銷售管理,庫存管理,員工管理和供應(yīng)商管理等方面。在功能上系統(tǒng)可以完成對相關(guān)信息的瀏覽、查詢、添加、刪除、修改等功能。本課題的核心之一是銷售管理、庫存管理和進(jìn)貨管理三者之間的聯(lián)系,同時系統(tǒng)有完整的用戶管理及權(quán)限管理功能。 本系統(tǒng)選擇的是在Myeclipse8.5平臺上使用Java語言作為前臺開發(fā)工具,SQL2005作為后臺數(shù)據(jù)庫平臺,通過SQL2005將系統(tǒng)所需的數(shù)據(jù)和用戶操作的數(shù)據(jù)與前臺連接起來。關(guān)鍵詞:JAVA;數(shù)據(jù)庫;Myeclipse;超市管理1目 錄1緒論31.1課題的開發(fā)背景31.2課題

3、研究的目的與意義31.3開發(fā)方法32基本理論42.1什么是Java42.2 Java語言的優(yōu)勢42.3 SQL Server 2005數(shù)據(jù)庫優(yōu)點53系統(tǒng)需求分析53.1需求分析53.1.1用例分析63.1.2類圖分析63.2系統(tǒng)功能概述73.2.1用戶的特點73.2.2對功能的規(guī)定73.3運行環(huán)境規(guī)定93.3.1設(shè)備93.3.2開發(fā)環(huán)境配置93.4系統(tǒng)性能要求103.4.1系統(tǒng)時間特性要求103.4.2系統(tǒng)靈活性103.4.3數(shù)據(jù)管理能力要求103.5可行性分析103.5.1技術(shù)可行性103.5.2經(jīng)濟(jì)可行性113.5.3操作可行性114系統(tǒng)概要設(shè)計114.1系統(tǒng)總體設(shè)計方案114.2系統(tǒng)數(shù)據(jù)

4、流圖124.3系統(tǒng)活動圖134.4系統(tǒng)數(shù)據(jù)庫設(shè)計134.4.1數(shù)據(jù)庫需求分析134.4.2數(shù)據(jù)庫概念設(shè)計(E-R圖)144.4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)155詳細(xì)功能設(shè)計185.1系統(tǒng)主要功能模塊設(shè)計185.1.1登錄模塊流程185.1.2進(jìn)貨管理流程195.1.3銷售管理流程195.1.4庫存管理流程205.2系統(tǒng)主要功能模塊實現(xiàn)215.2.1登陸模塊實現(xiàn)215.2.2進(jìn)貨管理模塊實現(xiàn)235.2.3 銷售管理模塊實現(xiàn)245.2.4庫存管理模塊實現(xiàn)276系統(tǒng)測試286.1系統(tǒng)測試步驟286.1.1單元測試286.1.2集成測試296.1.3確認(rèn)測試296.2系統(tǒng)測試296.2.1界面測試296.2.2

5、功能測試29結(jié) 論31 1緒論1.1課題的開發(fā)背景隨著競爭的日益激烈,如何降低成本已經(jīng)成為超市首要解決的問題。對普通的超市來講,涉及原材料的進(jìn)貨渠道,銷售情況及庫存等方面的管理,管理的好與壞對超市的持久性至關(guān)重要。概括地講,用戶對進(jìn)銷存系統(tǒng)的需求具有普遍性。超市進(jìn)銷存管理系統(tǒng)使用于超市的采購,銷售和倉庫部門,對超市采購,銷售及倉庫的業(yè)務(wù)全過程進(jìn)行有效控制和跟蹤。使用超市進(jìn)銷存管理系統(tǒng)可有效減少盲目采購,降低采購成本,合理控制庫存,減少資金占用并提高市場靈敏度,提升超市的市場競爭力。1.2課題研究的目的與意義隨著小型超市規(guī)模的發(fā)展不斷擴(kuò)大,商品數(shù)量急劇增加,有關(guān)商品的各種信息量也成倍增長,傳統(tǒng)的

6、人工記憶方式也慢慢的無法適應(yīng)形勢的變化。隨著信息技術(shù)的發(fā)展,計算機(jī)已被廣泛的用于社會的各個領(lǐng)域,成為推動社會發(fā)展的技術(shù)動力。而在計算機(jī)應(yīng)用中,軟件的作用十分突出,軟件已經(jīng)發(fā)展成為信息技術(shù)的核心,主導(dǎo)著信息產(chǎn)品的開發(fā)和信息技術(shù)市場的進(jìn)一步的開拓。軟件產(chǎn)業(yè)已成為社會信息化進(jìn)程中的一個戰(zhàn)略性產(chǎn)業(yè)。在軟件技術(shù)的應(yīng)用中軟件的開發(fā)技術(shù)尤其是應(yīng)用型軟件產(chǎn)品的開發(fā)技術(shù)成了重中之重。不斷開發(fā)適應(yīng)用戶需求、市場需要的新型軟件產(chǎn)品。超市需要處理大量的庫存信息,還要時刻更新產(chǎn)品的銷售信息,不斷添加商品信息。面對不同種類的信息,需要合理的數(shù)據(jù)庫結(jié)構(gòu)來保存數(shù)據(jù)信息,需要有效的程序結(jié)構(gòu)支持各種數(shù)據(jù)操作的執(zhí)行。商店自動化的產(chǎn)

7、品管理在歐美等國家早已經(jīng)實現(xiàn),也是零售業(yè)管理的基礎(chǔ)。它最主要的特點是能夠?qū)崟r的和準(zhǔn)確的控制店內(nèi)的銷售情況。如果可以能夠?qū)崟r掌握銷售流程及銷售情況,則可以有效地加速商品的周轉(zhuǎn)率并提高服務(wù)質(zhì)量,而且可以減少產(chǎn)品售價不符等所產(chǎn)生的問題。顧客的消費要求的是希望在超市購物中能基本上都能購得所需的商品,并且還要既保證商品質(zhì)量還要享受優(yōu)質(zhì),方便的服務(wù)。1.3開發(fā)方法本系統(tǒng)采用Myeclipse8.5作為前臺開發(fā)工具。后臺數(shù)據(jù)庫采用SQL Server 2005數(shù)據(jù)庫,因為它的靈活性、安全性和易用性為數(shù)據(jù)庫編程提供了良好的條件。利用三層結(jié)構(gòu)技術(shù),即表示層、邏輯層、數(shù)據(jù)服務(wù)層。這三層被分成三個相對獨立的單元。表

8、示層負(fù)責(zé)與用戶交互,并把相應(yīng)的請求通過調(diào)用中間層的組件傳遞給邏輯層;邏輯層通過組件執(zhí)行具體的事務(wù)邏輯,通過SQL等方式向第三層的組件提出數(shù)據(jù)或其他資源請求。表示層在客戶端的應(yīng)用瀏覽器中運行,數(shù)據(jù)訪問也在專用的數(shù)據(jù)庫服務(wù)器上運行。采用三層結(jié)構(gòu)能很好的解決軟件的可擴(kuò)展性、安全性、管理性等關(guān)鍵問題。2基本理論2.1什么是Java Java是一種可以撰寫跨平臺應(yīng)用軟件的面向?qū)ο蟮某绦蛟O(shè)計語言,是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計語言和Java平臺(即JavaSE, JavaEE, JavaME)的總稱。Java 技術(shù)具有卓越的通用性、高效性、平臺移植性和安全性

9、,廣泛應(yīng)用于個人PC、數(shù)據(jù)中心、游戲控制臺、科學(xué)超級計算機(jī)、移動電話和互聯(lián)網(wǎng),同時擁有全球最大的開發(fā)者專業(yè)社群。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java更具備了顯著優(yōu)勢和廣闊前景。它最初被命名為Oak,目標(biāo)設(shè)定在家用電器等小型系統(tǒng)的編程語言,來解決諸如電視機(jī)、電話、鬧鐘、烤面包機(jī)等家用電器的控制和通訊問題。由于這些智能化家電的市場需求沒有預(yù)期的高,Sun放棄了該項計劃。就在Oak幾近失敗之時,隨著互聯(lián)網(wǎng)的發(fā)展,Sun看到了Oak在計算機(jī)網(wǎng)絡(luò)上的廣闊應(yīng)用前景,于是改造了Oak,以“Java”的名稱正式發(fā)布。Sun 公司對 Java 編程語言的解釋是:Java 編程語言是個簡單、面向?qū)ο蟆⒎?/p>

10、布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言。2.2 Java語言的優(yōu)勢Java 編程語言的風(fēng)格十分接近C、C+語言。Java是一個純的面向?qū)ο蟮某绦蛟O(shè)計語言,它繼承了 C+ 語言面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C +語言中容易引起錯誤的指針(以引用取代)、運算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在 Java SE 1.5 版本中,Java 又引入了泛型編程(Generic Programming)、類型安全的枚舉、不定長參數(shù)

11、和自動裝/拆箱等語言特性。 Java 不同于一般的編譯執(zhí)行計算機(jī)語言和解釋執(zhí)行計算機(jī)語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼,從而實現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的編譯執(zhí)行需要消耗一定的時間,這同時也在一定程度上降低了 Java 程序的運行效率。但在 J2SE 1.4.2 發(fā)布后,Java 的執(zhí)行速度有了大幅提升。2.3 SQL Server 2005數(shù)據(jù)庫優(yōu)點SQL Server 2005的一個重要設(shè)計目標(biāo)就是提高默認(rèn)狀態(tài)下的安全系數(shù)。為了縮小被攻擊范圍,最危險的一些特性都被禁用,除非數(shù)據(jù)庫管理員啟用它們。

12、這有所幫助,不過,對有經(jīng)驗的數(shù)據(jù)庫管理員來說幫助不大。他們基本上會編寫鎖定腳本,覺得安裝時加以運行不是很麻煩。安全方面真正重要的改進(jìn)則是密碼管理和權(quán)限分配方面?,F(xiàn),在可以設(shè)置原始SQL密碼來顧及Windows密碼政策,這意味著用戶可以要求SQL密碼擁有與Windows賬戶同樣的密碼強度、失效日期、歷史、鎖定 閾值、鎖定時間及生命期等政策,甚至可以要求用戶在下次登錄時更改密碼。安全方面的其他重要改進(jìn)還包括:加強了對模式變更的控制、能夠?qū)?shù)據(jù)進(jìn)行列級加密。SQL Server 2005不但克服了高可用性和災(zāi)難恢復(fù)方面的缺點,還幾乎在各個方面都有了全面改進(jìn):管理任務(wù)得到了簡化;監(jiān)控和診斷功能得到了增

13、強;默認(rèn)的鎖定配置、數(shù)據(jù)加密及其他新特性增強了安全。如今,分析服務(wù)(Analysis Services)、報表服務(wù)(Reporting Services)和數(shù)據(jù)挖掘(Data Mining)全面集成,而且已經(jīng)很成熟。數(shù)據(jù)轉(zhuǎn)換服務(wù)(DTS)已從頭到尾經(jīng)過了改寫,已逐漸成為更強大、更靈活的SQL服務(wù)器集成服務(wù)(SSIS)。與Visual Studio和.Net/CLR的集成,把SQL Server的內(nèi)部機(jī)制展現(xiàn)給了.Net開發(fā)人員、把.Net的內(nèi)部機(jī)制展現(xiàn)給了SQL開發(fā)人員。這意味著,現(xiàn)在就可以利用.Net的強大功能,用于存儲過程、數(shù)據(jù)流和數(shù)據(jù)轉(zhuǎn)換、商業(yè)智能等應(yīng)用的。3系統(tǒng)需求分析3.1需求分析需

14、求分析是介于系統(tǒng)分析和軟件設(shè)計階段之間的重要橋梁。一方面,需求分析以系統(tǒng)規(guī)格說明和項目規(guī)劃為分析活動的基本出發(fā)點,并從軟件角度對它們進(jìn)行檢查與調(diào)整;另一方面,需求規(guī)格說明又是軟件設(shè)計、實現(xiàn)、測試直至維護(hù)的主要基礎(chǔ)。良好的分析活動有助于避免或盡早剔除早期錯誤,從而提高軟件生產(chǎn)率,降低開發(fā)成本,改進(jìn)軟件質(zhì)量。3.1.1用例分析用例圖主要用來圖示化系統(tǒng)的主事件流程,它主要用來描述客戶的需求,即用戶希望系統(tǒng)具備的完成一定功能的動作,通俗地理解用例就是軟件的功能模塊,所以是設(shè)計系統(tǒng)分析階段的起點,本文中采用用例技術(shù)進(jìn)行需求分析的獲取和分析。為了能夠正確的找出系統(tǒng)的用例,需要確定系統(tǒng)的邊界,找出系統(tǒng)的執(zhí)行

15、者。用例圖如圖1所示圖1 超市管理系統(tǒng)用例圖3.1.2類圖分析類圖(Class diagram)由許多(靜態(tài))說明性的模型元素(例如類、包和它們之間的關(guān)系,這些元素和它們的內(nèi)容互相連接)組成。類圖可以組織在(并且屬于)包中,僅顯示特定包中的相關(guān)內(nèi)容。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個生命周期都是有效的。在類描述中一般只給出主要類及主要類間的關(guān)系。類圖是所有面向?qū)ο蠼7椒ǖ暮诵牟糠?,類圖描述了系統(tǒng)的靜態(tài)結(jié)構(gòu),由類及類間的關(guān)系組成。類是具有相同屬性和相同方法的對象的集合,系統(tǒng)類圖如圖2所示。圖2 超市管理銷售系統(tǒng)類圖3.2系統(tǒng)功能概述本系統(tǒng)主要完成超市管理(商品信息管理、供貨商管理、進(jìn)貨管理

16、、退換貨管理、商品銷售管理、客戶管理、客戶退貨管理、倉庫設(shè)置、庫存管理)等功能。通過以上功能實現(xiàn)簡單、便捷的超市管理系統(tǒng)。3.2.1用戶的特點本軟件最終的用戶操作人員水平不一,大多數(shù)對電腦只是簡單了解,一般用戶除了具有一定的計算機(jī)應(yīng)用能力外,還必須各司其職,不得隨意泄露口令,以共同維護(hù)整個系統(tǒng)的安全和正常運行。維護(hù)人員要求具有專業(yè)計算機(jī)水平,必須具備一定的網(wǎng)絡(luò)及數(shù)據(jù)庫的操作和管理知識,并具有高度的責(zé)任感和強烈的安全意識。3.2.2對功能的規(guī)定本系統(tǒng)采用Myeclipse8.5作為開發(fā)平臺,后臺語言為Java,前臺功能采用JavaScript,并采用SQL SERVER2005數(shù)據(jù)庫開發(fā)一個供超

17、市員工使用的小型超市管理系統(tǒng),利用數(shù)據(jù)庫的讀寫實現(xiàn)管理系統(tǒng)的各個功能,本系統(tǒng)主要完成超市商品信息管理、供貨商管理、進(jìn)貨管理、退換貨管理、商品銷售管理、客戶管理、客戶退貨管理、庫存管理等功能。通過以上功能實現(xiàn)簡單、便捷的超市管理系統(tǒng)。系統(tǒng)能夠?qū)崿F(xiàn)對商品的入庫管理、商品銷售管理等方面提供存儲、更新、查詢、統(tǒng)計匯總、打印等功能,超市中庫存商品資料,出庫、入庫信息由管理人員在系統(tǒng)庫存單元負(fù)責(zé)管理。而商品銷售,商品查詢由收銀員在前臺實現(xiàn)。因此系統(tǒng)范圍不涉及管理決策單元和財務(wù)單元中往來、賬款資金方面的管理。本系統(tǒng)分為管理員登陸和員工登陸兩種用戶登陸模式。1)管理員登陸管理員登陸之后可以進(jìn)行商品信息管理,員

18、工信息管理,商品進(jìn)貨管理,商品銷售管理,商品庫存管理,系統(tǒng)管理等操作;(1) 商品信息管理:商品信息分為商品類別管理、商品信息添加、商品信息維護(hù)等操作。添加商品類別的時候只需輸入類別名稱(類型一般分為:日用品、食品、藥品、電器、衣物、床上用品);添加庫存商品時候要填入:商品編號、商品類別、商品名稱、商品單位、商品型號、商品規(guī)格、商品售價、商品產(chǎn)地以及附加備注信息等;而商品信息維護(hù)可以更新商品的名稱、商品類型、商品售價、商品規(guī)格等信息。(2) 員工信息管理:員工信息管理有員工信息添加和員工信息維護(hù)兩個操作。員工信息添加需要添加員工的編號、姓名、性別、生日、電話、身份證、家庭住址以及密碼等信息;員

19、工信息維護(hù)則可以更新修改員工個人信息、(3) 商品進(jìn)貨管理:進(jìn)貨管理分為進(jìn)貨登記、進(jìn)貨查詢、退貨登記、退貨查詢。登記需要選擇供應(yīng)商信息、商品,錄入進(jìn)貨價格、數(shù)量、總價、日期等;進(jìn)貨查詢則可以查詢商品的供應(yīng)商,進(jìn)貨單價、總價、數(shù)量、日期等;退貨登記除了要登記以上信息外還有填寫退貨原因,退貨查詢則可以查詢退貨的信息。(4) 商品銷售管理:商品銷售管理分為商品銷售查詢、員工業(yè)績查詢、顧客退換貨辦理、退貨商品查詢等四個操作。其中,商品銷售查詢可以根據(jù)員工編號銷售查詢員工的銷售情況,也可以根據(jù)單據(jù)號查詢某一筆交易的情況,還可以根據(jù)時間查詢本超市該時間段的商品銷售狀況;員工業(yè)績查詢則可以查詢某一段時間內(nèi)各

20、員工的銷售業(yè)績;顧客退貨辦理,需按要求輸入該交易的銷售單據(jù)、商品編號、退貨單價、退貨數(shù)目、退貨原因以及商品是否完好等消息才能實行退登記;退貨信息查詢則可以根據(jù)商品編號、單據(jù)號以及時間查詢本超市的商品退貨信息以及退貨商品總金額。 (5) 商品庫存管理:商品庫存管理分為商品庫存查詢和商品庫存報警。商品庫存查詢可以根據(jù)商品的編號或者名稱查詢本超市該商品的庫存信息;商品庫存報警功能則是當(dāng)庫存量低于20的時候出現(xiàn)紅色警報,而商品的庫存量高于300的時候出現(xiàn)黃色提醒。(6) 系統(tǒng)管理:系統(tǒng)管理包括供應(yīng)商管理、修改密碼、關(guān)于系統(tǒng)等模塊。供應(yīng)商管理可以顯示全部供應(yīng)商信息,并且添加新的供應(yīng)商信息(需填寫供應(yīng)商公

21、司名稱、供應(yīng)商法人代表、供應(yīng)商電話、供應(yīng)商地址等信息);修改密碼澤可以修改當(dāng)前登錄用戶(即管理員)的登錄密碼;關(guān)于系統(tǒng)模塊則是介紹本系統(tǒng)的開發(fā)環(huán)境等一些信息。2)員工登陸員工登陸模式有商品銷售管理、商品庫存管理、系統(tǒng)管理三個操作。(1) 商品銷售管理:商品銷售管理包括商品銷售和個人業(yè)績查詢兩個功能。商品銷售時,員工可以根據(jù)商品編號搜索獲取顧客想要購買的商品信息,然后填寫顧客要購買的數(shù)量并且添加到購物車,添加完顧客要購買的全部商品后在進(jìn)行結(jié)賬,系統(tǒng)計算全部商品的總價,再根據(jù)顧客付給的金額計算找零,最后完成操作回到銷售商品頁面。個人業(yè)績查詢,員工可以根據(jù)單據(jù)號或者日期查詢自己的銷售業(yè)績。(2) 商

22、品庫存管理:商品庫存管理模塊,員工也可以查看商品庫存和庫存報警。(3) 系統(tǒng)管理:員工的系統(tǒng)管理模塊只包括修改密碼和關(guān)于系統(tǒng)兩個操作。 3.3運行環(huán)境規(guī)定3.3.1設(shè)備a> 為了使本系統(tǒng)可以穩(wěn)定的運行,硬件要求CPU達(dá)到奔騰3以上,內(nèi)存至少為512M。b> 外存可以不做要求,但建議應(yīng)該在40GB以上。c> 本系統(tǒng)不要求在聯(lián)機(jī)情況下使用。3.3.2開發(fā)環(huán)境配置在開發(fā)企業(yè)小型超市管理系統(tǒng)時,開發(fā)環(huán)境配置如下:1) 硬件平臺計算機(jī)設(shè)備2) 軟件平臺操作系統(tǒng):Microsoft Windows XP Professional數(shù)據(jù)庫:Microsoft SQL Server 2005開

23、發(fā)工具:Myeclipse 8.5瀏覽器:IE 6.0Framework版本: Framework 2.03) 輔助工具 界面輔助工具:Photoshop cs43.4系統(tǒng)性能要求對系統(tǒng)性能的要求包括對系統(tǒng)時間要求,靈活性,數(shù)據(jù)管理能力等的要求。3.4.1系統(tǒng)時間特性要求系統(tǒng)的速度要在用戶可接受的范圍內(nèi),但考慮到需要實時檢測商品的數(shù)量和庫存情況,對資源實時搜索的速度可以有較低的要求。3.4.2系統(tǒng)靈活性系統(tǒng)要有良好的接口,以適應(yīng)增加商品信息,增加商品類型,增加相關(guān)的商品錄入功能的需求;增加商品信息的更改和更新功能。3.4.3數(shù)據(jù)管理能力要求系統(tǒng)要有較高的管理能力,本系統(tǒng)采用的是SQL Serv

24、er 2005數(shù)據(jù)庫。具有較強的數(shù)據(jù)處理能力,數(shù)據(jù)庫引擎增強、分析服務(wù)增強等。記錄的個數(shù)隨用戶多少不定,但能保證注冊的用戶都能登錄進(jìn)來,沒有延時。3.5可行性分析可行性分析是依據(jù)初步調(diào)查的結(jié)果做出系統(tǒng)開發(fā)可行與否的結(jié)論過程。任何一個工程的立項都需要進(jìn)行項目的可行性分析??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決、是否值得去解決。根據(jù)調(diào)查分析,系統(tǒng)設(shè)計方案有以下三個可行性。3.5.1技術(shù)可行性根據(jù)前期的市場調(diào)查與對下列系統(tǒng)功能、性能及實現(xiàn)系統(tǒng)的各項所需技術(shù)的約束條件的分析來看,本系統(tǒng)程序開發(fā)應(yīng)是一個集數(shù)據(jù)庫管理和查詢?yōu)橐簧淼南到y(tǒng),依據(jù)現(xiàn)有的開發(fā)技術(shù),開發(fā)硬件、開發(fā)軟件

25、的性能要求及環(huán)境條件等來看,各項條件良好,同時,考慮給予的開發(fā)期限較為充裕,預(yù)計可以在規(guī)定期限內(nèi)完成預(yù)定功能地開發(fā)與實現(xiàn)。在軟件方面本程序設(shè)計采用的開發(fā)環(huán)境是Myeclipse8.5用開發(fā)語言Java編寫程序 ,SQL Server 2005做后臺數(shù)據(jù)庫。在硬件方面電腦的各種配置包括輸入輸出能力,內(nèi)部存儲器和外部存儲器的容量都能滿足用戶的要求。3.5.2經(jīng)濟(jì)可行性本超市管理系統(tǒng),其前期的投入比較小,主要是系統(tǒng)的設(shè)計費用:其中包括系統(tǒng)開發(fā)費用、管理和維護(hù)費等。而后續(xù)的投入相對較小,很長時間內(nèi)都不會需要進(jìn)一步投資,管理和維護(hù)費用也很少,而系統(tǒng)實際能夠起到的作用會遠(yuǎn)遠(yuǎn)大于投入的開發(fā)費用,相信會有十分

26、可觀的前景。因此這個系統(tǒng)很有開發(fā)價值。3.5.3操作可行性本系統(tǒng)界面清晰直觀、易于操作。由于它能夠準(zhǔn)確記錄、檢索和管理有關(guān)超市各類商品信息和用戶信息,幫助超市經(jīng)營者掌握和分析營銷情況,及時做出正確決策,并且便于超市相關(guān)內(nèi)部人員對商品的管理,因而大大提高了超市的管理水平與效率。綜上所述,從經(jīng)濟(jì)可行性、技術(shù)可行性和操作可行性來說,系統(tǒng)開發(fā)是完全可行的。4系統(tǒng)概要設(shè)計本階段完成系統(tǒng)的大致設(shè)計并明確系統(tǒng)的各模塊功能以及數(shù)據(jù)結(jié)構(gòu)。在概要設(shè)計階段的指導(dǎo)思想是結(jié)構(gòu)化指導(dǎo)思想,是指用一組標(biāo)準(zhǔn)的規(guī)則和圖表工具確定系統(tǒng)有哪些模塊,怎么連接,從而形成新系統(tǒng)的結(jié)構(gòu),然后再進(jìn)行諸如輸入、輸出、對話等設(shè)計,為整個系統(tǒng)的實

27、施做好鋪墊。4.1系統(tǒng)總體設(shè)計方案本系統(tǒng)前臺使用Myeclipse8.5平臺來設(shè)計,訪問數(shù)據(jù)庫服務(wù)器;后臺采用Microsoft公司的SQL Server 2005。SQL Server2005開發(fā)后臺數(shù)據(jù)庫,用于提供數(shù)據(jù)服務(wù)。SQL Server 2005是一種典型關(guān)系型數(shù)據(jù)庫管理系統(tǒng),該系統(tǒng)具有數(shù)據(jù)一致性好,完整性強,安全性高的優(yōu)點,系統(tǒng)采用結(jié)構(gòu)化設(shè)計方法,按超市實際工作內(nèi)容來確定所需,將整個系統(tǒng)作為一個大模塊自頂向下,以模塊化結(jié)構(gòu)設(shè)計技術(shù)進(jìn)行模塊分解,然后再自底向上,按照系統(tǒng)的結(jié)構(gòu)將整個模塊進(jìn)行組合,最終完成本超市管理系統(tǒng)的開發(fā)。具體功能模塊如下:登錄模塊:具備登錄員工、管理員登陸功能。

28、商品信息管理模塊:提供添加商品類型,修改商品信息、商品類型管理功能。供應(yīng)商管理模塊:具備供應(yīng)商信息查詢、添加新供應(yīng)商的功能。進(jìn)貨管理模塊:提供進(jìn)貨登記、進(jìn)貨查詢的功能。退貨管理模塊:提供退貨登記、退貨查詢功能。商品銷售管理模塊:提供銷售登記、銷售記錄查詢功能??蛻敉素浌芾砟K:提供銷售退貨登記、銷售退貨查詢功能。庫存管理模塊:提供庫存查詢、庫存商品預(yù)警查詢功能。4.2系統(tǒng)數(shù)據(jù)流圖數(shù)據(jù)流圖是將提供給用戶的業(yè)務(wù)流程圖進(jìn)行功能建模,轉(zhuǎn)化成開發(fā)人員能夠理解的一系列“邏輯模型”圖,即以圖形化的方法描繪數(shù)據(jù)在系統(tǒng)中的流動和處理的過程,這些圖都應(yīng)該用規(guī)范的DFD描述。本系統(tǒng)操作流程,用戶根據(jù)不同的身份賬號進(jìn)

29、入登錄模塊,在登錄欄處輸入用戶名和密碼以及隨機(jī)產(chǎn)生的驗證碼,然后選擇用戶類別,系統(tǒng)進(jìn)行驗證用戶身份,若系統(tǒng)沒有檢索到用戶名,則不允許進(jìn)入,進(jìn)去后根據(jù)所擁有的權(quán)限進(jìn)行操作。管理員擁有所有權(quán)限可選擇某種商品種類,點擊進(jìn)入商品信息管理模塊,查看商品細(xì)售價等信息,銷售模塊和進(jìn)貨模塊可以修改進(jìn)貨和銷售清單。在供貨商管理模塊中可以查看供貨商詳細(xì)的通訊地址、聯(lián)系方式等信息 本系統(tǒng)的數(shù)據(jù)流圖是比較清晰的,對各功能模塊來說都比較有規(guī)律。系統(tǒng)的第一層層和第二層數(shù)據(jù)流圖分別如圖3和圖4所示。4.3系統(tǒng)活動圖活動圖闡述了用例實現(xiàn)的過程,用于研究實現(xiàn)業(yè)務(wù)目標(biāo)時所要執(zhí)行的各項任務(wù)或活動的順序安排。本超市管理系統(tǒng)的活動圖如

30、圖5所示:圖5 超市管理系統(tǒng)活動圖4.4系統(tǒng)數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計是建立數(shù)據(jù)庫及應(yīng)用系統(tǒng)的技術(shù),是信息系統(tǒng)開發(fā)和建設(shè)中的核心技術(shù),具體說,數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的要求數(shù)據(jù)庫設(shè)計是管理信息系統(tǒng)的重要組成部分。這里采用SQL Server2005數(shù)據(jù)庫。該數(shù)據(jù)庫對行增、刪、改、統(tǒng)計、顯示和應(yīng)答都極為方便。其中的排序和索引功能,對數(shù)據(jù)快速定位、查詢提供了有利條件。4.4.1數(shù)據(jù)庫需求分析主要是收集基本數(shù)據(jù)及確定數(shù)據(jù)的處理要求,需求分析主要解決如下問題:1、數(shù)據(jù)要求:用戶需要從數(shù)據(jù)庫中獲取什么數(shù)據(jù),并決定在數(shù)

31、據(jù)庫中存儲那些數(shù)據(jù)。2、操作要求:明確用戶對數(shù)據(jù)的操作要求,從而確定數(shù)據(jù)之間的關(guān)系。4.4.2數(shù)據(jù)庫概念設(shè)計(E-R圖)概念結(jié)構(gòu)設(shè)計是整個數(shù)據(jù)庫設(shè)計的關(guān)鍵,它能通過對需求進(jìn)行綜合,歸納與抽象,形成一個獨立于具體DBMS的概念模型,即E-R圖。簡單的說,E-R圖用來分析數(shù)據(jù)關(guān)系的。下面具體給出超市管理系統(tǒng)主要的實體圖。管理員實體圖如圖6所示。商品信息實體圖如圖7所示進(jìn)貨管理實體圖如圖8所示銷售管理實體圖如圖9所示。 4.4.3數(shù)據(jù)庫邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)是把概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型,并對其進(jìn)行優(yōu)化。本系統(tǒng)根據(jù)E-R圖可以對數(shù)據(jù)庫進(jìn)行設(shè)計,以下列出主要的數(shù)據(jù)表。員工信息表如表4.1所示

32、:表4.1 用戶信息表字段字段名類型是否為空employeeNoIDvarchar(20)否employee Name姓名nvarchar(20)是employeePassword密碼varchar(30)是employeeSex性別nchar(1)是employeeBirthday生日datetime是employeeEducationId學(xué)歷int是employeeHomeTel家庭電話varchar(20)是employeeMobile手機(jī)號varchar(20)是employeeCard身份證號varchar(20)是employeeEmail電子郵箱varchar(30)是emplo

33、yeeAddress家庭住址nvarchar(80)否商品信息表如表4.2所示:表4.2 商品信息表字段字段名類型是否為空goodNo商品編號varchar(20)否goodClassId類型編號Int是goodName商品名稱nvarchar(30)否goodUnit商品單位nvarchar(2)是goodModel商品型號nvarchar(20)是goodSpecs商品規(guī)格nvarchar(20)是goodPrice商品售價float是goodPlace商品產(chǎn)地nvarchar(50)是goodMemo備注信息char(10)是goodAddTime進(jìn)貨日期datetime是供應(yīng)商信息表如

34、表4.3所示:表4.3 供應(yīng)商信息表字段字段名類型是否為空supplierName公司名稱nvarchar(50)否supplierLawyer法人代表nvarchar(4)是supplierTelephone電話varchar(11)否supplierAddress地址nvarchar(50)是退貨登記信息表如表4.4所示:表4.4 退貨登記表字段字段名類型是否為空buyBackId退貨編號int否goodNo商品編號varchar(20)是supplierName供應(yīng)商varchar(50)是price退貨價格float是number退貨數(shù)量int是totalPrice退貨總價float是

35、buyBackDate退貨日期datetime是buyBackReason退貨原因text是buyBackAddTime登記時間datetime是進(jìn)貨登記信息表如表4.5所示:表4.5 進(jìn)貨登記表字段字段名類型是否為空buyId進(jìn)貨單號int否goodNo商品編號varchar(20)否supplierName供應(yīng)商nvarchar(50)否price進(jìn)貨價格float是number進(jìn)貨數(shù)量int是totalPrice進(jìn)貨總價float是buyDate進(jìn)貨日期datetime是addTime登記時間datetime是管理員信息表如表4.6所示:表4.6 管理員信息表字段字段名類型是否為空adm

36、inUsername用戶名varchar(20)否adminPassword密碼varchar(32)否學(xué)歷信息表如表4.7所示:表4.7 學(xué)歷信息表字段字段名類型是否為空educationId學(xué)歷編號int否educationName學(xué)歷名稱nvarchar(20)否員工業(yè)績信息表如表4.8所示:表4.8 員工業(yè)績表字段字段名類型是否為空employeeNo員工編號varchar(20)否employeeName員工名稱nvarchar(8)否employeeSellMoney銷售金額float否銷售信息表如表4.9所示:表4.9 銷售信息表字段字段名類型是否為空sellInfoId銷售編號

37、int否sellNo單據(jù)號varchar(30)否goodNo商品編號varchar(20)是price銷售價格float是number銷售數(shù)量int是totalPrice銷售總價float是sellTime銷售時間datetime是employeeNo員工號varchar(20)是商品庫存信息表如表4.10所示:表4.10 商品庫存信息表字段字段名類型是否為空sellBackId退貨編號int否sellNo銷售單據(jù)varchar(20)是goodNo商品編號varchar(20)是price退貨價格float是number退貨數(shù)量int是totalPrice退貨總價float是sellBac

38、kReason退貨原因text是sellBackTime退貨時間datetime是商品類別信息表如表4.11所示:表4.11 商品類別信息表字段字段名類型是否為空goodClassId類型編號int否goodClassName類型名稱nvarchar(20)是商品庫存信息表如表4.12所示:表4.12商品庫存信息表字段字段名類型是否為空goodNo商品編號varchar(50)否goodCount庫存數(shù)量int是購物車信息表如表4.13所示:表4.13購物車信息表字段字段名類型是否為空goodCartId購物車編號int否employeeNo員工編號varchar(20)是goodNo商品編號

39、varchar(20)是goodCount商品數(shù)量Int是5詳細(xì)功能設(shè)計詳細(xì)設(shè)計的根本目標(biāo)是確定應(yīng)該怎樣具體地實現(xiàn)所要求的系統(tǒng),也就是說,經(jīng)過這個階段的設(shè)計工作,應(yīng)該的出對目標(biāo)系統(tǒng)的精確描述,從而在編碼階段可以把這個描述直接翻譯成用某個設(shè)計的語言書寫的程序。詳細(xì)設(shè)計的任務(wù)不是具體的編寫程序,而是要設(shè)計出程序的“藍(lán)圖”,以后可根據(jù)這個藍(lán)圖寫出實際的程序代碼。詳細(xì)設(shè)計的目標(biāo)不僅僅是邏輯上正確地實現(xiàn)每個模塊的功能,更重要的是設(shè)計出的處理過程應(yīng)該盡可能簡明易懂。本系統(tǒng)所包括的幾大模塊如下:登錄模塊、進(jìn)貨模塊、庫存管理模塊、銷售管理等多個模塊。5.1系統(tǒng)主要功能模塊設(shè)計5.1.1登錄模塊流程本模塊的主要

40、功能是對用戶身份進(jìn)行驗證,只有系統(tǒng)的合法用戶才能進(jìn)入系統(tǒng)。在進(jìn)行系統(tǒng)登錄過程中,登錄模塊將調(diào)用數(shù)據(jù)庫里的用戶清單,并對賬號和密碼進(jìn)行驗證,只有輸入了正確的賬號和密碼后,系統(tǒng)登錄才會成功。并在輸入了錯誤的或者是不存在的賬戶和密碼時,系統(tǒng)會提示出錯信息,指明登錄過程中的錯誤輸入或者錯誤操作,以便用戶進(jìn)行正確的登錄。系統(tǒng)登錄模塊流程如圖10所示:5.1.2進(jìn)貨管理流程功能:該模塊主要是實現(xiàn)進(jìn)行進(jìn)貨信息查詢功能。進(jìn)貨信息查詢:該模塊為超市提供整個超市的進(jìn)貨情況查詢,也可以進(jìn)行進(jìn)貨信息的明細(xì)查詢。輸入項、輸出項:該模塊的輸入項為超市的商品編號,其中包括商品的編號、供貨商號、進(jìn)貨價、數(shù)量、金額進(jìn)貨日期和備

41、注。進(jìn)貨管理流程如圖11所示:5.1.3銷售管理流程功能:本模塊的主要功能是把銷售信息寫入銷售清單,同時對庫存清單進(jìn)行更新,以備用戶將來對庫存信息進(jìn)行查詢和打印,此外還可以對銷售信息進(jìn)行查詢和盤點功能。銷售信息查詢:根據(jù)商品銷售情況,按需要對銷售情況進(jìn)行查詢。在該查詢模塊中,可以按照商品的編號、銷售日期等多種方式進(jìn)行商品銷售信息查詢。銷售信息盤點:可以按照需要對在一定時期內(nèi)的銷售情況進(jìn)行盤點。輸入項、輸出項:本模塊的數(shù)據(jù)輸入項主要是商品的單據(jù)號和員工編號。其中還包括銷售數(shù)量和銷售日期。銷售管理流程如圖12所示:5.1.4庫存管理流程功能:本模塊的主要功能是商品信息的查詢和更新,庫存信息的查詢和

42、更新。查詢商品信息:主要功能查詢商品的明細(xì)信息,和它的庫存信息。添加商品信息:主要功能添加新進(jìn)的商品。修改商品信息:主要功能是修改商品的信息,包括他的庫存數(shù)量。刪除商品信息:主要功能是刪除不再銷售的商品信息。輸入項、輸出項:本模塊的數(shù)據(jù)輸入項主要是商品編號。庫存管理流程如圖13所示。5.2系統(tǒng)主要功能模塊實現(xiàn)5.2.1登陸模塊實現(xiàn)此模塊主要實現(xiàn)員工和管理員的登錄進(jìn)入系統(tǒng),需要輸入用戶名、密碼和驗證碼,填寫完畢后,點擊發(fā)送,如填寫成功順利進(jìn)入系統(tǒng),如用戶名、密碼或者驗證碼錯誤則會提示相應(yīng)錯誤信息。圖5.4 庫存管理流程圖登錄主界面如圖14所示:圖14 登錄界面后臺代碼如下:protected v

43、oid doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stub/response.setContentType("text/html;charset=GBK");HttpSession session = request.getSession();/* 首先取得jsp頁面?zhèn)鱽淼膮?shù)信息 */String txtName = request.getParameter

44、("txtName");String txtPwd = request.getParameter("txtPwd");String identify = request.getParameter("identify");String code = request.getParameter("code");String sessionCode = (String) session.getAttribute("code");String errMessage = ""/* 驗證輸

45、入信息的完整行和正確性 */if (txtName.equals("")errMessage += "用戶名不能為空!"if (txtPwd.equals("")errMessage += "密碼輸入不能為空!"if (!code.equals(sessionCode)errMessage += "驗證碼輸入不正確!"if (txtPwd.indexOf("'") != -1)errMessage += "請不要進(jìn)行sql注入攻擊!"/* 如果驗證

46、沒有通過轉(zhuǎn)到登陸頁并提示錯誤信息 */if (!errMessage.equals("") request.setAttribute("errMessage", errMessage);RequestDispatcher wm = request.getRequestDispatcher("login.jsp");wm.forward(request, response);return;/* 如果初步驗證通過就需要進(jìn)一步驗證 */* (1)如果是管理員身份登陸系統(tǒng) */if (identify.equals("admin&q

47、uot;) Admin admin = new Admin();admin.setAdminUsername(txtName);admin.setAdminPassword(txtPwd);/*如果是管理員身份用戶名和密碼都驗證成功則設(shè)置session的值然后重定向到管理首頁*/if (AdminDAO.checkLogin(admin) session.setAttribute("adminFlag", true);session.setAttribute("adminUsername", txtName);response.sendRedirect(

48、"Admin/index.jsp"); else errMessage += "管理員帳號或密碼錯誤!"request.setAttribute("errMessage",errMessage);RequestDispatcher wm = request.getRequestDispatcher("login.jsp");wm.forward(request, response); else if (identify.equals("employee") Employee employee =

49、 new Employee();employee.setEmployeeNo(txtName);employee.setEmployeePassword(txtPwd);/*如果是員工身份用戶名和密碼都驗證成功也設(shè)置session的值然后轉(zhuǎn)到員工操作首頁*/if(EmployeeDAO.checkLogin(employee) session.setAttribute("employeeFlag", true);session.setAttribute("employeeNo", txtName);response.sendRedirect("

50、Employee/index.jsp"); else errMessage += "員工帳號或密碼錯誤!"request.setAttribute("errMessage",errMessage);RequestDispatcher wm = request.getRequestDispatcher("login.jsp");wm.forward(request, response);5.2.2進(jìn)貨管理模塊實現(xiàn)商品的進(jìn)貨管理是超市管理系統(tǒng)中的一個非常重要的功能,在龐大的商品信息中,能夠及時添加所缺少的商品,是超市經(jīng)營中一個重

51、要的環(huán)節(jié)。本系統(tǒng)采用商品數(shù)量預(yù)警方案,當(dāng)商品數(shù)量下降到預(yù)警范圍內(nèi)。管理員就會及時發(fā)現(xiàn)缺的商品,從而進(jìn)貨。本模塊對商品的錄入進(jìn)行操作。進(jìn)貨管理模塊如圖15所示。圖15 進(jìn)貨登記模塊本模塊使用了Ajax技術(shù),在選擇商品名稱時,無刷新快速顯示商品信息。主要實現(xiàn)代碼如下:function DisplayGoodInfo() var GoodName = XMLHttpReq.responseXML.getElementsByTagName("GoodName")0.firstChild.nodeValue; var GoodModel = XMLHttpReq.responseXM

52、L.getElementsByTagName("GoodModel")0.firstChild.nodeValue; var GoodSpecs = XMLHttpReq.responseXML.getElementsByTagName("GoodSpecs")0.firstChild.nodeValue; var GoodPlace = XMLHttpReq.responseXML.getElementsByTagName("GoodPlace")0.firstChild.nodeValue; document.getElement

53、ById("GoodName").innerHTML = GoodName; document.getElementById("GoodModel").innerHTML = GoodModel; document.getElementById("GoodSpecs").innerHTML = GoodSpecs; document.getElementById("GoodPlace").innerHTML = GoodPlace; document.getElementById("GoodInfo&qu

54、ot;).style.display = "" 5.2.3 銷售管理模塊實現(xiàn)銷售管理是超市系統(tǒng)中的核心部分,進(jìn)入銷售界面,選擇需要的貨物,并輸入數(shù)量。系統(tǒng)會自動算出價格。錄入待銷售的界面。點擊確認(rèn),并轉(zhuǎn)向銷售單。銷售信息的寫入銷售清單,同時對庫存清單進(jìn)行更新,以備用戶將來對庫存信息進(jìn)行查詢。商品詳細(xì)的信息已經(jīng)錄入超市的數(shù)據(jù)庫中,這樣大大縮小了銷售人員的工作量。提高了銷售人員的工作效率。銷售管理模塊如圖16和17所示。圖16 商品銷售購物車圖17 商品銷售結(jié)賬主要實現(xiàn)后臺代碼如下: /*傳入商品銷售購物車信息模型對象,將商品銷售信息加入到系統(tǒng)中*/ public boolean AddGoodCartInfo(GoodCart goodCart) /*進(jìn)行相關(guān)的驗證*/ if (goodCart.getGoodNo() = "") this.errMessage = "請輸入商品編號信息!" return false; String sqlString = "select * from goodInfo where goodNo='&q

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論