超市管理系統(tǒng)_第1頁
超市管理系統(tǒng)_第2頁
超市管理系統(tǒng)_第3頁
超市管理系統(tǒng)_第4頁
超市管理系統(tǒng)_第5頁
已閱讀5頁,還剩53頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件工程課程設(shè)計(jì)報(bào)告(2014 - 2015年度第一 學(xué)期)課程名稱:軟件工程課程設(shè)計(jì)題目:小型超市管理系統(tǒng)院系:計(jì)算機(jī)與信息技術(shù)學(xué)院班級(jí):軟件工程組號(hào):組長:洛佳琪組員:劉雅、劉一清、王雪瑤指導(dǎo)教師:楊陟卓設(shè)計(jì)周數(shù):4周小組成績:日期:2014年8月26日軟件工程課程設(shè)計(jì)任務(wù)書、目的、要求通過軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能力,培養(yǎng)工程 設(shè)計(jì)能力和綜合分析、解決問題的能力。具體如下:學(xué)習(xí)和實(shí)踐在分析和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識(shí),包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測試方面的知識(shí);熟悉自動(dòng)化的軟件開發(fā)工具Rational Rose 2003等,并將其

2、運(yùn)用于軟件開發(fā)的全過程;進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫能力;培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。二、任務(wù)分配任務(wù)負(fù)責(zé)人參與人備注需求分析洛佳琪洛佳琪總體設(shè)計(jì)劉一清洛佳琪,劉雅,劉一清詳細(xì)設(shè)計(jì)劉雅洛佳琪,劉雅系統(tǒng)實(shí)現(xiàn)與測試王雪瑤洛佳琪,王雪瑤三、設(shè)計(jì)成果要求建立系統(tǒng)分析與設(shè)計(jì)模型;初步建立系統(tǒng)原型,實(shí)現(xiàn)關(guān)鍵的功能; 編寫課程設(shè)計(jì)報(bào)告。指導(dǎo)教師:楊陟卓日 期:2014年8月26日軟件工程課程設(shè)計(jì)成績評(píng)定指導(dǎo)教師評(píng)語成績學(xué)號(hào)姓名成績備注2012242058洛佳琪2012242054劉雅2012242055劉一清2012242082王雪瑤指導(dǎo)教師:楊陟卓日 期:2014年 8月26日摘要:本系統(tǒng)實(shí)現(xiàn)一個(gè)超市管

3、理系統(tǒng)的基本功能,包括營業(yè)員進(jìn)行商品錄入和收銀業(yè)務(wù);超市經(jīng)理對商品銷售進(jìn)行控制,管理進(jìn)貨事項(xiàng)和商品庫存;管理員對員工信息進(jìn)行增、刪、改、查,管理員工操作權(quán)限,管理客戶銷售權(quán)限;顧客可以在銷售系統(tǒng)里查詢商品信息和會(huì)員積分。系統(tǒng)利用Java平臺(tái)技術(shù)進(jìn)行開發(fā),實(shí)現(xiàn)超市管理系統(tǒng)的動(dòng)態(tài)管理,使得對信息的管理更加及時(shí)、高效,提高了效率。同時(shí)還對系統(tǒng)的開發(fā)原 理、功能特點(diǎn)和設(shè)計(jì)方案進(jìn)行了介紹。關(guān)鍵詞:超市管理數(shù)據(jù)庫管理 Java1課程設(shè)計(jì)的目的與要求通過軟件開發(fā)的實(shí)踐訓(xùn)練,進(jìn)一步掌握軟件工程的方法和技術(shù),提高軟件開發(fā)的實(shí)際能力,培養(yǎng)工程 設(shè)計(jì)能力和綜合分析、解決問題的能力。具體如下:(1) 學(xué)習(xí)和實(shí)踐在分析

4、和設(shè)計(jì)計(jì)算機(jī)應(yīng)用系統(tǒng)所需要的知識(shí),包括面向?qū)ο蟮南到y(tǒng)分析與設(shè)計(jì),編碼和測試方面的知識(shí);(2) 熟悉自動(dòng)化的軟件開發(fā)工具Ratio nal Rose 2003,并將其運(yùn)用于軟件開發(fā)的全過程;(3)進(jìn)一步加強(qiáng)和提高軟件工程文檔的編寫能力;(4)培養(yǎng)協(xié)作能力和團(tuán)隊(duì)精神。2設(shè)計(jì)正文2.1概述2. 1.1課題題目:小型超市管理系統(tǒng)2. 1.2系統(tǒng)的主要目標(biāo)本系統(tǒng)目標(biāo)是實(shí)現(xiàn)小型超市管理系統(tǒng)所需的各種基本功能,包括營業(yè)員商品錄入和收銀業(yè) 務(wù);超市經(jīng)理商品銷售控制、管理進(jìn)貨和商品庫存;管理員對員工信息進(jìn)行增、刪、改、查,管 理員工操作權(quán)限,管理客戶銷售權(quán)限;顧客可以在銷售系統(tǒng)里查詢商品信息和會(huì)員積分等功能。2

