基于微信小程序的图书馆选座系统学生端功能设计

2021-08-09 03:23刘嘉峰孙思齐韩宁
电子技术与软件工程 2021年11期
关键词:座位可视化界面

刘嘉峰 孙思齐 韩宁

(1.沈阳工业大学 辽宁省沈阳市 110870 2.沈阳民航东北凯亚有限公司 辽宁省大连市 116000)

在当今互联网飞速发展的时代,微信小程序的发展也在日趋成熟,针对一系列类别的选座系统也在蓬勃发展,图书馆自助选座系统是一个软件平台,目的是为了合理的处理由于诸如座位占用等现象而导致的图书馆座位资源浪费等问题。在座位资源问题得不到更好解决的问题上,微信小程序这一出现在用户视野中的高使用率软件展现了其舒适、流畅的交互界面和运行效率,有效地提高图书馆自习室座位资源的使用率[1]。

1 系统分析及功能设计

1.1 运行环境分析

后台开发编程中使用 Java 语言中的 Spring boot 框架来实现主要的系统搭建,而系统所需的数据的存储和更新通过 MySQL 数据库进行;前端则使用微信开发者工具,通过在带的调试界面进行系统调整与测试。由此可得出,在技术方面该系统的设计是可行的,其为系统的开发提供了有利资源,同时保证了技术可行的稳定性,大量排除了系统开发的技术困难。

1.2 学生端功能设计

1.2.1 选座

系统中展示了所有可利用的自习室座位资源的当前使用情况,学生根据需要进行一下选择:

“自主选座”即根据当前座位使用的情况及进行自主选座;

“随机选座”即系统对所有空置的座位进行随机滚动选择,为学生节约时间,若不满意,可取消选择并进行自主选座。

1.2.2 离座

离座为永久。即系统将立即释放座位。

1.2.3 预约

学生可在当天提前进行座位预约,并在预约时间即将到达的前 30 分钟内进行座位确认。

1.2.4 续座

学生确定入座后开始自习,系统将默认单次使用时间为 1 小时,当需要续座时,学生也可自由选座为 1 小时、2 小时等,此操作必须在倒计时前 30 分钟内进行续座,否则到时座位自动释放。

2 学生端系统详细设计

2.1 学生端功能和流程

图书馆自助选座系统分为学生端和管理员后台。在学生端中,学生可以选择选座、离座、预约、续座等功能上的使用。在管理员后台,管理员可以审核学生信息,并根据学校情况对学校、教室进行添加修改,还可以布置每个教室的专属座位图。本文主要介绍学生端的功能设计。在学生端,除了选座预约等功能,学生在确认入座后还会看到自己所在的座位信息、选座时间离座时间等,学生可根据座位不同的颜色,即(可视化界面),来了解座位是否已被人选,是否确定成功,是否预约成功等。

学生进入选座系统小程序的登录界面后,查看自己是否已经注册账号,若注册,登录并进入选座系统,若没注册,进入注册界面,添加自己的账号密码等信息后,确定并等待管理员验证,验证成功方可进入系统。进入选座系统页面中,选择自己要去的教室,查看自己是否已经选座,若选座,在点击座位图时会被提醒已经选座,若没有,可进行选座、续座、预约等操作。选好座位点击确认,便可以进行学习。学习结束(即倒计时结束)后,座位将自动释放。

图1:座位可视化

图2:选座界面

2.2 可视化界面设计

学生能够直观地完成选座操作,可视化界面是必不可少的,通过颜色的区分让学生清晰地分辨出当前座位状态,见图1,选座系统用了可视化界面的设定,红色代表自己选座或他人选择了座位,绿色代表自己选择了作为但并没有进行下一步选座操作。

以下是可视化界面的实现:

定义一个对象 item,对 item 进行赋值,以已选为例:

item=“{{item}}” data-index=“{{index}}” src=“img/noseat.png” />

若 item=1 时,将已选照片(noseat.png)传给类对象 chool-listphoto,同理若item=其他数字是设置对应的图片进行可视化的实现。

表1:学生端测试用例

2.3 选座流程设计

