数 学 与 计 算 机 科 学 学院 电 子 商 务 系
电 子 商 务 专业
题目 网上书店的开发与设计
起止日期:11 年 12 月 06 日 至 12 年 04 月 10 日
学生姓名: 崔秀冬 学号: 016508200775
指导老师: 曾 鹏
教研室主任: 09 年 02 月 日
系主任: 09 年 02 月 日
I
审批审批 目 的 和 要 求 主 要 内 容 应 完 成 的 工 作 进 度 安 排 能够熟练的运用Dreamveaver和Frontpage这两个软件,熟悉对开发与设计方面的编程,独立完成这个作品。 在因特网开放的网络环境下,基于浏览器/服务器应用方式,买卖双方不谋面地进行各种商贸活动,实现消费者的网上购物、商户之间的网上交易和在线电子支付以及各种商务活动、交易活动、金融活动和相关的综合服务活动的一种新型的商业运营模式。 选择适合上网交易的产品,利用网络工具进行营销策划,选择合适的营销金融中介开展网上交易,并利用网上工具进行数据统计和评估,及时调整策略;提供一个网站,包括这几方面的内容:1、网上商店方案的结构图;2、个人网上商店的系统设计;3、数据库的设计;4、程序设计。 1. 12月6日-----1月10日 熟悉应用软件; 2. 1月11日-----1月25日 收集资料,确定设计方案; 3. 1月25日-----2月15日 毕业设计制作阶段,准备毕业论文。 [1]李宗民,郭玉峰,白领就业指南-ASP.NET 设计师之路.北京:电子工业出版社,2006 [2]刘庆国,聂元铭,ASP.NET 企业级开发案例精解(C#篇).北京:人民邮电出版社,2006 [3]张蓓,ASP.NET 通用模块及典型系统开发实例导航.北京:人民邮电出版社,2006 [4]萨师煊,王珊,数据库系统概论.北京:高等教育出版社,2001 3人 应收集的文资献料及主要参考备 注
1
毕 业 论 文 开 题 报 告
1.本课题的研究意义
随着Internet的迅速发展,电子商务已被广大的互联网用户所接受,网上书店网上书店系统目前主要是以B2C的方式进行经营,通过网上开店的方式向读者出售书本。国内著名的两大书店,当当网与卓越网,他们售书的理念很简单,读者可以自己寻找自己喜爱的书。对读者来说,无需为寻找一本自己想要的书好奔波于城市的各个角落,无需因为时间问题而错过了新书的首发式,或者因为时间问题而去不了书店,通过网上书店系统,只需你有一台可以连上互联网的电脑,就可以按照自己的兴趣检索到自己想要的书本。
目前的网上书店系统是基于B2C的,只有自己在卖书,我们所要改进的是引入
C2C的经营理念,增加读者售书的功能,读者可以将自己不需要的书本售给需要它的人,系统按照设定的比率进行收费,实现额外的营运收入。随着智能手机用户的增加,以及WAP技术的成熟,网上书店系统离不开这样广大的用户群,因此本系统还增加了WAP子系统,更方便用户。
系统作为其中的一部分也有了迅速的发展。
2.本课题的基本内容
系统采用B/S结构,三层运行模式,同时适用于Intranet/Internet。浏览器为第一层,作为系统的应用界面;应用逻辑服务为第二层;数据链接为第三层,作为系统的数据存取服务。此架构无须安装客户端软件,便于软件的分发和维护升级,适应了众多应用客户端分散环境下的运行和维护需求。
为了使本系统获得更好的安全性、扩展性和更高的执行效能,整个系统采取分布式部署的方案,将承载关键业务逻辑的应用程序服务器(或应用程序服务器集群)和承载业务数据的数据库服务(或数据库服务器集群)隔离开来,这样做的好处为:有利于安全性的提高;将系统负载分摊到应用程序服务器和数据库服务器中,有利于提高系统运行的速度;当业务量持续提升,该部署方案具有更加灵活可靠的扩展性
网上书店系统实现的基本功能包括会员管理,图书出入库,书目检索,书目分类管理,购物车,订单功能,会员帐户管理,在线客服,物流管理,书目评价等功能,以及实现对WAP的支持。
3.本课题的重点和难点
本课题重点:
1、用户可以通过本系统进行图书的销售
2、用户可以对自己所购图书进行评价,给其它购买者作为购书参考 3、实现对WAP功能的支持 本课题难点:
1、利用Ajax实现购物车功能
2
2、在线支付与银行接口的安全问题 3、大数据检索优化问题
4、开发项目的名称
网上商店的开发与设计。
5、现有的条件和要采取的措施
现在会基本的网页制作,能够熟练的运用Dreamveaver和Frontpage这两个软件,能够将两者进行充分的融合,我是独立完成这个作品的。也许作品上会有一些不足的地方,但是希望能够谅解。现在就是要将我所学到的知道运用到这个实践中去,难度不是很大,但是需要一定的时间,并且我对开发与设计方面的编程不是很熟悉,还有待提高。我会努力去学习的,一定在老师规定的时间内将毕业设计完成的。
6、课题研究的步骤(进度安排)
12月6日-----1月10日 熟悉应用软件;
1月11日-----1月25日 收集资料,确定设计方案; 1月25日-----2月10日 毕业设计制作阶段,准备毕业论文。
J
3
文献综述
一.绪论。
1、本次要设计与开发网上书店系统,我考查了网上许多大型的电子商务网站,在网上也查找了许多相关资料,还查阅了《ASP+SQL SERVER网络应用系统开发与实例》等关于网上商店的书籍,对于网上购物的历史、发展过程、发展趋势等也有了一定的了解。
① 网上购物发展过程
进入二十一世纪,是一个网络高度发达的时代。 从九十世纪四十年代第一台计算机问世到现在,仅仅经历了半个世纪,网络就如此发展迅猛,来得势不可挡,会带来什么样的变革呢?其中带来变革之一,那就是缩短了销售环节。
由于交通工具的发展,网络的发达,人们传递信息的速度加快。产品从工厂生产出来,可以直接运送到消费者手中。也就是说不经过中间太多的环节,如总代理,省代理,批发商,零售商,等诸多环节。 直接工厂——专卖店或零售商——消费者。 十九世纪四十年代,犹太人创立了安利公司,也就是现在全球最大的直销公司。现实了产品从工厂直接到消费者手中。从07年5月份,在中国诞生十多家直销公司。 这正是生产力发展的必然结果, 未来最好的销售方式,必然是工厂---零售商---消费者。而实现这一模式,其中起桥梁作用的就是网络,B2C/C2C 平台。 美国的亚马逊网,中国的当当网,淘宝,拍拍,易趣。正是这一种模式的见证。网上销售的产生是一种网络革命。
② 网上商店的发展趋势
网上购物必将是越来越多人们的人们所接受.最好的销售方式,网上销售的发展潜力很大。
网上购物必将是越来越多人们的人们所接受.它是一种很好的销售方式就是工厂——商家网店+商家实体店/货物的暂存点+网上营业员/店铺销售员。
由于简化了销售中的很多环节,无论国内的产品流通,还是国际的产品交易,都是朝着一个方向发展,那就是减少销售中间环节。从而减少商品成本,这样可以更大空间地让利给消费者,而低价正是吸引消费者的一种最有利的手段。
网店要做好要从以下几个方面入手:
首先定位:定位一大类别的产品,手机的销售就是一个很好的定位,不过首先也要掌握这方面的专业知识。把它做得专业,只有专业,才能领先,才能不被淘汰。
其次计划: 制定一个长期和短期的目标,并且努力完成短期目标。计划要详细,不要笼统。再次积累人脉: 网上商店回头客很重要,所以要和客户打好关系。要想成功,没有一定的人际关系网,是成功不了的。成功的人他的人际关系网是很大。
网上商店的前景是十分好的,但是自身也要不断地努力,只有不断的学习新的专业知识,撑握适应社会的本领,才能在世界风云变幻中立于不败之地。要做网上商店,要擦亮眼睛,放眼世界,与时俱进,不断进取。道路是曲折的,前途是光明的。
二、主体
提供一个网站,包括这几方面的内容: 1、网上商店方案的结构图; 2、个人网上商店的系统设计; 3、数据库的设计;
4
4、程序设计。
三.总结。
2、在了解了网上购物的发展过程,也知道了网上商店的发展前景之后,接下来要做的就是要对系统的开发有一个做准备,我查阅了周学泳的《ASP+SQL SERVER开发网上商店》这本书之后,其实网上销售并不好做,而且越来越多的人投入进来,有些人以为只要懂一点计算机技术和网络技术就可以,其实不然,开发网站的技术也是相当关键的,我这次开发网站需要用到的的开发工具是ASP,我阅读了许多有关于ASP的书籍,如:《ASP工程应用与项目实践》、《ASP编程基础及应用实例集锦》等,对ASP技术有了更进一步的了解。
早期的Web程序开发是十分繁琐的,以至于要制作一个简单的动态页面需要编写大量的C代码才能完成,这对于普通的程序员来说有点太难了。而ASP却允许使用VBScript这种的简单脚本语言,编写嵌入在HTML网页中的代码。在进行程序设计的时候可以使用它的内部组件来实现一些高级功能(例如Cookie)。它的最大的贡献在于它的ADO(ActiveX Data Object),这个组件使得程序对数据库的操作十分简单,所以进行动态网页设计也变成一件轻松的事情。
到了1998年,微软发布了ASP 2.0。它是Windows NT4 Option Pack的一部分,作为IIS 4.0的外接式附件。它与ASP 1.0的主要区别在于它的外部组件是可以初始化的,这样,在ASP程序内部的所有组件都有了独立的内存空间,并可以进行事务处理。 到了2000年,随着Windows 2000的成功发布,这个操作系统的IIS 5.0所附带的ASP 3.0也开始流行。与ASP 2.0相比,ASP 3.0的优势在于它使用了COM+,因而其效率会比它前面的版本要好,并且更稳定。
3、在ASP的运用过程中ASP中的一些对象的使用很频繁,这些对象的功能也很强大,为了更进一步的了解,我查阅了《ASP Programming for the Absolute Beginner》一书中的ASP对象的使用这一章。
当然要做一个网上的销售系统,光靠ASP技术是不够的,还需要数据库的支持,我这次选用的是SQL Server数据库,为此我查阅了有关SQL的书籍,如《SQL SERVER2000实用教程》、《SQL Server 2000数据库教程》、《数据库系统概论》等,在以前学习过的基础上对SQL数据库有了更进一步的了解。
SQL SERVER是现今比较流行的数据库,他具有数据结构化,数据共享性高,数据独立性高以及数据由DBMS统一管理和控制的优点。
4、在对SQL数据库和ASP技术更进一步的了解后,知道ASP对于数据库的访问,需要采用ADO技术,为此我查阅了网上的一篇英文文献《ADO for the Beginner》对使用ADO技术有了更进一步的了解。
5、此次我做的网上在线商店,需要运用了 dreamweaver进行的页面设计,我查阅了《Dreamweaver MX 2004与ASP动态网页基础与范例》这本书,对dreamweaver的运用有了更进一步的深入。
四.参考文献
[1] 邓子云,张赐.JSP网络编程 [M] .北京:电子工业出版社,2005. [2] 向学哲. JSP程序设计教程 [M] .北京: 人民邮电出版社,2006. [3] 崔巍.数据库系统及应用 [M] .北京: 高等教育出版社,2005.
[4] 刘中兵,李伯华. JSP数据库项目案例导航 [M] .北京:清华大学出版社,2006. [5] 卢银娟. JSP网络开发技术 [M] .北京:人民邮电出版社,2005.
[6] 魏茂军,张文建.JSP案例开发 [M] .北京:中国水利水电出版社,2005.
5
[7] (美)Decoder.JSP技术揭秘[M].北京:清华大学出版社,2004. [8] 李曙光.JSP开发实例完全剖析[M].北京:中国电力出版社,2006. [9] 谢宜云.基于JSP实现的教学管理系统研究[J] .计算机科学,2007.
[10] Jiawei Han Micheline Kamber. Data Mining concepts and Techniques[M].北京:机械工业出版社,2006.
[11] 汪孝宜,刘中兵,徐佳晶.JSP数据库开发实例精粹[M].北京:电力工业出版社,2006.
[12]BruceW.Perry.JavaServlet&JSPCookBook[M].Publisher:O’Rilly&Associates.2003.
[13]Hoque,Reaz.ProgrammingJavaBean1.1:[hands-onwebdevelopment][M].Publisher:McGraw-Hill Professional. 1998.
[14]张军.JSP网络应用开发例学与实践[M]. 北京:清华大学出版社,2006.
6
网络书店设计与实现
摘要
网络书店系统是一个网上购买数据的系统,它是以ASP.NET和SQL 2000数据库做为开发平台。使用VB.NET设计操作控键和编写操作程序,完成数据输入、修改、存储、调用查询等作用;并使用SQL 2000数据库形成数据表,进行数据存储。此系统可完成的功能有:用户管理、书籍管理、订单管理、购物车管理等。本论文所要论述的是用户个人信息管理子系统,该子系统利用SQL2000数据库及VB.NET技术对用户个人信息进行保密管理。该子系统可完成个人信息的修改、密码修改以及用户收藏夹的管理。
[关键词] 信息管理 IIS SQL Server数据库 ASP.NET
Bookstore Online website development
[Abstract] The network bookstore system is the system that a net purchases the data up, it
is used as to develop the terrace with the ASP.NET and SQL 2000 databases.Use the VB.NET design operation controls the key and plaits to write to operate the procedure, completing the data importation and modify, save, adjusting to use to search etc. function;Combine 2000 database formation data forms of the usage SQL, carry on the data saving.The function that this system can complete have:The customer management, book management, order management, the shopping car management etc..That treatise is the customer personal information management sub- system that this thesis want, the son's system makes use of the database of SQL2000 and technique of VB.NETs to carry on keeping secret the management to personal information of customer.The son's system can complete personal modification of information, the password modification and customers to collect the management for clip.
[Key word] information management IIS SQL Server database ASP.NET
7
目 录
第1章 网络书店系统绪论„„„„„„„„„„„„„„„„„„„„„„„„1
1.1 背景 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„1 1.2 引言 „„„„„„„„„„„„„„„„„„„„„„„„„„„„„1 1.3 基于ASP.NET技术的网络书店系统的提出 „„„„„„„„„„„„„1 第2章 需求分析„„„„„„„„„„„„„„„„„„„„„„„„„„„„2
2.1 网络书店系统的体系结构 „„„„„„„„„„„„„„„„„„„„2 2.2 网络书店的系统组成 „„„„„„„„„„„„„„„„„„„„„„3 第3章 数据流图设计„„„„„„„„„„„„„„„„„„„„„„„„„„4 3.1 数据流图定义与表示 „„„„„„„„„„„„„„„„„„„„„„4
3.2 数据流图设计 „„„„„„„„„„„„„„„„„„„„„„„„„4 第4章 结构化设计 „„„„„„„„„„„„„„„„„„„„„„„„„„6 4.1系统结构 „„„„„„„„„„„„„„„„„„„„„„„„„„„6
4.2 数据库结构 „„„„„„„„„„„„„„„„„„„„„„„„„„6 4.3 数据库中的数据表实现 „„„„„„„„„„„„„„„„„„„„„7 第5章 用户个人信息管理子系统的设计„„„„„„„„„„„„„„„„„„9 5.1 基础类库设计 „„„„„„„„„„„„„„„„„„„„„„„„„9 5.2 界面功能设计 „„„„„„„„„„„„„„„„„„„„„„„„„9 5.2.1 系统的设计理念 „„„„„„„„„„„„„„„„„„„„„„9 5.2.2 功能设计的实现及代码 „„„„„„„„„„„„„„„„„„„9 第6章 网络书店系统实现技术 „„„„„„„„„„„„„„„„„„„„„18
6.1 ASP.NET „„„„„„„„„„„„„„„„„„„„„„„„„„„18 6.2 C#语言„„„„„„„„„„„„„„„„„„„„„„„„„„„„19 6.3 Web服务 „„„„„„„„„„„„„„„„„„„„„„„„„„„19 6.4 网站运行环境„„„„„„„„„„„„„„„„„„„„„„„„„20 结论„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„21 致谢语„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„22 参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„23
8
第 1 章 网络书店系统绪论
1.1 背景
随着21世纪网络信息时代的到来,现代社会都是利用快速高效率的Internet来传播大量信息资源。人们通过IE浏览信息,当然这种方式也是最常用的,这种方式的需求形成了电子商务。它的是指利用简单、快捷、低成本的电子通讯方式,买卖双方不出面也可以进行各种商贸活动。电子商务真正的发展将是建立在Internet技术上。所以许多出版社也正是通过IE浏览或其它方式在网络进行书籍的宣传、销售。随着信息以N次方的速度不断的增长。所以网络书店也变的极其重要。
1.2 引言
随着多媒体技术和网络通信技术的发展,基于Internet的网络书店作为出版社一种全新的销售手段,越来越受到人们的关注。电子商务是指利用多媒体技术和网络通信技术,在网络环境下开展的商务活动。它有着传统销售模式所无可比拟的优点,它创造了一种全新的销售模式,打破了传统销售模式在时间、空间上的限制,采用了先进的销售手段和销售方法,大大提高了经济效率和资源利用率,使商务活动上了一个新台阶。
本论文讨论了基于NET的网络书店系统的设计思想及其实现方法。出版社使用该系统可以进行网上发布书目、宣传买点、销售书本、调查读者需求等;客户使用该系统在浏览器中观看出版社发布的书目、在网上订购书籍、查询书目、阅读信息、知识交流讨论等。
1.3 基于NET技术的网络书店系统的提出
来源于中国电子商务协会调查报告:我国信息产业总规模已超过14000亿元人民币,电信业务年均增长率为33%,信息产品制造业年均增长率为30%。中国电子商务正由起步迈入繁荣阶段。所以多种电子商务方式有“百花齐放”的感觉。网络书店就是基中的一种。所谓网络书店系统是指基于网络环境的协同销售模式,它是一个基于web的网络应用系统,以计算机网络与通讯技术为基础、资源共享与复用是其两个关键特性,并需要对各种程序接口进行处理,尽可能使用一些新技术作为支持。Internet的快速发展为人们提供了一种方便快捷的网络销售平台,建立基于互联网的技术服务及支撑平台具有重要的现实意义。利用NET技术可以为不同系统间的数据交换提供便利条件,使得异构系统的集成成为可能。ASP.NET是最新的WEB开发技术,因此WEB应用程序开发人员可以使用NET平台中的所有组件。
I
第 2 章 需求分析
2.1 网络书店系统的体系结构
本系统采用三层体系结构将应用程序划分为三个逻辑层面,其体系图如图2.1所示。
1、用户服务层(User Services Tier),也称为表现服务(Presentation Services),是用户与应用程序进行交互的端点。WIN32或者基于浏览器的图形用户界面(GUI)应用构成。在该层用户可以查看、输入和处理数据。从用户的角度来看,用户服务层就是整个应用。在3-层或著N-层体系结构中,用户服务层只能够执行与用户接口相关的任务,例如简单的数据格式化和验证,并依赖商务服务层来执行事务处理,应用服务规则以及检索数据。在本系统中,用户服务层由ASP.NET Web Forms 构成,它可以让消费用户游览和搜索书籍,向他们的购物增加书籍,并且下订单及一些网络“冲浪”功能,例BBS、E_mail等。
2、商务服务(商务逻辑)层,也称为中间层或者应用服务层,它负责封闭事务处理、商务规则、数据访问及其他的核心应用逻辑。商务服务层可以有效的作为前台用户服务层和后台数据服务和数据存储之间的桥梁。在网络书店系统中,商务服务层将由在Windows组件服务(COM+)中执行的事务处理和非事务处理.NET服务组件构成。商务服务层也会包含提供商务处理的ASP.NET Web Service,例如下订单等,这些Web Service可以被商务客户和贸易伙伴操作的远程应用使用。
3、数据服务(数据访问)层,该层负责检索和操作在一个或者多个数据存储中存储数据。通过将数据访问和操作分离到独立逻辑层中,就可以将商务服务层从附属存储的细节中抽象出去。数据服务层通常可以实现为编译组件或者存储过程,触发器和视图这样的特定于数据源的接口。在该网络书店系统中,数据服务层将实现为一组封装了SQL数据访问数据库中的数据。数据存储通常不会将其当作3-层体系结构中的一部分,但是在系统的逻辑体系结构中还应该包含数据存储本身。它将会负责数据存储、检索、数据一致性以及事
II
务处理的参与。
2.2 网络书店系统的系统组成
网络书店系统是在Internet/Intranet环境下实现的,是典型的浏览器/服务器模式。服务器2000 Server为操作系统平台,Microsoft SQL Server 为RDBMS,客户端通过浏览器访问系统提供的服务。系统不允许匿名访问,它要求用户提供帐号/密码,通过验证后才能进入系统主页,以此追踪用户身份。本系统将用户分为三类:系统管理员、出版社、客户,他们都有各自的模块,访问系统的权限也不相同。其中权限最高的为管理员,其次为出版社,最低为学生。权限高的能访问其下级所能访问的所有资源,反之则不然。例如系统管理员可以管理客户资料,而客户则不能访问管理员模块所提供的功能(发布书目、查看客户订单等)。本系统不但可以线客户一个自己管理的模块,也可以为其提供如发送邮件等网络商务的功能。系统分析图如图2.2所示。 2.2.1 客户模块
客户通过网络找到本系统提供的网络书店。系统为客户提供以下功能:浏览书籍、登录注册、订购书目、网络活动、管理个人信息资料等五项功能。
1、浏览书籍:浏览系统提供书目资料的网页,也可通过查找查看书目。 2、登录注册:为客户提供一个管理个人信息与交易记录的平台 3、订购书目:客户与出版社之间的商务活动。 4、网络活动:为客户提供E-MAIL、BBS等功能。 5、管理个人信息资料:用户可以管理自己的所属信息。
2.2.2 出版社模块
出版社通过本系统可以在网络上提供以下的功能:发布书目、管理书目、管理用
户订购、管理注册用户、管理网络活动等五大项功能。
III
1、发布书目:出版社提供书目资料的网页,且归类书目。 2、管理书目:给系统的书目提供书目管理平台。 3、管理用户订购:客户与出版社之间的商务活动。 4、管理注册用户:为用户提供网站注册功能。 5、管理网络活动:为客户提供E-MAIL、BBS等功能。
第3章 数据流图设计
3.1 网络书店系统数据流图定义与表示
在进行系统的规划设计阶段,我采用了URM的进模语言,并结合结构化设计E-R图进行数据流图的设计。以下的数据流图基本上参照以上两种方式进行设计。
3.2 数据流图设计
3.2.1 用户购物流程图
用户在进入网站之后,可以先进行浏览目录或直接进行搜索书籍。然后进行购物即选择书籍放入购物车,购物完毕可以杳看购物车,并且进行适当的修改。并发送订单,当然也可以放弃订购。在发送完毕订单就入付款阶段。当然要给这个全过程进行编号,所以有创建账号这个过程。在这个过程中,用户 可以先登录到网站,进行个人信息的处理。包括管理账号等。具体流程如图3.1所示。
3.2.2 订单系统顺序图
这个图是依据URM建模进行设计的,这是指当用户账号已经创建后,出版社应该如何与用户进行物流。客户(用户)创建账号后,给系统发送订单请求。系统验证发送订单,对合格的订单进行系统库存。而没有通过验证的则进行重填并重新验证,当系统把订单发送到出版社的ERP系统后,出版社把订单状态进行更新,并让系统给客户发送E-MAIL进行确认,之后把商品发送给客户。具体流程如图3.2。
IV
V
第4章 结构化设计
4.1系统结构
从目标设计的角度来看,我们可以设计网络书店的功能包括下面几个
1.用户子系统(客户)
用户注册与登录(处理书店的注册会员模块) 用户修改个人资料(会员修改自己的模块) 用户的购物车(处理会员进行购物模块) 用户的订单(处理会员进行结帐模块)
用户的网络服务(处理会员如e_mail等功能模块) 用户注销(处理会员退出系统登录) 2.管理员子系统(出版社)
管理员增加与登录(处理管理员模块) 新书登记(处理增加新书模块) 订单管理(处理订单模块) 用户管理(处理会员模块) 新闻管理(处理系统新闻模块) 添加新闻(处理增加新闻模块) 缺书管理(处理会员缺书模块)
书评管理(处理会员对书籍的评价模块) 添加图书类型(处理增加图书类型模块) 用户建议管理(处理用户对系统的建议模块) 管理员修改个人资料(处理管理员修改信息模块) 管理员购物车与订单(处理会员购物模块) 3.购物车与订单子系统(客户)
管理购物车(处理购物车功能模块) 生成订单(处理订单功能模块) 发送订单(处理会员发送订单模块)
从以上的功能,我们得到清晰的系统结构图,如图4.1所示。
VI
4.2 数据库结构
通过以上的系统结构图,我们可以进一步的进行数据库的设计, 根据以上的数据库概念与逻辑结构,设计下面表,
1、OrderUserDetail:用户订单的信息数据表。 2、ShoppingCart:用户购物车数据表 3、User:注册用户信息数据表
4、OrderBookDetail:用户订单的书籍信息数据表
4.3 数据库中的数据表实现
根据以上表的功能与要求,设计出各表的表结构如下所示。
表1 OrderBookDetail的表结构
序号 1 2 3 4 5 字段名 Userid Orderid Bookid Quantity 类型 Int Int int Tinyint 长度 4 4 4 1 40 小数位 允许空 n n n n n 主/外键 中文含义 用户编号 订单编号 书籍编号 数量 单价 Discountprice varchar 表2 ShoppingCart的表结构
序号 1 2 3 字段名 Userid Booid Quantity 类型 Int Int int 长度 4 4 4 小数位 允许空 n n n 主/外键 中文含义 用户编号 书籍编号 数量
VII
表3 OrderUserDetail的表结构
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 字段名 Id userid Contactname address email postcode phonenumber mobilphone sendmemo sendmothod paymothod orderdate orderstatus orderfinishdate newinvoice 类型 Int Int varchar Varchar Varhcar Varchar Varchar Varchar Varchar int Int varchar int varchar int 长度 4 4 60 100 40 20 20 20 200 4 4 40 4 40 4 40 小数位 允许空 N N N N N N Y Y Y N N N N y N y 主/外键 主键 中文含义 编号 用户编号 连系名字 地址 e_mail 邮编 电话 手机 送货要求 送货方式 付款方式 订单日期 订单状态 订单完成日期 票据 总计优惠 totaldiscountprice varchar 表4 User的表结构
序号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 字段名 Id Username Passwordstr Realname Sex Idname Idnumber education Province Address postcode Phonenumber Mobilephone Email Userlevel 类型 Int Varchar Varchar Varchar Int Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Varchar Int 长度 小数位 4 60 60 60 4 60 20 20 20 100 20 20 20 100 4 40 允许空 n n n n y y y y y n y y y n y y 主/外键 主键 中文含义 编号 用户名 密码 真名 性别 编号名 编号数量 教育程度 省份 地址 邮编 电话 手机 Email 用户权限 总消费额 totalconsumption Varchar
VIII
第 5 章 网络书店用户个人信息管理子系统的设计
5.1 基础类库设计
由于NET框架是以事件驱动为中心,而且C#语言是一种面象对象的语言,所以它支持继承等面向对象高级特性。下面是一个基础类与具体功能:
1、DBBaseClass.cs
这是一个在线书店的基础类。为一个抽象类提供继承等功能。提供数据库连接字符串与其它属性,并且提供多个返回数据集。提供执行SQL语句。
2、Book.cs
这是一个数据视图返回类。提供的方法有:把用户的书评增加到数据库、取得书籍的书评、取得书籍的书评、查询方法、增加点击数、取得一本书的简介、取得类型的子类型书目、取得前10本书的点击数、根据ID从数据表中删除书目、增加新书籍、返回最热销的前10本书、按ID降序取得新书目等方法。
3、Functions.cs
这是一个提供特殊功能的类。提供的方法有:把字符串进行HTML 解码(转换替代)。、验证字符串、、对字符串密码进行两种加密方式(0:SHA1||1:MD5)、、解密字符串、加密 Cookie、倒序排列等功能。
4、OrderBook.cs
这是针对用户发送的订单信息类。提供订单所需登记的信息与进行相应等级用户的打折方法。
5、User.cs
这是一个管理用户信息的类。提供用户登记注册信息、修改个人信息、修改密码、登录是否成功、检查用户是否存在、检查用户是否管理员等功能。
5.2 界面功能设计
5.2.1 网络书店设计理念
电子商务有多种类型,其中最为常见的是在互联网上建立虚拟商场,为人们提供一种新的购物方式。由于互联网这种媒体的特殊性,网上购物和传统的购物方式在许多方面有很大差别,能吸引大多数Web客户(54%以上)重复访问的站点具有四个共同的特征:1 高质量的内容2 经常更新 3 响应时间短 4 易于使用5 好的链接设计同时也要注意保持界面一致性加上适当的美观。结合以上的内容我决定设计以下的
IX
页面。
5.2.2 功能设计的实现及代码
我们的界面设计根据购物流程进行页面设计。一般的网络书店主要是,网站的主界面、书籍分类浏览、书本详细介绍、加入购物车、发送订单、订单确认、以及用户注册登录、用户管理、管理员管理等界面,如表1所示。
表1 网络书店系统界面总体表 网站的模块 网站的主界面 书籍分类浏览 网页的名称 Default.aspx Default.aspx ReadBookCover.aspx ShowBookDetail.aspx AddToCart.aspx CartToOrder.aspx OrderOK.aspx AddBookType.aspx AddNews.aspx AdminDefault.aspx BookManagemment.aspx LackBookManagement.aspx ManageBookDetail.aspx ManageOrderDetail.aspx NewsManagement.aspx OrderManagemment.aspx UserAdviceManagement.aspx UserManagement.aspx AboutUsBottom.ascx Bottom.ascx HeadLogin.ascx HeadTop.ascx LeftControl.ascx OtherBottom.ascx OtherHeadTop.ascx SearchControl.ascx 书本详细介绍 加入购物车 发送订单 订单确认 管理员管理 用户控件
1、用户个人信息管理(MyBookStore.aspx):其界面如图5.1所示。
X
图5.1主界面
主要功能实现代码:
private void Page_Load(object sender, System.EventArgs e) { if(Object.Equals(Session[\"UserName\"],null)) { Session[\"ReqestedURL\"] = Request.RawUrl; Response.Redirect(\"../Error.aspx\");
}
else
{ RobertSoft.BookStore.User currentUser = new RobertSoft.BookStore.User(); currentUser.Name = Session[\"UserName\"].ToString(); if(currentUser.GetUserInfo()) { //显示用户名、跟该用户的等级
this.lbUser.Text = currentUser.Name.ToString() + \"!您现在是本站的“\" + currentUser.UserLevel.ToString() + \"星级”用户!
希望您在本站的购物历程愉快而有收获,同时获得更大的优惠!\"; } } }
2、修改个人信息(ModifyUserInfo.aspx):其界面如图5.2所示。
XI
图5.2 修改个人信息界面
修改按扭的功能实现代码:
private void btModify_Click(object sender, System.EventArgs e) { if(this.rbMan.Checked == true) { currentUser.Sex = 1; }
else if(this.rbWoman.Checked == true) { currentUser.Sex = 0; } else
{ currentUser.Sex = 2; // 2 means not set! }
//修改真实姓名、性别、证件名称、证件号码、教育程度、省份城市、地址、邮编、
电话、手机、电子邮箱
currentUser.Mail = this.tbEmail.Text.Trim();
currentUser.RealName = this.tbRealname.Text.Trim(); currentUser.Province = this.tbProvince.Text.Trim(); currentUser.PostCode = this.tbPostcode.Text.Trim(); currentUser.Mobile = this.tbMobile.Text.Trim(); currentUser.CallNumber = this.tbCall.Text.Trim();
currentUser.Education = this.ddEducation.SelectedItem.Value.Trim(); currentUser.IDName = this.ddIDName.SelectedItem.Value.Trim(); currentUser.IDNumber = this.tbIDNumber.Text.Trim(); currentUser.Address = this.tbAddress.Text.Trim(); currentUser.Name = Session[\"UserName\"].ToString(); currentUser.UpdateUser();
this.lbModify.Text = \"修改成功!\"; }
//返回用户管理首页
private void btOK_Click(object sender, System.EventArgs e)
XII
{ Response.Redirect(\"MyBookStore.aspx\"); }
3. 修改密码(ModifyPassword.aspx):其界面如图5.3所示。
图5.3 修改密码界面
确定按扭的功能实现代码:
private void btOK_Click(object sender, System.EventArgs e) { currentUser.Name = Session[\"UserName\"].ToString(); currentUser.Password = this.tbOldPass.Text.Trim(); if(currentUser.Login())
{ //判断旧密码是否错误和输入的两次新密码是否一致
currentUser.ChangePassword(this.tbNewPass.Text.Trim());
this.lbModify.Text = \"密码更新成功!\"; this.tbOldPass.Text = \"\"; this.tbNewPass.Text = \"\";
this.tbNewPassAgain.Text = \"\"; }
else {
this.lbModify.Text = \"原密码输入错误!\";
} }
4. 我的收藏夹(AddToFavorite.aspx):其界面如图5.4所示。
XIII
图5.4 我的收藏夹管理
添加收藏夹功能实现代码:
private void Page_Load(object sender, System.EventArgs e) { if(!IsPostBack)
{ if(Object.Equals(Session[\"UserName\"],null)) { Session[\"ReqestedURL\"] = Request.RawUrl;
Response.Redirect(\"../Error.aspx\"); }
else
{ nUserID = int.Parse(Session[\"UserID\"].ToString()); // 查询具体的书本一次,把它添加到收藏夹数据表中 if(!Object.Equals(Request[\"BookID\"],null))
{ nBookID = int.Parse(Request[\"BookID\"].ToString());
strSql = \"select UserID from [FavoriteBook] where UserID=\" + nUserID + \"And BookID=\" + nBookID;
try
{ // 如果已经有这书就不需要添加到收藏夹中
RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLForValue(strSql); }
catch
{ // 此外把它添加到收藏夹的数据表中 strSql = \"INSERT INTO [FavoriteBook]([UserID], [BookID]) VALUES(\" + nUserID +
\
try
{ RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLCmd(strSql); } catch
{ this.lbInfo.Text = \"插入数据失败!\";} } } BindData(); } } }
XIV
第6章 网络书店系统实现技术
6.1 ASP.NET技术
ASP.NET是一个已编译的,基于.NET的环境,它可以使用任何与NET框架兼容的语言来创建WEB应用程序。执行速度是以往的ASP没法比拟的。 6.1.1 WEB 控件设计技术
本系统设计与运行是在NET框架上的VS.NET平台上的。它包含了HTML服务器控件,WEB服务器控件,验证控件,数据控件等。如图6.1所示。
图6.1 添加图书类型
在这个界面中,有下拉框(dropdownlit),文本框(textbox),按钮(button)与显示框(label).这些控件可以在VS.NET平台中直接拉到界面,不单省时间,而且十分方便快捷。提高开发程序速度。 6.1.2 用户自定义控件设计技术
由于在系统上很多网页都需要用到很多共同的内容,如网页的页头和滚动广告栏,页尾等,在VS.NET上,用户可以很轻松、方便的创建自定义WEB控件,这样大大减少了代码的重复性。下面将举搜索用户控件为例,如图6.2所示。
图6.2 搜索图书控件
页面设计的代码如下:
<%@ Control Language=\"c#\" AutoEventWireup=\"false\"
Codebehind=\"SearchControl.ascx.cs\"
Inherits=\"BookStore.Inc.SearchControl\" %>
现在这个用户定义的控件,可以如其它WEB控件一样方便使用了.在所存放的页头上要加以下代码才可成功使用:
<%@ Resgister TagPrefix=”uc1” TagName=”search” Src=”search.ascx” %>
6.1.3 WEB配置技术
在ASP.NET平台,还提供可扩展的基础结构。这些配置结构为每一个惟一的URL资源设计一组配置设置,然后缓存结果配置设置,以提供以后应用程序对资源的请求使用。在这个系统中我们经常要使用数据库连接字符串,每次书写很不方便而且难维护,我把这个配置设在WEB.Config文件中,在程序中调用即可。代码如下:
在程序中只需以下代码即可使用连接数据库设置: string con=ConfigurationSettings.AppSettings(“strconnection”); 在系统中每个界面上基本上是利用VS.NET平台的工具控件完成界面的设计。 6.2 C#语言 C#的核心是面向对象程序设计(OOP),所以它具备OOP的显著特点:封装(它绑定代码及其操作的数据,不受外界干涉与误用影响)、多态性(指一个接口,多个方法)和继承(一个对象获得另一个对象的属性的过程)。下面的代码是用户个人信息管理中订单书目详细信息的删除。 private void DeleteData(int intOrderID) { int nStatus; string strSql; strSql = \"select OrderStatus from OrderUserDetail where ID=\" + intOrderID; nStatus = RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLForValue(strSql); if( nStatus == 1) { strSql = \"DELETE FROM [OrderUserDetail] where ID=\" + intOrderID; try { RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLCmd(strSql); this.lbInfo.Text = \"删除成功\"; } catch { this.lbInfo.Text = \"删除失败!\"; return;} XVI strSql = \"DELETE FROM [OrderBookDetail] where OrderID=\" + intOrderID; try {RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLCmd(strSql); this.lbInfo.Text = \"删除成功\";} catch {this.lbInfo.Text = \"删除失败!\"; return; } } else { this.lbInfo.Text = \"订单已经在受理中或者已经受理完毕,无法删除。如有问题,请直接和网站管理员联系。\"; this.lbInfo.ForeColor = Color.Red; } } 从以上的程序来看,C#不仅是C语言的继承而且兼容了JAVA的优点。是一种优秀的面向对象的语言。特别是它与NET平台的紧急结合。对代码进行可管理,且垃圾回收处理。对程序的异常处理,也相当好。成为了一种新的语言潮流。所以本系统采用C#语言进行系统的设计。至于更多的C#知识,可参考本论文的参考资料。 6.3 Web Service服务 Web Service是一种可编程的应用程序。它建立在XML、HTTP和SMTP的基础之 上。不管你的Web Service服务用那种语言写出来的,只要你用SOAP协议通过HTTP来调用它,即可使用。下面就是定义一个Web Service服务,关于返回书籍内容的Web服务方法。 public DataView GetBook() { string strSql; DataSet currentDS;//定义数据集 strSql = \"select * from [BookInfo]\"; currentDS = ExecuteSQLForDS(strSql); //执行查询SQL语句 return currentDS.Tables[0].DefaultView;//返回数据集 } 在程序中只需导入WEB命名空间(system.web.services),像类一样引用。从以上的程序来看,这种服务可以为远程程序提供服务,而且可以通过防火墙(用XML)进行消息传递。极为的安全。这种新的技术正在大量开发。 XVII 结 论 经过一段时间的学习、讨论、研究,经过老师的指导和全组同学的努力,基于.NET的网络书店系统即初步实现。此系统是通过调研、分析、设计和多次的修改而实现。完成后的网络书店面向的对象有三种:读者、消费者和出版社。 网络书店凭借低价策略与便利性,近年来对实体书店的业绩表现产生了强烈冲击,造成了市场的重新分配。网络书店的销售能力不仅限于新书与畅销书,更包括了在实体书店已下架的书。 若以四个字概括其精神,就是新、速、实、简首先是新,即书店的服务手段紧跟时代潮流。定位为信息技术产业,而不是一般的商品流通业。网络商业将是极度重要的,对许多垂直性产业〔如书籍销售〕的重要性更是很快就会到来。网站的确可以在许多产业领域增加商业价值,而前提是科技手段必须跟上去。”其次是速,即实现搜寻与送货的快速。可以从两方面证明本书店的快速特性。其一是搜寻快速,本书店使用的是64位500MB内存的Alpha服务器,因此功能极为便利与快速。另外,除了搜寻选项之外,顾客也可以同时浏览23种不同的主题,如此也节省了上网的时间,提高搜寻的速度。顾客那怕是一名小学生,也很容易利用网上的软件选购到理想的书。网络书店虽然没有传统书店的临场感,但通过软件在网上却更为容易货比三家。其二是送货时间的快速,快捷的送货是本书店广受好评的重要原因。本书店对于订货到达的时间有一恒等式:找到订货商品+装运时间=所需的送货时间。举例来说,许多种类的商品在本书店都标榜可以全天候24小时购得,如果在中国当地的消费者选择境内标准的送件方式,那么装运时间约为3到7个工作日,期间的差距依居住地的不同而定。套用上述公式,就是以一天的时间(找到订货商品)加3到7天(装运时间),所以购物者可以预期在网络上下了订单后的4到8天,就可以看到货品了。 第三是实,即让用户真正得到实惠。本书店是举世最大的折扣业者,几乎所有的书目均可以获得折扣优惠。由于少了中间商抽成剥削,促使本书店销售的书籍或其他商品有着较宽裕的让利空间。本书店目前有超过40万种以上的商品,包括书籍、音乐以及唱片和视盘,可以比传统书店获得高达40%的优惠。最后是简,即让顾客〔尤其是回头客〕实现网上购物的简单化,本书店称之谓“一点就通”的功能服务。顾客选中一本书,窗口会主动列出同类书供你参考;任何人只要在本网络书店买过一次商品,本书店就会记住购物者的相关资料。下回再购买时,只消用鼠标点一下欲购之物,网给系统就会帮你完成之后的手续,其中包括消费者的收件资料,甚至刷卡付费也可由网络系统代劳,顾客只需点一下“确认”按钮。最后一点还没有实现,但是这是系统后期应该完成的。 XVIII 致 谢 语 在毕业设计中,我得到了老师及同学的真心帮助和支持。首先感谢我的指导老师曾鹏老师,他为本次的毕业设计倾注了大量的心血。由于我的知识欠缺和经验不足,一开始对我的毕业设计很缺乏信心,他总是笑着说没问题,还亲自帮我找了参考书籍,减少了我不少心理压力。在设计期间,老师也是很耐心的指导我,为我解答疑难,使我顺利地完成了基于.NET的动态路径规划的研究。 在这次的毕业设计过程中,我得到了身边许多同学和老师的帮助。 衷心感谢我的指导老师曾鹏老师的悉心指导和关怀下才得以顺利完成。从论文的选题、系统的设计过程、论文的结构到最后的定稿,都得到曾鹏老师细心的指导和提携。曾鹏老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。他无论在理论上还是在实践中,都给予我很大的帮助,使我得到不少的提高,这对于我今后的学习和工作都是一种巨大的帮助。 感谢学院计算机系和实验室老师给我们提供充足的计算机和良好的工作环境。 感谢指导教师曾鹏老师!从开始的系统策划到最后的论文完成,都是在他的指导和帮助下完成的,而且他们给了我们很多技术上的支持。 通过这次毕业设计,我不仅达到了完成设计任务的目的,还培养了我分析问题、解决问题的能力,这些将对我在以后的学习和工作中有很大的帮助。在这次的设计过程中,我们得到了系领导和老师们的大力支持,在此,谨代表我们小组的全体成员向他们表示感谢。其中,要再次特别感谢我的曾鹏老师,他给我的设计提出了很多重要的建议,并给予我极大的鼓励,使我能顺利的完成设计。 XIX 参考文献 [1] 东名,关名月等,/ASP.NET动态网页设计高手/,清华大学出版社,2005年 [2] 祁明等,/电子商务实用教程/,高等教育出版社 2002年 [3] 胡家辉,扶玉坤等,/ASP.NET基础教程与上机指导/,清华大学出版社,2003年 [4] 廖望,钟永生等,/VB.NET程序设计安全教程/,冶金出版社,2003年 [5] 王易,/ASP.NET网站设计实例通/,清华大学出版社,2003年 [6] joe mayo,/c# builder kick start/,sams publishing ,2005年 sams publishing,2003年. [7] joe martin and brett tomson,/sams teach yourself asp.net in 24 hours/, XX 因篇幅问题不能全部显示,请点此查看更多更全内容