5、. 1.3系統(tǒng)的開發(fā)環(huán)境及運(yùn)行環(huán)境:操作系統(tǒng):Win dows XP Pro SP2建模工具:Ratio nal Rose 2003數(shù)據(jù)庫系統(tǒng):SQL Server2005開發(fā)工具:Eclipse2.2系統(tǒng)需求分析小型超市管理系統(tǒng)主要滿足來自四方面的需求,這四個(gè)方面分別是營業(yè)員、超市經(jīng)理、顧客和管 理員,也即是四個(gè)對象。(1)營業(yè)員主要有商品錄入和收銀業(yè)務(wù)兩部分功能。商品錄入:根據(jù)超市業(yè)務(wù)特點(diǎn)制定相關(guān)功 能,可以通過輸入唯一編號(hào)、掃描條形碼、商品名稱等來實(shí)現(xiàn)精確或模糊的商品掃描錄入。該掃描錄 入方法可以充分保證各種電腦操作水平層次的人員均能準(zhǔn)確快速地進(jìn)行商品掃描錄入。收銀業(yè)務(wù):通 過掃描條形碼

6、或者直接輸入商品名稱(對于同類多件商品采用一次錄入加數(shù)量的方式)自動(dòng)計(jì)算本次 交易的總金額。在顧客付款后,自動(dòng)計(jì)算找零,同時(shí)打印交易清單(包括交易的流水賬號(hào)、每類商品 的商品名、數(shù)量、該類商品的總金額、交易的時(shí)間、負(fù)責(zé)本次收銀的員工號(hào))。如果顧客是本店會(huì)員 并持有本人會(huì)員卡,則在交易前先掃描會(huì)員卡,并對所購物品全部實(shí)行95折優(yōu)惠,并將所購物品的總金額累計(jì)到該會(huì)員的總消費(fèi)金額中。會(huì)員卡的有效期限為一年,滿一年未續(xù)卡者,該會(huì)員卡將被注銷。(2 )超市經(jīng)理主要有商品銷售控制,進(jìn)貨管理和庫存管理三部分功能。銷售管理:商品正常銷售、促銷與限量、限期及禁止銷售控制。綜合查詢各種銷售明細(xì)記錄、各地收銀員收銀

7、記錄以及交結(jié)賬情況等。按多種方式統(tǒng)計(jì)生成銷售排行榜,靈活察看和打印商品銷售日、月、年報(bào)表。進(jìn)貨管理:根據(jù)銷售情況及庫存情況,自動(dòng)制定進(jìn)貨計(jì)劃(亦可手工制定修改),可以避免盲目進(jìn)貨造成商品積壓。按計(jì)劃單有選擇性地進(jìn)行自動(dòng)入庫登記。綜合查詢打印計(jì)劃進(jìn)貨與入庫記錄及金額。庫存管理: 綜合查詢庫存明細(xì)記錄。庫存狀態(tài)自動(dòng)告警提示。如庫存過剩、少貨、缺貨等。軟件為您預(yù)警,避免庫存商品積壓損失和缺貨。庫存自動(dòng)盤點(diǎn)計(jì)算。(3)管理員主要有基本信息管理和員工操作權(quán)限管理三部分?;拘畔⒐芾恚簩T工、會(huì)員信 息進(jìn)行增、刪、改、查。員工操作權(quán)限管理:一般員工只能登陸系統(tǒng)查看個(gè)人信息及簽到,其余權(quán)限 受限制;營業(yè)員還

8、可以登陸收銀系統(tǒng)。(4)會(huì)員主要有會(huì)員積分查詢。會(huì)員積分查詢:是會(huì)員的顧客查詢自己積分?jǐn)?shù)并兌換相應(yīng)禮品。2.1.1 用例圖Includeos;fncicafe;點(diǎn)聞Me *謂妙iPtomjntiYTpafe巴卿曲eg理/ 匕工DDJTTODJirTjmuirant/'-圖2-1小型超市管理系統(tǒng)用例圖用例圖說明:(1 )系統(tǒng)的外部角色有:會(huì)員用戶、營業(yè)員用戶、員工用戶、超市經(jīng)理和管理員。(2)系統(tǒng)主要用例的文檔描述:收銀業(yè)務(wù)用例:營業(yè)員用戶和顧客用戶可見的功能,包含了會(huì)員業(yè)務(wù)和結(jié)賬兩個(gè)用例功能。 員工操作權(quán)限管理用例:管理員用戶和員工用戶可見的功能,這個(gè)用例進(jìn)一步分為三個(gè)用 例:簽到權(quán)限

