軟件工程課程設計網(wǎng)上購物_第1頁
軟件工程課程設計網(wǎng)上購物_第2頁
軟件工程課程設計網(wǎng)上購物_第3頁
軟件工程課程設計網(wǎng)上購物_第4頁
軟件工程課程設計網(wǎng)上購物_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程課程設計報告軟件工程課程設計報告目目錄錄1.設計內容設計內容.11.1 問題概述 .11.2 系統(tǒng)的數(shù)據(jù)流程圖及數(shù)據(jù)字典 .11.2.1數(shù)據(jù)流圖.11.2.2數(shù)據(jù)字典.41.3e-r 圖 .82.概要設計概要設計.102.1 主要功能 .102.2 模塊定義 .103.詳細設計詳細設計.113.1 詳細設計說明書 .113.2 數(shù)據(jù)庫設計 .123.3 程序流程圖.123.4 輸入項目 .144.程序源碼程序源碼.145.程序運行與調試程序運行與調試.215.1 模塊測試 .215.2 總體測試 .236.總結總結.237.參考文獻參考文獻.24 1.設計內容設計內容1.11.1 問題

2、概述問題概述網(wǎng)上購物是一種具有交互功能的商業(yè)信息系統(tǒng)。它向用戶提供靜態(tài)和動態(tài)兩類信息資源。所謂靜態(tài)信息是指那些比經(jīng)常變動或更新的資源,如公司簡介、管理規(guī)范和公司制度等等;動態(tài)信息是指隨時變化的信息,如商品報價,會議安排和培訓信息等。網(wǎng)上購物系統(tǒng)具有強大的交互功能,可使商家和用戶方便的傳遞信息,完成電子貿易或 edi 交易。這種全新的交易方式實現(xiàn)了公司間文檔與資金的無紙化交換。現(xiàn)在流行的網(wǎng)上購物系統(tǒng)不僅要有漂亮的網(wǎng)頁,更要有嚴謹?shù)囊?guī)劃。每一個細小的環(huán)節(jié)都和重要。這樣才能使得在電子交易時避免不必要錯誤發(fā)生。本系統(tǒng)使用 html、jsp 等技術來編輯網(wǎng)頁,并運用 hibernate 技術把數(shù)據(jù)庫和動

3、態(tài)網(wǎng)頁相關聯(lián)。傳統(tǒng)的管理信息系統(tǒng)信息獲取方法是由專業(yè)文字錄入人員將信息輸入到管理系統(tǒng)的數(shù)據(jù)庫中,這種方法在數(shù)據(jù)量不大時有很多的應用場合。當數(shù)據(jù)量比較大,并且有較強的專業(yè)性時,錄入的費用和出錯的可能性都相應上升。本文在實際應用開發(fā)中解決方案是建立網(wǎng)站, 以及自己的數(shù)據(jù)庫,使得所需商品信息可以及時的保存、更新??梢愿玫募皶r了解商品買賣的情況。為此我根據(jù)當前的網(wǎng)上購物情況編寫了網(wǎng)上購物系統(tǒng)的設計與開發(fā) 。1.21.2 系統(tǒng)的數(shù)據(jù)流程圖及數(shù)據(jù)字典系統(tǒng)的數(shù)據(jù)流程圖及數(shù)據(jù)字典1.2.1 數(shù)據(jù)流圖矩形表示實體,橢圓表示處理,平行線表示存儲,箭頭表示數(shù)據(jù)流系統(tǒng)的數(shù)據(jù)流圖如下所示:商家會員管理商品商品信息個體

