




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
課程設計課程名稱Java語言課程設計題目名稱超市治理系統的設計與實現學生學院應用數學學院專業(yè)班級信息與計算科學1班學號學生姓名指導教師2021年10月24日超市治理系統的設計與實現1系統設計內容隨著小超市規(guī)模的開展不斷擴大,商品數量急劇增加,有關商品的各種信息量也成倍增長.超市時時刻刻都需要對商品各種信息進行統計分析.而大型的超市治理系統功能過于強大而造成操作繁瑣降低了小超市的工作效率.超市治理系統是市場上最流行的超市上常用的系統之一,它主要包含以下幾個模塊:系統登陸、商品入庫、商品查詢、商品更改和刪除等.從而,實現對進貨、銷售及員工信息等實現全面、動態(tài)、及時的治理.本文系統的分析了軟件開發(fā)的背景以過程;首先介紹了軟件的開發(fā)環(huán)境,其次介紹了本軟件的詳細設計過程:數據庫的設計、各個模塊的設計和實現,以及具體界面的設計和功能.超市庫存治理系統是基于Java作為開發(fā)工具,Mysql作為后臺數據庫支持.超市庫存管理系統開發(fā)主要是界面程序的開發(fā)、數據庫的建立、數據庫的維護.應用程序功能完善,界面人機交互要好,而且操作簡單.同時JAVA語言簡單,在較短的時間內能夠開發(fā)出使用性強、功能完善,易于操作的程序,也能實現與數據庫的連接.通過以上的需求分析,初步確定該系統功能主要包括以下幾個模塊:.系統登錄.商品入庫治理〔包括商品信息治理〕.商品銷售治理.用戶治理與權限治理系統流程圖輸入錯誤重新
2.1密碼用戶注jOVa?Swin迪呼信息數據庫加孥修確定登錄刪存存l?Us個人信查詢庫存er2.1密碼用戶注jOVa?Swin迪呼信息數據庫加孥修確定登錄刪存存l?Us個人信查詢庫存er?商erface概述?改刪結添子之間改GUI個信,可莉品“息數i庫按銷售員登錄頁P密碼修鈕通過舊形用戶界面(Graphfc以方便的進行交互Java?AJavappjcati的javon±S±a.awt?門進行(AGadoW?Toolkit)?包中硼pN霸中類和接口,Va?Swing是Java?FoUndation?ClaSses(J用于在二0的一JaVa應用程序用戶界面的開發(fā)工H電在Swing中,Sun#發(fā)了一個?Swing增強了AWT^組件的功能,經過仔細設計的、靈活而強大的?GUI?X具包.?它以抽象窗口工具包(AWT為根底使跨平臺應用程序可以使用任何可插拔的外觀風格.Swing開發(fā)人?Swing增強了AWT^組件的功能,豐富、靈活的功能和模塊化組件來創(chuàng)立優(yōu)雅的用戶界面.這引起增強的組件命名通常是在AWT組件名前增加了一個“J〞字母;同時也提供了更多的組件庫,如:按鈕(JButton?)、單項選擇按鈕(JRadioButton?)、復選框(JCheckBox?)、文本區(qū)(JTextArea)、文本字段(JTextField)、列表(JList?)、組合框(JComboBox?、樹(JTree)、表格(JTable).一個Java?GUI通常由頂層容器、中間容器以及多個原子組件組成.每個原子組件或容器都可能觸發(fā)相應事件的產生.容器是一類能夠在其中容納其他組件的特殊組件.Swing的GUI組件類是根據類屬層次以樹狀結構進行組織的.在這個樹的最頂層,即樹的根部,使一個最根本的容器類,被稱為頂層容器.Swing?提供了三個通用的頂層容器類JFrame,JDialog和JApplet.JFrame提供了基于窗體的應用程序,JDialog提供對話框形式的界面,JApplet提供Java小應用程序的界面形式.在頂層容器下是中間容器,用于容納其他的組件.通常窗格本身在顯示界面中是看不到的.面板類Panel是一種中間容器,它的唯一作用是使組件更容易定位.頂層容器通過getContentPane()方法獲取內部的一個內容窗格.?2.2使用JDBC-ODBCMySQ數據庫建立連接1、在開發(fā)環(huán)境中加載指定數據庫的驅動程序.2、在Java程序中加載驅動程序.在Java程序中,可以通過?“Class.forName("指定數據庫的驅動程序")〞方式來加載添加到開發(fā)環(huán)境中的驅動程序,例如加載MySQL勺數據驅動程序的代碼為:?Class.forName("org.gjt3、創(chuàng)立數據連接對象:通過DriverManager類創(chuàng)立數據庫連接對象Connection.DriverManager類作用于Java程序和JDBCS區(qū)動程序之間,用于檢查所加載的驅動程序是否可以建立連接,然后通過它的getConnection方法,根據數據庫的URL用戶名和密碼,創(chuàng)建——個JDBCConnection對象.如:Connectionconnection=?DriverManager.geiConnection(“連接數據庫的URL","用戶名",“密碼〞).本程序創(chuàng)建MySQL勺數據庫連接代碼如下:Stringusername="root";Stringpassword="root";connect=DriverManager.getConnection(url,username,password);4、創(chuàng)立Statement對象:Statement類的主要是用于執(zhí)行靜態(tài)SQL語句并返回它所生成結果的對象.通過Connection對象的createStatement()方法可以創(chuàng)立一個Statement對象.例如:Statementstatament=connection.createStatement();?本程序倉建Statement對象代碼如下:Statementstat=connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);?5、調用Statement對象的相關方法執(zhí)行相對應的SQL語句:通過execuUpdate()方法用來數據的更新,包括插入和刪除等操作,通過調用Statement對象的executeQuery()方法進行數據的查詢,而查詢結果會得到ResulSet對象,ResulSet表示執(zhí)行查詢數據庫后返回的數據的集合,ResulSet對象具有可以指向當前數據彳T的指針.通過該對象的next()方法,使得指針指向下一行,然后將數據以列號或者字段名取出.如果當next()方法返回null,那么表示下一行中沒有數據存在.使用例如代碼如下:ResultSetresultSel=statement.executeQuery(?""select*fromcommodity";"?);6、關閉數據庫連接:使用完數據庫或者不需要訪問數據庫時,通過Connection的close()?方法及時關閉數據連接.商品數據項的描述:數據項名數據類型長度說明numbervachar50商口□編pCNamevachar50冏品名稱suppliervachar50冏品供給商PAreavachar50商品生產地unitvachar50商品單位shelfFifevachar50商品規(guī)格pricefloat50商品價格packvachar50商品包裝fullNumberfloat50商品數量治理人員和銷售人員數據想描述:(其中1、2分別表示治理員、銷售員權限)uservachar50用戶名passwordvachar50密碼powervachar50權限3功能模塊詳細設計及實現系統登錄頁面統登錄模塊需要治理員和銷售員提供的用戶名、初始密碼和權限進行登錄驗證,如果成功那么進入系統,否那么提示無法登錄并返回登錄一面.運行如圖治理員登錄頁面治理員身份登錄成功進入治理員登陸界面.其中包括模塊進貨治理、查看所有人員、用戶注冊、密碼修改、個人信息修改.治理員登陸頁面運行截圖進貨治理功能是通過系統中的publicvoidallRecord(){}方法查詢數據庫commodity顯示超市倉庫中所有商品.但是在這里涉及一個類型轉化問題、由于在數據庫的設計中商品的數量和價格都是float類型.在所有商品價格方面直接利用數據庫中的第七列和第九列的數據相乘.即sum+=rSet.getFloat(7)*rSet.getFloat(9);但是在頁面中合計金額需要顯示的是一個string類型的,而這里的sum是一個float類型變量,那么就需要用一個類型準換語句,并將該值傳入文本框.語句分別為StringcString=newFloat(sum).toString();minventoryJFrame.getTotalJTextField().setText(cString);運行截圖刪除按鈕的設計是通過查找商品編號進行刪除.如果沒有對應的商品那么通過JOptionPane.showMessageDialog(null,"庫存中沒有對應的商品","刪除記錄",1)語句提示庫存中沒有對應的商品、否那么通過查詢數據庫并執(zhí)行以下語句刪除對應的庫存品.Stringsql="deletefromcommoditywherenumber='"+minventoryJFrame.getJTable().getValueAt(row,0)+"〞';stat.executeUpdate(sql);allRecord();JOptionPane.showMessageDialog(null,"成功刪除記錄","刪除記錄",1);添加頁面設計需要對數據類型和對輸入文本框是否有空值進行檢測,如果不合法那么通過JOptionPane.showMessageDialog(this,"請確認數據類型和是否有空值!")給出提示.否那么通過執(zhí)行以下語句并提示添加商品成功信息.Stringsql="INSERTINTOcommodity(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,〞商品添加成功!");運行截圖人員治理模塊可以查看所有人員直接通過以下語句Stringsql="select*fromuserinfo";獲取數據庫中的所有人員.運行截圖刪除人員那么是通過選中人員所對應的行進行刪除.實現語句為:Stringsql="DELETEFROMuserinfoWHEREuser='"+cellValue+皿;用戶注冊需要先查詢數據庫中的用戶名和密碼,如果都存在那么提示該用戶已經存在.不存在那么可以通過以下語句注冊新員工Stringstr="INSERTINTOuserinfoVALUES('"+User+"','"+Password+"','"+power+"','"+personneID+"','"+SEX+"','"+Birthday+"','"+Job+"','"+Id+"')";密碼修改那么即更新數據庫.通過以下語句可以實現Stringsql="UPDATEuserinfoSETpassword='"+String.valueOf(newPassword.getPassword())+〞'WHEREuser='"+cook.user+"〞';用戶信息修改也是一個更新數據庫的操作,通過以下代碼可以實現:Stringstr="UPDATEuserinfoSETsex='"+SEX+"',birthday='"+Birthday+"',job='"+Job+"',ID='"+Id+"'WHEREuser='"+cook.user+"〞';stmt.executeUpdate(str);治理員登錄頁面銷售人員身份登錄成功進入銷售人員登陸頁面.其中包括商品的銷售、結賬頁面、其中個人信息修改和密碼修改和治理員的相似.銷售頁面通過輸入商品的編號和數量、在通過查詢數據庫中對應的商品名稱和數量,如果沒有對用的商品那么通過語句JOptionPane.showMessageDialog(this,"對不起,暫時沒有這件商品,請聯系治理員添加!");提示沒有商品,如果商品數量不夠那么通過語句JOptionPane.showMessageDialog(this,"對不起,此商品庫存僅剩"+rs.getFloat("fullNumber"));給出銷售人員銷售數量超出庫存量的提示信息.但是在添加商品時本系統是利用數據庫查詢,再通過一個數組利用編號和數量進行保存的.由于如果直接利用從庫存數據庫中查詢再添加到一個銷售數據庫中是直接將庫存數據庫中的所有商品都添加到了銷售數據庫表中.實現的語句為for(inti=0;i<rows;i++){Name[i]=String.valueOf(tableModel.getValueAt(i,0));Q[i]=Float.parseFloat(String.valueOf(tableModel.getValueAt(i,8)));}while(rs.next()){for(inti=0;i<rows;i++){Stringname=rs.getString("number");if(name.equals(Name[i])){Q[i]=rs.getFloat("fullNumber")-Q[i];Stringsql="UPDATEcommoditySETfullNumber=〞'+Q[i]+"'WHEREnumber='"+name+"〞';stmt1.executeUpdate(sql);}}通過上述語句可以添加銷售商品,在通過點擊確認銷售按鈕時通過語句intn=JOptionPane.showConfirmDialog(null,"確認出售列表中貨物(共計:"+acount+"元)?");銷售商品刪除按鈕是通過鼠標選中需要刪除的行進行刪除.執(zhí)行語句為:if(myTable.getSelectedRow()!=-1){introw1=myTable.getSelectedRow();tableModel.removeRow(row1);}else{JOptionPane.showMessageDialog(this,〞請選中要刪除的信息再點擊刪除!");}}運行截圖4結論通過此次的論文,我學到了很多知識,,在論文的寫作過程中,通過查資料和搜集有關的文獻,培養(yǎng)了自學水平和編程水平.并且由原先的被動的接受知識轉換為主動的尋求知識,這可以說是學習方法上的一個很大的突破.我們可能會記住很多的書本知識,但是通過課程設計,我們學會了如何將學到的知識轉化為自己的東西,學會了怎么更好的處理知識和實踐相結合的問題.次超市庫存治理系統課程設計,讓我充分運用自己所學的知識,讓我明白只有單純的理論知識是遠遠不夠的,只有通過實際的鍛煉才能更好的運用所掌握的根底知識,才能在原有的根底上提升自己的水平,提升自己解決問題的水平.在這短短的一個星期內,查閱有關的java學習資料和數據庫,設計的規(guī)那么,代碼的編寫及到最后的調試.在設計過程中,通過對控件事件的處理,界面的布局,代碼的調試,充分鍛煉了自己的思維,獲得了充分的實際經驗,提升了處理問題的水平,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機一級模考試題及答案
- 植物學練習題庫(附答案)
- 電梯廣告投放合同協議書
- 租賃合同終止合同范本
- 建筑施工項目承包合同轉讓范本
- 最明確的借款合同
- 建筑設備租賃的合同范本
- 房地產開發(fā)公司勞動合同模板
- 二手車購銷及售后服務合同
- 生態(tài)綠化養(yǎng)護與管理合同
- 玻璃更換施工方案
- 2025年生豬屠宰獸醫(yī)衛(wèi)生檢疫人員考試題(附答案)
- 2025-2030垃圾發(fā)電產業(yè)市場深度分析及前景趨勢與投資研究報告
- 中小學綜合實踐活動課程指導綱要:讓學生更好地了解活動的意義和價值
- 物理-安徽省安慶市2024-2025學年高三下學期第二次模擬考試試卷(安慶二模)試題和答案
- 律師盡職調查工作方案
- 2024年杭州市糧食收儲有限公司招聘考試真題
- 血液凈化中心的感染預防與控制
- 2025山東省財金投資集團有限公司招聘19人筆試參考題庫附帶答案詳解
- 鋁合金攪拌摩擦沉積增材制造工藝的研究進展
- 2025年浙能集團應屆生招聘818人筆試參考題庫附帶答案詳解
評論
0/150
提交評論