计算机科学与技术-基于Django酒店(桐枫谷)数据管理系统设计与实现_第1页
计算机科学与技术-基于Django酒店(桐枫谷)数据管理系统设计与实现_第2页
计算机科学与技术-基于Django酒店(桐枫谷)数据管理系统设计与实现_第3页
计算机科学与技术-基于Django酒店(桐枫谷)数据管理系统设计与实现_第4页
计算机科学与技术-基于Django酒店(桐枫谷)数据管理系统设计与实现_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

酒店(桐枫谷)数据管理系统设计与实现摘要:网络技术的发展已经渗透到企业管理的方方面面,是个各大企业的管理工作越来越依赖互联网络,尤其是随着我国社会经济的发展,信息迅速的发展,使得企业的管理负担愈来愈重,酒店行业的管理亦是如此。酒店行业高度发展,其管理工作就变得尤为重要,高效的管理可以提高酒店的效率。但是在现在大多数的酒店管理却还停留在人工手工的去管理,这样的模式就使得员工需要大量的时间以及精力去处理顾客各种各样的需求亦或投诉。长久如此的管理制度会使得酒店面临倒闭的风险,于是卓越的系统设备提供精良的用户体验,让酒店经理、酒店顾客,前台专员等出入于酒店的相关人员体验到本系统所带来的前所未有的优质服务成为了本次系统设计的重要考题。市场上的酒店管理系统千千万万,实现系统的技术也是各种各样,本系统的采用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进行数据库操作,这对系统的性能有所牺牲,这种缺陷在客流量大的情况下尤为明显。几个月的毕业设计时光,说长也不长,说短也不短,我遇到过不同的挫折与磨难,同时也在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论