旅游管理系统-JAVA【数据库设计、源码、开题报告】

旅游管理系统-JAVA【数据库设计、源码、开题报告】_第1张图片

摘 要

21世纪是一个知识大爆炸的时代,互联网拉近了人们的距离,信息化革命席卷了各个行业。物质生活水平的提高使得人们的消费观念悄然发生改变,人们对户外旅行的要求越来越高,这对于传统旅游行业来说既是机遇也是挑战。提高旅游行业管理水平、推进旅游行业信息化已势在必行,旅游网站的出现为此提供了有力的保证。

旅游网站的系统设计是基于JSP技术的,它具有灵活的一体化发展战略,圆满完成了整个系统的全面设计。旅游网站,采用一个简单的界面,操作方便,灵活,实用,有效的简化了传统的旅游流程,大大提高了人们获取信息的效率,使之更加系统化体系化,标准化,自动化,具有优良的可用性,可靠性,安全性。主要采用JSP技术开发,提高运行性能,安全性和系统性能,并且易于维护和操作。

关键词 旅游网站;ServletMySQL数据库

ABSTRACT

The 21st century is an era of knowledge explosion. The Internet has brought people closer, and the information revolution has swept across various industries. The improvement of material living standards has caused people's consumption concepts to change quietly, and people's demands for outdoor travel are getting higher and higher, which is both an opportunity and a challenge for the traditional tourism industry. It is imperative to improve the management level of the tourism industry and promote the informationization of the tourism industry. The emergence of tourism websites has provided a strong guarantee for this.

The system design of the travel website is based on JSP technology. It has a flexible integrated development strategy and successfully completes the overall design of the entire system. The travel website adopts a simple interface, which is convenient, flexible and practical. It simplifies the traditional travel process and greatly improves the efficiency of people's access to information, making it more systematic, standardized, automated, and has excellent usability. , reliability, safety. Mainly developed with JSP technology to improve operational performance, security and system performance, and easy to maintain and operate.

Key words travel website; Servlet; MySQL database

  1. 绪论

1.1 课题研究背景及来源

随着经济文化的发展,人们的生活水平不断提高,旅游意识逐渐增强,旅游正逐步从消遣品过渡为必需品。互联网的普及,为实现足不出户就可以获取旅游最新的资讯攻略,为旅游资讯网站的发展创造了契机。因此,旅游资讯网站成为旅游业未来的一个主要发展方向。

这无疑是一种旅游方式的变革。但对于正站在变革边缘的我们,更需要正确的认识这次变革,它无疑是将我们从“信息时代”代入“概念时代”。在信息化时代中,我们已经能够拥有大量的信息,但是这些信息只经过简单的处理,并不能完全被用户使用。而概念时代推崇的是形象思维,它将掌管逻辑的左脑与富有想象力的右脑相结合,立志于将信息变得更加个性。

旅游业是国家战略性支柱产业,是极具发展潜力的“朝阳产业”、“绿色产业”。21世纪的中国将成为世界旅游大国,而城市的旅游资源在全国而言都具有显著优势,因而将旅游业作为支柱产业发展是符合城市市情的最佳选择,城市旅游资源比较丰富,旅游业发展迅速但其发展速度仍然相对较慢,为宣传城市旅游,利用JSP技术建立动态网站,实现旅游信息快速发布及接受游客的网上预定等功能的实现。设计一个网站,实现城市各旅游景点的游记攻略、出游活动、酒店住宿、新闻资讯,以及相关景点的flash展示。

1.2 网站应用技术

1.2.1 开发语言的选择

本系统是基于B/S模式设计的,在互联网领域当中,主流的web服务端开发语言有sun公司的java、微软的asp以及号称是世界上最好的编程语言的php。在大三教学课程中,我们专业系统学习了java编程语言,从巩固知识的角度出发,本系统选择java语言进行开发。但并不能说明其他编程语言不能进行本系统开发。下面将介绍java语言的优点以及选择java进行开发的优势。java以其健壮性、高性能、分布式、安全性等优点而脱颖而出[2],并且在连续十年来成为程序员最喜欢的编程语言之一。

