基于Java的訂餐系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)說(shuō)明書_第1頁(yè)
基于Java的訂餐系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)說(shuō)明書_第2頁(yè)
基于Java的訂餐系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)說(shuō)明書_第3頁(yè)
基于Java的訂餐系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)說(shuō)明書_第4頁(yè)
基于Java的訂餐系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)課程設(shè)計(jì)說(shuō)明書_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于Java的訂餐系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)客戶端詳細(xì)設(shè)計(jì) 1.設(shè)計(jì)分析 顧客模塊的主要功能是瀏覽,訂餐。瀏覽與自己相關(guān)的食品信息,訂單信息等。用戶要下訂單之前臨時(shí)美食車把詳細(xì)信息列出,物品的單價(jià),購(gòu)買的數(shù)量,總共的價(jià)錢,可修改購(gòu)買,當(dāng)符合顧客要求的時(shí)候,顧客就可以下訂單,下訂單時(shí)首先會(huì)先到commitfood.aspx讓用戶確定一下訂單是否付合要求,確認(rèn)無(wú)誤后,進(jìn)入checkout.aspx填寫接收信息后生成訂單。然后由AddbuyInfo,Addbuyinfo方法對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作完成的。 顧客模塊詳細(xì)設(shè)計(jì)主要涉及到顧客下訂單和食品搜索兩大功能 顧客可以通過(guò)此功能對(duì)自己選中的東西下訂單,等待服務(wù)商送貨。

2、 1. 菜品瀏覽:可以分頁(yè)瀏覽菜品菜品,并將想要的菜品提交到填寫訂單頁(yè)面。然后系統(tǒng)打出此次訂購(gòu)的編號(hào) 2.訂購(gòu)菜品:用戶根據(jù)自己的編號(hào)可以在該頁(yè)面定購(gòu)所需要的菜品 3查看訂單:用戶根據(jù)自己的編號(hào)在該頁(yè)修改已經(jīng)訂購(gòu)的菜品。 4.修改訂單:在該頁(yè)修改或刪除已經(jīng)訂購(gòu)的菜品。 5.菜品查詢:用戶根據(jù)自己的訂購(gòu)編號(hào)可以在該頁(yè)查找自己需要的菜品。 2.顧客下訂單流程圖: 通過(guò)提供食品搜索控件,為顧客提供更為方便快捷的服務(wù)。顧客可以快速的找到自己想要下訂的美食。 顧訂單確顯示購(gòu)物不購(gòu) 結(jié)束操作登 圖1 顧客下單流程圖據(jù)圖刪除購(gòu)提示錯(cuò)驗(yàn)證登陸用i是否正NY確認(rèn)結(jié)NY返訂單生提示錯(cuò)YN 3.搜索流程圖如圖4-3

3、所示: 4.Java swing做登陸界面: 1.容器類 JFrame窗體類 JPanel面板類 JMenuBar菜單類 2.元素類 判txtSe是否為開鍵FoodSearc索控User_SearchReault頁(yè)dlSearchBin( 結(jié)束提示輸 圖2 搜索模塊程序流程圖數(shù)據(jù)庫(kù)查匹配成提示未找 JTextField文本輸入框類 JPasswordField密碼輸入框類 JButton按鈕類 JCheckBox復(fù)選框類 JComboBox下拉列表 JLabel標(biāo)簽類 3.布局類 使用FlowLayout流式布局類 4.Socket API: .Accept方法:產(chǎn)生“阻塞”,直到接受到一個(gè)連

4、接,并且返回一個(gè)客戶端的Socket對(duì)象實(shí)例。 .getinputStream方法:獲得網(wǎng)絡(luò)連接輸入. .getOutputStream方法:連接的另一端將得到輸入,同時(shí)返回一個(gè)OutputStream對(duì)象實(shí)例。 客戶端開發(fā)原理:使用Socket對(duì)網(wǎng)絡(luò)上某一個(gè)服務(wù)器的某一個(gè)端口發(fā)出連接請(qǐng)求,一旦連接成功,打開對(duì)話;會(huì)話結(jié)束后,關(guān)閉Socket??蛻舳瞬恍枰贫ù蜷_的端口,通常臨時(shí)的、動(dòng)態(tài)的分配一個(gè)1024以上的端口。 5.主要代碼 1.主界面: setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTit

5、le(顧客-網(wǎng)絡(luò)訂餐系統(tǒng)); setBackground(new java.awt.Color(255, 255, 255); nearby.setText(附近小吃); nearby.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) nearbyMouseClicked(evt); ); suggest.setText(今日推薦); suggest.addMouseListener(new java.awt.event.Mouse

6、Adapter() public void mouseClicked(java.awt.event.MouseEvent evt) suggestMouseClicked(evt); ); myorder.setText(我的訂單); myorder.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) myorderMouseClicked(evt); ); myorder.addActionListener(new java.awt

7、.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) myorderActionPerformed(evt); ); all.setText(全部); all.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) allMouseClicked(evt); ); meat.setText(飯類); meat.addMouse