9、用例、查詢個(gè)人信息權(quán)限用例和登陸收銀系統(tǒng)權(quán)限用例。 基本信息管理用例:管理員用戶可見的功能,實(shí)現(xiàn)員工、會(huì)員信息的管理功能,包含了員 工基本信息管理和會(huì)員基本信息管理兩個(gè)用例。 商品銷售控制用例:超市經(jīng)理用戶可見的功能,實(shí)現(xiàn)商品銷售的控制功能,包含了正常銷 售控制、促銷與限量、限期銷售控制、禁止銷售控制和查詢明細(xì)五個(gè)用例。 進(jìn)貨管理用例:超市經(jīng)理用戶可見的功能,包含了自動(dòng)制定進(jìn)貨計(jì)劃、自動(dòng)入庫登記、查 詢計(jì)劃進(jìn)貨和查詢?nèi)霂煊涗浖敖痤~四個(gè)用例。 庫存管理用例:超市經(jīng)理用戶可見的功能,包含了自動(dòng)盤點(diǎn)計(jì)算、查詢庫存明細(xì)、庫存狀 態(tài)自動(dòng)報(bào)警三個(gè)用例。(3 )系統(tǒng)用例之間的關(guān)系: 收銀業(yè)務(wù)用例與會(huì)員業(yè)務(wù)、

10、結(jié)賬兩用例之間是包含關(guān)系。 員工操作權(quán)限管理用例與簽到權(quán)限、查詢個(gè)人信息權(quán)限和登陸收銀系統(tǒng)權(quán)限三用例之間是 包含關(guān)系。 基本信息管理用例與員工基本信息管理、會(huì)員基本信息管理兩個(gè)用例之間是包含關(guān)系。 商品銷售控制用例與正常銷售控制、促銷與限量、限期銷售控制、禁止銷售控制和查詢明 細(xì)五個(gè)用例之間是包含關(guān)系。 進(jìn)貨管理用例與自動(dòng)制定進(jìn)貨計(jì)劃、自動(dòng)入庫登記、查詢計(jì)劃進(jìn)貨和查詢?nèi)霂煊涗浖敖痤~ 四個(gè)用例之間是包含關(guān)系。 庫存管理用例與自動(dòng)盤點(diǎn)計(jì)算、查詢庫存明細(xì)、庫存狀態(tài)自動(dòng)報(bào)警三個(gè)用例之間是包含關(guān) 系。(4)系統(tǒng)關(guān)鍵用例的正常事件流圖和異常事件流圖表2-1結(jié)賬用例的正常事件流圖和異常事件流圖用例名稱結(jié)賬參

11、與者營業(yè)員、顧客描述營業(yè)員、顧客結(jié)賬啟動(dòng)點(diǎn)擊“結(jié)賬”按鈕前置條件商品錄入完成主事件流用戶系統(tǒng)1.系統(tǒng)自動(dòng)計(jì)算岀商品價(jià)格2.顧客付款3.系統(tǒng)將價(jià)款和貨款比對后找零4.系統(tǒng)將實(shí)際收到價(jià)款打入超市賬戶中異常流異常流貨款無法進(jìn)入超市賬戶系統(tǒng)貨款無法成功轉(zhuǎn)入超市賬戶,系統(tǒng)給岀提示,要求重新進(jìn)行轉(zhuǎn)入或要求管理員維修系統(tǒng)異常網(wǎng)絡(luò)連接超時(shí)或系統(tǒng)功能損壞表2-2進(jìn)貨管理用例的正常事件流圖和異常事件流圖用例名稱進(jìn)貨管理用例參與者超市經(jīng)理用戶描述超市經(jīng)理管理進(jìn)貨事項(xiàng)啟動(dòng)進(jìn)入進(jìn)貨管理界面前置條件用戶成功登錄后置條件如果該用例成功,數(shù)據(jù)庫中將增加商品信息。否則,系統(tǒng)維持現(xiàn)狀主事件流用戶系統(tǒng)1.用戶進(jìn)入界面,登陸成功2.

12、根據(jù)銷售情況單及庫存情況單,自動(dòng)制定進(jìn)貨計(jì)劃3按計(jì)劃有選擇性地進(jìn)行自動(dòng)入庫登記4.系統(tǒng)綜合查詢打印計(jì)劃進(jìn)貨與入庫記錄及金額異常流異常流制定進(jìn)貨計(jì)劃失敗系統(tǒng)銷售情況單及庫存情況單錯(cuò)誤,系統(tǒng)給岀錯(cuò)誤提示,并要求進(jìn)行修改后重新給岀222類圖圖2-2小型超市管理系統(tǒng)類圖類圖說明:(1) BaseUser類是一個(gè)系統(tǒng)角色用戶的基類,主要方法有兩個(gè): modifyPWD()用于修改用戶的密碼;loginCheck()用于用戶登錄驗(yàn)證。(2) Admin 類繼承自 BaseUser類。(3) Staff類繼承自BaseUser類,主要方法有:STAdd()用于添加員工;STDel()用于刪除員工;STUpd

