




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025健康管理师关键试题及答案分享
- 茶艺师职业生涯中的挑战考题及答案
- 高分秘诀:健康管理师考试的试题及答案
- 2025健康管理师考试高频试题及答案
- 未来技术在健康管理中的试题及答案
- 茶文化活动的策划及推广试题及答案
- 妇幼保健员考试实践课程有效性研究试题及答案
- 2025年度水利工程用工服务与管理合同
- 二零二五年度临时工劳动合同与员工绩效考核及奖励制度
- 二零二五年度智慧城市建设股权分红与项目合作合同
- 6Sigma六西格玛项目立项申请表
- FZT 73022-2019 针织保暖内衣
- 2024届北京市丰台区等5区高三下学期一模英语试题(解析版)
- 墙式消火栓检查维保记录表
- 我国医疗保障现状问题
- 工程项目部安全生产治本攻坚三年行动实施方案
- 家电以旧换新风险管控与应对策略
- 第三单元名著阅读《经典常谈》-2023-2024学年八年级语文下册同步教学课件
- 排污许可证申请与核发技术规范 火电(二次征求意见稿)
- QB-T 2673-2023 鞋类产品标识
- 《中国帕金森病诊疗指南(第四版)》(2023)要点
评论
0/150
提交评论