文档库 最新最全的文档下载
当前位置:文档库 › 网上商城订单管理模块

网上商城订单管理模块

目录

1.引言 (2)

1.1研究背景 (2)

1.2目的和意义 (2)

2.需求分析 (3)

2.1用户需求 (3)

2.2可行性 (3)

2.3数据流图 (4)

2.4功能需求 (4)

2.5业务流程图 (4)

3.系统设计 (6)

3.1概要设计 (6)

3.2详细设计 (8)

3.3数据库设计 (11)

4.测试分析 (14)

4.1测试目的 (14)

4.2测试需求 (14)

4.3.1单元测试 (14)

4.3.2集成测试 (16)

4.3.3系统测试 (16)

5.设计体会 (16)

参考文献 (17)

网上商城订单管理模块

摘要:网上购物是网络技术应用的产物和一种新的贸易形式。它不仅会改变企业本身的生产、经营、管理活动,而且将影响到整个社会的经济运行与结构。本文中重点阐述了订单管理的分析、设计和具体实现。订单管理分为普通用户订单和管理员管理订单两部分内容,实现了普通用户提交订单,查看自己提交的订单内容。还有管理员对订单的确认、删除等操作。

关键词:网上商城订单订单管理

1.引言

1.1研究背景

网上购物在线网站致力于提供产品展示及订购为核心的网上购物服务宣传自己商店的产品并将自己的产品展现给客户,让客户通过网站便能对自由的选择地购买产品。随着网络技术的日益成熟,网络购物已经成为引领潮流的购物方式,尤其是在一些出门购物并不是十分便利的地区,网上购物的优势更是体现的淋漓尽致。与此同时,网上购物也给商家带来了巨大的利润,因为免除了一些不必要的费用,在收益的获得上也显得更为直接,例如在今年的“光棍节”期间,淘宝的成交额将近200亿,可见,网上购物已成为主流。因而一个好的订单数据库管理系统成为了必要,在管理好用户数据的同时,也提高了订单处理的效率。该网站是通过用户登录浏览商品、查看公告、购买、确定购买、实现用户模块功能。其中订单的生成,网站后台系统,通过系统管理员管理商品、订单、用户来实现。

1.2目的和意义

网上购物作为一种新兴的商业模式,它具有极大的潜力推动企业“打破”原有企业战略的束缚,彻底改变企业的运作流程,增强顾客与供应商的联系,开拓新的市场。不论从网上购物发展方向看,还是从网上购物发展环境看,网上购物竞争及其竞争结果最终将反映在参与企业的综合竞争力和其他辅助因素上。网上购物对参与企业竞争力具有战略性意义,这些意义将表现在对产品竞争力、管理

能力、技术创新能力的促进上。同时,网上购物应当充分利用信息技术,培育和发展良好的竞争环境,提升参与企业综合竞争力,构建的基于供应链接、信息交流和技术创新的战略联盟。

在网上购物系统中订单模块在网上购物系统中起到了关键的作用,网上购物的对象大多数是用户,所以必须为用户创建一个自己的购物平台,确保用户可以更方便的购买商品,并可以在购买后对的商品进行历史记录的查看。该系统创建一个用户自己的平台,用户可以注册一个唯一的账号名称,并可以管理自己的个人信息。系统设计了订单管理。用户不仅可以通过订单管理查看自己的历史记录,还可以知道自己的货物是不是已经发送了。管理员也可以对订单进行确认。系统的设计就为广大的用户提供了这样平台。也就大大的节约了人们在购买商品时的所花时间,并直观的了解了商品的信息和自己购物的情况。由上述我们可以看出在网上购物系统中,订单模块的重要性,所以也就需要开发这样的平台来完善系统,让系统更具有使用价值。

2.需求分析

2.1用户需求

系统以订单来确认用户所买的商品和商品的价格,用户确认提交订单时应该填写自己真实的联系方式,以便能准确的拿到自己够买的商品。在后台管理员应该能够进行设置用户发送的订单的状态。

2.2可行性