1.2.2 开发工具的选择

主流的java IDE(Integrated Development Environment,集成开发环境)有 NetBeans、Eclipse、IntelliJ IDEA等。一个良好的开发工具能够达到事半功倍的效果,极大的提升开发效率。NetBeans是sun公司推出的java开发集成环境,但国内使用较少。Eclipse是一款开源的、使用java语言开发的的可扩展的集成开发环境,具有代码检测、自动编译、自动构建等特性。IntelliJ IDEA是JetBrains公司的产品,发布后便立即蚕食Eclipse市场份额。IntelliJ有一下优点:1.智能提示功能。IntelliJ 基于语法树的智能提示,自动完成使得IDE比notepad更加优秀,在这个领域能感知上下文的IDEA有了质的飞跃。2.代码重构,IDEA的重构功能也很聪明智能。它能读懂你需要什么,然后针对不同的情况提供给你最适合的解决方案。3.界面流畅,响应迅速,不会出现像Eclipse那样打开视图过多导致系统卡顿。

1.2.3 数据库的选择

在关系型数据库中,比较出色的有微软的Sql Server、甲骨文公司的Oracle数据库、以及开源数据库MySQL(被Oracle收购)。前两者为商业数据库,并且属于重量级数据库,虽然性能高,吞吐量大,但是占用系统资源较多,后期维护较困难。MySQL是一款开源免费的关系型数据库,运行速度快,容易使用,简单方便,支持标准的SQL查询语言,功能强大并且易于维护[3]。因此,选择MySQL作为本系统的存储系统十分合适。

1.2.4 服务器架构的选择

本开管理系统基于http协议进行数据传输的,市面上的Servlet Web容器有JBoss服务器、WebLogic 服务器、Tomcat服务器等。其中JBoss是一个种遵从JavaEE(Java Platform,Enterprise Edition,java企业级开发平台)规范的、开放源代码的、纯Java的EJB服务器,对于J2EE有很好的支持。JBoss采用JML API实现软件模块的集成与管理,其核心服务又是提供EJB服务器,不包含Servlet和JSP的Web容器,不过它可以和Tomcat完美结合。但由于JBoss过于繁重,本次系统中只用到Servlet容器一部分,因此Tomcat服务器是最佳选择。Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。

1.2.5 前后台显示界面选择

在B/S模式中,用户看到浏览器端的界面大多是采用HTML、CSS、JAVASCRIPT [4]来展示界面。说起前端界面,不得不提起现在一个十分火的前端项目—BootStrap框架。BootStrap 是一个用于快速开发 Web 应用程序和网站的前端框架。BootStrap 是基于 HTML、CSS、JAVASCRIPT 的。BootStrap易于上手,只要开发者具备 HTML 和 CSS 的基础知识,就可以开始学习和使用 BootStrap。它为开发人员创建接口提供了一个简洁统一的解决方案,包含了功能强大的内置组件,易于定制[5]。总之,BootStrap 包含了十几个可重用的组件,用于创建图像、下拉菜单、导航、警告框、弹出框,全局的 CSS 设置、定义基本的 HTML 元素样式、可扩展的 class,以及一个先进的网格系统。BootStrap对于创建一个简洁、美观的用户系统有很大帮助。

1.3 研究的目的和意义

毕竟现今网络的发展可以说是一日千里,透过网络的运用,尤其是现阶段最热门的电子商务的推动,未来的销售模式,将由传统的销售模式,逐步改为网络直销的方式,我们只要透过网络在现有的旅游攻略平台,创意性的结合销售模式,一定会给大家带来耳目一新的感觉。对于使用者而言它是一个相当简易的界面,不需要太深奥的电脑知识便可轻易上手,提供很丰富的旅游资料给使用者参考。网络充裕的资讯方便了网络使用者去享受,去运用,这样的模式满足了使用者的资讯需求,让使用者直接透过网络查询到自己的需求,加速自主旅游的趋势,同时能让使用者根据自己的喜好与分享者一同制定出独特的旅游路线,也可以购买自己有兴趣的纪念品。另外,网络的好处在于没有使用人数的限制,也没有地域,空间的限制,更没有时间的限制,任何时候,任何人都可以透过网络来浏览的页面,相同的也可以在任何时候悠游到网络的任何角落。在计算机上,进行一次愉悦而又短暂的环球旅行。

