
毕 业 设 计
设计题目:鲁东大学网上书店的设计与实现
姓 名 李 福 霞
学 院 计算机科学与技术学院
专 业 计算机科学与技术
年 级 2003级
学 号 0322110213
指导教师 张 忠 磊
2008 年 6月 10日
目 录
1 前言 1
2 采用技术和开发工具介绍 2
2.1 IIS简介 2
2.2 ASP技术简介和选择ASP技术的原因 2
2.3 WEB数据库技术 3
3 网站系统分析 3
3.1 用例图描述网上书店需求 3
3.2 系统目标 4
3.3 数据表结构 5
4 鲁东大学网上书店具体功能描述及实现 6
4.1 具体功能描述 6
4.1.1 分类查看 6
4.1.2 查询 6
4.1.3 登陆与注册 7
4.1.4 购物车使用 7
4.1.5 评级和评论 8
4.1.6 图书排行榜 9
4.1.7 其他小功能 9
4.2 用户购物流程 9
4.3 重要模块具体功能实现 10
4.3.1畅销排行榜 10
4.3.2 购物车 10
4.3.3 搜索功能 10
5 网站整体设计 10
5.1 CSS样式单文件设计 10
5.2 创建数据库连接 11
6 结束语 11
参考文献 12
致 谢 12
网上书店的设计与实现
李岩
(计算机科学与技术学院,计算机科学与技术专业,2003级2班,0322110213)
摘 要:通过调查分析传统书店的不足,采用应用广泛的Asp、dreamweaver和Access技术,设计了一个界面友好,人性化较为突出,功能简便快捷并较为实用的鲁东大学网上书店。经授权后,管理员可以通过Web浏览器登录系统后台,以人机交互式的方式实现网上图书的添加、删除、定单管理、评论管理、图书分类管理及用户管理等。用户在前台可查看各类书籍的具体内容和排行,也可基于各种方式在站内进行搜索,并能够方便进行购买、发表评论等。
关键词:网上书店;ASP;Access ;设计与实现
1 前言
随着网络的快速发展,许多传统的信息和数据库系统正在被移植到互联网上,网上书店无疑就是其中一个。网上书店能提供人机交互,使得书店与消费者之间有了全新的交流方式,它不再受到传统书店的制约,突破了地理位置上的界限,为共享资源,交流经验提供了方便。正是由于网上书店传播信息迅速方便、容量大、覆盖面广、自由交互等特点,很多的大型书店都已经设计和开发了网上书店,以提供个性化的购物平台,极大的提高购物效率。尽管当前新形势下网上书店多种多样,但专门针对大学建立的网上书店,存在界面上不够亲切人性化,功能上不够简单快捷实用的缺陷。本文专门针对当前网上书店存在的突出问题,充分考虑了书店与消费者的喜好和愿望,力求设计出一个功能较为完备、简单实用,界面较为亲切友好的网上书店,以营造一个有利提高书店的效率和消费者的购买的新环境。
2 采用技术和开发工具介绍
针对不同的应用平台我们要选择合适的设计工具,采用更为有效实用的技术。鉴于此案所设计的网上书店是运行在Windows平台下的一个小型网站,我决定选择当今应用极为广泛的ASP技术和发展较为成熟的数据库技术(Access 数据库管理系统),配合可视化编辑工具Macromedia Dreamweaver 8,并充分考虑该网上书店的显示速度和安全性,尽量弥补这两种技术存在的缺陷[1][2]。
2.1 IIS简介
Web服务器是Web应用程序的心脏。IIS(Internet Information Server)是微软推出的Windows NT Option Pack的主要成员,作为Win2000server的扩展,自推出以来已经有了很大发展,其体系结构是当今市场上最受关注的Web服务器之一。新推出的IIS4.0版本增强了系统安全性,具有服务器端脚本开发调试,内容管理和站点分析,崩溃防护,内置JAVA虚拟机及全面支持ASP等强大功能[3]。
2.2 ASP技术简介和选择ASP技术的原因
ASP全称为Active Server Pages,即动态服务器页面,是Microsoft公司推出的一种运行于服务器端的Web应用程序开发技术。ASP既不是一种语言,也不是一种开发工具,而是一种内含于IIS/PWS之中,代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互, 是一套简单方便的服务器端脚本环境。通过ASP我们可以结合HTML网页、ASP指令和ActiveX元件建立动态、交互且高效的Web服务器应用程序。当浏览器浏览ASP网页时, Web服务器就会根据请求动态生成相应的HTML代码然后再返回给客户端浏览器,这样客户端看到的就是动态生成的网页[4]。
Web技术的发展是由静态网页技术的HTML到动态网页技术(CGI、ASP、PHP、JSP),经历了一个重要的变革过程。随着信息社会的进步和人们要求的不断提高,Web已经不再局限于仅仅由静态网页提供信息服务而改变为动态网页,可提供交互式的信息查询服务,使信息数据库服务成为了可能,静态网页和动态网页的区别如下:
静态网页:利用FrontPage或Dreamweaver所设计的具有.htm(或.html)扩展名的网页。这种网页无法存取后台数据库,不能利用代码动态改变网页的显示内容,只能固定显示事先设计好的页面内容。静态网页运行于客户端的浏览器[5]。
动态网页:不仅仅表现在网页的视觉展示方式上,更重要的是,它可以对网页中的内容进行控制与变化。可实现对后台数据库的存取,并能利用数据库中的资料,动态生成客户端显示的页面,运行于服务器端[6]。
ASP网页与传统的HTML网页相比有以下优点:
(1)在服务器端运行,与浏览器无关。客户端只要使用可执行HTML代码的浏览器,即可浏览ASP网页。
(2)强大的交互功能。可以直接存取数据库,在服务器端动态处理客户端请求。
(3)安全性高。服务器将ASP程序执行的结果以HTML格式传回客户端浏览器,使用者不会看到ASP源代码。
(4)易于管理维护。可以直接在后台管理数据库,能够快速更新网页标题和内容。
2.3 Web数据库技术
本网站使用的是Access数据库技术,查询是Access数据库的主要组件之一,而查询功能也是Access数据库软件中最强的一项功能。Access用户可利用查询工具,通过指定特殊字段、定义字段的顺序、建立计算表达式并输入条件以及定义每个字段的筛选条件等来选择想要得查询的纪录,对存储在Access表中的有关信息进行查询,这便是其在本网上书店网站的最主要的用处[7]。
3 网站系统分析
网络应用开发技术在日新月异地进步,从而使网站应用系统的开发模式具有多种选择性,达到同样的目标可以采用很多不同的方式,现代的应用系统越来越成为一个庞大的集成方案,需要考虑不同的操作平台、不同的应用服务器、不同的数据库、不同的编程语言、不同的传输介质等,现在有Windows、Unix、Linux等各种服务器操作平台,有Access、SQL Server、Oracle、DB2、Sybase和MySQL等数据库,有ASP、JAVA、PHP、CGI、JSP、C++、VB和Delphi等工具,系统分析就是确定是选择Windows + Access + ASP好还是Unix + Oracle +JAVA合适,我们要针对不同的应用场合进行分析[8]。此外,各类软件和语言还在不断发展进步之中,因此系统分析工作从很大程度上决定了系统开发的成败。根据制作网站的需要,我选用了Windows + Access + ASP。
3.1 用例图描述网上书店需求
网站整体结构分为前台界面展示和后台管理两部分。前台主要分搜索图书、新书上架、图书排行榜、特价图书和图书分类等模块,后台主要针对管理员,提供图书和分类目录的添加、修改和删除,以及管理员和用户密码的修改等。根据网上书店特点,将网站分为前台用户界面设计和后台数据库管理设计两部分。前台功能结构和后台功能结构如图3.1和3.2。
图3.1 系统前台功能结构图
图3.2 系统后台功能结构图
3.2 系统目标
本网上书店主要实现以下目标:
(1)人性化设计。程序设计充分考虑书店和消费者的要求,使操作简单方便快捷,界面友好,功能实用。
(2)动态更改前台用户,实现用户注册,登陆和进行浏览搜索书籍并进行购买,提高网站通用性,易于管理维护。
(3)动态式书籍更新。新书上架能直接读取后台数据库,使信息更新及时有效。
(4)动态式书籍排行榜。通过消费者购买此书的数量的增加,可以动态的改变此书在排行榜中的位置,使消费者及时了解书籍的售出情况,以便为其提供购买信息。
(5)搜索快捷方便。基于书名及分类的快速搜索和书籍名称,作者,出版社,时间,价格范围,分类和各种要素排序的高级搜索,能够满足消费者的各种具体而复杂的搜索需求。
(6)实现方便的购买。通过点击购买,消费者就可以将自己要购买的书放入自己的购物车内,后自动添加到数据库中,使管理者知道消费者的需求,进行送货。
3.3 数据表结构
数据库有表:admin、category、delivery、orders、 product、review、sorts和users。主要的两个如表3.3和3.4。
表3.3 orders 数据表
| 列名 | 类型 | 字段大小 | 主键否 | 功能描述 |
| actionid | 自动编号 | 长整型 | 是 | 编辑 |
| username | 文本 | 50 | 否 | 订单用户名 |
| actiondate | 日期/时间 | 无 | 否 | 日期 |
| id | 数字 | 长整型 | 否 | 产品编号 |
| productnum | 数字 | 长整型 | 否 | 产品订购数量 |
| goods | 文本 | 50 | 否 | 订单编号 |
| state | 数字 | 长整型 | 否 | 6是表示在购物篮 |
| recepit | 文本 | 50 | 否 | 收货人 |
| address | 文本 | 50 | 否 | 收货地址 |
| postcode | 数字 | 长整型 | 否 | 邮编 |
| comments | 备注 | 无 | 否 | 留言 |
| paymethod | 数字 | 长整型 | 否 | 汇款方式编号 |
| deliverymethod | 数字 | 长整型 | 否 | 送货方式编号 |
| sex | 数字 | 长整型 | 否 | 性别 |
| paid | 数字 | 长整型 | 否 | 总金额 |
| realname | 文本 | 50 | 否 | 姓名 |
| useremail | 文本 | 50 | 否 | |
| usertel | 文本 | 50 | 否 | 电话 |
| userid | 数字 | 长整型 | 否 | 用户ID |
| 列名 | 类型 | 字段大小 | 主键否 | 功能描述 |
| id | 自动编号 | 长整型 | 是 | 编号 |
| name | 文本 | 50 | 否 | 书名 |
| author | 文本 | 50 | 否 | 作者 |
| productdate | 日期/时间 | 无 | 否 | 出版日期 |
| score | 数字 | 长整型 | 否 | 积分 |
| detail | 备注 | 无 | 否 | 详细介绍 |
| rank | 数字 | 长整型 | 否 | 用户评级分数 |
| price1 | 数字 | 长整型 | 否 | 市场价 |
| price2 | 数字 | 长整型 | 否 | 会员价 |
| recommend | 数字 | 长整型 | 否 | 推荐 |
| solded | 数字 | 长整型 | 否 | 订购次数 |
| viewnum | 数字 | 长整型 | 否 | 查看次数 |
| discount | 数字 | 长整型 | 否 | 折扣 |
| sortsid | 数字 | 长整型 | 否 | 小类ID |
| categoryid | 数字 | 长整型 | 否 | 大类ID |
| pic | 文本 | 50 | 否 | 缩略图 |
| adddate | 日期/时间 | 无 | 否 | 添加日期 |
| ranknum | 数字 | 长整型 | 否 | 评级次数 |
| vipprice | 数字 | 长整型 | 否 | vip价格 |
| mark | 文本 | 50 | 否 | 出版社 |
4.1 具体功能描述
4.1.1 分类查看
点击首页左边图书分类的类别名,可以查看该网上书店的所有分类,点击各个小分类也可看到各个分类所包涵的图书。
4.1.2 搜索
查询分为快速查找和高级搜索,在快速搜索中,在查询栏“书名”框内输入您要查找的书名,并可以在各个小分类内查找,只要在下拉菜单中选择你要搜索的分类,然后点击“查找”或直接按回车(ENTER)键,稍后,查询结果将显示出来。在高级搜索中,可以依据书籍名称、作者名称、出版社、出版时间、价格范围、分类进行详细查找。
4.1.3 登陆与注册
本网站可进行注册成为会员,如下图4.1。
图4.1 用户登陆图
成为会员才可进行购物,注册后就会显示消费者的账户、个人资料、收货资料、修改密码、购物车、我的定单、统计信息和注销退出,在个人资料中可以修改个人的基本信息,如邮箱、真实姓名、密码提问、密码答案等。在收货资料中填写收货人的信息,可以使书店及时将消费者订购的书籍运送给用户;点击修改密码后输入旧密码和新密码即可修改密码;在我的定单中可以看到消费者要购买的书,点击继续购买可以转到书籍浏览处,继续购买;点击统计消息,可以知道此会员何时注册、下定单的时间、次数及成交次数和金额;点击注销退出,便退出会员登陆,返回到主页面。
4.1.4 购物车使用
如图4.2。
图4.2 购物车图
4.1.4.1 购买
每本书目旁边都有一个“购买”图标,点击“购买”,即将该书放入购物车,在右边的我的购物车一栏中显示消费者点击购买过的书籍,并显示共有几种商品及合计多少元。“购物车”的内容包括您订购书籍的信息:书名、数量、会员价、折扣等。
4.1.4.2 修改定购数量
在消费者确定购买购物车内的书后,可点击下方的下订单,每本书的默认订购数量是“1”册。如果要改变订购数量,请在数量框中填入您想购买的数量,然后按下右边的“修改数量”按钮,系统会更新购物车信息,在此页面也会提醒您是普通会员或是VIP会员和总金额,确定点击下一步,即进入结账界面,填入消费者的基本信息,书店据此将书籍运送到消费者所指定的地点。如图4.3。
图4.3 具体邮寄填写图
4.1.4.3 删除购物车内的书籍
已经放入购物车的书籍,若想放弃,可按购物车界面中右边的“删除”按钮,该书即被删除,系统会更新购物车信息。如果希望购买网站暂时没有的书籍,请您将所需的图书的基本信息提供给我们,我们将会联系出版社查找,并将结果尽快通知您。图书的信息包括准确的书名、出版社、ISBN书号等。
4.1.5 评级和评论
点击具体书下方的对此书进行评级,便可对此书评级,分为0到10级,可对其他的消费者提供一些购买信息,也可对书籍进行评论,只要点击下方的发表评论就可弹出对话框,实现了消费者和书店之间的动态交互性。如图4.4。
图4.4 评论图
4.1.6 图书排行榜
点击导航栏上的畅销图书可查看图书销售排行榜,图书购买次数越多,此图书在排行榜中的位置越往上,可以为消费者提供购书信息,即哪种书的销售情况最佳。
4.1.7 其他小功能
点击首页右上方的加为收藏夹,便可将此网站地址加入本机的收藏夹内;点击帮助,就会进入本网站的帮助网页,此网页详细介绍了在本网上书店进行购物进行的流程和注意的问题;在首页左上方有时间显示,用JavaScript语言编写而成;点击网页下方的联系我们,即可弹出Microsoft office outlook,可向书店管理者发送邮件;点击管理中心,可进入管理员登陆界面,实现网站的后台管理。
4.2 用户购物流程
用户购物流程如图4.5所示:
图4.5 购物流程图
4.3 重要模块具体功能实现
4.3.1畅销排行榜
畅销排行榜通过比较购买次数而进行排名,此功能的实现过程,首先在数据库的product表中加入一个字段solded,以此来记录书籍被购买的次数,在排行榜代码中比较字段solded的大小后与数据库相连,由大到小排列显示书籍的具体信息[9]。
4.3.2 购物车
购物车的实现首先检查数据库此用户是否登陆,若无,则设置直接弹出提示注册窗口,若有,则加入消费者的购物栏内,实际是在数据库表orders中加入一条记录,来记录购买信息,其中也可修改购买数量,点击修改按钮实际是修改数据库中orders中productnum一项,填写结账信息是填写orders表中receipt、address、postcode、 comments、paymethord等字段的内容,在下定单的过程中,由state来记录购买进行到的过程,1到5表示在下定单过程中,而6则表示已经完成下定单的全过程,即消费者提交完毕。
4.3.3 搜索功能
搜索分为快速搜索和高级搜索,工作过程和搜索的表是一样的,是product只是高级搜索连接和判断数据库中的字段多,涉及name、 author、mark、adddate、price和categoryid诸多字段,而快速只涉及name和categoryid两个字段的判断,最后都是显示出符合判断条件的书籍。
5 网站整体设计
5.1 CSS样式单文件设计
层叠样式单CSS(Cascading Style Sheets)是W3C给出的两种样式单语言推荐标准之一。与HTML描述数据显示方式的传统方法相比具有表达效果丰富、文档体积小、便于信息检索和可读性好等优点[9]。
外部样式表文件不但可以提高代码复用性,而且有利于统一网站的整体风格。本网站在前台界面和后台管理分别使用了样式单文件:,网页中引用外部样式表的语法分别为:
主要对前后台界面风格如:
字体的大小、超链接属性、滚动条风格等进行了统一的调整和规定。
5.2 创建数据库连接
动态网站开发,一个很重要的步骤就是创建数据库连接,即访问数据库。本站采用了ADO(ActiveX数据对象)存取数据库的对象,连接数据库驱动为ODBC(开放数据库互连),连接方式为DSNless connection(不用数据源打开数据库)。
(1)ADO(ActiveX Data Objects)是用来存取数据库的对象统称,是建立在OLE DB技术基础上的接口技术,OLE DB在ODBC的基础上,用面向对象的思想对ODBC的函数重新进行了分类和包装,形成了新的标准,即ODBC是OLE DB 的子类,而OLE DB是ODBC的超类。ADO主要含有三种对象:Connection、Recordset和Command。
Connection:负责打开或连接数据;Recordset:负责存取数据表;Command:负责对数据库执行行动查询命令。只依靠这三个对象还是无法存取数据库的,还必须具有数据库存取的驱动程序:OLE DB驱动程序或ODBC驱动程序。对于任何一种数据库都必须有相对应的驱动程序,ADO才能对数据库进行存取[10]。
(2)本网站连接数据库的代码为:
打开数据库连接
dim conn,connstr,db,rs
db="manage/db/db.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"")
6 结束语
鲁东大学网上书店采用ASP技术结合数据库技术,为消费者和书店之间提供了一个交互式平台。在前台首页全部采用表格进行规划,主体页面上部和下部分别嵌入了导航分类目录,用户可以通过导航分类目录完成各种需求,例如新书上架,畅销书排行榜,特价书籍,搜索图书,图书分类等,也可在主界面中看各个导航条目的具体内容。在主体界面左侧实现了我的购物车、栏目导航和排行榜三大模块的自动更新,用户还可以输入书名和分类进行快速查询也可通过各个具体项目进行详细查询,能够满足消费者的各种搜索要求,在购买书籍的过程中,消费者也可以对书籍进行评级和留言点评,使众多消费者能够了解更多书籍的特点,对自己的购物做一些帮助,此外,本网站前台还实现了快捷简便的购买,通过自己的账户可以准确知道自己的购物状态,提交购买信息后,书店便可以准确将消费者需求的书籍邮寄或直接送到消费者手中。后台首页采用了框架式结构,左侧是商品、分类和用户管理目录,包括书籍的设置如动态更改书籍名称,分类目录、书籍的添加、修改、删除和用户订单管理、管理员的信息管理等。总体来说,本动态网上书店能够较好的让消费者浏览图书信息和进行购买、评论等,并在授权后,在后台动态的更新本站内容,实现了书籍的信息更新和订单管理,能够在很大程度上提高书店售书的效率,促进书店的销售水平。
参考文献:
[1] 刘涛.小型网站架设技术[M]. 北京: 中国铁道出版社, 2004.
[2] Ivar Jacobson, Grady Booch. Sofeware development process [M]. 北京: 机械工业出版社,2002.
[3] 温明.ASP网站建设实录[M]. 北京: 北京希望电子出版社, 2005.
[4] 石志国. ASP动态网站编辑[M]. 北京: 清华大学出版社, 2001.
[5] 张景峰.ASP程序设计及应用[M]. 北京: 中国水利水电出版社, 2005.
[6] 赵增敏.ASP动态网页设计[M]. 北京: 电子工业出版社, 2003.
[7] 李禹生.Access2003应用技术[M]. 北京: 中国水利水电出版社, 2005.
[8] 邓文渊. ASP与网络数据库设计[M]. 北京: 中国铁道出版社, 2003.
[9] 胡海.CSS完全实例教程[M]. 北京: 电子工业出版社, 2001.
[10] 李严等.ASP 数据库开发实例解析[M]. 北京: 机械工业出版社, 2004.
至少2篇英文参考文献
致 谢
本课题在设计和论文的写作过程中,都得到了张忠磊老师的悉心指导。张老师多次询问开发进程,帮助我开拓开发思路,并给予热忱鼓励。张老师严谨的治学态度,乐观随和的处事态度,不仅教育我如何设计和写作,更重要的是教我如何做人,虽历时仅数月,却让我终生受益。
临近毕业,特别感谢我的班主任邹宁老师四年来对我的关心和帮助,感谢唐新亭、宋丽华、孙丽和潘辉等老师对我的教育和培养,他们踏踏实实的作风,不仅激发我更加勤奋好学,而且从多方面给我带来积极的影响。
最后,感谢我的父亲、母亲和同学对我的理解与支持。