网上购物系统经济可行性就在于:现在随着网络技术的高速发展,网上购物也在不断的兴起,它是网上不可缺少的交易平台。对于任何一个客户而言,不论身在何地,只要有一台接入互联网的计算机,就可以完成网上购买。对于企业来说,也不管身在何地,只要有一台接入互联网的计算机就可以对企业信息进行管理。网上购物在当今社会,不仅为企业带来了良好的经济效益,还为企业的产品进行了良好的推销、展示。围绕这一发展的空间而开发了这一网上购物系统,让更多的企业能够更好的展示自己的商品,还为企业带来更多的收益。

该系统的操作可行性在于:用户只需要能上网,会简单使用电脑。系统采用一般用户最直观的观察方式来设计。让用户在最短的时间里可以把喜欢的商品带

回家,这样的方式购物,大大节约了用户为了买东西而到处去商场选购商品的时间。系统的界面清晰明朗,用户不用花太多的时间就可以选购到商品。管理员也可以在很快的时间里就可以对对商品进行管理。

2.3数据流图

2.4功能需求

在用户把商品放到购物车以后,也许用户会到收银台结账。该系统的订单就实现了用户向收银员提交商品和收银员告诉用户应付多少钱的功能。该系统不提供网上支付的功能。系统以订单来确认用户所买的商品和商品的价格,用户确认提交订单时应该填写自己真实的联系方式,以便能准确的拿到自己够买的商品。在后台管理员应该能够进行设置用户发送的订单的状态。

2.5业务流程图

管理业务流程图是一种描述系统内各单位、人员之间业务关系、作业顺序和管理信息流向的图表,通过它可以帮助分析人员找出业务流程中的不合理的流向。在业务流程图中圆形代表系统中人员,矩形代表系统外实体,箭头代表数据、报表账目的流向。

本系统主要是对销售订单进行管理,但在销售这一环节的管理上与库存有密切的联系,所以对库存的进货订单也有相应的管理。

总体业务流程描述如下:

1.销售订单登记:将每一笔销售信息进行登记,以便财务进行账款上的处理并且也便于对销售统计的查询。

2.订单确认:根据客户的联系方式将所接受的订单具体信息与其进行确认。使客户及时了解订单处理状态,也便于对订单进行流程化管理。

3.货物发送:将与客户确认过的订单进行货物上的发送。

4.账款结算:对于订单账款进行管理,对于每张订单应付款、已付款、未付款及每次付款记录都有详细记载。

其过程是:订单管理员要对库管部门的进货订单与进货退货订单进行登记,再将订单送财务部门供其账款结算使用,财务部门将订单账款信息送订单管理员,由订单管理员对订单付款信息进行更新。对于客户的退货信息由售后部门做出相关处理制定销售退货单送订单管理员进行登记,再由财务部门对账款进行管理。本系统业务流程图如图2所示

图2 系统业务流程图

当接收到客户销售订单时,订单操作人员要根据客户相关信息来确认此订单是否有效,若订单有效则要判断库存量是否充足,对于不充足的情况要即时通知库管部门,充足的情况下要通过相应联系方式通知客户其订单已被受理。对于销售出库或销售退货要进行相关的减库存或加库存作业。

销售订单处理步骤如图3所示。

图3 销售订单处理步骤

3.系统设计

3.1概要设计

订单模块结构图:

订单模块包含了普通用户订单,和管理员管理订单,两者之间联系紧密,只有在普通用户提交了订单以后,管理员才能对用户提交的订单进行管理。管理员确认订单以后要反映个用户知道,货物是否已经发送出来了。普通用户订单分为服务台和查看订单信息。服务台实现了用户提交订单的功能,查看订单信息和看自己曾经购买过的商品,还可以看到管理员是不是已经把自己买的商品发送出来了。管理员管理订单,首先要查看订单,对订单的信息进行确认,符合要求以后,管理员就在订单状态设置这里设置订单的审核程度(如:是否已经发送了货物等)。管理员对于很久以前的订单或不符合要求的订单,管理员可以对订单进行删除管理。

顾客确定购物车中的商品后提交订单,如顾客已填写收货人信息,则页面显示该信息并由顾客确认。如尚未填写则显示相应表单请其填写,系统记录顾客提交的收货人信息以便其下次购物时使用。顾客提交订单后可在网上商城查询该订单,并可对尚未处理的订单进行取消、修改等操作