学生进入到主界面,进行教室的选择,进入教室界面后,展示了学生用户的使用功能,可以进行随机选座,也可以自主选座。这时需要判断学生是否已经有座位,若有则提示已经选座,若没有便可以进行选座确认,随机选座是点击完之后系统自动从数据库随机取出一条数据显示出来,并提示选座成功。确认入座之后,界面会显示离座时间,并进行倒计时。在学生学习过程中,若可以进行续座,或者提前离座,在有效时间结束后,座位会自动释放。

图 2 为选座界面展示,选座分为自助选座和随机选座,在随机选座部分,首先设置了一个 flag 开关:

定义需要滚动的长度 seatArr.length,这代表着座位一共的长度,添加语句

使其在座位表中开始随机滚动,当遇到选座状态为红色的时候需要重新计算,

如果不是红色(即 index=0)直接选座。

自助选座:首先设置初始值为空,建立一个自动排列的座位表,进入页面时自动获取座位数据。

传统的考试主要考核学生的基础知识点掌握情况,题型主要包括以名词解释、填空题、选择题及简答题。本研究依然采用传统的书面考试,但在题型方面做了调整,包括选择题及病例分析题,学生只有对所学知识深入理解、综合分析才能给出正确答案,重点考察学生的临床思维能力。研究结果显示,与传统的教学模式相比,整合医学教学模式对学生考试总成绩及病例分析题成绩均有明显的提升。调查问卷的分析结果表明,整合医学教学模式有利于学生学习动机、自主学习能力的提升,更有助于学生分析解决临床实际问题及临床思维综合运用能力的提高,同时这种教学模式得到学生的普遍认可。

接着做一个判断语句,查询学生是否选座位。

如果没选座,则可进行选座操作

之后将学生信息和座位信息传入后台,

进行更新操作

基本的数据传输更新完成后,对座位进行赋值,并存入缓存,保存用户的座位信息。

if (list[index]== 0 || list[index]== ''|| list[index]== null)

对座位的状态进行判断,如果是红色则弹出提示已经选座,如果没有则进行下一步操作。

2.4 续座设计

首先创建可选择的时间 序列 array: [1,2],对增加时间进行格式规定与转换

2.5 预约

在后台创建一个 SeatScheduleTask 的类,类中对象 userSeat Service、classInfo Service。调用 seat()方法,在方法中做一个定时管理器,并对时间格式进行编写。

SimpleDataFormat d = new SimpleDataFormat(“yy-MM-dd HH:mm”);String date = d.format(new Date());

预约与续座大致相同,只是时间和可视化上有所调整。

map.put(“ret”,userSeatService.queryUserSeatList(userSeat));

学生在进入选座系统后,需要先选择座位,再进行预约。预约时需要选座预约时间,且预约时间必须比当前时间晚。

3 系统测试与结构分析

系统测试时在系统的开发后针对于该系统的某个功能点或者性能进行测试,其目的是为了发现潜在问题,检测系统漏洞,更好的将系统进行再一次的优化以保证系统的正常运行。

3.1 测试用例

学生模块主要功能包括选座、续座、预约。由于功能之间关联性强,每一项测试都会互相 影响功能,如表1 所示为测试用例。

3.2 测试结果

经过测试,每个功能模块大体达到预期效果,通过此次测试结果与实际操作相对比得知,该系统功能的操作性是可行的,因此在系统的设计上进行层次分析的办法和技术可行,有一定的使用价值。

4 结论

在高校人数不断增多的现如今,想要更好的优化系统已实现趋于成熟的微信小程序,要将后续工作以如何构建针对项目实施过程的质量评价体系为研究方向,对每个功能架构的细节与尚未解决的问题进行更加深入研究。

猜你喜欢
座位可视化界面
基于CiteSpace的足三里穴研究可视化分析
换座位
基于Power BI的油田注水运行动态分析与可视化展示
国企党委前置研究的“四个界面”
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
基于FANUC PICTURE的虚拟轴坐标显示界面开发方法研究
人机交互界面发展趋势研究
手机界面中图形符号的发展趋向