8、Listener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) meatMouseClicked(evt); ); noodle.setText(面類); noodle.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) noodleMouseClicked(evt); ); west.setText(

9、西餐); west.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) westMouseClicked(evt); ); drink.setText(飲料); drink.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) drinkMouseClicked(evt); )

10、; other.setText(其他); other.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) otherMouseClicked(evt); ); controlcenter.setText(個(gè)人中心); controlcenter.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event

11、.ActionEvent evt) controlcenterActionPerformed(evt); ); 2.訂單信息 setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle(我的訂單); jLabel1.setFont(new java.awt.Font(微軟雅黑, 0, 24); / NOI18N jLabel1.setText(我的訂單); jLabel2.setText(支付狀況:); jLabel3.setText(未支付); jButton1.setText(確認(rèn)收貨); jB

12、utton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jButton1ActionPerformed(evt); ); jButton2.setText(取消); jButton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) j

13、Button2ActionPerformed(evt); ); jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(); jCheckBox1.setText(COCO咖啡); jCheckBox1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jCheckBox1ActionPerformed(evt); ); jCheckBox2.set

14、Text(鐵板牛肉); jCheckBox3.setText(木須肉蓋澆飯); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1Layout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequent

15、ialGroup() .addContainerGap() .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addComponent(jCheckBox1) .addComponent(jCheckBox2) .addComponent(jCheckBox3) .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup

16、( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGroup(jPanel1Layout.createSequentialGroup() .addContainerGap() .addComponent(jCheckBox1) .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED) .addComponent(jCheckBox2) .addPreferredGap(javax.swing.La

17、youtStyle.ComponentPlacement.UNRELATED) .addComponent(jCheckBox3) .addContainerGap(207, Short.MAX_VALUE) ); jButton3.setText(刪除選中); jLabel4.setText(總價(jià):); jTextField1.setEditable(false); jTextField1.setText(48); jTextField1.addActionListener(new java.awt.event.ActionListener() public void actionPerfo

18、rmed(java.awt.event.ActionEvent evt) jTextField1ActionPerformed(evt); ); 顧客界面 訂單生成界面: 訂單查看界面: 文件操作: 服務(wù)器管理員詳細(xì)設(shè)計(jì) 1.編寫目的 編寫此文檔的目的是為了讓管理員更加便捷的管理軟件及用戶的信息,方便訂餐系統(tǒng)的實(shí)現(xiàn)。 2.系統(tǒng)模塊詳細(xì)設(shè)計(jì) 本系統(tǒng)總共有兩大模塊,分別是顧客模塊,管理員模塊。每個(gè)模塊分別有不同的權(quán)限和使用功能。 3.登陸模塊的流程圖 N Y 1-1登陸流程圖 4.管理員模塊詳細(xì)設(shè)計(jì) 管理員:查看用戶訂單,查看用戶信息,并根據(jù)用戶信息和用戶訂單對(duì)菜 品進(jìn)行發(fā)派。 管理員可以通過(guò)訂單

