计算机课程设计报告网上书店订单管理子系统设计.doc

上传人:仙人指路1688 文档编号:2399560 上传时间:2023-02-17 格式:DOC 页数:27 大小:1,019KB
返回 下载 相关 举报
计算机课程设计报告网上书店订单管理子系统设计.doc_第1页
第1页 / 共27页
计算机课程设计报告网上书店订单管理子系统设计.doc_第2页
第2页 / 共27页
计算机课程设计报告网上书店订单管理子系统设计.doc_第3页
第3页 / 共27页
计算机课程设计报告网上书店订单管理子系统设计.doc_第4页
第4页 / 共27页
计算机课程设计报告网上书店订单管理子系统设计.doc_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《计算机课程设计报告网上书店订单管理子系统设计.doc》由会员分享,可在线阅读,更多相关《计算机课程设计报告网上书店订单管理子系统设计.doc(27页珍藏版)》请在三一办公上搜索。

1、目 录第1章 概要设计11.1 题目的内容与要求11.2 数据库概念模型设计11.3 总体方案设计4第2章 详细设计52.1数据库逻辑模型设计52.1.1书籍表(book)52.1.2订单表(listinfo)62.1.3书单表(list)62.1.4用户表(user)72.1.5收货人表(person)72.1.6管理员表(admin)82.2系统功能详细设计82.2.1登陆注册系统模块82.2.2购物车模块92.2.3订单查看模块102.2.4订单管理模块11第3章 调试分析133.1 MyEclipse和MySQL的连接问题133.2 中文乱码问题133.3 服务器问题13第4章 使用说

2、明154.1 登录注册系统界面154.2 购物车界面174.3 订单查询界面194.4 订单管理界面20参考文献21附 录(程序清单)22第1章 概要设计1.1 题目的内容与要求设计和实现一个简单的网上书店订单管理子系统,功能包括:用户下订单能够计算不同类型用户(普通用户和VIP用户)的金额;订单修改和取消订单功能;订单查询功能,用户可以按日期和类型查询订单信息;用户注册及登录功能。通过JSP与数据库的连接来完成各种基本操作包括动态增加、修改、删除订单信息。要求表的设计合理,界面美观实用。1.2 数据库概念模型设计根据订单管理程序的要求,概念模型一共有五个实体,分别为书籍实体,收货人实体,用户

3、实体,订单实体和管理员实体。其中,书籍实体包括书籍编号、书名、图书作者、图书出版社、图书价格、图书简介、图书图片七个属性,书籍编号是书籍实体的主键;收货人实体包括收货人编号、姓名、地址、联系电话四个属性,收货人编号是主键;用户实体包括用户编号、姓名、密码、邮箱、类型五个属性,用户编号是主键;订单实体包括订单编号、用户编号、日期、状态、收货人编号五个属性,订单编号是主键,用户编号和收货人编号分别是外键;管理员实体包括管理员编号,管理员名,管理员密码三个属性,其中管理员编号是主键。并且包含一个订单和书籍的多对多的联系,有订单号、书籍号、数量、状态,订单号和书籍号是主键,订单号和书籍号分别是外键。订

4、单管理系统的E-R图如下图1.1所示:计算机毕业设计 计算机课程设计代做计算机毕业设计 代做计算机课程设计QQ715441561书籍订单书单数量状态编号出版社价格简介图片日期状态作者编号书名MN包含用户1M包含收货人11图1.1订单系统E-R图说明:从上图可以看出,书籍实体与订单实体之间是多对多的关系。用户E-R图如图1.2所示:用户编号用户名密码性别邮箱类型图1.2用户E-R图收货人E-R如图1.3所示:收货人编号姓名地址电话图1.3 收货人E-R图管理员E-R图如图1.4所示:管理员编号管理员名密码图1.4 管理员E-R图1.3 总体方案设计根据题目要求,本系统可以分为四个功能模块:购物车