13、ate()用于更新員工信息;STSel()用于查詢員工信息。(4) manager類繼承自BaseUser類,主要方法有:MAAdd()用于添加經(jīng)理;MADel()用于刪除經(jīng)理;MAUpdate()用于更新經(jīng)理信息;MASel()用于查詢經(jīng)理信息。(5) VIP Member類繼承自BaseUser類,主要方法有: VIPAdd()用于添加經(jīng)理;VIPDel()用于刪除經(jīng)理;VIPUpdate()用于更新經(jīng)理信息;VIPSel()用于查詢經(jīng)理信息。(6) Good類是一個(gè)商品類,主要方法有:GOAdd()用于增加商品;GODel()用于刪除商品。(7) Sell類是一個(gè)銷售類,主要方法有:GO

14、Del()用于刪除商品。(8) Replenish類是一個(gè)進(jìn)貨類,主要方法有:GOAdd()用于增加商品。(9) Stock類是一個(gè)庫存類,主要方法有:StockAdd()用于增加庫存量;StockDel()用于減少庫存量;StockSel()用于查詢庫存量;StockUpdate()用于更新庫存量。2.2.3 時(shí)序圖(1)營業(yè)員管理會(huì)員時(shí)序圖圖2-3營業(yè)員管理會(huì)員時(shí)序圖h打開員曲t息錄人茲更載工信電(2)超市經(jīng)理管理員工時(shí)序圖奧市鶴貝工悟騒A貝工-'誌鮭員工拳息慘改員工時(shí)息負(fù)工蓿息丟:3:翩貫工宿息裘1 15,耿員工信息4;正砒檢査1* 1 :丁 j人輸人単棘¥i乩逼到査備

15、員工舊息d正昭陸:圖2-4超市經(jīng)理管理員工的時(shí)序圖2.2.3 協(xié)作圖(1)營業(yè)員管理會(huì)員協(xié)作圖4:正確性檢查圖2-5營業(yè)員管理會(huì)員協(xié)作圖(2)超市經(jīng)理管理員工協(xié)作圖圖2-6超市經(jīng)理管理員工協(xié)作圖4:正確性檢查4:正確性檢查2.3系統(tǒng)總體設(shè)計(jì)2.3.1設(shè)計(jì)問題域子系統(tǒng)本系統(tǒng)目標(biāo)是實(shí)現(xiàn)小型超市管理系統(tǒng)所需的各種基本功能,分為前臺(tái)和后臺(tái),共有五大模塊,分 別為:營業(yè)員模塊,顧客模塊,超市經(jīng)理模塊,管理員模塊和公有模塊。這五個(gè)模塊包含了營業(yè)員進(jìn)行商 品錄入和收銀業(yè)務(wù);超市經(jīng)理對商品銷售進(jìn)行控制,管理進(jìn)貨事項(xiàng)和商品庫存;管理員對員工信息進(jìn)行增、刪、改、查,管理員工操作權(quán)限,管理客戶銷售權(quán)限;顧客可以在銷

16、售系統(tǒng)里查詢商品信息和會(huì)員積分等 基本功能。(1) 總體設(shè)計(jì)圖零售后臺(tái)小型超市管理系統(tǒng)零售前臺(tái)小型超市管理系統(tǒng)總體設(shè)計(jì)圖(2)各模塊功能功能模塊包含子功能模塊功能管理員模塊客戶管理子模塊刪除,添加,更改用戶及用戶信息員工管理子模塊刪除,添加,更改員工及員工信息超市經(jīng)理模塊商品價(jià)格更改,管理進(jìn)貨事項(xiàng)和商品庫存營業(yè)員模塊商品錄入和收銀業(yè)務(wù)會(huì)員模塊查詢會(huì)員積分,管理個(gè)人信息公共模塊登陸界面,企業(yè)介紹及超市活動(dòng)信息2.3.2設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)(1)數(shù)據(jù)庫表序號(hào)數(shù)據(jù)庫表數(shù)據(jù)表存儲(chǔ)的內(nèi)容1staff存儲(chǔ)員工信息2member存儲(chǔ)會(huì)員信息3commodity存儲(chǔ)商品信息4supplier存儲(chǔ)供應(yīng)商信息5st

17、orage存儲(chǔ)倉庫信息6manufacturer存儲(chǔ)廠商信息7product存儲(chǔ)生產(chǎn)信息8supply存儲(chǔ)供應(yīng)信息9procure存儲(chǔ)采購信息10store存儲(chǔ)存儲(chǔ)信息11purchase存儲(chǔ)購買信息membermanufacturerstorestono stoareastotypepurchase號(hào) com norriennno$ mannomannamemanno*comno三jroddatestaffstano乍 startostanamestanamestasexstasexFTstonoaconn nostorenum寸仃rpriatpcommoditySuoDlyn.甩 com

18、nosupply$ supnoP comnosupplyra-ra-數(shù)據(jù)表之間的關(guān)系圖(2)數(shù)據(jù)表之間的關(guān)系(3) 數(shù)據(jù)庫表結(jié)構(gòu)1) 員工表Staff的詳細(xì)數(shù)據(jù)字段:Staff員工信息表序號(hào)字段名字段類型說明備注1sta.noChar員工編號(hào)關(guān)鍵字2Char員工姓名3sta.sexChar員工性別4sta.addChar員工住址5sta.telChar員工電話6sta.wagChar員工工資7sta.IDChar員工身份證號(hào)2) 會(huì)員表member的詳細(xì)數(shù)據(jù)字段:Member會(huì)員信息表序號(hào)字段名字段類型說明備注1mem.noChar會(huì)員卡號(hào)關(guān)鍵字2Char會(huì)員姓

