




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、基于JAVA開發設計實訓課設報告桂林電子科技大學海洋學院課設選題:基于JavaEE設計的游戲角色皮膚商店專業:計算機科學與技術日期:2016年10月11日組長學號:1316040139組長姓名:銀杰 目錄一、 緒論1二、項目的需求分析2三、項目的概要設計33.1功能設計33.2數據庫設計4四、項目的詳細設計6五、總結17參考文獻182一、 緒論隨著網絡的發展,基于計算機對信息管理的高效性,各種信息管理平臺躍入人們的視野。其中,網上商店就是典型的信息管理系統(MIS)。本系統是基于JavaEE三層結構的B/S(Browser/Server)模型軟件,包含以下三個部分:表示層、業務邏輯層和數據訪問
2、層。結合MVC框架模式的分層結構,將應用分成Model(模型)、View(視圖)、Control(控制)3個部分。3個部分以最少的耦合協同工作,從而提高了應用的可擴展性和可維護性。它使用了目前最為流行的Java語言,結合JSP技術,在MyEclipse集成開發環境下編寫,用戶界面友好。其中B/S結構得以讓數據在瀏覽器上顯示,數據處理在服務器上進行,用戶不必安裝客戶端,而且數據通過服務器端的統一管理,保證其一致性。另外系統使用小型關系型數據庫MySQL作為網站的后臺數據庫系統。本系統總體可分成兩大基本功能:前臺管理和后臺管理。前臺管理主要包括用戶注冊、登錄、注銷、瀏覽商品、訂購商品、提交訂單、查
3、看信息等功能。后臺管理主要包括登錄、維護、訂單處理、確認訂單、發送訂單等功能。通過對各個模塊的實現、集成,最后完成的系統可以為用戶提供基本的服務,并且可以根據管理員的需要,對用戶的信息以及商品信息實施管理。對于不同的使用者,系統的功能與業務邏輯是不完全相同的。對于用戶而言,系統主要向用戶展示一個友好美觀的界面,方便用戶瀏覽各類商品信息,查詢商品信息,以及訂購商品。而管理員則需要在后臺維護這些數據。本系統的主要功能是實現用戶購買,用戶通過查詢商品信息,找到滿意的,將這些商品添加到購物車,進而完成購買。二、項目的需求分析網上皮膚商店基于JavaEE三層結構的B/S(Browser/Server)模
4、型軟件,B/S模型是目前最為流行的體系結構,它無須開發客戶端軟件,維護和升級方便;可跨平臺操作,任何一臺機器只要裝有WWW瀏覽器軟件,均可作為客戶機來訪問系統;具有良好的開放性和可擴充性;可采用防火墻技術來保證系統的安全性,有效地適應了當前用戶對管理信息系統的新需求。因此該結構在信息技術領域中獲得巨大成功。結合MVC框架模式的分層結構,將應用分成Model(模型)、View(視圖)、Control(控制)3個部分。3個部分以最少的耦合協同工作,從而提高了應用的可擴展性和可維護性。按這種模式設計的程序,多個視圖可以對應一個模型,模型返回的數據與顯示邏輯分明,程序結構清晰,易于維護。它使用了目前最
5、為流行的Java語言編寫,擁有穩定、可移植、安全等優點,結合JSP技術,在MyEclipse集成開發環境下完成,用戶界面友好。其中B/S結構得以讓數據在瀏覽器上顯示,數據處理在服務器上進行,用戶不必安裝客戶端,而且數據通過服務器端的統一管理,保證其一致性。另外系統使用小型關系型數據庫管理系統MySQL作為網站的后臺數據庫系統,體積小、速度快。由于對JavaEE及MySQL的熟悉,通過自身的專業知識結合實際情況,此系統的編寫與實現是可行的。同時,網頁的實現遵循兼顧美觀與高效的原則,使整個網站在保證功能的前提下,給瀏覽者帶來良好的視覺享受。伴隨著計算機網絡技術的普及和應用,即使是非專業人士也已經對
6、計算機的基本操作和維護有了一定的了解和認識,本網站在進行界面設計時,充分考慮到顧客及管理員的習慣,嚴格依據用戶界面設計的原則和規范,操作簡單明了,統計準確,適應力強,容易擴充,數據的輸入等規范可靠。系統分成前臺和后臺兩大部分。前臺針對于普通用戶。游客進入網站,可查閱圖書信息,注冊成為網站用戶,用戶名進行登錄,登陸后可進行購買等操作,游客則不能。后臺針對于管理員。管理員登陸后,可進行商品信息的刪除操作,以及訂單管理。系統嚴格依據用戶界面設計的原則和規范進行設計,易用、規范、合理、美觀協調。網上皮膚商店的主要功能就是讓用戶能夠足不出戶就可以購買到自己想要的商品,所以網上商店系統主要提供如下功能:&
7、#216; 用戶能夠使用本網站完成商品的瀏覽、查詢和購買。Ø 普通用戶只能瀏覽商品信息,瀏覽分為3種方式:按類別瀏覽、按條件瀏覽、查詢商品。Ø 普通用戶通過注冊成為注冊用戶,注冊后的用戶可以登錄。Ø 注冊用戶登錄后可以進行在線商品購買,購買的商品存放在購物車中,可以對購物車中的商品數量進行修改、刪除。調整好購物車中內容后,可以把該內容保存到訂單中,在保存訂單的時候要求用戶填寫送貨地址和聯系方式。訂單提交后用戶可以開始新的購物過程。Ø 對于后臺系統,要求可以進行商品目錄的維護,訂單可以查詢詳細信息,對留言板的信息進行管理。三、項目的概要設計3.1功能設計表
8、3-1給出了商店的模塊劃分模塊名子功能描述首頁網站首頁最新商品和特價商品信息,登錄界面,類別分類管理員管理管理員登陸提供用戶名、密碼后可以登錄系統用戶管理用戶登錄提供用戶名、密碼后可以登錄系統用戶注冊填寫詳細資料后成為正式注冊用戶商品瀏覽瀏覽所有商品列出所有商品,并且分頁顯示按類別查詢根據選擇的類別查詢出所有商品按名稱模糊查詢根據名稱和類別做模糊查詢商品訂購添加到購物車把需要的商品添加到購物車瀏覽購物車顯示購物車中的內容刪除購物車的商品購物車中的商品可以刪除保存購物車到訂單把購物車的內容保存到訂單中后臺訂單管理瀏覽商品訂單顯示商品訂單信息刪除商品訂單信息刪除商品訂單信息 表示已經完成了該訂單表
9、3- 1功能劃分表3.2數據庫設計系統數據庫命名為bookstore,8個數據表分別為admin(管理員)、user(用戶)、replytable(回復)、catelog(商品分類)、book(商品)、orders(訂單)、orderitem (訂單項)、messa(留言)。1.商店管理員表(admin):管理員登陸是需要管理員賬戶和密碼的,所以管理員數據表中必須包含賬戶(name)和密碼(password),從功能上數據表的設計,如表3-2所示。列名數據類型空值namevarchar(45)非空passwordvarchar(45)非空表3- 2管理員數據表2.用戶表(user):用戶id(
10、userid),用戶名(username),密碼(password),性別(sex),年齡(age)。如表3-3:列名數據類型空值useridint(11) unsigned非空主鍵usernamevarchar(45)非空passwordvarchar(45)非空sexvarchar(45)ageInt表3- 3用戶數據表3.商品分類表(catelog):id(catelogid)和類名(catelogname)。如表3-4:列名數據類型空值catelogidint(11) unsigned非空主鍵catelognamevarchar(45)非空表3- 4圖書分類數據表4.商品表(book)
11、:商品id(bookid)、書名(bookname)、價格(price)、圖片(picture)等,與商品分類表是一對多的聯系,使用外鍵cat_id進行關聯。具體如下表4-5:列名數據類型空值bookidint主鍵非空catelogidint外鍵非空booknamevarchar(45)非空priceint非空picturevarchar(45)非空表4 -5商品數據表5.訂單項表(orderitem):訂單項編號(orderitemid)、商品編號(bookid)、訂單編號(orderid)。訂單項表與訂單和商品是一對多的關系,兩張表通過訂單號(orderid)和商品分類編號(catelog
12、id)進行關聯。具體如表5-6所示。列名數據類型空值orderitemidint(11) unsigned主鍵非空bookidint(11) unsigned zerofill外鍵2非空orderidint(11) unsigned zerofill外鍵1非空quantityfloat非空表5- 6訂單項表6.訂單表(orders):訂單編號(orderid)、用戶編碼(userid)、訂單日期(orderdate)等。訂單表與訂單項、用戶都存在一對多的關聯,使用外鍵用戶編碼(orderid)和書號(ordeid)關聯。如表6-7:列名數據類型空值orderidint非空主鍵useridint
13、非空外鍵orderdatetimestamp非空表6- 7訂單表7.留言(messa):具體如表7-8。列名數據類型空值namevarchar(45)sexvarchar(45)emailvarchar(45)subjectvarchar(45)memovarchar(45)表7-8留言8.回復(replytable):具體如表8-9。列名數據類型空值namevarchar(45)subjectvarchar(45)replyvarchar(45)timetimestamp表7-8留言四、項目的詳細設計從前面的需求分析中我們得知,可以將網上皮膚商店的功能分為前臺功能實現和后臺功能實現,因此模塊
14、課分為兩類,前臺和后臺。系統模塊層次圖,如圖所示:圖4- 1功能模塊圖普通用戶管理員用戶前臺商品瀏覽模塊個人信息管理購物車模塊訂單、結算模塊留言板管理商品信息查看商品信息管理訂單管理MyPetShop網站開 始登錄網站登錄并判斷角色登錄成功登錄失敗用戶注冊填寫注冊信息注冊結果自動登錄注冊失敗注冊成功合法用戶注 銷結 束查看商品查看各地天氣訪問購物車搜索商品判斷權 限查看購物記錄購買商品匿名用戶添加修改購物車中商品訂單、結算個人信息圖4- 1系統流程圖皮膚商店主界面模塊設計的實現:圖4 3主界面1.用戶注冊模塊設計的實現,如圖:圖4 4用戶注冊2.用戶登錄模塊設計的實現:圖4- 5用戶登錄3.管
15、理員登錄界面設計,如圖4-6:圖4- 6管理員登錄 4.在搜索欄中輸入查詢的信息,皮膚名,可實現查詢功能,如圖:圖4- 7搜索欄5.用戶選擇自己要買的皮膚添加到購物車中,然后填寫收貨的相關信息生成訂單。以及訂單查看,如下圖:圖4-8皮膚購買圖4-9查看訂單6.管理員的管理界面如下圖4-10理員管理訂單和留言板7.以下為留言板的功能界面 8.添加皮膚到購物車圖4- 11類圖4- 12品添加9.用戶FQA的界面如下:10.訂單的刪除圖4- 13訂單管理 1.以下為購物車邏輯實現代碼1/添加到購物車public String addToCart() throws ExceptionBook book
16、=bookService.getBookbyId(bookid);Orderitem orderitem=new Orderitem();orderitem.setBook(book);orderitem.setQuantity(quantity);Map session=ActionContext.getContext().getSession();Cart cart=(Cart)session.get("cart");if(cart=null)cart=new Cart();cart.addBook(bookid, orderitem);session.put(&quo
17、t;cart",cart);return SUCCESS;/刪除購物車public String updateCart() throws ExceptionMap session=ActionContext.getContext().getSession();Cart cart=(Cart)session.get("cart");cart.updateCart(bookid, 0);session.put("cart", cart);return SUCCESS;/確定訂單public String checkout() throws Exce
18、ptionMap session=ActionContext.getContext().getSession();User user=(User)session.get("user");Cart cart=(Cart)session.get("cart");if(user=null | cart =null)return Action.ERROR;Orders order=new Orders();order.setOrderdate(new Date();order.setUser(user);for(Iterator it=cart.getItems
19、().values().iterator();it.hasNext();)Orderitem orderitem=(Orderitem)it.next();orderitem.setOrders(order);order.getOrderitems().add(orderitem);orderService.saveOrder(order);Map request=(Map)ActionContext.getContext().get("request");request.put("order",order);return SUCCESS;2. 以下為購
20、物車邏輯實現代碼2/添加商品到購物車public void addBook(Integer bookid,Orderitem orderitem)/是否存在,如果存在,更改數量/如果不存在的話,添加入集合if(items.containsKey("bookid")Orderitem _orderitem=items.get(bookid);orderitem.setQuantity(_orderitem.getOrderitemid()+orderitem.getQuantity();items.put(bookid,_orderitem);elseitems.put(bo
21、okid,orderitem);/更新購物車的購買商品數量public void updateCart(Integer bookid,int quantity)Orderitem orderitem=items.get(bookid);orderitem.setQuantity(quantity);items.remove(bookid);/items.put(bookid, orderitem);/計算總價格public int getTotalPrice()int totalPrice=0;for(Iterator it=items.values().iterator();it.hasNe
22、xt();)Orderitem orderitem=(Orderitem)it.next();Book book=orderitem.getBook();int quantity=orderitem.getQuantity();totalPrice+=book.getPrice()*quantity;return totalPrice;3.以下為查看和刪除訂單的邏輯實現代碼String id=request.getParameter("id"); /從表單獲得 String name=(String)session.getAttribute("username&q
23、uot;); /從表單獲得 try /* 連接數據庫參數 */ String driverName = "com.mysql.jdbc.Driver" /驅動名稱 String DBUser = "root" /mysql用戶名 String DBPasswd = "" /mysql密碼 String DBName = "bookstore" /數據庫名 String connUrl = "jdbc:mysql:/localhost/" + DBName + "?user="
24、 + DBUser + "&password=" + DBPasswd; String query_sql = "select book.bookname,book.price,orders.orderid,user.username,orders.orderdate from book,orders,user,orderitem where user.userid=orders.userid and orderitem.bookid=book.bookid and orderitem.orderid=orders.orderid and user.use
25、rname="+"'"+name+"'" String delete_sql = "" Class.forName(driverName).newInstance(); Connection conn = DriverManager.getConnection(connUrl); Statement stmt = conn.createStatement(); try if(id != null && id != "") out.println("已經完成了訂單號
26、為" + id + "的訂單。</br></br>"); delete_sql = "delete orderitem.*,orders.* from orderitem,orders where orderitem.orderid=orders.orderid and orders.orderid="+id; elseout.println("=查看訂單=</br></br>"); catch(Exception e) e.printStackTrace(); try stm
27、t.execute(delete_sql); catch(Exception e) e.printStackTrace(); try ResultSet rs = stmt.executeQuery(query_sql); if(rs!=null)while(rs.next() %> 訂單號:<%=rs.getString("orders.orderid")%> </br> 皮膚名:<%=rs.getString("book.bookname")%> </br> 價格:<%=rs.getStri
28、ng("book.price")%> </br> 用戶名:<%=rs.getString("user.username")%> </br> 訂單時間:<%=rs.getString("orders.orderdate")%> <% elseout.println("沒有訂單!"); catch(Exception e) e.printStackTrace(); stmt.close(); conn.close(); catch (Exception e)
29、e.printStackTrace(); 五、總結(1) 系統完成情況1316040139 銀杰通過這次課設終于完成了基于JavaEE設計的游戲角色皮膚商店系統的設計。盡管系統在功能和性能上可能還有一些缺陷,但是我已經完成了系統設計的任務和目標,達到了需求分析的基本要求,成功完成了JavaEE課程設計。(2) 未能完成的和有待改進之處 未完成的:數據庫缺少一些功能表,后臺管理功能缺少一些商品的管理的功能綁定游戲區號的角色,讓角色與皮膚匹配等待改進:商品搜索的設計還不夠完善以及留言板的完善,后臺管理的完善比如進行查看,修改,刪除等操作。其中,商品信息管理和用戶信息管理中,管理員可以添加用戶以及商品相關信息,一些邏輯上的問題等(3) 課程設計期間的收獲本系統從需求分析、系統總體設計到系統的具體實現對網上商店系統進行全面的論述。網上商店系統采用基于Java開發語言的JavaEE平臺進行開發,運用了MVC框架技術Struts2,采用MySQL數據庫管理系統以及開源框架Hibernat
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DB32/T 3589-2019皺紋盤鮑淺海筏式養殖技術規程
- DB32/T 3564-2019節段預制拼裝混凝土橋梁設計與施工規范
- DB32/T 3555-2019消防機構食堂設施設備配置規范
- DB32/T 3310-2017船閘維護規程
- DB31/T 999.3-2016網上政務大廳接入技術規范第3部分:業務協同數據交換格式
- DB31/T 635-2020造船行業職業病危害控制規范
- DB31/T 1343-2022醫用超聲探頭消毒衛生要求
- DB31/T 1187-2019特種設備風險分級管控實施指南
- DB31/ 528-2011應急避難場所標志設置規范和要求
- 谷物加工行業技術標準管理考核試卷
- 2025年安全管理員安全培訓考試試題帶答案(培優)
- 【中考真題匯編】專項查漏補缺現代文閱讀-2025年中考語文(含答案)
- 2025年綠色建筑與可持續發展考試試題及答案
- 手表質押借款協議書
- 湖北省武漢市2025屆高中畢業生四月調研考試數學試卷及答案(武漢四調)
- T-CRHA 086-2024 住院患者胰島素泵應用護理規范
- 2024年湖南省長沙市中考地理試卷真題(含答案解析)
- MOOC 軟件質量保證-西安交通大學 中國大學慕課答案
- 《穴位埋線與減肥》課件
- 1368個單詞就夠了中文翻譯版
- 青島版(五年制)數學五年級下冊《第一單元 圓1.4 回顧整理》課件
評論
0/150
提交評論