1.4 论文组织结构

本论文主要由六个章节组成,每个章节介绍如下:

第一章:绪论。本章主要介绍了我国旅游业信息化过程中出现的问题以及本课题研究的背景来源,并说明本论文的研究目的和意义。

第二章:系统总体需求分析与设计。本章介绍了本系统的总体需求分析,系统的设计思路与方案,开发环境、存储系统、服务器的选择,以及系统的总体架构。

第三章:数据库的详细设计,包括各个表的主键设计、字段的长度及类型设计。

第四章:系统实现。本章介绍了系统各个模块的界面展示,系统重要模块的操作流程,代码实现、系统运行所需要的环境,部署注意事项。

第五章:系统调试与测试。本章介绍了系统调试,系统测试,系统维护。例举了两个模块的测试案例以及系统维护的建议。

第六章:总结。本章总结了系统的优缺点,分析了系统的不足以及对未来工作提出展望。

  1. 系统总体需求分析与功能设计

2.1 总体需求分析

在系统需求分析阶段,搞清楚了要开发的这个软件需要“做什么”的问题,形成一个系统目标的逻辑模型来。然后我们所要做的就是要把软件需要“做什么”的这个逻辑模型转换成“怎么做”的一个物理模型,最后再着手实现系统的需求。首先,我们需要描述的是系统的总的体系结构。

系统不仅要求功能完善,而且还要界面友好,因此,对于一个成功的系统设计,功能模块的设计是关键。由于本系统可执行的是一般性质的外出旅游工作,本系统具有一般适用性,其所实现的功能满足个人对日常性外出旅游的工作。系统设计的图像的数据流分析阶段的需要结构化设计的概要说明的基础上,根据映射到软件体系结构的某些程序。首先,整个系统分成几个小的模块,小的问题,然后,进一步细分模块,添加细节。

本旅游网站以旅游攻略发布、旅游线路发布、酒店预订、美食预订、景区图片和景区订票等功能为核心,其宗旨是及时、准确、完整发布游客所需要的相关信息,同时给游客带来方便和给公司创造利益。它的主要功能如下: 

一、旅游线路信息发布以及预定功能:顾客可通网站查看相应的旅游线路信息和预定旅游景点门票功能,管理员可以在后台对旅游线路进行发布、更新,对于线路预定可以进行相应的处理。 

二、酒店查询、预订功能:顾客可以通过网站查询酒店情况,同时还可以对合适的酒店进行预订。  

三、旅游景点介绍功能:顾客在网站可以查看景区主要旅游景区和景点介绍信息,管理员可以在后台对旅游景点信息进行更新、修改和删除。 

四、旅游攻略发布功能:顾客可以通过旅游网站查看景区最新的旅游资讯和旅游动态,网站管理员可以在后台发布、更新和删除旅游新闻。 

五、旅游风景图片发布功能:游客可以通过网站查看景区最新的风光图片,可以点击小图看大图,图片按照相应的旅游景点分类,管理员可以上传和修改、删除图片信息。

 六、旅游服务在线留言功能:游客可以通过网站查看一些景区旅游的注意事项和在景区旅游经常遇到的一些问题,管理员在后台可以对信息进行更新和修改、删除功能。总体结构图见2-1。

图2-1 系统总体结构图

2.2 网站的用例图

参与者

旅游者:注册用户与登录用户  管理员:注册用户/登录用户