19、名3mem.sexChar會(huì)員性別4mem.IDChar會(huì)員身份證號(hào)5mem.addDate會(huì)員地址6mem.telDate會(huì)員電話3)商品表commodity的詳細(xì)數(shù)據(jù)字段commodity 商品員信息表序號(hào)字段名字段類型說明備注1com.noChar商品編號(hào)關(guān)鍵字2Char商品名稱3com.numChar商品單位4com.priChar商品價(jià)格com.typeChar商品種類4)供應(yīng)商supplier的詳細(xì)數(shù)據(jù)字段supplier供應(yīng)商信息表序號(hào)字段名字段類型說明備注1sup.noChar供應(yīng)商編號(hào)關(guān)鍵字2Char供應(yīng)商名稱3sup.telChar供應(yīng)商電話

20、4sup.addChar供應(yīng)商地址5sup.posChar供應(yīng)商郵編6sup.manChar供應(yīng)商聯(lián)系人5)倉庫storage的詳細(xì)數(shù)據(jù)字段Storage倉庫信息表序號(hào)字段名字段類型說明備注1sto.noChar倉庫編號(hào)關(guān)鍵字2sto.areaChar倉庫面積3sto.typeChar倉庫類別4sto.addChar倉庫地址6)廠商manufacturer的詳細(xì)字段manufacturer 廠商信息表序號(hào)字段名字段類型說明備注1man.noChar廠商編號(hào)關(guān)鍵字2Char廠商名稱3man.telChar廠商電話4man.posChar廠商郵編5man.addChar廠商地址6m

21、an.manChar廠商聯(lián)系人2.3.3設(shè)計(jì)人機(jī)交互子系統(tǒng)(1)用戶分類本系統(tǒng)的用戶可分為四類:1)管理員用戶;2)會(huì)員用戶;3)員工用戶;4)超市經(jīng)理用戶。(2)用戶描述1)管理員用戶的描述:管理員用戶在整個(gè)小型超市管理系統(tǒng)中起到管理和維護(hù)的作用,對會(huì)員和員工的信息 進(jìn)行管理和維護(hù)等職責(zé)。2)會(huì)員用戶的描述:會(huì)員用戶在本系統(tǒng)中具有管理自己信息的權(quán)限,查看自己積分情況及超市會(huì)員優(yōu)惠的 權(quán)限。3)員工用戶的描述:員工在本系統(tǒng)中具有修改自己的信息,查看商品價(jià)格及庫存情況的權(quán)限。4)超市經(jīng)理用戶的描述:超市經(jīng)理有商品銷售控制,進(jìn)貨管理和庫存管理的權(quán)限,他可以管理庫 存,控制進(jìn)貨,更改商品價(jià)格等。(3

22、)設(shè)計(jì)命令層次1)系統(tǒng)的人機(jī)交互子系統(tǒng)的內(nèi)容和準(zhǔn)則:本小型超市管理系統(tǒng)的人機(jī)交互子系統(tǒng)在根據(jù)不同的用戶身份登陸到不同的頁面,然 后按照不同的用戶只能進(jìn)行用戶權(quán)限內(nèi)的操作,其結(jié)構(gòu)圖如下:2)通過采用樹形結(jié)構(gòu),細(xì)化命令的組織方式,如下:2.4詳細(xì)設(shè)計(jì)小型超市管理系統(tǒng)是實(shí)現(xiàn)管理員管理員工與會(huì)員基本信息、員工登陸系統(tǒng)以及超市經(jīng)理管理進(jìn)貨、庫存、商品銷售的一個(gè)平臺(tái),整個(gè)學(xué)生選課系統(tǒng)共分為5個(gè)大模塊:管理員模塊,會(huì)員模塊,員工模塊,超市經(jīng)理模塊和公有模塊,其中復(fù)雜的方法和模塊的詳細(xì)設(shè)計(jì)流程圖如下。(1)系統(tǒng)用戶登錄流程圖圖4-1系統(tǒng)用戶登錄流程圖(2)營業(yè)員收銀業(yè)務(wù)流程圖圖4-2營業(yè)員收銀業(yè)務(wù)流程圖(3)

