移动社交系统设计与实现
2015-06-02卢沛刁
卢沛刁
摘要:全球移动互联网用户增长迅速,逐步超越固定互联网用户规模;随着移动终端和应用的推动,应用将会成为日常移动互联网用户的必备品。本文以分析移动社交平台项目分析、研发为例,概述了系统课题背景,提出游戏化社交平台的功能;通过分析系统需求,提出了系统平台的建设目标、实现功能和所用结构模式;系统的实现部分从系统关键功能模块入手,重点介绍了商城,消息,排行榜等系统的功能展示和实际应用,最后对系统运行过程中存在的问题提出了改进意见。
关键词:移动互联网;移动应用;移动支付;基于地理位置;社交
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)09-0105-03
1 绪论
随着国外社交平台的日渐盛行,国内社交网络也逐步发展起来,在取得成效和进展的同时,也发现一些不足:一是传统社交平台趣味性不够强,无法让用户间快速建立联系;二是社交的目的过于混乱,游戏化社交这个细分市场还未出现。课题研究的主要意义是通过对智能终端(android)产品的研究来解决社交的时效性。让网民随时随地地产生活动及发展线下活动。
2 移动社交系统需求分析
本章通过对移动社交平台的流程调研,并从功能需求和非功能需求2个方面进行具体的需求分析。
2.1 系统功能需求分析
1)附近用户功能需求
附近用户是手机端产品的一个亮点,更多去激发用户和附近用户发生互动。
2)消息需求
消息需求包括:常规消息、语音消息、互动消息、系统消息以及消息排序优先显示用户的聊天消息、系统消息、互动类消息。
3)商城功能需求
商城主要是完成移动社交这个产品内部货币和奖品的兑换。
2.2 系统非功能需求分析
1)安全需求
移动社交平台具有开放性,安全要求非常高。从访问入口、系统备份恢复策略、身份认证等采取相应的措施,确保系统具备有良好系统安全、数据安全、操作安全[1]。
2)接口需求
该APP有不少互动通过接口实现,用户等级体是数据是和web后台数据做交互。除了接口调用的认证限制不仅限于展现层还可以在数据调用,底层业务逻辑等;另外就是接口的规范化,API本身不处理具体业务逻辑[2]。
3 移动社交系统设计
本章就在需求分析基础上,深入分析系统的总体架构、应用体系的设计,并对系统的功能模块进行了详细设计[3]。
3.1 系统概要设计
3.1.1 系统功能结构
系统的功能结构由附近用户、排行榜、消息、商城几个大的功能模块组成。各个模块功能包括如下内容:
1)附近用户:用户定位、用户个人资料设置、签到、用户查找、用户列表显示、操作日志管理
2)排行榜:每日热榜(24小时刷、新秀榜(1小时刷新)、各类总榜、魅力星(财富星)、用户曝光
3)消息:文本消息、语音消息、图片消息(位置、图片、表情)、消息汇总,push通知、系统消息、消息汇总、消息的各种状态、动态通知、消息删除
4)商城:送礼物、用户充值、兑换及订单管理、分享、魔豆总额
3.2 系统各功能模块设计
移动社交平台包括消息、排行榜、商城等主要功能模块,各个模块之间台有机的联系并统一起来。
1)系统的消息模块:采用mina框架基于服务器与客户端间建立的长连接,通过对于连接的管理和使用,服务器端可以主动推送消息给指定用户。
2)排行榜模块:通过对用户各类值的树形分区,实时有效的对用户各类值进行排序及查找,即可以适应积各类值又可以适应非均匀性,还可以适应系统各类值分布的变化。
3)商城模块:采用HashMap结构,商品id为key,商品信息为value,将商城内商品存入缓存内,查询效率近似log(1)级别。
3.3 系统数据库设计
3.3.1 系统数据库设计
在设计中,对于Web端和移动端共用同一个的数据表,最终Web端和移动端共享了用户信息和业务流程信息等,实现统一处理。
3.3.2 数据库表结构
系统中使用到的表结构数量较多,这里只介绍几个关键表。用户基础信息表[6](USER_BASE_INFO)、商品表(GOODS_LIST)、消息表(USER_MSG)。
表结构如表1至表3所示:
4 移动社交系统实现
整个项目主要包括了服务器端数据处理和移动端数据展示两大业务功能,考虑到功能模块的相似性,本文主要以消息功能、排行榜功能、商城功能等核心模块为例,重点介绍系统服务器端数据处理功能的实现[7-8]。
4.1 系统软硬件环境选定
4.1.1 系统硬件环境
系统的硬件分成后端程序处理逻辑及常规接口;消息采用的常连接对服务器消耗比较大单独部署Android PN服务器;前端服务器主要是展现给用户的界面程序及各个接口对接。
4.1.2 系统软件环境
服务器操作系统:Red Hat 4.1.2;数据库:MySql 5.5.14;发布容器:Tomcat 6.0.32.0;
JDK版本:JDK1.6
4.2 系统各功能模块实现
4.2.1 消息模块实现
1)消息推送
消息推送功能是系统消息管理模块的重要组成部分,它通过建立用户与服务器间的长连接方式推送给用户消息。
2)消息过滤
消息过滤功能主要针对两种消息,第一种就是消息本身违反国家有关规定的敏感词等;第二种就是对其他用户骚扰消息。
3)语音消息
语音消息主用通过移动端录制语音,将录好的语音发给服务器,服务器将根据语音消息的接受者发送一条提示消息推送给用户告知其好友发送了一条语音消息。
4.2.2 附近用户模块实现
附近用户通过定位服务和网络信息定位计算用户的经纬度,新用户登录进来会把距离在后端接口比对后的结果返回一个列表;同样对于网络未连接或者网络情况不好优先出现的界面是在手机客户端缓存的上一次用户列表信息。
4.2.3 排行榜管理模块实现
排行榜功能实现了用户实时排行榜、新秀排行榜、每日排行榜、总排行榜从多个角度展示用户。
4.2.4 商城管理模块实现
1)商城基本功能
现阶段由于商城内的商品比较单一,且一般情况下不会改变,因此从提供高系统响应时间的角度考虑,在程序启动时就将商城内的商品都加载至内存。
2)商城兑换功能
商城兑换功能是用户消耗一定的金币数来活动商城内某一样商品[9]。
3)充值功能
充值主要实现:在用户选择充值后跳转到需要购买的套餐,跳转到支付方式选择到最后商户回调成功后调用魔豆数量接口。
5 移动社交系统测试
本软件对系统进行了性能测试、功能测试和安全测试,并针对测试的结果作出相应的系统设计调整,最终达到系统最初的预计效果和需求。
5.1 测试用例
本测试用例使用不同功能模块及不同业务流编写[10-11]。
1)注册:用户输入符合标准格式的邮件,和密码,用户名能否正常注册。
2)登录:用户输入正确的用户名和密码能否正常登录。
3)个人资料:个人资料能正常修改。
4)我的排名:按照总魅力排行显示自己的排名。
5)商城充值:用户在任何操作时魔豆数量不足,点充值能正常跳转到支付宝和卡支付的流程。
6)商城兑换:有4800魔豆点兑换4800的礼物,跳转到订单填写流程;魔豆数量不够则跳转到支付流程;
7)两个用户互动。
8)消息正常通讯。
5.2 测试环境与配置
通过300多条业务逻辑用例来测试,并在360应用中心的试运行用户测试,测试结果证明功能完善、性能较好、安全性较好、在android 2.1以上各种图像显示及安装实现可兼容,整个过程软件运行稳定,bug较少,一些优化性的需求后续会持续改进。
6 总结与展望
本文以移动社交系统从项目的需求调研到最后代码实现等为主线。完成了移动社交系统背景、研究意义、国内外研究现状的调研,总结出移动社交系统实现价值。并从系统总体框架搭建、功能详细设计、数据库设计等几方面介绍了系统总体设计。最后,从架构实现,功能实现等方面对系统核心功能模块进行了详细介绍。随着后续用户需求的调研、反馈、挖掘等,通过增量迭代的方式推出更满足用户需求的版本,考虑进一步增加在更多手机系统上实现,能适应更多的用户终端,让移动社交系统持续发展,开创社交平台的一种新模式。
参考文献:
[1] Pichler J, Ramler R. How to test the intangible properties of graphical user interfaces[J]. Proceedings of the 1st International Conference on Software Testing, 2008, 12(3): 28-32.
[2] Russell Miles, Kim Hamilton. Leaning UML[M]. American: O'Reilly Media, Inc, USA, 2006: 17-45.
[3] 张宏. 系统分析与设计教程[M].北京: 清华大学出版社, 2008: 45-94.
[4] Michael J. Burton, Donn Felker. Windows 8 Application Development For Dummies[M]. American: John Wiley & Sons Inc; 2nd ed, 2012: 21-58.
[5] Granderson, Jessica. Building Energy Information Systems: User Case Studie[M]. Lawrence Berkeley National Laboratory, 2011: 21-28.
[6] 姜承尧. MySQL技术内幕: SQL编程[M].北京: 机械工业出版社, 2012: 105-127.
[7] 史济民, 顾春华, 郑红. 软件工程原理、方法与应用[M].北京: 高等教育出版社, 2009: 85-127.
[8] 邵维忠, 杨芙清. 面向对象的系统分析[M].北京: 清华大学出版社, 2006:75-139.
[9] William Stallings. Principles and Practice of Computer Security[M]. Pearson Prentice Hall, 2010: 31-62
[10] 魏琴, 梅佳. 软件测试技术[M]. 北京: 电子工业出版社, 2012: 56-141.
[11] 徐拥军. 软件测试技术 方法和环境[M].北京: 北京航空航天大学出版社, 2012: 15-141.