5、模块、订单信息查看模块、登陆注册模块、订单管理模块。系统总体模块图如下图1.4所示:网上书店订单管理子系统登录注册模块购物车模块订单查看模块订单管理模块图1.4 系统总体模块图说明:上述模块中,购物车模块实现对订单信息的动态增加、删除、修改功能;订单信息查看模块实现对订单信息的静态查看;登陆注册模块实现用户动态登录和注册;订单管理功能模块实现对某个订单的取消。第2章 详细设计2.1数据库逻辑模型设计订单系统的E-R图表明订单实体与书籍实体之间是多对多的关系,转换后的关系模式有三个,分别是订单、书籍和订购项目,还有收货人表和用户表,具体属性如下所示:1) 订单(订单编号,用户编号,收货人编号,日

6、期,状态)此为订单实体对应的关系模式。2) 书籍(书号,书名,作者,出版社,价格,简介,图片)此为书籍实体对应的关系模式。3) 收货人(收货人编号,姓名,地址,电话)此为收货人实体对应的关系模式。 4) 用户(用户编号,用户名,电子邮箱,类型,密码)此为用户实体对应的关系模式。5) 管理员(编号,管理员名,密码)此为管理员实体对应的关系模式。6) 书单(订单编号,书籍编号,数量,状态)此为订购关系对应的关系模式。该关系模式包含了联系“订购”所对应的书籍和订单关系模式,书籍实体和订单实体是通过订购关系中的书籍编号和订单号联系在一起的,书籍实体与订单实体之间是多对多的关系。2.1.1书籍表(boo

7、k)书籍表如下表2.1所示:表2.1 书籍表列名数据类型长度是否允许空说明书籍编号数字20No主键书名文本50No作者文本20No出版社文本50No价格数字20No简介文本100No图片数字10No说明:此表用于存放书籍基本信息,包括书籍编号、书名、图书作者、图书出版社、图书价格、图书简介、图书图片七个属性。其中的书籍编号是该表的主键,其他的属性都用于书籍信息的描述。2.1.2订单表(listinfo)订单表如下表2.2所示:计算机毕业设计 计算机课程设计代做计算机毕业设计 代做计算机课程设计QQ715441561表2.2 订单表列名数据类型长度是否允许空说明订单编号数字20No主键用户编号数

8、字20No收货人编号数字20No日期文本20No状态文本20No说明:用于存放订单基本信息,包括订单编号、用户编号、日期、状态、收货人编号五个属性。其中订单编号是该表的主键,其他的属性都用于订单信息的描述。2.1.3书单表(list)书单表如下表2.3所示:表2.3 订购表列名数据类型长度是否允许空说明订单编号数字20No书籍号数字20No状态文本50No数量数字20No说明:此表用于订购信息,包括订单号、书籍号、数量、状态,其中的订单编号和订单表中的订单编号相同,两表通过订单编号相联系;书籍号和书籍表中的书籍号相同,两表通过书籍号相联系,其他的属性都用于书单信息的描述。2.1.4用户表(us

9、er)用户表如下表2.4所示:表2.4 用户表列名数据类型长度是否允许空说明用户编号数字20No主键用户名文本20No密码文本50No电子邮箱文本50No类型数字2No说明:此表用于用户信息,包括用户编号、姓名、密码、邮箱、类型,用户编号是主键,其他的属性都用于用户信息的描述。2.1.5收货人表(person)收货人表如下表2.5所示:表2.5 收货人表列名数据类型长度是否允许空说明收货人编号数字20No主键姓名文本20No电话文本50No地址文本50No说明:此表用于收货人信息,包括收货人编号、姓名、地址、电话,其中收货人编号是主键,其他的属性都用于收货人信息的描述。2.1.6管理员表(ad

10、min)管理员表如下表2.6所示:表2.6 管理员表列名数据类型长度是否允许空说明编号数字20No主键管理员名文本20No密码文本50No说明:此表用于管理员信息,包括收货人编号、姓名、密码,其中编号是主键,其他的属性都用于管理员信息的描述。2.2系统功能详细设计整个程序的实现过程分为四个模块,登陆注册系统模块、购物车模块、订单信息查看模块、订单管理模块。各模块的功能以及具体的设计情况如下所述:2.2.1登陆注册系统模块登录注册系统模块的功能是:该模块主要是检测用户是否能对订单管理系统的使用。输入用户名和密码后系统将进行验证,如果符合就进入系统,否则无法进入系统进行操作。这个模块主要是为了保持

