基于社交网络的维修办公终端软件设计与实现
2014-09-21雷小佩张丽娟
孙 弋,李 青,雷小佩,张丽娟
(西安科技大学通信与信息工程学院,陕西西安 710054)
随着人们生活水平的日益提高,房地产市场得到了飞速发展.但在人们对于住房需求得到满足的同时,业主与物业管理中心也面临着一系列庞大而烦琐的物业管理问题.随着现代生活信息化与智能化的快速发展,业主与物业维修办之间传统的单方电话通信以及各类手动填单工作方式终将被淘汰.近年来,移动互联网时代的到来推动了信息化社会的发展,作为移动互联网载体的移动终端(手机、平板电脑、psp游戏机、iPod音乐播放器、POS机、车载电脑等)走进了人们的工作和生活.同时,新浪、腾讯、Face Book、MSN等众多社交网络服务平台开始流行.
论文设计一种基于移动互联社交网络[1]即新浪微博的维修办公自动化终端软件,利用新浪微博的开放性,设计了维修办公自动化系统终端软件中维修办后台管理系统、业主与维修工的软件终端,实现了维修业务系统中3方的数据交换,较传统维修业务更加智能化,大大提高了维修效率.
在国外互联网的带动下,中国互联网也正走向开放平台时代.现正处于国内网络发展的过渡期,国内各大网站纷纷宣布推出开放平台.除了社交网络新浪微博、人人网、开心网、聚友等,还有腾讯、百度和阿里都推出了自己的开放平台.总而言之,国内互联网正利用开放平台拉拢着中小网站,疯狂“圈地”.通过对国内六大主流平台的调查发现,新浪微博开放平台居于首位,虽然开放时间相对较晚,但其应用数量最多,相比微信,微博建立关系更加自由,可以是单向,也可以是双向,关系强度被大量的单向关注所稀释,但有助于提高微博用户建立关系的广度.而微信建立关系的门槛更高,关系必须是双向的,用户间的关系强度自然更高,且微信的信息传播为点对点的互动,传播范围有限[2].微博的信息传播方式是单向裂变式,具有更新和传播速度快、传播范围广的特点,且微博信息公开发布和允许用户单向关注的机制,形成信息从关注者向被关注者的快速扩散,并经过被关注者的转发后裂变传播.两者的信息传播方式就决定了微博开发平台更受广大开发者青睐.
1 软件总体设计方案
基于移动互联社交网络平台的维修办公自动化终端软件主要针对大型房地产物业维修业务.考虑到该业务流程中的基本参与者包括业主、维修办和维修工,将物业维修系统分为客户端和管理端两部分,其中客户端分为业主客户端和维修工客户端,管理端是运行在小区物业PC机上的维修办管理平台.
业主客户端主要实现功能:在房屋建筑出现问题时,业主通过发布微博同时@维修办的方式来向其发出维修请求,并在微博中声明维修地点和维修类型,以便维修办生成工单.工单生成后业主可以查询维修信息,包括维修工信息和维修状态等.维修任务完成后,业主对本次维修进行服务评价.
维修工客户端主要实现功能:维修工在收到维修办下发的工单后确认工单发布微博并同时@维修办和业主,到达维修现场后,将维修状态和原始故障信息拍照上传,再次发布微博并@维修办和业主.维修完成后,发布微博@维修办和业主确认维修完成.业主对其服务做出评价后,维修工可以及时进行查询.
维修办管理平台主要实现功能:在业主发出维修请求后进行确认,查看所有维修工当前任务,合理调派维修工并生成工单,发布微博并分别@业主和指派的维修工,对各工单维修状态进行实时查询,如图1所示.
图1 维修业务流程图Fig.1 Business flow chart of maintenance
2 开发环境与相关技术
(1)开发平台.业主和维修工客户端的开发主要基于Android开发平台.Android是一种以Linux为基础的开放源码操作系统,主要使用于可移动便携设备,是首个为移动终端打造的真正开放和完整的移动软件平台[3].与其他的操作系统相比,Android最大的特色就是开放,其不存在任何专有权的限制.
(2)开发环境.Android SDK是Android专属的软件开发工具包,提供了几乎进行Android应用开发的所有接口、论文中软件的开发选择Android 2.3版本的SDK[4].Android SDK采用了Java语言,所以需要先安装 JDK1.6及其以上版本[5].较之前版本,JDK1.6增加了一些新功能与特性,如简化 Web Services、整合脚本语言等.
(3)数据存储.Android平台提供了一个SharedPreferences类,是Android提供用来存储一些简单的配置信息的一种机制,例如,一些默认欢迎语、登录的用户名和密码等.同时,在维修办的数据管理中用到了MySQL数据库.MySQL是一个开放源码的小型关联式数据库管理系统,特点是体积小、速度快、总体拥有成本低并且开放源码.在本软件开发中用到的是MySQL5.0及其以上版本,保证了数据的完整性与安全性.
(4)新浪微博开放平台.作为被广泛应用的社交网络平台,新浪微博面向第三方开发者和所有用户开放API,开发者可以通过调用API实现微博的几乎所有功能[6].另外,新浪微博API支持OAuth协议,让用户使用新浪微博API创建应用和服务的时候向新浪微博的服务器来验证账号和密码,而无需向开发者提供账号密码,这样也很好地保护了用户的隐私.论文中软件基于新浪微博平台,通过调用新浪微博API实现发布微博、上传图片、刷新微博等功能,实现了数据信息的交换.表1~3列举了在此软件设计中用到的 API接口[7].
表1 OAuth2授权接口及功能说明Tab.1 OAuth2 authorization interface and function description
表2 微博读取接口及功能说明Tab.2 Micro-blog access interface and function description
表3 微博写入接口及功能说明Tab.3 Micro-blog write interface and function description
3 软件实现
维修管理系统终端应用程序包括UI界面模块、软件通信模块和管理模块.
3.1 UI界面模块
移动终端UI设计是终端软件的人机交互、操作逻辑、界面美观的整体设计[8-10].UI界面通常被称为产品的“脸面”,置身于移动终端操作系统中人机交互的窗口,设计界面必须基于终端的物理特性和软件的应用特性进行合理的设计,好的UI设计不仅是让软件变得有个性有品位,还要让软件的操作变得舒适、简单、自由,充分体现软件的定位和特点.
UI界面设计的一般原则[11]:
(1)注意平面元素布局平衡,功能区域划分合理,避免控件与数据的过分集中而导致用户视觉疲劳;
(2)功能明确,安排合理,让用户通过最少的判断和最少的操作达到目的;
(3)保持界面的一致性;
(4)按钮文字简洁明了,尽量控制在4字以内.
所设计软件的UI界面设计主要通过对Android平台中的各个组件进行合理搭配使用,主界面通过6个ImageButton将软件的功能罗列出来,界面清晰明了.在用户操作时,选择操作比输入操作更加简单,为了方便用户使用,应尽量减少过多的输入操作.所以在业主发送维修请求的页面,维修请求采用下拉列表的形式将维修地点与维修类型全部罗列出来,业主只需要进行简单的选择就可以完成.总体来讲,该软件的UI设计以简洁大方、操作步骤简单、以用户为主导、信息输入简便快捷为设计原则,充分体现了本软件的智能化与人性化.
3.2 软件通信及管理模块
软件通信模块主要包括用户通信协议的编制与客户端之间的数据交换.用户通信协议也就是数据包格式,是通信双方必须遵循的数据描述格式,一般是约定发送方如何建立数据包和接收方如何处理数据包并从数据包中提取出需要的信息.用户通信协议的定制保证了数据传输的可靠性、通信双方通过约定好的协议将传送的数据进行封装与拆解,将信息以预先定义好的格式在客户端进行显示.
业主在房屋出现问题后需要发布2次不同内容的微博:维修请求和服务评价.为了便于接收方提取信息,在编制通信协议时用FLAG标志位进行区分.以发送维修请求为例,业主进入发布维修请求界面后,选择维修地点与维修类型,业主客户端会将业主的维修请求打包成“$1;云计算与移动互联;卧室;水电;*”的格式并发布,除去包头、包尾和标志位均为数据字段,数据字段间用“;”间隔.表4~6为业主发布维修请求、维修工发布维修状态和维修办生成工单的用户通信协议.
表4 业主客户端通信协议Tab.4 The owners of the client communication protocol
表5 维修工客户端通信协议Tab.5 The worker of the client communication protocol
表6 维修办PC端通信协议Tab.6 The office of the client communication protocol
客户端之间的数据交换就是各个客户端之间以微博作为通道进行信息的传递与交换.业主通过客户端发布微博时,以约定好的用户通信协议将信息进行打包发送给维修办,维修办PC端管理平台收到信息后会以相应的用户通信协议对信息进行解包操作.
对数据包的处理过程是一边接收一边处理,对接收到的每一个字符进行判断.取得数据包后先判断是否为包头,即第一个字符,再判断包尾是不是结束字符.若包头与包尾均与协议中规定的相同,则判定接收到的数据包是正确的,否则是错误的.若是正确的数据包,则将数据包“拆开”,依照一定的规则取出数据信息.所有的信息都经过打包与解包操作,便于提取有效信息,同时保证了数据的可靠性,如图2所示.
图2 业主数据解包流程图Fig.2 Flow chart of data unpack
一款软件的开发不仅仅要求其功能与性能满足用户的需求,更重要的是其软件系统的管理模式能够保证用户信息的安全性[12].论文对于移动互联社交网络平台的开发中,用户只有通过登录,获得授权后才能进行相关的操作.程序启动,如果用户是第一次使用该应用,则需要跳转到配置页面,在用户配置页面用户输入新浪微博的用户名和密码,进行授权.如果用户已经通过了配置和授权,则只需要选择要登录的用户进行登录[13],如图3所示.
图3 用户登陆授权流程图Fig.3 User login authorization flow chart
实现方法:首先获取微博实体类,传入app key、secret,以及 callback_url,然后用获取到的 oauth token、oauth_token_secret访问 open API authorize页面,最后获取 callback的 oauth_verifier,并获取AccessToken,完成登录.
4 软件测试
软件测试在软件生命周期中占据重要的地位,是软件开发的重要组成部分.
测试环境:Android2.3系统和 Android4.0系统智能手机各一部;良好的网络环境,如 WIFI或GPRS.
功能测试:将业主客户端和维修工客户端分别安装在2部手机中,对软件中的各个功能进行逐个测试.以业主客户端发送维修请求为例,完成微博认证后进入维修请求界面,选择维修类型、维修地点并@维修办,点击发布.查看已发微博时,可以显示此条信息,说明发布成功.
性能测试:客户端在WIFI环境下,各项功能操作流畅;在GPRS环境下,发布和刷新微博等功能均需较长时间.因此数据缓存和图像压缩技术方面仍需改进.
测试结论:经测试该软件可以很好地完成数据间的传输与管理,该软件的开发已达到预期目标,可以交付使用.
5 结束语
论文设计了基于移动互联社交网络平台的维修办公自动化终端软件,旨在利用移动互联社交网络实现物业维修办公的自动化,使得参与整个维修过程的维修办、维修工和业主节省了维修时间和资金,提高了工作效率.通过对软件的测试,实现了地产社区维修业务流程的实时处理和实时跟踪,满足了维修服务过程可控、可即时查询、历史可追溯的业务需求,充分体现了维修办公自动化系统的智能化与人性化.论文主要基于新浪微博开放平台设计并实现了维修办公自动化,新浪微博开放平台相对其他开放平台具有API数量多种类丰富、请求参数更加满足开发者需求、数据完整等优点,这对于广大开发者来说是更好的选择.论文提出的基于移动互联社交网络的开发模式为更多的移动应用设计提供了新的思路,具有广阔的应用开发前景.
[1]胡博.基于Android平台的微博客户端开发[D].长春:吉林大学计算机学院,2012.
[2]卢晓云.微博与微信营销价值比较研究[J].现代视听,2013(6):13-17.
[3]杨丰盛.Android应用开发揭秘[M].北京:机械工业出版社,2010:49-508.
[4]余志龙.Google Android SDK开发范例大全[M].北京:人民邮电出版社,2011:6-12.
[5]Horstmann C S.Java核心技术卷1:基础知识[M].8版.北京:机械工业出版社,2008:35-50.
[6]庞周.基于Android的微博客户端设计与实现[J].电脑编程技巧与维护 ,2012(10):66-67.
[7]孙弋.Android微博应用开发实践[M].西安:西安电子科技大学出版社,2014:156-271.
[8]伊达千代,内藤孝彦.文字设计的原理[M].周淳,译.北京:中信出版社,2013:55-78.
[9]伊达千代.色彩设计的原理[M].周淳,译.北京:中信出版社,2013:34-70.
[10]伊达千代,内藤孝彦.版面设计的原理[M].周淳,译.北京:中信出版社,2013:67-69.
[11]Jesse J G.用户体验要素:以用户为中心的产品设计[M].范晓燕,译.北京:机械工业出版社,2011:90-120.
[12]Jonatban Z.AppStore掘金[M].鲁成东,戚文敏,译.北京:人民邮电出版社,2010:121 -167.
[13]齐京.开发iPhone电子杂志和新浪微博客户端[J].科技创新导报 ,2013(9):252-254.
[14]韩超,梁泉.Android系统级深入开发:移植与调试[M].北京:电子工业出版社,2011:8-46.