版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
酒店(桐枫谷)数据管理系统设计与实现摘要:网络技术的发展已经渗透到企业管理的方方面面,是个各大企业的管理工作越来越依赖互联网络,尤其是随着我国社会经济的发展,信息迅速的发展,使得企业的管理负担愈来愈重,酒店行业的管理亦是如此。酒店行业高度发展,其管理工作就变得尤为重要,高效的管理可以提高酒店的效率。但是在现在大多数的酒店管理却还停留在人工手工的去管理,这样的模式就使得员工需要大量的时间以及精力去处理顾客各种各样的需求亦或投诉。长久如此的管理制度会使得酒店面临倒闭的风险,于是卓越的系统设备提供精良的用户体验,让酒店经理、酒店顾客,前台专员等出入于酒店的相关人员体验到本系统所带来的前所未有的优质服务成为了本次系统设计的重要考题。市场上的酒店管理系统千千万万,实现系统的技术也是各种各样,本系统的采用Django框架技术开发,Django框架是python开发的一个强大的又免费开源的Web框架技术。程序开发人员使用干净简洁的代码便可轻松的完成一个完整系统的大部分功能,这也是该技术的亮点所在。快速开发,降低开发成本。开发工具使用PyCharm。同样为了降低开发成本,数据库选用MYSQL这个体积小,速度快,开放源码的数据库来支撑整个系统较为符合当下的开发需要。最终实现本系统的实现。关键词:酒店管理系统,django,ORM,bootstrap,MYSQL
Hotel(TongFengGu)datamanagementsystemdesignandrealizationsummary:thedevelopmentofnetworktechnologyhaspenetratedintoallaspectsofenterprisemanagement,isamajorenterprisemanagementmoreandmorerelyontheInternet,especiallywithchina'ssocialandeconomicdevelopment,therapiddevelopmentofinformation,sothatthemanagementburdenofenterprisesmoreandmoreheavy,thehotelindustrymanagementisthesame.Thehotelindustryishighlydeveloped,itsmanagementbecomesparticularlyimportant,efficientmanagementcanimprovetheefficiencyofthehotel.Butnowmosthotelmanagementisstillstuckinmanualmanagement,suchamodelallowsemployeestoneedalotoftimeandefforttodealwithavarietyofcustomerneedsorcomplaints.Long-termsuchamanagementsystemwillmakethehotelatriskofclosure,soexcellentsystemequipmenttoprovideasophisticateduserexperience,sothathotelmanagers,hotelcustomers,frontdeskprofessionalsandotherpeopleinandoutofthehoteltoexperiencetheunprecedentedqualityservicebroughtaboutbythesystemhasbecomeanimportanttestofthissystemdesign.Therearethousandsofhotelmanagementsystemsonthemarket,theimplementationofthesystemisalsoavarietyoftechnologies,thesystemusingDjangoframeworktechnologydevelopment,DjangoframeworkisapythondevelopedapowerfulandfreeopensourceWebframeworktechnology.Thehighlightofthetechnologyisthatprogramdeveloperscaneasilycompletemostofthefunctionalityofacompletesystemwithcleanandconcisecode.Rapiddevelopmenttoreducedevelopmentcosts.DevelopmenttoolsusePyCharm.Alsoinordertoreducedevelopmentcosts,thedatabaseselectedMYSQLthissmallsize,fast,opensourcedatabasetosupporttheentiresystemmoreinlinewiththecurrentdevelopmentneeds.Thefinalrealizationofthesystem.Keywords:HotelManagementSystem,django,ORM,bootstrap,MYSQL目录第1章绪论 绪论课题研究的背景一般而言传统酒店管理系统是通过人机交互来实现的MIS(ManagementInformationSystems管理信息系统,简称MIS)系统。对于酒店的计算机监管体系最早可以追溯到1963年美国一间著名的酒店希尔顿酒店安装了第一台用于酒店客房自动化管理的小型计算机。由这一刻开始,现代化管理技术运用开始运于酒店行业,并到八十年代国外的这项技术体系就基本完善成型。而国内对这方面的研究起步较晚,直到八十年代初期才开始研究实践,并对这方面的技术大量引进,到九十年代中后才趋于完善。人所共知,从改革开放以来,中国经济建设取得了举世瞩目的辉煌成绩。跟随着我国社会经济的进步,中国的各个行业百花齐放,各行各业都开始快速发展,其中酒店行业更是如此。不断发展的社会经济带动居民的经济水平,而消费水平亦是不断提高,人们对高质量生活的追求亦逐渐提高,对于酒店的服务体验的要求也越来越高。但人们对酒店的期望与目前酒店的服务质量却形成很大的反差,大多数酒店在管理上却还是传统的由酒店人员手工去操作完成,大部分三星以下的酒店还没有采用电脑管理系统,造成酒店日常管理事务工作都需要大量的人员来操作。这使得酒店服务效率变低,管理困难,占用大量的资源不说,客户的体验还差。这对酒店长久发展十分不利,甚至会因无法适应如今的趋势而面临淘汰。高效率、全面的管理系统对于酒店的服务效率,客户的满意度都有极大的提高,同时也可以降低管理成本,这在酒店行业竞争如此激烈的今天,将成为酒店的重要核心竞争力之一,使得酒店能有更加长远的发展。所以使用现如今先进的高效率的技术开发一套完整的全面的管理系统是十分必要的。 课题研究的意义传统的MIS人机交互界面确实对酒店管理系统带来很大的便捷,但是国内对于酒店管理系统的开发研究却是参差不齐。其开发周期长,开发成本高。这并不适合当下的软件开发市场。本课题研究是基于Django框架所开发的酒店管理系统,其优点在于快速开发、功能完善。这使得开发成本成倍降低的同时开发功能还强大。系统开发之后对于酒店也有较大的便捷。系统管理减轻员工对于日常事务的繁琐的统计,这样手工的统计极容易出错效率还低。比如系统其中的模块是对于酒店数据可视化页面的开发,其开发意义在于酒店日常数据进行系统的自动分析统计,并展示在页面中,使得酒店管理层一目了然,这便于管理层的分析与决策,进而影响酒店的营销。酒店也可减少这些繁琐的工作,专注提高服务质量,良性循环产生经济效益。课题研究方法和内容研究方法文献研究法,根据论文的研究目的以及课题需要,通过查阅与论文相关的文献来获得相关资料,从而全面、客观、正确地了解所要研究的问题,找出事物的本质属性,从中发现问题。研究内容本论文一共分为五个部分,具体内容安排如下:(1)绪论。主要对以对酒店管理系统国外内的发展背景,及国内酒店系统技术、酒店系统市场进行阐述,从开发角度和酒店营销角度分析本系统研究意义。(2)系统需求分析。主要对酒店管理系统进行全方面的分析,包括对用户的需求分析,对系统的经济可行性、技术可行性等方面进行研究分析,供后面对系统的设计提供重要资料。(3)系统设计。主要描述系统开发环境及对系统功能结构、数据库结构的设计,并使用Django开发框架其强大的功能对系统的开发,设计并实现本系统的部分功能。(4)系统测试。主要描述系统运行环境的所需的硬件要求,系统测试的目的,测试方法,以及本系统主要采用何种测试方式对功能进行测试,以确保系统的准确运行。(5)结束语。系统需求分析可行性分析对酒店管理系统的可行性分析主要还得从市场需求、资源供应、开发环境影响、系统利润空间等方向进行分析,从技术上进行研究和分析,从经济效益上进行预测。从中得出这个系统是否可以投入开发。下面从几个方面进行可行性分析:(1)操作可行性:传统的MIS人机交互系统大多采用C/S(Client-Server,也叫客户机/服务器模式)架构进行应用开发。随着互联网的发展,C/S架构的操作局限性逐渐凸显出来,其客户端的维护需要复杂的技术支持。而B/S(Browser/Server,浏览器/服务器模式)架构模式其核心主要集中在服务器上,大大简化了系统开发、维护跟使用。(2)技术可行性:本系统主要采用开发语言python选用当前最流行框架Django进行系统的相关开发,数据库选用MYSQL主流数据库进行数据支撑,为系统的开发提供强有力的技术后盾。(3)经济可行性:本系统主要目的在于节省大量的人力财力花费在酒店的管理经营上,员工可在系统上的进行操作,减少酒店不必要开支,同时可增加营业额,在经济可行性上并不会陷入窘境。(4)进度可行性:Django框架适合快速开发,其开发优势大于其他Web框架,使得系统的开发周期大大缩短,这对于系统的开发进度的到保证,能在预期的时间内高效的完成系统开发。用户需求分析随着社会的发展,客流量也随着不断增大,酒店管理人员希望系统可以减轻日常事务繁重的重复性工作,同时兼备数据实时监控,可实时看到日常所需信息。由于客流量增大酒店规模也在不断扩大,要求不同员工能访问的内容不同,并提供员工日常的考勤打卡功能:(1)实时数据监控:使用计算机可以一目了然看到日常相关数据,如各部门经理可实时看到当前酒店的营销量,当晚酒店入住人数等信息。(2)实时房态:前厅部可实时看到房间状态,前厅专员可通过系统帮顾客预订房间,录入顾客信息,同时可看到网上预约信息,并自动预约选中房型,等顾客到店后再一并录入系统。(3)数据储存:建立顾客信息表,录入顾客基本信息,方便日后建立良好的客户关系。(4)密码设置:使得酒店管理用户可通过登录权限登录进入系统,避免非本酒店人员进入本系统。(5)权限设置:设置用户权限,可根据所处部门赋权相应的操作权限。(6)数据查询:要求可以通过搜索框搜索房间。(7)员工处理:可查看员工基本信息,并查看员工考勤打卡信息,并以此辅助结算工资。系统功能需求分析(1)网上预订功能:主要目的是为了提高酒店的开房率,提高酒店营业额,功能包括网页预订查询,房型已满页面反馈,预约记录生成,预订确认,预订记录维护等功能。(2)前厅接待功能:主要目的是可以快速为顾客检索到合适房型,为客户开好房间,录入顾客基本信息,房间多名顾客录入删除功能,前厅部主页面可快速看到当前可入住房型,及当前不可用房间。(3)员工考勤管理:主要功能可以知道员工考勤记录,全体员工基本信息,部分员工无登录系统权限。(4)主管主系统管理:主要功能点在于酒店日常数据可视化,对于酒店日常数据可实时的呈现在页面上。
系统设计开发环境搭建安装Python3.7.3环境安装:Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,故而需要安装python的环境,官网下载与自己系统对应的版本,本系统选用Python3.7.3版本进行安装。测试:安装完成,打开运行窗口(windows系统操作系统用win键+R快捷打开运行窗口,在里面输入命令提示符“cmd”)输入python后回车,如出现python版本号,则代表环境搭建成功,如不成功,则需要配置电脑的环境变量。系统开发框架搭建本系统开发工具选用pycharm作为系统开发工具,框架的搭建需下载Django压缩包,Django是用Python开发的一个免费开源的Web框架,可以用于快速搭建高性能,优雅的网站!采用了MVC的框架模式(模型M,视图V和控制器C,也可以称为MVT模式,模型M,视图V,模板T。)框架安装完毕后需测试。pip下载Django框架执行pipinstalldjango执行步骤之后打开pycharm在“Terminal”测试是否安装完毕,执行“piplist”测试是否安装django框架,如图3-1所示:图3-1Terminal输入框Django项目相关文件分别有:admin:对应应用后台管理配置文件。apps:对应应用的配置文件。models:数据模块用于设计数据库等。tests:编写测试脚本。views:视图层,直接和浏览器进行交互。系统功能结构设计如图3-2系统结构图所示,本系统功能模块主要实现三大系统模块:数据可视化页面、前厅接待页面、员工部门页面。其中前厅接待又由前厅接待及网上预约的功能。员工部门包括员工部门信息、员工考勤信息。图3-2系统结构图数据库设计在数据库开发中,Django框架拥有强大的数据库功能:ORM(Object-RelationalMapping“对象-关系映射”),它将对数据库的操作转换为对类属性和方法的操作,使得开发人员可以不用编写SQL语句,这样做有一个好处就是市场上的各种关系型数据库虽然在语法上都遵循SQL编写准则到在细节上还有些差异,这使得系统开发在数据迁移上需花费很大的成本,而ORM完美的避开这样的问题,并且ORM默认防止SQL注入(一种流行的攻击方法),这对系统的安全提供了一层保护措施。数据库设计:根据需求对本系统的数据库进行分析开发,并建立了十张当前系统部分功能实现的相关数据表,分别为:员工信息表、工资信息表、考勤记录信息表、部门信息表、顾客登记信息表、住宿信息表、客房信息表、预约房间信息表、款项记录信息表等。员工信息表主要存储员工基本信息,表结构如表3-1员工信息表所示。表3-1员工信息表(Employee)字段名注释数据类型是否为空说明id主键primarykeyNOTNULL主键name姓名Varchar(50)NOTNULLusername账号Varchar(50)NULLpassword密码Varchar(50)NULLsex性别Varchar(4)NULLtel电话Varchar(20)NULLage年龄IntNULLlength_of_service工龄IntNULLlevel级别IntNULLposition职务Varchar(20)NULLremarks备注Varchar(2000)NULLdept_id外键:部门idForeignKeyNULL部门编号外键工资信息表存储员工发放工资信息并关联员工表,外键为员工编号。结构如表3-2工资信息表所示。表3-2工资信息表(salary);字段名注释数据类型是否为空说明id主键primarykeyNOTNULL主键basic_wage基本工资Varchar(50)NOTNULLattendance_wage全勤工资Varchar(50)NULLreal_wages实际工资Varchar(50)NULLattendance出勤Varchar(4)NULLsalary_date发放工资时间Varchar(20)NULLremarks备注Varchar(2000)NULLemp_id外键:员工idForeignKeyNULL员工编号外键考勤表主要记录员工打卡信息,并关联员工表。如表3-3考勤记录信息表所示。表3-3考勤记录信息表(attendance);字段名注释数据类型是否为空说明id主键primarykeyNOTNULL主键att_datetime打卡时间Varchar(50)NOTNULLremarks备注Varchar(2000)NULLemp_id外键:员工idForeignKeyNULL员工编号外键部门表存储酒店各部门信息,如表3-4部门信息表所示。表3-4部门信息表(department);字段名注释数据类型是否为空说明id主键primarykeyNOTNULL主键dept_name部门名称Varchar(50)NOTNULLremarks备注Varchar(2000)NULL顾客登记信息表登记顾客信息,并存储在数据库中,如表3-5顾客登记信息表所示。表3-5顾客登记信息表(customer);字段名注释数据类型是否为空说明id主键primarykeyNOTNULL主键name姓名Varchar(50)NOTNULLsexe性别Varchar(50)NULLid_card证件号码Varchar(50)NULLzz_type证件类型Varchar(4)NULLmember_level会员级别Varchar(20)NULLremarks备注Varchar(2000)NULLdiscount_rule_id会员等级外键ForeignKeyNULL会员等级外键住宿信息表存储住宿信息,为减少冗余数据而开设的表,如表3-6住宿信息表所示。表3-6住宿信息表(accommodation);字段名注释数据类型是否为空说明id主键primarykeyNOTNULL主键start_date住宿日期dataNOTNULL由于开发需要特设字段start_time住宿开始时间datatimeNOTNULLend_time住宿结束时间datatimeNULLremarks备注Varchar(2000)NULLroom_id房间idForeignKeyNOTNULL房间表外键cust_id顾客idForeignKeyNOTNULL顾客表外键客房信息表存储酒店客房信息,如表3-7客房信息表所示。表3-7客房信息表(room)字段名注释数据类型是否为空说明id主键primarykeyNOTNULL主键room_number客房号Varchar(20)NULLcategory类别Varchar(20)NULLlocation位罝Varchar(20)NULLcharge收费标准Varchar(20)NULLstatus状态Varchar(20)NULLremarks备注Varchar(2000)NULL预约房间信息表网上预约房间时存储数据的数据表,并与房间表关联,外键为房间表id,如表3-8预约房间信息表所示。表3-8预约房间信息表(reservation);字段名注释数据类型是否为空说明id主键primarykeyNOTNULL主键name用户名Varchar(20)NULLid_card证件号码Varchar(20)NULLstart_date住宿日期dataNOTNULL开发需要特设字段start_time始定时间Varchar(20)NULLend_time结束时间Varchar(20)NULLremarks备注Varchar(2000)NULLroom_id房间表主键ForeignKeyNOTNULL房间表外键款项记录信息表对酒店房间住宿收款信息进行存储,并关联顾客表,如表3-9款项记录信息表所示。表3-9款项记录信息表(payment);字段名注释数据类型是否为空说明id主键primarykeyNOTNULL主键room_id房间号Varchar(20)NULLusage_time收款时间datetimeNULLreceivables应收款Varchar(20)NULLactual_collection实际收款Varchar(20)NULLremarks备注Varchar(2000)NOTNULLcust_id顾客idForeignKeyNOTNULL顾客表外键系统部分功能开发。系统登录实现用户登录功能,如图3-3登录界面所示。图3-3登录界面登录功能python的装饰器其功能在于可以在不改变源代码的情况下增加额外的新功能。譬如系统的登录验证,如果不加装饰器那么就需要修改大量的代码来实现功能,同时不利于修改。进入系统时,酒店管理系统会通过装饰器check_login(f)对页面进行用户是否有登陆状态的检测,如检测到用户未登录则自动跳转到登录页面进行登录;此时酒店员工通过输入正确的用户名和密码提交到后台调用login_post接口进行验证,如果输入信息不正确,系统会提示用户名或密码错误,同时通过服务端保存session数据进行登录识别,判断是否已经登录系统。核心代码如下:defcheck_login(f):#登录验证
@wraps(f)
definner(request,*arg,**kwargs):
is_login=request.session.get('is_login')
ifis_login=="1":
returnf(request,*arg,**kwargs)
else:
returnredirect("/login")
returninner@csrf_exempt#增加装饰器,作用是跳过csrf中间件的保护
deflogin_post(request):#登录验证
ifrequest.method=="POST":
username=request.POST.get('username')
password=request.POST.get('password')
user=models.employee.objects.filter(username=username,password=password)
ifuser:#登录成功
#1,生成特殊字符串
#2,这个字符串当成key,此key在数据库的session表(在数据库存中一个表名是session的表)中对应一个value
#3,在响应中,用cookies保存这个key,(即向浏览器写一个cookie,此cookies的值即是这个key特殊字符)
request.session['is_login']='1'#这个session是用于后面访问每个页面(即调用每个视图函数时要用到,即判断是否已经登录,用此判断)
#说明:如果需要在页面上显示出来的用户信息太多(有时还有积分,姓名,年龄等信息),所以我们可以只用session保存user_id
request.session['user_id']=user[0].id
returnJsonResponse("SUCCESS",safe=False)
returnJsonResponse("ERROR",safe=False)
else:
#如果是GET请求,就说明是用户刚开始登录,使用URL直接进入登录页面的
returnrender(request,'login.html')权限管理当酒店员工使用不同部门账号时,后台通过“request.session.get('user_id')”获取session中的信息,并通过与数据库中存储的权限信息进行比对后,返回相应的页面信息,页面则自动跳转到相应部门的页面。@check_login#登录验证装饰器,作用在于浏览管理系统是检测是否已经登录
defmanager_view(request):#主管页面主系统页面
session=get_session(request.session.get('user_id'))
name=session[0].name
level=session[0].level
iflevel=='1':#返回主管界面
returnrender(request,'manager.html',{"name":name,"level":level})
eliflevel=='2':#返回前厅部界面
returnrender(request,'lobby/room.html',{"name":name,"level":level})
eliflevel=='3':#返回人事部界面
returnrender(request,'hr/dept.html',{"name":name,"level":level})退出登录当员工点击退出登录了,页面发起ajax请求发送到后台调用“login_out”退出登录,并清空服务端中的session,并返回200作为退出成功标志,前端自动刷新页面,此时又会触发装饰器并检索服务器中的session,检测是否登录,以此实现退出登录效果,核心代码如下:deflogin_out(request):#退出登录,清空服务端中的session
ifrequest.method=="POST":
request.session.flush()
returnJsonResponse({"status":200})主界面如图3-4界面所示,系统主界面实现了实时数据监控,对当天客户入住情况,房间预订,散客开单,酒店营业数据展示在界面上,并在系统主界面的左边放置导航栏,包括前厅管理、人事管理。图3-4界面前厅部管理开发房间管理前厅专员可通过管理系统实时读取到当前酒店所剩余房间,同时跟新目前已经使用房间,方便前厅专员对客户的反馈,同时当顾客开房入住的时候,可在系统页面直接预订开房。如图3-5房间管理所示图3-5房间管理核心代码:defroom_list_state(request):#房间列表接口
try:
ifrequest.method=="POST":
datalist=[]
condition=request.POST.get('condition')
ifcondition=="1":
room_list=models.room.objects.filter(status="空房已清洁")
else:
room_list=models.room.objects.exclude(status="空房已清洁")
fordateinroom_list:
datalist.append({
"id":date.id,#房间id
"room_number":date.room_number,#客房编号
'category':date.category,#客房类别
'charge':date.charge,#客房收费标准
'location':date.location,#客房位置
'status':date.status,#房间状态
})
returnHttpResponse(json.dumps(datalist))
else:
returnHttpResponse(f'非法请求方式')
exceptExceptionase:
returnHttpResponse(e.args)房间预订点击预约房间后,会跳转到房间页面,前厅专员可通过系统录入顾客信息并添加到当晚入住房间列表中。同时信息录入失败或读取错误,可删除重新录入。页面展示如图3-6添加顾客页面所示图3-6添加顾客页面核心代码:@csrf_exempt#增加装饰器,作用是跳过csrf中间件的保护
defcustomer_post(request):#房间新增顾客入住
try:
ifrequest.method=="POST":
room_number=request.POST.get('room_number')
name=request.POST.get('name')
sex=request.POST.get('sex')
id_card=request.POST.get('id_card')
zz_type=request.POST.get('zz_type')
customer=models.customer(#顾客信息创建
name=name,sex=sex,id_card=id_card,
zz_type=zz_type,discount_rule_id=1,
member_level="青铜会员"
)
customer.save()#顾客信息保存
cust_id=models.customer.objects.get(id_card=id_card).id
room_id=models.room.objects.get(room_number=room_number).id
accommodation=models.accommodation(#订单生成
cust_id=cust_id,
room_id=room_id,
start_time=datetime.datetime.now()
)
accommodation.save()
room_id_s=models.room.objects.get(room_number=room_number)
room_id_s.status='住房未清洁'
room_id_s.save()
ifmodels.reservation.objects.filter(room_id=room_id).count()!=0:
reservation=models.reservation.objects.get(room_id=room_id)
reservation.end_time=datetime.datetime.now()
reservation.save()
returnJsonResponse({'status':200})
else:
returnHttpResponse(f'非法请求方式')
exceptExceptionase:
returnHttpResponse(e.args)预约接待系统开设对外开放网页提供网上预约服务,提高营业额及酒店曝光率,并在前厅页面接收预约信息,酒店将整晚预留该房间,顾客到酒店后再一并录入入住相关信息到酒店系统中,办理入住。如图3-7预订订单所示。图3-7预订订单人事部管理开发员工信息:系统页面可显示酒店所有员工基本信息,并可关注员工相关考勤以供月底工资结算。员工考勤:可直接直观看到酒店管理系统所有员工当月的大致考勤情况。
系统测试系统运行环境要求:运行环境:为满足系统运行需要,对于服务器部署的硬件设备及操作系统有一定要求,表4-1硬件要求为实现系统运行对硬件要求的最低配置,建议使用当前中等或以上计算机配置。表4-1硬件要求CPU要求在PⅢ以上内存512MB及其以上硬盘20GB及其以上光驱无要求软驱无要求显示器1024*768(效果最佳)其他计算机设备网卡等联网设备服务器要求:WindowsXP以上操作系统,装IE6.0以上版本的浏览器、IIS6.0以上版本信息管理器、MYSQL数据库。开发环境:操作环境:WindowsXP开发工具:JetBrainsPyCharm2018.3.5数据库:MySQL数据库测试目的测试的目的确保项目在正式上线之前,找出项目中出现的BUG,并排除修复BUG,从而提高项目的质量,尽可能的防止项目在正式上线之后出现重大错误,造成经济上的损失。测试方法程序测试的主要方法分为两大类,白盒测试和黑盒测试。白盒测试:也称透明盒测试或基于代码的测试,白盒指的是透明化软件项目的逻辑结构,对于其内部的运作流程都能清晰可见,并穷举逻辑路径。其工作量巨大且枯燥,但却十分重要,它可以从代码的角度去发现项目内部源码的算法、溢出、路径、和条件等方面进行排查错误,并加以修正。黑盒测试:也称功能测试,黑盒指的是将测试模块当成不能打开的黑盒子,通过穷举输入的测试方式,验证程序的输入输出结果。测试人员可以在不需要知道源码的情况下对系统的进行测试,黑盒测试更偏重与项目功能的完善。两种测试方法各有优点,在测试过程中两种方法经常交叉使用,本次测试工作中主要使用的是黑盒测试方法。功能测试本酒店管理系统主要测试功能:登录验证、页面跳转、图片信息显示,房间预约功能、顾客添加功能等进行测试。其目的在于检验功能是否实现,通过穷举输入测试检验功能接口是否能正确接收输入并返回正确的结果。从用户的角度出发测试出每个功能在正常使用的情况下是否达到用户预期的要求。如表4-2测试用例表所示。表4-2测试用例表测试编号操作预期结果实际结果1用户使用三种不同权限的账号进行登录验证登陆成功并跳转到相应权限的对应的页面测试成功,系统根据账号权限不同跳转至各自页面2点击左侧导航栏进行页面跳转页面跳转成功显示页面信息测试跳转成功3通过网页预订房间系统对外开放页面预约酒店房间并预约成功测试预约成功4酒店员工进行顾客添加(由于没有相关的读取身份证自动添加人员信息设备,在页面写了个自动生成顾客数据的小按钮,会在系统完成发布后删除)酒店房间添加录入顾客信息,并成功录入房间当晚的入住客户列表中测试添加成功5实时房态页面点击房间进行房间预约操作页面跳转到对应的房间页面并显示对应房间图片、房间基本信息,跳转成功,并显示对应房间图片和基本信息6酒店员工通过搜索框输入搜索信息查询房间(如输入:豪华)搜索“豪华”页面模糊搜索到“豪华双人间”、“豪华大床房”两种房型列表测试成功7点击顾客列表“删除”按钮,删除顾客删除成功,然后再重新录入测试删除成功8退出登录退出系统,并返回登录界面返回成功9退出登录前复制任意链接后退出,后进行访问之前复制的链接,以测试登录是否真的退出退出系统后,不得访问酒店管理系统,并直接跳转至登录界面,进行重新登录测试成功,退出登录不得继续访问管理系统任意页面
结束语本系统遵循一般软件的开发流程,即先通过网络资源等各种途径对酒店管理业务相关知识学习,同时了解到国内对酒店管理系统的软件市场还有很多空间,并拟定用户需求,对传统的酒店管理系统进行优化,确定出需要完成的系统功能,并完成系统数据库设计、功能开发。同时对系统功能进行测试。本系统开发框架使用后端采用基于Django框架结合BootStrap前端框架、javascript脚本编程、Ajax核心等先进技术,使用JetBrainsPyCharm2018.3.5开发工具进行开发,基本功能都已实现,操作简单、方便。但在性能上还潜在不足,比如Django框架的ORM虽然功能强大,但其底层依然是将编写的方法重新转为SQL进行数据库操作,这对系统的性能有所牺牲,这种缺陷在客流量大的情况下尤为明显。几个月的毕业设计时光,说长也不长,说短也不短,我遇到过不同的挫折与磨难,同时也在失败中体验到了喜悦和收获,学会了很多人生的哲理。这次的毕业论文写作以及毕业设计的设计对我在大学本科学习成果进行了校验以及升华,巩固了我大学生涯所学到的知识,同时也对人生的学习生涯做一次完美的总结。是我们实现理想,参加工作,踏入社会所必须经历的的实战,磨练,以及升华。从这个短暂而又艰辛的过程里面让我们对自己有了一个更加准确的认识,找到自我,并且对所学所用的专业知识达到更加融会贯通的理解,也为下一步的生活,下一步的工作以及下一个阶段的学习打下了一个核心而又牢固的基础。在完成本次毕业设计以及毕业论文的过程中我翻阅查看了大量文献与资料,查阅了许许多多有用的文化知识。不但拓宽了视野,更让我从中明白到自己所学尚浅,知识水平远远不足,并且完美的锻炼了我从多渠道获取知识以及材料的能力,教会了如何在庞大而又复杂的信息资源网络文献中找到对自己有用的知识与信息。由于是第一次接触独立项目的缘故,我在这个过程中也遭遇了许多问题,有时会使得设计进度停滞不前,遇到重点严重的过错甚至需要返工重造,不管过程如何艰辛,付出了多方面的努力和通过许许多的帮助我终于顺利闯过难关,如期完成了毕业设计这个艰难的任务。本人实现的酒店管理系统也还存在许多的不足,比如系统功能还不够完善,需要进行改进、系统界面还需要加强美化改观等需要进一步完善。我对于数据库设计也仍有疑问,这些问题会激励我更加努力的学习下去。相信在未来的不断学习不断钻研中,本人可以进一步完善本系统,让这个系统在真正意义上能产生市场价值,使之真正投入到酒店的管理中。总而言之,通过这次的毕业论文和毕业项目的设计,我学到了许多有用的知识,还悟出了做事情的过程中所需要的忍耐以及毅力,也学会了总结自己,提升自己,升华自己。相信我们在以后的工作,或者学习当中,能学会更多,了解更多!
致谢衷心感谢我们的指导老师卞丽情老师。感谢她在我们毕业设计期间对我们的悉心指导和教诲。在毕业设计过程中,卞老师无论在理论上还是实践中,都给了我们很大的帮助。使得我在Web程序开发等各个方面得到了很大的提升。卞老师教学态度严谨,工作态度认真负责,学术理论和实践经验丰富,对我们的专业技能的深化和教导可以说是做了最大贡献。在此,谨向老师表示崇高的敬意和衷心的感谢!谢谢老师在我们撰写论文的过程中给予我们的帮助。
参考文献[1]EricMatthes.Python编程:从入门到实践[M]译者袁国忠,人民邮电出版社于2016年7月出版[2](美)丘恩(Chun,W.J.).Python核心编程[M](第二版)2008年人民邮电出版社出版的图书[3]刘长龙,薛淑英.Python高效开发实战[M]电子工业出版社于2016-10出版[4]PythonforDataAnalysis:DataWranglingwithPandas,NumPy,andIPython2ndEdition[M]Publisher:O'ReillyMedia,ReleaseDate:October2012[5]胡阳.Django企业开发实战[M]人民邮电出版社于2019年2月出版[6]MySQL5.7ReferenceManual[7]Bradford,Ronald;Schneider,Chris.EffectiveMySQLReplicationTechniquesinDepth[M]出版年:
2012-9[8]韩兵,王照清,廖联军。基于MySql多表分页查询优化技术[J].计算机系统应用,2016,(08):[9]张晓孪.基于MySQL的小型数据库管理工具实现[J].微处理机,2015,(02):48-52.[10]徐涛.深入理解Bootstrap[M].北京:机械工业出版社,2014.[11]彭伟民.基于需求的酒店管理系统的建模与实现.微机发展,2005.10.1-6.[12]翟广宇.基于C/S结构的酒店管理系统.兰州工业高等专科学报[S],2004.6.2-4.[13]童德利,田娟,谢琪,陈世福.基于B/S模式的构件式酒店管理信息系统的设计与实现.2003.4.1-4.[14]酒店管理系统国内外研究现状[D],2018-04-1221:53
HYPERLINK电脑文件整理懒招从来都是不会经常整理文件的,不过时间一长,众多的文档分布在硬盘的各个角落,用目录进行整理保存,工作量大、查看起来也不方便且还会浪费不少的磁盘空闻;用压缩工具打包,尽管可以节约空间但是却无法直接编辑修改或查看压缩包中的文件。这些招,懒人怎么会用,他们自有妙招!再多再乱的文件也能整理得井井有条,关键是不费力哦!
懒招1,自动提取乱中取胜
小张起初将照片、Office文档、电影、音乐等文件一股脑地存放在某一个磁盘分区,刚开始文件少使用起来倒也方便,但随着时间的推移,文件数量剧增,每次找所需的文件都要瞪大眼睛,不过有了MY文档管理器(下载地址:)就不用担心了。
第一步,下载MY文档管理器,解压到任意目录,直接双击其中的可执行性文件即可使用。依次单击“节点操作→添加节点”,分别添加多个节点,如“办公文档”、“电影”等分类,这样做的目的是方便归类。
第二步,在小张的F盘中的TEST目录下有众多的RM、MP3、JPG、DOC、TXT格式的文件,现在他要把JPG格式的文件提取到“照片”类别中。依次单击“系统配置→文件过滤”选项,打开Dialog对话框,输入“*.doc”,单击“添加”按钮,意思是过滤掉所有类型为“.DOC”的文件。然后按照同样的方法,将“*.txt”、“*.rm”、“*.MP3”一一添加进来。
第三步,双击左侧窗格中的“照片”节点,然后依次单击“记录操作→导入记录树”命令,在打开的对话框中单击浏览按钮,打开“F:\test”目录,单击“确定”按钮之后就可以将格式为JPG的文件提取出来并添加到“照片”节点中了。
懒招2,不同的电脑统一的管理
小张是电爱的Fans,工作之余常常为杂志写稿,他写完的和正在处理的稿件一般都存在一个稿件文件夹里。不过时间一长,家里的电脑(PC1)和单位的电脑(PC2)上都有这个文件夹。时常需要通过移动硬盘(U盘)在两台电脑之间传递,使用和管理都很不方便。不过他现在用优盘就可以统一管理了。
第一步,将上文提到的那个MY文档管理器解压后直接拷贝到优盘上。把优盘插到PC1上,并运行软件,依次单击“记录操作→导入记录树”命令,在随后弹出的对话框中设置好“稿件”文件夹的根目录,将“导入深度”设置为“5”,单击“确定”后,稍等片刻,软件就把PC1上的“稿件”导入到MY文档管理器中。
小提示:通过这种方式导入到程序中的仅仅是文件的路径、文件名等属性信息,并不是文件本身。
第二步,把优盘插到PC2上,按照同样的方法导入PC2上的“稿件”文件。以后要编辑“稿件”里的文件,你自己根本不用记住哪台电脑的哪个路径,只要把优盘插入到电脑,运行MY文档管理器,就可以直接编辑了。
第三步,为方便在异地使用,小张决定为当前正在处理的稿件增加一个副本。在需要异地处理的稿件上右键单击,选择“复制文件到(自动添加副本)”命令,在弹出的对话框中将保存目录设置为优盘上的某个目录即可。这样,就可以在优盘上编辑PC1或PC2的稿件了。
小提示:对于PC1、PC2上的同名文件,MY文档管理器以不同的磁盘号+文件路径来标识文件记录,因此,对于不同电脑上的同名文件,甚至是路径和文件名完全相同的文件,程序也可以准确识别哪个是哪个。
懒招3多种文件批量移动
要将文件管理得井然有序,就免不了要进行复制、删除、移动等等操作,如果一个个进行操作,工作量是非常巨大的。这时我们就需要借助于BelvedereAutomated(下载地址:.com/assets/resources/2008/03/Belvedere%200.3.exe)进行批量操作了。例如我们想把“F:\test”目录中的所有照片移动到F盘中的“北京游照片”目录中,可以按以下方法进行。
第一步,建立“F:\test”目录后在“rule”一栏中,单击“+”按钮,建立一个规则。在“Descriptior”文本框中为当前规则起一个名字如“批量整理移动”。单击第一个下拉列表,在这里可以选择Name(文件名)、Extension(扩展名)、Size(大小)等进行操作,这里选择扩展名“Extension”。单击第二个下拉列表,在这里设置的是操作条件,有is(是)、isnot(不是)、contains(包含)等操作可供选择,这里选择的是“is”。接下来,在最后的文本框中输入图片文件的扩展名,示例中是“JPG”。定义的规则合起来的意思就是“扩展名是JPG”。
第二步,在“Dothefollowing”区域设置操作动作,单击第一个下拉列表进行操作动作的选择,有“Movefile(移动)、Renamefile(重命名)、Deletefile(删除)”等动作可供选择,我们要批量移动,那就选择重命名“Movefile(移动文件)”。接下来,单击后面的按钮选择“F:\北京游照片”目录。
第三步,规则设置完毕,单击“Test”按钮应用规则,程序即可一次性地将所有扩展名为“JPG”的图片文件移动到“F:\北京游照片”目录中了。
懒招4提纲挈领一点即得
在前面几大懒招的帮助下,你电脑里的文件应该已经有点类别了吧。如果从此想告别懒人的生活,那就要养成管理文件的好习惯了。
第一步,在你保存资料的电脑分区中,要接类别建立多个文件夹,可以按用途分为:学习、娱乐、暂存、工作、下载,在娱乐下又可以建立二级目录:电影、歌曲、动画等。也可以按照常见的文件性质进行分类,例如分为:图片、电影、电子书、安装文件等,当然也可以按照你的需要再建立二级目录,以后每有文件需要保存就按这个类别保存到相应的目录。
第二步,虽然现在已经把文件分门别类存放了,但时间长了,目录太深,一层一层查找也很麻烦的,在EXCEL里建一个目录就可以统一管理了。运行EXCEL后,新建一个表格,然后按照我们的分类方式隔行输入:图片、电影、电子书,在图片分类下再建立二级目录名,例如明星、汽车、壁纸等。
第三步,右键单击“图片文字”,选择“超链接”,在弹出的对话框中选择电脑里图片目录文件夹,单击“确定”后EXCEL里的“图片”文字就变成彩色。用同样的方法为一级目录的“电影、电子书”和二级目录的“明星、汽车、壁纸”等添加超链接。然后将这个EXCEL文件命名为文件目录,保存到桌面上,以后打开这个文档,直接单击相应的文字,比如单击“壁纸”,就可以切换到壁纸文件夹了。
小提示:如果要更改某个超链接,直接右键单击该文字,选择“编辑超链接”就可以了。本人的电脑分类原则简述如下。
硬盘的第一层(请在自己的件夹中右键“按组排列”查看)
第一位字母表示A生活娱乐B教学C工作D安装程序
第二位字母表示只是流水号
AA影视
AB音乐
AC阅读
AD图片
AE相册
生活娱乐
BA计算机
BB英语
BC运动
BD游戏攻略
BE衣食住行
BF文艺
教学
CA管理制度
CB流程图
CC程序文件
工作
DA娱乐
DB其它
安装程序
硬盘的第二层(进入“AA影视”的文件夹举例)
第一位字母表示只是流水号
第二位字母表示只是流水号
AA电影
BA电视剧
CAMTV
硬盘的第三级(进入“AA电影”的文件夹举例)
第一位字母表示A动作片B剧情片C动画片
第二位字母表示A未看过B已看过
AA导火线
AB尖峰时刻
动作片
BA独自等待
剧情片
CB机器猫
CB狮子王
动画片
利用“字母排序”和“按组排列查看”可以使文件查看和存放简洁明了,结合自己资料的特点和实际需求,给自己定一个分类原则并严格执行。个人电脑资料的资源会得到高效而充分的利用。电脑文件管理八条小技巧
在电脑的内部,在电脑的桌面上,在“资源管理器”中,充斥着无序与混乱,这种虚拟的混乱极大地影响了电脑的性能和我们办公的效率,当大家面临这个问题时,通常认为硬盘空间又不够了,电脑性能又不跟不上了,需要再换一台新的电脑了。事实上,我们真正需要的是坐下来,好好花时间将电脑里的文件真正管理起来,会为自己日后省下更多的时间。
文件管理的真谛在于方便保存和迅速提取,所有的文件将通过文件夹分类被很好地组织起来,放在你最能方便找到的地方。解决这个问题目前最理想的方法就是分类管理,从硬盘分区开始到每一个文件夹的建立,我们都要按照自己的工作和生活需要,分为大大小小、多个层级的文件夹,建立合理的文件保存架构。此外所有的文件、文件夹,都要规范化地命名,并放入最合适的文件夹中。这样,当我们需要什么文件时,就知道到哪里去寻找。
这种方法,对于相当数量的人来说,并不是一件轻松的事,因为他们习惯了随手存放文件和辛苦、茫无头绪地查找文件。
下面,我们将帮你制订一套分类管理的原则,并敦促您养成好的文件管理习惯。以下是我们总结出的一些基本技巧,这些技巧并
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (完整版)施工组织设计方案(教学楼)
- 桥梁墩台监理实施细则
- 2026年药店培训药品说明书和标签管理规定试题(附答案)
- 小学食堂管理员工作总结范文
- 安置房项目施工组织设计方案
- 桥梁翻新工程施工方案
- 商场弱电井火灾应急演练脚本
- 地暖工程施工方案专项方案
- 苏少版二年级美术:线描入门单元教学策略分享
- 喷涂可行性研究报告
- 2025年省级行业企业职业技能竞赛(家畜(猪)繁殖员)历年参考题库含答案详解(5套)
- 信息技术在学科中的融合
- DB44T 1444-2014 聚氯乙烯(PVC)软管
- 新建铁路南疆铁路至兰新铁路联络线项目环评报告
- 预防性试验作业指导书(变电站10kv分册)
- 英语词根总结大全
- 2025年中考数学二轮复习-专题6手拉手模型【课件】
- 2023新能源集控中心建设可行性研究报告
- 厂内物流基础知识
- 现代城市商业综合体规划设计
- 【生物】全册教案 2023-2024学年人教版八年级生物下册
评论
0/150
提交评论