




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
旅游管理网站的设计与实现毕业论文目 录摘 要IAbstractI一、绪论1(一)背景11. 旅游业信息化的发展12. 旅游类型网站的现状13. 旅游网站的构建1(二)开发技术介绍21开发环境.22 SSM概述2(1) struts概述2(2) spring概述23. JSP技术3二、需求分析3(一)可行性分析31技术可行性32. 经济可行性33. 操作可行性3(二)安全性分析4(三)系统功能分析4(四)数据流程图5(五)用例图9三、概要设计10(一)模块设计11(二)数据库设计12四、详细设计与实现14(一)项目文件夹结构15(二)模块详细设计161.登录注册模块的设计162浏览模块的设计17(1)景点列表模块的设计17(2)景点详细信息模块的设计183. 订购模块的设计18(1)景点门票订购模块的设计18(2)取消预订模块的设计194. 评价模块的设计195. 景点管理模块的设计19(1)增加景点模块的设计19(2)删除景点模块的设计206. 用户管理模块的设计20五、测试21(一)注册模块测试21(二)权限管理测试22六、结 论22参考文献23谢 辞2424一、 绪论(一)背景1. 旅游业信息化的发展随着社会经济的发展,人民生活水平不断提高,旅游已经成为人们节假日不可缺少的活动。信息技术的发展为各行各业提供了一个很好的平台,当然,旅游业也不例外,因此各种各样的旅游网站相继产生。旅游行业的人争相利用网络来宣传和展示自己,便捷的网络宣传也让旅游变得越来越简单了,“说走就走的旅行”因为网络的发展得以实现。现当下,有着高效,低价,方便,广泛等优点的电子商务引领着世界的潮流,它所带来的优势是传统旅游业所不能比拟的,因此旅游业的网络化已经刻不容缓。2. 旅游类型网站的现状我国的旅游业网站发展相对其他行业较早,经过长时间的发展和探索,已经相对比较成熟。这些网站为驴友们提供了比较全面的资讯和服务(包括景点,酒店,美食,导游,路线,航班,火车票以及各类套餐等),方便了人们的出行和选择,已经成为旅游行业发展的中流砥柱。尽管我国的旅游网站发展的比较成熟,也出现了很多知名的旅游网站,但还是有不少的网站发展的不完善,以下是其中的几项弊端:1、旅游网站的资源通常都是全国的甚至囊括了好多个国家的,然而针对地区的少,不能系统的展现一个地区的特色,针对地区旅游的需求不能得到满足。2、某些网站上游客查询了某一个景点,展现的都是套餐(包括住宿、车票等),剥夺了人们自主选择的权利。3、旅游网站各类信息非常多,并且很复杂(网站中含有很多的客户资料、导游的相关信息、相关花费、景区线路、景点详情、酒店信息等大量的资料),查询起来速度较慢,且各类资源调配难度大。因此,不仅一个信息全面的网站很重要,一个针对地区量体裁衣的网站也很重要。3. 旅游网站的构建该课题针对上述弊端做出改进,系统的展示了一个地区的风土人情(包括景点,酒店和民俗);门票和酒店都采用单独预订的方式,为用户保留了足够的自由选择的权利;内容比较集中、简单,去除了多余的信息(例如导游,套餐等),为用户提供了一个针对地区的简单的旅游网站。(二)开发技术介绍1开发环境.该旅游网站以Eclipse为开发平台,使用MyEclipse作为Eclipse的插件并由Tomcat 6.0充当Web服务器来开发实现的。主要采用java开发工具,Oracle数据库来设计,采用视图层+业务逻辑层+数据库访问层的体系结构模式,利用SSM框架,实现整个web端的功能开发与实现。2 SSM概述 SSM是Strtus2、Spring、MyBatis的整合,tomcat在没有SSM框架的时候是用servlet来处理请求的,用response直接返回结果界面, 有了struts, tomcat不用servlet了, 而是用action, action的result配置就相当于原来用servlet的response返回界面;spring 是用来管理的,struts整合spring之后就把Action交给spring来管理了,这里spring IOC起到很大的作用;MyBatis是持久层的东西,和数据库相关。(1) struts概述 Struts是一种基于MVC的创建Web应用的框架,它很好地将程序进行了分层,它主要实现控制器部分的功能,可以和多种完成视图功能的技术配合使用。Struts中的基本信息是在struts.xml中配置,该文件是struts的核心,也是控制器的入口。struts.xml将jsp中的request请求交给struts的某个action方法来处理,同时给出下一步操作(即操作成功后所要执行的其他方法或者所要跳转的jsp页面)。(2) spring概述 Spring是一个容器框架,因为它启动时所需要的资源较少,所以属于轻量级容器框架,它主要包括IOC和AOP。其中IOC叫做控制反转,也可以叫做依赖注入,是spring的核心技术,该技术主要用于管理,将之前由代码直接控制的程序之间的管理改为由容器控制的管理,控制权转移了,不再是传统的代码控制,而是容器控制,这就是控制反转。AOP是面向切面的编程,它能将那些与主程序的主要目的无关的行为封装成独立的类,并且利用横切技术,将这个类注入主程序中。AOP技术的具体实现是通过动态代理技术或者是在程序编译期间进行静态织入。Spring统管了Struts和MyBatis,通过IOC改变了类的实例化方式,提高了代码的可复用性。3. JSP技术 Jsp技术是对servlet的简化。最初servlet输出html语句到客户端时采用的是out.print()这种方式,只能一句一句的输出,并且包含了很多的多余的代码,这样一来,对表现层页面的操作非常的不方便。为了简化操作,SUN在servlet的基础上发展出了jsp,这种技术侧重于视图,可以非常方便的操作页面。因为jsp是基于servlet发展出来的,因此它原则上是一种servlet,最后要被转化为servlet运行。二、 需求分析需求分析是业务需求的分析以及从最终用户处收集信息,分析所定义的业务和系统需求,在此基础上对所收集的业务和数据信息进行分析和整理,并在开始数据库设计之前对所收集需求信息进行评估,最终用这些信息来设计数据库。需求分析时要考虑业务规则和业务处理。6 (一)可行性分析 又称可行性研究。建设项目投资决策前对有关的建设方案、技术方案和生产经营方案进行技术经济论证,以期达到最佳经济效果的一种方法。71技术可行性本系统采用JSP进行前台界面的设计,利用oracle进行数据库的操作和管理,应用SSM框架,实现整个web端的功能实现与整合。Oracle强大的数据库开发功能、JSP广泛的实际应用和SSM框架的灵活性充分说明本系统在技术方面可行。2. 经济可行性我国旅游业发达的地区数量上很可观,这样一个针对地区的旅游网站成本较低,效率比较高,使用起来方便灵活,所以比较有前景,因此经济方面可行。3. 操作可行性 该系统操作简单,易上手,界面友好,因此操作可行。(二)安全性分析1.用户权限安全性:系统设置了超级管理员、管理员、普通用户和游客四个操作级别。超级管理员和管理员能够对景点、酒店和民俗信息进行编辑;管理员可以对用户进行操作但不可以对管理员进行操作,超级管理员可以对全部用户和管理员进行操作。2.输入安全对输入数据进行合法性检查,对于不合法的输入给出提示并且取消操作。最大限度的保证系统的稳定性。 (三)系统功能分析该系统具有以下功能: 1登录 用户在登录模块中输入昵称和密码,系统会根据所具有的权限返回到会员页面或是管理员页面。2注册 游客在注册模块进行注册,可以成为会员,可以购买门票,预订酒店和进行景点和酒店的评价。3浏览景点,酒店,民俗信息 在信息展示模块游客和会员可以对该网站的信息进行浏览。4预订 在预订模块,会员可以进行景点门票预订和酒店预订5评价 在评价模块,会员可以对景点和酒店进行评价。6查看订单 会员可以查看自己所购买的门票和预定的酒店。7修改密码 会员登陆后可以修改密码。8充值 会员登陆后可以充值。9取消订单会员登陆后可以取消已有订单。10景点管理管理员可以增加,删除,和更改景点信息。11酒店管理 管理员可以增加,删除,和更改酒店和酒店房型信息。12民俗管理 管理员可以增加,删除,和更改民俗信息。13用户管理 管理员可以删除用户信息同时可以授予用户管理员权限。14订单管理 管理员对订单进行管理。(四)数据流程图数据流图语言是需求分析阶段最常用的一种图形语言,软件开发人员运用这一语言,由抽象到具体、逐层分解,绘出所开发的软件系统的分层DFD.如同程序设计语言一样,DFD语言的规范主要包括语法和语义的两个方面。1数据流图系统中的数据处理加工的客观过程,数据流图中流动的是数据,没有控制过程,以图形来表达逻辑功能。 图2_1 环境图图2_2 一层数据流图图2_3 预定的二层数据流图图2_4 管理景点的二层数据流图图2_5 酒店管理的二层数据流图图2_6 评价的二层数据流图图2_7 注册的二层数据流图(五)用例图用例图是用户所理解的系统,他所描述的是用户如何使用这个系统。用户和系统的一次交互就是一个用例。这些用例代表了系统需要开发的功能。构造用例图的技术:1. 对参与者建模。2. 对用例建模,这是实体的正常行为。3. 对参与者和用例之间的通信建模。4. 用例之间的使用关系建模。5. 用例之间的扩展关系建模。4下面就是该系统的用例图:图2_8 游客用例图游客可以注册和浏览网站信息。 图2_9 会员用例图 会员可以浏览网站信息,登录系统,预订景区门票和酒店房间,评价酒店和景点,同时还可以对个人信息进行修改。图2_10 管理员用例图管理员可以浏览系统信息,登录系统,管理系统信息(包括景区管理,酒店管理,民俗管理,用户管理,订单管理等)。三、 概要设计 概要设计也叫总体设计,这个阶段必须回答的关键问题是:“概括地说,应该如何解决这个问题?”主要的工作是总体结构设计及确定系统的硬件选配、软件选配、数据库设计、代码设计原则、界面设计等。8(一)模块设计模块设计的原则:(1)模块的凝聚程度高。(2)模块间的联系方式好。模块间的控制关系采用调用方式实现,而模块间的数据关系采用共享一个数据库的方式实现。(3)上层模块对下层模块的影响范围应在其对下层模块的控制范围之内。5系统功能结构图根据系统的需求分析,该系统主要分为三个部分:游客部分,会员部分和管理员部分。游客:浏览网站信息,注册会员:浏览网站信息,登录系统,评价,预订和个人信息管理管理员:登录,浏览信息,景点管理,酒店管理,民俗管理,会员管理,订单管理。(其中浏览信息包括浏览景点全部信息,景点详细信息,酒店全部信息,酒店详细信息,民俗全部信息,民俗详细信息) 功能模块设计如下图:图3_1下面是网站信息管理的模块设计图3_2(二)数据库设计数据库设计是根据应用需求,对于一个给定的应用环境设计有效地数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用要求的过程。2该网站的数据库的名称为XE,其中包括景点表SCENERY,酒店表HOTEL, 酒店房型表HOTELSTYLE,民俗表 FOLK, 景点评价表SCENERYREVIEW,酒店评价表 HOTELREVIEW, 用户表USERS, 订单表 ORDERS 。下面是这些表的详细信息:SCENERY景点表,主要用于记录景点的详细信息。主键通过SEQUENCE实现自增长。表3_1 SCENERY 景点表序号列名数据类型主键允许空说明1SCENERYIDNumber是否自增长2SCENERYNAMEVarchar2(50)是景点名称3SCENERYPICVarchar2(200)是图片地址4SCENERYINTRODUCEVARCHAR2(2000)是景点简介5TICKETOLDNumber是原票价6TICKETNEWNumber是优惠价7SCENERYWAYVarchar2(200)是景区路线HOLEL酒店表,主要用于记录酒店的详细信息。表3_2 HOLEL酒店表序号列名数据类型主键允许空说明1HOTELIDNumber是否自增长2HOTELNAMEVarchar2(50)是酒店名称3HOTELPICVarchar2(200)是图片地址4HOTELINTRODUCEVARCHAR2(2000)是酒店简介5HOTELWAYVarchar2(200)是酒店路线HOTELSTYLE酒店房型表,主要展示酒店房型,这里的主键为酒店id和房型,同一个酒店的同一种房型只能有一条记录。表3_3 HOTELSTYLE酒店房型表序号列名数据类型主键允许空说明1HOTELIDNumber是否酒店id2HOTELSTYLEVarchar2(50)是否房间类型3HOTELCOUNTNumber是房间数量4HOTELPRICENumber是房间价格5HOTELSIZEVarchar2(200)是房间大小6HOTELWIFINumber是是否有宽带FOLK 民俗表,主要用于记录民俗的详细信息,其中民俗分类别,民俗类型1,2,3分别代表传说故事,美食和特色文化。表3_4 FOLK 民俗表序号列名数据类型主键允许空说明1FOLKIDNumber是否自增长2FOLKNAMEVarchar2(50)是民俗名称3FOLKPICTUREVarchar2(200)是图片地址4FOLKINTRODUCEVARCHAR2(2000)是民俗简介5FOLKTYPENumber是民俗类型SCENERYREVIEW景区评论表,主要用于记录景区评论信息, 通过SCENERYID关联到景区表的SCENERYID。表3_5 SCENERYREVIEW 景区评论表序号列名数据类型主键允许空说明1SREVIEWIDNumber是否自增长2SCENERYIDNumber是景点id3SREVIEWVARCHAR2(2000)是评论内容HOTELREVIEW酒店评论表,主要用于记录酒店评论信息, 通过HOTELID关联到酒店表的HOTELID。表3_6 HOTELREVIEW 酒店评论表序号列名数据类型主键允许空说明1HREVIEWIDNumber是否自增长2HOTELIDNumber是酒店id3HREVIEWVARCHAR2(2000)是评论内容USERS用户表,主要用来记录用户的个人信息。表3_7 USERS用户表序号列名数据类型主键允许空说明1NICKNAMEVarchar2(50)是否用户昵称2PNAMEVarchar2(50)是姓名3PHONEVarchar2(50)是联系方式4PASSWORDVARCHAR2(50)是密码5COUNTNumber是余额6POWERNumber是权限ORDERS订单表,主要用来记录订单详情,其中用户通过NICKNAME关联到USERS表的NICKNAME,HOTELID和HOTELSTYLE分别关联到房型表的HOTELID和HOTELSTYLE中,SCENERYID关联到景点表的SCENERYID,时间为当前时间。表3_8 ORDERS订单表序号列名数据类型主键允许空说明1ORDERIDNumber是否自增长2NICKNAMEVarchar2(50)是用户昵称3HOTELIDNumber是酒店id4HOTELSTYLEVARCHAR2(50)是房间类型6SCENERYIDNumber是景点id7TIMESETDate是下单时间8DELETEORDERNumber是是否取消9COUNTNumber是订单金额四、 详细设计与实现 总体设计阶段以比较抽象概括的方式提出了解决问题的办法,详细设计阶段的任务就是把解法具体化,进而对每个模块要完成的工作进行具体的描述,以便为程序编写打下基础,也就是回答下面这个关键问题:“应该怎样具体地实现这个系统”。9(一)项目文件夹结构该项目的文件夹目录如下:图4_1 项目文件夹目录Spring由容器控制程序之间的关系,而不是传统的由程序代码直接操控,Spring的作用贯穿了整个中间层,将Web层、Service层、DAO层无缝整合,其数据服务层用来存放数据。其中applicationContext.xml就是一个spring配置文件,部分配置如下:struts是逻辑层用于后台和前台的对应,比如JSP的数据应该交给哪个类处理。下面是部分Struts.xml的代码:/jsp/newindex.jsp/jsp/login.jsp具体流程如下:1. 用户点击JSP页面的某个按钮或是链接发出请求时,Struts的ActionForward通过struts.xml的配置转发至Action类的某个方法。(如例子中的登录按钮提交“loginin”申请,struts.xml的配置将其转发给loginAction类的userLoginin()方法处理)2. Action类的方法通过service接口调用serviceimpl中的方法。ServiceImpl类调用Dao类的相关方法。(这些内容均在applicationContext.xm中配置)3. Dao类的相关方法调用mapper中的sql语句。4. 操作成功后返回Action类的方法,该方法返回success信息。(二)模块详细设计1.登录注册模块的设计注册模块的设计图4_1 注册界面 当填写完用户名的时候,鼠标离开文本框时开始检测,用户名是否存在,若存在给出提示。此时用到Ajax的局部刷新技术。用来保证用户名的唯一性。 当信息填写完之后,进行提交,在提交的之前检测两次密码是否相同和验证码的正确性。 提交后连接数据库进行注册,将新用户信息写入数据库中。Ajax部分核心代码:function check(url) create();var value = document.getElementById(nickname).value;if (null != xmlHttp) xmlHttp.open(get, url + ?nickname= + value, true);xmlHttp.onreadystatechange = callback;xmlHttp.send(null);2浏览模块的设计(1)景点列表模块的设计图4_2 景点列表界面 登录系统后点击景点按钮,系统会根据权限(即为登录时写入session的权限值)显示相应部分,若为普通用户权限则显示页如图5.3,若为管理员权限则除了图中信息外还具有查看删除增加等操作信息。 浏览完基本信息以后,用户可以浏览景点详细信息,可通过点击标题或者点击景点介绍都可以进入详情页面。(2)景点详细信息模块的设计图4_3 景点详细信息界面 通过获得景点列表和评论列表,展示景点信息的全部内容(包括景点名称,景点路线,景点图片,景点详细介绍,景点评价信息等)。 填写评价内容,可以进行景点评价。 登陆后可以进行门票的预订。3. 订购模块的设计(1)景点门票订购模块的设计图4_4 门票订购 在景点详情页面可以进行购买门票操作。 点击购买按钮后,首先会判断是否登录,则会提醒未登录。 其次检测余额,若余额不足则不能会给出提示。 最后提交数据库并判断是否成功。(2)取消预订模块的设计 点击我的订单按钮,提交给action处理,连接数据库在获得该用户的全部订单信息,将信息传入订单页,订单页显示订单信息。 点击取消订单按钮后会给出确认信息,之后提交数据库。 查看订单部分代码:查看订单,获得该用户的全部订单列表的Sql:select * from orders where nickname=#nickname4. 评价模块的设计图4_5 景点评价 点击提交按钮首先会判断评价内容是否为空。 其次根据登录时写入的session检测是否登录,session为空时未登录, 则给出提示。 提交评价,连接数据库,将评价内容写入sceneryreview表中。操作成功后,刷新页面,显示评价的内容。5. 景点管理模块的设计(1)增加景点模块的设计 用户登录后,首先会判断其权限,若为管理员则景点列表的页面上会有增加景点的按钮。 增加景点页面中,添加景点信息。 景点信息添加完毕后提交,此时会先判断输入是否符合规范,例如:票价必须为数字,名称不能为空等。之后进行提交处理,将正确的信息写入Scenery表中。 成功写入数据库后,跳转到详细信息页面。 该增加景点页面同时要被系统拦截,没有权限的人不能通过直接输入网址进入。部分代码:权限控制是否显示添加景点链接:我的订单添加景点(2)删除景点模块的设计在更新页可以删除景点信息,也可以在管理员景点页面中通过链接直接删除。如下图:图4_6 删除景点 用户登录后,首先会根据登录时写入session的信息判断其权限,若为管理员则景点列表的页面上会有删除景点的链接。其他用户没有这个链接。 点击链接进入景点删除的action,连接数据库,将相应的景点信息删除,跳转到景点列表页。 该action同时要被系统拦截,没有权限的人不能通过直接输入网址进入。6. 用户管理模块的设计授权模块的设计图4_7 授权用户登录后,首先会判断其权限,若为超级管理员则可以为所有的会员和管理员授权,也可以删除或者管理员。若为管理员则只能对会员进行操作。 点击授权链接,连接数据库,成功后刷新该页。 管理员同时可以取消授权,取消授权的过程与授权类似。 该页面同时要被系统拦截,没有权限的人不能通过直接输入网址进入。五、 测试软件测试是为了发现错误而执行的程序,是根据软件开发的各个阶段的规格说明和程序的内部结构而设计的一批测试用例,即输入数据和预期结果,利用这些用例来发现程序中的错误。软件测试是为发现软件中的错误而执行程序的过程。软件测试只能用于查找程序在那个的错误,不能证明程序中没有错误。软甲测试是保证软件质量的关键,它是对需求分析,设计和编码的最后复审。3(一)注册模块测试测试用例用例1 输入数据:已存在的用户昵称 输出结果:给出提示信息,显示用户已存在用例2 输入数据:不存在的用户昵称 输出结果:用户可用,成功注册测试结果:用例1如下图:图5_1 注册1用例2:成功注册进入系统首页图5_2 注册2(二)权限管理测试用例1 输入数据:普通用户名和密码 输出结果:不能进入该页,跳转到主页面用例2 输入数据:管理员名和密码 输出结果:成功进入增加景点页面测试结果:用例1如下图:图5_3 主界面用例2:如下图:图5_4 添加景点界面经测试,则两个模块实际结果与预期结果相同。六、 结 论经过三个月的努力,旅游网站已经完成。基本实现了需求中的景点管理、酒店管理、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 瑞新安全培训课件
- 理财课件简介及讲解
- 安全文明施工课件教学
- 球场安全意识培训内容课件
- 登山步道开发工程方案(3篇)
- 农业无人机租赁市场细分领域竞争格局与2025年市场细分领域增长潜力分析
- 安全教育最后一课课件
- 安全教育日培训记录课件
- 格力风管机工程方案(3篇)
- 安全教育教师培训笔记课件
- 工程质量检查制度
- 脑瘫的分类及临床表现
- 风力发电基础施工合同范本
- ktv承包经营合同范文
- 《实战电池性能测试》课件
- 2025年贵州蔬菜集团有限公司招聘笔试参考题库含答案解析
- 2025年1月浙江省高二物理学业水平考试试卷试题(含答案详解)
- 2024年全国职业院校技能大赛高职组(环境检测与监测赛项)考试题库(含答案)
- 实验-大肠杆菌感受态细胞的制备及转化
- 2025年中考语文阅读复习:理解词语含义(含练习题及答案)
- GB/T 44421-2024矫形器配置服务规范
评论
0/150
提交评论