在旅游网站上,前台用户不必进行登陆就可以查看旅游攻略、景点信息、旅游线路、酒店信息、旅游百货、交通检索等信息浏览,而进一步的预订景区门票、预订酒店、预订美食以及在线留言就需要用户登录才能获取权限。而管理员则必须登陆以后才能进行前台网站信息的维护管理操作。

图2-2 前台用户的用例图

图2-3 管理员用户的用例图。

2.3 网站顺序图

本网站再未进行登录的情况下拥有的权限包括:旅游攻略查看、旅游线路查询、旅游活动查看、酒店信息查看、景区信息浏览、其他用户网站留言以及交通检索,涉及到预定类等操作需要预留个人信息的必须进行登录,包括门票预订、酒店预订、美食预订和在线留言。

后台管理员则必须进行登录后才能显示所有管理菜单,对网站的旅游攻略、景点信息、线路信息、交通信息、酒店信息以及留言信息等进行维护和更新操作,同时还必须对客户的预订信息做出及时的预订信息状态变更。

图2-5 网站顺序图

2.4 网站状态图

网站的状态都是基于用户的登录行为,登录后进行管理员和前台用户的所有状态操作。

图2-6 网站状态图

  1. 数据库详细设计

数据库的设计是整个系统的重中之重,数据库设计得好对后面编程的实现可谓如虎添翼,数据库设计的差,对程序员来说那是非常痛苦的一件事。首先可以根据需求分析来制定数据库设计方案,先从中抽出对应的实体,再根据各个实体确定实体的属性。

对于一个旅游网站来说它在长期的运行过程中必定会产生大量的数据信息,所以它对数据库的要求是相当严格的,一般像MySql那样的规模比较小的数据库在网站刚上线是足够的,但随着网站运行的时间越长,数据库规模的问题就会暴露出来。

3.1 用户表设计

在MySQL数据库中用户表各个字段约束如表3-1所示,其中用户编号是主键,用来标识一条唯一记录。账号被设计成唯一键,在所有的用户中,账号唯一,不能有重复值出现。而其他字段如密码、姓名、用户类型用字符串存储。

表3-1 系统用户表

字段名

数据类型长度

是否为空

id

INT(11)

NOT NULL

createtime

DATETIME

NULL

creator

VARCHAR(255)

NULL

email

VARCHAR(255)

NULL

logtimes

INT(255)

NULL

nickname

VARCHAR(255)

NULL

PASSWORD

VARCHAR(255)

NULL

realname

VARCHAR(255)

NULL

sex

VARCHAR(255)

NULL

tel

VARCHAR(255)

NULL

username

VARCHAR(255)

NULL

xiangpian

VARCHAR(255)

NULL

rolename

VARCHAR(255)

NULL

    

3.2 其他表设计

在每一个应用程序中,数据库的设计是其中非常重要的部分,选择合适的数据库并创建合计的结构式开发程序时首要的问题。数据库将用mysql进行设计和管理。数据库安全性就是保证数据库信息的保密性,完整性,一致性和可用性,防止非法用户越权使用数据库从而窃取,更改或破坏数据库中数据,将提供一些安全措施来保证数据库的安全。

景点表用来记录线路信息、发布人和价格等信息。

表3-2 景点信息表

字段名

数据类型长度

是否为空

id

INT(11)

NOT NULL

title

VARCHAR(500)

NULL

pubren

VARCHAR(500)

NULL

pubtime

DATETIME

NULL

tel

VARCHAR(500)

NULL

kftime

VARCHAR(500)

NULL

des

TEXT

NULL

tupian

VARCHAR(500)

NULL

menpiao

VARCHAR(500)

NULL

表3-3 客房信息表

字段名

数据类型长度

是否为空

id

INT(11)

NOT NULL

jdid

INT(11)

NULL

NAME

VARCHAR(255)

NULL

price

DOUBLE

NULL

表3-4 订单信息表

字段名

数据类型长度

是否为空

id

INT(11)

NOT NULL

ddno

VARCHAR(255)