用户订单流程图:

用户在登录后开始选购商品,商品放到购物车里,当用户需要结账的时候,用户点击服务台,开始对订单的确认,如果用户看了以后还不想结账,用户可以返回到商品信息页面继续选购用户需要的商品。如果用户已经确定要购买了,那用户确定提交订单后转到了后台的处理,后台将对用户提交的订单进行判断,并获取用户所要购买的商品信息,并把这些信息添加到订单信息表和订单详细表中。到这里用户的一次订单提交就算是完成了。

3.2详细设计

当用户提交了订单以后,管理员在管理界面上就可以看到用户提交的订单,当管理员确定后订单无误后就可以确认了。

管理员点击“确定该订单”后,就实现了订单的确认,点击“设置为发送”则说明管理员已经把用户所要的货物已经发送出去了。点击“删除该订单”则对该订单的信息全部删除。

(1)确定订单功能实现的代码如下:

protected void btnConfirm_Click(object sender, EventArgs e)

{

strSql = "Update z_OrderInfo set Order_isConfirm = 'y',Admin_confirmAdminID='"+Session["AdminID"].ToString()+"',Order_confirmTime='"+DateTime.Now+"' where Order_no = '"+oid+"';"; webService.ExcuteSql(strSql);

Response.Redirect("Order_Manage.aspx?oid="+oid);

}

(2)设置发送状态的功能实现的代码如下

protected void btnSend_Click(object sender, EventArgs e)

{

strSql = "Update z_OrderInfo set Order_sendStatus = '1' where Order_no = '" + oid + "';";

webService.ExcuteSql(strSql);

Response.Redirect("Order_Manage.aspx?oid=" + oid);

}

(3)删除订单信息的功能实现代码如下

protected void btnDel_Click(object sender, EventArgs e)

{

strSql = "Delete from z_OrderInfo where Order_no = '" + oid + "';";

webService.ExcuteSql(strSql);

strSql = "Delete from z_OrderDetail where Order_no = '" + oid + "';";

webService.ExcuteSql(strSql);

Response.Redirect("Order_List.aspx");

}

在以上的数据库连接中,系统用到了类的连接,在类里写了所有的会被多次调用的代码。本系统中调用到的类,类的名称为WebService.cs。

类里的主要码如下:

public bool HasName(string strSql)

{

string strConn = "Data Source=.;Initial Catalog=shop;User ID=sa;Password=";

DbProviderFactory dbProviderFactory = DbProviderFactories.GetFactory("System.Data.SqlClient");

DbConnection dbConn = dbProviderFactory.CreateConnection(); dbConn.ConnectionString = strConn;

dbConn.Open();

DbCommand dbComm = dbProviderFactory.CreateCommand();

dbComm.Connection = dbConn;

https://www.wendangku.net/doc/ea18599423.html,mandText = strSql;

DbDataReader reader = dbComm.ExecuteReader();

return reader.Read();

}

public void ExcuteSql(string strSql)

{

string strConn = "Data Source=.;Initial Catalog=shop;User ID=sa;Password=";

DbProviderFactory dbProviderFactory = DbProviderFactories.GetFactory("System.Data.SqlClient");

DbConnection dbConn = dbProviderFactory.CreateConnection(); dbConn.ConnectionString = strConn;

dbConn.Open();

DbCommand dbComm = dbProviderFactory.CreateCommand();

dbComm.Connection = dbConn;

https://www.wendangku.net/doc/ea18599423.html,mandText = strSql;

dbComm.ExecuteNonQuery();

dbConn.Close();

dbConn.Dispose();

}

public DataTable ExcuteSelect(string strSql)

