版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、【标题】小型网上购物系统分析与设计 【作者】黄丕钦 【关键词】jsp mvc jstl el ajax 网络购物 【指导老师】范会联 【专业】计算机科学与技术 【正文】1引言电子商务作为一种新的商业模式,被认为是新知识经济时代和全球经济一体化趋势的产物,并且随着internet技术的迅猛发展和web的日益流行,它的应用也越来越广泛。尽管目前在国内这项技术的硬件基础设施和信息安全技术还不成熟,但可以预见,作为电子商务主要内容之一的网上购物,将成为未来人们主要购物的方式之一。2 系统概述2.1国内外对本课题的研究现状目
2、前国内的电子商务还存在很多问题。最关键的问题在于国内的用户对于电子商务持怀疑的态度,特别是在需要提交自己的账户和密码的情况下,这种怀疑态度更加明显。这一方面是由于国内用户思想没有跟上国际潮流,另一方面还在于国内的计算机技术和相关的法律等软硬件措施没有跟上的原因。所以,现在国内的电子商务更多的是走折中路线,就是网上收集相关的订购意向邮件确认送货收钱三部曲。可以这么说,除了网络游戏,目前国内的电子商务多半是这种半电子半商务的电子商务。我们这里要建立的网站就是这样一个网站。2.2本课题研究的目的意义投资少,回收快。一项针对中国中小企业的情况调查显示,个人在网下启动销售公司的平均费用至少5万元,而网上
3、开店建店成本非常小。一般说,筹办一家网上的商店投入很小,不用去办营业执照,不用去租门面,不用囤积货品,所需资金不过1500元左右;网上商店比同等规模的地面商店“租金”要低得多,同时租金不会因为营业面积的增加而增加,投资者也不用为延长营业时间而增加额外的费用。不受店面空间的限制。哪怕只是街边小店,在网上却可以拥有百货大楼那么大的店面,只要投资者愿意,可以摆上成千上万种商品。目前国内最大的专业拍卖网站同时在线的商品要超过10万件已超过一些大超市。 不受地理位置影响。不管客户离店有多远,也不管顾客是国内还是国外,在网上,客户一样可以很方便地找
4、到并购买商品。这令消费群体突破了地域的限制,变得无限广阔了。3 系统分析3.1 可行性分析通过调查发现:1. 目前国内市场尚缺具有相当规模和专业程度的网上购物企业。国内在线零售网站在资金上的缺乏使得网上购物不能迅速扩大业务规模和品牌效应,在未来电子商务产业进入高速成长期后,也难以满足客户们对品种、服务、价格方面的要求。2. 目前国内网络消费群体尚未到位。目前国内有消费意愿和消费能力的网民多数处于16-25 岁的低收入阶段,而且消费偏好更倾向于网络游戏、无线增值业务、在线影视娱乐等休闲娱乐服务,而非网上购物。3. 目前国内网络消费环境尚
5、不完善,网上购物立法匮乏,与传统购物环境相比,网上购物在售后服务、质量保障、等方面仍然难以让消费者放心。信用体制、网上支付、物流网络三大瓶颈也仍有待解决。4. 尽管目前国内网上商品较多,但是品种细分却还远远不够,对比传统的线下零售,可 选择的余地相对还非常少,导致电子零售市场规模现阶段仍然难以与传统大型商场、超市所创造的经济价值相提并论。5. 尽管日用百货销售价格较低、利润空间较小,但相对于传统百货业,电子零售可以大大节约新增店铺成本,具备无限制容纳大客流、无限制陈列商品的优势。参照国际上在线商店的发展经验,消费需求较大的百货商品同样适合通过互联网实现
6、分销。6. 尽管资本投入不足一直是中国电子零售产业发展滞后的根本原因,2007年,中国网上购物市场还是开始呈现出百花争鸣甚至混业经营的局面。愈来愈多的运营商渡过了互 联网的寒冬,愈来愈多的网民加入了互联网消费大军,愈来愈多的商品出现在互联网上。7. 中国网上购物市场的基础环境越来越稳定,淘宝、易趣、当当、卓越等网上购物网已成为广大网民网上购物的场所。随着我国经济持续快速的增长,人民生活水平的提高,中国电信网络规模的壮大,电脑的普及率的提高、计算机技术的发展以及政府多层次多角度推动,网上购物市场越来越火暴,会逐渐发展及形成人们购物的主要形式。随着网络应用的不断发展,电子商务的
7、理念也深入网民心中,能够呆在家中就能享受到超值购物的乐趣,网上购物带来的方便;而商家也无需真实的店铺就能开店赚钱。这便是新信息时代带给人们的便利生活。本电子商务网站就是实现网上开店和购物的方案之一。3.2 需求分析如今网上购物是网络服务的一大热点,几乎各大著名网站都提供此类服务。这项服务在网络上也日益趋向成熟,因此提出此项需求来模拟网上购物。此购物系统主要实现以下功能:登录模块、个人信息管理模块、浏览商品模块、购物车管理模块、支付管理模块、个人订单管理模块用户信息管理模块、商品管理模块、商品分类管理模块、订单管理模块、销售统计模块。3.3系统架构 图 3-1本系统采用mvc
8、模型三层架构来降低系统各层之间的耦合程度。m代表模型model,v代表视图view,c代表控制器controller。mvc的目的是增加代码的重用率,减少数据表达,数据描述和应用操作的耦合度。同时也使得软件可维护性,可修复性,可扩展性,灵活性以及封装性大大提高。mvc设计模式由三部分组成。模型是应用对象视图表示它在屏幕上的显示,代表流向用户的数据。控制器定义用户界面对用户输入的响应方式,负责把用户的动作转成针对 model 的操作。model 通过更新 view 的数据来反映数据的变化。4 总体设计4.1 设计目标电子商务网站是基于b/s架构设
9、计的商务系统,本电子商务网站仅仅是实现网上开店和购物的方案之一。系统要完成以下十三个模块,前台:登录模块、个人信息管理模块、浏览商品模块、购物车管理模块、支付管理模块、个人订单管理模块。后台:用户信息管理模块、商品管理模块、商品分类管理模块、订单管理模块、销售统计模块。4.2 开发及运行环境硬件平台:? cpu:p4 2.0ghz;? 内存:512mb以上。软件平台:? 操作系统:windows xp sp2;? 数据库:sql server 2000;? 开发工具包:jdk version1.5.2;? jsp服务器:tomcat;? 浏览器:ie6.0;? 分辨率:最佳效果102
10、4*768像素。4.3系统功能设计系统工作模型: 图 4-1网上购物系统前台功能图: 图 4-2网上购物系统后台功能图: 图 4-3系统用例图 图 4-4网上购物流程图: 图 4-5数据流图: 图 4-64.4数据库设计e-r图: 图 4-8表汇总:表名 功能说明用户信息表(users) 用户基本信息管理商品分类表 (category) 商品分类信息管理商品信息表 (product) 商品基本信息管
11、理商品评论表 (comment) 评论基本信息管理销售表(salesitem) 销售商品基本信息管理管理员表(manager) 管理员基本信息管理订单表 (salesorder) 订单基本信息管理新闻表(news) 新闻信息管理 表 4-1订单表:表名 users(订单表)列名 数据类型(精度范围) 空/非空 约束条件id (订单id) int not null unique,primary keyostate(订单状态) char(1) not null (ostate = 0or ostate = 1
12、or ostate = 2)name (姓名) varchar(20) not null address(地址) varchar(50) not null telephone(联系方式) varchar(20) not null odate(订单日期) date not null postcode(邮政编码) number(10,3) not null uid(用户id) int not null references person(pid)补充说明 状态0未付款未出货,状态1付款未出货,状态2付款已出货表 4-2用户信息表:表名 userinfo(用户
13、信息表)列名 数据类型(精度范围) 空/非空 约束条件userid(用户id) int not null unique,primary keyusername(用户登录名) varchar(20) not null password(密码) char(16) not null email(邮箱) varchar(20) not null rdate(注册日期) datetime addr(地址) varchar(30) phone(联系电话) char(18) 表 4-3商品信息表:表名 product (商品表)列名 数据类型(精度范围) 空/非空 约束条件id(商品id) int
14、 not null unique,primary keyname(商品名称) varchar(20) not null description(商品描述) varchar(100) not null imgpath(商品图片) varchar(50) not null normalprice(普通价) int not null memberprice(会员价) int not null sid (商品分类id) int not null references secondsort(sid)表 4-4商品评论表:表名 comment (商品评论表)列名 数据类型(精度范围)
15、空/非空 约束条件cid (评论id) int not null unique,primary keymessage(评论信息) varchar(100) not null name(评论者) varchar(20) not null cdate(评论日期) date not null productid (商品id) int not null references goods(gid)表 4-5销售表:表名 salesitem(销售表)列名 数据类型(精度范围) 非空约束 主外键约束id (销售表id) integer not null unique,prima
16、ry keyproductid (商品id) integer not null references goods(gid)pcount (销售数量) integer not null orderid(订单id) integer not null references order(oid)unitprice(总价价) number not null 补充说明 该表存放销售货物的信息.其中发货状态用0和1标示,0表示未发货,1表示已发货.由发货状态确定日期为订单日期还是发货日期表 4-6商品分类表:表名 category(商品分类表)列名 数据类型(精度范围) 约束条件 主外键
17、约束id (分类表id) integer not null unique,primary keypid(父分类) integer not null name (商品分类名称) varcharv(20) not null desc(商品分类描述) varchar(50) not null grade(商品等级) integer 补充说明 将商品分类表 4-7管理员表:表名 manager(管理员表)列名 数据类型(精度范围) 约束条件 主外键约束id(管理员表id) integer not null unique,primary keyname(管理员名称) varchar(
18、20) not null password(密码) varchar(20) not null 补充说明 根据管理员权限分辨管理员的级别,从而实现不同的操作表 4-8新闻表:表名 news(新闻表)列名 数据类型(精度范围) 约束条件 主外键约束nid(资讯表id) integer not null unique,primary keytitle(新闻标题) varchar2(50) not null author(作者) varchar(20) not null content(新闻内容) varchar2(1000) not null ndate(新闻发布日期) date not null
19、补充说明 表 4-95详细设计5.1 普通用户管理 注册新用户:填写必要的信息,否则不能注册。将注册后的信息保存到数据库,成功后跳转到登陆界面。注册界面 用户注册代码:public boolean reguser(user u) boolean result = false;string sql = "insert into users values(?,?,?,?,getdate()"connection conn = null;preparedstatement smt
20、;= null;resultset rs = null;try conn = dbutil.getconnection();smt = conn.preparestatement(sql);smt.setstring(1, u.getusername();smt.setstring(2, u.getpassword();smt.setstring(3, u.getphone();smt.setstring(4, u.getaddr();int i = smt.executeupdate();if (i > 0)
21、0;result = true; catch (sqlexception e) e.printstacktrace(); finally dbutil.close(rs);dbutil.close(smt);dbutil.close(conn);return result;用户登陆:用户必须具备登陆账号才可以登录系统。填写登陆信息->提交登陆信息->获取登陆信息请求->找到合适的业务逻辑bean进行处理->拼装sql语句,发往数据库执行->返回操作结果信息->根据反馈结果信息,进行下一步操作登陆界面 用户登陆
22、代码:public boolean validateuser(string name, string password) boolean result = false;string sql = "select * from users where username='" + name+ "' and password='" + password + "'"connection conn = nu
23、ll;statement smt = null;resultset rs = null;try conn = dbutil.getconnection();smt = conn.createstatement();rs = smt.executequery(sql);while (rs.next() result = true; catch (sqlexception e) e.printstacktrace(); finally dbutil.close(rs);dbuti
24、l.close(smt);dbutil.close(conn);return result;用户修改密码:用户必须登录系统系统后才能修改密码。修改密码界面 用户修改密码代码:public boolean modifypassword(string username, string newpassword) boolean result = false;string sql = "update users set password='" + newpassword+ "' wher
25、e username='" + username + "'"connection conn = null;statement smt = null;conn = dbutil.getconnection();try smt = conn.createstatement();int i = smt.executeupdate(sql);if (i > 0) result = true; catch (sql
26、exception e) e.printstacktrace(); finally dbutil.close(smt);dbutil.close(conn);return result;用户修改信息:用户必须先登陆才能修改个人信息。电话号码和地址必须按照提示填写,否则不能修改。修改信息 用户购买商品可以使用购物车添加多个商品:用户选择需要的商品点击购买,商品会添加到购物车去可以修改商品数量,点击继续购买商品,重复上一步操作。购物车添加商品 购物车代码:public void addcartitem(cartitem c)iterator it=items
27、.iterator();while(it.hasnext()cartitem i=it.next();if(i.getproduct().getid()=c.getproduct().getid()i.setcount(i.getcount()+1);return;items.add(c);用户购买完商品后进行结算要填写必要的信息: 用户下完订单查看价格是否正确: 用户购买商品完成等待卖家发货: 用户查看账户: 用户查看订单:用户必须登录系统,点击订单状态,服务器将订单信息从数据库中取出并在页面显示。 5.2 游客浏览商品游客浏览主页
28、面: 游客搜素产品:在商品搜索框中输入产品名称并选择所有类别中的分类,然后单击搜素按钮。 查看商品的详细信息(点击商品的名称): 查看商品的详细信息的代码:public product getproduct(int pid) connection con = dbutil.getconnection();string sql = "select * from product where id=" + pid + ""statement st
29、60;= null;resultset rs = null;product pro = new product();try st = con.createstatement();rs = st.executequery(sql);while (rs.next() pro.setid(rs.getint("id");pro.setname(rs.getstring("name");pro.setdescr(rs.getstring("descr");pro.setno
30、rmalprice(rs.getdouble("normalprice");pro.setmemberprice(rs.getdouble("memberprice");pro.setpdate(new date(rs.getdate("pdate").gettime();pro.setcid(rs.getint("cid");pro.setimgpath(rs.getstring("imgpath");pro.setstatus(rs.getint("status"); c
31、atch (sqlexception e) e.printstacktrace(); finally dbutil.close(st);dbutil.close(rs);dbutil.close(con);return pro;5.3 管理员管理信息管理员登陆:必须是管理员才能登陆。 管理员管理用户: 管理员管理产品分类,查看顶层分类信息(可以修改和删除顶层分类):管理员登陆进入后台之后,单击类别管理,选择类别列表就可以修改或者删除想要修改的分类。 修改和删除顶层分类的代码:/修改顶层分类public boolean mod
32、ifyproduct(product product) connection con = dbutil.getconnection();string sql = "update product set name=?,descr=?,normalprice=?,memberprice=?,cid=?,status=? where id="+ product.getid();boolean result = false;preparedstatement pst = null;try pst = c
33、on.preparestatement(sql);pst.setstring(1, product.getname();pst.setstring(2, product.getdescr();pst.setdouble(3, product.getnormalprice();pst.setdouble(4, product.getmemberprice();pst.setint(5, product.getcid();pst.setint(6, product.getstatus();int rest = pst.executeupdate();if (rest
34、> 0) result = true; catch (sqlexception e) e.printstacktrace(); finally dbutil.close(pst);dbutil.close(con);return result;/删除顶层分类public boolean deleteproduct(int pid) connection con = dbutil.getconnection();string sql = "delete from product where
35、 id=" + pid;boolean result = false;statement st = null;try st = con.createstatement();int rest = st.executeupdate(sql);if (rest > 0) result = true; catch (sqlexception e) e.printstacktrace(); finally dbutil.close(st);dbutil.clo
36、se(con);return result;管理员管理产品分类,添加顶层分类: 管理员管理产品分类,添加子分类:要添加子分类必须要选择在父分类下才能添加,否则会出现错误。 管理员管理产品,查看所有的商品,可以对商品进行修改和删除:管理员根据产品id对产品进行修改和删除。 管理员管理产品,添加商品:管理员填写商品的详细信息,并选中所添加商品的类别。 管理员管理订单,查看订单:管理员可以查看每个订单的详细信息,比如购买的商品和发货状态。 查看订单代码:public list getallorder()connection con = db
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年版再婚夫妻离婚规定3篇
- 梅河口康美职业技术学院《数学课程与教学》2023-2024学年第一学期期末试卷
- 眉山药科职业学院《扩声技术》2023-2024学年第一学期期末试卷
- 2024年物流运输服务合同标的详细描述
- 马鞍山学院《形态学整合实验》2023-2024学年第一学期期末试卷
- 2024年劳动合同样本新编3篇
- 2024年标准化电脑与办公设备采购协议范例版B版
- 漯河医学高等专科学校《职业教育经济学》2023-2024学年第一学期期末试卷
- 漯河食品职业学院《植物营养诊断与施肥(实验)》2023-2024学年第一学期期末试卷
- 2024年创新型门面房租赁合作协议6篇
- NB∕T 13007-2021 生物柴油(BD100)原料 废弃油脂
- GB/T 20624.2-2006色漆和清漆快速变形(耐冲击性)试验第2部分:落锤试验(小面积冲头)
- GB/T 12771-2019流体输送用不锈钢焊接钢管
- GB/T 10125-2012人造气氛腐蚀试验盐雾试验
- 维修电工-基于7812稳压电路(中级)-动画版
- PV测试方法简介-IV
- 病理学实验切片考试图片授课课件
- 2021离婚协议书电子版免费
- 国家开放大学《组织行为学》章节测试参考答案
- 电子课件机械基础(第六版)完全版
- 临沂十二五城市规划研究专题课件
评论
0/150
提交评论