NULL

des

VARCHAR(255)

NULL

fahuoren

VARCHAR(255)

NULL

fahuotime

DATETIME

NULL

shraddress

VARCHAR(255)

NULL

shrname

VARCHAR(255)

NULL

shrtel

VARCHAR(255)

NULL

STATUS

VARCHAR(255)

NULL

title

VARCHAR(255)

NULL

totalprice

DOUBLE

NULL

xiadanren

VARCHAR(255)

NULL

xiadantime

DATETIME

NULL

totaljifen

DOUBLE

NULL

wlorderno

VARCHAR(255)

NULL

wltype

VARCHAR(255)

NULL

hdtitle

VARCHAR(500)

NULL

hdid

INT(11)

NULL

  1. 系统实现

本章第一小节主要介绍系统关键模块的实现细节以及系统界面展示,中间两小结介绍项目部署所需要的环境以及部署所需要主要的问题。

4.1 前台界面设计及部分代码实现

4.1.1 登录模块界面

如图4-1所示,上方是系统标题,中间是两个输入框,分别输入账号和密码。如果是新用户需要先进行注册,然后输入账号密码,最后点击按钮可以登录,如果登录失败会弹出提示信息,如果登录成功则跳转到系统主界面。

图 4-1 用户登录界面

用户登录一共分为以下几个简单的步骤,先要对用户输入的信息进行验证,比如输入信息的真假性,然后将信息通过程序传送至后台,后台程序将会从数据库中查询相应的条目,如找不到匹配的账号信息,则返回错误结果并提示输入的账号密码有误,若找到匹配信息则将用户输入的密码与找到条目的密码相比较,若成功,系统将允许用户登录等个人主页。

在用户模块的设计中,必须先完成业务逻辑层相应的各个action类的代码编写,之后再根据系统具体的要求,编写不同要求的数据库访问DAO。

4.1.2 旅游景点信息界面

网站主要采用静、动相结合的方式,即静态的主画面和动态的图片相结合。静态主页内容包括学首页、背景图片信息。旅游攻略、景点信息、酒店信息就是利用JAVA与数据库结合的技术建立数据库查询管理系统,采用交互式的动态的web画面来实现。 

本网站默认的页面index.jsp, index.jsp提供了各个分版块的链接,其本身具备动态显示景区信息功能。

首页显示景区是所有旅游景区之中被推荐的前几个,如果点击进入景区展示页面,可以查看所有信息,如果点击一个景区信息,则直接跳转入该景区的详细介绍页面。景区搜索支持模糊查询,即输入关键字系统自动为用户进行匹配。

用户旅游景点信息浏览界面如4-2所示。

图 4-2 查看旅游景点信息界面

4.1.3 在线留言界面

用户在线留言界面如4-3所示。

图 4-3 用户留言界面

4.1.4景点门票预订界面

用户浏览可下订单的信息时,如果感兴趣可以进行下订单,若用户没有登录,点击下订单会弹出提示信息,要求用户先登录,只有登录后才能进行下订单。本网站只有景区中已经发布价格的可以进行下订单。

景点门票预定界面如图4-4所示。

图 4-4景点门票预定界面

4.2 后台管理员模块的设计

管理员拥有本系统最高的管理权限,可以进行密码的修改、用户管理、酒店预订管理、游记管理、景点线路管理和退出系统的功能,管理员的及时管理将能保证系统高效的运行。

图 4-5 游记管理界面

在显示系统景点信息时会发现在添加足够多的景点信息的时候,一篇统计信息的长度往往会超出屏幕的长度,并且很有可能因为数据量太大而导致页面脚本在解析数据的时候,使浏览器缓存被占用过多而导致卡顿甚至浏览器崩溃。所以在平台这边对数据进行合理的分页就显得尤为重要。本系统在这个模块中为分为设计了专门的实体,适应于多种场合的分页,本系统的其他模块也采用相同的方法。