11、系统的安全完整性,使系统看起来完整统一且具有一定的安全可靠性。计算机毕业设计 计算机课程设计代做计算机毕业设计 代做计算机课程设计QQ715441561开始结束是否用户登录是否管理员用户中心管理中心注册NYNY图2.1 登录注册模块流程图2.2.2购物车模块购物车模块的功能是:该模块主要实现的是订单的添加和删除,并通过它使得整个程序操作起来更简单,容易,清晰。当用户要订购某本书时,用户可将书籍放入购物车(没有完成交易),用户也可将放入购物车的书籍取出,实现删除功能。用户点击“下一步”,将进入正式的订单生成过程。开始结束订购继续订购填写基本信息是否登录生成订单登录NNYY图2.2 购物车模块流程

12、图2.2.3订单查看模块订单查看的功能是:能查看订单的基本信息。订单查看功能使用户能按日期和处理状态查看订单。对订单的各项数据进行统计分析,以便用户掌握自己的订单情况。查询订单显示订单条件符合?NY开始结束图2.3 订单查看模块流程图2.2.4订单管理模块订单管理模块的功能是:对没有处理而已经生成的订单进行管理。当用户想取消没有处理的订单的时候,可以通过本模块对订单进行取消。当用户想对收货人信息进行管理更新时,通过本模块能有效进行管理。订单查看处理订单取消订单是否管理员是否取消YNNY开始结束图2.4 订单管理模块流程图第3章 调试分析3.1 MyEclipse和MySQL的连接问题因为整个程

13、序的实现需要与数据库相连接,所以我遇到的最大问题是连接数据库。对数据库的操作占了相当大的比例,数据库的操作效率直接影响了整个系统的效率。具体的解决方法有以下几个:计算机毕业设计 计算机课程设计代做计算机毕业设计 代做计算机课程设计QQ7154415611. 建立数据库连接池,对数据库进行有效使用。2. 在数据库操作代码中使用预处理命令,有效处理不安全因素。在数据库的连接中,使用MySQL的连接驱动使数据库能正确的连接。3.2 中文乱码问题在jsp和jsp页面,jsp和servlet类,java类和数据库之间传递数据时,常常出现中文乱码问题,这是因为数据以不同的编码在它们之间传递。解码方式的混乱

14、也有很大原因。具体的解决方案是统一使用GB2312编码,以使中文的正确显示。或者在servlet类中使用“request.setChararsEncoding(“gb2312”)”。3.3 服务器问题由于本系统通过网页的形式进行工作,并且要求动态显示数据,因此使用Tomcat服务器。Tomcat服务器的工作端口默认为8080,但安装了多个版本的服务器后,端口地址存在混乱,因此将主服务器的端口地址设为80,以便直接启动浏览器后输入网址直接访问。计算机毕业设计 计算机课程设计代做计算机毕业设计 代做计算机课程设计QQ715441561第4章 使用说明4.1 登录注册系统界面图4.1.1 登录系统界

