功能需求
主要包括两个大类,分别为管理后台数据库和管理旅客住宿情况。数据库后台管理:存储全部数据。旅客住宿情况部分:用户操作和管理员操作界面,是程序设计的核心模块。具体功能如下:用户在程序内登录后,能线上预定客房,之后也能查看预定信息。当用户预订后,管理员可以从预订单信息表中获取到用户的一些基本信息,来提高入住登记的速度。用户也可以在软件中提前浏览该房间的图片和了解房型价格,线上了解详情更加便捷高效。管理员对房间有增删改查等权限。
业务流程
分析解读系统组织结构和功能作用时,最好的方案是考虑到实际业务流程,全面地将系统调查中跟该业务有关的所有流程的资料都串联起来分析。根据需求解读程序中必备的功能和性质,得到酒店预订系统用户业务流程图3.3和管理员业务流程图4。
1.用户流程
2.管理员
数据库设计
本系统共设计了8张表,分别存放各个模块的数据信息,主要有用户表,管理员表,预订单表,入住表,楼层表,房间表,房型表,日志表。
如图是系统的E-R图。管理员与用户之间是1对n的关系,客户与房间是1对1的关系,管理员与房间是1对n的关系。
1.数据库表设计
系统软件功能实现
1.注册模块
用户在进入注册界面注册账号,填写正确格式的:账号,密码,性别,身份证号,电话,地址,这些提示信息,代码中使用正则表达式,对输入的内容进行限制,其中密码要求是6位数,身份证必须是18位数字,电话必须是11位数字。图中有*符号的选项是必填项。通过判if判断两次输入的密码是否一致,对输入的身份证通过sql语句进行查询验证,查看此身份证号在数据库中是否已经存在,如果存在,则会弹出提示,此身份已注册,请前往登录!如果不存在,则会继续判断电话号是否为11位数字,通过之后系统将会把这些信息保存到数据库用户(account)表中,弹出提示,注册成功。
2.登陆模块
用户注册成功之后,输入账号密码就可以登陆系统了。通过QRadioButton按钮选择相应的角色权限,输入账号和密码之后会通过sql语句查询数据库里面的账号和密码进行比对,如果账号和密码都完全一致,就可以登陆系统进入主页,同时把登陆的操作记录写入日志(logblog)表中。如果输入的账号或者密码有误,会弹出提示错误信息。例如:账号或密码错误,请重新输入!
3.预订模块
客人在系统里查看房间情况,选择自己满意的一个房间进行预定操作,在线上选择入住和离开的时间点,以及住多少天等信息。如图5-4所示,点击下方预定键,点击确定根据房间id通过sql语句查询该房间的状态,如果房间状态是“满”或者“已预订”,则会提示该房间已满!如果状态为“空”,成功预定房间。此时,预订的一些信息同时会更新到数据库里面,具体的数据库表是预订单(book)表,同时把预订的操作记录在日志(logblog)表中。通过sql语句更新房间状态,更新预订房间的信息。
用户还可以查看自己的订单,在个人中心查看我的订单,详细显示客户所有的订单信息。在一定时间内没有入住之前是可以取消此订单的。
4.管理员管理
在进入系统时填写正确的账号和密码进入系统开始使用。在管理员页面,我们可以清楚的看到一共设计了七个部分,分别是业务管理,楼层管理,房型管理,客房管理,客户管理,系统管理,个人中心。业务管理又分为三个部分即前台中心,住房登记,客户退房。登录后台后,房间的信息经过sql语句查询显示在列表中,包括编号,类型,价格,所属楼层和房间状态等都在界面上一目了然。可以根据它的房型查看,楼层或状态查看。
5.系统模块
操作日志:管理员的职责是对日志信息进行操作、查询、和导出等。前面用户注册,登陆,预订等操作都会被记录到日志(logblog)表中。而且管理员在系统中进行的一系列操作也会被记录,包括登录情况,楼层和房间信息,用户登记入住和退房等信息。并且可以在系统中以时间或者操作类型查看各类信息,也能做导出和删除等操作,删除操作后,数据全部消失,无法恢复。
总结
简单的介绍系统的流程,本系统基于Qt框架,数据库是MySQL。