一、引言
在智慧城市建设的推动下,政府、企业、高校等积极建立综合管理信息系统,逐步实现财务管理的信息化与数字化。为了更好地处理报账过程中出现的用户等候时间长、财务工作繁杂等问题,部分单位推出了财务报账预约系统,用户能够根据预约得到的排队序号有计划、有秩序地完成财务报账工作。然而,现今的财务报账预约系统存在缺乏个性化的缺点,用户通过系统获得预约序号后,依然会出现因在财务办公厅轮候序号造成时间浪费、不能很好预计序号的办理时间而错过报账办理时间、因不在财务办公厅而不能实时获取轮候队列的动态信息等问题。这些问题的出现,与新形势下办公信息化的发展方向从数字化城市向智慧城市发展,注重用户的个性化服务,满足用户在生活、学习、工作中的诸多实际需求的理念是相违背的。为了克服现有系统出现的不足之处,满足师生在财务预约报账上的个性化需求,本文将Android智能手机平台技术与财务报账预约的需求充分融合,开发并设计基于Android的财务报账预约推送系统。
二、预约系统现状及问题
社会上不同公共服务机构如银行、医院等因服务设施、服务人员素质、客体到达时间的随机性,造成了客体长时间排队等待的现象。为了缓解排队等待时间长的问题,国内外针对预约系统推送技术的研究不少。在规模上,杨汉妮[1]调查了国内外的RSS技术,其用户数量在国外已达20-30万。在内容上,彭国莉[2]
认为信息推送的内容一方面可通过信源本身直接送给用户,另一方面可只发送信息的目录或通知。在个性化推送方面,白雪松[3]等树立了国内外个性化推送服务的情况。杨向明[4]、吴剑霞[5]都认为信息推送可以应用到情报、网络等领域。从用户的角度出发,为用户提供他们自己定制的频道的推送服务,这样才能实现真正意义上的个性化服务[6].针对已有不同层次、不同功能的预约与排队叫号系统,总体上可以将其归为三类:
1.计算机模拟人排队的系统:该方式主要通过运用各种电子设备(取号机、呼叫器等)辅助用户进行取号,由计算机的队列管理代替办理业务排队。客户的叫号顺序由计算机通过电子屏幕或叫号器进行通知,有效地缓解了办理业务的负担[7].
2.基于Internet与融入信息管理系统的预约排队系统:该方式是通过将客户的业务办理融入基于互联网的业务预约系统中,通过在线预约获取队列号。以此作为凭证,在有效的时间范围内办理[8].
3.引入短信机制的排队叫号系统:该方式在原有的在线排队系统结构基础上扩充了短信发送等功能。系统监控设定的提醒人数,通过短信发送平台发送到用户客户端提醒用户办理[9].
上述这三种传统的排队系统虽然实现了排队上的有序,缓解了排队混乱现象,但仍存在不足。一是系统排队信息缺少手机客户端的支持,排队信息需要通过第三方平台推送,增加了运营成本,也系统不够便捷。另一方面,缺少手机端的支持,推送短信只能以文字等单一信息显示,无法实现实时更新叫号等信息,动态获取队列双向互动实时变化的信息。
在目前“推送”技术的基础上融入人工智能、知识发现技术、及数据库技术,从而形成“智能信送”技术,是“推送”技术的一个发展方向上述技术的引入,可以从根本上解决“推送”技术应用推广过程中所遇到的难题[10].
三、预约推送系统实现关键技术
手机推送服务是指服务器定向将信息实时送达手机的服务。
以下是几种常见的解决方案实现原理:
1.轮询(Pull)方式:应用程序应当阶段性的与服务器进行连接并查询是否有新的消息到达,从而实现与服务器之间的通信。
2.SMS(Push)方式:在Android平台上可以通过拦截SMS消息并且解析消息内容来了解服务器的意图,并获取其显示内容进行处理。
3.持久连接(Push)方式:每一台手机保持与服务器之间的连接,实时与服务器进行通信。
四、预约推送系统设计
1.预约推送系统架构设计
财务报账预约推送系统分为服务器端以及针对不同类型的客户端,主要内容包括:
(1)服务器端叫号业务处理与推送系统的实现。服务端将来自客户端预约请求数据的信息进行处理并实现信息个性化推送。服务器端系统根据具体的业务功能,可以分解为预约叫号业务模块、队列信息处理模块、队列信息自动推送系统。
(2)Android手机预约与实时信息接送系统的实现。手机客户端能够通过接受系统获取系统的实时队列信息。手机客户端包括实时信息接收系统、实时预约叫号模块、实时信息查询模块。
2.数据结构分析与设计
为了更好地使用与操作数据,需要对数据进行结构分析和建模,设计数据对象实例转换方法。系统需要保存的数据被封装成不同的实体类,如图1 所示。实体类能够更好地处理服务器传递过来的数据,可以更好地显示在视图里面。
基础的实体类有Notice、Base、Entity,它们是每个具体实体类的基础类。每个具体实体都直接或者间接继承这些基础实体类的属性以及方法。继承这些基础实体类后,具体的实体类拥有了每个实体类必须有的基本属性,如果主键编码,携带的通知信息等。系统主要存在5个具体的实体类,分别是结果信息类(Result)、用户实体类(User)、预约信息类(Post)、队列用户类(News)、预约队列类(NewsList),他们通过继承Entity类或者Base类来获得主键编码以及Notice实时信息类的属性。
系统数据来自服务器,并通过缓存技术将其保存在本地。系统与服务器之间采用已预先定义好的JSON数据格式进行数据交换。系统将获取的JSON数据经过具体类的静态转换方法转化为不同的实例对象以提供给Android界面呈现给用户,并同时将转化的实例对象通过Android的缓存技术进行本地存储,以待下次访问同一数据时从缓存中获取以减少网络带宽以及缓解服务器数据处理的压力。
五、预约推送系统的实现
在系统架构设计基础上,下面对系统整体结构的分析、用户界面的实现、系统业务流程的实现方面详述基于Android财务报账预约推送系统的实现。
1.系统整体结构的分析
系统使用了面向对象的方法进行分析和设计。各种不同的类共同组成了系统的静态结构。根据系统的功能与模块,系统以包作为层次结构进行整体架构的划分,不同的层次结构负责管理统一类型的逻辑程序,如开源组件类包greendroid.widget,主要存放开源弹出菜单控件等。
2.用户界面的实现
用户界面采用xml文件进行实现,通过具体的类去获取界面xml的不同控件,给用户呈现出不同的界面并对不同控件进行深入的操作。主界面的布局文件采用LinearLayout垂直布局方式,包含头部界面视图文件、中间左右滚动界面视图文件、尾部界面视图文件。中间的左右滚动界面视图文件具体有预约队列报账情况视图、用户预约信息视图、实时通知信息视图等。
3.系统流程的实现
根据Android财务报账预约推送系统功能分析与模块设计,系统的整体功能可以分为信息查询流程、用户预约、取消预约序号流程,用户参数设置流程,用户登录流程。系统功能的实现本质上是不同业务流程的实现。
用户进入系统进行信息查询后选择需要查询的信息,查询的信息主要包括预约队列报账信息、用预约信息以及实时信息,如果选择用户预约信息或者实时信息,则需要进行登录操作,以获取登录用户信息。预约队列报账信息包括今天预约队列报账情况以及明天预约队列报账情况。用户预约信息包括用户带办公信息以及用户已办公信息。用户进入不同的信息查询页面后,系统能够根据用户当前选择的页面获取不同的信息呈现给用户。
而信息查询流程的实现主要经过三个类,分别是Main主界面类,AppContext类以及ApiClient外部接口类。用户把界面处于的查询目录、页面信息以及用户信息传递给AppContext类以及ApiClient类,ApiClient类调用相关访问函数获取相关数据,经过数据封装转换后传回Main主界面。
六、预约推送系统的测试
下面采用黑盒测试的方式,模拟用户的日常使用,以此进行系统主要功能的演示,主要包括登录、预约报账序号、信息查询、获取实时通知信息。
1.登录和预约报账序号
七、总结
本研究基于当下流行的 Android 移动智能平台,针对目前财务报账预约推送系统出现的不足之处,满足财务报账人员个性化服务的需求,设计了基于Android移动设备的财务报账预约推送系统。该系统通过实时信息的推送功能提高预约报账的成功率与报账办公的效率,减少报账人员的排队时间。系统已经在 Eclipse开发平台上使用 Java语言实现,测试结果表明,该系统的设计和实现具有较好的实际应用价值。主要工作包括:
(1)分析了现今的财务报账预约推送系统缺乏个性化的不足之处,设计了基于Android系统的财务报账预约推送系统的方案。
(2)系统的设计经过需求与用例分析记性功能模块分解,分别给出了具体的功能规格,该系统信息查询、预约取消序号、实时通知信息获取等功能。
(3)在分析需求与划分功能模块的基础上对不同模块进行了详细设计与实现。
(4)在Android 设备上完成功能测试。
目前系统的功能实现仍处于实验研究阶段,软件功能还不够成熟,对具体财务业务办公的需求满足上还不完善。下一步需要调研财务工作对财务叫号系统的需求,与财务部门进行沟通,让Android财务报账预约推送系统能更满足业务需求。另外,实时信息推送方式是通过轮询访问服务器获取信息,一定程度增加服务器的压力,增大了网络带宽,消耗电池容量等。下一步可以采用其他推送方式实现实时信息,如采用第三方推送平台。