4、商家網(wǎng)上購物系統(tǒng)圖 1-1 系統(tǒng)頂層數(shù)據(jù)流程圖定單信息列表 f7類別信息 f6用戶信息 f1留言信息 f2訂單信息 f3新聞信息列表 f12留言信息列表 f10商品信息列表 f9f9定單信息列表 f7新聞信息 f4游戲類別信息 f5商品信息 f5用戶管理員顧客新聞信息列表 f12用戶信息列表 f11留言信息列表 f10商品信息列表 f9類別信息列表 f12管理員網(wǎng)上購物系統(tǒng)網(wǎng)上購物系 統(tǒng)圖 1-2 系統(tǒng)頂層數(shù)據(jù)流程圖詳細說明商家會員f5d2 商品信息個人會員f1d1 個人信息f9f11管理員d1 用戶信息p2 商品信息p2 商品管理p2 會員管理p2 用戶管理圖 1-3 一層數(shù)據(jù)流程圖具體操作

5、類型對比累計p1 商家管理p2.1 庫存管理p2.2 訂單管理p5已經(jīng)處理p2.3 已經(jīng)處理2.4 未處理圖 1-4 二層商家商品管理數(shù)據(jù)流程圖1.2.2 數(shù)據(jù)字典1)數(shù)據(jù)元素名稱:name 別名:用戶名 描述:用來標示用戶和管理員的用戶名數(shù)據(jù)類型:vrchar2 長度:15 名稱:description別名:留言內容 描述:用來標示留言的具體內容類型:text 長度:1000名稱:type別名:類別 描述:用來標示類別的具體內容 類型:char(1) 長度:15 名稱:registered_time 別名:上架時間 描述:用來標示商品的錄入時間 類型:timestamp 長度:15 名稱:n

6、umber 別名:訂單數(shù)量 描述:用來標示訂單的數(shù)量類型:integer 長度:15名稱:title 別名:標題 描述:用來標示新聞的主題類型:integer 長度:502)數(shù)據(jù)存儲名字:用戶信息描述:紀錄用戶的個人信息編號:d1組成:用戶 id,用戶名,密碼,用戶級別,email,電話,地址,注冊時間,備注名字:商品信息描述:紀錄商品的屬性信息編號:d2組成:商品 id,商品型號,商品類別,是否新品,查看級別,訂貨件數(shù),訂貨次數(shù),入庫時間名字:留言信息描述:紀錄留言的具體信息編號:d3組成:留言 id,留言主題,留言用戶,留言時間,留言內容名字:類別信息描述:紀錄類別的設置信息編號:d4組成

7、:類別 id,類別名,所屬大區(qū)域,該類別商品種類名字:訂單信息描述:紀錄訂單的具體信息編號:d5組成:訂單 id,訂單號,下訂單的客戶,訂貨時間,訂貨具體內容名字:新聞信息描述:紀錄新聞具體信息編號:d6組成:新聞 id,新聞主題,發(fā)布時間,具體內容3)數(shù)據(jù)流名字:用戶信息描述:紀錄用戶的個人信息編號:f1組成:用戶 id,用戶名,密碼,用戶級別,email,電話,地址,注冊時間,備注名字:留言信息描述:紀錄留言的具體信息編號:f2組成:留言 id,留言主題,留言用戶,留言時間,留言內容名字:訂單信息描述:紀錄訂單的具體信息編號:f3組成:訂單 id,訂單號,下訂單的客戶,訂貨時間,訂貨具體內

8、容名字:新聞信息描述:紀錄新聞具體信息編號:f4組成:新聞 id,新聞主題,發(fā)布時間,具體內容名字:商品信息描述:紀錄商品的屬性信息編號:f5組成:商品 id,商品型號,商品類別,是否新品,查看級別,訂貨件數(shù),訂貨次數(shù),入庫時間名字:類別信息描述:紀錄類別的設置信息編號:f6組成:類別 id,類別名,所屬大區(qū)域,該類別商品種類4)數(shù)據(jù)處理名字:用戶管理描述:管理員對管理員和用戶信息的添加,刪改等編號:p1輸入/輸出數(shù)據(jù)流:用戶或管理員基本信息 名字:商品管理描述:管理員對商品信息的添加,刪改等編號:p2輸入/輸出數(shù)據(jù)流:商品基本信息 名字:留言管理描述:管理員對留言信息的添加,刪改等編號:p3

