当当网网上销售系统的分析与设计Word格式.docx
《当当网网上销售系统的分析与设计Word格式.docx》由会员分享,可在线阅读,更多相关《当当网网上销售系统的分析与设计Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
![当当网网上销售系统的分析与设计Word格式.docx](https://file1.bdocx.com/fileroot1/2022-12/12/f7de8e88-a23f-4089-927f-d875d253756a/f7de8e88-a23f-4089-927f-d875d253756a1.gif)
(3)交易管理
交易成功后,保留交易记录,商家,买家都可以查看交易记录。
(4)用户管理
商家对用户进行管理,可以修改用户信息和分组管理等,买家登录系统可以修改自己的信息。
2.2用例描述
商品管路是商家对商品进行管理,买家查看商品。
具体描述如下:
用例描述:
商品管理
执行者:
商家,买家。
前置条件:
商家登录系统,买家登录系统。
后置条件:
下定单。
基本路径:
(a)商家登录系统后,根据仓库的商品信息,将商品信息发布到系统。
(b)商家可以查看商品基本信息和库存信息,可以对信息进行修改。
(c)买家查看商品信息后,下订单。
(d)商家发货后,对商品库存信息进行修改。
订单管理中买家下订单,商家处理订单
订单管理
商家发布商品信息,买家查看。
交易成功否。
(a)商家登录系统后,根据仓库的商品信息,将商品信息发布到系统。
(b)商家可以查看商品基本信息和库存信息,可以对信息进行修改。
(c)买家查看商品信息后,下订单。
(d)商家发货后,对商品库存信息进行修改。
商家买家查看你交易信息,处理交易信息。
交易管理
交易成功。
查看历史交易信息。
(a)商家登录系统后,更改商品交易信息。
(b)买家登录系统后查看商品历史交易信息。
(c)商家查看历史交易信息。
主要显示执行者是否有权限对此系统进行操作。
商家登录系统,对用户进行管理。
用户通过注册名和密码登陆。
商家进行操作管理。
(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:
);
}
elseif(sqlmethod.mathuser(arr)==-1||userpwd.Value=="
)
{pwdLab.Text="
密码或用户名错误"
pwdLab.Attributes.Add("
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"
/>
orderResponseQueueName"
.\private$\OrderResponse"
/appSettings>
实现订单提交功能主要代码如下。
publicvoidPlaceOrder(){
MessageQueueorderQueue=newMessageQueue(ConfigurationManager.AppSettings["
]);
Messagemsg=newMessage();
msg.UseDeadLetterQueue=true;
msg.Body=po;
using(TransactionScopescope=newTransactionScope(TransactionScopeOption.Required)){
orderQueue.Send(msg,MessageQueueTransactionType.Automatic);
scope.Complete();
orderMessageID=msg.Id;
}
提交订单后,服务器会对订单进行响应,商家对订单进行处理后,会将消息反馈给买家,买家收到消息后,系统自动显示出来,实现代码如下。
publicvoidDisplayOrderStatus(){
MessageQueueorderResponseQueue=newMessageQueue(ConfigurationManager.AppSettings["
boolresponseReceived=false;
orderResponseQueue.MessageReadPropertyFilter.Correlation-
Id=true;
while(!
responseReceived){
MessageresponseMsg;
using(TransactionScopescope2=newTransactionScope
(TransactionScopeOption.Required))
{
responseMsg=orderResponseQueue.Receive(MessageQueueTransactionType.Automatic);
scope2.Complete();
responseMsg.Formatter=newSystem.Messaging.XmlMessage-
Formatter(newType[]{typeof(PurchaseOrder)});
PurchaseOrderresponsepo=(PurchaseOrder)responseMsg.Body;
if(orderMessageID==responseMsg.CorrelationId){
responseReceived=true;
orderstate.Text=responsepo.poNumber;
statelab.Text="
+responsepo.Status;
else{
statelab.Text="
StatusofpreviousOrder”}
OrderID-{0},OrderStatus-{1}"
responsepo.poNumber,responsepo.Status;
}}}
四、结论与体会
当当网具有一个实用性的面向服务的数据库管理信息系统。
系统主要实现了商品和用户的增删查改等功能,买家同时能提交订单给商家,商家可以接收订单消息进行处理。
本论文采用面向对象的方法进行分析和设计,分析设计非常合理,系统功能齐全,界面清新美观。
将课堂上的知识充分运用到了实际系统实现中。
数据库知识、C#等知识得到了进一步的巩固。
系统在设计的过程不可避免的会遇到一些问题,由于设计此系统的时间有限,还有之前对中间件知识的很不熟悉,和自身经验的不足,系统还存在很多的不足之处:
(1)在一些数据输入时没有及时的进行数据格式校验,不能保证数据输入的绝对正确性
(2)在买家提交订单后,等待商家反馈订单处理状态时没能实现只用了同步的方式,未能实现异步的方式。
(3)有些功能尚未完善,使用起来不是很方便,比如说在商家对用户进行组管理时,必须返回上页查看组的信息,在将用户分组。
没有实现点击一下直接显示所有分组以供选择的对话框。
这些都是需要完善的地方,该系统离实际使用也还有相当的距离,需要我今后进行不断地补充和完善。
在完成该系统的设计中,我学到了不少新的东西,也发现了大量的问题,有些在设计过程中已经解决,有些还有待今后慢慢学习。
只要学习就会有更多的问题,有更多的难点,但也会有更多的收获。