15、面图4.1.1说明:输入正确的用户名和密码后,如果是管理员出现图4.1.2的界面。图4.1.2管理员登录界面图4.1.2说明:输入正确的管理员名和口令后登录管理界面。图4.1.3管理员管理界面图4.1.3说明:管理员通过本界面进行系统管理。如果不是管理员将进入用户中心,用户通过本界面对自己的信息进行管理,如图4.1.4。图4.1.4用户个人中心界面如果不是系统用户或管理员,可通过图4.1.5进行注册。提交后进入用户个人中心。图4.1.5用户注册界面4.2 购物车界面图4.2.1购物车界面图4.2.1说明:在如书籍功能中将书籍放入购物车后出现的界面,用户可通过本界面对购物车中的书籍进行操作:改变

16、数量,删除。如果用户确定交易后,点击“下一步”按钮,进入图4.2.2的界面。图4.2.2收货人界面说明:用户正确填写信息后,点击“提交”,进入如图4.2.3的订单界面。图4.2.3订单界面4.3 订单查询界面图4.3.1订单查询界面图4.3.1说明:在此界面中,可通过点击相应按钮使用相应功能,如点击“日期订单查询”将进入以日期为检索条件的查询结果界面,如图4.3.2.图4.3.2日期订单查询界面图4.3.2说明:在左端输入相应日期点击“提交”按钮后或在相应的日期后点击“查看”按钮后,出现如图4.3.3的界面,以使用户能查看详细的订单情况。图4.3.3日期订单详细界面图4.3.3说明:点击相应的

17、订单编号或收货人姓名,将进入更加详细的查看。如图4.3.4和图4.3.5。图4.3.5订单详细界面图4.3.5收货人详细界面4.4 订单管理界面图4.4订单管理界面图4.4说明:在此界面中用户可通过“取消订单”按钮对还没有进行处理的订单进行取消。参考文献1 王珊,萨师煊 . 数据库系统概论M, 北京:高等教育出版社,20022 徐林林, Java Web 编程从入门到实践M, 北京: 清华大学出版社, 20103 陈华, Ajax 从入门到精通 M, 北京: 清华大学出版社, 20084 王军 等, JSP 网站开发典型模块与实例精讲M, 北京: 电子工业出版社,20065 张海藩, 软件工程