分页功能实现时主要体现在持久层数据库查询操作,在使用Limit关键字时需要的参数第一项为第几条数据,第二项参数为查询数据的条数,这里需要根据页面传递过来的pc即当前页数来确定第一项参数,而第二项参数为系统定义好的公共静态常量。如下是持久层分页功能实现的关键代码:

String sql = "select count(*) from v_student" + whereSql;

Number number = (Number) qr.query(sql, new ScalarHandler(), params.toArray());

int tr = number.intValue();// 得到了总记录数

sql = "select * from v_student" + whereSql + " limit ?,?";

params.add((pc - 1) * ps);// 当前页首行记录的下标

params.add(ps);// 一共查询几行,就是每页记录数

List beanList = qr.query(sql, new BeanListHandler(

Student.class), params.toArray());

图 4-6 景点管理界面

图 4-7 评价管理界面

4.2 环境搭建

本程序是标准的java web工程,若要运行本程序需要满足以下条件。

下载安装jdk 1.8 并且配置环境变量。

下载安装MySQL数据库5.5版本及以上,设置字符集编码为utf-8.

下载配置Tomcat 7.0及以上版本[8]。

由于篇幅问题,运行环境的搭建不是本文研究的主要内容,以上三个软件安装都比较简单,关于以上三个软件怎么安装,可以从互联网上搜索相关图文安装教程。

4.3 系统部署

本程序是标准的Java EE工程,源码会编译为docmanager.war包,部署时只需要将docmanager.war拷贝到 Tomcat Home /webapps路径下,启动Tomcat即可。更多部署细节,请参考5.1系统调试章节。

4.4 本章小结

本章主要展现了系统的几个主要界面以及后台代码的实现,后两小结主要介绍了系统部署运行时所需要的软件环境以及部署步骤。在界面设计及代码实现部分详细介绍了系统登录、旅游景点信息管理、在线留言、景点门票预订模块的界面展现,代码实现,以及用户操作流程。

  1. 系统调试与测试

5.1 系统调试

在一个项目开发完成之后,就需要将代码部署到服务器中进行调试。假设服务器中已经安装完4.2小结中必须的三个软件jdk,MySQL,Tomcat,下面将对这三个软件安装的正确性与否进行测试与调试,全部调试成功后,才能保证程序的正常运行。

1.jdk 测试

jdk安装完成后,需要配置环境变量。环境变量配置的原理是在操纵系统的环境变量中添加两个键值对。第一个键是JAVA_HOME,值为jdk的安装路径,第二个键是PATH,值为jdk目录下面的bin目录。将这两个键值对在操作系统中配置完成后,在控制台中输入 “java -version”命令,便可以正常输出当前jdk版本。

2.数据库测试

数据库安装完成后,需要配置字符集编码为UTF-8。配置方式为打开MySQL的安装路径,找到配置文件/etc/my.cnf,--在 [MySQLd] 标签下加上以下内容:

default-character-set = utf8,character_set_server = utf8 保存并退出,最后重启MySQL即可。

3.Tomcat 配置

Tomcat是一个web服务器,只有把程序放到Tomcat中才能用浏览器进行访问。在本系统中Tomcat还有另外一个功能,即文件服务器[9]。原理是在操作系统的磁盘上创建一个目录作为文件存放的根目录,并且将其于Tomcat相关联,这样就可以使用http协议访问该目录下面的文件。以windows系统为例,首先在D盘根目录创建一个文件夹FileRoot,以此文件夹作为文件系统根路径。如何将该路径于Tomcat相关联?在Tomcat/conf/Catalina/localhost下面创建一个myfileupload.xml文件,文件的内容是

reloadable="true"  docBase="D: /FileRoot" debug="0">

以上代码表示,在用http 协议访问/myfileupload 路径时,Tomcat就会从D:/FileRoot 路径下查找目标的资源。

例如:在D:/FileRoot路径下放置一个图片资源,名称为1.png,在浏览器中输入localhost:8080/myfileupload/1.png,在浏览器中正确返回该图片内容,说明配置正确,否则配置Tomcat失败。