{

string strConn = "Data Source=.;Initial Catalog=shop;User ID=sa;Password=";

DbProviderFactory dbProviderFactory = DbProviderFactories.GetFactory("System.Data.SqlClient");

DbConnection dbConn = dbProviderFactory.CreateConnection(); dbConn.ConnectionString = strConn;

dbConn.Open();

DbCommand dbComm = dbProviderFactory.CreateCommand();

dbComm.Connection = dbConn;

https://www.wendangku.net/doc/ea18599423.html,mandText = strSql;

DbDataAdapter adapter = dbProviderFactory.CreateDataAdapter(); adapter.SelectCommand = dbComm;

DataSet dsDataSet = new DataSet();

adapter.Fill(dsDataSet,"table");

return dsDataSet.Tables["table"];

}

3.3数据库设计

商品表是用来保存网上商城中每一种商品基本信息的数据表,是显示、维护和管理商品数据的依据,如表所示:

1.2商品类别表

1.3会员表

1.4订单表

1.5订单细目录

4.测试分析

4.1测试目的

本测试计划文档作为指导此测试项目循序渐进的基础,帮助我们安排合适的资源和进度,避免可能的风险。本文档有助于实现以下目标:

1)确定现有项目的信息和应测试的软件结构。

2)列出推荐的测试需求

3)推荐可采用的测试策略,并对这些策略加以详细说明

4)确定所需的资源,并对测试的工作量进行估计。

5)列出测试项目的可交付元素,包括用例以及测试报告等。

4.2测试需求

名称:订单测试。

目的:测试订单功能。

内容:包括订单登记输入、合理性检查、合法性检查;订单确认;货物发货提交、合理性检查、合法性检查;账款结算

4.3测试策略

4.3.1单元测试

订单管理模块

4.3.2集成测试

当将上述模块嵌入主程序中进行执行时,商品提交后能够成功时可以正确跳转到订单界面,订单数据正确提交后会弹出成功对话框并返回界面,集成测试结果没有缺陷存在。

4.3.3系统测试

在本系统要求的软硬件环境下部署该系统后,作为计算机系统的一个部分,与系统中其他部分结合起来,在实际运行环境下没有发现软件潜在的问题,系统正常运行。

由于在登录模块加入了防止注入漏洞的机制,通过了系统安全测试,压力测试则很大程度上取决于硬件质量,适当进行硬件的升级可以使系统有较高的抗压能力,基于目前的个人电脑来做服务器显然是无法承受很大用户访问量的。

5.设计体会

要想完成这系统需要通过上网查询和查阅书籍,再加上自己所学的知识,将

各个问题用算法基本实现。即使程序编写出来,上机调试成功仍是一大阻碍,首先程序中出现的错误看都无法看懂更别说修改了,请同学帮忙将错误一一纠正。编写该程序,使我明白书本上的任何知识都可以运用于实际,就像这次系统的的设计,我根据实际问题的具体情况,结合课程中的基本理论和基本算法,分析并正确确定数据的逻辑结构,合理地选择相应的存储结构,并能设计出解决问题的有效算法的能力,在这次课程设计的调试过程中,我总结出了一条很有用的调试经验,通过注释程序段语句,部分执行程序,由大到小缩短范围,直到找到程序问题所在,我认为这个方法能很好的提高程序调试的效率。

在设计过程中所积累的经验与教训,将会对以后的学习打下良好基础这次的课程设计给我留下太多记忆深刻的东西,让我清醒的认识到自己知识上的缺陷,当然也让我学到许多课本上学不到的知识,在学习的过程中有失败,当然也有困惑,有成功,当然也有喜悦。虽然知识课程设计,但我拿出了自己的全部精力去对待,能学到知识固然值得骄傲,能认识到自己的过错和不足不也是一件幸福吗!在编码过程中,反反复复的纠错和修改锻炼了我的耐心和毅力,这是一个程序设计人员必不可少的素质,使我认识到设计过程中要分析细致,使用最优方案。记得古语中说:“学然后知不足”,能在学习的过程中不断弥补自己的不足之处,不断完善自我,提升自我。

参考文献

【1】康诺利何玉洁数据库设计教程(第二版) [M].清华大学出版社 2009年【2】张海潘软件工程导论[M]. 科学出版社 1998年.

【3】李春葆苏光奎信息系统分析与设计[M].清华大学出版社 2005年

【4】陈文博朱青数据结构与算法[M].机械工业出版社 1996年

相关文档