第二章 相关技术简介
2.1 JAVA技术
本次系统开发采用的是面向对象的Java作为软件编程语言,Java表面上很像C++,但是Java仅仅是继承了C++的某些优点,程序员很少使用的C++语言的特征在Java设计中去掉了。Java编程语言并没有什么结构,它把数组跟串都当成对象来处理,这样就免去了指针,并且Java编程语言还省去了预处理程序。Java编程语言能够极好的体现出面向对象的相关理论知识,程序开发者在进行程序开发中能够省去许多不必要的操作,节约大把时间,能够预留出更多的时间和精力来研究程序,通常Java在直接和间接引用对象上面能够实现自动处理的功能,它可以自动收集那些无用单元,极好地避免了关于存储管理的问题。当一个Java源文件在编译和运行时,这就需要写字板、附件里面的记事本等编辑文字软件,或者利用专门的程序开发平台(MyEclipse)来定义各种类,通过调用类来进行系统资源的访问操作,把Java源文件编译成中间码(二进制)存放在class文件里面,最后利用Java虚拟机执行调用class文件来满足Java API的调用。随着软件开发技术的日趋成熟,Java语言能够让网络应用高效快速,更接近实际,目前它是IT产业应用得最多的技术。目前市场上的编程工具有很多,下面就简单介绍几款编程工具供大家简单了解。
编程工具一:Eclipse,它是源代码免费开放的可扩展性强的一款开发软件
编程工具二:NetBeans同样是源代码免费开放,它能够满足和适应多种Web应用和客户机。在Java集成开发环境上能够投入使用
编程工具三:IntelliJ IDEA能够自动提示和分析源代码
编程工具四:MyEclipse这款商业化软件在Java集成开发环境上使用得比较多
编程工具五:EditPlus能够直接运行Java程序,前提是编译器和解释器能够正常运行。
2.2 MYSQL数据库
本次开发的系统后台采用MySQL数据库来存放数据,MySQL实质是RDBMS(关系型数据库管理系统),源代码开放性比较高,数据库管理的语言采用SQL(结构化查询语言)进行数据管理,下面我们就简单介绍SQL语句的一些常用用法。通常我们要创建一个数据库时就会使用“CREATE DATABASE ”命令开头,使用某个数据库时就会以“use+数据库名称”命令,如果想要查看数据库里面数据表就会使用到“SHOW TABLES”命令,当然我们在操作数据表内容时也会使用到某些命令,比如删除就用“drop”,清空就用“delete from”,更新数据就用“update”,需要加入数据的话可以用“insert into ”等命令,这些就是SQL查询语句的惯用语法。这次采用mysql数据库还是源于它备受关注的实用性和可靠性,它里面的大部分功能一般的系统都还用不完,况且mysql小巧但它功能比较齐全,是一般系统软件的开发首选。MySQL开放的源代码通过360安全浏览器可以快速下载下来,程序员可以对这些免费的代码根据自身需求进行个性化定制操作。为了我们能够更好地使用MySQL,平时我们需要多加维护,有空的时候还是多多查看一些二进制日志、错误日志、常规查询日志等日志,它们能够帮助我们进行性能分析以及DBA检查,除了这个还需要注意每间隔一定时间就要更新缓冲区和缓存,这样能够降低碎片,利用OPTIMIZETABLE命令让数据表进行重新组织,还能节省许多空间避免空间浪费。
2.3 B/S结构
B/S架构不需要在任何客户端来进行程序的部署,使用这样的程序结构来使用开发好的系统是利用浏览器来使用的,就是把开发好的程序配置到一台远程服务器上,在任何可以访问这台服务器的客户端电脑上都可以对程序进行操作和使用,这样的方式给使用者带来了极大的便捷。这样的结构提高了程序的运行效率,打破了地域的限制,降低了程序的使用成本。
我们开发的是一套常州地方旅游管理系统,我们可以把常州地方旅游管理系统系统配置在远程的服务器上,在得到访问权限之后,只要能够上网就可以使用和访问该系统并进行相关的操作,这样的一种先进模式我们之后只需要对服务器上的程序进行维护即可保证程序的正常使用,大大的提高了工作效率,降低了维护的成本。
2.4 Spring Boot框架
Spring Boot 是由 Pivotal 团队开发的框架,其作用是用来简化新 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,简单理解就是springboot并不是什么新型的框架,而是整合了spring,springmvc等框架,默认了很多配置,从而减少了开发者的开发时间。Spring Boot 简化了基于 Spring 的应用开发,通过少量的代码就能创建一个独立的、产品级别的 Spring 应用。 Spring Boot 为 Spring 平台及第三方库提供开箱即用的设置。
Spring Boot的特点
(1)创建独立的Spring应用程序
(2) 内嵌Tomcat应用服务器,容器会认出war包自动完成部署操作
(3) 简化了Maven软件项目管理工具的配置流程
(4) 实现自动配置Spring框架
(5)提供生产就绪型功能
第三章 系统分析
3.1可行性分析
对所有的系统来说,都有可能会受到时间和空间上的制约。所以,我们在设计每一个项目的时候,必须对该系统实行可行性分析,这样不但能够降低项目的危害,还能改降低人力、物力和财力的损耗。下面对技术、经济、操作和法律四个方面进行介绍。
3.1.1技术可行性
技术可行性是指学习的技术是否能够完成本项目,如果团队本身没有相关的技术储备,而又能够迅速掌握此类技术,那项目应该达不到我们的设计要求。本文将开发的系统,将采用的关键技术包括JAVA编程语言、Bootstrap框架、MYSQL数据库存储技术等。大学时将这些技术已经学习掌握,因此,就技术层面而言,该项目的开发是有保障的。
3.1.2 操作可行性
操作可行性主要是针对系统用户而言,一个系统再完美,技术再先进,用户不去使用,或者用户根本不会使用,该系统存在的价值也是不大的。本系统拟采用的是B/S架构,用户只要通过点击浏览器即可轻松访问,而用户对浏览器操作非常熟练,所以从用户的角度而言,没有任何学习成本,因此,操作上是可行性的。
3.1.3 经济可行性
项目需要考虑花费问题,我们必须考虑系统开发中所有的花费进行计算,我们要考虑到系统需不需要太大的资金。二是系统开发后期维护相关的费用大不大。本系统采用我们开源的技术没进行设计,再设计中没有太多的花费,只需要一台电脑便可以进行开发,因此,该项目的实施在经济上完全可行。
3.1.4 法律可行性
本基于Bootstrap的常州地方旅游管理系统开发的所有技术资料都为合法,知识产权问题不会发生在开发过程中,而且没有抄袭其他相关系统,不会有侵犯版权的问题。另外,基于Bootstrap的常州地方旅游管理系统设计与开发所采用的操作和工作方式符合工作人员的日常习惯,而且操作方便灵活,便于管理。所以在开发过程中不会涉及法律责任,具有可行性;
综上所述,该基于Bootstrap的常州地方旅游管理系统在建设上不存在较大的障碍,各方面都能够保障系统的顺利开发。
3.2系统性能分析
系统除了功能结构设计以外还需要附加需求的分析,非功能需求分析,主要是包括界面、数据库问题、框架等,需要满足非功能性能的需求,保证系统运行起来的时候能够达到最佳的效果,保证稳定性和安全性。
(1)数据底层统一。数据传输中需要进行数据处理,在查询数据存储上达到最佳效果。
(2)界面风格统一。图片需要进行PS处理,文字需要统一格式大小。
(3)数据库。每个模块都需要独立,各个模块之间相互配合,形成一个整体,包装各个功能合理化的配置,需要考虑开放端口,满足可扩展性。
3.3系统功能分析
本基于Bootstrap的常州地方旅游管理系统主要包括用户功能模块和管理员功能模块两大部分,下面分别介绍其功能:
(1)管理员功能模块
管理员是这两类用户中权限最高的,管理员登录后可对系统进行全面管理,确保系统正常稳定运行,管理员主要功能包括个人中心、用户管理、景点信息管理、订票信息管理、用户评价管理以及系统管理。管理员用例图如图3.1所示。
图3.1 管理员用例图
(2)用户功能模块
用户进入系统可查看系统信息,包括网站首页、景点信息、景点资讯等,注册登录后主要功能模块包括订票、个人中心、订票信息管理以及用户评价管理。用户用例图如图3.2所示。
图3.2 用户用例图
3.4系统流程分析
3.4.1注册流程
未有账号的用户可进行注册操作,用户注册流程图如图3.3所示。
图3.3注册流程图
3.4.2 登录流程
登录模块主要满足了管理员和用户的权限登录,用户登录流程图如图3.4所示。
图3.4 登录流程图
3.5系统架构分析
基于Bootstrap的常州地方旅游管理系统的结构我们采用B/S架构来实现。采用B/S程序架构首要条件是我们要把常州地方旅游管理系统的数据库和程序放到远程服务器上,只需要在一个服务器上对程序和数据库进行配置,就可以在任何联通这台服务器的电脑上使用架设好的系统。这样的结构打破了时间和地域的限制,用户在使用常州地方旅游管理系统的时候变得非常方便。下图就非常明白的展现了基于Bootstrap的常州地方旅游管理系统的网络系统结构。
图3.5 基于Bootstrap的常州地方旅游管理系统架构设计图