以上三个步骤配置成功后,在项目的配置文件中,把数据库的连接信息配置为目标机的MySQL账号密码,依次启动MySQL服务器,启动Tomcat,在浏览器中正常访问项目的登录界面,如果登录成功,则系统调试成功。  

5.2 系统测试

软件测试就是在一个软件投入使用前,对软件进行需求分析,设计规格说明书和编码的最终复审,是软件质量保证的关键步骤[10]。软件测试的指标有多个方面,如性能测试,功能测试,系统资源使用率等。本小节主要关注系统的功能测试,由于篇幅限制,本小节将对景点门票预订模块与在线留言模块进行黑盒测试[11]。

测试案例1 景点门票预订测试

测试名称:景点门票预订测试

目的:测试景点门票预订功能

内容:用户完成预订在后台管理界面以及用户中心可以查询。

条件:酒店信息表、酒店预订信息表

测试用例:

测试用例

输入

输出

1

无,直接点击提交按钮

操作失败,房间数不能为空

2

房间数等基本信息,但没有填写联系电话

操作失败,联系电话不能为空

3

房间数、电话基本信息,预订人未填写

操作失败,请填写预定人

结论:与预期结果相符合

测试案例2 在线留言

测试名称:在线留言测试

目的:用户添加留言,测试功能是否正常

内容:留言是否记录到数据库中

条件:留言信息表

测试用例:

测试用例

输入

输出

1

没有填写任何内容直接提交

操作失败,请填写标题

2

填写标题,但未填写内容

操作失败,未填写内容

3

添加留言,数据合法

操作成功,成功添加到数据库中

结论:与预期结果相符。

5.3 系统维护

一个正常的软件系统中,在运行期间难免会出现问题,因此需要进行不定期的系统维护。在系统中出现的问题大致分为两大类问题:硬件资源问题和软件问题。下面针对硬件资源和软件问题分别展开讨论系统维护的考虑因素。

关于硬件资源,本系统是一个旅游类网站,需要频繁的读取写入文件,如果文件数量过多,磁盘空间可能不够用,因此运维人员须用定时的查看磁盘的使用空间,例如使用率达到了75%之后,就要考虑增加磁盘阵列,对磁盘进行扩容。当发现磁盘写入、读取速度过慢,严重影响系统的使用体验,就要考虑更换更好的存储介质,如固态硬盘等。如果遇到网络传输问题,例如打开网站页面速度缓慢,经常发生超时现象,可能是发生了网络拥塞现象,例如可以增大网络带宽[12]。还有例如机器老化问题等,可以定期的更换服务器,以提高系统响应时间。

关于软件问题,例如某个模块出现了bug,这是代码的逻辑错误,此时必须升级代码,我们的代码是开源的,托管在github上[13],任何人都有权利修改代码,修改后重新编译打包,部署到服务器项目中即可。另外,项目中所有的资源使用通过maven构建的,将github上面的代码下载到本地后,可以执行mvn clean install packge[14] 命令来实现代码打包,最后在target目录下面生成docmanager.war包。部署步骤参考4.3小结。本系统的数据存储采用MySQL服务器,如果查询速度较慢,可以适当增加索引,另外当数据量达到一定规模后,为了提高系统吞吐量,可以采用数据库份库分表、读写分离等策略。如果遇到软件使用习惯、功能添加等问题,就必须修改源码,重新部署程序了。

总之,找到问题的原因,分析并且解决问题,是软件运行和维护的宗旨。

5.4 本章小结

本章介绍了系统完成的后续问题,系统调试、系统测试与维护。系统调试是调试系统所需的软件系统的调用关系,保证各个软件系统之间的通讯正常。系统测试主要介绍了系统的功能性测试,保证系统实现达到设计之初的要求。系统维护模块提出了系统在运行过程中可能出现的问题以及解决方案。

你可能感兴趣的:(Java项目实战,java,旅游,数据库)