9、輸入/輸出數(shù)據(jù)流:留言信息 名字:類別管理描述:管理員對類別信息的添加,刪改等編號:p4輸入/輸出數(shù)據(jù)流:類別基本信息 名字:訂單管理描述:管理員對訂單信息的刪改等編號:p5輸入/輸出數(shù)據(jù)流:訂單基本信息 名字:新聞管理描述:管理員對新聞信息的添加,刪改等編號:p6輸入/輸出數(shù)據(jù)流:新聞基本信息 1.3e-r1.3e-r 圖圖 圖 1-5 前臺用戶局部 e-r 圖 圖 1-6 后臺管理員局部 e-r 圖2.概要設計概要設計2.12.1 主要功能主要功能該系統(tǒng)的目標可以實現(xiàn)用戶通過網(wǎng)絡選購自己喜歡的商品,而且還可以為其進行郵寄。保證產(chǎn)品質量,信息安全,提供最好服務1,系統(tǒng)的主要功能如下:1 查看

10、產(chǎn)品信息用戶可以根據(jù)自己的需求分類查看所有產(chǎn)品信息,選擇自己喜歡的產(chǎn)品購買。2 查看新聞用戶可以查看網(wǎng)站的所有新聞,新聞內容包括商品廠商的信息,以及新產(chǎn)品的發(fā)布信息等,以方便用戶更直觀的了解產(chǎn)品動向及信息。3 填寫訂單用戶填寫要購買商品的信息到訂單中去,并可以刪除已填寫但最終不想購買的產(chǎn)品。2.22.2 模塊定義模塊定義用戶管理自然是每個網(wǎng)站必不可少的,在本系統(tǒng)中,要求這部分管理安全可靠,權限分明,且其在前臺和后臺的表現(xiàn)不同,下面將分別進行介紹。1)前臺表現(xiàn)用戶注冊,此時要保證系統(tǒng)不受注冊機的攻擊,要采用驗證碼技術。要確保權限為普通用戶,要有密碼保護措施,保證用戶設定之后可以找回遺忘的密碼。2

11、)后臺表現(xiàn)系統(tǒng)管理員可以添加用戶。系統(tǒng)管理員可以動態(tài)的給用戶賦予權限,保證系統(tǒng)信息不外泄。系統(tǒng)管理員可以修改和刪除用戶信息。系統(tǒng)管理員可以給用戶建立備注信息,其僅對具有權限的用戶可以進行信息的檢查與修改。2.32.3 體系結構設計體系結構設計網(wǎng)上購物系統(tǒng)登錄模塊新聞發(fā)布模塊注冊模塊購物車模塊訂單模塊商品管理模塊用戶管理模塊留言評價模塊3.詳細設計詳細設計3.13.1 詳細設計說明書詳細設計說明書 網(wǎng)上購物系統(tǒng)網(wǎng)上購物系統(tǒng)客客戶戶注注冊冊系系統(tǒng)統(tǒng)客戶登陸系統(tǒng)客戶登陸系統(tǒng)選選購購物物品品查查詢詢選選購購記記錄錄會會員員注注銷銷管理員登陸系統(tǒng)管理員登陸系統(tǒng)訂訂單單處處理理會會員員管管理理物物品品入入

12、庫庫管管理理員員注注銷銷會會員員修修改改資資料料3.23.2 數(shù)據(jù)庫設計數(shù)據(jù)庫設計 物品表(物品編號,物品名,價格) ,主鍵為物品編號,符合三范式??蛻舯恚蛻艟幪?,姓名,性別,購買記錄,購買信譽) ,主鍵為客戶編號,符合三范式。表 3-1 物品表 book表 3-2 客戶表 member3.33.3 程序流程圖程序流程圖 用戶登錄流程圖列名列名含義含義長度長度類型類型nullnulldefaultdefaultbno物品編號10char()nonobname物品名稱15char()nonoprice價格8char()nono列名列名含義含義長度長度類型類型nullnulldefaultdef

