基于ASP的晋商大院旅游网站的设计与实现毕业论文设计.docx
《基于ASP的晋商大院旅游网站的设计与实现毕业论文设计.docx》由会员分享,可在线阅读,更多相关《基于ASP的晋商大院旅游网站的设计与实现毕业论文设计.docx(40页珍藏版)》请在冰豆网上搜索。
基于ASP的晋商大院旅游网站的设计与实现毕业论文设计
1绪论
1.1选题的背景
中国旅游业是一个新兴产业部门,被成为“永远的朝阳产业”、“永远的环保绿色产业”、“国民经济提升的催化剂”。
它虽然起步较晚,但已在改革开放中,伴随着国民经济的腾飞而发展起来。
旅游业是一个劳动密集型产业,旅行社作为旅游业的龙头,十年间得到了飞速发展,但是旅游业发展的广度和深度还远不能满足经济发展和人民生活水平的需要。
随着市场经济的发展和人民生活水平进一步提高,人们对旅游消费的需求逐渐上升,旅游消费在人们的总消费中的比例不断增大,旅游业在国民经济中的地位和作用越来越显得重要[1]。
旅游网站相对与传统旅游企业更有优势。
它信息更丰富、经营方式更合理。
游客可在网站里收集文字、图片、视频以及目的地景点的食宿、天气和交通等详尽的信息,还可以预定线路、反馈旅客意见等。
旅游网站搭建了旅游企业和游客便捷沟通的桥梁,具有查询方便、安全保密性好、用户界面友好、容易操作等优点。
由于旅游网站可以打破地域的限制,降低了成本,使旅游网站的所有者和消费者都得到切实的利益,实现了双赢[2]。
1.2选题的目的和意义
山西省是旅游资源大省,不论人文旅游资源还是自然资源都具有一定的优势。
其中属晋商大院享誉盛名。
很多国内外游客都慕名而言,为的是一睹晋商大院风采,回忆那段曾经创造过辉煌商业成就的明清晋商时代。
为了满足广大海内外游客及时方便的了解晋商大院的信息,特做一晋商大院的特色网站为那些慕名而来游客提供一个旅行服务的平台。
网站提供了关于晋商大院的最新相关的信息,帮助游客实现对景点的了解,推出相应的线路信息供游客们选择,实现在线的预订线路,无疑能获得较大的市场,并且能让游客们充分享受旅游乐趣的同时,感受到山西人的热情、进取、敬业、勤奋、创新、诚信的精神。
我们秉承“新创意、新思路”的经营理念,携手向运用网络平台实现现代旅游业这个共同的理想前进,为山西的旅游事业贡献出自己一份微薄的力量!
1.3论文的构成及内容
本论文包含以下7个内容:
1是绪论,包括了山西旅游行业研究现状和背景及研究意义。
2是系统分析,包括可行性分析,需求分析及系统功能模块分析。
3是系统数据库设计,包括概念设计,逻辑设计,数据库连接文件。
4是系统详细设计,包括系统页面逻辑设计和功能模块的设计。
5是系统实现,包括所有主要功能的实现以及实现界面截图和部分主要代码。
6是系统测试,包括测试环境、内容以及结果。
7是总结,指出了系统开发的经验和不足之处。
2旅游信息系统网站系统分析
2.1可行性分析
下面研究本系统的可行性分析来确定本系统是否值得去开发研究。
分析几种主要可能解决方法的利弊,从而判断系统规模和目标是否能实现,系统完成后所能带来的效益是否大到值得投资开发这个系统。
因此,可行性研究实质上是要进行一次大大压缩简化了的系统的分析和设计的过程,也就是在较高层次上以抽象的方式进行的系统分析和设计的过程。
一般说来,至少应该从以下三方面研究每种解决方法的可行性:
经济可行性:
使用现有的技术能否实现这个系统。
技术可行性:
这个系统的经济效益能否超过它的开发成本。
操作可行性:
系统的操作方式在这个用户组织内是否行得通[3]。
2.1.1经济可行性
本系统是基于ASP的旅游信息管理的小型系统,在开发工具和设备等方面只需要一些基本的配置就可以了,因此在硬件要求上不太高,成本要求也不好。
只要有几十兆空间和一个域名,即可开通网站,实现旅游信息管理,在互联网上拥有自己的一席之地。
综上所述,可以看出开发这样一个旅游信息系统在经济上是完全行得通的。
2.1.2技术可行性
该系统采用当前比较流行的ASP语言进行开发,数据库采用普通的ACCESS。
这些技术已经相当成熟,而且现在已有很多采用该技术开发搭建网站的案例。
网站运行的硬件环境:
CPU最低配置为PentiumII级处理器;硬盘:
系统驱动器上要求10MB的可用空间,安装驱动器要求16MB的可用空间;可运行的软件环境:
须安装IIS。
这些条件目前一般的计算机都可以满足,而且大部分机器都已联网。
因此从技术的角度分析,构建该系统是可行的。
2.1.3操作可行性
本系统的界面是用传统的超链接方式,即使在操作人员完全不熟悉的情况下也可以轻松、方便而且容易的上手操作。
进入系统后,点击相应的子菜单,就可以实现相应的功能。
因而在操作上本系统是可行的。
2.2需求分析
现代旅游业就其性质而言,是一种自愿自发的消费活动,无法依靠指令性计划强制进行,因此,它具有天然的市场经济个性,许多旅游业发达国家和旅游组织已普遍在Internet网上进行宣传和促销,加大宣传力度,开发和利用网上资源,把自己的旅游资源、设施和特色物产制作成为内容详尽、图文并茂的网页,放在Internet网上。
在国内,各政府和旅游部门一直都很注重网络化的发展,尤其是近几年,互联网在旅游业的作用越来越大,因而,各种旅游网站相继诞生。
如“携程旅游网
通过对系统的终端用户和客户进行调研,总结一下需求说明部分。
(1)由于业务的需要和保密性,以及便于管理,系统用户应该具有不同的等级,既不同的权限。
按等级分为超级用户和一般用户。
(2)网站能够对各种旅游资源信息进行查询和发布。
前台能够非常方便的浏览和查询旅游资源信息,后台能够及时更新和处理。
(3)系统后台应该提供数据库操作的功能。
(4)系统运行在Windows平台上,系统还应该有一个较好的图形用户界面。
(5)系统应该有很好的可扩展性[4]。
2.3系统功能模块分析
经过最初的设计目标和进行的市场调查,本系统设置普通用户和管理员两种权限。
2.3.1普通用户模块部分的主要功能
(1)在线查询功能
在线查询功能模块中主要是通过模糊查询来实现,查找线路相关信息,如线路名称、报价、时间、线路景点、行程安排等详细信息。
(2)在线预订
实现旅游线路的预订。
实现人数、联系方式、时间等信息以订单形式提交后台,为旅游信息系统组团等提供数据支持。
(3)留言交互
提供给网友一个交流与信息反馈的平台,实现远端客户向服务器数据库提交功能。
(4)网站在线调查
网站投票主要是实现网站满意度调查。
(5)热点新闻、旅游资讯
游客可以查看首页上的热点新闻以及旅游资讯,以方便了解自己感兴趣或想去地方的信息[5]。
2.3.2管理员模块部分的主要功能
(1)预定管理
管理员可以查看和处理游客预定的旅游路线,并有权限删除无效预定。
(2)路线管理
管理员可以添加、编辑、删除路线的分类,按分类来对路线进行管理,进而进行路线的添加、编辑和删除。
(3)旅行社管理
管理员可以随时按旅行社相应的变动对旅行社的信息进行修改,如联系人、联系电话、地址、邮件等信息,同时还可以对管理员的登录密码进行修改。
(4)文章管理
管理员可以对旅游资讯和热点新闻专题进行修改,添加以及删除。
(5)留言板管理
留言板主要是一般游客对旅行社或者网站的一些意见或建议,管理员可以对游客的意见或建议进行回复和处理。
(6)网站投票管理
管理员可以查看投票的调查结果,促进网站更好发展[6]。
具体的功能模块图如图1、图2、图3所示
图1系统前台功能模块图
图2系统后台功能模块图
图3线路管理功能模块图
说明:
由于论文的篇幅限制不能一一列举功能模块图,只给出了部分功能模块图。
3数据库设计
数据库设计是本系统的核心和基础。
它设计的好坏直接影响着整个系统的质量。
数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计[7]。
3.1概念设计
从数据需求分析中得出系统的实体属性图,如图4、图5、图6、图7所示:
图4用户实体属性图
图5留言实体属性图
图6线路信息实体属性图
图7线路预定属性图
说明:
由于论文的篇幅限制不能一一列举数据流图,只给出了部分数据流图。
E-R模型的组成元素有:
实体、属性、联系。
E-R模型用E-R图表示。
实体是用户工作环境中所涉及的事务,属性是对实体特征的描述。
(1)模型中的实体相当于实体集、一个表,而不是单个实体或表中的一行。
实体用矩形框表示,实体名称标注在矩形框内。
用菱形表示实体间的联系,菱形框内写上联系名,用无向边把菱形分别与有关实体相连接,在无向边旁标上联系的类型。
(2)属性是实体的性质。
用椭圆框表示,与实体之间用一条线相连。
表的主码是关键属性,关键属性项加下划线。
(3)各子系统模块中主键相同的字段之间存在着相互关联的关系。
(4)在程序中实现对他们的完整性和一致性控制[8]。
从数据需求分析中得出系统的实体属性图,遵循三范式原则,对实体之间的依赖关系进行了整合,得出系统E-R图,如图8所示:
图8系统E-R图
说明:
图中用矩形表示实体。
实体之间的关系用菱形表示,用无向边把菱形与有关实体连接,在边上标明联系的类型。
实体的属性用椭圆表示,并用无向边把实体与属性联系起来。
3.2逻辑设计
对数据库中具体表的详细设计,即各数据库表的字段名、类型、长度等信息进行了详细的描述。
根据系统E-R图,系统数据逻辑结构设计如下:
用户(用户编号,用户名,密码,电话,邮箱,传真,地址,成员,服务宗旨,简介,QQ号码)
留言(留言编号,用户编号,邮件,时间,内容,删除,回复)
线路类型(类型编号,类型名,排列顺序)
线路信息(线路编号,线路名称,线路报价,线路类型,时间,说明,景点,安排,注释,景点图片,线路查看人数,所属类型编号,是否置顶)
线路预订(预订编号,线路编号,用户编号,导游要求,旅游人数,拼团要求,预订时间,来游时间,返程时间,预订人想法,备注说明,补充事项,是否处理)
新闻(新闻编号,新闻标题,新闻内容,发布时间,浏览次数,是否置顶)
3.3实体设计
概念模型设计完毕后,利用实体集间联系的转换规则,可将E-R图转化成相应的关系模型,即数据库中的表。
实体集间的转换关系如下:
(1)1:
1联系的转换方法
一个1:
1联系可以转换为一个独立的关系,也可以与任意一端实体集所对应的关系合并。
如果1:
1联系转换为一个独立的关系,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,并且每个实体的码均是该关系的候选码。
如果将1:
1联系与某一端实体集所对应的关系合并,则需要在被合并关系中增加属性,其新增的属性为联系本身的属性和与联系相关的另一个实体集的码。
(2)1:
n联系的转换方法
在关系模型转换时,实体间的1:
n联系可以有两个转换方法:
一种方法是将联系转换为一个独立的关系,其关系的属性由该联系相连的各实体集的码以及联系本身的属性组成,而该关系的码为n端实体集的码;另一种方法是在n端实体集中增加新属性,新属性联系对应的1端实体集的码和联系自身的属性,新增的属性和原关系的码不变。
(3)n:
n联系的转换方法
与该联系相连的个实体集的码以及联系本身的属性均转换为关系的属性,新关系码为两个相连实体码的组合[9]。
根据上述法则的联系转换的方法,上述E-R图可以转换成表。
下面分别介绍这些表的结构:
(1)旅游信息系统信息表(master):
如表1所示:
表1master表
编号
字段名称
数据结构
说明
1
Id
Int(4)
自动编号
2
Username
Nvarchar(8)
用户名
3
Userpassword
Nvarchar(20)
密码
4
Dianhua
Nvarchar(11)
电话
5
Email
Nvarchar(30)
邮箱
6
Fax
Nvarchar(12)
传真
7
Address
Nvarchar(50)
地址
8
People
Nvarchar(50)
成员
9
Zongzhi
Nvarchar(255)
服务宗旨
10
Jianjie
Nvarchar(255)
简介
11
QQ
Nvarchar(12)
QQ
说明:
旅游信息系统信息表用于存放系统用户的信息,其中系统用户的自动编号为主键。
(2)新闻信息表(news):
如表2所示:
表2news表
编号
字段名称
数据结构
说明
1
Id
Int(4)
新闻编号
2
Ntitle
Ntext(20)
新闻标题
3
Ntext
Ntext(1000)
新闻内容
4
Ndatetime
Datetime(8)
发布时间
5
Nclick
Int(4)
浏览次数
6
Ntop
Int(4)
置顶否
说明:
新闻信息表用于存放旅游信息系统中的新闻信息,其中新闻编号为该表的主键,方便管理员查看浏览者的浏览次数,以确定浏览者的兴趣方向。
(3)线路信息表(xianlu):
如表3所示:
表3xianlu表
编号
字段名称
数据结构
说明
1
Id
Int(4)
线路编号
2
X_name
Ntext(16)
线路名称
3
X_baojia
Nintr(50)
线路报价
4
X_leixing
Ntext(50)
线路类型
5
X_shijian
Datetime(8)
时间
6
X_shuoming
Ntext(255)
说明
7
X_jingdian
Ntext(255)
景点
8
X_anpai
Ntext(255)
安排
9
X_zhushi
Ntext(255)
注释
10
X_jingdiantupian
Nvarchar(80)
景点图片
11
X_n
Int(4)
线路查看人数
12
X_lei
Nvarchar(20)
所属类别
13
X_leiid
Int(4)
所属类别编号
14
X_top
Int(4)
是置顶否
说明:
线路信息表用于存放线路的基本信息,其中线路编号为该表的主键,方便浏览者查看线路,线路类型,以及他们最关心的费用问题。
说明:
由于论文的篇幅限制不能一一列举个数据表,只给出了部分数据表。
3.4数据库连接文件
数据库的连接文件conn.asp,主要代码如下:
<%
dimconn
dimdbpath
setconn=server.createobject("adodb.connection")
DBPath=Server.MapPath("mdb/yjq.mdb")
conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DBPath
%>
4系统详细设计
4.1系统结构的设计
本节中主要从本系统的所有页面着手介绍系统的总体构架,具体的业务流程设计将在4.2节中介绍。
本系统设计有10个主要的显示页面,分别介绍如下:
(1)index.asp:
该系统的首页。
当用户进入到该网站时候所显示的页面,该页面显示了旅游信息系统的首页。
(2)jianjie.asp:
该页面显示了本旅行社的资料,通过该页面浏览者可以了解到旅行社的资料。
(3)news.asp:
本页面显示了该系统的旅游动态,方便浏览者及时浏览到关于旅游的最新消息。
(4)search.asp:
本页面的设计是为了线路搜索方便,通过添加必须添加的选项您想去的地方,进行模糊查询或者精确查询,以满足浏览者的要求。
(5)listall.asp:
通过该页面,可以进行预订查询,所需要填写的条件是姓名和电话,点击提交查询之后,即可以进行查询自己的预订信息。
(6)menu.asp:
旅游资讯页面。
该页面显示旅游者最关心的旅游过程中出现的问题,方便旅游者查询。
(7)GustBook.asp:
旅客留言页面。
该页面的浏览者可以通过本页面添加留言信息。
(8)add.asp:
网站满意度调查的页面。
旅客登录本页面后,可以对本网站满意度进行投票。
(9)admin_login.asp:
管理员登陆的页面。
(10)admin_main.asp:
管理员登录后的页面。
在本页面中,管理员可以进行预订管理,线路管理,旅行社设置,文章管理,其他设置等功能。
4.2业务流程图
在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所有环节的处理业务、处理内容、处理顺序和处理时间,弄清各个环节需要的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和信息形态(报告、报单、屏幕显示)等。
业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查工作中的错误和疏漏。
业务流程分析是通过业务流程图来进行,即用一些规定的符号及连线来表示某个具体业务处理过程[10]。
4.2.1前台模块流程设计
用户打开网站后,可以在线留言,查看旅游信息,预订旅游线路,在线调查投票等操作。
如图9所示:
图9前台模块流程图
4.2.2后台管理模块流程设计
管理员登录后台后,可以对本系统进行管理,管理员可以进行预订管理,线路管理,旅行社设置,文章管理和其他设置操作。
如图10所示:
图10后台管理模块流程图
4.3数据流图
数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程。
数据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组织机构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际业务的数据处理模式。
数据流程与数据流程分析是今后建立数据库系统和设计功能模块处理过程的基础。
描述数据流程的工具是数据流程图以及其附带的数据字典、处理逻辑等图表。
其中数据流程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信息在系统中的流动、存储和传递[11]。
在业务流程分析的基础上,对数据流进行了分析,从数据流动过程考察了实际业务的数据处理模式。
该系统的数据流图分为顶层、一层、二层。
具体分析第一层数据流图。
该层数据流图如图11所示:
旅游新闻记录
图11第一层数据流图
5系统的实现
5.1系统前台
5.1.1前台首页
用户打开本系统后就会进入前台首页,如图12所示:
图12前台首页
5.1.2旅游动态页面
浏览者点击旅游动态后,即可进入旅游动态页面,查看关于旅游动态的最新信息。
如图13所示:
图13旅游动态页面
5.1.3线路查询页面
浏览者点击线路查询页面后,可以查询自己想要的旅游线路的各种信息。
如图14所示:
图14线路查询页面
5.1.4在线调查页面
浏览者可以通过本页面,在论坛里进行交流。
如图15所示:
图15在线调查页面
5.2系统后台
5.2.1后台登录页面
此模块主要功能是用于登录本系统,不同权限的用户登录本系统会进入不同的管理模块界面,因为在后台对该用户进行的判断,首先将从前台页面提交的用户名和密码进行接受,之后在后台进行处理,按照用户名在数据库中进行查询如果查到该用户则将该用户的权限和密码全都取出来分别赋给两个字符串变量,判断从数据库中读出的密码与登录时输入的密码是否配比上,若两个密码相同则根据权限的值进入相应的页面,否则输出密码错误。
若用户未被管理员分配好权限那么也是无法登陆本系统的[12]。
如图16所示:
图16后台登录页面
主要代码如下:
logsql="selectusername,userpasswordfrommasterwhereusername='"&un&"'andid=1"
setlogrs=conn.execute(logsql)
iflogrs.eofandlogrs.bofthen
response.Redirect("error.asp?
errormsg=
错误的用户名!请返回后重新输入!")
else
iflogrs("userpassword")<>md5(up)then
response.Redirect("error.asp?
errormsg=
错误的用户密码!请返回后重新输入!")
该页面同时供其它页面的调用,通过以下代码来验证是否为非法登录:
〈%
ifrst.eofandrst.bofthen
response.Write("alert('用户名或密码有误!
');location.replace('login.asp');")
else
session("admin")=rst("admin_name")
%>
5.2.2查看预订页面
线路预订是本系统主要部分之一,它的实现从根本上说就是对数据的提交的过程。
在保证了界面在结构上一致性的前提下,对线路进行了详细的说明。
在构思阶段考虑到随团旅游的特殊性,对线路进行了详细的介绍。
预订模块实现格式化数据提交,尽量保证了订单的有效性。
提交的信息在尽量精简的同时保证了起码基本的人数、时间、联系方式、大概价格等的采集。
如图17所示:
图17查看预定页面
5.2.3留言板管理页面
留言板页面显示方式根据发布时自动编号的ID排序,每页显示多条记录,且写入数据库的记录中is_show=1,即隐藏/显示属性为显示,直接可以从前台页面显示出来。
同时预留了回复显示框,当管理员回复留言时,直接显示在留言框本条留言的下半部分。
留言板界面,如图18所示:
18留言板管理页面
6系统测试
6.1测试环境
本系统测试的环境如下:
操作系统:
WindowsXP
CPU:
Intel(R)Celeron(R)CPU2.66GHz
内存:
DDR400512M
IIS版本:
简易IIS服务器
数据库版本:
Access2007
6.2系统性能分析
本系统在测试和运行过程中,优缺点表现在以下几个方面:
(1)界面友好,操作方便
所有的子系统均采用统一的构架,对操作用户无特殊要求。
管理员可以通过本系统进行系统的在线维护、查看用户的预订情况,其操作方便快捷。
(2)通用性好,扩展性强
本系统可以适用于各种人群,具有优越的通用性能。
(3)验证系统不够严密
由于时间和技术因素,本系统在验证方面存在着一定的问题,有待于进一步的解决。
6.3功能测试
本着认真负责的态度,分模块测试本系统各个核心功能的实现程度。
经严格测试,系统各主要功能均已实现,符合系统设计目标。
由于本系统功能较多,本节只叙述主要功能的测试。
6.3.1路线预定模块测试
测试该功能的测试用例设计如表4所示:
表4路线预定功能测试用例
用例编号
001
功能描述
路线预定