版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、XXX程序設(shè)計課程設(shè)計報告設(shè)計題目:商場庫存管理系統(tǒng)設(shè)計與實現(xiàn)學(xué)院名稱:信息工程學(xué)院專業(yè)班級:13計本2姓名:劉笑學(xué)號錄一需求剖析。3二綱領(lǐng)設(shè)計。32.1綱領(lǐng)設(shè)計原則。32.2將用戶模塊需求化。32.3最后確定。3三系統(tǒng)主要功能模塊設(shè)計。43.1登錄流程。63.2.數(shù)據(jù)庫管理。8四數(shù)據(jù)庫文件。10五程序的主要界面及程序代碼。155.1.用戶登錄界面。155.2商品信息管理界面。16查找界面。175.2.2增添界面。175.2.3刪除界面。185.2.1更正界面。18六總結(jié)。19參照資料:172一需求剖析本系統(tǒng)的主要目的就是實現(xiàn)商品信息管理,使商品信息管理工作更為簡單,
2、進而提高工作效率,降低管理成本.系統(tǒng)中需要對商品價錢,數(shù)量進行管理,及庫存量等。.二綱領(lǐng)設(shè)計綱領(lǐng)設(shè)計階段主假如大體描繪整個軟件的框架,并從業(yè)務(wù)的角度描繪軟件的模塊、工作流程等。項目的成功取決于設(shè)計的利害,而綱領(lǐng)設(shè)計則是整個設(shè)計的重點部分。綱領(lǐng)設(shè)計的主要任務(wù)是將用戶的需求差別為不同樣的功能,爾后將這些功能細分紅模塊,并給模塊一些規(guī)則約束,以達到各個模塊之間能夠相互溝通的目的。綱領(lǐng)設(shè)計關(guān)乎到系統(tǒng)的整體架構(gòu),因此想做好一個綱領(lǐng)設(shè)計,不行是要熟悉用戶的業(yè)務(wù)流程,還要具備相當豐富的設(shè)計經(jīng)驗。2.1綱領(lǐng)設(shè)計的原則綱領(lǐng)設(shè)計是依照系統(tǒng)剖析的需求和工作環(huán)境的情況對整個軟件的整體構(gòu)造進行大概的設(shè)計。綱領(lǐng)設(shè)計要堅持
3、以下幾個原則。1)細分原則:軟件系統(tǒng)都是由好多不同樣的模塊組成,當設(shè)計一套軟件時,要先將所有的功能分解。解決復(fù)雜問題的方法是將其分解成幾個小問題,一個個來解決。2)提高代碼重用性:在面向?qū)ο笤O(shè)計中,第一考慮的就是代碼的重用,一個好的設(shè)計,將來在升級換代時不需要太大的改正,節(jié)儉了人力物力。3)從上而基層層剖析:綱領(lǐng)設(shè)計要從整體出發(fā),逐個剖析軟件的功能,從上而下,先分析系統(tǒng)總的功能,爾后一步步細分,直到最小的功能模塊。4)一致性原則:綱領(lǐng)設(shè)計要求所有功能模塊在定義時使用一致的規(guī)范。5)提高獨立性,減少耦合:各個模塊與模塊之間盡量減少關(guān)系,否則更正一個地方就會惹起其他多處的改正,不切合面向?qū)ο蟮脑瓌t
4、。一般情況下,對類封裝后,只贊同對類進行擴展,而不能夠更正,而封裝的類必定擁有單調(diào)職責,既理論情況下不同樣意兩個類共同達成一個功能。(6)模塊的大小要盡量適中:不是構(gòu)造算法越復(fù)雜的模塊越好,模塊的大小要依照實質(zhì)工作目標和其他類的耦合親密程度來決定。經(jīng)驗表示,一個模塊的規(guī)模不應(yīng)過大,模塊的總行數(shù)應(yīng)控制在10100行的范圍內(nèi),最好為3060行,這樣理解和閱讀都較方便。過長的模塊經(jīng)常是分解不充分的表現(xiàn),會增添閱讀理解的難度;但小規(guī)模太多也會使模塊之間聯(lián)系變得復(fù)雜,增大系統(tǒng)在模塊調(diào)用時傳達信息所開銷的開銷。由于綱領(lǐng)設(shè)計是整個設(shè)計的重中之重,牽一發(fā)而動全身,因此要努力做一個好的綱領(lǐng)設(shè)計,才能在此后軟件開
5、發(fā)過程中不再每每。現(xiàn)在軟件行業(yè)流行模式化驅(qū)動設(shè)計,將一些市場上比較成功的模式拿來用在自己的設(shè)計中。2.2將用戶需求模塊化依照綱領(lǐng)設(shè)計的原則來剖析一下本項目的用戶需求,并最后轉(zhuǎn)變成用程序語言描繪的模塊。什么樣的需求才是一個模塊?模塊應(yīng)當具備以下3個特點。1)輸入和輸出:模塊必定能被調(diào)用而且正確的返回調(diào)用,而且調(diào)用都是相對一個對象而言,這是模塊獨立性的一個表現(xiàn)。2)辦理功能:模塊必定能夠?qū)Q用的輸入數(shù)據(jù)進行靈便的辦理,并為輸出準備好辦理結(jié)3果。(3)程序代碼:用來實現(xiàn)模塊功能的源代碼。2.3確定系統(tǒng)最后模塊綱領(lǐng)設(shè)計中最重要的就是確定此項目包括哪些模塊。依照上兩節(jié)表達的設(shè)計原則和模塊特點,將用戶需求
6、轉(zhuǎn)變成下面的模塊。三,系統(tǒng)主要功能模塊設(shè)計1.1登錄模塊流程本模塊的主要功能是對用戶身份進行考證,只有系統(tǒng)的合法用戶才能進入系統(tǒng)。在進行系統(tǒng)登錄過程中,登錄模塊將調(diào)用數(shù)據(jù)庫里的用戶清單,并對賬號和密碼進行考證,只有輸入了正確的賬號和密碼后,系統(tǒng)登錄才會成功。并在輸入了錯誤的或許是不存在的賬戶和密碼時,系統(tǒng)會提示犯錯信息,指明登錄過程中的錯誤輸入或許錯誤操作,以便用戶進行正確的登錄。系統(tǒng)登錄模塊流程如圖4.1所示。1.2庫存管理流程功能:本模塊的主要功能是商品信息的查問和更新,庫存信息的查問和更新。查問商品信息:主要功能查問商品的明細信息,和它的庫存信息。增添商品信息:主要功能增添新進的商品。更
7、正商品信息:主要功能是更正商品的信息,包括他的庫存數(shù)量。刪除商品信息:主要功能是刪除不再銷售的商品信息。輸入項、輸出項:本模塊的數(shù)據(jù)輸入項主假如商品編號。庫存管理流程如圖4.4所示4確定登錄增添商品商品查問商品更正刪除商品數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)流圖四,數(shù)據(jù)文件(或數(shù)據(jù)庫)設(shè)計表15表26五,程序的主要界面、代碼實現(xiàn)1用戶登錄界面:1.1輸入用戶編號和密碼后,能夠登錄,能夠封閉窗口,也能夠重置1.2若密碼和用戶名輸入不正確,將顯示提示對話框.登錄成功后系統(tǒng)2.1登錄成功后將顯示提示語句:72.2并自動進入商場庫存管理界面:2.3查問界面:2.4刪除界面:82.5增添界面:2.6更正界面93.1這是Gre
8、ad類,用于連結(jié)數(shù)據(jù)庫packagework;importjava.sql.*;publicclassGreadConnectionconn=null;Statementstmt=null;ResultSetrs=null;publicGread()tryStringdriverClassName=com.mysql.jdbc.Driver;Class.forName(com.mysql.jdbc.Driver);/2.連結(jié)數(shù)據(jù)庫Connectionconn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/mydatabase,ro
9、ot,);stmt=conn.createStatement();catch(Exceptionex)ex.printStackTrace();ResultSetexecuteQuery(Stringsql)/查問tryrs=stmt.executeQuery(sql);10catch(Exceptione)System.out.println(e);returnrs;voidexecuteUpdate(Stringsql)/更正trystmt.executeUpdate(sql);catch(SQLExceptione)voidclose()/封閉trystmt.close();conn.c
10、lose();catch(SQLExceptione)3.2這是商品庫存管理界面類packagework;importjava.awt.*;importjavax.swing.*;importjava.awt.event.*;importjava.awt.BorderLayout;importjava.awt.Rectangle;importjava.sql.*;publicclassGulextendsJFrameimplementsActionListenerBorderLayoutBL=newBorderLayout();JButtonjq=newJButton();/查問JButton
11、ji=newJButton();/插入JButtonjd=newJButton();/刪除JButtonjo=newJButton();/編寫JButtonju=newJButton();/更正JPaneljp=newJPanel();JLabelL1=newJLabel();JLabelL2=newJLabel();JLabelL3=newJLabel();JLabelL4=newJLabel();JLabelL5=newJLabel();11JLabelts=newJLabel();JTextFieldid=newJTextField();JTextFieldname=newJTextFi
12、eld();JTextFieldnumber=newJTextField();JTextFieldsid=newJTextField();ResultSetrs=null;publicGul()tryjbInit();catch(Exceptiona)a.printStackTrace();privatevoidjbInit()throwsExceptiongetContentPane().setLayout(BL);this.setTitle(商場庫存管理系統(tǒng));jp.setLayout(null);jp.setBackground(Color.pink);L1.setText(商品編號:)
13、;L1.setBounds(newRectangle(8,103,71,30);L2.setText(數(shù)量:);L2.setBounds(newRectangle(6,175,42,15);L3.setText(商品名:);L3.setBounds(newRectangle(6,144,42,15);L4.setText(查問條件:);L4.setBounds(newRectangle(4,27,86,22);L5.setText(商品編號:);L5.setBounds(newRectangle(42,52,73,24);id.setEditable(false);id.setBounds(n
14、ewRectangle(48,109,124,22);name.setEditable(false);name.setBounds(newRectangle(48,143,124,22);number.setEditable(false);number.setBounds(newRectangle(47,174,125,23);sid.setBounds(newRectangle(82,55,110,20);ts.setBounds(newRectangle(9,281,237,34);ji.setEnabled(false);ju.setEnabled(false);jd.setEnable
15、d(false);jd.setDoubleBuffered(true);this.getContentPane().add(jp,java.awt.BorderLayout.CENTER);12jq.setBounds(newRectangle(216,53,79,23);ji.setBounds(newRectangle(20,229,72,23);ju.setBounds(newRectangle(133,230,76,23);jo.setBounds(newRectangle(217,173,79,23);jd.setBounds(newRectangle(245,231,74,23);
16、jq.setText(查問);jq.addActionListener(this);ju.setText(更正);ju.addActionListener(this);ji.setText(增添);ji.addActionListener(this);jo.setText(編寫);jo.addActionListener(this);jd.setText(刪除);jd.addActionListener(this);jp.add(L1);jp.add(id);jp.add(name);jp.add(number);jp.add(L5);jp.add(sid);jp.add(L4);jp.add
17、(jq);jp.add(ji);jp.add(jo);jp.add(L3);jp.add(L2);jp.add(jd);jp.add(ju);jp.add(ts);this.setSize(500,400);this.setVisible(true);publicstaticvoidmain(Stringargs)GulF=newGul();publicvoidactionPerformed(ActionEvente)ts.setText();if(e.getSource()=jq)/查問Strings=sid.getText().trim();Stringsql=select*fromuse
18、rwhereid=+s+;Greaddb=newGread();13rs=db.executeQuery(sql);trywhile(rs.next()id.setText(rs.getString(1);name.setText(rs.getString(2);number.setText(rs.getString(3);rs.close();if(!id.getText().equals()ts.setText(操作成功!);catch(SQLExceptionex)elseif(e.getSource()=jo)/編寫id.setEditable(true);name.setEditab
19、le(true);number.setEditable(true);ji.setEnabled(true);ju.setEnabled(true);jd.setEnabled(true);elseif(e.getSource()=ji)/增添Strings1=id.getText();Strings2=name.getText();ints3=Integer.parseInt(number.getText();Stringsql=insertintonumbervalues(+s1+,+s2+,+s3+);System.out.println(sql);Greaddb=newGread();d
20、b.executeUpdate(sql);ts.setText(操作成功!);elseif(e.getSource()=ju)/更正Strings1=id.getText();Strings2=name.getText();ints3=Integer.parseInt(number.getText();Stringsql=updatenumbersetname=+s2+,number=+s3+whereid=+s1+;Greaddb=newGread();db.executeUpdate(sql);ts.setText(操作成功!);elseif(e.getSource()=jd)/刪除Str
21、ings1=id.getText();14Strings2=name.getText();ints3=Integer.parseInt(number.getText();Stringsql=deletenumberwhereid=+s1+andname=+s2+andnumer=+s3;Greaddb=newGread();db.executeUpdate(sql);id.setText();name.setText();number.setText();id.setEditable(false);name.setEditable(false);number.setEditable(false
22、);ts.setText(操作成功!);3.3登錄界面類packagework;importjava.awt.*;importjava.awt.image.*;importjava.awt.event.*;importjavax.swing.*;importjavax.imageio.*;importjava.sql.*;importjava.util.*;importjava.io.*;classLoginWindowV2extendsJFrameimplementsActionListenerJPanelp1=newJPanel();JPanelp2=newJPanel();JPanelp
23、3=newJPanel();JPanelp4=newJPanel();JPanelp5=newJPanel();JTextFieldtxtUserName=newJTextField(15);/用戶名文本框JPasswordFieldtxtPwd=newJPasswordField(15);/密碼框JButtonok=newJButton(登錄);JButtoncancel=newJButton(封閉);JButtonresert=newJButton(重置);publicLoginWindowV2()/字體設(shè)置Fontfont=newFont(宋體,Font.PLAIN,24);Fontla
24、belFont=newFont(隸書,Font.BOLD,24);15UIManager.put(Button.font,font);UIManager.put(Label.font,labelFont);UIManager.put(TextField.font,labelFont);JpanelBackjpb=newJpanelBack();ContainercontentPane=this.getContentPane();/取出內(nèi)容面板p2.add(newJLabel(用戶編號:);p2.add(txtUserName);/將組件增添到中間容器p3.add(newJLabel(密碼:);
25、p3.add(txtPwd);p4.add(ok);p4.add(cancel);p4.add(resert);ok.addActionListener(this);cancel.addActionListener(this);resert.addActionListener(this);txtUserName.addActionListener(this);txtPwd.addActionListener(this);jpb.add(p2);jpb.add(p3);jpb.add(p4);contentPane.add(jpb);setDefaultCloseOperation(JFrame
26、.DISPOSE_ON_CLOSE);/設(shè)置自動封閉窗口intwidth=400,height=300;setSize(width,height);Dimensionscreen=Toolkit.getDefaultToolkit().getScreenSize();setLocation(screen.width-width)/2,(screen.height-height)/2);setTitle(歡迎你進入XX商場庫存系統(tǒng));setResizable(false);/不讓用戶改變窗口大小setVisible(true);publicvoidactionPerformed(ActionEv
27、ente)if(e.getSource()=ok|e.getSource()=txtPwd)/單擊確定按鈕后Stringuid=txtUserName.getText().trim();Stringupass=txtPwd.getText().trim();if(checkUser(uid,upass)inti=JOptionPane.showConfirmDialog(null,登錄成功,可否立刻去查問系統(tǒng)?,可否查詢,JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE);if(i=JOptionPane.YES_OPTION)Gul
28、stu=newGul();dispose();stu.setVisible(true);else16JOptionPane.showMessageDialog(null,用戶編號或密碼錯誤!);txtUserName.requestFocus();/設(shè)置焦點txtUserName.setSelectionStart(0);/設(shè)置選中文本開始地點txtUserName.setSelectionEnd(txtUserName.getText().length();elseif(e.getSource()=cancel)/單擊封閉dispose();System.exit(0);elseif(e.g
29、etSource()=txtUserName)/在用戶編號文本框按回車搬動焦點到密碼框txtPwd.requestFocus();elseif(e.getSource()=resert)txtUserName.setText();txtPwd.setText();txtUserName.requestFocus();publicbooleancheckUser(Stringid,Stringpassword)try/1.注冊驅(qū)動StringdriverClassName=com.mysql.jdbc.Driver;Class.forName(com.mysql.jdbc.Driver);/2.
30、連結(jié)數(shù)據(jù)庫Connectionconn=DriverManager.getConnection(jdbc:mysql:/localhost:3306/mydatabase,root,);Stringtemp_ID=txtUserName.getText();Stringtemp_pass=txtPwd.getText();Stringsql_user=selectuserID,userPWfromshoppingwhereUserID=?andUserPW=?;PreparedStatementpst=null;pst=conn.prepareStatement(sql_user);pst.setString(1,temp_ID);/為綁定變量賦值pst.setString(2,temp_pass);ResultSet
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度公益慈善晚會活動策劃與實施合同4篇
- 2025年度互聯(lián)網(wǎng)內(nèi)容提供商ICP證年審全權(quán)委托服務(wù)合同3篇
- 二零二五年度生物科技研發(fā)農(nóng)民工就業(yè)服務(wù)合同4篇
- 電子商務(wù)平臺消費者權(quán)益保護2025年度國際協(xié)調(diào)合同2篇
- 2025年度牛肝菌有機認證與市場拓展合同
- 二零二五版昆明滇池度假區(qū)酒店管理合同3篇
- 二零二五年度農(nóng)業(yè)種植勞務(wù)作業(yè)承包合同范本3篇
- 2025年度塑料管材國際貿(mào)易爭端解決合同
- 2025年度私立學(xué)校校長任期教育科研成果轉(zhuǎn)化合同
- 二零二五年度企業(yè)員工期權(quán)激勵合同范本
- 廣東省佛山市2025屆高三高中教學(xué)質(zhì)量檢測 (一)化學(xué)試題(含答案)
- 人教版【初中數(shù)學(xué)】知識點總結(jié)-全面+九年級上冊數(shù)學(xué)全冊教案
- 四川省成都市青羊區(qū)成都市石室聯(lián)合中學(xué)2023-2024學(xué)年七上期末數(shù)學(xué)試題(解析版)
- 2024-2025學(xué)年人教版七年級英語上冊各單元重點句子
- 2025新人教版英語七年級下單詞表
- 公司結(jié)算資金管理制度
- 2024年小學(xué)語文教師基本功測試卷(有答案)
- 未成年入職免責協(xié)議書
- 項目可行性研究報告評估咨詢管理服務(wù)方案1
- 5歲幼兒數(shù)學(xué)練習(xí)題
- 2024年全國體育單招英語考卷和答案
評論
0/150
提交評論