13、aultmno客戶編號15char()nonomname客戶姓名15char()nonosex客戶性別5char()nonorecord購買記錄15char()nonocredit購買信譽15char()nono 物品搜索流程圖3.43.4 輸入項目輸入項目輸入本系統(tǒng)中的數(shù)據(jù)如下所示:1)用戶信息需要有用戶親自注冊,管理員帳號由系統(tǒng)自動生成。2)產(chǎn)品信息需要有管理員手動進行添加。3)留言標題、內容由用戶輸入,留言者、留言時間由系統(tǒng)自動檢驗生成。4)新聞標題、英文標題、內容、英文內容由管理員添加,發(fā)布時間由系統(tǒng)自動檢驗生成。 5)訂單信息需要由用戶填寫。4.程序源碼程序源碼import java

14、.util.*;import java.awt.event.*;import java.awt.*;import javax.swing.*;import java.io.*;class 商品 extends panelstring 代號,名稱;int 庫存;float 單價;商品(string 代號,string 名稱,int 庫存,float 單價)this.代號=代號;this.名稱=名稱;this.庫存=庫存;this.單價=單價;class showwin extends jframe implements actionlistener hashtable hashtable=nul

15、l;jtextfield 代號文本框=new jtextfield(),名稱文本框=new jtextfield(),庫存文本框=new jtextfield(),單價文本框=new jtextfield(),查詢文本框=new jtextfield(),查詢信息文本框=new jtextfield(),刪除文本框=new jtextfield();jbutton b_add=new jbutton(添加商品),b_del=new jbutton(刪除商品),b_xun=new jbutton(查詢商品),b_xiu=new jbutton(修改商品),b_show=new jbutton(顯

16、示商品清單);jtextarea 顯示區(qū)=new jtextarea(25,10);showwin()super(倉庫管理窗口);hashtable=new hashtable();container con=getcontentpane();jscrollpane pane=new jscrollpane(顯示區(qū));顯示區(qū).seteditable(false);jpanel save=new jpanel();save.setlayout(new gridlayout(8,2);save.add(new label(輸入代號:);save.add(代號文本框);save.add(new la

17、bel(輸入名稱:);save.add(名稱文本框);save.add(new label(輸入庫存:);save.add(庫存文本框);save.add(new label(輸入單價:);save.add(單價文本框);save.add(new label(單擊添加:);save.add(b_add);save.add(new label(單擊修改:);save.add(b_xiu);save.add(new label(輸入查詢代號:);save.add(查詢文本框);save.add(new label(單擊查詢:);save.add(b_xun);jpanel del=new jpan

18、el();del.setlayout(new gridlayout(2,2);del.add(new label(輸入刪除的代號:);del.add(刪除文本框);del.add(new label(單擊刪除:);del.add(b_del);jpanel show=new jpanel();show.setlayout(new borderlayout();show.add(pane,borderlayout.center);show.add(b_show,borderlayout.south);jsplitpane split_one,split_two;split_one=new jsp

19、litpane(jsplitpane.vertical_split,save,del);split_two=newjsplitpane(jsplitpane.horizontal_split,true,split_one,show);con.add(split_two,borderlayout.center);jpanel xun=new jpanel();xun.add(new label(所得信息:);xun.add(查詢信息文本框);xun.setlayout(new gridlayout(2,1);con.add(xun,borderlayout.south);b_add.addact

20、ionlistener(this);b_del.addactionlistener(this);b_xun.addactionlistener(this);b_xiu.addactionlistener(this);b_show.addactionlistener(this);public void actionperformed(actionevent e)if(e.getsource()=b_add)string daihao=null,mingcheng=null;int kucun=0;float danjia=0.0f;daihao=代號文本框.gettext();mingcheng

21、=名稱文本框.gettext();kucun=integer.parseint(庫存文本框.gettext();danjia=float.valueof(單價文本框.gettext().floatvalue();商品 goods=new 商品(daihao,mingcheng,kucun,danjia);hashtable.put(daihao,goods);tryfileoutputstream file=new fileoutputstream(goods.txt);objectoutputstream out=new objectoutputstream(file);out.writeo

22、bject(hashtable); out.close();catch(ioexception event)else if(e.getsource()=b_del)string daihao1=刪除文本框.gettext();tryfileinputstream come_in=new fileinputstream(goods.txt);objectinputstream in=new objectinputstream(come_in);hashtable=(hashtable)in.readobject(); /in.close();catch(classnotfoundexceptio

23、n event)catch(ioexception event)商品 temp=(商品)hashtable.get(daihao1);hashtable.remove(daihao1);tryfileoutputstream file=new fileoutputstream(goods.txt);objectoutputstream out =new objectoutputstream(file);out.writeobject(hashtable);/out.close();catch(ioexception event)/else if(e.getsource()=b_xun) str

24、ing aa;aa=查詢文本框.gettext();查詢信息文本框.settext(null);tryfileinputstream come_in=new fileinputstream(goods.txt);objectinputstream in =new objectinputstream(come_in);hashtable=(hashtable)in.readobject(); /in.close();catch(classnotfoundexception event)catch(ioexception event)商品 a=(商品)hashtable.get(aa);查詢信息文

25、本框.settext( 代號:+a.代號+ 名稱:+a.名稱+ 庫存:+a.庫存+ 單價:+a.單價);/else if(e.getsource()=b_xiu) string bb;bb=代號文本框.gettext();tryfileinputstream come_in=new fileinputstream(goods.txt);objectinputstream in=new objectinputstream(come_in);hashtable=(hashtable)in.readobject(); /in.close();catch(classnotfoundexception

26、event)catch(ioexception event)商品 temp=(商品)hashtable.get(bb);hashtable.remove(bb);tryfileoutputstream file=new fileoutputstream(goods.txt);objectoutputstream out =new objectoutputstream(file);out.writeobject(hashtable);/out.close();catch(ioexception event)string daihao1=null,mingcheng1=null;int kucun

27、1=0;float danjia1=0.0f;daihao1=代號文本框.gettext();mingcheng1=名稱文本框.gettext();kucun1=integer.parseint(庫存文本框.gettext();danjia1=float.valueof(單價文本框.gettext().floatvalue();商品 goods1=new 商品(daihao1,mingcheng1,kucun1,danjia1);hashtable.put(daihao1,goods1);tryfileoutputstream file=new fileoutputstream(goods.t

28、xt);objectoutputstream out=new objectoutputstream(file);out.writeobject(hashtable); out.close();catch(ioexception event)/else if(e.getsource()=b_show) 顯示區(qū).settext(null);tryfileinputstream come_in=new fileinputstream(goods.txt);objectinputstream in =new objectinputstream(come_in);hashtable=(hashtable

29、)in.readobject(); /catch(classnotfoundexception event)catch(ioexception event)enumeration enumeration = hashtable.elements();while(enumeration.hasmoreelements() 商品 te=(商品)enumeration.nextelement();顯示區(qū).append(商品代號:+te.代號+ );顯示區(qū).append(商品名稱:+te.名稱+ );顯示區(qū).append(商品庫存:+te.庫存+ );顯示區(qū).append(商品單價:+te.單價+ )

30、;顯示區(qū).append(n );public class linklistfourpublic static void main(string args) showwin win=new showwin();win.setsize(400,350);win.setvisible(true);win.addwindowlistener(new windowadapter()public void windowclosing(windowevent e) system.exit(0);); 5.程序運行與調試程序運行與調試5.15.1 模塊測試模塊測試在模塊測試時我們主要從以下幾個方面考慮:1. 模塊接口;2. 局部數(shù)據(jù)結構;3. 重要執(zhí)行通道;4. 出錯處理通道;5. 影響上述方面的邊界條件。測試時進行代碼審查,從數(shù)據(jù)類型,變量聲明,數(shù)據(jù)結構進行審查,然后進行功能測試,從輸入一些簡單的數(shù)據(jù)開始執(zhí)行一遍,觀測運行期間變量的變化,運行中值的變化范圍。改變測試方案來變換另一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論