




已閱讀5頁(yè),還剩10頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
泉 州 師 范 學(xué) 院畢業(yè)論文題 目 超市收銀管理系統(tǒng)的設(shè)計(jì) 數(shù)學(xué)與計(jì)算機(jī)科學(xué) 學(xué) 院 信息XXXXXX 專 業(yè) 08級(jí)學(xué)生姓名 XXX 學(xué) 號(hào) 0803060XX 指導(dǎo)教師 XXXX 職 稱 講師 完成日期 2011年12月10日 教務(wù)處 制超市收銀管理系統(tǒng)的設(shè)計(jì)(數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院 08信息XXXXXXXX)指導(dǎo)教師 XXXXX(講師)【摘 要】超市是一個(gè)以盈利為目的的一個(gè)商業(yè)機(jī)構(gòu),所以超市必然要以追求最大的利潤(rùn)為目的,基于商品在市場(chǎng)的價(jià)位以及銷量來確定最優(yōu)價(jià)格,使得商品利潤(rùn)最大化。而當(dāng)下不管大小型超市都有收銀系統(tǒng),在收銀系統(tǒng)上可以統(tǒng)計(jì)一些商品的銷量,以及記錄下商品的價(jià)格波動(dòng)變化,在不同的價(jià)格上會(huì)產(chǎn)生不同的利潤(rùn),所以在收銀系統(tǒng)中增加一個(gè)計(jì)算出商品的最優(yōu)價(jià)格的功能,能使超市的盈利達(dá)到最大,同時(shí)能使商家更好的為商品定價(jià)?!娟P(guān)鍵詞】超市;收銀系統(tǒng);最優(yōu)價(jià)格;利潤(rùn);盈利1. 引言1.1 問題的提出 超市是一個(gè)客流量很大的地方,每天有很多的顧客要消費(fèi)買東西,收銀員要和很多的顧客結(jié)算,并且要給這些結(jié)算存檔,以便日后查看或統(tǒng)計(jì)。如果只用人工的方法去處理這些結(jié)算和計(jì)算的數(shù)據(jù)將是一件很復(fù)雜繁瑣的事情,而且將要投入大量的人力物力,并且會(huì)浪費(fèi)大量的時(shí)間。為了解決此類問題,并且實(shí)現(xiàn)科學(xué)化、實(shí)用化的超市管理,我們就需要設(shè)計(jì)開發(fā)超市管理系統(tǒng),并用于實(shí)踐測(cè)試,使超市收銀進(jìn)入現(xiàn)代化、簡(jiǎn)單化。1.2 設(shè)計(jì)思想該設(shè)計(jì)的指導(dǎo)思想是一切步驟簡(jiǎn)單化、實(shí)用化,系統(tǒng)的功能全面,界面盡可能美觀大方,操作盡量簡(jiǎn)單明了,而且作為一個(gè)實(shí)用的應(yīng)用系統(tǒng)要有較好的容錯(cuò)性,在出現(xiàn)錯(cuò)誤操作時(shí)能夠盡可能及時(shí)地給出提示,以便用戶及時(shí)進(jìn)行改正,以及避免錯(cuò)誤的操作。1.3 系統(tǒng)開發(fā)的目標(biāo) 作為一個(gè)應(yīng)用系統(tǒng),本系統(tǒng)的開發(fā)目標(biāo)是實(shí)現(xiàn)超市管理系統(tǒng)簡(jiǎn)單化的思想,以查詢系統(tǒng)為中心,主要包括相關(guān)數(shù)據(jù)庫(kù)的設(shè)計(jì)、基礎(chǔ)數(shù)據(jù)庫(kù)的導(dǎo)入與修改、超市各種相關(guān)數(shù)據(jù)的查詢、銷售商品數(shù)量的統(tǒng)計(jì)的管理等?;谶@個(gè)簡(jiǎn)單的設(shè)計(jì)而言,該系統(tǒng)是為小型超市而開發(fā)設(shè)計(jì)的,小型超市使用本系統(tǒng),可以方便地快捷地對(duì)超市的各種信息進(jìn)行查詢以及修改,并且可以對(duì)數(shù)據(jù)庫(kù)中商品以及用戶進(jìn)行增加、刪除、修改等操作。1.4 系統(tǒng)應(yīng)用環(huán)境 隨著設(shè)計(jì)思想與開發(fā)目標(biāo)的出現(xiàn),繼而出現(xiàn)了開發(fā)語(yǔ)言的選擇。Java語(yǔ)言是一種程序設(shè)計(jì)語(yǔ)言,它簡(jiǎn)單、易學(xué)、易用,并因其可視化編程技術(shù)的完美表現(xiàn)和SQL 語(yǔ)言功能的強(qiáng)大已成為編寫數(shù)據(jù)庫(kù)管理系統(tǒng)的主要語(yǔ)言之一。它在數(shù)據(jù)庫(kù)方面有著廣泛的應(yīng)用,eclipse開發(fā)工具不僅提供了更多更好的設(shè)計(jì)器、向?qū)А⑸善骷靶骂?,而且使得客戶和服?wù)器結(jié)構(gòu)數(shù)據(jù)庫(kù)應(yīng)用程序的設(shè)計(jì)更加方便簡(jiǎn)捷。eclipse以其強(qiáng)大的工具和面向?qū)ο蟮囊詳?shù)據(jù)為中心的語(yǔ)言,將客戶/服務(wù)器和網(wǎng)絡(luò)功能集成于現(xiàn)代的、多連接的應(yīng)用程序,充分發(fā)揮了面向?qū)ο缶幊碳夹g(shù)和事件驅(qū)動(dòng)方式的優(yōu)勢(shì)不斷修正和改進(jìn)直到形成用戶滿意的可行性系統(tǒng)?;趀clipse的以上優(yōu)點(diǎn),通過對(duì)整個(gè)系統(tǒng)進(jìn)行研究分析,我決定使用eclipse開發(fā)工具,利用其提供的各種面向?qū)ο缶幊痰目梢暬ぞ邅砭幹瞥鲇脩魸M意的數(shù)據(jù)窗口平臺(tái)。 1.5 課題的研究意義 該系統(tǒng)的開發(fā)設(shè)計(jì),在使用eclipse軟件編程的過程中,充分利用了JAVA基礎(chǔ)程序設(shè)計(jì)導(dǎo)入數(shù)據(jù)庫(kù)管理知識(shí),體現(xiàn)了JAVA在鏈接數(shù)據(jù)庫(kù)和面向?qū)ο蟮目梢暬幊谭矫娴母咝?,?jiǎn)潔等特點(diǎn)。該系統(tǒng)的應(yīng)用,能夠提高超市信息管理系統(tǒng)各項(xiàng)工作地效率和質(zhì)量,并且促進(jìn)商品的銷售和利潤(rùn)的最大化;不僅降低各種人為工作地勞動(dòng)強(qiáng)度,而且使超市的收銀員空出更多的精力和時(shí)間來完成其他工作,使工作效率很大的提高;改善經(jīng)營(yíng)管理,避免是收銀的時(shí)間消耗,減少了顧客在超市中花費(fèi)的時(shí)間,并且促進(jìn)了超市的經(jīng)濟(jì)效益。2. 系統(tǒng)分析2.1 最優(yōu)價(jià)格模塊的思想進(jìn)入21世紀(jì)后,隨著經(jīng)濟(jì)建設(shè)的迅速發(fā)展,同時(shí)使得市場(chǎng)競(jìng)爭(zhēng)愈演愈烈,這就迫使在市場(chǎng)競(jìng)爭(zhēng)中想要處于優(yōu)勢(shì)地位,商家銷售的商品性價(jià)比就必須達(dá)到最高,同時(shí),超市最大的需求是得到最大的利潤(rùn),不僅使得超市盈利最多,而且還需要制訂出最優(yōu)價(jià)格,來保證超市達(dá)到最高的經(jīng)濟(jì)效益。下面討論在如何在超市收銀管理系統(tǒng)中增加其獨(dú)特的功能最優(yōu)價(jià)格模塊,為超市提供出最優(yōu)價(jià)格的數(shù)據(jù)依據(jù),使超市達(dá)到最大的盈利。2.2 最優(yōu)價(jià)格的分析正如我們所知,利潤(rùn)是銷售收入跟商品總支出之差。為此我們需要在超市收銀系統(tǒng)的添加最優(yōu)價(jià)格模塊,所以我們要推出商品銷售的最優(yōu)價(jià)格的公式,由此我們假設(shè)某商品的售價(jià)為p,銷售量為,成本為(顯然這個(gè)成本與銷售量有關(guān)),根據(jù)這些提供的數(shù)據(jù),則可以計(jì)算出總收入與總支出分別為 (2-1) (2-2)又在市場(chǎng)競(jìng)爭(zhēng)的情況下銷售量與價(jià)格p相關(guān),既有銷售量x依賴與價(jià)格p,記作 (2-3)其中f稱為需求函數(shù),是關(guān)于p 的遞減的函數(shù)。由于成本與銷售量有關(guān),所以總收入I和總支出C 都是關(guān)于價(jià)格p的函數(shù):、,然后再根據(jù)利潤(rùn)= 銷售量*價(jià)格-總成本,因此利潤(rùn)U 可以表示為 (2-4)由一元函數(shù)取得極值的必要條件得,使利潤(rùn)U(p)達(dá)到最大的最優(yōu)價(jià)格p* 可以由得,即有 (2-5)在數(shù)量經(jīng)濟(jì)學(xué)中稱為邊際收入(價(jià)格變動(dòng)一個(gè)單位時(shí)收入的改變量),稱為邊際支出(價(jià)格變動(dòng)一個(gè)單位時(shí)支出的改變量)。(2-5)式表明最大利潤(rùn)在邊際收入等于邊際支出時(shí)取得。2.2.1假定在商品的整個(gè)供銷過程中每件商品成本q不變,為討論方便起見,設(shè)需求函數(shù)是線性函數(shù): (2-6)把總收入函數(shù)、總支出函數(shù)、需求函數(shù)和(2-6)式代入(2-4)式得 (2-7)用微分法得知只有使U(p)最大時(shí),既令,可以從中得到我們需要的最優(yōu)價(jià)格為 (2-8)2.2.2假定在整個(gè)銷售過程中每件商品的成本q不變,總銷售時(shí)間為T,且在時(shí)間T內(nèi)銷售商品的數(shù)量為G件,需求函數(shù)仍然假定是線性函數(shù)f(p)=a-bp,(a,b0),試制定出此種情況下的商品銷售最優(yōu)價(jià)格p*。經(jīng)計(jì)算,整理,最后得到 (2-9)2.3 最優(yōu)價(jià)格的實(shí)例問題與解答2-1某家超市提供的銷售數(shù)據(jù)產(chǎn)品銷售時(shí)間單品成本(元)單品售價(jià)(元)銷量(件)總收入總成本利潤(rùn)牙膏30天3.54.25832448.62040.5408.13.54.5552248419325523.54.84131982.41445.5536.9由上表可以明顯的看出同樣的一款商品在相似的時(shí)間段,不同的售價(jià)可以得到不同的利潤(rùn)?;谝陨系臄?shù)據(jù)可以看出定位準(zhǔn)確的銷售價(jià)格對(duì)于商家的收益起著決定性的地位,所以該收銀系統(tǒng)就于收銀系統(tǒng)收集的數(shù)據(jù)分析出最優(yōu)價(jià)格,使得超市在銷售過程中得到最好的收益。3. 系統(tǒng)結(jié)構(gòu)首先,系統(tǒng)主要有兩個(gè)模塊組成:系統(tǒng)收銀主界面和銷售管理界面。其中,收銀主界面中包括登錄界面、注冊(cè)界面;銷售管理界面中又包含著許多小模塊:如添加商品、添加用戶、修改商品、查看商品等模塊。在程序中有一個(gè)非常重要的模塊,就是編輯模塊的GUI,由于在系統(tǒng)在對(duì)“數(shù)據(jù).mdb”數(shù)據(jù)庫(kù)中的商品列表、用戶列表里完成添加、刪除、修改的操作的類中,有幾個(gè)程序有相似的GUI,因此聲明了類EditorUI以封裝該GUI。(注:GUI為圖形用戶界面)類EditorUI完成編輯記錄的畫面設(shè)計(jì),其設(shè)計(jì)思路如下:(1)調(diào)用者利用EditorUI類構(gòu)造方法的參數(shù)(字符型數(shù)組Sting arrayString),傳遞輸入記錄畫面上一組列的標(biāo)題。在EditorUI類構(gòu)造方法中,從數(shù)組arrayString的實(shí)例變量arrayString.length中可得到列的個(gè)數(shù),并取出列的標(biāo)題放在labels數(shù)組。(2)定義一組文本字段fields用于編輯一張表的記錄各字段,并且調(diào)用者通過方法getFieds()和setFields()可讀取和設(shè)置fields值。(3)類EditorUI界面上提供兩個(gè)通用Button按鈕:doTask1、doTask2,按鈕的標(biāo)簽內(nèi)容和按鈕的事件處理過程可通過調(diào)用者來設(shè)置。3.1 超市收銀系統(tǒng)定制最優(yōu)價(jià)格的流程最優(yōu)價(jià)格的模設(shè)計(jì)思想:該收銀管理系統(tǒng)的創(chuàng)新點(diǎn)在于收集商品的銷售數(shù)據(jù),統(tǒng)計(jì)并且計(jì)算出商品的最優(yōu)價(jià)格,給超市商品銷售的銷售價(jià)格一個(gè)參考,同時(shí)作為商品在市場(chǎng)上的價(jià)位的一個(gè)數(shù)據(jù)依據(jù)。在超市銷售系統(tǒng)中,可進(jìn)行如下的流程(圖3-1),對(duì)商品的價(jià)格進(jìn)行修整,能對(duì)超市所最求的最大利潤(rùn)相磨合。計(jì)算出商品的最優(yōu)價(jià)格商品獲取最大利潤(rùn)銷售商品的售價(jià)以及銷量調(diào)整商品的銷售價(jià)格3-1超市收銀系統(tǒng)定制最優(yōu)價(jià)格的流程圖3.2 創(chuàng)建數(shù)據(jù)庫(kù)在前面分析的基礎(chǔ)上,得到了數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),然后就可以在Microsoft Office Access2003數(shù)據(jù)庫(kù)中是建立該邏輯結(jié)構(gòu)。下面是數(shù)據(jù)庫(kù)的創(chuàng)建過程:3.2.1 創(chuàng)建數(shù)據(jù)庫(kù)mdb文件。在Microsoft Office Access 主窗口選擇文件新建命令,會(huì)彈出一個(gè)對(duì)話框 “新建文件”,點(diǎn)擊建立“空數(shù)據(jù)庫(kù)”,并選擇保存位置以及保存的數(shù)據(jù)庫(kù)名稱,保存為“數(shù)據(jù). mdb”。3.2.2 創(chuàng)建項(xiàng)目的數(shù)據(jù)庫(kù)。在數(shù)據(jù)庫(kù)設(shè)計(jì)對(duì)話框中,選擇對(duì)象為“表”,點(diǎn)擊菜單欄上的新建,在彈出的對(duì)話框中選擇“數(shù)據(jù)視圖表”單機(jī)確定。分別添加如需要的列選項(xiàng):商品編碼、名稱、價(jià)格、數(shù)量并保存為Product。同樣的方法建立表user。3.2.3 在數(shù)據(jù)庫(kù)中創(chuàng)建下面兩個(gè)表格:3-1商品數(shù)據(jù)表字段名顯示名稱類型寬度ID商品編號(hào)Char13NAME商品名稱Char40Price商品價(jià)格Double5Cost商品成本Double5Quality商品數(shù)量Int53-2用戶數(shù)據(jù)表字段名顯示名稱類型寬度UID用戶IDChar20UNAME用戶名Char20PassWord密碼Char20TYPE權(quán)限Int1STATE狀態(tài)Int1通過此方法導(dǎo)入數(shù)據(jù)庫(kù):public void connect() 數(shù)據(jù)庫(kù) = new JDBCAdapter( jdbc:odbc:數(shù)據(jù),sun.jdbc.odbc.JdbcOdbcDriver, , );3.3 系統(tǒng)的類圖在設(shè)計(jì)超市收銀管理系統(tǒng)時(shí),需要編寫以下幾個(gè)Java源文件:Login.java、OperateDatabase.java、zhuce.java、SaleManger.java、Bangzhu.java、Bestprice.java、Bestprice2.java、DisplayProduct.java、DisplayRecord.java、DisplayUser.java、JDBCAdapter.java、JMoneyField.java、Music.java、Bestprice.java、Bestprice2.java、SetAddProduct.java、SetAddUser.java、SetDeleteProduct.java、SetDeleteUser.java、Setting.java、SetUpdateProduct.java、SetUpdateUser.java和EditorUI.java。超市收銀管理系統(tǒng)用到的一些重要的類以及之間的組合關(guān)系如圖3-4所示。其中Login.java為系統(tǒng)的入口類,該類具有主方法,程序也是從該類開始執(zhí)行。SaleManger.java是負(fù)責(zé)收銀功能的主窗口,該類沒有主方法,只有在登錄框中輸入正確的用戶名和密碼才能進(jìn)入該窗口。Setting.java是系統(tǒng)的管理界面,同樣沒有主方法,只有在用管理用戶登錄后進(jìn)入主界面后點(diǎn)擊“管理”按鈕后才能打開的窗口。Login.java(登錄類)Zhuce.java(注冊(cè)類)OperateDatabase(連接數(shù)據(jù)庫(kù)類)SaleManger(銷售界面)JMoneyFieldBangzhuJDBCAdapterMusicSetting(管理界面)DisplayProductDisplayUserDisplayRecordSetAddProductSetDeleteProductSetUpdateProductSetAddUserSetDeleteUserSetUpdateUserBestpriceEditorUIBestprice23-4超市收銀管理系統(tǒng)的類圖4. 系統(tǒng)界面設(shè)計(jì)4.1 總體結(jié)構(gòu)本系統(tǒng)主要由以下界面組成:l 登錄界面l 注冊(cè)界面l 系統(tǒng)主界面l 銷售管理界面4.2 登錄界面登陸界面主要有三個(gè)按鈕,兩個(gè)文本框組成。該登陸窗體對(duì)用戶登陸做了一個(gè)簡(jiǎn)單的判斷,該界面是系統(tǒng)的登錄界面,并提供驗(yàn)證管理員身份合法性的功能,設(shè)計(jì)完成的效果下圖所示 。用戶輸入用戶名和相應(yīng)的正確密碼,單擊“登錄”按鈕,就可以進(jìn)入系統(tǒng)主界面。登錄類Login.java。4-1用戶登錄界面為了提高軟件的容錯(cuò)性,判斷若數(shù)據(jù)庫(kù)沒有導(dǎo)入(既數(shù)據(jù)庫(kù)沒有通過管理工具的數(shù)據(jù)源管理工具將系統(tǒng)的數(shù)據(jù)庫(kù)導(dǎo)入),或用戶名、密碼錯(cuò)誤時(shí)打開錯(cuò)誤提示框: 4-2數(shù)據(jù)庫(kù)未導(dǎo)入提示界面 4-3用戶名或碼錯(cuò)誤提示界面其中,登錄過程中做一下簡(jiǎn)單判斷:如果用戶名和密碼中的數(shù)據(jù)正好和“user”表中的某個(gè)記錄相同,則通過登陸窗體,否則提示用戶用戶名或密碼有誤。在通過登陸窗體中還要對(duì)用戶名做一下判斷:如果是管理員登陸,則進(jìn)入主界面。系統(tǒng)的關(guān)鍵代碼:public void actionPerformed(ActionEvent e) if(e.getSource()=bt1) OperateDatabase temp=new OperateDatabase(); username=tf1.getText(); code=tf2.getText(); String sql=SELECT * FROM user where UID=+username+and PassWord=+code+; try rs=temp.Query(sql); if(rs.next() mingzi=username; /*記錄登錄的用戶名*/ this.dispose(); new SaleManger(); else JOptionPane.showMessageDialog(null, 用戶名或密碼錯(cuò)誤,輸入出錯(cuò),JOptionPane.ERROR_MESSAGE); catch(Exception s) s.printStackTrace(); temp.close(); if(e.getSource()=bt2) System.exit(0); if(e.getSource()=button) /*如果點(diǎn)擊的是注冊(cè)按鈕直接加入注冊(cè)界面 */ this.dispose(); new zhuce(); 4.3注冊(cè)界面其中注冊(cè)頁(yè)面中主要完成的功能是申請(qǐng)進(jìn)入系統(tǒng)的一個(gè)帳號(hào)。主要由三個(gè)標(biāo)簽,三個(gè)文本框,兩個(gè)按鈕組成。完成輸入的數(shù)據(jù)后,點(diǎn)擊“注冊(cè)”按鈕后,對(duì)數(shù)據(jù)庫(kù)進(jìn)行添加數(shù)據(jù)的操作,在此頁(yè)面上進(jìn)行注冊(cè)的用戶默認(rèn)都是普通用戶,沒有管理權(quán)限。4-4用戶注冊(cè)界面同樣的,為了提高軟件的容錯(cuò)性,判斷若數(shù)據(jù)庫(kù)存在該帳號(hào),就會(huì)提示“帳號(hào)已存在,請(qǐng)重新注冊(cè)!”其中通過SQL語(yǔ)言對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(詳情見附帶代碼)。 4-5帳號(hào)已存在提示界面 4-6用戶名成功注冊(cè)關(guān)鍵代碼如下:public void actionPerformed(ActionEvent e) if(e.getSource()=button) OperateDatabase temp=new OperateDatabase(); uid=tf3.getText(); username=tf1.getText(); code=tf2.getText(); String sql2=INSERT INTO user(UID,UNAME,PassWord)+VALUES(+uid+, +username+,+code+); try rs=temp.Query(select * from user where UID= +uid +); if(rs.next() JOptionPane.showMessageDialog( null, 賬號(hào)已存在,請(qǐng)重新注冊(cè)!, 注冊(cè)的結(jié)果, JOptionPane.PLAIN_MESSAGE ); this.dispose(); new zhuce(); else if(username=null) JOptionPane.showMessageDialog( null, 賬號(hào)不能為空,請(qǐng)重新注冊(cè)!, 注冊(cè)的結(jié)果, JOptionPane.PLAIN_MESSAGE ); else temp.Insert_Delete(sql2); JOptionPane.showMessageDialog( null, 注冊(cè)成功!, 注冊(cè)的結(jié)果, JOptionPane.PLAIN_MESSAGE ); this.dispose(); new Login(); catch(Exception s) s.printStackTrace(); temp.close(); if(e.getSource()=bt2) System.exit(0); 4.4 系統(tǒng)主界面該界面能夠簡(jiǎn)單的實(shí)現(xiàn)超市所需要的收銀結(jié)賬的功能,主要有三個(gè)模塊構(gòu)成,其中上半部分為商品編碼輸入窗口,能夠根據(jù)輸入的商品,顯示出商品的名稱、價(jià)格等基礎(chǔ)信息,同時(shí)能夠修改商品的數(shù)量。還有一個(gè)“購(gòu)買”按鈕,點(diǎn)擊按鈕可就當(dāng)前選定的商品加入購(gòu)物總框中,以便統(tǒng)計(jì)。下部分左側(cè)為需要購(gòu)買的商品的統(tǒng)計(jì),可統(tǒng)計(jì)顧客全部的購(gòu)買信息。下部分右側(cè)統(tǒng)計(jì)顧客所有購(gòu)買的商品的總價(jià)格,并且通過顧客所付的金額,計(jì)算出需要給顧客找的金額。4-9系統(tǒng)主界面收銀系統(tǒng)管理系統(tǒng)的實(shí)際工作效果:根據(jù)輸入的商品編碼,對(duì)應(yīng)到相應(yīng)的商品,在數(shù)量文本框中可以修改數(shù)量,根據(jù)數(shù)量與單價(jià)計(jì)算出總價(jià),在下面的商品詳細(xì)信息中統(tǒng)計(jì)出需要購(gòu)買的所有商品,在右側(cè)欄中,計(jì)算出需要支付的總金額,同時(shí)根據(jù)顧客支付的金額,計(jì)算出應(yīng)找零金額。若支付的金額不足,能夠及時(shí)提示“客戶支付的金額不足,無(wú)法完成交易!”,同時(shí),系統(tǒng)中帶有找零組合,為收銀員在找零時(shí)能夠更快的操作,節(jié)省時(shí)間。系統(tǒng)最新的功能是通過統(tǒng)計(jì)商品的售價(jià)以及銷量,計(jì)算出商品的最優(yōu)價(jià)格,在最優(yōu)價(jià)格中使超市得到最大的利潤(rùn)。4-10最優(yōu)價(jià)格界面在最優(yōu)價(jià)格模塊中,記錄銷售時(shí)產(chǎn)生的數(shù)據(jù),記錄單個(gè)物品的銷售量,以及銷售時(shí)間的統(tǒng)計(jì),根據(jù)公式計(jì)算出該商品的最優(yōu)價(jià)格,通過系統(tǒng)提供的最優(yōu)價(jià)格,修改收銀系統(tǒng)的商品數(shù)據(jù)庫(kù),達(dá)到銷售商品嚴(yán)格按照最優(yōu)價(jià)格進(jìn)行銷售,使得超市盈利達(dá)到預(yù)期的效果。4-11系統(tǒng)測(cè)試界面在收銀系統(tǒng)中,任何銷售記錄都會(huì)保存在數(shù)據(jù)庫(kù)中 并且在系統(tǒng)所在的文件夾中生成“銷售記錄.txt”。其中保存了具體的銷售商品、銷售時(shí)間、付款明細(xì)、銷售數(shù)量以及操作人。這個(gè)功能模塊可以記錄商品的銷售記錄。打印出來后可以當(dāng)作顧客的小票,讓顧客知道自己實(shí)實(shí)在在的消費(fèi)以及付款金額。4.5銷售管理界面 系統(tǒng)的銷售管理界面中,主要是完成對(duì)系統(tǒng)數(shù)據(jù)庫(kù)的操作,只能在有管理權(quán)限的用戶才能進(jìn)入這個(gè)管理界面。關(guān)鍵代碼:while(activateConnectionDialog(); if(用戶.getUserType()=0) 管理按鈕.setVisible(false); 管理按鈕.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Setting f=new Setting(); 代碼的主要功能是在系統(tǒng)主框架中添加一個(gè)隱性按鈕,只有在用戶權(quán)限在非“0”的情況下才能在收銀界面上顯示“管理”按鈕。點(diǎn)擊“管理”按鈕才能進(jìn)入“銷售管理系統(tǒng)”界面。4-12系統(tǒng)管理界面其中重點(diǎn)介紹一下對(duì)“數(shù)據(jù).mdb”數(shù)據(jù)庫(kù)完成查詢記錄的程序設(shè)計(jì)。該程序利用Java的GUI組件JtextArea(多行文本編輯域),顯示從數(shù)據(jù)庫(kù)查詢得到的student表的記錄集合。此程序在類DisplayProduct或DisplayRecord(從Frame繼承)中建立數(shù)據(jù)庫(kù)連接,定義要執(zhí)行的SQL語(yǔ)句字符串,執(zhí)行SQL語(yǔ)句得到查詢結(jié)果集對(duì)象resultSet。利用語(yǔ)句: ResultSetMetaData metaData =resultSet.getMetaData();取得查詢結(jié)果集的元數(shù)據(jù)ResultSetMetaData的對(duì)象metaData。調(diào)用metaData對(duì)象的方法getColumnCount()取得結(jié)果集中列的個(gè)數(shù),調(diào)用getColumnName( i ) 取得結(jié)果集中的第i列的名稱。接著執(zhí)行循環(huán)語(yǔ)句:while ( resultSet.next() ) for ( int i = 1; i = numberOfColumns; i+ ) results.append( resultSet.getObject( i ) + t ); results.append( n ); 循環(huán)執(zhí)行之前結(jié)果集的指針開始定位在第一條記錄之前,next()方法向下移動(dòng)一條記錄。方法getObject( i )讀取第i條記錄添加到文本編輯域變量results中。此過程不斷重復(fù),直到結(jié)果集的指針定位到表的最后一條記錄之后的位置或文件尾(即next()返回值為假)為止。最后在Frame中顯示文本編輯域變量results的值。4.6系統(tǒng)界面的布局4-7 系統(tǒng)主界面的布局該收銀系統(tǒng)的界面總體上采用的是GridLayout布局方式,大體上分為六個(gè)模塊。其中在系統(tǒng)類中有提及。4-8 系統(tǒng)管理界面的布局5. 總結(jié)5.1 成績(jī)本次超市管理信息系統(tǒng)是基于JAVA編程技計(jì)的。經(jīng)過一個(gè)多月的努力,將這個(gè)超市收銀管理系統(tǒng)做了一個(gè)大概,雖然大部分不盡人意,沒有完成一開始自己所預(yù)想的那么多功能,但是在做這個(gè)系統(tǒng)中學(xué)到很多的東西,重新復(fù)習(xí)了以前學(xué)過的知識(shí),鞏固了以前沒有完全掌握的知識(shí)點(diǎn),同時(shí)認(rèn)識(shí)到了學(xué)習(xí)一門課程需要去運(yùn)用它,才能夠?qū)W好。并且通過這次的學(xué)習(xí)、實(shí)踐我意識(shí)到最重要的環(huán)節(jié)在于對(duì)系統(tǒng)的流程、功能模塊、框架結(jié)構(gòu)等方面的把握和設(shè)計(jì)。這次由于有些急于求成,在對(duì)編程技術(shù)不是很了解的情況下就開始著手程序開發(fā),所以當(dāng)有時(shí)間靜下來仔細(xì)理一下思路的時(shí)候發(fā)現(xiàn)走了很大的彎路,可以說是整個(gè)思路和設(shè)計(jì)要求有著非常大的差異。值得慶幸的是,發(fā)現(xiàn)的比較及時(shí),還有足夠的時(shí)間讓我轉(zhuǎn)變思路,從頭開始。因此,通過這次超市管理信息系統(tǒng)的開發(fā),我深刻認(rèn)識(shí)到系統(tǒng)分析,以及對(duì)整個(gè)系統(tǒng)的總體設(shè)計(jì)的重要性。5.2 展望由于時(shí)間的關(guān)系,這個(gè)系統(tǒng)很多功能沒能實(shí)現(xiàn),但是在接下來的時(shí)間里,希望我能用自己的力量把這個(gè)系統(tǒng)做到自己原先所設(shè)想的那樣完整。系統(tǒng)還可以擴(kuò)展很多功能,待有時(shí)間將它圓滿了,實(shí)現(xiàn)自己編程的成果。參考文獻(xiàn)1彭晨.JAVA實(shí)用系統(tǒng)開發(fā)指南M.北京:機(jī)械工業(yè)出版社,2004.2張靚,顧慧敏.JAVA案例開發(fā)M.北京:中國(guó)水利水電出版社,2005.3張振坤,李鐘尉,陳丹丹.視頻學(xué)JAVAM.北京:人民郵電出版社,2010.4王鵬,何峰.Java Swing圖形界面開放與案例詳解M.北京:清華大學(xué)出版社,2008.5吳其慶.Java模塊設(shè)計(jì)實(shí)例經(jīng)典M.北京:冶金工業(yè)出版社,2004.6姜啟源,葉俊,謝金星.數(shù)學(xué)模型M.北京:高等教育出版社,2010.7張有旭.最優(yōu)價(jià)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 快樂成長(zhǎng)小班教育的未來展望計(jì)劃
- 2025年軟考更改后的復(fù)習(xí)要點(diǎn)試題及答案
- 優(yōu)化招聘流程的策略與實(shí)施計(jì)劃
- 優(yōu)化資源配置的年度工作計(jì)劃
- 為法學(xué)概論加分的試題及答案
- 2024年黑龍江建華區(qū)公益性崗位招聘筆試真題
- 2024年安徽相山水泥公司招聘筆試真題
- 法學(xué)概論考試形式與內(nèi)容的結(jié)合研究試題及答案
- 軟件設(shè)計(jì)師??技寄芙馕雠c試題及答案
- 河南省新鄉(xiāng)市部分重點(diǎn)中學(xué)2025屆七下數(shù)學(xué)期末統(tǒng)考模擬試題含解析
- SWOT分析法很全面課件
- 膀胱造瘺的護(hù)理課件
- 基坑工程施工驗(yàn)收記錄表
- 消防應(yīng)急疏散演練人員簽到表(標(biāo)準(zhǔn)通用版)
- 微生物實(shí)驗(yàn)室病原微生物評(píng)估報(bào)告
- 陜旅版五年級(jí)英語(yǔ)上冊(cè)句型詞匯知識(shí)點(diǎn)總結(jié)
- 漢字構(gòu)字的基本原理和識(shí)字教學(xué)模式分析
- RouterOS介紹
- 十字軸鍛造成型工藝及模具設(shè)計(jì)畢業(yè)論文
- 主體結(jié)構(gòu)監(jiān)理實(shí)施細(xì)則范本
- 控制性詳細(xì)規(guī)劃 - 寧波市規(guī)劃局
評(píng)論
0/150
提交評(píng)論