APP下载

基于iOS的炒股软件设计与实现

2015-06-24曾雅丽张民鹏

软件导刊 2015年6期
关键词:手机软件

曾雅丽 张民鹏

摘要:介绍了使用Objective-C语言开发的iOS手机客户端炒股软件,详述了该炒股软件的需求以及设计与实现过程。该软件集股票信息、资讯、模拟炒股于一体,可以使人们在使用过程中获得更真实的体验。

关键词:炒股软件;手机软件;iOS

DOIDOI:10.11907/rjdk.151501

中图分类号:TP319

文献标识码:A 文章编号:16727800(2015)006012003

基金项目基金项目:福州市科技局项目(2013G84)

作者简介作者简介:曾雅丽(1990-),女,福建漳州人,福建师范大学数学与计算机科学学院硕士研究生,研究方向为网络与信息安全;张民鹏(1992-),男,湖北荆门人,福建师范大学数学与计算机科学学院学生,研究方向为网络与信息安全。

0 引言

随着手机终端智能化的不断提高,手机终端不仅是通信终端,更是互联网的主要组成部分[1]。iPhone手机在硬件和用户体验方面都受到人们喜爱,基于iOS的软件开发更是在手机软件市场中具有较高占有率。当前的炒股软件大多是专业炒股软件,而没有开发出适用于毫无经验的用户练习与学习的模拟炒股软件。在这样的背景下,开发了爱炒股软件,该软件可模拟股票交易功能,让用户能真实地体会炒股的流程与规则,同时还整合了各大财经门户网站的信息以及各大机构的调研报告供人们投资参考。该软件主要面向的群体是想体验炒股并且毫无经验的人群。模拟炒股中提供了买、卖、撤单3个模块,让用户通过仿真模拟交易,学习如何进行择股、投资组合等。

1 开发环境

该应用软件使用的开发工具为Xcode 5.1,开发语言为Objective-C[2]。目前Xcode已更新到6.1版本,在该应用中主要使用Xcode 5.1进行开发,并在后续的更新和维护中采用Xcode 6.1。当下市场上比较流行的iOS应用开发语言是OC和Swift,但由于Swift不太稳定,有很多语言规范还在不断完善中,所以该软件应用主要采用Objective-C语言进行编码开发。该软件主要使用了以下几种第三方框架:①AFNetworking:一个轻量级的网络请求api类库;②CorePlot:开源矢量图形库;③GDataXMLNode:解析xml数据的类库;④MJRefresh:可进行数据刷新和加载;⑤SDWebImage:提供图片异步缓存的机制;⑥ShareSDK:新浪微博登录、分享;⑦XCMultiSortTableView:多级表格;⑧XGSDK:腾讯信鸽远程推送。

2 需求分析

根据系统功能划分,该软件的主要需求描述如下:①自选股模块:该功能为基本功能,上海证券交易所和深圳证券交易所的股票总数超过3 000只,用户可根据自己的选择偏好添加关注的股票,查看自选股相关信息,同时根据关注度不同调整对自选股的排序等;②大盘指数模块:大盘指数是股票交易的一个参考,在选择股票交易时,可以关注该股所在行业或板块的涨跌幅。同时,对于偏好交易涨停或跌停股的用户,可以随时关注其中的涨停榜和跌停榜,并能在涨停分析中查看涨停原因及相关概念,以便能够在相关概念中发掘低价股,逢低买进;③我的账户模块:在模拟交易中,“我的账户”占有重要地位。用户所有的交易信息均能在“我的账户”中查看到,并且能够清晰地看到当前持仓的盈亏以及当前资产的构成情况等;④模拟交易模块:模拟交易模块为该应用的主要模块,用户通过该模块进行模拟买卖交易及撤单,同时可以查看当日交割单等信息;⑤决策模块:该功能通过筛选各大机构的分析报告,给予用户更多投资信息,使用户能够清晰地了解当前投资机构的动向,把握市场热门股;⑥股市资讯模块:该模块有新闻和直播两大类,用户通过该模块能够实时关注股市动态,获得第一手股市讯息,把握出手时机;⑦设置模块:用户根据自身行为偏好、相关网络环境的变化等进行个性化设置,包括行情刷新频率、涨跌颜色、主题等。

3 系统设计与实现

3.1 系统功能架构

该系统主要由自选股、大盘指数、我的账户、模拟交易、决策、股票资讯、设置等模块组成(见图1)。

(1)自选股模块。用户可以自定义添加关注的股票,并查看股票相关信息。具体功能有:①添加、删除自选股;②按当前价格、涨跌幅排序;③快速下单交易:快买、快卖、快撤;④查看该股的个股新闻和该股所属的行业新闻;⑤论股:实时更新该股的最新帖子数据;⑥分享功能:支持新浪微博、微信好友、微信朋友圈、短信等平台分享。

(2)大盘指数模块。提供市场的主要指数信息及热门板块等。具体功能有:①查看各个市场的主要指数,包括:上证指数、深证指数、道琼斯指数、纳斯达克指数、恒生指数、日经指数、台湾加权、新加坡等主要指数;②涨停分析:分析涨停榜中的股票涨停原因,以及该股所属板块或相关概念等。

