歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

Java課程設(shè)計超市管理系統(tǒng)設(shè)計實(shí)現(xiàn)[共12頁]

  • 資源ID:40095379       資源大小:341.66KB        全文頁數(shù):12頁
  • 資源格式: DOC        下載積分:12積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要12積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

Java課程設(shè)計超市管理系統(tǒng)設(shè)計實(shí)現(xiàn)[共12頁]

.課 程 設(shè) 計 課程名稱 Java語言課程設(shè)計 題目名稱 超市管理系統(tǒng)的設(shè)計與實(shí)現(xiàn) 學(xué)生學(xué)院 應(yīng)用數(shù)學(xué)學(xué)院 專業(yè)班級 信息與計算科學(xué)1班 學(xué) 號 學(xué)生姓名 指導(dǎo)教師 2013年 10 月24 日超市管理系統(tǒng)的設(shè)計與實(shí)現(xiàn)1系統(tǒng)設(shè)計內(nèi)容隨著小超市規(guī)模的發(fā)展不斷擴(kuò)大,商品數(shù)量急劇增加,有關(guān)商品的各種信息量也成倍增長。超市時時刻刻都需要對商品各種信息進(jìn)行統(tǒng)計分析。而大型的超市管理系統(tǒng)功能過于強(qiáng)大而造成操作繁瑣降低了小超市的工作效率。超市管理系統(tǒng)是市場上最流行的超市上常用的系統(tǒng)之一,它主要包含以下幾個模塊:系統(tǒng)登陸、商品入庫、商品查詢、商品更改和刪除等。從而,實(shí)現(xiàn)對進(jìn)貨、銷售及員工信息等實(shí)現(xiàn)全面、動態(tài)、及時的管理。本文系統(tǒng)的分析了軟件開發(fā)的背景以過程;首先介紹了軟件的開發(fā)環(huán)境,其次介紹了本軟件的詳細(xì)設(shè)計過程:數(shù)據(jù)庫的設(shè)計、各個模塊的設(shè)計和實(shí)現(xiàn),以及具體界面的設(shè)計和功能。超市庫存管理系統(tǒng)是基于Java作為開發(fā)工具, Mysql作為后臺數(shù)據(jù)庫支持。超市庫存管理系統(tǒng)開發(fā)主要是界面程序的開發(fā)、數(shù)據(jù)庫的建立、數(shù)據(jù)庫的維護(hù)。應(yīng)用程序功能完善,界面人機(jī)交互要好,而且操作簡單。同時JAVA語言簡單,在較短的時間內(nèi)能夠開發(fā)出使用性強(qiáng)、功能完善,易于操作的程序,也能實(shí)現(xiàn)與數(shù)據(jù)庫的連接。通過以上的需求分析,初步確定該系統(tǒng)功能主要包括以下幾個模塊:1. 系統(tǒng)登錄2. 商品入庫管理(包括商品信息管理)3. 商品銷售管理4. 用戶管理與權(quán)限管理系統(tǒng)流程圖輸入錯誤重新登 錄系統(tǒng)登錄確定登錄銷售員登錄頁面管理員登錄頁面人員管理刪除用戶注冊密碼修改個人信息修改個人信息修改密碼修改銷售管理進(jìn)貨管理刪除庫存商品添加庫存商品查詢庫存商品結(jié)賬按鈕刪除銷售商品添加銷售商品用戶信息數(shù)據(jù)庫商品信息數(shù)據(jù)庫 2系統(tǒng)設(shè)計方案2.1 JavaSwing概述通過圖形用戶界面(GraphicalUserInterface,GUI),用戶和程序之間可以方便的進(jìn)行交互。Java的java.awt(AbstractWindowToolkit)包中包括了多種類和接口,用于在JavaApplication中進(jìn)行GUI編程。JavaSwing是JavaFoundationClasses(JFC)的一部分,是一個用于開發(fā)Java應(yīng)用程序用戶界面的開發(fā)工具包。在Swing中,Sun開發(fā)了一個經(jīng)過仔細(xì)設(shè)計的、靈活而強(qiáng)大的GUI工具包。它以抽象窗口工具包(AWT)為基礎(chǔ)使跨平臺應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格。Swing開發(fā)人員只用很少的代碼就可以利用Swing豐富、靈活的功能和模塊化組件來創(chuàng)建優(yōu)雅的用戶界面。Swing增強(qiáng)了AWT中組件的功能,這引起增強(qiáng)的組件命名通常是在AWT組件名前增加了一個“J”字母;同時也提供了更多的組件庫,如:按鈕(JButton)、單選按鈕(JRadioButton)、復(fù)選框(JCheckBox)、文本區(qū)(JTextArea)、文本字段(JTextField)、列表(JList)、組合框(JComboBox)、樹(JTree)、表格(JTable)。一個JavaGUI通常由頂層容器、中間容器以及多個原子組件組成。每個原子組件或容器都可能觸發(fā)相應(yīng)事件的產(chǎn)生。容器是一類能夠在其中容納其他組件的特殊組件。Swing的GUI組件類是按照類屬層次以樹狀結(jié)構(gòu)進(jìn)行組織的。在這個樹的最頂層,即樹的根部,使一個最基本的容器類,被稱為頂層容器。Swing提供了三個通用的頂層容器類JFrame,JDialog和JApplet。JFrame提供了基于窗體的應(yīng)用程序,JDialog提供對話框形式的界面,JApplet提供Java小應(yīng)用程序的界面形式。在頂層容器下是中間容器,用于容納其他的組件。通常窗格本身在顯示界面中是看不到的。面板類Panel是一種中間容器,它的唯一作用是使組件更容易定位。頂層容器通過getContentPane()方法獲取內(nèi)部的一個內(nèi)容窗格。2.2使用JDBC-ODBC與MySQL數(shù)據(jù)庫建立連接1、在開發(fā)環(huán)境中加載指定數(shù)據(jù)庫的驅(qū)動程序。2、在Java程序中加載驅(qū)動程序。在Java程序中,可以通過“Class.forName(“指定數(shù)據(jù)庫的驅(qū)動程序”)” 方式來加載添加到開發(fā)環(huán)境中的驅(qū)動程序,例如加載MySQL的數(shù)據(jù)驅(qū)動程序的代碼 為: Class.forName("org.gjt .mm.mysql.Driver");3、創(chuàng)建數(shù)據(jù)連接對象:通過DriverManager類創(chuàng)建數(shù)據(jù)庫連接對象Connection。DriverManager類作用于Java程序和JDBC驅(qū)動程序之間,用于檢查所加載的驅(qū)動程序是否可以建立連接,然后通過它的getConnection方法,根據(jù)數(shù)據(jù)庫的URL、用戶名和密碼,創(chuàng)建一個JDBC Connection 對象。如:Connection connection = DriverManager.geiConnection(“連接數(shù)據(jù)庫的URL", "用戶名", "密碼”)。本程序創(chuàng)建MySQL的數(shù)據(jù)庫連接代碼如下:String url = "jdbc:mysql:/localhost:3306/market"String username = "root" String password = "root" connect = DriverManager.getConnection(url, username, password); 4、創(chuàng)建Statement對象:Statement 類的主要是用于執(zhí)行靜態(tài) SQL 語句并返回它所生成結(jié)果的對象。通過Connection 對象的 createStatement()方法可以創(chuàng)建一個Statement對象。例如:Statement statament = connection.createStatement();本程序創(chuàng)建Statement對象代碼如下:Statement stat = connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);5、調(diào)用Statement對象的相關(guān)方法執(zhí)行相對應(yīng)的 SQL 語句:通過execuUpdate()方法用來數(shù)據(jù)的更新,包括插入和刪除等操作,通過調(diào)用Statement對象的executeQuery()方法進(jìn)行數(shù)據(jù)的查詢,而查詢結(jié)果會得到 ResulSet對象,ResulSet表示執(zhí)行查詢數(shù)據(jù)庫后返回的數(shù)據(jù)的集合,ResulSet對象具有可以指向當(dāng)前數(shù)據(jù)行的指針。通過該對象的next()方法,使得指針指向下一行,然后將數(shù)據(jù)以列號或者字段名取出。如果當(dāng)next()方法返回null,則表示下一行中沒有數(shù)據(jù)存在。使用示例代碼如下:ResultSet resultSel = statement.executeQuery(""select * from commodity"");6、關(guān)閉數(shù)據(jù)庫連接:使用完數(shù)據(jù)庫或者不需要訪問數(shù)據(jù)庫時,通過Connection的close()方法及時關(guān)閉數(shù)據(jù)連接。商品數(shù)據(jù)項(xiàng)的描述:數(shù)據(jù)項(xiàng)名數(shù)據(jù)類型長度說明numbervachar50商品編號CNamevachar50商品名稱suppliervachar50商品供應(yīng)商PAreavachar50商品生產(chǎn)地unitvachar50商品單位shelfFifevachar50商品規(guī)格pricefloat50商品價格packvachar50商品包裝fullNumberfloat50商品數(shù)量管理人員和銷售人員數(shù)據(jù)想描述:(其中1、2分別表示管理員、銷售員權(quán)限)uservachar50用戶名passwordvachar50密碼powervachar50權(quán)限3功能模塊詳細(xì)設(shè)計及實(shí)現(xiàn)3.1 系統(tǒng)登錄頁面統(tǒng)登錄模塊需要管理員和銷售員提供的用戶名、初始密碼和權(quán)限進(jìn)行登錄驗(yàn)證,如果成功則進(jìn)入系統(tǒng),否則提示無法登錄并返回登錄一面。運(yùn)行如圖3.2管理員登錄頁面管理員身份登錄成功進(jìn)入管理員登陸界面。其中包括模塊進(jìn)貨管理、查看所有人員、用戶注冊、密碼修改、個人信息修改。管理員登陸頁面運(yùn)行截圖進(jìn)貨管理功能是通過系統(tǒng)中的public void allRecord() 方法查詢數(shù)據(jù)庫commodity顯示超市倉庫中所有商品。但是在這里涉及一個類型轉(zhuǎn)化問題、因?yàn)樵跀?shù)據(jù)庫的設(shè)計中商品的數(shù)量和價格都是float類型。在所有商品價格方面直接利用數(shù)據(jù)庫中的第七列和第九列的數(shù)據(jù)相乘。即sum += rSet.getFloat(7) * rSet.getFloat(9);但是在頁面中合計金額需要顯示的是一個string類型的,而這里的sum是一個float類型變量,則就需要用一個類型準(zhǔn)換語句,并將該值傳入文本框。語句分別為String cString = new Float(sum).toString();minventoryJFrame.getTotalJTextField().setText(cString);運(yùn)行截圖刪除按鈕的設(shè)計是通過查找商品編號進(jìn)行刪除。如果沒有對應(yīng)的商品則通過JOptionPane.showMessageDialog(null, "庫存中沒有對應(yīng)的商品", "刪除記錄", 1)語句提示庫存中沒有對應(yīng)的商品、否則通過查詢數(shù)據(jù)庫并執(zhí)行下列語句刪除對應(yīng)的庫存品。String sql = "delete from commodity where number=" + minventoryJFrame.getJTable().getValueAt(row, 0) + ""stat.executeUpdate(sql);allRecord();JOptionPane.showMessageDialog(null, "成功刪除記錄", "刪除記錄", 1);添加頁面設(shè)計需要對數(shù)據(jù)類型和對輸入文本框是否有空值進(jìn)行檢測,如果不合法則通過JOptionPane.showMessageDialog(this, "請確認(rèn)數(shù)據(jù)類型和是否有空值!")給出提示。否則通過執(zhí)行下列語句并提示添加商品成功信息。String sql="INSERT INTO commodity(number,CName,supplier,PArea,unit,shelfFife,price,pack,fullNumber)"+"VALUES("+Number.getText()+","+CName.getText()+","+Supplier.getText()+","+PArea.getText()+","+unit.getText()+","+ShelfFife.getText()+","+Float.parseFloat(Price.getText()+","+Pack.getText()+","+Float.parseFloat(FullNumber.getText()+")"stmt.executeUpdate(sql);JOptionPane.showMessageDialog(this, "商品添加成功!");運(yùn)行截圖人員管理模塊可以查看所有人員直接通過下列語句String sql = "select * from userinfo"獲取數(shù)據(jù)庫中的所有人員。運(yùn)行截圖刪除人員則是通過選中人員所對應(yīng)的行進(jìn)行刪除。實(shí)現(xiàn)語句為:String sql="DELETE FROM userinfo WHERE user="+cellValue+""用戶注冊需要先查詢數(shù)據(jù)庫中的用戶名和密碼,如果都存在則提示該用戶已經(jīng)存在。不存在則可以通過下列語句注冊新員工String str="INSERT INTO userinfo VALUES("+User+","+Password+","+power+","+personneID+","+SEX+","+Birthday+","+Job+","+Id+")"密碼修改則即更新數(shù)據(jù)庫。通過下列語句可以實(shí)現(xiàn)String sql="UPDATE userinfo SET password="+String.valueOf(newPassword.getPassword()+" WHERE user="+cook.user+""用戶信息修改也是一個更新數(shù)據(jù)庫的操作,通過下列代碼可以實(shí)現(xiàn):String str="UPDATE userinfo SET sex="+SEX+",birthday="+Birthday+",job="+Job+",ID="+Id+" WHERE user="+cook.user+""stmt.executeUpdate(str);3.3 管理員登錄頁面銷售人員身份登錄成功進(jìn)入銷售人員登陸頁面。其中包括商品的銷售、結(jié)賬頁面、其中個人信息修改和密碼修改和管理員的相似。銷售頁面通過輸入商品的編號和數(shù)量、在通過查詢數(shù)據(jù)庫中對應(yīng)的商品名稱和數(shù)量,如果沒有對用的商品則通過語句JOptionPane.showMessageDialog(this, "對不起,暫時沒有這件商品,請聯(lián)系管理員添加!");提示沒有商品,如果商品數(shù)量不夠則通過語句JOptionPane.showMessageDialog(this, "對不起,此商品庫存僅剩"+rs.getFloat("fullNumber");給出銷售人員銷售數(shù)量超出庫存量的提示信息。但是在添加商品時本系統(tǒng)是利用數(shù)據(jù)庫查詢,再通過一個數(shù)組利用編號和數(shù)量進(jìn)行保存的。因?yàn)槿绻苯永脧膸齑鏀?shù)據(jù)庫中查詢再添加到一個銷售數(shù)據(jù)庫中是直接將庫存數(shù)據(jù)庫中的所有商品都添加到了銷售數(shù)據(jù)庫表中。實(shí)現(xiàn)的語句為for(int i=0;i<rows;i+) Namei=String.valueOf(tableModel.getValueAt(i, 0); Qi=Float.parseFloat(String.valueOf(tableModel.getValueAt(i, 8); while(rs.next() for(int i=0;i<rows;i+) String name=rs.getString("number"); if(name.equals(Namei) Qi=rs.getFloat("fullNumber")-Qi; String sql="UPDATE commodity SET fullNumber="+Qi+" WHERE number="+name+"" stmt1.executeUpdate(sql); 通過上述語句可以添加銷售商品,在通過點(diǎn)擊確認(rèn)銷售按鈕時通過語句int n=JOptionPane.showConfirmDialog(null, "確認(rèn)出售列表中貨物(共計:"+acount+"元)?");銷售商品刪除按鈕是通過鼠標(biāo)選中需要刪除的行進(jìn)行刪除。執(zhí)行語句為:if(myTable.getSelectedRow()!= -1) int row1= myTable.getSelectedRow(); tableModel.removeRow(row1); else JOptionPane.showMessageDialog(this, "請選中要刪除的信息再點(diǎn)擊刪除!"); 運(yùn)行截圖 4 結(jié)論通過此次的論文,我學(xué)到了很多知識,在論文的寫作過程中,通過查資料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)能力和編程能力。并且由原先的被動的接受知識轉(zhuǎn)換為主動的尋求知識,這可以說是學(xué)習(xí)方法上的一個很大的突破。我們可能會記住很多的書本知識,但是通過課程設(shè)計,我們學(xué)會了如何將學(xué)到的知識轉(zhuǎn)化為自己的東西,學(xué)會了怎么更好的處理知識和實(shí)踐相結(jié)合的問題。次超市庫存管理系統(tǒng)課程設(shè)計,讓我充分運(yùn)用自己所學(xué)的知識,讓我明白只有單純的理論知識是遠(yuǎn)遠(yuǎn)不夠的,只有通過實(shí)際的鍛煉才能更好的運(yùn)用所掌握的基礎(chǔ)知識,才能在原有的基礎(chǔ)上提升自己的能力,提高自己解決問題的能力。在這短短的一個星期內(nèi),查閱有關(guān)的java學(xué)習(xí)資料和數(shù)據(jù)庫,設(shè)計的規(guī)則,代碼的編寫及到最后的調(diào)試。在設(shè)計過程中,通過對控件事件的處理,界面的布局,代碼的調(diào)試,充分鍛煉了自己的思維,獲得了充分的實(shí)際經(jīng)驗(yàn),提高了處理問題的能力,同時也提高了對問題思考的應(yīng)急能力和抗壓力的能力。經(jīng)過一個星期的努力,雖然設(shè)計已經(jīng)完成,但仍然有很多模塊和功能要完善,存在很多美中不足之處。但是基本上還能滿足小型超市的管理。在論文的寫作過程中也學(xué)到了做任何事情所要有的態(tài)度和心態(tài),對于出現(xiàn)的任何問題和偏差都不要輕視,要通過正確的途徑去解決,在做事情的過程中要有耐心和毅力,只要堅(jiān)持下去就可以找到思路去解決問題的。五、問題與討論問題一頁面跳轉(zhuǎn)可以通過一個鼠標(biāo)監(jiān)聽器實(shí)現(xiàn),當(dāng)鼠標(biāo)點(diǎn)擊按鈕時事件被出發(fā),通過隱藏當(dāng)前頁面顯示需要的目的頁面。本程序則是通過三個抽象方法實(shí)現(xiàn)該功能。鼠標(biāo)監(jiān)聽函數(shù):public abstract void initActionListener();頁面顯示函數(shù) public abstract void show();當(dāng)前頁面隱藏函數(shù) public abstract void hide();問題二 在銷售頁面中添加銷售商品,我們剛開始的實(shí)現(xiàn)的從酷訊數(shù)據(jù)庫中去查詢對應(yīng)編號的商品,然后將對用的商品添加到一個臨時銷售商品數(shù)據(jù)庫保存表,但是早實(shí)現(xiàn)的過程中,如果查到該商品存在,通過編號主鍵將商品插入語句(insert into )插入到銷售表,但發(fā)現(xiàn)此操作的操作結(jié)果是只要一個條件符合查詢條件就是將庫存表中的所有記錄都插入到銷售表中。對于該問題的解決辦法是我們想到了JSP中的Cookies(Cookies是一種能夠讓網(wǎng)站服務(wù)器把少量數(shù)據(jù)儲存到客戶端的硬盤或內(nèi)存,或是從客戶端的硬盤讀取數(shù)據(jù)的一種技術(shù))實(shí)現(xiàn)了可以將需要銷售的商品臨時保存,當(dāng)點(diǎn)擊確認(rèn)銷售以后要,再通過循環(huán)表中的每一行將對應(yīng)的數(shù)據(jù)清除。實(shí)現(xiàn)函數(shù)為:for(int i=0;i<rows;i+) tableModel.removeRow(i); .

注意事項(xiàng)

本文(Java課程設(shè)計超市管理系統(tǒng)設(shè)計實(shí)現(xiàn)[共12頁])為本站會員(1528****253)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!