陈曦 叶静怡 史俊 陈洁
摘要:高校学生对于生活和学习的服务需求日趋多样化,针对同类竞品中的不足,设计和实现了一款基于校园网的服务管理类App,提供服务管理、用户管理、工作管理、交流学习等模块,具有即时通信、服务定时提醒、自动派单、敏感词过滤、工作日志分析等特点,借助移动应用的普及性和便利性,为在校学生提供优质服务,具有很大的应用价值。
关键词:校园服务;移动开发;即时通信;自动派单;定时提醒
中图分类号:TP311文献标识码:A
文章编号:1009-3044(2020)19-0052-03
开放科学(资源服务)标识码(OSID):
1 引言
2015年国家提出“互联网+”行动计划,对于高校而言,可以在推动智慧校园的科技水平和服务能力上发挥积极作用。校园调查发现,高校学生对于生活和学习的服务需求日趋多样化,但是缺乏统一的管理和组织平台。为此设计和开发一款基于校园网的服务管理类App,用于管理校园内如电脑维修等各类服务,借助移动应用的普及性和便利性,有很大的应用价值。 本系统按照软件建模[1]的过程的设计与开发,系统框架采用MVC模式[2],基于Android平台[3开发,查找Android应用商店中的同类产品,从应用类型、服务类别管理、即时通信、服务提醒、自动派单、服务申请审核等方面进行了对比分析,针对已有竞品中的不足,提出了自己的设计框架,可以更好地满足在校学生对于生活和学习的服务需求。
2 分析
首先通过自身的服务过程和使用他人服务的经验,以及身边同学的反馈,获取到本系统的需求并进一步分析。决定将系统分为普通用户、服务方和管理员三个角色,其中服务方又细分为主管和工作人员。一个账户登陆,根据工作身份区分不同的操作权限。
普通用户若申请服务组织,需要管理员进行服务审核,审核通过后,普通用户身份升级为主管,可调用工作管理模块中的功能;普通用户若申请加入服务组织,需要该服务组织的主管批准,通过后普通用户身份升级为工作人员,可以调用任务管理模块中的功能。
普通用户只能调用订单管理模块中的功能;工作人员除此外,还可以调用任务管理和组织管理模块的功能,主管还可以调用工作管理模块中的服务人员管理功能。普通用户的用例设计如图1所示。
3 设计
3.1功能设计
本作品设计了服务管理、工作管理、交流学习、用户管理四大模块,功能模块图如图2所示。
1)服务管理模块,主要有即时通信和订单管理,能够完成服务提醒、自动派单、服务组织审核(防止违规违纪的服务)等功能。
2)工作管理模块,包括人员管理(如审核工作人员申请)和工作日志管理。
3)交流学习模块,有发布问题、回答问题等。为了净化校园网络环境,对于用户发表的所有文字内容,若出现政治敏感词和不文明用语,系统都会自动过滤。
4)用户管理模块,主要是实现了用户的批量注册,方便管理员进行人员管理。
3.2 典型工作流程设计
3.2.1 服务订单操作
如图3所示,普通用户选择了某项服务点击申请时,会收到已申请的提示,系统会将此任务订单自动分配给工作人员,若有特殊情况则通知主管,由主管来手动分配。工作人员接到任务后,即可联系普通用户,双方进行在线沟通。沟通完成后,工作人员可设置服务定时提醒,普通用户也可查看该提醒,服务结束后,由工作人员向系统确认服务结束,系统提示用户服务结果。用户确认订单完成后即可对订单进行评价。
3.2.2 設置服务提醒
如图4所示,工作人员在自己的任务列表界面中,点击“设置提醒”后进入添加服务提醒的界面,可以设置提醒日期、时间、内容。提醒数据被传输到服务器,并存人数据库,同时给该订单的工作人员和订单申请人设置闹钟,到点手机会自动提醒。
4 主要实现
4.1 即时通信实现
即时通信[4]是服务软件中的一项重要功能,可以提高服务沟通效率。在Web应用中,有基于http协议和websocket协议的2种实现方法。
1)Http协议与Websocket协议的比较
http协议使用方便,实现简单,是一种无状态的协议,客户端和服务器每执行一次HTTP操作就需要建立一次连接,任务结束时就断开连接,属于短时间连接。若要用于即时通信,则需要通过轮询方式,定时查询服务器上是否有新的聊天记录,如果对方发送了新的消息,就加入消息列表,这种方式大大增加了服务器和客户端CPU的负担。
WebSocket是HTML5下的一种新的协议,支持客户端与服务器的全双工通信,是一个持久化的协议,在客户端断开Web-Socket连接或是Server端中断连接前,客户端和服务器不需要重新启动连接请求,允许服务端主动向客户端发送数据,实时性优势明显。当有新的消息发送过来时,服务器可以主动转发给对应客户端。
2)基于WebSocket协议的实现
本项目选择Java-WebSocket框架[5],实现即时通信功能。在Android项目的build. gradle中加入相关引用就可以使用,引用代码如下:
implementation files(‘ libs\ljava-WebSocket- 1.4.O.j ar)
然后,新建一个客户端类并继承WebSocketClient.实现它的四个抽象方法和构造函数。其中onOpenO方法在websocket连接开启时调用,onMessage0方法在接收到消息时调用,on-Close0方法在连接断开时调用,onError0方法在连接出错时调用。
建立连接时,首先需要初始化此客户端,然后再调用连接方法。WebSocketClient对象是不能重复使用的,即不能重复初始化,其他地方只能调用当前这个Client。客户端发送消息时,只需要调用send0方法即可。
在通信过程中,用户可以发送文字、图片,还可以拍照实时发送图片。实现效果如图5所示。
4.2 设置服务提醒
为提高用户体验感和工作效率,在用戶下单成功后,工作人员可以设置服务提醒。该功能利用android平台的AlarmSer-vlce闹钟服务、Service组件和Broadcast广播组件实现[6]。在后台自动获取与用户关联的服务提醒,然后将当日要提醒的事件依次设置到AlarmManager中。到达提醒时间时,用Notification控件将信息推送给用户并以闹铃声提醒用户。
4.3 自动分析与自动回复
在工作管理模块,提供了保存和分析工作日志的功能,方便工作人员及时记录工作总结,通过日志分析随时了解工作中的主要问题,不断提高服务质量。自动分析的设计思路是:对日志内容进行分词,并进行词频统计,输出若干个高频词作为服务工作中需要特别关注的问题。
在学习交流模块的用户问答环节,设置了自动回复功能,以及时响应用户,提高用户体验。设计思路是:将用户的提问内容进行分词,然后与知识贴库中的内容进行相似度计算,取知识贴中相似度最高的前3条内容自动回复用户。
4.4 实现效果
本系统在Android端的实现效果如图5所示。
为方便管理员和非Android用户的使用,同时还采用SSH框架[7]实现了网页版本,如图6所示。
5 结束语
本文介绍了一款校园服务管理系统。移动版基于Android平台,使用Activity、Service、Broadcast等组件实现了站内的即时通信、定时提醒、图片上传与下载、敏感词过滤、任务自动派单和自动回复等功能,契合校园使用需要,能够较好地解决目前高校中缺少统一的管理和组织平台的问题。
经过多次测试后,在中华女子学院计算机系内小范围使用,移动版和网页版的各项功能均能正常运行,下一步准备在校内外进行推广。系统中的即时通信功能目前只支持文字和图片的发送,尚不支持用语音和视频交流。后续可以应用We-bRTC协议,进一步实现音视频交流。
参考文献:
[1]戈马,彭鑫.软件建模与设计:UML、用例、模式和软件体系结构[M].北京:机械工业出版社,2014.
[2]吴皓杰.MVC基础一模型(Model)、视图(View)和控制器(Con-troller)——来自博客园日志[EB/OL].(2017-03-14)[2019-12-28].https://www.cnblogs.com/wuxiaochao/p/6548268.html.
[3]林雪纲,时允田.Android开发案例教程与项目实战[M].北京:人民邮电出版社,2016.
[4]墨镜猫.Android之高仿QQ聊天(最终版本)——来自CSDN日志[EB/OL]. (2012- 10-14)【2019- 12-28].https://blog.csdn.net/ rain_butterfly/article/details/8 069833.
[5] ChaoYoung. Android WebSocket实现即时通讯功能——来自简书[EB/OL]. (2019-03-20) [2019-12-28l.
https://www.jianshu.com/p/7b9199lOc892.
[6]段淑敏,管清波,晏小庆.Android开发实战[M].上海:上海交通大学出版社,2016.
[7)张志锋,马军霞,范乃梅,等.Web框架技术(Struts+Hibernate+Spring3)教程[M].北京:清华大学出版社,2016.
【通联编辑:梁书】
基金项目:中华女子学院本科生北京市大学生创新创业项目(项目编号:201901040826C5)的研究成果之一
作者简介:陈曦(1998-),女,江西南昌人,中华女子学院本科生在读;叶静怡(1998-),女,福建南平人,中华女子学院本科生在读;史俊(1998-),女,山西朔州人,中华女子学院本科生在读;陈洁,女,中华女子学院副教授,通讯作者,研究方向为信息系统与大数据。