资源描述
当当网网上销售系统的分析与设计
19
2020年4月19日
文档仅供参考
当当网网上销售系统的分析与设计
一、概述
网上书店是一种高质量,更快捷,更方便的购书方式。首先,网上书店将所有的图书信息清晰的呈现在购书者面前,而且能够实现零库存,降低销售成本,同时网上书店的交易突破了时间和空间的限制,实现全球服务正是由于这些优势,网上书店才能得以迅速地发展。网上书店的迅速发展给电子商务的发展提供了巨大的契机,但网上书店系统设计还出现许多问题,如网上书店在资金的周转过程中容易出现资金的流失的问题还有网络安全等一直困扰着网络事业发展的问题。因此我们需要不断更新、不断提高网上书店的发展,及时的发现系统的不足,查缺补漏,尽力实现网上交易的安全性,以满足顾客的需求为基准,将网上书店的系统设计实现网上书店操作的系统化、智能化、简洁化和功能化。因此我从这几方面着手分析当当网的网上销售系统的分析与设计。
二、需求获取
1、定义使用者
使用者就是在系统中进行操作的人,在当当网中顾客就是当当网的主要使用者。我们暂且能够把顾客分成两类,一类是已注册的,一类是还没注册的。一般来说没有注册的顾客主要在网站内浏览很少会购买,而注册过的顾客忠诚度相对高一些,而且顾客注册时填写了用户资料,当她们订购时就不用再次输入这些资料,并享有相应的会员服务。同时网站的管理员,能够进行顾客管理,商品管理,订单管理、系统维护等一系列操作。
2、确定用例
2.1、用例简介
(1)商品管理
商家对商品进行管理,买家对商品进行查看。
(2)订单管理
买家经过系统下订单,商家经过系统接受订单后,进行操作,管理商品库存和交易记录等信息
(3)交易管理
交易成功后,保留交易记录,商家,买家都能够查看交易记录。
(4)用户管理
商家对用户进行管理,能够修改用户信息和分组管理等,买家登录系统能够修改自己的信息。
2.2用例描述
(1)商品管理
商品管路是商家对商品进行管理,买家查看商品。具体描述如下:
用例描述:商品管理
执行者:商家,买家。
前置条件:商家登录系统,买家登录系统。
后置条件:下定单。
基本路径:
(a) 商家登录系统后,根据仓库的商品信息,将商品信息发布到系统。
(b) 商家能够查看商品基本信息和库存信息,能够对信息进行修改。
(c) 买家查看商品信息后,下订单。
(d) 商家发货后,对商品库存信息进行修改。
(2)订单管理
订单管理中买家下订单,商家处理订单
用例描述:订单管理
执行者:商家,买家。
前置条件:商家发布商品信息,买家查看。
后置条件:交易成功否。
基本路径:
(a)商家登录系统后,根据仓库的商品信息,将商品信息发布到系统。
(b)商家能够查看商品基本信息和库存信息,能够对信息进行修改。
(c)买家查看商品信息后,下订单。
(d)商家发货后,对商品库存信息进行修改。
(3)交易管理
商家买家查看你交易信息,处理交易信息。
用例描述:交易管理
执行者:商家,买家。
前置条件:交易成功。
后置条件:查看历史交易信息。
基本路径:
(a)商家登录系统后,更改商品交易信息。
(b)买家登录系统后查看商品历史交易信息。
(c)商家查看历史交易信息。
(4)用户管理
主要显示执行者是否有权限对此系统进行操作。
用例描述:商家登录系统,对用户进行管理。
执行者:商家,买家。
前置条件:用户经过注册名和密码登陆。
后置条件:商家进行操作管理。
基本路径:
(a)用户经过注册名和密码登陆。
(b)登陆后进行操作,商家能够修改用户信息,进行权限设置,并对用户进行分组管理,买家修改基本信息。
三、系统分析
根据数据和网页体验分析,总结出当当网的数据模块分类如下
同时我们也总结了当当网网上购物的主要流程如下图:
1、系统顺序图
商品购买流程顺序图
商家根据库存信息发布商品信息,买家查看商品信息,商家也可查看商品信息。买家在查看商品信息后,如有购买意向,向商家下订单,商家上线后能够查看订单信息进行处理,商家发货后,修改交易状态和交易信息,买家商家都可查看商品历史交易记录。商品购买流程顺序图如图3-3所示。
图3-3商品购买流程顺序图
2、用户管理顺序图
买家注册,登陆后能够修改开始注册的基本信息,商家登录后能够修改所有的用户信息,并可对用户进行分组管理。用户管理顺序图如图3-4所示。
图3-4用户管理顺序图
3、系统活动图
3.1、商家活动图描述
商家能够查看商品,商家登陆后能够发布商品,查看用户信息,进行用户分组,接受查看订单,查看交易记录,商家查看商品和发布商品后能够对商品信息进行修改,也能够修改用户信息和组信息,商家在接收了订单后能够对订单进行处理(发货还是缺货),商家也能够查看商品的历史交易记录,对商品进行管理。如图3-5所示。
图3-5管理端活动图
3.2买家活动图描述
买家在没有注册的情况下能够查看商品,买家注册,输入自己的基本信息等和设置密码后,用注册的用户名和密码登陆系统,能够查看自己的注册信息,并能修改自己的基本信息和密码,买家查看商品,如果对商品有兴趣,能够进行购买,向商家发送订单,同时买家还能够查看商品的历史交易记录。如图3-6所示。
图3-6客户端活动图
三、系统设计
一个完整的网上书店系统包括以下几个大的最基本的模块:注册登录模块、图书检索模块、图书浏览模块、购物车模块、帮助(客户服务)模块、礼品卡模块、我的账户等。当当网上书店的特色是:有个性化推荐模块,在我的当当里面内容较齐全,个性化设置空间较大。物流方面采取“在地金流模式 一手交钱、一手交货”的脚踏车物流车队形式,提高了结算的安全性,也保证了图书的质量与当当网的信誉。当当网以“Email地址或昵称”为用户名进行登录,保证了登录的全面性。
经过以上的分析,我了解了设计一个网上书店最基本的功能设计,也找到一些需要改进或增加的功能,如:今天的世界趋向于电子书的时代,有些图书不方便外售的能够作为电子书的形式进行交易,这就增加了商机,也满足了购书者对知识的渴求。另一方面,在网上书店不一定都将世界上所有的图书都罗列在网站上,有些没有的图书,能够在网站上设计一个预购模块,来满足购书者的需求。因此我从这几方面着手进行网上书店系统的设计。
其功能图如下:
1、系统主页面的实现
当当网作为网络营销系统,系统的主页面主要是对商品进行展示,主页面上部有一个导航条根据不同的用户登录,导航条上显示的内容不同,能够点击进入进行各自的操作。
在主页面导航条上能够进入注册和登录。在商品显示每一个商品都能查看详细信息和进行购买。
2、买家用户管理实现
买家用户管理模块分为三个功能,分别是注册,登录和修改用户基本信息。买家先注册,登录后,将登录的信息记录到session里面,用来记录登录的用户。在登录界面添加“立即注册”按钮,用户点击此按钮能立即转到注册页面。登录页面如图5-2所示,注册页面如图5-3所示,修改信息页面如图5-4所示。
图5-2 登录页面
登录功能的实现,首先调用dbcom类里面的数据库语句实现取得所有的用户名和密码然后与买家输入的信息进行对比,主要代码如下。
if (usertext.Value == ""){
nameLab.Text = "请输入用户名";
nameLab.Attributes.Add("style", "display:");}
else if (sqlmethod.mathuser(arr)==-1 || userpwd.Value == "")
{ pwdLab.Text = "密码或用户名错误";
pwdLab.Attributes.Add("style", "display:");}
else{ Session["username"] = usertext.Value;}}
注册功能设置了不能重复用户名注册,在用户在所有必填的texbox中输入信息后,点击注册按钮,后来代码调用dbcom类中的数据库插入功能实现新用户的注册。修改用户信息分为修改基本信息和密码两项,基本信息中真实姓名和用户名是不能修改的,在文本框内填入信息后,点击确定按钮分别修改基本信息和密码。
3、买家查看商品下订单
此模块设计时主要考虑了两个功能的实现,一是商品信息的查看,再是订单的提交。提交订单这一功能也成为了本系统的核心功能。
买家从首页点击查看商品详细信息按钮或者购买按钮,进入下订单页面,点击提交订单,经过WCF和MSMQ发送订单信息给商家,商家作为服务端收到买家订单后进行处理,在将处理信息反馈给买家。编制订单页面如图5.5,提交订单后显示订单状态如图所示。
提交订单页面
订单状态页面
订单的提交使用了MSMQ和WCF技术,首先要在服务端建立一个WCF服务,并寄托到某个进程,对买家提交来的订单进行监听。服务端代码的实现在买家处理订单模块会星系介绍。提交订单功能的实现,首先要在本地的消息队列里面建立一个消息队列,存放要发送的消息,如果买家离线,订单先保存在消息队列里面,一旦联机,MSMQ将取到消息发送出去。在web.config里面配置如下。
<appSettings>
<addkey="orderQueueName"value="formatname:DIRECT=OS:.\private$\Orders"/>
<addkey="orderResponseQueueName"value="formatname:DIRECT=OS:.\private$\OrderResponse"/>
</appSettings>
实现订单提交功能主要代码如下。
public void PlaceOrder(){
MessageQueueorderQueue=newMessageQueue(ConfigurationManager.AppSettings["orderQueueName"]);
Message msg = new Message();
msg.UseDeadLetterQueue = true;
msg.Body = po;
using(TransactionScopescope=newTransactionScope(TransactionScopeOption.Required)){
orderQueue.Send(msg,MessageQueueTransactionType.Automatic);
scope.Complete();}
orderMessageID = msg.Id; }
提交订单后,服务器会对订单进行响应,商家对订单进行处理后,会将消息反馈给买家,买家收到消息后,系统自动显示出来,实现代码如下。
public void DisplayOrderStatus(){
MessageQueueorderResponseQueue=newMessageQueue(ConfigurationManager.AppSettings["orderResponseQueueName"]);
bool responseReceived = false;
orderResponseQueue.MessageReadPropertyFilter.Correlation-
Id = true;
while (!responseReceived){
Message responseMsg;
using (TransactionScope scope2=new TransactionScope
(TransactionScopeOption.Required))
{
responseMsg=orderResponseQueue.Receive(MessageQueueTransactionType.Automatic);
scope2.Complete();}
responseMsg.Formatter=newSystem.Messaging.XmlMessage-
Formatter(new Type[]{ typeof(PurchaseOrder) });
PurchaseOrderresponsepo=(PurchaseOrder)responseMsg.Body;
if(orderMessageID==responseMsg.CorrelationId){
responseReceived = true;
orderstate.Text = responsepo.poNumber;
statelab.Text = ""+responsepo.Status; }
else{
statelab.Text ="Status of previous Order” }
OrderID-{0},OrderStatus-{1}",responsepo.poNumber,responsepo.Status;} } }
四、结论与体会
当当网具有一个实用性的面向服务的数据库管理信息系统。系统主要实现了商品和用户的增删查改等功能,买家同时能提交订单给商家,商家能够接收订单消息进行处理。本论文采用面向对象的方法进行分析和设计,分析设计非常合理,系统功能齐全,界面清新美观。
将课堂上的知识充分运用到了实际系统实现中。数据库知识、C#等知识得到了进一步的巩固。
系统在设计的过程不可避免的会遇到一些问题,由于设计此系统的时间有限,还有之前对中间件知识的很不熟悉,和自身经验的不足,系统还存在很多的不足之处:
(1)在一些数据输入时没有及时的进行数据格式校验,不能保证数据输入的绝对正确性
(2)在买家提交订单后,等待商家反馈订单处理状态时没能实现只用了同步的方式,未能实现异步的方式。
(3)有些功能尚未完善,使用起来不是很方便,比如说在商家对用户进行组管理时,必须返回上页查看组的信息,在将用户分组。没有实现点击一下直接显示所有分组以供选择的对话框。
这些都是需要完善的地方,该系统离实际使用也还有相当的距离,需要我今后进行不断地补充和完善。
在完成该系统的设计中,我学到了不少新的东西,也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。
展开阅读全文