系统功能主要分为两方面为管理端和用户端。管理端包括会员管理、球桌管理、玩家充值记录查看、营业收入记录,用户端包括开始游戏、结束游戏、充值、充值记录查看、消费记录查看。系统设计阶段是软件开发的重要环节,在设计阶段采用了数据流图、流程图和数据分析实体关系通等技术和工具完成了系统设计,最后对台球收费系统进行编码实现。前台选用HTML、CSS等编程语言,基于BootStrap框架开发,后台基于Java编程语言开发,选用SpringMVC框架。而后开展了单元测试、集成测试和系统测试,经过测试验证,系统达到了建设目标。
资源链接
论文链接
系统链接
1.绪论
1.1 课题背景
传统台球作为一项室内运动深受广大爱好者喜爱。由于其规则简单、球场对环境要求较低,在我国普及程度较高,无论在都市的大街小巷,还是在乡镇,随处可见台球室,从高端场地到街边小摊,都有台球案的踪影,台球深受广大人群的喜爱,尤其是广大青年的喜爱。2021年12月6日,中国小将赵心童在世界斯诺克英国锦标赛中获得冠军,极大提升了我国台球在国际上的水平。台球从运动规则和方式上分类,有斯诺克、8号、轮换台球等种类,我国著名的斯诺克运动员有丁俊晖、潘晓婷、赵心童等,正是有了他们,才使得中国在国际斯诺克比赛中屡屡获得大奖。
虽然台球运动在我国有广泛的群众基础,但是其运营水平有待进一步提升,借助信息化手段提升台球室的建设,可以提升台球运动的普及和高质量发展。建设一个台球收费系统,从理论上讲,可以在理论上增加一种台球收费的技术和方法;从实践上来讲,可以有效提升台球管的收费管理水平,提升台球馆的运营效率。因此,建设一套台球收费管理系统,一方面可以给运营方带来好处,提升台球室的运行和管理水平,使得台球室的管理和规范程度上升一个台阶,提升台球馆的服务能力;另一方面,从台球爱好者的角度来讲,可以有效提升他们的台球体验,提升他们的满意度和游戏舒适度,从而可以让他们更加热爱台球运动,有助于他们维持健康的身体和运动的习惯;此外,对国家和社会来说,有助于落实国家“健康中国”施政理念,促进社会体育文化发展事业,促进社会和谐[1][2][3]。
1.2 国内外文献综述
关于台球的起源众说纷纭,但是相对来说被大家接受的一种说法是台球起源于英国。在1836年,世界上第一张台球桌设置在英国伦敦,此后的一百多年流传到世界各地,英国还有世界上第一个成立的台球协会。其他关于台球起源的说法有来自中国、法国等国家[4][5][6]。
在知网、百度学术、谷歌学术、CCF等相关的学术网站和专业计算机学术网站上面搜索“台球”、“收费”等关键字,几乎没有相关文献,可能的原因有一是台球的计费和多数系统的计费一样,其作为专门的课题进行研究的必要性不大,二是确实在台球的计费中存在一定的学术空白。但是,虽然和台球计费、台球收费的相关文献不多,但是有关计费的文献和资料较多,而台球计费虽然有台球自身的一些特点,但是基本上可以适用其他的计费和收费系统,只需要简单的技术迁移即可完成系统改造或者系统移植[7][8]。
国外有关收费的系统比较多,流行的电商网站比如亚马逊、Ebay等平台都有收费功能,这些系统的收费功能,基本逻辑是用户浏览对应商品,然后下单商品,然后用户线上支付,支付完成后就完成了购买行为。国外还有很多网站有预收费功能,这和台球的经营模式比较契合,会员可以预先支付一定的费用,会员可以提前充值,然后每次来消费的时候可以从自己已经充值的费用去核减。
国内和台球相关的收费系统在学术上较少。但是通过走访和调查,目前很多台球室都有自己的收费功能,最简单的收费仍然停留在手工阶段,还有一些小台球室采用Excel记账的方式,虽然可以完成台球记账和收费功能,但是容易出错,不方便操作。当然,有一些台球室已经引入了信息化收费手段,其基本流程为用户先注册为系统会员,然后进行会员充值,在充值的时候一般会享受一定的优惠,充值完成之后,用户就可以以会员的身份登录系统占用台球桌开始娱乐和运动。
在应用和引入了台球计费系统的台球室,其基本功能包括会员管理、收费管理、扣费管理、消费记录查看等功能,系统一般分为管理员和会员角色,管理员可以通过平台管理系统,会员一般是指台球玩家,他们可以登录系统查看自己的充值、消费记录,可以选择台球球桌进行游戏,此外,一些台球室还可以根据玩家的游戏和消费给玩家积累一定的积分,最终根据积分给玩家赠送某些礼品,或者赠送一些代金券之类的消费券,以提升玩家的满意度和用户粘性,提升台球馆的运行水平。
总之,无论是国内还是国外,和台球相关的收费系统的学术研究较少,但是在实践中,台球室也大量应用了收费系统,以提升台球运动的运行效率。
2.相关技术和工具
2.1 前端技术
HTML和CSS是前端开发最常用的技术,HTML主要用来生成静态界面,也可以称之为界面模板,CSS则主要用来定义和规定界面的样式,也就是界面上各个部分的展现形式。在前端开发中,一般使用HTML和CSS来基本上确定界面的风格和形式,而使用JavaScript来生成交互设计和交互的体验,比如校验用户的输入,此外还可以使用JavaScript来调用后端服务,从而获取数据进行前端页面的渲染。HTML和CSS由于其使用简单,容易上手学习,而且被浏览器厂商支持,因此是前端开发中的基础知识和必备工具。任何其他前端框架和其他形式的技术也都以HTML和CSS为技术底座。
HTML当前主要有两个版本,一个是传统版本,一般称之为4,还有最新的HTML5版本,这个版本几乎被所有主流厂商接受,而已也适应于移动端开发,甚至在微信等其他技术体系内,仍然是采用基于HTML思想的WXML技术。HTML和CSS中的重要内容是盒模型,盒模型就是任何界面元素都是由一个盒子状的形式界面组成,这个界面一般是层层包裹,外层是外部留白称之为margin,然后是边界叫border,然后是内部留白为padding,最后是元素本身。基于这一基本思想,HTML又定义了很多常用的组件,包括按钮、表单、单选多选等基础组件,CSS则定义了这些基础组件的形式,比如排列形式、背景颜色、字体等,它们共同构成了丰富的前端界面,是一切前端的基础技术。
2.2 SpringMVC
台球收费系统可以基于经典模式MVC来实现,MVC是指视图、模型和控制三个层面的元素来组成系统框架,其主要思想是解耦,通过降低耦合度的方式来提升系统的灵活性和设计的分离性,从而可以达到这样几个目标,一是可以适应界面的动态变化,这样可以满足商业场景,因为现实世界总是不断在变化的,只有通过不断优化和美化的界面来引导和吸引用户,才容易获得商业上的成功,而前端视图的变化如果和后端的实现解耦就可以加速前端的变化速度,提升企业应变能力,提升竞争力;二是可以加强分工协作,现代企业的系统变得越来越复杂和零碎,虽然可以通过整体规划的思想使得系统在某些方面表示相对整体化一,但是由于系统复杂性的提升,一个项目还是需要很多人力的参与才能完成,小的项目需要4-8人,中等项目需要数十到上百人人,而大型项目则需要上百人乃至上千人才能完成,因此必须通过分工协作的方式来开发和运营系统,而MVC可以通过定义接口的方式使得前后端的分工明确,在定义好前后端接口规范和参数之后就可以使得前后端同时开工,并行开发,从而提升开发效率,缩短项目上线周期;第三,还可以通过控制层来控制前后端之间的斜街,而这种前后端的衔接也可能是会变动的,如果后台采用组件化的方式,就可以在控制层经过重新调整组件次序和重新组合组件而构建新的组件,这样可以加速前后端协作,提升产品适应性。
3. 需求分析
3.1 可行性分析
3.1.1 经济可行性
台球收费平台经济可行。从建设成本来分析,系统的投入主要包括软硬件的投入,软件主要基于免费开源软件,比如MySQL、Spring、Bootstrap、微信开发工具、Jquery等,这些软件的资金投入为0。硬件的投入是目前本人已经购买的笔记本,成本在人民币8000元左右,但也是本人之前就购买的笔记本,算是沉没成本,可以不列入本次设计的成本。其他人工投入主要是投入的工时,本文按照人·日来计算,作为毕业设计,其工作量可以在有效时间内完成,无需支付任何成本。因此,系统从经济上来讲是可行的。
3.1.2 技术可行性
可行性分析既要分析经济层面是否可行,也需要考虑技术是否可以达到并且当前具备技术储备和对应人才。技术可行性是指基于当前技术发展水平和建设者拥有的技术准备来进行开发系统的可行性。本系统的建设目标是基于Java的台球收费管理系统,其中前端使用Bootstrap框架完成开发,后台使用SpringMVC框架完成。前端使用Bootstrap框架开发,Bootstrap提供了很多可以复用的组件,包括前端列表的展示、前端的表单、按钮和分页等框架,这些框架可以完全满足本系统的开发要求。后端系统拟选用成熟的Spring体系开发,并基于Java语言开发。整个框架选用SpringBoot和SpringMVC进行开发,SpringMVC提供了基于MVC架构的Java语言实现版本,可以完成前后端分离,降低耦合度,可以灵活支撑应用系统开发。因此,后端技术也具有可行性。总之,台球收费系统从技术上讲是可行的。
3.2 功能分析
3.2.1 管理端分析
(1)会员管理(用户管理)
会员管理包括对注册会员的激活和删除功能。
(2)球桌管理
球桌管理包括添加球桌、删除球桌和编辑球桌等功能。
(3)玩家充值记录查看
玩家充值记录查看是台球室系统管理员的功能,可以查看所有玩家的充值记录。
(4)营业收入查看
台球室管理员可以查看所有玩家的消费记录,也就是台球室的营业收入记录。
3.2.2 用户端分析
(1)开始游戏
玩家可以选择空闲的台球桌,然后开始游戏,开始之后系统就开始计时,这时候玩家就可以到对应台球桌进行游戏。
(2)结束游戏
玩家如果启动某一个台球桌开始游戏,当他不再玩的时候,需要到结束游戏的界面结束游戏,系统会自动完成结算计费。
(3)充值
玩家如果预存费用不足,就需要在充值界面完成充值,从而增加自己的预存费用,供下一次玩台球的费用进行抵扣。
(4)充值记录查询
玩家可以查看自己的充值记录。
(5)消费记录查询
玩家可以查看自己的消费记录。
3.3 非功能需求分析
台球计费的非功能分析是指非功能性方面的需求,包括安全需求、并发性要求、响应时间,可维护性以及可扩充性等。并发性是指同时可以支持的用户数量,系统的并发要求可以同时支持20个玩家同时在线操作。响应时长的要求是指对于事务的响应时间要去。对于查询类事务要求1秒钟完成,对于交易类事务要求在2秒内完成。可维护性是指对系统的维护,包括对于数据库的维护,系统bug的修改便捷性,系统出问题之后的定位容易程度等,这些要求系统有良好的异常管理机制和良好的设计,可以提升软件复用程度,也可以在发生异常之后及时恢复,系统要求在出现异常之后可以在30分钟以内恢复。系统的可扩充性是新增加的功能的容易程度,如果系统设计优雅,就可以通过简单的方式扩展系统功能,衡量的最高标准是通过配置的方式就可以实现新的功能,而无需进行代码修改,衡量的标准是有10%以上的新增功能可以通过配置实现。
4. 系统设计
4.1 总体设计
4.2 流程管理
台球收费系统的总流程包括的的基本流程有桌球创建和玩家游戏两个核心流程,其中桌球创建流程是管理员在系统中录入一个台球桌的过程。
游戏的流程是系统的核心流程,游戏的流程包括选择球桌、开始游戏、结束游戏,结束游戏之后根据球桌的计费方式进行计费并扣除用户余额。
4.3 概念设计
4.3.1 E-R图
用户实体
球桌实体
用户余额
用户充值记录
用户消费记录
4.3.2 全局E-R图
4.4 数据流图
用户数据流图
管理员数据流图
4.5 数据库设计
桌球表
字段名 | 数据类型 | 长度 | 主键否 | 功能描述 |
---|---|---|---|---|
id | int | 11 | 是 | 球桌编号 |
Billiardsname | varchar | 255 | 否 | 球桌名称 |
Feetype | varchar | 255 | 否 | 计费方式 |
Fee | Int | 255 | 否 | 费用 |
充值表
字段名 | 数据类型 | 长度 | 主键否 | 功能描述 |
---|---|---|---|---|
id | int | 11 | 是 | 充值ID |
Userid | varchar | 255 | 否 | 用户编号 |
Chargetime | varchar | 255 | 否 | 充值时间 |
Money | varchar | 255 | 否 | 充值金额 |
用户信息表
字段名 | 数据类型 | 长度 | 主键否 | 功能描述 |
---|---|---|---|---|
id | int | 11 | 是 | 用户ID |
uname | varchar | 255 | 否 | 用户名 |
upass | varchar | 255 | 否 | 用户密码 |
tname | varchar | 255 | 否 | 用户姓名 |
sex | varchar | 255 | 否 | 用户性别 |
age | varchar | 255 | 否 | 年龄 |
idcard | varchar | 255 | 否 | 身份证号 |
utype | varchar | 255 | 否 | 用户类型 |
用户余额表
字段名 | 数据类型 | 长度 | 主键否 | 功能描述 |
---|---|---|---|---|
Userid | int | 11 | 是 | 用户ID |
Money | varchar | 255 | 否 | 用户余额 |
Score | varchar | 255 | 否 | 用户积分 |
消费表
字段名 | 数据类型 | 长度 | 主键否 | 功能描述 |
---|---|---|---|---|
Userid | int | 11 | 是 | 用户ID |
Billiardsid | Int | 11 | 是 | 球桌ID |
Begintime | Datetime | 是 | 消费开始时间 | |
Endtime | Datetime | 否 | 消费结束时间 | |
Fee | Int | 11 | 否 | 消费额度 |
5.系统实现
5.1 管理员模块
5.1.1 球桌管理
新增球桌
删除球桌
5.1.2 用户管理
台球收费系统的管理员可以删除用户,如果发现某些用户存在异常行为可以注销用户。。
5.1.3 充值记录查看
台球管理系统的管理员可以查看用户的充值记录。
5.1.4 营业信息查看
5.2 用户端
5.2.1 用户注册
5.2.2 充值管理
5.2.3 开始游戏
5.2.4 结束游戏
5.2.5 查看充值记录
5.2.6 消费记录查看
6 系统测试
管理员测试用例
功能 | 测试具体步骤 | 相应结果 | 备注 |
---|---|---|---|
管理员登录 | 首先在界面上点击登陆。然后输入管理员用户名、密码。点击提交。 | 提交后进入后台管理系统界面。登陆功能正常。 | |
管理员密码修改 | 可以修改密码 | 修改后可以使用新密码登录 | |
球桌管理 | 1、测试增加球桌管理。2、测试删除球桌管理 | 增加和删除球桌正常 | 用户界面正常显示 |
查看充值记录 | 1、查看所有人充值记录2、查看指定人充值记录3、可以正常翻页 | 查看所有人、指定人的充值记录正常;翻页正常 | 用户界面正常显示 |
查看经营记录 | 1、查看所有人的消费记录2、查看指定个人的消费记录3、可以正常翻页 | 查看所有人、指定人消费记录正常,翻页正常 | |
用户管理 | 可以注销用户 | 注销后的用户无法登录系统 |
用户测试用例
功能 | 测试具体步骤 | 相应结果 | 备注 |
---|---|---|---|
用户注册 | 填写用户名、密码,点击注册 | 完成注册 | |
开始游戏 | 选择空闲球桌 | ||
开始游戏 | 可以正常开始游戏 | ||
结束游戏 | 选择已经开始游戏的球桌,点击结束游戏 | 1、结束游戏之后,球桌释放;2、计费正确;3、扣费正确;4、余额扣减;5、查询消费记录正常 | 用户界面正常显示 |
查看充值记录 | 可以查看充值记录 | 可查询充值记录 | |
查看消费记录 | 可以查看消费记录 | 可查询消费记录 |
总结
台球在我国有很广泛的群众基础,开发建设一套台球收费系统对台球经营者、台球爱好者乃至社会都有重要意义。本文通过深入调研相关方的诉求,收集了关于本平台建设的第一手资料。根据原始资料梳理和分析,采用对比法、访谈法、经验法、鱼骨头、脑图等技术和手段,最终形成本文的需求开发说明。系统功能主要分为两方面为管理端和用户端。管理端包括会员管理、球桌管理、玩家充值记录查看、营业收入记录,用户端包括开始游戏、结束游戏、充值、充值记录查看、消费记录查看。系统设计阶段是软件开发的重要环节,在设计阶段采用了数据流图、流程图和数据分析实体关系通等技术和工具完成了系统设计,最后对台球收费系统进行编码实现并开展了单元测试、集成测试和系统测试,经过测试验证,系统达到了建设目标。
在开发过程中,我遇到了很多问题,代码的调试工作对我来说,刚开始的时候确实是一个头疼的问题,在遇到问题的时候,请教老师、讨教同学、翻阅优秀代码、不断实践,最终才完成了系统开发工作。这一过程让我的理论所学知识能在实践中得以应用和升华,让我开始热爱的我的专业,为以后的工作奠定了基础。
致谢
略
参考文献
略