基于.NET的电商分销管理系统前台的设计与实现
摘要
市场经济与互联网正在快速发展,由此产生了巨大的消费需求和购买力。同时,厂商囤货无法出售以及经销商没有货源等问题变得更加严重。为了解决这些问题,分销管理系统由此产生。而本文主要描述了基于.NET的电商分销管理系统前台部分的设计实现。系统主要包括我的账户、商品展示、订单管理等功能模块。系统采用B/S模式,使用C#语言进行编写。使用SQL Server 2008作为开发数据库。开发工具为Visual Studio 2010。
本文主要对此电商管理系统实现的功能模块以及所涉及的技术要点进行介绍。论文重点介绍了下单流程以及商品展示模块。对于定时任务的处理,使用的是Quartz.net框架,简单灵活,主要负责邮件的发送和废弃上传文件的清理等等。
关键字:互联网C#B/S模式SQLServer2008VisualStudio2010定时任务Quartz.net
目 录
1.引言 1
1.1课题研究背景 1
1.2课题研究目的与意义 1
1.2.1课题研究的目的 1
1.2.2课题研究的意义 1
1.3课题研究的主要内容 2
2.系统开发环境与相关技术 3
2.1系统开发环境 3
2.1.1硬件环境 3
2.1.2软件环境 3
2.2 系统开发相关技术 3
2.2.1 ASP.NET 3
2.2.2 B/S模式 5
2.2.3 三层架构 6
2.2.4 JQuery 6
2.2.5 Quartz.net 7
3.系统分析 9
3.1需求分析 9
3.1.1系统功能需求 9
3.1.2系统性能需求 9
3.2可行性分析 10
3.2.1技术可行性 10
3.2.2经济可行性 10
3.2.3法律方面 10
3.2.4结论意见 10
4.系统设计 11
4.1系统用例 11
4.1.1用例图 11
4.1.2用例描述 12
4.2系统流程图 14
4.3系统数据库设计 16
4.3.1数据库概念结构设计 16
4.3.2数据库逻辑结构设计 17
4.4系统类图 22
5.系统实现 25
5.1软件的实现概况 25
5.2界面设计与效果图 25
5.2.1 系统注册页面 25
5.2.2 提现申请窗口 25
5.2.3 我的账户页面 26
5.2.4 系统公告列表页面 27
5.2.5 在售商品列表 27
5.2.6 我的订单页面 27
5.2.7 导入订单页面 28
5.3关键代码 29
5.3.1注册功能的实现 29
5.3.2商品展示功能的实现 30
5.3.3下单功能的实现 30
5.3.4验证码的使用 32
5.3.5 Excel批量导入订单功能的实现 34
5.3.6定时任务的实现 35
6.小结 38
1.引言
1.1课题研究背景
随着市场经济和互联网的飞速发展,我们的生活越来越美好,而生活质量的提高,带来的是更高的消费能力。面对如此巨大的消费群体与购买力,产品供不应求,生产商一定会加大生产投入,卖得越多赚得越多,可是这样容易出现囤货,而经销商面对这样的市场前景需要一定会大量的进货,可不是每一个买家都会找到好的厂商进货。而作为分销商,就是解决这个问题的关键,它可以拉拢尽可能多的经销商作为他的下家,作为他与厂商合作的资本,帮助厂商解决货物囤积的问题,而经销商也由此不需要为进货问题感到困扰了。
现在发展最快的就是互联网产业了,很多人都开始开网店,而开的网店的大部分都是一个人在打理,对于他们而言,进货还是一个大问题。而作为分销商,要给网店进货那是不可能的,他们进货量小且分散,成本太高。传统的分销管理模式已经无法适应现在的时代的发展,它不仅仅受到时间、地点、天气等太多因素的限制,而且效率低、繁琐、成本高[1]。为了能够在新的时代提高自己的核心竞争力,为了能够更加方便快速有效的进行管理,必须有一个新的模式。新的模式借助互联网技术带来的便利性,使得分销业务流程不再受到时间、地点等因素的限制,而且企业可以通过构建B2B电子商务平台,来扩大自己的业务范围以及销售能力。分销管理系统就是新模式下的产物。
1.2课题研究目的与意义
1.2.1课题研究的目的
研究电商分销的管理方法,使用c#语言设计与实现基于.NET的电商分销管理系统前台部分,研究基于对电商分销的管理方法,设计实现一个有效的管理系统,来提高分销管理的效率。
1.2.2课题研究的意义
中国市场经济一直都在平稳快速的发展,而经济的发展带来的必定是更高的消费能力与购买欲望。众所周知,近几年来网上购物已经快速发展成为主要的消费方式之一,所以人人都想开网店,但是又很少有人能找到进货渠道,而作为厂商,每年又都会有囤货无法卖出,这种现象导致分销商的出现。分销商要想在这样一个新的消费环境中,提高自己的核心竞争能力抢占商机,传统的管理模式已经不能够适应现在的新型业务模式。
分销管理系统是基于互联网技术的一种非常便捷实用高效的管理系统。它能够为企业显著提高运行效率,帮助企业节约成本,整个分销的过程都是通过信息化管理。无论是销售,库存管理还是财务管理等,都是通过互联网实现,使得业务处理更加的便捷高效,同时也便于企业对市场趋势进行实时的监控与评估[2]。
1.3课题研究的主要内容
本课题的主要内容是通过对分销管理方法的研究,设计实现一个基于B/S架构的分销管理系统的前台部分。让整个分销流程的数据处理通过计算机来实现,以此来极大的提高分销管理的效率。
这是一个商业的系统,它涉及到公司的财务问题,所以在财务上不能出现任何问题,所以本课题的重点与难点在于如何解决突发状况(比如断电等)带来的各种问题。这也是系统设计实现的时候要解决的主要问题之一,对于这样一个问题,通过事务来解决是一个很好地办法,将一些必须一起执行的数据操作放在同一个事务里,这样就基本可以避免非人为带来的数据异常。另一个问题就是浏览器向Web服务器提出请求并处理响应的时候可能出现用户堵塞,对于这个问题,可以通过AJAX实现浏览器与服务器之间的异步数据传输来解决。
设计与实现整个系统的前台部分大概涉及到的内容有:
1)前台用户的登陆、注册、密码修改以及账户基本信息的查看与修改部分。
2)用户的充值、提现以及查看交易明细等账户操作。
3)前台所有商品的展示。
4)用户的单个下单、批量下单以及Excel批量下单等操作。
2.系统开发环境与相关技术
2.1系统开发环境
2.1.1硬件环境
一台笔记本电脑。
2.1.2软件环境
(1)Windows 7操作系统;
(2)SQL Server 2008;
(3)Visual Studio 2010;
2.2 系统开发相关技术
2.2.1 ASP.NET
ASP.NET是微软开发的一项技术,可以实现代码的封装、继承、重写以及复用,这极大地减少了开发人员的工作量,并且开发人员可以使用.NET支持的任何一种语言,这使得开发变成了一件简单有趣的工作。
ASP.NET是面向对象的,它运行在公共语言运行库内,这使得应用程序的开发人员不必手动清除内存和垃圾回收。垃圾回收器会在CRL内周期性运行,自动回收不再使用的内存空间,这个自动垃圾回收的模型使得开发人员不再需要掌握底层复杂的C++内存控制技术以及令人头疼的COM内存技术[3]。
ASP.NET具有可管理性、安全性高、易于部署、灵活的输出缓存和跟踪调试等优点。此外,为了可以更加方便的存储信息以及请求和响应浏览器,ASP.NET还提供了很对内置的对象,用以实现页面信息的传递等功能。
1)Response:Response主要应用于对客户端请求的动态响应,它可以将处理好的数据结果,发送给客户端浏览器。它提供了很多方法和属性,比如页面重定向的方法Response.Redirect,以及向页面输出字符串Response.Write等。它还提供了一个集合Cookie。对于ASP.NET而言,它非常好用,事实上也应用的十分广泛。
2)Request:Request与Response是成对的,Response用于响应客户端浏览器的请求,而Request则是用于客户端向服务器发送请求。Request对象是在浏览器向服务器发送请求时,获取客户端的一系列信息,比如Cookie、Form值等等。同Response一样,它也提供了很多方法和属性,比如可以通过Request.BinaryRead方法获取Post请求时发往服务器的数据。它还提供了5个数据集合,包括QueryString、Form、Cookies、ServerVariables和ClientCertificate。这些数据集合分别存储着不同类别的信息,在ASP.NET中发挥着各自不可替代的作用。
3)Server:Server的作用是针对服务器的,它提供的一系列方法和属性也是用于获取服务器的一些信息。比如Server.URLEncode方法就是对方法中的参数使用URL编码规则,而Server.GetLastError方法就是用于返回错误信息。
4)Application:Application用于将变量信息存储在内存中,这些变量信息可以来自任何页面。在同一个应用程序中,它的所有页面和用户都可以访问并且修改Application中的任一变量。Application在存储变量信息时需要先锁定,存储信息结束之后还需要解锁。存储的使用格式为:
application.lock //锁定Application
application(“app_name”)=value //app_name为变量名,value为变量的值
application.unlock //解锁Application
而读取Application变量的格式为:
application(“app_name”) //读取Application变量app_name的值
可以看出它的存取方法使用起来十分方便。除此之外,它还提供了Application_OnEnd和Application_OnStart事件,Application_OnStart发生在应用程序中首个Session被创建之前,Application_OnEnd在应用程序结束时发生。这也反映了它的生命周期。
5)Session:与Application相同,Session对象也是用于存储变量信息的,不同的是,Application对象存储的是所有用户的变量信息,而Session是针对用户的,也就是说,一个用户拥有一个Session。Session对象中存储的一般是用户名、参数或者ID等等。Session对象的存取用法与Application类似,只是Session不需要锁定与解锁。Session对象的生命周期是整个会话,当用户打开浏览器第一次访问服务器时,Session会话被创建,Session_OnStart事件就是在会话开始时发生的。而Session_OnEnd事件是在Session被销毁或者放弃时才会被调用的,Session会话结束只可能有两种情况,一种是调用了方法session.invalidate,另一种就是两次访问的时间间隔大于20分钟,这样它就会自动销毁此次会话Session。
6)Cookie:Cookie是服务器为了方便用户以及减少服务器自身压力而存储在客户端的一个文件[4]。它主要是用于保存用户名以及密码等用户个人信息,使得用户下次进入同一站点时省去输入用户名和密码的登录过程。而对于Cookie的生命周期是可以通过Expire值设置的,如果设置为负数,那么在关闭浏览器时,Cookie就会被清除,这样也有利于保护用户的个人隐私。Cookie的存取以及过期时间的设置操作格式:
原文链接:http://www.jxszl.com/jsj/qrs/756.html