23、管理員添加員工流程圖圖4-3管理員添加員工流程圖(4)超市經(jīng)理控制限量銷售流程圖圖4-4超市經(jīng)理控制限量銷售流程圖(5)超市經(jīng)理管理進(jìn)貨流程圖圖4-5超市經(jīng)理管理進(jìn)貨流程圖(6)超市經(jīng)理管理庫存流程圖圖4-6超市經(jīng)理管理庫存流程圖2.5系統(tǒng)實(shí)現(xiàn)本系統(tǒng)采用了三層架構(gòu)來實(shí)現(xiàn),即分為用戶界面層(UI)、業(yè)務(wù)邏輯層(BLL )和數(shù)據(jù)訪問層(DAL ),用戶界面層是展示給用戶的界面,方便用戶與系統(tǒng)進(jìn)行交互;業(yè)務(wù)邏輯層是對系統(tǒng)業(yè)務(wù)實(shí)體的封裝, 完成系統(tǒng)業(yè)務(wù)功能;數(shù)據(jù)訪問層直接與數(shù)據(jù)庫打交道,為業(yè)務(wù)邏輯層提供底層的數(shù)據(jù)庫操作。登錄功能實(shí)現(xiàn)登錄界面是使用者在使用此軟件時(shí)需要輸入自已的賬號(hào)和密碼,從而使用自已的

24、權(quán)限來 管理超市的運(yùn)行。小超市登錄界面如4-1所示。圖4-1小超市管理系統(tǒng)登錄界面模塊核心代碼:public class Log in exte nds Frame impleme nts Action Liste ner,Wi ndowListe ner / 登陸界面public int screa nWidth,screa nH eight;String idi n=nu II;String key in=n ull;String passwordD=n ull;public static String pers on tyD=n ull;Men uBar men ubar;Menu me

25、nu;Men ultem quet,help;Label id,key;TextField idtf,keytf;Box boxV1,boxV2,boxV3,baseBox,boxx;Butt on en terB;Logi n()setTitle(”超市管理系統(tǒng)登陸界面”);Toolkit tool=getToolkit();Dime nsi on dim=tool.getScree nSize();screa nWidth=dim.width;screa nH eight=dim.height;setBou nds(dim.width/3,dim.height/3,320,215);men

