ImageVerifierCode 换一换
格式:DOCX , 页数:40 ,大小:479.55KB ,
资源ID:10447570      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/10447570.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(例网上购书系统设计方案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

例网上购书系统设计方案.docx

1、例网上购书系统设计方案信息科学与技术学院2007级计算机科学与技术专业“软件工程”课程设计项目名称: 网上购书系统 设计阶段:需求分析、总体设计、详细设计、编码、测试、维护 设计人员: 李蒙 秦志玲 邓飞 丁国亮 付立峰 时 间: 2010.9.10 2010.12.30 2010.12.30前言需求分析-李蒙总体设计-李蒙、邓飞详细设计-秦志玲、丁国亮编 码-小组共同完成测 试-付立峰维 护-付立峰前言1.1课题背景互连网以前所未有的速度发展,成为与报纸、广播、电视相比肩的第四媒体,同时正以其便利的信息传输形式改变着人们的消费模式,便利简单、快捷、低成本的电子通信方式,买卖双方不谋面就可以进

2、行各种贸易活动,走向商业的互连网已经成为网络经济的大势所趋。 1996年前后,在美国学术界提出“电子商务”(E-Business或E-Commerce)的概念,短短几年的时间里,这一概念以在全球各地被广泛接受。根据买方和卖方的不同,电子商务市场可以划分四种类型:B2B,B2C,C2B和C2C。就规模而言,B2B和B2C居于主导地位。B2C是商家与顾客之间的商务活动,它将成为电子商务的一种主要的商务形式,“B2C网上购物网站”是实现这种商务活动的电子平台。B2B就是商家与商家之间的商务活动,它也将成为电子商务的一种主要的商务形式,“B2B商务网站”是实现这种商务活动的电子平台。眼下电子商务网站正

3、如雨后春笋般地大量涌现,企业网络化已经成为一种时尚,出于对市场需求的考虑,本小组设计了一个网上书店,实现了用户注册、用户登陆、网上购书、管理员对数据库查看、修改、删除等操作,基本实现了网上书店的一些主要功能,“麻雀虽小,五脏具全”。1.2系统开发关键技术介绍本实例采用三层架构设计,用户界面层通过统一的接口向业务层发送请求,业务曾按自己的逻辑规则将请求处理之后进行数据库操作,然后将数据库返回的数据库封装成类的形式返回给用户界面层。这样用户界面层甚至可以不知道数据库的结构,它只要维护与业务层之间的接口即可。这种方式在一定程度上增加了数据库的安全性,同时也降低了对用户界面层开发人员的要求,因为它根本

4、不需要进行任何数据库的操作。另外,本设计把页面中一些常用的部分集成为模块,例如页面的头和尾部,这样设计新的页面时如果有重复出现的部分,只需要拿现成的模块来组装就可以了。这样方便、简洁,减少了工作量,是后台程序更有条理,思路更清晰。另外,我们在前台对数据库表的的数据进行调用的时候,采用了数据库存储过程,这样就使得数据库的安全性更高,数据的调用、存储更有条理。在相关联的表之间,我们还采用了触发器,进行后台的自动触发,使系统职能化。一、需求分析(李蒙)1、项目需求使用Java技术设计和实现一个简约的购书网站。对购物网站进行设计与实现一下功能:(1)客户注册、客户登录(2)客户资料修改、取回忘记密码(

5、3)客户按照商品分类浏览商品(4)客户按照某一个或几个关键字搜索商品(5)客户购物车功能 (6)客户订单管理(修改订单 、撤销订单等)(7)管理员对商品资料的管理(增、删、改、查、统计)(8)分页浏览(9)管理员分级管理(10)客户访问习惯,跟踪用Filter跟踪客户IP 二总体设计(李蒙、邓飞)1.MVC三层架构工作原理三层架构工作原理图2.系统分析本设计把页面中一些常用的部分集成模块,这样设计新的页面是如果有重复出现的部分,只需要拿现成的模块来组装就可以了。设计对数据库的调用采用三层架构设计,对于需要连接数据库的页面,通过统一的数据库调用管理,给页面分配连接,这样就方便了对数据库的 调用和

6、管理,同时使得对数据库的调用不会产生拥塞,并且在一定程度上增加了数据库的安全性。本设计分为客户模块和管理员模块。用户模块包括用户注册、登陆、查看图书详细信息、在线购书、查看、整理用户订单等功能。管理员模块包括对注册用户资料的添加、删除等管理,对图书的添加、删除、分类等一系列管理功能。3.系统设计通过上述分析,在建网上购书系统之前,先对数据库进行分析,设计好系统的功能模块,并建好系统所需的数据库及要用到的一些表。3.1系统功能模块设计根据上述各项功能的分析,可以画客户界面、管理员界面的功能模块图。功能模块分为用户功能模块和管理员功能模块,用户登陆后的主要功能是实现网上购书,管理员功能模块主要是实

7、现管理员对书店的管理,如用户管理、图书管理、订单管理等。图1-1客户界面系统功能模块图1-2 管理员界面系统功能模块3.2设计数据流程图图1- 购书系统数据流程图4.系统数据库设计4.1数据库需求分析数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率,以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各种信息的输出和输入.收集基本数据,数据结构以及数据处理的流程。通过上述系统功能分析,针对一般在线书店的需求,总结出如下需求信息。(1)

8、用户分一般用户和管理员。(2) 订单分单张详细订单和总订单。(3) 每一本图书都从属一种类型。(4) 一个用户可以购买多本图书。(5) 一个用户对应一张定单列表。根据上面的设计规划出的实体有:管理员信息实体、用户信息实体、图书实体、图书分类实体、订单实体、订单列表实体。4.2 E-R图图2-1 实体之间关系E-R图图2-2 管理员信息E-R图图2-3订单列表E-R图图2-4 图书E-R图图2-5 订单列表E-R图图2-6 用户信息E-R图图2-8 综合E-R图三、详细设计(秦志玲、丁国亮)1.数据库中的所有表根据项目要求实现数据库设计,用Microsoft Access建立数据库文件。共建立4

9、个表,分别为会员信息表、订单表、商品信息表、收货人信息表。Gd_username 会员信息表列名数据类型长度是否为空ID自动编号否Gd_username文本型否Gd_password文本型否Role数字型否Gd_orderinfo 订单表列名数据类型长度是否为空ID自动编号否gd_orderid文本型否gd_orderdate文本型否gd_productid数字型否gd_price数字型否gd_allprice数字型否gd_count数字型否gd_status文本型否gd_userid文本型否gd_name文本型否gd_email文本型否gd_tel文本型否gd_code文本型否gd_addr

10、ess文本型否gd_remarks文本型否商品信息表列名数据类型长度是否为空ID自动编号否nameOLE对象否picture文本型否author文本型否publisher数字型否printinOorder文本型否pageNumber文本型否ISBN文本型否kaiben文本型否specialDescription文本型否sort文本型否discount文本型否contentsDescription文本型否stocks数字型否catalog文本型否appreciation文本型否remarks文本型否click数字型否price数字型否收货人信息表列名数据类型长度是否为空ID自动编号否gd_use

11、rname文本型否gd_password文本型否gd_email文本型否gd_qq文本型否gd_name文本型否gd_identify文本型否gd_tel文本型否gd_address文本型否gd_code文本型否gd_joindate文本型否gd_lastlogindate文本型否gd_lastIP文本型否gd_remarks文本型否2.系统实现主要代码功能:AdminBean.java数据的读取,管理员对数据的增、删、该操作DBBean.java对数据库的连接DateBean.java读取系统时间ProductRecordBean.java对product表变量的定义OrderList.ja

12、va订单表(gd_OrderInfo)变量的定义UserBean.java用户登录后信息的显示、密码取回、增加用户、更新用户等ProductBean.java热门产品查询、分类查询、产品搜索类getPasswordBean.java将密码以E-mail方式发给用户MVCServlet.javasession变量的定义UsernameServlet.java用户注册时对用户名是否可用的判断VerifyCodeServlet.java验证码的生成3.系统界面首页用用户名limeng,密码为123456登陆后点击右下角“进入管理”用用户名admin,密码123456登陆后效果:修改会员界面增加图书界

13、面订单管理4.关键源代码(1).session会话实现:public class MVCServlet extends HttpServlet protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(text/html;charset=UTF-8); PrintWriter out = response.getWriter(); request.setCh

14、aracterEncoding(gb2312); response.setCharacterEncoding(gb2312); String action = request.getParameter(action).trim(); HttpSession session = request.getSession(); if( action.equals(login) /用户登陆 String passcode=request.getParameter(passcode); if(session.getAttribute(passcode).equals(passcode) String us

15、ername= request.getParameter(username).trim(); String password =request.getParameter(password).trim(); UserBean userbean = new UserBean(); String login = userbean.testLogin(username,password); if(login=notlogin) session.setAttribute(gd_username,); session.setAttribute(gd_password,); session.setAttri

16、bute(gd_login,notlogin); / out.print(passcode yes,login fail!); response.sendRedirect(userlogin.jsp); else String userinfo = login.split(|); DateBean date=new DateBean(); String lastlogindate=date.getDate(); String lastIP=request.getRemoteAddr(); session.setAttribute(gd_lastlogindate,userinfo0); ses

17、sion.setAttribute(gd_lastIP,userinfo1); session.setAttribute(gd_id,userinfo2); session.setAttribute(gd_username,userinfo3); session.setAttribute(gd_password,password); session.setAttribute(gd_login,login); out.println(lastlogindate is + lastlogindate + lastIP is + lastIP); userbean.updateUserlogin(I

18、nteger.parseInt(userinfo2),lastlogindate,lastIP); response.sendRedirect(userlogin.jsp); else session.setAttribute(gd_username,); session.setAttribute(gd_password,); session.setAttribute(gd_login,notlogin); / out.print(passcode no login fail!); response.sendRedirect(userlogin.jsp); else if( action.eq

19、uals(register ) /用户注册 Md5 m=new Md5(); String username=request.getParameter(username); String password=request.getParameter(password).trim(); String email=request.getParameter(email); String qq=request.getParameter(qq); String name=request.getParameter(name); String identify=request.getParameter(ine

20、ntity); String tel=request.getParameter(tel); String address=request.getParameter(address); String code=request.getParameter(code); DateBean nowDate=new DateBean(); String joindate=nowDate.getDate(); String lastlogindate=nowDate.getDate(); String lastIP=request.getRemoteAddr(); UserBean userbean = n

21、ew UserBean(); if(userbean.addUser(username,password,email,qq,name,identify,tel,address,code,joindate,lastlogindate,lastIP) out.println(alert(注册成功!请登陆!);+;); out.println(点击返回主页); else out.println(alert(注册失败!请确认注册信息是否有误!);+;); out.println(点击返回注册页面); else if(action.equals(getPassword) /用户获取密码,通过邮箱取回 S

22、tring username=request.getParameter(username); String email=request.getParameter(email); out.print(username + +email); UserBean userbean = new UserBean(); if(userbean.getPassword(username,email) out.println(邮件已经发送到你的邮箱!); else out.println(用户名或者邮箱错误,请输入正确的用户名和对应的邮箱!); else if(action.equals(logout) /用

23、户退出登陆 session.setAttribute(gd_username,); session.setAttribute(gd_password,); session.setAttribute(gd_login,notlogin); / out.print( login out!); response.sendRedirect(default.jsp); else if(action.equals(admin_logout) /管理员,退出登陆 session.setAttribute(admin_gd_username,); session.setAttribute(admin_gd_p

24、assword,); session.setAttribute(admin_gd_login,notlogin); response.sendRedirect(default.jsp); else if(action.equals(adminlogin) /管理员登陆 String passcode=request.getParameter(passcode); if(session.getAttribute(passcode).equals(passcode) String username=request.getParameter(username); String password=re

25、quest.getParameter(password); AdminBean adminbean=new AdminBean(); String login = adminbean.admin_Login(username,password); if(login.equals(admin_notlogin) out.println(用户名或者密码错误.2秒后返回登陆页面.); out.println(); else session.setAttribute(admin_gd_username,username); session.setAttribute(admin_gd_password,

26、password); session.setAttribute(admin_gd_login,login); session.setAttribute(admin_gd_role,login); response.sendRedirect(gd_admin/gd_Admin.jsp); else out.println(验证码错误.2秒后返回登陆页面.); out.println(); else if(action.equals(DeleteUser) AdminBean ab=new AdminBean(); String id=request.getParameter(id); if(ab.deleteUser(Integer.parseInt(id) out.println(); out.println(删除成功.2秒后返回.); out.println(); out.println(); else out.println(); out.println(删除失败.2秒后返回.); out.println(meta h

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1