系统实现用户前台功能前端用户注册模块用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败注册页面的表单验证是通过JavaScript进行验证的用户名的长度必须在6到18之间邮箱必须带有符号密码和密码确认必须相同你输入的密码系统会根据你输入密码的强度给出指定的值电话号码和身份证号码必须要求输入格式与生活相符合当你前台验证通过的时候你点击注册表单会将你输入的值通过name值传递给后台并保存到数据库中。用户注册流程图如下图所示。图5-1用户注册流程图注册通过填写用户名、密码、姓名、手机等信息输入完成后选择提交即可注册成功如下图所示。图5-2注册界面图用户登录模块系统的登录窗口是用户的入口用户只有在登录成功后才可以进入访问。通过在登录提交表单后台处理判断是否为合法用户进行页面跳转进入系统中去。登录合法性判断过程用户输入账号和密码后系统首先确定输入输入数据合法性然后在login.jsp页面发送登录请求调用src下的mainctrl类的dopost方法来验证。用户登录模块的IPO如下所示输入用户名和密码。处理1检测用户输入的账号、密码是否正确及在数据库已对应存在。2从数据库中提取记录并储存在本地的session中timeout默认30min。3根据用户名将其显示在系统首页上。输出是否成功的信息。登录流程图如下所示。图5-3登录流程图系统登录界面如下所示。图5-4系统登录界面第2章相关技术介绍2.1微信开发者工具微信开发者工具现在已经被小程序开发团队开发运行目前微信开发者工具任然在不断的完善中在开发小程序时经常要不断的更新。可以使用微信扫码登陆开发者工具开发者工具将使用这个微信帐号的信息进行小程序的开发和调试[1]。机型选择小程序以智能手机的屏幕尺寸为设计标准进行切图。预览界面写好视图布局后点击编译用来刷新视图界面。控制台方便调试打印输出信息。上传代码上传到腾讯服务器提交审核必经步骤。上传代码时可以填写版本号和备注信息。资源文件一般可以在资源文件进行对应项目的文件目录的断点调试。显示远程调试手机端和PC端开发工具联调对用户而言是非常实用的。本地数据存储显示的是本地存储的数据。视图调试标组件以子父层级结构呈现方便调试。微信限制在2M 以内的代码体积开发中一般不校验合法域名信息小程序后台要做配置服务器域名。以上就是在开发过程中微信开发者工具常用到的功能微信开发者工具也在不断的完善。2.2小程序框架以及目录结构介绍整个小程序框架系统分为两部分逻辑层和视图层。小程序开发框架的目标是通过尽可能简单、高效的方式让开发者可以在微信中开发具有原生小程序体验的服务。小程序在视图层与逻辑层间提供了数据传输和事件系统提供了自己的视图层以及逻辑层框架让开发者能够专注于数据与逻辑。框架的核心是一个响应的数据绑定系统可以让数据与视图非常简单地保持同步。在逻辑层做数据修改在视图层就会做相应的更新。框架提供了一套基础的组件这些组件自带微信风格的样式以及特殊的逻辑开发者可以通过组合基础组件创建出强大的微信小程序[2]。2.3Java语言与JDK开发环境Java是美国sun公司所推出的一款程序设计语言其能够在多个平台内应用具有良好兼容性进而其凭借自身优势在数据中心、个人PC与科技超级计算机等平台内广泛应用具有目前最为庞大的开发者专业社群[3]。JDK为美国sun公司为java开发员所推出的一款全新产品要是没有JDK的情况下所安装的java程序也就无法运行[4]。2.4Springboot框架Spring框架是Java平台上的一种开源应用框架提供具有控制反转特性的容器[5]。尽管Spring框架自身对编程模型没有限制但其在Java应用中的频繁使用让它备受青睐以至于后来让它作为EJBEnterpriseJavaBeans模型的补充甚至是替补。Spring框架为开发提供了一系列的解决方案比如利用控制反转的核心特性并通过依赖注入实现控制反转来实现管理对象生命周期容器化利用面向切面编程进行声明式的事务管理整合多种持久化技术管理数据访问提供大量优秀的Web框架方便开发等等。Spring框架具有控制反转IOC特性IOC旨在方便项目维护和测试它提供了一种通过Java的反射机制对Java对象进行统一的配置和管理的方法。Spring框架利用容器管理对象的生命周期容器可以通过扫描XML文件或类上特定Java注解来配置对象开发者可以通过依赖查找或依赖注入来获得对象。Spring框架具有面向切面编程AOP框架SpringAOP框架基于代理模式同时运行时可配置AOP框架主要针对模块之间的交叉关注点进行模块化。Spring框架的AOP框架仅提供基本的AOP特性虽无法与AspectJ框架相比但通过与AspectJ的集成也可以满足基本需求[6][7]。2.5B/S架构基于Java技术开发的B/S架构系统需要借助Tomcat服务器应用程序进行部署运行[5]。用户访问系统的时候通过浏览器向应用程序服务器端发起访问请求服务器端的程序在接到用户请求以后服务器端应用程序对客户请求做出相应在调用服务器端的业务逻辑程序完成和数据库端的交互进一步生成相应的HTML/XML数据最终把结果反馈给浏览器端用户[8]。在该系统的开发中开发模式采用B/S架构技术进行实现通过部署服务器端应用程序实现用户通过网站域名或者内网IP地址访问系统实现系统中数据的动态化呈现和管理加之页面效果的动态化呈现不仅提升了页面的表现力而且管理者可以随时更新系统中的各种信息充分满足管理者和访问用户之间的信息交互[9]。2.6MySQL数据库MySQL经过多次的更新功能层面已经非常的丰富和完善了从MySQL4版本到5版本进行了比较大的更新在商业的实际使用中取得了很好的实际应用效果。最新版本的MySQL支持对信息的压缩同时还能进行加密能更好的满足对信息安全性的需求。同时经过系统的多次更新数据库自身的镜像功能也得到了很大的增强运行的流畅度和易用性方面有了不小的进步驱动的使用和创建也更加的高效快捷。最大的变动还是进行了空间信息的显示优化能更加方便的在应用地图上进行坐标的标注和运算。强大的备份功能也保证了用户使用的过程会更加安心同时支持的Office特性还支持用户的自行安装和使用。在信息的显示形式上也进行了不小的更新增加了两个非常使用的显示区一个是信息区对表格和文字进行了分类处理界面的显示更加清爽和具体。第二是仪表的信息控件能在仪表信息区进行信息的显示同时还能进行多个信息的比对为用户的实际使用带来了很大的便捷[8][9]。针对本文中设计的酒店管理系统在实际的实现过程中最终选择MySQL数据库的主要原因在于在用户的应用系统应用及开发的过程中会存在大量的数据库比较频繁的操作而且数据的安全性要求也是非常的高。综合这些因素最终选择安全性系数比较高的MySQL来对酒店管理系统后台数据进行存储操作[10][11]。数据库管理系统的总体结构图如下图所示。图2-1 数据库组成结构系统分析可行性分析本次设计基于B/S 模式下运用Java、Springboot技术采用的是MySQL数据库以上技术均由本人经过系统学习并且都是在课程设计中实践过的可以使得开发更加便捷和系统。从技术角度看这个系统是完全可以实现的。总体的可行性共分为以下三个方面。技术可行性分析所谓的技术可行性就是在限定时间前期拟定的功能能否被满足。在开发设计上是否会遇上解决不了的问题。做完的项目能否被很好地应用如果存在缺点在后期的维护上是否存在很大的难度。在对这个系统评估后认定已存在的技术能达成目标。用Java技术来实现动态的页面嵌入低依赖性的设计模式灵活的数据库配合稳定的服务器整个系统的运行效率大大提升。由此可见在技术层面达成目标不是非非之想。经济可行性分析在项目上使用的工具大部分都是是当下流行开源免费的所以在开发前期开发时用于项目的经费将会大大降低不会让开发该软件在项目启动期受到经费的影响所以经济上还是可行的。尽量用最少的花费去满足用户的需求。省下经费用于人工费以及设备费用。将在无纸化高效率的道路上越走越远。操作可行性分析本系统实现功能的操作很简单普通电脑的常见配置就可以运行本软件并且只要粗通电脑使用的基本常识就可以流畅的使用本软件。电脑具备连接互联网的能力并且可以正常访问系统并不需要操作者有什么高超的能力只需了解业务流程并且按照专业知识进行正确操作即可所以酒店管理系统具备操作可行性。功能需求分析酒店管理系统小程序的功能主要分为前台用户根据自己的需求进行注册登录浏览房间信息并对需要的客房进行预订操作同时存在食物订单信息。后台系统管理员主要对注册用户新闻资讯客房详细信息客房预订单、食物订单等进行处理。用户用例图如下所示。图3-1 用户用例图管理员用例图如下所示。