19、管理功能來(lái)處理日常的訂單。 管理員訂單處理程序流程圖: 開始 用戶名 是否合法 結(jié)束 管理員可以通過(guò)此功能模塊添加想要添加的各種信息,比如訂單處理等功能。 管理員登提示錯(cuò)驗(yàn)證登陸用i是否正N綁定數(shù)據(jù)庫(kù)信信息綁定無(wú)更新數(shù)據(jù) 結(jié)束操作選擇具體訂顯示訂訂單管理操 圖1-2 管理員訂單處理程序流程圖 通過(guò)提供美食搜索控件,為顧客提供更為方便快捷的服務(wù)。顧客可以快速的找到自己想要下訂的美食。 搜索流程圖如圖1-4所示: 開始 Session是否為空添加輸否為空Class ManagerClass Addadmin() 驗(yàn)證管戶是否已存在添加到數(shù)據(jù)庫(kù)判斷txtSe是否為空開始 鍵入FoodSearch索控

20、件 User_SearchReault頁(yè) dlSearchBind結(jié)束數(shù)據(jù)庫(kù)查找匹配成功AI結(jié)提示登提示輸提示重新輸 圖1-3 管理員添加程序流程圖 5.所需要的技術(shù) 管理員登陸界面Login界面的設(shè)計(jì): Java Swing做登陸界面: 1.容器類 JFrame窗體類 JPanel面板類 JMenuBar菜單類 2.元素類 JTextField文本輸入框類 (提示輸 圖1-4 搜索模塊程序流程圖提示未找 JPasswordField密碼輸入框類 JButton按鈕類 JCheckBox復(fù)選框類 JComboBox下拉列表 JLabel標(biāo)簽類 3、 布局類 使用FlowLayout流式布局類

21、通信使用Socket API .Accept方法 服務(wù)器端使用ServerSocket監(jiān)聽指定的端口(大于1024的端口),等待客戶連接請(qǐng)求,客戶連接后,會(huì)產(chǎn)生對(duì)話,在完成對(duì)話后,關(guān)閉連接。 客戶端服務(wù)器之間連接用Socket 服務(wù)器內(nèi)存管理(dll) controlcenter.java indexJFrame.java indexmanage.java icon.java 6.主要代碼: 1.登錄界面 jButton2.setText(登錄); jButton2.addActionListener(new java.awt.event.ActionListener() public voi

22、d actionPerformed(java.awt.event.ActionEvent evt) jButton2ActionPerformed(evt); 項(xiàng)目名Check check.java login.javamanage.javaacounting.javamyorder.java ); 2.管理界面 jPasswordField1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent evt) jPasswordFie

23、ld1ActionPerformed(evt); ); setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); setTitle(店鋪信息); jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(); javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1); jPanel1.setLayout(jPanel1Layout); jPanel1La

24、yout.setHorizontalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 95, Short.MAX_VALUE) ); jPanel1Layout.setVerticalGroup( jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 110, Short.MAX_VALUE) ); scream.setAutoscro

25、lls(true); javax.swing.GroupLayout screamLayout = new javax.swing.GroupLayout(scream); scream.setLayout(screamLayout); screamLayout.setHorizontalGroup( screamLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 612, Short.MAX_VALUE) ); screamLayout.setVerticalGroup( screa

26、mLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING) .addGap(0, 289, Short.MAX_VALUE) ); other.setText(其他); other.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) otherMouseClicked(evt); ); drink.setText(飲料); drink.addMouseL

27、istener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) drinkMouseClicked(evt); ); noodle.setText(面類); noodle.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt.event.MouseEvent evt) noodleMouseClicked(evt); ); west.setText(西餐); west.addMouseListener(new java.awt.event.MouseAdapter() public void mouseClicked(java.awt

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論