(3)我的账户模块。具体功能有:①我的账户:查看当前资产状况;②我的持仓:查看当前购买的股票市值;③投资收益:查看账户盈亏情况,以及当前购买股票的盈亏;④交易记录:可通过时间段查询交易记录。

(4)模拟委托交易模块。模拟市场进行交易,可以进行买入、卖出、撤单,以及查看我的持仓、当日委托、当日成交、查询资金、资金明细、股东资料等。具体功能有:①买入:输入购买的股票代码时,可自动填充该股所有信息,并结合模拟账户计算出可委托数量;②卖出:结合模拟账户,自动填充可卖数量;③撤单:买进股票时,竞卖价大于委托价格时,可撤单,即取消买进;卖出股票时,竞买价小于委托价格时,可撤单,即取消卖出;④我的持仓:用户可查看当前账户买进的所有股票的余额、可用余额、冻结数量、市价、成本、盈亏值、市值、股票代码、市场类别等信息;⑤查询资金:快捷查询账户的币种类别、余额、可用资金、冻结资金、股票、资产等信息;⑥资金明细:查询所有交易中的资金动向等。

(5)决策模块。具体功能有:①个股报告:提供机构对某些个股的评级分析和投资指导意见等;②行业报告:提供机构对行业的评测分析报告;③机构晨报:投资机构每日推荐个股;④策略报告:投资机构投资策略建议。

(6)股市资讯模块。该模块通过以下6个部分呈现股市重要信息:①股市要闻;②滚动新闻;③投资机会;④自选股新闻;⑤更多;⑥股市直播。

(7)设置模块。具体功能有:①行情刷新频率设置:用户可分别设置在2G/3G/4G和WiFi下数据刷新的频率。设置可选项包括:非WiFi网络环境(不刷新、5秒、15秒、30秒和60秒)、WiFi网络环境(不刷新、5秒),默认均为不刷新;②显示设置:用户可根据自身喜好及习惯,进行显示设置,设置选项有:红涨绿跌、绿涨红跌。默认为红涨绿跌;③清除缓存:缓存中的数据来源主要是走势图、K线图及微博登陆等。

3.3 数据抓取与解析

应用中的数据主要来源于同花顺、新浪股票、和讯股票、自选股(腾讯)、雅虎等,这些数据来源返回的数据类型、格式也截然不同。应用中数据的抓包在Mac环境下使用的工具是paros。解析思路如下:①将返回的数据进行编码转换,否则会出现乱码的情况;②通过分号“;”判断请求股票的个数,并通过分号将其隔开;③去掉多余的返回数据“var hq_str_”;④将等号“=”转换成逗号“,”,并通过逗号再次将个股中的数据分割;⑤最后将分割的数据逐个存储到模型中。

3.4 数据库

在软件中将相关数据进行存储,可以提高用户的访问查询速度。表1为该软件中用到的一张数据存储表,其结构包括属性、类型以及相应说明。

3.5 数据安全

在该软件的开发过程中,为了保证数据安全,采取了MD5加密。MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致[3],是计算机广泛使用的杂凑算法之一。在该应用中,对用户的信息进行加密后存储。MD5加密算法最终产生128bit固定长度的值,而在实际的应用开发中,通常以16进制输出,即产生32位16进制的字符。在随机产生的字符中大小写混杂在一起,之后可对其进行二次处理,以产生32位大写或小写字符串。

4 系统测试

Activity Monitor会监控测试对象的运行环境,记录CPU、内存和I/O的一些指标,用于对比分析。在监控运行中可以得到当前时刻的CPU占用率、实际内存和虚拟内存等信息。同时使用Activity Monitor可以进行多次运行结果的对比,以此来对比当前运行结果和之前运行结果的差异。测试结果如图2所示:在1′20的测试时间内,其CPU占用率为15%,占用时长为1′06。

5 结语

iOS手机客户端炒股软件主要针对刚接触股市或准备接触股市的特定群体,在软件中模拟炒股,可有效地帮助其迅速了解真实的股票交易流程,并增加选股交易经验。在后续的迭代开发中,将进一步完善模拟交易的功能,使之与真实交易更加吻合。

参考文献:

[1] 程文静,刘燕美,稂光雨.基于iOS客户端的酒店管理系统设计与实现[J].软件导刊,2014(8):6668.

[2] 北鼻.iOS开发者成长之路——入门准备篇[J].计算机应用文摘,2013(3):6668.

[3] 陈玮.MD5加密原理及安全性分析[J].电脑知识与技术:学术交流,2007,4(19):8788.

[4] 刘磊,张贺,田家赫.基于IOS的校园OA管理系统设计[J].软件导刊,2015,14(1):113114.

责任编辑(责任编辑:黄 健)

猜你喜欢

手机软件
我给老爸上课
告诉你猫开不开心的手机软件
浅析手机软件侵害个人信息的合同法保护
心血管病患者服药提醒手机软件的设计与应用
基于免费wifi的智能旅游平台的设计与实现
学习类手机软件岂能“藏污纳垢”
业务员手机软件如何用 更能提升效率
“咕咚”手机软件中的“3S”技术——《地理信息技术在区域地理环境研究中的应用》(必修3·人教版)一节的教学设计