版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于C++的排队管理系统的设计与实现自21世纪以来,随着计算机信息技术的不断发展,计算机信息技术越来越广泛地被运用在数据管理应用,在其中扮演着重要的角色。在社会的经济等各方面不断发展的进程中,银行、海关等政府机构、医院等单位的服务对象数量也随之大量增长。上述单位对于高效、可靠的信息管理系统的需求日渐增长。银行大厅、税务大厅等排队管理系统,能够有效地将软件和硬件结合,减少顾客排队时间,更高效地管理业务。本文为实现排队管理系统,对系统进行了分析、设计并实现。通过对排队管理系统的发展及研究状况的调研,对银行排队现状的进行考察,本文据此进行了系统的功能需求分析与非功能需求分析;本文在设计中将系统分为取号、叫号、排号、信息统计、后台管理5个模块,分别对5个模块的实体类、数据访问类进行了设计;在分析与设计的基础上,本文采用集成开发工具,以C++应用程序编程语言,进行了系统的实现。在完成系统的设计后,本文设计了仿真测试用例,对系统进行测试。经过数次测试与问题改进,目前系统能够稳定运行,能够正确实现本文所设计的取号、叫号、数据统计以及后台管理功能。最后,本文归纳总结了在设计与实现排队管理系统过程中所习得的经验教训,并展望了排队管理系统未来的发展前景。关键词:排队管理系统C++排队叫号机制 11.1课题背景 11.1.1课题内容 11.2课题任务 2.2.1课题内容 22.2.1本人承担任务 21.3论文结构 2第二章相关技术介绍 42.1C++编程语言 42.2Qt图形用户界面应用程序开发框架 42.3本章小结 5第三章系统的需求分析 53.1系统用户角色分析 53.2系统业务需求分析 63.2.1VIP客户难以获得优质服务 73.2.2普通客户排队时间较长 73.2.3取号机预估等待时间不准确 73.3系统功能需求分析 83.4系统非功能需求分析 83.5本章小结 9第四章系统的总体设计 9 9 第五章系统主要功能模块的详细设计与实现 5.1取号模块的详细设计与实现 5.2叫号模块的详细设计与实现 5.3数据统计模块的详细设计与实现 5.4后台管理模块的详细设计与实现 5.4.1管理员登录 5.4.2管理员修改密码 5.4.3查看排队状况 5.5图形用户界面实现 5.5.1主界面的实现 5.6本章小结 第六章系统的测试 6.1系统测试方法介绍 6.2系统的功能测试 6.2.1取号与排号功能 6.2.2叫号功能 6.2.3数据统计功能 6.2.4管理员登录与修改密码功能 6.2.5查看窗口队列功能 6.2.6窗口管理功能 6.4本章小结 第七章结束语 257.1论文工作总结 7.2问题和展望 1据统计和后台管理的PC。以上软硬件通过网络22.2.1课题内容本课题的主要任务是设计并实现一个排队管理系统。由于在日常生活的实际使用场景中,排队管理系统功能的实现,需要由多种软硬件协同配合,通过网络互连来实现。本文考虑到与大学本科期间本专业所学内容的关联性,采用以软件模拟硬件功能的方式,通过软件之间的交互来实现系统的功能。基于对排队管理系统的发展及研究状况的调研,以及对银行排队现状的考察,本文对系统进行了功能需求与非功能需求的分析。根据分析结果,本文对系统进行了功能模块设计,本文在设计中将系统的功能分为取号、叫号、排号、信息统计、后台管理5个模块,分别对5个模块的实体类、数据访问类进行了设计;在分析与设计的基础上,本文采用集成开发工具,以C++应用程序编程语言,进行了系统的实现。在完成系统的设计后,本文设计了仿真测试用例,对系统进行测试。并根据测试结果处理了系统存在的问题,对系统进行了改进。改进后的系统能够稳定运行,并正确实现本文所设计的取号、叫号、数据统计以及后台管理功能。论文的组织结构分为引言、相关技术介绍、系统的需求分析、系统的总体设计、系统主要功能模块的详细设计与实现、系统测试和结束语共七个部分。具体是:第一章引言。本章通过对采用排队管理系统与否的业务大厅的排队现状进行对比,对排队管理系统的发展现状进行介绍,以简略说明课题的意义与价值。第二章相关技术介绍。本章介绍了在系统的实现中运用到的关键技术,结合系统实现的具体方法,分析并介绍了采用这些技术的原因。运用到的关键技术包括C++变成语言和Qt图形用户界面应用程序开发框架。第三章系统的需求分析。本章基于调研和考察的结果,对系统的功能需求和非功能需求进行总结和说明。本文中后续任务的推进与完成均是基于本章需求分析的结果。第四章系统的总体设计。本章介绍了为实现系统的需求设计中所得到的系统需要实现的功能,对系统进行的总体设计。总体设计包括了系统的功能设计和模块设计。第五章系统主要功能模块的详细设计与实现。本章介绍了系统各个模块的详细设计和实现,描述了系统的图形化界面,解释了系统运行的具体流程。第六章系统测试。本章展现了采用经设计后的仿真测试用例对系统进行测试结果,并对测试结果进行了分析和说明。第七章结束语。本章包含了对于系统未来发展的展望,以及在设计与实现系统的过程中遇到的问题、对问题采取的解决方法和从中学习到的经验教训。34第二章相关技术介绍C++语言发展大概可以分为三个阶段:第一阶段从80年代到1995年。这一阶段C++语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额;第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C++中占据了越来越多的比重。当然,同时由于Java、C#等语言的出现和硬件价设计语言中最复杂的一员。由于C++拥有过多特性,在实际使用时不需要对其完全掌语言面向对象是模型化的,通过类将实现程序功能的具体函数用这些函数和属性时,只需要调用类提供的接口;程序开发过程中需要关注程序的具体实现步骤。面向对象的开C++作为程序编程语言的基础上,选择使用Qt是一个1991年由QtCompany开发的跨平台C++图形用户界面应用程序开发框5Qt的良好封装机制使得Qt的模块化程度非常高,可重用性较好,对于3、丰富的APIQt包括多达250个以上的C++类。本文采用C++作为编程语言,Qt包含的丰富API可以为C++提供支持。在实际使用Qt进行开发的过程中,若存在对开发框架理解与应用存在问题,可以很便捷地从网络上查找到相关的开发文档资料。因此Qt的学习成本较低,是一种易于本章主要是对系统开发中采用的几种技术和选择这些技术的原因进行了分析和介绍。包括C++语言和Qt图形用户界面应用程序开发框架。C富API、面向对象的特性和大量的开发文档,同样为系统的可移植性和功能的实现提3.1系统用户角色分析系统的用例图如图3-1所示。6取号普通客户叫号后台管理数据统计VIP客户管理员业务员客户用户的角色需求分析如下:银行排队管理系统包括银行客户、业务员和管理员。使用排队管理系统的业务大厅中,各用户角色的交互如下:银行客户在自助取号机上选择所需要的办理的业务,等待办理业务;业务员为客户办理业务,在完成当前业务办理后通过叫号系统呼叫下一客户;管理员通过后台系统管理指定窗□的业务员开始与暂停办理业务,管理指定窗口的业务员办理的业务类型,查看指定窗口的客户排队状况,获得客户排队状况的统计数据。银行业务大厅中普遍根据服务客户类型的不同,将窗口划分为普通窗口和VIP窗口。随着金融业的快速发展,银行间的竞争日益剧烈,银行想要提升综合实力与市场竞争力,就需要通过更为优质的服务,来发展并留住更多的优质客户。近年来,各银行大多将月均或日均存款量达到一定标准的客户视为该银行的优质客户,并为其设立了VIP客户,同时通过提供VIP窗口等方法向优质客户提供特殊的、优质的和个性化的服务,为银行发展和保留优质客户,提高银行的竞争力起到了一定的作用。普通窗口和VIP窗口的1、普通窗口7普通窗口可办理非VIP客户的所有业务类型,在VIP窗口处于非空闲状态时,为了尽可能节省VIP客户的排队等待时间,普通窗口可由后台管理系统设置为能够办理VIP根据业务大厅的实际排队现状,管理员可通过后台管理系统指定各个窗口的开关,以达到动态配置业务大厅人力资源,减少客户排队时间,提升客户排队体验的同时减少VIP窗口只能办理VIP业务。VIP客户在取号机取号后,优先到VIP窗口办理业务。在VIP窗口处于非空闲时,为了尽可能见减少VIP客户的排队时间,VIP客户可到普通客户插队优先办理业务。通过对排队管理系统在银行业务大厅的应用的实际情况进行调查,本文列出了排队管理系统目前主要存在的,不利于改善用户体验、提升银行在行业中的竞争力的问题有3.2.1VIP客户难以获得优质服务银行设置VIP客户的初衷是给优质客户提供更加个性化的专属服务。在我国经济发展的过程中,能够达到银行设定的VIP客户标准的客户越来越多,随着VIP客户和业务量的迅速增加,出现了VIP客户不得不像普通客户一样在VIP窗口等待同样甚至更久的时间的现象。这样的结果导致了大量优质客户的流失,显然与设立VIP的初衷相去甚远。另外,VIP客户得不到优质服务的原因不只是由于VIP客户数量的大幅增加,也有银行无法做到VIP服务窗口数量和VIP客户数量之间匹配的原因。高峰时VIP用户和普通用户商量基本相同,此时若不为VIP客户增加更多的服务窗口,不为VIP客户提供优先于普通客户的服务,VIP客户的排队等候时间甚至会超过普通客户。因此,排队管理系统需要能够以让VIP客户插队、为VIP客户开设更多窗口等方式,来提升对VIP客户的服务质量,以期达到银行设立VIP客户的初衷,为银行留住更多的优质客户。3.2.2普通客户排队时间较长随着我国社会经济的发展,前往银行办理业务的客户数量也日渐增长。客户流量大是一个在很长的一段时间内无法改变的客观事实。要降低客户的等待时间,只有通过银行业务大厅投入更多人力成本,增设业务办理窗口,让业务大厅可以同时处理更多业务;或者提升业务员办理熟练程度,简化业务办理流程,减少单个业务的办理时间。本文中的排队管理系统将为银行业务大厅提供增设窗口的方法。客户在取号机上选择好所需办理的业务后,现有的排队管理系统为用户提供的预估8等候时间在打印的小票上包含了用户的业务单号,以及截止至取票时的等待人数和大概根据调查,当前排队管理系统大多将叫号业务设置为个人业务、对公业务、VIP业务这三种较为概括性的业务类型。由于各类型业务办理耗时的不同,且排队时可能会出现VIP插队的情况。将业务简略地分为三种类型的设置方式,会导致客户的实际等候时间和小票显示等待时间出入较大,缺乏参考价值。因此,排队管理系统需要更为合理地设置业务类型的种类,让客户在取号时能够得到更为准确的预估排队等候时间。更为准确的预估排队时间,可以让系统更为准确地根据排号原则对客户进行排号,有利于减少客户的等待时长。同时,客户根据更准确的预估排队时间,可以更为合理地安排其他事宜,都有助于提升客户的业务办理体验,提高客户的满意度;有利于提升银行在行业中的竞争力。系统的功能分析如下:1、取号功能,系统需要有一个与能够与银行客户进行交互的图形化界面。客户在取号界面中选择需要办理的业务,随后系统能够调用排号子系统将客户排入对应窗口的队2、叫号功能,系统需要能够读取当前各窗口队列信息,业务员在办理完当前客户的业务后能够经由叫号机呼叫下一客户到该窗口办理业务。3、数据统计功能,系统需要能够记录并储存各不同业务的数量,平均办理时间等有利于提高管理效率的数据,在管理员登录权限后便可查看统计数据。4、后台管理功能,系统需要能够查看各窗口的开关情况以及服务的业务类型是否为VIP,管理员在权限后可以通过系统人工地对窗口进行增删,更改服务的客户类型。系统需要能够读取当前各窗口队列信息,在管理员登录权限后可通过队列管理显式地查看当前的队列情况。同时,管理员需要能够对管理员登录密码进行修改。银行大厅排队叫号系统的非功能性需求如下:1、性能需求系统为实时性系统,应保证稳定运行,在大业务量时保证系统不发生卡顿现象。2、可靠性需求必须保证用户排号数据的准确可靠保存和叫号可靠性。当系统出现故障时,能够在较短的时间内迅速恢复系统。3、可操作性需求9界面清晰简洁,逻辑性强,银行顾客能够很快找到自己所要办理的业务类型;叫号按钮要设置在业务员最为方便操作的地方。4、可维护性。系统应具备可维护性。5、可移植性。系统应兼容多种主流操作系统,具备平台可移植性。6、适应性。系统可适用于各银行的不同网点,并可根据各网点可根据实际情况调整相关功能。本章对排队管理系统的用户角色、业务需求分析、功能需求分析以及非功能需求分析进行了介绍。系统面向的用户角色是银行客户、业务员和管理员,系统需要能够被上述群体较为便捷地使用。通过对现有业务及运行情况进行调查,我们认为各银行目前需解决的问题主要是VIP客户等待时间过久、普通客户排队过长和等待时间提示不准确等。因此,在设计中,系统应至少实现取票、叫号、数据统计和后台管理等功能,进而实现银行普通客户、VIP客户、后台数据统计和银行业务窗口管理的优化管理和排列。考虑到银行的特殊性和后续开发需求,系统还应具备良好的性能、可靠性、可操作性、可维护性、可移植性和适用性以确保系统的正常使用和维护。在系统开发之前,我们还对数据的精确性、时间特性提出了要求,为系统在投入使用后的稳定运行提供了充分的保障。第四章系统的总体设计软件的设计和开发是一个系统性的工程。本章将主要对系统的设计目标、功能模块设计等进行详细的描述和说明。实际应用中的排队管理系统都是由多种软件硬件协同配合实现,考虑到与本科阶段所学内容的关联性,本文所设计的排队管理系统中采用以软件模拟替代硬件的方法。银行排队管理系统需要达到减少客户排队时间、提升客户业务办理体验、节省业务大厅人力资源、提升银行的行业竞争力的总体目标。系统面向银行客户、业务员、管理员这三类用户角色。系统需要通过优化VIP客户对待策略、优化排号原则、优化业务类型的设置,以解决银行目前存在的VIP客户无法得到更为优质的服务、普通客户排队时间过长,预估排队等待时间提示不准确的问题。系统需要能够实现取号功能、叫号功能、数据统计功能和后台管理功能。同时,系统还应保证稳定运行、不发生卡顿,保证可靠性和便捷的可操作性。系统的功能模块划分如图4-1所示,本文将系统的功能划分为了5个模块,具体理队列状况的管理。管理员需要输入用户名和密码登录后台管客户并以图表输出显示实时队列状况增删窗口管理员更改密码管理员登录显示屏叫号语音播报叫号将用户排入队列提供预估排队时间生成用户业务单号图4-1银行排队管理系统功能模块图在排号模块将客户排入队列后,系统会根据已有的不同业据,以及用户所选择的办理业务类型,为客户提供一个预估耗时。VIP业务三种,较为粗略的分类方式导致预估等候时间通常不准确。本文将客户可办理业务细化为七种不同的类型:存款、汇款;取款、转账;理财;挂失、换卡;外币;开户、销户;对公现金。更为细化的业务类型让排队管理系统可以为客户提供更准确的预估排队时间,让客户可以更自由地安排其他事宜,改善了客户的业务办理体验。在取号模块为客户分配了业务单号后,利用该业务单号,根据一定的排号策略将客户排入队列中。由于目前的银行业务大厅存在的VIP等待时间过长,无法获得优质的个性化服务的问题,系统需要能够尽可能让VIP客户优先获得服务,提升VIP客户对银行业务办理的满意程度,为银行留住更多的优质客户。本文设计了一种可以尽可能减少VIP客户排队等待时间的排号策略。普通客户在取号时,系统会查询当前业务大厅各窗口的业务办理情况,将客户排入等待时间最短的队列中。当VIP客户在取号时,系统会优先将VIP客户排入VIP窗口的队列中,若VIP窗口此时有正在办理的业务,则系统会比较各个窗口当前业务的剩余办理时间。若其他普通窗口的剩余办理时间更短,则系统会将VIP客户插入到剩余办理时间最短的普通窗口中,待当前业务办理完成后则直接轮到VIP客户办理业务。否则,系统将VIP客户排到VIP窗口队列中。2、叫号模块叫号模块可以读取经由排号模块修改的排队队列。当窗口当前办理业务完成后,业务员通过叫号模块呼叫队列中的一下客户到该窗口办理业务。在以软件模拟硬件的设计实现方式下,本文简化了叫号模块的设计。业务员实际投入使用中的排队管理系统中所处理的事务有叫号和具体业务的办理。本文的设计中,业务员只处理叫号事务,因此将业务员叫号视为一个自动执行的动作。即当窗口当前办理业务完成后,系统读取排队队列并呼叫队列中下一个客户到该窗口办理业务。叫号的方式有语音播报和显示屏提示两种方式,呼叫客户的业务单号,提醒客户到指定窗口办理3、数据统计模块数据统计模块需要管理员在进入后台管理界面后查看。系统可以统计并计算出可以用于决策的指标,比如不同业务的平均办理时间,不同业务的办理数量及在总业务中的占比等。系统根据上述数据制成图表供管理员查看。应用此数据,银行管理者可以对网点的窗口设置做出优化,系统还可根据此数据为管理则提供决策参考建议。4、后台管理模块后台管理模块需要管理员输入密码登录账户后才可以使用。该模块的功能如下:管理员登陆。管理员可以通过后台管理模块的登陆界面登陆系统,获取系统权限。更改管理员账号信息。管理员可以在已登录系统的前提下更改登录密码,以增强系统安全性。显示实时排队信息。在后台管理界面管理员可以随时查看到该业务大厅各个窗口的实时排队情况。设置服务窗口状态。管理员在登录账号的前提下,可以设置各个服务窗口的开关状态以及服务的客户类型。提示增删服务窗口。系统可以根据网点的实时排队情况及时的给出窗口增减建议。在办理某种业务的客户等待人数较多,系统会自动给出新增临时窗口的建议。由于目前的银行业务大厅存在的VIP等待时间过长,无法获得优质的个性化服务,以及普通客户排队时间较长的问题。管理员可以根据系统提供的实时排队信息,根据自身的业务经验对当前业务大厅的排队状况进行判断,选择是否手动增加窗口,或将普通窗口改为VIP窗口,以减少客户的等待时长并为VIP客户提供更加优质的服务。同时,当业务大厅中排队人数较少而开启过多窗口,管理员也可以通过后台管理模块手动关闭窗口,以达到人力资源的使用和业务规模的匹配。做到既不枉耗人力,又能够在业务高峰到来时迅速投入资源,提高工作效率和银行顾客的满意度。本章主要就系统总体设计进行了描述,对系统的设计目标、功能模块设计等进行了详细的说明,为系统的详细设计与实现提供了模块化和程序化的基础及依据。本章将通过对系统各个模块的程序设计和系统实现过程进行描述,对系统整体的设计与实现进行详细的说明。取号模块的主要工作流程总结如下:1、由系统自动生成或程序操作者通过点击图形界面的排号机和业务按钮手动生成2、系统根据排号策略将客户置入队列中。3、系统根据客户的生成方式选择是否打印排号单。在采用软件模拟硬件系统的排队管理系统中,模拟客户的来源分为两种:一种是由系统持续随机生成,另一种是由程序操作者手动生成,具体如下:自动生成的模拟客户由一个单独运行的线程,根据程序设计的随机时间间隔范围持中的当前时间来设定随机的业务类型和客户类型。然后业务数据分配对象m_cen调用程序操作者点击模拟取号机,进入模拟取号界面并选择办理的业务类型。在操作者按下选择业务类型的按钮时,取号管理对象dlg调用函数onClickBus(),获取业务类型初始值nType和客户类型bIsVIP,紧接着onClickBus(函数调用函数onCreateBus(),在参数传递中将nType通过强制类型转化为枚举中对应的业务类型type。此时业务数据分配类m_busCen接收到信号,并用信号槽函数onAddBus(),在信号槽函数中,调用函数CreateBus)函数所需要的参数type和isVip由取号管理对象dlg的函数onClickBus()提供。另一个参数bShowTicket表示是否需要打印排号单。由系统自动生成客户的过程中,参数bShowTicket被设置为false,而手动取号的客户生成过程中,参数bShowTicket被设置为true。CreateBus()函数会定义一个新的业务对象bus,业务对象的客户类型为VIP则查询VIP窗口等待时间,然后查询普通窗口的等待时间,否则直接查询普通窗口等待时间。依据设计中所提到的排号策略,将业务对象bus插入到指定窗口的队列m_bus的最前端或加入到队列的末尾。上述过程已经实现了客户的取号和对客户排号的功能,此时若业务对象bus的参数bShowTicket为true,即是由手动生成的对象,则通过弹出窗口显示由取号机生成的排号叫号模块的主要工作流程总结如下:1、系统检测各窗口的开关状态。2、所有开启的窗口检测自己队列的状况,并在根据实际情况显示屏上输出空闲信号、办理中及剩余办理时间、或者呼叫客户办理业务。在采用软件模拟硬件系统的排队管理系统中,业务员的叫号操作已经被自动化。叫号模块的实现主要在于窗口及其显示屏的图形化。在线程中,数据分配对象m_cen循环调用update()函数,对窗口的显示信息是否需要更新做检测。update()函数遍历所有窗口,若窗口是开启的,则业务窗口对象列表中,该窗口对应的元素m_qlCounter[i]调用update()函数,根据该窗口的队列的一个元素m_bus[0]和队列的元素数量m_bus.count()来判断窗口当前办理业务的状况,并对队列m_bus进行更改,然后使用QString对象qsBus输出窗口的显示屏对应的信息。当队列为空时,显示屏输出“空闲中”。若队首业务尚未开始办理,则窗口开始办理业务,队首窗口队列对象m_bus[0]调用函数StartBusinese(),记录下业务开始办理时间,并修改自己的状态m_state为DOING,即正在办理中。若队首业务已经完成办理,则呼叫下一客户到窗口办理,队首窗口队列对象m_bus[0]调用函数EndBusinese()将自己的状态改为END,即完成办理,然后系统将m_bus[0]出队,根据队列中是否还有元素选择输出“空闲中”或“呼叫x号办理业务”,其中x指代客户的业务单号。若队首业务正在办理中,则输出“x正在把办理s,剩余ds”其中x指代客户的业务单号,s指代业务类型,d指代完成业务办理还需要的时间。数据统计模块的主要工作流程如下:1、系统统计并存储不同业务类型的数量和平均办理时长的数据。2、管理员登录后台管理界面。3、系统在后台管理界面中展示图表。中的映射关系以饼图的方式输出。后台管理模块中实现了较多系统的功能,具体是:管理员的登录和修改密码,查看窗口排队状况以及增删窗口和更改窗口服务客户类型,。本文将分别对上述功能的详细设计和实现进行介绍。本功能的主要工作流程如下:1、管理员输入用户名和密码。2、系统验证用户名与密码。3、管理员成功登入后台管理系统或登录失败。当程序操作员点击进入后台按钮时,密码管理对象dlg调用其构造函数BankPWDlg),根据该函数中的处理,当操作员按下登录按钮时,dlg接收办信号并调用onClickLoginO函数。在该函数中,系统会读取操作员输入的内容并将其分别储存到用户名qsUser和密码qsPW两个QString对象中。然后系统调用GetUserAccount(函数,读取配置文件当中储存好的正确的用户名和密码,并将其与qsUser和qsPW分别对比,完全匹配时则管理员登录成功,可以进行后台管理操作。否则管理员登录失败,需要重新输入用户名和密码、本功能的主要流程如下:1、管理员输入新的密码。2、新密码经系统判断符合要求后修改成功,否则修改失败。当程序操作员点击修改密码按钮时,后台管理对象调用onClickChgPWO函数,读取输入的密码,若新密码长度不少于6位,则系统修改文件,清空输入框中已输入的新密码,修改密码成功。否则修改密码失败,同时系统提示新密码不少于6位。5.4.3查看排队状况本功能的主要流程如下:1、系统持续检测窗口队列的变化情况。2、管理员登入后,可以选择自己想要查看的窗口。3、系统获得管理员选择的窗口号,输出窗口信息和窗口的队列情况。线程中后台管理对象m_admin会持续调用update()函数来检测窗口队列的元素数量,当数量发生改变时,就需要显示更新后的队列。当管理员进入后台管理界面后,OnShowCounter(函数就会被调用,在该函数中,窗□队列对象m_bus调用函数GetBankCounter()获得指向窗口对象中,该窗口所在的元素counter。然后调用GetBusList(函数,获取窗口的队列信息。若管理员通过下拉菜单选择了另一个想要查看的窗□,则后台管理对象m_admin接收信号并调用onChgCouterIndex(函数,对当前窗□nIndex进行修改,随后调用OnShowCounter()函数并执行后续步骤。窗口指针counter调用IsOpen()函数和IsVipO函数来获取当前所查看窗□的开关状态和服务客户类型。然后系统将窗口的队列信息循环输出。本功能的主要流程如下:1、管理员登入后,可以选择自己想要更改的窗口。2、管理员通过勾选框来更改窗口开关状态或窗口服务客户类型当管理员通过勾选框发出了改变窗口开关状态或改变窗口服务客户类型(是否VIP)的信号时,后台管理对象收到信号并调用onOpenChg(或onVIPChg(函数。若管理员通过下拉菜单选择了另一个想要修改的窗□,则后台管理对象接收信号并调用函数onChgCouterIndex(),对当前窗□nIndex进行修改,随后调用onOpenChg)或onVIPChg(在这两个函数中。窗口队列对象m_bus调用函数GetBankCounter()获得指向窗口对象中,该窗口所在的元素。窗口调用函数SetOpen(或SetVipO来更改窗口,函数的所需的参数由函数Qt:checked)检查勾选框的情况来提供。系统的图形用户界面采用Qt编写。总体上分为主窗□mainwindow、取号界面bankticketdevdlg、登录界面bankpwdlg和后台管理界面bankadmindlg四个部分。各界面的实现具体如下:如图5-1所示,主界面包含了服务大厅和功能区两个子界面。关闭中关闭中VIP窗口5空闲中功能区空闲中在服务大厅中,每个窗口图像以及图像上的文字组成一个业务窗口。业务窗口的第一行文字表示窗口状态显示屏,展示窗口的开关状态与服务客户的类型。第二行文字表示叫号显示屏,展示窗口的队列状况以及叫号信息。功能区中有两个按钮,“取号机”按钮和“进入后台”按钮,点击可分别进入取号界在主界面点击“取号机”按钮即可进入如图5-2所示的取号界面。取号机取号机开户?在主界面点击“进入后台”按钮,即可进入如图5-3所示的登录界面在登录界面中,管理员通过输入正确的用户名和密码,并点击“登录”按钮,进入后台管理界面。若输入用户名、密码错误或用户名不存在,系统会提示登录失败,管理员可重新输入用户名和密码尝试登录,或点击“取消”按钮退出登录界面。管理员在登录界面输入正确的用户名和密码并登录后,可进入如图5-4所示的后台管理界面后台管理后台管理业务数量分布窗口管理换卡5秒转账8秒排队号业务VIP2外币秒平均等待时长修改密码在后台管理界面中,管理员可以查看数据统计报表,以及每个窗口的当前队列情况。可以修改登录密码。可以手动增删窗口,以及改变窗口服务的客户类型。后台管理界面中的统计报表采用饼图展示了不同业务的数量和平均耗时。窗口队列查看中,列出了队列中每一个客户的排队号、业务类型以及客户类型是否为VIP。队列队首的客户是当前正在办理业务或正准备开始办理业务的客户,从第二个客户开始为等待办理业务的客户。这些数据报表和队列状况的可以协助管理员更为高效地管理银行业管理员向后台管理界面右上角的修改密码文本框中输入新密码,按下“确认”按钮后,即可更改密码。系统会根据密码的位数来判定修改密码是否成功。新密码应至少有6位。管理员通过勾选或取消勾选“开启”、“VIP”这两个勾选框,可以手动增删窗口或改变窗口的服务客户类型是否为VIP。本章主要对系统各功能模块的详细设计和实现进行了说明。通过对系统各功能模块的流程和实际操作界面等进行描述,详细地解释了系统的整体实现思想及过程。随着各相关功能模块的构建和完善,系统已完成了软件上的实现。第六章系统的测试果如图6-1所示。启动排队管理系统后,程序操作员未点击任何按钮,此时普通窗□1显示1000正在办理汇款,说明系统可以自动生成客户。普通窗口11000正在办理汇款,剩余9s取号机关闭中关闭中VIP窗口5空闲中普通窗口2空闲中点击取号机,进入图6-2所示的取号界面,选择第一项业务存款,系统用弹出窗口□□取号机开户?图6-2排队管理系统取号界面一一□取号成功×排号:1008窗口:2图6-3排队管理系统模拟排号单一段时间后2号窗口的业务办理完毕,同时如图6-4所示,该窗口的显示屏上出现“呼叫1008办理业务”的字样。客户1008所到的办理窗口和业务与排号单上显示的相普通窗口11006正在办理转账,剩余3s关闭中关闭中普通窗口2VIP窗口5以上的测试也说明了系统可以正确实现对普通用户的排号,本文接下来将对VIP客户的优先排号策略进行测试。为了更好的测试效果,提高程序中的VIP率并减少自动生成客户的间隔时间,测试结果如图6.5所示。排队号为1042和1040的VIP客户排在了排队号为1022、1025、1033的普通客户之前,处在整个队列的队首之后,即正在等待当前办理业务的客户完成办理,表明在VIP窗口非空闲状态下,若存在普通窗口的当前业务办理剩余时间小于VIP窗口,则系统会将VIP分配到业务办理剩余时间最小的普通窗口。窗口管理1开启123456排队号业务外币否转账是取款是汇款否理财否汇款否掐上不以上测试表明系统可以正确实现取号与排号功能6.2.2叫号功能如图6.4所示,本文在对系统的取号与排号功能的测试中观察到,业务窗□上的显示屏可以正确现实其开关状态与服务客户类型,可以正确显示窗口的当前业务办理状况:即当窗口队列中无人时显示窗口空闲;当窗口队列的队首客户正在办理业务时,显示当前办理业务的客户排队号以及剩余时间;当窗口队列的队首客户完成办理后,若窗口队列不为空,则呼叫下一客户到当前窗口办理业务。测试表明系统可以正确实现叫号功能。6.2.3数据统计功能如图6-6所示,在进入后台管理界面后,管理员可以通过系统生成的图表查看各种业务的占比和平均办理耗时。测试表明系统可以正确实现数据统计功能。转账9秒挂失10秒取款12人开户12人转账16人换卡12人挂失9人销户4秒开户5秒理财16人销户12人6.2.4管理员登录与修改密码功能点击进入后台按钮,在如图6-7所示的登录界面中输入正确的用户名和密码,点击“登录”按钮,则可以成功进入后台管理界面。请登录?×账号信息图6-7管理员登录界面在管理员界面右上角修改密码的文本编辑框中输入新密码,如图6-8和图6-9所示,当输入的密码不小于6位时,可以成功修改密码。再次登录后台管理系统时需要输入修改后的新密码。图6-8修改密码失败成功×i人1图6-9修改密码成功以上测试表明系统可以正确实现管理员登录与修改密码功能。如图6-5所示,本文在对系统的取号与排号功能的测试中已经使用到了查看窗口队测试表明系统可以正确实现查看窗口队列功能。6.2.6窗口管理功能排队管理大厅的窗口初始开关设置与服务客户类型设置如图6-10所示。普通窗口1普通窗口2关闭中关闭中VIP窗口5空闲中空闲中空闲中功能区进入后台管理用输入用户名和密码登陆后台管理系统,对窗口进行如下更改:关闭窗□1,开启窗□3,开启窗□3并将其设置为VIP窗口。设置的具体操作如图6-11所示。窗口管理窗口管理窗口管理经改动后的窗口设置如图6-12所示,改动后结果与图6.12中对窗口设置的改动相测试表明系统可以正确实现窗口管理功能。呼叫1003办理业务VIP窗口5空闲中通过模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。程序中自动生成客户的间隔时间函数为QTime::currentTime().addSecs(1+rand(%3),将其记为t=1+x(0≤x<a)对该函数进行改动,取不同的间隔时间,以测试系统的负载能经测试,系统在a取5、3、1时均能长时间正常运行,而在取t=1时,在运行一段不确定的时间后会出现卡顿、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年卫星城创业补贴申领指南
- 《黑白照片制作》课件
- 2026年智能水杯饮水提醒功能测评
- 电线电缆交联工岗位环保责任制能力考核试卷含答案
- 综合复习与测试教学设计初中英语牛津上海版2008七年级第一学期-牛津上海版试用本
- 林政学测试题及参考答案
- 高中语文 第一单元 五 不义而富且贵 于我如浮云教案3 新人教版选修《先秦诸子选读》
- 选修38电容器与电容教案
- 数学苏教版2.1.1函数的概念和图象教案
- 选择育种考题及全面答案解析
- 2026年中职电力技术(配电运维)试题及答案
- 2026年聚甲醛行业创新分析报告
- 新版2026苏教版四年级科学上册全册教案教学设计合集
- 银川市永宁县2025-2026学年数学四下期末考试模拟试题(含解析)
- 2026山东发展集团招聘138人笔试参考题库及答案详解
- 中国重症康复指南(2024年版)
- 专业技术人员年度考核表
- 2024压力容器检验员实际操作考试规程
- 南充市医疗保险特殊门诊申请表
- 和甘伯伯去游河绘本阅读
- 装饰公司绩效考核岗位职责
评论
0/150
提交评论