1、本程序在部署上的结构图:3程序描述3.1酒店前台管理系统模块3.1.1功能本系统根据功能的需求以及底层数据结构的设计,主要分成了三个层次9大模块。还有一个附加功能而添加的计时器子模块。可以实现提醒有新订单未处理的功能,还有12点提醒退房和刷新房间状态的功能。根据概要分析得到的功能,以及对时序图的总结,可以得到以下类图:总的类图:一般接线员拥有的功能:而高级服务员应该有的功能:登录子系统模块:(与系统的联系比较少,所以划分出一个子系统)本子系统拥有的功能:1)得到用户信息:应该根据名字查找数据库并判断是否存在该该用户public Employee getEmployee(String usern
2、ame);2)判断密码是否正确boolean checkLogin(String username, String key);订单管理模块和网上预定管理模块:这个模块功能主要包括:1)查看全部订单2)查看某个订单3)创建订单4)修改订单5)取消订单6)查看临时订单7)处理临时订单:包括接受或者拒绝网上用户的预定、修改、取消请求房间信息状态管理模块:这个模块的功能主要包括:1)查看全部房间:不同的房间在界面显示的图标不同,而且12点以后会把有订单的房间设置成已订,把没订单的房间设置成空房。打扫和已入住不改变。2)修改房间属性3)修改房间信息:界面根据不同的房间状态打开不同的窗口,展示不同的内容4
3、)开房(只修改状态)5)打扫(只修改状态)6)退房(只修改状态)入住信息管理模块:本模块主要包括以下功能:1)开房2)退房3)查看历史账单4)查询某个已入住房间全部信息消费管理模块(包括商品管理模块和服务管理模块,都是继承与本模块)1)查看管理商品:可以管理商品的价格、库存2)查看管理服务:可以管理服务的价格3)添加消费:可以选择已入住的房间增加消费4)取消消费:可以选择已入住的房间删除消费员工管理模块:1)登陆:对员工等级进行功能限制2)修改员工信息客人信息管理模块:1)查看客人信息:假如在预定或者开房时,输入相同的证件号,但是其他信息不同,就会更新客人信息。也可以在预定或者开房时,输入证件
4、号直接查询自动填入资料。2)查看网上用户3.1.2性能1)程序打开时间应该在1s以内。2)由登录界面进入到主界面应该在2s以内。3)点击主界面的按钮展示子界面的时间应该在1s内。4)查找或者读取数据库的时间最多不能超过3s。5)程序的时间应该和系统的时间保持一致。6)可以更换数据库的文件位置,只要重新配置,不影响功能的实现。7)程序的精度全部只控制在整数,即使用Integer作为所有数字数据的储存基本单位。3.1.3输入项目模块名称登陆模块输入项目名称数据类型输入方式数据来源有效范围调用的函数帐号String界面输入长度20以内getEmployee()checkLogin()密码员工管理模块
5、员工Employee界面传入manageEmployee ()网上订单请求模块订单处理状态DealStateNODEAL(0) ACCEPT(1) ONJECT(2)getNoDealOrders()未处理订单TempOrderLineensureTempOrder()handleOnlineOrder()是否同意标志Booleantrue|false订单管理模块addOrderLine()房间RoomgetOrderLine()getOrderDatesInRoom()checkIsEmptyInDate()客人Customer预定的日期Date界面选择getOrders()已处理Order
6、LinechangeOrderLine()cancelOrderLine()商品管理模块消费项目GoodscreateConsume()cancelConsume()manageGoodsInfo()消费数量int小于等于库存服务管理模块ServicemanageServiceInfo()入住信息管理模块getBillLine()openRoom()changeRoomBill()addConsume()checkout()押金Integer065535订单消费项ConsumeLine入住信息BillLinedeldteBillLine()历史入住信息HistoryBillLinecreate
7、HisBillLine()入住时间0(代表住一天)或者24(代表钟点房的入住时间)客人管理模块客人身份证长度为15或者18getCustomer()changeCustomerInfo()房间信息管理模块房间类型A,B,C,DgetRoomsState()openRoomState()sweepRoomState()changeRoomState()clearRoomState()manageRoomInfo()房间号现有的房间号getRoomByID()3.1.4输出项目输出项目输出的函数密码是否正确标记boolean全部员工信息ArrayListgetEmployees ()全部未处理订单
8、信息TempOrderLinegetTempOrders ()订单是否被处理标志Boolean(true表示成功,false表示房间已被预定)全部已处理订单信息OrderLinegetOrders ()单个订单信息getOrderLine ()某个房间未来全部订单日期Date房间在某日是否为空标志订单修改是否为成功标志全部历史入住信息HistoryBillLinegetHisBill ()单个入住信息getBillLine ()结账余额floatcheckOut ()全部商品信息GoodsgetGoods ()消费信息createConsume ()全部服务信息 Service getServ
9、ices ()全部客人信息CustomergetCustomers ()单个客人信息getCustomer ()全部网上帐号信息CustomeronlinetablegetOnlineAccounts()全部房间信息RoomgetRoomsState ()单个房间信息getRoomByID ()3.1.5算法从DAO读写帐号密码,并进行比较。从DAO读写员工的信息。从DAO读写网上订单的信息。处理订单:boolean handleOnlineOrder(TempOrderLine tempOrderLine, Boolean isAgree, Employee employee);从DAO读写
10、订单的信息。从DAO读取客人的信息。从DAO读写入住的信息。有预定的客人入住:int openRoom(OrderLine orderLine, Employee employee, Integer deposit);结账:float checkOut(Room room, float discount, String note);从DAO读写商品的信息。从DAO读写服务的信息从DAO读写房间的信息更新当前全部房间的信息: getRoomsState(String type);计时器模块实现12点报时并刷新全部房间状态。提醒有新订单,并且在打开提示窗口后,不会重复打开窗口知道窗口关闭。3.1.
11、6程序逻辑对数据库的读写全部交给DAO执行,要做的只是把适当的参数传入DAO。因此,详细设计一些复杂核心函数的流程图:1)boolean handleOnlineOrder(TempOrderLine tempOrderLine, Boolean isAgree, Employee employee);2)int openRoom(OrderLine orderLine, Employee employee, Integer deposit);3)float checkOut(Room room, float discount, String note);4)ArrayList5)提醒有新订单
12、,并且在打开提示窗口后,不会重复打开窗口知道窗口关闭。6)实现12点报时并刷新全部房间状态。计时器部分与(5)相似,对房间状态的刷新与(4)相似。3.1.7接口逻辑层提供给显示的接口:数据访问层提供给逻辑层的接口就是由Hibernate自动生成的DAO提供的接口。3.1.8存储分配应该在Web服务器上,建立MySQL数据库,把数据都存放在数据库当中。由于没有网络编程的知识,所以目前把数据库部署在本机上。还有程序的图片等资源放到lib文件夹之下。数据库驱动mysql-connector-java-5.1.21-bin.jar放到当前文件下。log4j的配置文件log4j.properties也放
13、在当前文件下。3.1.9限制条件本程序必须运行在配置好java环境的windows7/8/10操作系统下运行。由于没有网络编程基础,所以把MySQL数据库配置在本机上,所以把本机作为服务器,要先运行MySQL数据库的Server程序,才能打开本程序,否则会导致程序登录失败。3.1.10测试要点测试主要包括以下内容:1)功能测试:a)数据库测试(即数据库的连接以及内容增删改查等操作过程是否正确)。b)界面测试(即从界面中是否能按正确格式输出、展示正确的内容、把输入的内容传递给逻辑层)。c)逻辑层测试(即是否能把界面输入的内容进行处理,把正确而且符合需求以及格式的数据存入数据库)2)性能测试:测试
14、各个界面执行某个功能的时间、读写数据库的速度、连接速度测试(即时间特性要求)、压力测试(单机使用)3)可用性测试:图形测试、内容测试、整体界面测试(即图形用户界面的显示是否人性化,是否易于操作员操作,以及容错机制)4)容错测试:本程序主要都把错误处理交给界面来进行。所以应该把全部错误都进行测试。5)还要在不同的电脑上测试,从而确定程序执行所必须的系统环境的配置方法没有错误。3.2在线预定系统模块3.2.1总体功能本系统根据功能的需求以及底层数据结构的设计,主要分成了三个层次5大模块。3.2.2账户管理模块描述方面具体描述账户管理模块功能注册账户,登录账户,修改密码性能1.时间特性要求:要求等待时间订单数组生成订单同上根据用户输入信息,生成相应的订单,并将其存入数据库中,并发出添加请求。查看已处理&根据订单是否处理的状态值,从数据库中返回相应类型的订单修改已处理订单调用添加、删除函数对旧的订单发出删除请求,请求确认后,根据用户新输入的信息生成新订单,并发出添加请求。修改未处理订单删除旧订单,直接从临时表中删除保存新订单(请求添加)删除已处理订单将传入的订单列表置为请求删除,请求确认后,从临时表订单中将其删除。删除未处理订单直接删除临时订单表里的订单ListArra
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1