网上商城系统的分析及设计.docx
- 文档编号:12219166
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:22
- 大小:641.79KB
网上商城系统的分析及设计.docx
《网上商城系统的分析及设计.docx》由会员分享,可在线阅读,更多相关《网上商城系统的分析及设计.docx(22页珍藏版)》请在冰豆网上搜索。
网上商城系统的分析及设计
网上商城系统的分析及设计
LT
1、概述
摘要:
近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。
于是电子商务开始流行起来,越来越多的商家在网上建起在线商店,向消费者展示出一种新颖的购物理念。
网上购物系统作为B2B,B2C(BusinesstoCustomer,即企业对消费者),C2C(CustomertoCustomer,即消费者对消费者)电子商务的前端商务平台,在其商务活动全过程中起着举足轻重的作用。
本文对如何开发出一个具有基本网上交易功能的B2C网上商城,给出了具体的指导。
主要介绍基于UML的B2C网上商城系统分析与设计的基本内容。
对B2C网上商城的例图、顺序图、活动图、类图数据库设计和jSP编程等,都提出了具有针对性的解决方法。
1.系统开发背景与意义
1.1系统开发背景
随着计算机和网络的日趋普及,越来越多的商家在网上升起商店,向消费者展示出一片新鲜的购物大地。
在美、日等信息化程度较高的国家和地区,网络商店发展速度迅猛,美国的世界级超一流的零售商,如沃尔玛凯玛特、家庭仓储、科罗格、J.C培尼等纷纷跻身于网络经商的行列。
调查表明:
美国的家庭已越来越习惯于在家中从网上购物。
在我国,网上购物从无到有也不过短短几年时间。
我国第一家网上购物发生在1996年,燕莎友谊商场首次通过网上商城售出一个景泰蓝,虽然货款的支付不是在网上进行的,但这毕竟为我国零售业奏出了网上购物的先声。
如今,在北京、上海、深圳等大城市,已有200多家商场,专卖店开设了网上商店,还有一些正处在观望阶段。
真正意义上的网上购物,即货款的结算在网上进行,已在国内实现。
深圳无虹商场去年5月开办了我国第一家实行计单和支付一体上的网上商店,上网的消费者只要拥有一张招商银行的“一卡通”,便可轻松购物,24小时内商家送货上门。
商家投资网上商店目的是赚钱。
但从目前网上商店的运营情况来看,上网者不购物、购物者不上网的现象非常普遍,网上生意渗淡已是目前各大网上商店共同的困惑。
上海首家网上商店——上海亿样购物中心由于经营不善,开业不到半年即关门停业,北京的一些大型零售商场,其网上商店“门庭冷落”。
结算方式的原始落后是网上购物致命的弱点。
在国外,计算机一般都与银行的帐户相联,消费者和网络商店只需和网上银行打交道,不必当面直接支取现金。
在我国目前除淘宝、拍拍等几家网上商店进行网上购物结算外,大部分商家结算只能采取“送货上门、到货付款”或“邮寄上门、贷款邮资先付”的方式。
这样不但浪费了时间和人力,而且限制了网络的覆盖范围和商品的结构种类。
因此,安全、快捷、方便的电子支付手段将是今后网上商店健康发展的主要要素。
1.2系统开发意义
从系统的背景来看,可以看出开发一个网上购物系统有以下几点重大的意义:
a.投资少,回收快。
一项针对中国中小企业的情况调查显示,个人在网下启动销售公司的平均费用至少5万元,而网上开店建店成本非常小。
一般说,筹办一家网上的商店投入很小,不用去办营业执照,不用去租门面,不用囤积货品,所需资金不过1500元左右;网上商店比同等规模的地面商店“租金”要低得多,同时租金不会因为营业面积的增加而增加,投资者也不用为延长营业时间而增加额外的费用。
b.基本不需要占压资金。
传统商店的进货资金少则几千元,多则数万元,而网上商店则不需要压资金。
c.24小时营业时间。
网上商店延长了商店的营业时间,一天24小时、一年365天不停地运作,无须专人值班看店,都可照常营业。
传统店铺的营业时间一般为8-12小时,遇上坏天气或者老板、店员有急事也不得不暂时休息。
d.不受店面空间的限制。
哪怕只是街边小店,在网上却可以拥有百货大楼那么大的店面,只要投资者愿意,可以摆上成千上万种商品。
目前国内最大的专业拍卖网站同时在线的商品要超过10万件,已超过一些大超市。
e.不受地理位置影响。
不管客户离店有多远,也不管顾客是国内还是国外,在网上,客户一样可以很方便地找到并购买商品。
这令消费群体突破了地域的限制,变得无限广阔了。
1.3网上购商城系统的技术现状分析
目前在国内购物系统的开发,PHP与ASP技术应用最为广泛。
但在国外,JSP已经是比较流行的一种技术,尤其是电子商务类的网站,多采用JSP。
采用PHP的网站如新浪网(sina)、中国人(Chinaren)等,但由于PHP本身存在的一些缺点,使得它不适合应用于大型电子商务站点,而更适合一些小型的商业站点。
首先,PHP缺乏规模支持。
其次,缺乏多层结构支持,对于大负荷站点,解决方法只有一个:
分布计算。
数据库、应用逻辑层、表示逻辑层彼此分开,而且同层也可以根据流量分开,组成二维阵列,而PHP则缺乏这种支持。
还有上面提到过的一点,PHP提供的数据库接口支持不统一,这就使得它不适合运用在电子商务中。
ASP是Microsoft开发的动态网页语言,也继承了微软产品的一贯传统,即只能运行于微软的服务器产品,IIS(InternetInformationServer)(windowsNT)和PWS(PersonalWebServer)(windows98)上。
Unix下也有ChiliSoft的插件来支持ASP,但是ASP本身的功能有限,必须通过ASP+COM的组合来扩充,Unix下的COM实现起来非常困难。
JSP则没有以上缺陷,JSP可以通过SUNJava的JavaClass和EJB获得规模支持,通过EJB/CORBA以及众多厂商的ApplicationServer获得结构支持。
三者中,JSP应该是未来发展的趋势。
世界上一些大的电子商务解决方案提供商都采用JSP/Servlet。
比较出名的如IBM的E-business,它的核心是采用JSP/Servlet的WebSphere;西方另外一个非常著名的电子商务软件提供商Intershop,它原来的产品Intershop1,2,3,4占据了主要的电子商务软件份额。
它们都是通过CGI来提供支持的。
但去年10月后它推出了Enfinity,一个采用JSP/Servlet的电子商务ApplicationServer,而且声言不再开发传统软件。
总的来说,ASP、PHP、JSP三者都有相当数量的支持者,而这三者也各有所长,在开发过程中,我们应该根据实际的需要来使用最合适的技术,本系统则采用较JSP技术,一方面JSP的安全性和跨平台性比较好,另一方面,我也希望能从开发该系统的过程中,深入学习一下这门编程语言。
2.网上商城管理系统需求分析
2.1可行性分析
经济可行性:
小型的系统,只需要在网络上下载所需的软件设备,所需成本较低,同时前期准备相对充分,经济成本低。
技术可行性:
软件技术可行性——本系统使用JSP.net语言编写网上商城的框架,后台数据库使用MySQL,服务器主要采用tomcat。
现有的技术及软硬件设备都是实习对软件的开发,因此在软件技术上具备条件。
同时,本系统中程序与数据集中存放,可以系统维护成本低,服务器处理任务的速度较快。
操作可行性:
系统开发人员在具备一定的开发语言基础,同时对数据库的操作比较熟练,时间安排以及人员分工上配合较好。
2.2系统功能需求
(1)用例图:
系统的使用者主要有普通用户,顾客和后台管理员,主要用例如下。
通过对淘宝网,拍拍等网上购物的认识和分析,我对网上购物有了基本的了解,我觉得该系统至少应该具有以下的一些基本功能:
注册管理:
能够对用户名,密码的简单验证。
商品浏览:
分类显示商品;显示商品详情,提供购买链接;可以对商品进行模糊查询。
浏览商品时不要求用户登录,但下订单前用户必须登录,对于浏览过的商品有历史记录。
(前台用户的功能)
购物车管理:
欲购买商品可以增添到购物车;也可以从购物车退回商品,清空购物车;对于同一件商品的多次购买只能在原来的商品上增添数量,还可以修改购物车中某个商品的数量,统计商品总金额。
(前台用户的功能)
订单管理:
只有登录的用户可下订单;用户可以查看自己的订单。
管理员可以修改订单的状态。
商品管理:
管理员可以增添商品分类;修改商品基本信息;增添商品时候可以上传图片。
统计信息管理:
对所有信息的统计和分析,按照管理的需要生成各种报表。
基于上述分析,设计出该网上商城的系统功能模块图:
3.网上商城管理信息系统分析
(1)用户状态图分析
(2)时序图
会员下订单的时序图:
管理员处理订单的时序图
(3)类图分析:
4.网上商城管理信息系统设计
4.1数据库设计
User表
Category表
Product表
Saleorder表
Salesitem表
4.2界面设计
4.2.1网站首页
.
4.2.2.用户注册
注册模块的IPO
1.功能
在首页点击“注册”超链接就进入用户注册页面。
用户填写注册信息并提交,系统将用户的注册信息插入数据库,提示注册成功。
2.输入
输入用户名、密码、确认密码、地址、联系电话。
3.处理
(1)输入用户资料。
在register.jsp页面显示等待用户输入的表单。
用户填写相应的资料,点击“提交”按钮,数据被提交给register.jsp页面并传递参数。
(2)获取数据。
register.jsp根据参数的值(add)判断当前为添加数据操作,register.jsp读取表单提交的数据。
(3)连接数据库。
将用户填写的资料插入到数据库中。
(4)系统显示用户注册成功信息。
提示用户注册成功并在页面中显示用户的注册信息。
4.输出
输出注册成功页面。
部分代码:
<%
request.setCharacterEncoding("GBK");
Stringaction=request.getParameter("action");
if(action!
=null&&action.trim().equals("register")){
Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
//Stringpassword2=request.getParameter("password2");
Stringphone=request.getParameter("phone");
Stringaddr=request.getParameter("addr");
Useru=newUser();
u.setUsername(username);
u.setPassword(password);
u.setPhone(phone);
u.setAddr(addr);
u.setRdate(newDate());
u.save();
out.println("注册成功!
恭喜!
");
return;
}
%>
4.2.3.会员登录
Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
try{
Useru=User.check(username,password);
session.setAttribute("user",u);
}catch(UserNotFoundExceptione){
out.println(e.getMessage());
return;
}catch(PasswordNotCorrectExceptione){
out.println(e.getMessage());
return;
}
Stringpath=request.getContextPath();
StringbasePath=request.getScheme()+":
//"+request.getServerName()+":
"+request.getServerPort()+path+"/";
%>
4.2.4.下单
购物车模块的IPO
1.功能
用户在查看商品详细信息页面点击“购买”按钮,该商品就被加入到用户的购物车中。
用户在购物车页面可以查看已购买的商品、修改数量或删除商品。
2.输入
用户选择点击购物车页面的某个商品链接。
3.处理
(1)显示用户已购买的商品。
显示商品的名称、数量、单价、和总价。
(2)获取数据。
用户在修改商品数量或删除商品后,如果点击“继续购物”链接则返回到浏览商品页面继续购物,如果点击“确认订单”链接就将表单数据提交给confirmOrder.jsp进行处理。
(3)连接数据库。
confirmOrder.jsp和数据库连接,然后生成SQL语句将数据插入到数据库中。
之后清空用户购物车中的数据,生成订单。
(4)显示提示信息。
弹出对话框提示用户订单已经确认。
4.输出
输出显示已经生成的订单信息。
<%
request.setCharacterEncoding("GBK");
Useru=(User)session.getAttribute("user");
if(u==null){
response.sendRedirect("UserLogin.jsp");
return;
}
Cartc=(Cart)session.getAttribute("cart");
if(c==null){
c=newCart();
session.setAttribute("cart",c);
}
Stringaddr=request.getParameter("addr");
u.setAddr(addr);
intorderId=u.buy(c);
session.removeAttribute("cart");
%>
单已下!
号:
<%=orderId%>
4.2.5.管理员登陆
<%
Stringaction=request.getParameter("action");
if(action!
=null&&action.equals("login")){
Stringusername=request.getParameter("username");
Stringpassword=request.getParameter("password");
if(!
username.equals("admin")||!
password.equals("admin")){
out.println("usernameorpasswordnotcorrect!
");
return;
}
session.setAttribute("admin","admin");
response.sendRedirect("admin/AdminIndex.jsp");
}
%>
4.2.
6.类别管理
4.2.7.产品管理
添加商品模块的IPO
1.功能
本模块主要实现管理员为商城添加新商品的功能。
2.输入
输入商品名称、商品规格、商品价格、折扣、商品库存、商品图片和详细说明。
3.处理
(1)输入商品资料。
管理员在addProduct.jsp填写表单输入商品的相关资料,点击“提交”按钮将表单提交给addProduct.jsp页面。
(2)获取数据。
addProduct.jsp读取表单数据和参数进行添加数据操作。
(3)连接数据库。
建立数据库连接,将数据插入到数据库中。
(4)显示提示信息。
显示商品添加成功页面。
4.输出
输出新商品添加成功页面。
<
%
List
for(inti=0;i Categoryc=categories.get(i); StringpreStr=""; for(intj=1;j preStr+="--"; } %> 4.2.8.订单管理 订单管理模块的IPO 1.功能 本模块主要实现网站订单管理功能,包括分页显示所有订单、查看订单信息、修改订单状态和删除订单。 2.输入 选择不同的订单。 3.处理 (1)显示所有订单。 显示数据库中的所有订单信息供管理员浏览。 (2)获取查询的订单。 ordersManage.jsp以分页的方式显示所有用户的订单信息,其中的“订单状态”是管理员可以修改的字段。 管理员可以对订单进行修改和删除操作。 (3)连接数据库。 建立数据库连接,根据提交的订单id生成SQL语句执行查找或删除操作。 (4)显示操作结果。 显示操作结果提示页面。 4.输出 输出操作结果提示页面。 <%! privatestaticfinalintPAGE_SIZE=2; %> <% StringstrPageNo=request.getParameter("pageno"); intpageNo=1; if(strPageNo! =null){ pageNo=Integer.parseInt(strPageNo); } if(pageNo<1)pageNo=1; %> <% //getalltheusers List inttotalRecords=OrderMgr.getInstance().getOrders(orders,pageNo,PAGE_SIZE); inttotalPages=(totalRecords+PAGE_SIZE-1)/PAGE_SIZE; if(pageNo>totalPages)pageNo=totalPages; %> <% intid=Integer.parseInt(request.getParameter("id")); SalesOrderso=OrderMgr.getInstance().loadById(id); Stringaction=request.getParameter("action"); if(action! =null&&action.equals("modify")){ intstatus=Integer.parseInt(request.getParameter("status")); so.setStatus(status); so.updateStatus(); } %> 学习总结 1.收获很大案例+看书,反复几次,学的会更好 2.个人认为结构化分析方法长处在于系统分析,通过对数据流的把握,能够很好的定位系统功能。 而面向对象的方法优势在设计,最终设计的结果就是类图,包括属性和方法,直接供程序员使用。 3.对于uml中的类图,顺序图可以用在系统分析,也可以用在系统设计。 类图在系统分析阶段叫做概念类,在系统设计阶段叫设计类。 顺序图可以分析用例图的一个功能概况,也可以分析程序类之间的消息调用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上商城 系统 分析 设计