26、ubar=new Men uBar();menu=new Menu(” 功能");help=new Menultem(” 幫助");quet=new Menultem(” 退出");quet.setShortcut( new Men uShortcut(KeyEve nt.VK_E);quet.addActi on Liste ner( new Acti on Liste ner()/ 匿名類實(shí)例控制public void acti on Performed(Act ion Eve nt p) System.exit(0););menu .add(help);me

27、nu .add(quet);menu bar.add(me nu);setMe nuBar(me nubar);id=new Label("請輸入帳號(hào):"丄abel.RIGHT);key=new Label("請輸入密碼:”,Label.RIGHT);idtf= new TextField(10);keytf= new TextField(10);keytf.setEchoChar('*');enterB=new Button(” 登陸");boxV1=Box.createVerticalBox();boxV1.add(Box.creat

28、eVerticalStrut(35);boxV1.add(id);boxV1.add(Box.createVerticalStrut(15);boxVl.add(key);boxV1.add(Box.createVerticalStrut(15); boxV2=Box.createVerticalBox();boxV2.add(Box.createVerticalStrut(35);boxV2.add(idtf);boxV2.add(Box.createVerticalStrut(15);boxV2.add(keytf);boxV2.add(Box.createVerticalStrut(15

29、); baseBox=Box.createHoriz on talBox();baseBox.add(Box.createHoriz on talStrut(25); baseBox.add(boxV1);baseBox.add(Box.createHoriz on talStrut(5); baseBox.add(boxV2);baseBox.add(Box.createHoriz on talStrut(70);boxV3=Box.createHoriz on talBox();boxV3.add(Box.createHorizo ntalStrut(125);boxV3.add(e nt

30、erB);boxV3.add(Box.createHorizo ntalStrut(125); boxx=Box.createVerticalBox();boxx.add(baseBox);boxx.add(Box.createVerticalStrut(15);boxx.add(boxV3);boxx.add(Box.createVerticalStrut(70);add(boxx);en terB.addActi on Liste ner(this);addWi ndowListe ner(this);setResizable(false);setVisible(true);public

31、void action Performed(Act ion Eve nt e) Connection con;Stateme nt sql;ResultSet rs;if (e.getSource()=e nterB) idi n=idtf.getText();keyi n=keytf.getText();try Class.forName("su n.jdbc.odbc.JdbcOdbcDriver"); catch (ClassNotF oun dExceptio n f)System.out.pri ntln (""+f);trycon=Drive

32、rMa nager.getC onnection ("jdbc:odbc:q","","");sql=c on. createStateme nt();rs=sql.executeQuery("SELECT * FROM password where ID='"+idin+""'); while(rs. next()passwordD=rs.getStri ng(2);pers on tyD=rs.getStri ng(3);con. close();catch (SQLExce

33、pti on g)System.out.pri ntl n( g);if (key in. equals(passwordD)View2 frame=new View2();帳戶或密碼錯(cuò)誤nthis.setVisible(false); else JOptionPane.showMessageDialog(this,"請重新輸入","提示 ”,JOptionPane.WARNING_MESSAGE); public void win dowActivated(Wi ndowEve nt o)validate。;public void win dowDeactiva

34、ted(Wi ndowEve nt o)setBou nds(screa nWidth/3,screa nH eight/3,320,215); validate();public void wi ndowClosi ng(Wi ndowEve nt o)dispose。;public void wi ndowClosed(Wi ndowEve nt o)System.exit(O);public void windowlconified(WindowEvent o)public void windowDeiconified(WindowEvent o)setBou nds(screa nWi

35、dth/3,screa nH eight/3,320,215); validate();public void wi ndowOpe ned(Wi ndowEve nt o)4.2銷售界面功能介紹該功能是此系統(tǒng)的最關(guān)鍵的模塊,是消費(fèi)者直接使用的功能。消費(fèi)者可以根據(jù)已看到的 商,在搜索欄中打入商品的編號(hào),進(jìn)行查詢商品的信息,然后可以依椐自已的需要購買。最 后單擊提交,購買的商品就記錄到系統(tǒng)的數(shù)據(jù)庫中。銷售的主界面如圖4-2所示:圖4-2銷售的主界面421搜索商品的信息消費(fèi)者可根據(jù)自已所需要的商品編號(hào),在銷售功能中搜索,查看商品的信息無誤后,確 定是否購買。如搜索001號(hào)商品,查看它的信息,如圖4

36、-3所示。001商品管謖陽戶管理生rSM生產(chǎn)地商品名和商品信息00120l0-7d圖4-3搜索001號(hào)商品的信息4.2.2購買商品在確定自已需要的商品后,然后就是購買商品,消費(fèi)者可以按“購買”鍵進(jìn)行購買物品, 購買一份就單擊一次“購買”鍵,購買物品的信息顯示在購物信息框中,最后單擊“提交”, 消費(fèi)者所購買的物品就作為一個(gè)賬單號(hào)存儲(chǔ)在數(shù)據(jù)庫中。如購買004、005、006、008、010和011號(hào)商品時(shí),購買信息如圖 4-4下:碼I匚理秦 圖只iftg界面ifit理商品包理用戶直理生產(chǎn)曰期生產(chǎn)哋商品甘息CK4沈陽高品第迅商品輛商品愴搭生產(chǎn)日勵(lì)生產(chǎn)00822DW-&3D北京010雉譴筑巾2

37、6201D-6-30吉林011三笑牙創(chuàng)22010-6-30006可可可樂32010-6-30MS006呂事可樂32U1O-6-JD004蠟肉162010-30加日商品52圖4-4購買信息當(dāng)購買人不想購買這些商品時(shí),可以點(diǎn)擊窗口左下角的清除按鈕,來清除剛才購買的商 品,數(shù)據(jù)庫中也不會(huì)有此記錄。此外,本系統(tǒng)是每購買一件商品向數(shù)據(jù)庫提交一次記錄,當(dāng)未點(diǎn)擊提交按鈕之前,若要 結(jié)束此窗口進(jìn)程,我們在代碼中嵌入了一段刪除當(dāng)前帳單的數(shù)據(jù)庫記錄代碼,以達(dá)到?jīng)]有誤 提交的操作。423模塊的核心代碼銷售界面的實(shí)現(xiàn)public class View2 exte nds JFrame impleme nts Acti

38、on Liste ner/ 銷售界面String num=n ull, name=nu ll,time=nu ll,add=null,t1= null,t2=nu Il,t3=n ull;int price=0;int n1,n 2,ap ,n3;private JPanel sM=new JPanel(); /supermarket 面板private JButton pS=new JButton(” 銷售界面"),new JButton(” 銷售管理"),new JButton(” 商品管理"),new JButton(” 權(quán)限管理");/perso

39、nty 按鈕private JTextArea goodsShow=new JTextArea(), searchShow=new JTextArea();/ 文本區(qū)private JScrollPa ne jsp=new JScrollPa ne(goodsShow);/滾動(dòng)區(qū)域 設(shè)定內(nèi)容為 商品顯示的文本區(qū)private JTextField numSearch=new JTextField(),showGoods=new JTextField();/商品查詢 /顯示商品private JButton searchGoods=new JButton(” 搜索"),buyGoods

40、=new JButton(” 購買"),clean=new JButton(” 清空"),ok=new JButton(” 提交"),print= new JButton(” 打印并提交 ”);/查詢 按鈕private JLabel goods In formatio n=new JLabel("商品編碼",JLabel.CENTER) ,new JLabel("商品名稱 ”,JLabel.CENTER),new JLabel("商品價(jià)格 ”,JLabel.CENTER), newJLabel("生產(chǎn)日期”,JL

41、abel.CENTER),new JLabel("生產(chǎn)地 ”,JLabel.CENTER) ;private JLabelgoodsI=newJLabel("商品編碼"JLabel.CENTER),newJLabel("商品名稱”,JLabel.CENTER),new JLabel("商品價(jià)格",JLabel.CENTER), newJLabel("生產(chǎn)日期",JLabel.CENTER),new JLabel("生產(chǎn)地 ”,JLabel.CENTER) ;private JLabel allPrice=

42、new JLabel("商品總價(jià):n ",JLabel.LEFT),label1= new JLabel("商 品信息 ",JLabel.RIGHT),label2=new JLabel("購物信息”,JLabel.RIGHT);public View2()sM.setLayout( null);for(i nt i=0;i<4;i+)pSi.setBou nds(550+i*110,50,100,22);sM.add(pSi);pSi.addAct ion Liste ner(this);jsp.setBou nds(100,180,8

43、00,500);goodsShow.setL in eWrap(true)nu mSearch.setBou nds(100,50,150,22);searchGoods.setBou nds(260,50,60,22);searchGoods.addAct ion Liste ner(this);buyGoods.setBou nds(330,50,60,22);buyGoods.addAct ion Liste ner(this);showGoods.setBou nds(100,120,800,22);for (int b=0;b<5 ;b+ )goodsl nformatio n

44、b.setBou nds(100+160*b,87,160,30); sM.add(goods In formatio n b);for (int b=0;b<5 ;b+ )goodslb.setBou nds(100+160*b,150,160,30); sM.add(goodslb);clea n. setBou nds(100,690,100,22);clea n.addAct ion Liste ner(this);ok.setBou nds(690,690,100,22);ok.addActi on Liste ner(this);prin t.setBou nds(800,6

45、90,100,22);prin t.addAct ion Liste ner(this);allPrice.setBou nds(900,480,100,50);labell.setBou nds(20,120,80,22);label2.setBou nds(20,180,80,22);sM.add(labell);sM.add(label2);sM.add(allPrice);sM.add(pri nt);sM.add(ok);sM.add(showGoods);sM.add(clea n);sM.add( nu mSearch);sM.add(searchGoods);sM.add(bu

46、yGoods);sM.add(jsp);addWi ndowListe ner(new Win dowAdapter() public void win dowClos in g(Wi ndowEve nt e) Conn ecti on con;Stateme nt sql;ResultSet rs;tryif (n 3!=0)int a1=0;con=DriverMa nager.getC onnection ("jdbc:odbc:q","",""); sql=c on. createStateme nt();rs=sql.ex

47、ecuteQuery("SELECT MAX( 編號(hào))from information");while(rs. next()a仁 rs.get In t(1);for (in t i=0;i< n3 ;i+ )sql.executeUpdate("delete from in formati on where 編號(hào)="+(a1-i);con. close();ap=0;num=nu II ;n ame=n ull;price=O;time=n ull;add=nu II ;n 3=0; goodsShow.setText (n ull);catch

48、 (SQLExcepti on g)System.out.pri ntl n( g);System.exit(O););this.add(sM);this.setTitle("銷售窗口 ");this.setResizable(false);this.setBou nds(0,0,1024,768);this.setVisible(true);validate(); 購買商品功能的代碼if(p.getSource()=buyGoods)/ 購買按鍵tryif (num!=nu II)con=DriverMa nager.getC onnection ("jdbc:

49、odbc:q","","");sql=c on. createStateme nt();sqI.executeUpdate("i nsert into in formati on( list nu m,goods num) values('"+n2+"',"'+nu m+"" rs=sqI.executeQuery("SELECT * FROM in formation where list num="+n2);n 3+;/記錄購買商品個(gè)數(shù)&

50、quot;+n um+""+price+"提 示con. close();goodsShow.appe nd(”"+n ame+""+time+""+add+"n"); elseJOptionPan e.showMessageDiaIog(this,"請 選 擇 商 品 ","",JOptio nPan e.WARNING_MESSAGE);ap=ap+price; 總價(jià)allPrice.setText(” 商品總價(jià):n "+ap);catch

51、(SQLExceptio n g)System.out.pri ntl n( g);if(p.getSource()=ok)tryif (n 3!=0)con=DriverMa nager.getC onnection ("jdbc:odbc:q","","");sql=c on. createStateme nt();sql.executeUpdate("i nsert into in formati on (list nu m,allprice) values('"+n2+"',

52、9;"+ap+"')");rs=sql.executeQuery("SELECT * FROM in formation where list num="+n2);con. close();ap=0;num=nu II ;n ame=n ull;price=O;time=n ull;add=nu II ;n 3=0;goodsShow.setText (n ull);n2+;帳單號(hào)elseJOptionPan e.showMessageDialog(this,"請 購 買 商 品 ",” 提 示",JOpt

53、io nPan e.WARNING_MESSAGE);catch (SQLExcepti on g)System.out.pri ntl n( g);if(p.getSource()=pri nt)tryif (n 3!=0)con=DriverMa nager.getC onnection ("jdbc:odbc:q","","");sql=c on. createStateme nt();sql.executeUpdate("i nsert into in formati on (list nu m,allprice) values('"+n2+"','"+ap+"')");rs=sql.executeQuery("SELECT * FROM in formation where list num="+n2);con. close();ap=0;num=nu II ;n ame=n ull;price=O;time=n ull;add=nu II ;n 3=0;goodsShow.setText (n ul

溫馨提示

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

評(píng)論

0/150

提交評(píng)論