![ava課程設(shè)計(jì)超管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)](http://file4.renrendoc.com/view/4182f352a2b7e62ea56c0690295e745b/4182f352a2b7e62ea56c0690295e745b1.gif)
![ava課程設(shè)計(jì)超管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第2頁(yè)](http://file4.renrendoc.com/view/4182f352a2b7e62ea56c0690295e745b/4182f352a2b7e62ea56c0690295e745b2.gif)
![ava課程設(shè)計(jì)超管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第3頁(yè)](http://file4.renrendoc.com/view/4182f352a2b7e62ea56c0690295e745b/4182f352a2b7e62ea56c0690295e745b3.gif)
![ava課程設(shè)計(jì)超管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第4頁(yè)](http://file4.renrendoc.com/view/4182f352a2b7e62ea56c0690295e745b/4182f352a2b7e62ea56c0690295e745b4.gif)
![ava課程設(shè)計(jì)超管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)_第5頁(yè)](http://file4.renrendoc.com/view/4182f352a2b7e62ea56c0690295e745b/4182f352a2b7e62ea56c0690295e745b5.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課程設(shè)計(jì)課程名稱Java語(yǔ)言課程設(shè)計(jì)題目名稱超市治理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)學(xué)生學(xué)院應(yīng)用數(shù)學(xué)學(xué)院專業(yè)班級(jí)信息與計(jì)算科學(xué)1班學(xué)號(hào)學(xué)生姓名指導(dǎo)教師2021年10月24日超市治理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)1系統(tǒng)設(shè)計(jì)內(nèi)容隨著小超市規(guī)模的開展不斷擴(kuò)大,商品數(shù)量急劇增加,有關(guān)商品的各種信息量也成倍增長(zhǎng).超市時(shí)時(shí)刻刻都需要對(duì)商品各種信息進(jìn)行統(tǒng)計(jì)分析.而大型的超市治理系統(tǒng)功能過于強(qiáng)大而造成操作繁瑣降低了小超市的工作效率.超市治理系統(tǒng)是市場(chǎng)上最流行的超市上常用的系統(tǒng)之一,它主要包含以下幾個(gè)模塊:系統(tǒng)登陸、商品入庫(kù)、商品查詢、商品更改和刪除等.從而,實(shí)現(xiàn)對(duì)進(jìn)貨、銷售及員工信息等實(shí)現(xiàn)全面、動(dòng)態(tài)、及時(shí)的治理.本文系統(tǒng)的分析了軟件開發(fā)的背景以過程;首先介紹了軟件的開發(fā)環(huán)境,其次介紹了本軟件的詳細(xì)設(shè)計(jì)過程:數(shù)據(jù)庫(kù)的設(shè)計(jì)、各個(gè)模塊的設(shè)計(jì)和實(shí)現(xiàn),以及具體界面的設(shè)計(jì)和功能.超市庫(kù)存治理系統(tǒng)是基于Java作為開發(fā)工具,Mysql作為后臺(tái)數(shù)據(jù)庫(kù)支持.超市庫(kù)存管理系統(tǒng)開發(fā)主要是界面程序的開發(fā)、數(shù)據(jù)庫(kù)的建立、數(shù)據(jù)庫(kù)的維護(hù).應(yīng)用程序功能完善,界面人機(jī)交互要好,而且操作簡(jiǎn)單.同時(shí)JAVA語(yǔ)言簡(jiǎn)單,在較短的時(shí)間內(nèi)能夠開發(fā)出使用性強(qiáng)、功能完善,易于操作的程序,也能實(shí)現(xiàn)與數(shù)據(jù)庫(kù)的連接.通過以上的需求分析,初步確定該系統(tǒng)功能主要包括以下幾個(gè)模塊:.系統(tǒng)登錄.商品入庫(kù)治理〔包括商品信息治理〕.商品銷售治理.用戶治理與權(quán)限治理系統(tǒng)流程圖輸入錯(cuò)誤重新
2.1密碼用戶注jOVa?Swin迪呼信息數(shù)據(jù)庫(kù)加孥修確定登錄刪存存l?Us個(gè)人信查詢庫(kù)存er2.1密碼用戶注jOVa?Swin迪呼信息數(shù)據(jù)庫(kù)加孥修確定登錄刪存存l?Us個(gè)人信查詢庫(kù)存er?商erface概述?改刪結(jié)添子之間改GUI個(gè)信,可莉品“息數(shù)i庫(kù)按銷售員登錄頁(yè)P(yáng)密碼修鈕通過舊形用戶界面(Graphfc以方便的進(jìn)行交互Java?AJavappjcati的javon±S±a.awt?門進(jìn)行(AGadoW?Toolkit)?包中硼pN霸中類和接口,Va?Swing是Java?FoUndation?ClaSses(J用于在二0的一JaVa應(yīng)用程序用戶界面的開發(fā)工H電在Swing中,Sun#發(fā)了一個(gè)?Swing增強(qiáng)了AWT^組件的功能,經(jīng)過仔細(xì)設(shè)計(jì)的、靈活而強(qiáng)大的?GUI?X具包.?它以抽象窗口工具包(AWT為根底使跨平臺(tái)應(yīng)用程序可以使用任何可插拔的外觀風(fēng)格.Swing開發(fā)人?Swing增強(qiáng)了AWT^組件的功能,豐富、靈活的功能和模塊化組件來創(chuàng)立優(yōu)雅的用戶界面.這引起增強(qiáng)的組件命名通常是在AWT組件名前增加了一個(gè)“J〞字母;同時(shí)也提供了更多的組件庫(kù),如:按鈕(JButton?)、單項(xiàng)選擇按鈕(JRadioButton?)、復(fù)選框(JCheckBox?)、文本區(qū)(JTextArea)、文本字段(JTextField)、列表(JList?)、組合框(JComboBox?、樹(JTree)、表格(JTable).一個(gè)Java?GUI通常由頂層容器、中間容器以及多個(gè)原子組件組成.每個(gè)原子組件或容器都可能觸發(fā)相應(yīng)事件的產(chǎn)生.容器是一類能夠在其中容納其他組件的特殊組件.Swing的GUI組件類是根據(jù)類屬層次以樹狀結(jié)構(gòu)進(jìn)行組織的.在這個(gè)樹的最頂層,即樹的根部,使一個(gè)最根本的容器類,被稱為頂層容器.Swing?提供了三個(gè)通用的頂層容器類JFrame,JDialog和JApplet.JFrame提供了基于窗體的應(yīng)用程序,JDialog提供對(duì)話框形式的界面,JApplet提供Java小應(yīng)用程序的界面形式.在頂層容器下是中間容器,用于容納其他的組件.通常窗格本身在顯示界面中是看不到的.面板類Panel是一種中間容器,它的唯一作用是使組件更容易定位.頂層容器通過getContentPane()方法獲取內(nèi)部的一個(gè)內(nèi)容窗格.?2.2使用JDBC-ODBCMySQ數(shù)據(jù)庫(kù)建立連接1、在開發(fā)環(huán)境中加載指定數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序.2、在Java程序中加載驅(qū)動(dòng)程序.在Java程序中,可以通過?“Class.forName("指定數(shù)據(jù)庫(kù)的驅(qū)動(dòng)程序")〞方式來加載添加到開發(fā)環(huán)境中的驅(qū)動(dòng)程序,例如加載MySQL勺數(shù)據(jù)驅(qū)動(dòng)程序的代碼為:?Class.forName("org.gjt3、創(chuàng)立數(shù)據(jù)連接對(duì)象:通過DriverManager類創(chuàng)立數(shù)據(jù)庫(kù)連接對(duì)象Connection.DriverManager類作用于Java程序和JDBCS區(qū)動(dòng)程序之間,用于檢查所加載的驅(qū)動(dòng)程序是否可以建立連接,然后通過它的getConnection方法,根據(jù)數(shù)據(jù)庫(kù)的URL用戶名和密碼,創(chuàng)建——個(gè)JDBCConnection對(duì)象.如:Connectionconnection=?DriverManager.geiConnection(“連接數(shù)據(jù)庫(kù)的URL","用戶名",“密碼〞).本程序創(chuàng)建MySQL勺數(shù)據(jù)庫(kù)連接代碼如下:Stringusername="root";Stringpassword="root";connect=DriverManager.getConnection(url,username,password);4、創(chuàng)立Statement對(duì)象:Statement類的主要是用于執(zhí)行靜態(tài)SQL語(yǔ)句并返回它所生成結(jié)果的對(duì)象.通過Connection對(duì)象的createStatement()方法可以創(chuàng)立一個(gè)Statement對(duì)象.例如:Statementstatament=connection.createStatement();?本程序倉(cāng)建Statement對(duì)象代碼如下:Statementstat=connect.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);?5、調(diào)用Statement對(duì)象的相關(guān)方法執(zhí)行相對(duì)應(yīng)的SQL語(yǔ)句:通過execuUpdate()方法用來數(shù)據(jù)的更新,包括插入和刪除等操作,通過調(diào)用Statement對(duì)象的executeQuery()方法進(jìn)行數(shù)據(jù)的查詢,而查詢結(jié)果會(huì)得到ResulSet對(duì)象,ResulSet表示執(zhí)行查詢數(shù)據(jù)庫(kù)后返回的數(shù)據(jù)的集合,ResulSet對(duì)象具有可以指向當(dāng)前數(shù)據(jù)彳T的指針.通過該對(duì)象的next()方法,使得指針指向下一行,然后將數(shù)據(jù)以列號(hào)或者字段名取出.如果當(dāng)next()方法返回null,那么表示下一行中沒有數(shù)據(jù)存在.使用例如代碼如下:ResultSetresultSel=statement.executeQuery(?""select*fromcommodity";"?);6、關(guān)閉數(shù)據(jù)庫(kù)連接:使用完數(shù)據(jù)庫(kù)或者不需要訪問數(shù)據(jù)庫(kù)時(shí),通過Connection的close()?方法及時(shí)關(guān)閉數(shù)據(jù)連接.商品數(shù)據(jù)項(xiàng)的描述:數(shù)據(jù)項(xiàng)名數(shù)據(jù)類型長(zhǎng)度說明numbervachar50商口□編pCNamevachar50冏品名稱suppliervachar50冏品供給商PAreavachar50商品生產(chǎn)地unitvachar50商品單位shelfFifevachar50商品規(guī)格pricefloat50商品價(jià)格packvachar50商品包裝fullNumberfloat50商品數(shù)量治理人員和銷售人員數(shù)據(jù)想描述:(其中1、2分別表示治理員、銷售員權(quán)限)uservachar50用戶名passwordvachar50密碼powervachar50權(quán)限3功能模塊詳細(xì)設(shè)計(jì)及實(shí)現(xiàn)系統(tǒng)登錄頁(yè)面統(tǒng)登錄模塊需要治理員和銷售員提供的用戶名、初始密碼和權(quán)限進(jìn)行登錄驗(yàn)證,如果成功那么進(jìn)入系統(tǒng),否那么提示無法登錄并返回登錄一面.運(yùn)行如圖治理員登錄頁(yè)面治理員身份登錄成功進(jìn)入治理員登陸界面.其中包括模塊進(jìn)貨治理、查看所有人員、用戶注冊(cè)、密碼修改、個(gè)人信息修改.治理員登陸頁(yè)面運(yùn)行截圖進(jìn)貨治理功能是通過系統(tǒng)中的publicvoidallRecord(){}方法查詢數(shù)據(jù)庫(kù)commodity顯示超市倉(cāng)庫(kù)中所有商品.但是在這里涉及一個(gè)類型轉(zhuǎn)化問題、由于在數(shù)據(jù)庫(kù)的設(shè)計(jì)中商品的數(shù)量和價(jià)格都是float類型.在所有商品價(jià)格方面直接利用數(shù)據(jù)庫(kù)中的第七列和第九列的數(shù)據(jù)相乘.即sum+=rSet.getFloat(7)*rSet.getFloat(9);但是在頁(yè)面中合計(jì)金額需要顯示的是一個(gè)string類型的,而這里的sum是一個(gè)float類型變量,那么就需要用一個(gè)類型準(zhǔn)換語(yǔ)句,并將該值傳入文本框.語(yǔ)句分別為StringcString=newFloat(sum).toString();minventoryJFrame.getTotalJTextField().setText(cString);運(yùn)行截圖刪除按鈕的設(shè)計(jì)是通過查找商品編號(hào)進(jìn)行刪除.如果沒有對(duì)應(yīng)的商品那么通過JOptionPane.showMessageDialog(null,"庫(kù)存中沒有對(duì)應(yīng)的商品","刪除記錄",1)語(yǔ)句提示庫(kù)存中沒有對(duì)應(yīng)的商品、否那么通過查詢數(shù)據(jù)庫(kù)并執(zhí)行以下語(yǔ)句刪除對(duì)應(yīng)的庫(kù)存品.Stringsql="deletefromcommoditywherenumber='"+minventoryJFrame.getJTable().getValueAt(row,0)+"〞';stat.executeUpdate(sql);allRecord();JOptionPane.showMessageDialog(null,"成功刪除記錄","刪除記錄",1);添加頁(yè)面設(shè)計(jì)需要對(duì)數(shù)據(jù)類型和對(duì)輸入文本框是否有空值進(jìn)行檢測(cè),如果不合法那么通過JOptionPane.showMessageDialog(this,"請(qǐng)確認(rèn)數(shù)據(jù)類型和是否有空值!")給出提示.否那么通過執(zhí)行以下語(yǔ)句并提示添加商品成功信息.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,〞商品添加成功!");運(yùn)行截圖人員治理模塊可以查看所有人員直接通過以下語(yǔ)句Stringsql="select*fromuserinfo";獲取數(shù)據(jù)庫(kù)中的所有人員.運(yùn)行截圖刪除人員那么是通過選中人員所對(duì)應(yīng)的行進(jìn)行刪除.實(shí)現(xiàn)語(yǔ)句為:Stringsql="DELETEFROMuserinfoWHEREuser='"+cellValue+皿;用戶注冊(cè)需要先查詢數(shù)據(jù)庫(kù)中的用戶名和密碼,如果都存在那么提示該用戶已經(jīng)存在.不存在那么可以通過以下語(yǔ)句注冊(cè)新員工Stringstr="INSERTINTOuserinfoVALUES('"+User+"','"+Password+"','"+power+"','"+personneID+"','"+SEX+"','"+Birthday+"','"+Job+"','"+Id+"')";密碼修改那么即更新數(shù)據(jù)庫(kù).通過以下語(yǔ)句可以實(shí)現(xiàn)Stringsql="UPDATEuserinfoSETpassword='"+String.valueOf(newPassword.getPassword())+〞'WHEREuser='"+cook.user+"〞';用戶信息修改也是一個(gè)更新數(shù)據(jù)庫(kù)的操作,通過以下代碼可以實(shí)現(xiàn):Stringstr="UPDATEuserinfoSETsex='"+SEX+"',birthday='"+Birthday+"',job='"+Job+"',ID='"+Id+"'WHEREuser='"+cook.user+"〞';stmt.executeUpdate(str);治理員登錄頁(yè)面銷售人員身份登錄成功進(jìn)入銷售人員登陸頁(yè)面.其中包括商品的銷售、結(jié)賬頁(yè)面、其中個(gè)人信息修改和密碼修改和治理員的相似.銷售頁(yè)面通過輸入商品的編號(hào)和數(shù)量、在通過查詢數(shù)據(jù)庫(kù)中對(duì)應(yīng)的商品名稱和數(shù)量,如果沒有對(duì)用的商品那么通過語(yǔ)句JOptionPane.showMessageDialog(this,"對(duì)不起,暫時(shí)沒有這件商品,請(qǐng)聯(lián)系治理員添加!");提示沒有商品,如果商品數(shù)量不夠那么通過語(yǔ)句JOptionPane.showMessageDialog(this,"對(duì)不起,此商品庫(kù)存僅剩"+rs.getFloat("fullNumber"));給出銷售人員銷售數(shù)量超出庫(kù)存量的提示信息.但是在添加商品時(shí)本系統(tǒng)是利用數(shù)據(jù)庫(kù)查詢,再通過一個(gè)數(shù)組利用編號(hào)和數(shù)量進(jìn)行保存的.由于如果直接利用從庫(kù)存數(shù)據(jù)庫(kù)中查詢?cè)偬砑拥揭粋€(gè)銷售數(shù)據(jù)庫(kù)中是直接將庫(kù)存數(shù)據(jù)庫(kù)中的所有商品都添加到了銷售數(shù)據(jù)庫(kù)表中.實(shí)現(xiàn)的語(yǔ)句為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);}}通過上述語(yǔ)句可以添加銷售商品,在通過點(diǎn)擊確認(rèn)銷售按鈕時(shí)通過語(yǔ)句intn=JOptionPane.showConfirmDialog(null,"確認(rèn)出售列表中貨物(共計(jì):"+acount+"元)?");銷售商品刪除按鈕是通過鼠標(biāo)選中需要?jiǎng)h除的行進(jìn)行刪除.執(zhí)行語(yǔ)句為:if(myTable.getSelectedRow()!=-1){introw1=myTable.getSelectedRow();tableModel.removeRow(row1);}else{JOptionPane.showMessageDialog(this,〞請(qǐng)選中要?jiǎng)h除的信息再點(diǎn)擊刪除!");}}運(yùn)行截圖4結(jié)論通過此次的論文,我學(xué)到了很多知識(shí),,在論文的寫作過程中,通過查資料和搜集有關(guān)的文獻(xiàn),培養(yǎng)了自學(xué)水平和編程水平.并且由原先的被動(dòng)的接受知識(shí)轉(zhuǎn)換為主動(dòng)的尋求知識(shí),這可以說是學(xué)習(xí)方法上的一個(gè)很大的突破.我們可能會(huì)記住很多的書本知識(shí),但是通過課程設(shè)計(jì),我們學(xué)會(huì)了如何將學(xué)到的知識(shí)轉(zhuǎn)化為自己的東西,學(xué)會(huì)了怎么更好的處理知識(shí)和實(shí)踐相結(jié)合的問題.次超市庫(kù)存治理系統(tǒng)課程設(shè)計(jì),讓我充分運(yùn)用自己所學(xué)的知識(shí),讓我明白只有單純的理論知識(shí)是遠(yuǎn)遠(yuǎn)不夠的,只有通過實(shí)際的鍛煉才能更好的運(yùn)用所掌握的根底知識(shí),才能在原有的根底上提升自己的水平,提升自己解決問題的水平.在這短短的一個(gè)星期內(nèi),查閱有關(guān)的java學(xué)習(xí)資料和數(shù)據(jù)庫(kù),設(shè)計(jì)的規(guī)那么,代碼的編寫及到最后的調(diào)試.在設(shè)計(jì)過程中,通過對(duì)控件事件的處理,界面的布局,代碼的調(diào)試,充分鍛煉了自己的思維,獲得了充分的實(shí)際經(jīng)驗(yàn),提升了處理問題的水平,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度醫(yī)院與保險(xiǎn)公司醫(yī)療責(zé)任險(xiǎn)續(xù)保合同
- 2025年度國(guó)際貸款合同匯率變動(dòng)及補(bǔ)償條款
- 2025年度清潔能源項(xiàng)目投資合作協(xié)議-@-2
- 2025年便攜溫度校驗(yàn)儀項(xiàng)目評(píng)估報(bào)告
- 2025年度國(guó)際博覽會(huì)專業(yè)會(huì)展服務(wù)合同協(xié)議書范本
- 2025年中國(guó)新能源商用車行業(yè)投資分析及發(fā)展戰(zhàn)略咨詢報(bào)告
- 2025年度高科技產(chǎn)業(yè)股權(quán)合伙投資協(xié)議書
- 2025年耐熱爐管項(xiàng)目投資可行性研究分析報(bào)告
- 市政管網(wǎng)修復(fù)的施工組織與管理
- 2025年度企業(yè)內(nèi)訓(xùn)服務(wù)合同
- 《網(wǎng)絡(luò)設(shè)備基礎(chǔ)知識(shí)培訓(xùn)》課件
- 2024年農(nóng)村述職報(bào)告
- 2024年湖南司法警官職業(yè)學(xué)院高職單招職業(yè)技能測(cè)驗(yàn)歷年參考題庫(kù)(頻考版)含答案解析
- 考點(diǎn)14 非連續(xù)性文本閱讀(解析版)
- 人音版音樂七年級(jí)上冊(cè)《在希望的田野上》課件
- 2024年教育部的中小學(xué)德育工作指南
- 七年級(jí)數(shù)學(xué)(人教)上冊(cè)木桿和重物試驗(yàn)方程解法
- TD-T 1048-2016耕作層土壤剝離利用技術(shù)規(guī)范
- DB41T 2599-2024 煤礦地震監(jiān)測(cè)站網(wǎng)技術(shù)規(guī)范
- 抖音賬號(hào)租賃合同協(xié)議
- 三甲醫(yī)院臨床試驗(yàn)機(jī)構(gòu)-31 V00 專業(yè)組備案及考核SOP
評(píng)論
0/150
提交評(píng)論