18、导论M, 北京: 清华大学出版社, 2003附 录(程序清单)LoginServlet.java(登录)String userName=request.getParameter(name);String userPwd=request.getParameter(pwd);System.out.print(userName+:+userPwd);User user=new User();user.setUserName(userName);user.setUserPwd(userPwd);UserDaoIml ud=new UserDaoIml();User nu=ud.UserLogin(us

19、er);if(nu=null)response.sendRedirect(LoginError.html);elsesession.setAttribute(userId, nu.getUserId();System.out.println(nu.getUserId();session.setAttribute(userName, userName);session.setAttribute(userType, nu.getUserType();if(nu.getUserType()=4)response.sendRedirect(./admin/AdminLogin.jsp);elseres

20、ponse.sendRedirect(./user/UserInfo.jsp);ResServlet.java(注册)String userName=request.getParameter(name);String userPwd=request.getParameter(pwd);String userEmail=request.getParameter(email);String userSex=request.getParameter(sex);int usersex;if(userSex.equals(M)usersex=1;else usersex=0;User user=new

21、User();user.setUserName(userName);user.setUserEmail(userEmail);user.setUserPwd(userPwd);user.setUserSex(usersex);UserDaoIml ud=new UserDaoIml();ud.UserRes(user);int userId=ud.findUserId(user);session.setAttribute(userId, userId);session.setAttribute(userName, userName);session.setAttribute(userType,

22、 0);response.sendRedirect(./user/UserInfo.jsp);ListAddServlet.java(购物车系统)HttpSession session=request.getSession();request.setCharacterEncoding(gb2312);if(session.getAttribute(userId)=null)response.sendRedirect(./user/UserLogin.html);elseint userId=Integer.parseInt(String.valueOf(session.getAttribute

23、(userId);int bookId=Integer.parseInt(request.getParameter(bookId);ListInfo li=new ListInfo();Listbook lb=new Listbook();ListInfoDaoIml lidi=new ListInfoDaoIml();if(lidi.findListIdByUserId(userId)=0)li.setUserId(userId); li.setListS(undo);int listid=lidi.num()+1;li.setListId(listid);lidi.addListInfo(

24、li);ListDaoIml ldi=new ListDaoIml();lb.setBookId(bookId);lb.setBookNum(1);lb.setListId(listid);ldi.addList(lb);session.setAttribute(listId, listid);elselb.setListId(lidi.findListIdByUserId(userId);lb.setBookId(bookId);lb.setBookNum(1);ListDaoIml ldi=new ListDaoIml();ldi.addList(lb);Findlistbydate.ja

25、va(订单查询)request.setCharacterEncoding(gb2312);String lists=request.getParameter(date);response.sendRedirect(./list/date_list_show.jsp?date=+lists+&page=1);ListInfo.java(订单对象)public class ListInfo int listId;int userId;String listDate;String listS;int personId;public int getListId() return listId;publ

26、ic void setListId(int listId) this.listId = listId;public int getUserId() Databaseadmin.java(数据库操作类)try Class.forName(com.mysql.jdbc.Driver);str = jdbc:mysql:/localhost:3306/;String sql = str + name + ?characterEncoding=gbk;conn = DriverManager.getConnection(sql, root, 123456a); catch (ClassNotFound

27、Exception e) / TODO Auto-generated catch blocke.printStackTrace(); catch (SQLException e) / TODO Auto-generated catch blocke.printStackTrace();ListInfoDao.java(数据对象映射类)public int addListInfo(ListInfo li);public void updataListInfo(ListInfo li);public void delListInfo(int listId);public List showList

28、InfoByUserIdOfUndo(int userId);public List showListInfoByUserIdOfDo(int userId);public int findListIdByUserId(int userId);public int findListIdByUserIdofUndo(int userId);public int num();public int findPersonNo(int listId);public ListInfo show(int listId);public ListInfo findByUserId(int userId);pub

29、lic List showAllList();public void UpdataListS(ListInfo li);public void del(int listId);public int countlistbyuser(int userId);public int countlistbybook(int bookId);public List countlistbydate();public List countlistbylsits();public List booklistshow(int bookId);public List userlistshow(int userId)

30、;public List datelistshow(String date);public List listsshow(String lists);public List datelistshowbyuser(int userId);public List listsshowbyuser(int userId);public List listsshowbyuserofundo(int userId);public List listsshowbyuserwithoutundo(int userId);public List datelistshowbyuserofdate(String d

31、ate,int userId);public List listslistshowbyuseroflists(String lists,int userId);课程设计总结:软件设计是一个精细漫长的过程。在整个过程中,都需要周密的计划和安排,每一步骤,都需要按照软件工程标准来完成。在设计中,我始终坚持理论指导实践原则,并通过实践来加强理论的学习,通过实习锻炼,我熟悉了软件的一般过程,加强了对实际问题的处理能力。实践证明,在高科技突飞猛进的时代,光靠课堂所学的知识是远远不够的,必须依靠实践去不断的深化认识,尤其是计算机科学,操作性和实践性很强,只有加强实际的动手能力,才能更好的掌握这一现代化工具。通过这次设计,我受益非浅,亲身体验了软件系统设计的全过程,在实践中了解了软件设计开发的步骤、流程以及思路,增长了在软件开发方面的见识,我深刻认识到以前所学的基础课程的重要性,也使我掌握了很多新知识,特别是一些课本之外的知识,体会到了理论知识和实践相结合的重要性。由于时间较短,有很多不尽如人意的地方还没来得急解决,比如,查询功能做的不是很好,只能说是完成了一点要求,但是用起来却不是很好用,这是因为自己对这个功能的真正了解还不够,很多问题要在以后的程序维护中,来慢慢发现,并将其解决。如果有多的时间,将进一步进行完善,使之的效果更加完美。指导教师评语:指导教师(签字): 年 月 日课程设计成绩

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号