资源描述:
《基于android手机理财系统的设计与实现论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
摘要当今社会越来越朝着信息化和数字化发展,手机的应用使我们的生活越来越方便和快捷,面向个人的应用软件也成为了人们重要的助手。并且,随着市场经济的发展,我国居民对理财有着越来越高的要求。理财,是每个家庭和个人所必须面对的问题。本文就是阐述了基于Android的理财系统的开发。Android安装于支持Android系统的PPC设备上。在充分发挥移动设备的便携性上,考虑了理财领域的现状和未来的发展,并作了有益的探索和试验。在系统的实现过程中,采用面向对象的设计与开发方法,在Android环境下,使用JAVA编程语言并结合SQLLITE数据库开发的一个个人理财系统。整个过程首先从系统的可行性分析和系统的需求分析入手,然后实现系统各个主要模块的具体功能以及数据库的设计,最后完成对系统的测试与结果分析。基于Android的理财系统的主要包括备忘录、财经新闻模块、利率计算模块、计算器模块、收支管理模块、自选股以及讨论交流模块。关键词手机、Android、理财系统、数据库 AbstractWiththedevelopmentofinformationanddigitaltechnology,theapplicationofmobilephonemakesourlifemoreandmoreconvenientandquick.And,withthedevelopmentofmarketeconomy,theresidentsofourcountryhavemoreandmorehighdemandforfinancialmanagement.Financialmanagementisaproblemthateveryfamilyandindividualmustface.ThispaperdescribesthedevelopmentoffinancialmanagementsystembasedonAndroid.AndroidisinstalledonPPCdevicessupportingAndroidsystem.Takingfulladvantageoftheportabilityofmobiledevices,weconsiderthecurrentsituationandfuturedevelopmentofthefieldoffinancialmanagement,andmakeausefulexplorationandexperiment.Intherealizationofthesystem,usingobject-orienteddesignanddevelopmentmethods,intheAndroidenvironment,theuseofJAVAprogramminglanguageandSQLLITEdatabasedevelopmentofapersonalfinancialsystem.Thewholeprocessstartsfromthefeasibilityanalysisanddemandanalysisofthesystem,andthenrealizethespecificfunctionofeachofthemainmodulesofthesystemanddatabasedesign,finallycompletedthetestandtheanalysisresultsofthesystem.Androidbasedfinancialmanagementsystemmainlyincludesthememorandum,thefinancialnewsmodule,theinterestratecomputationmodule,thecalculatormodule,therevenueandexpendituremanagementmodule.Keywordsmobilephone,Android,financialmanagementsystem,database 目录第1章前言11.1背景11.2国内外研究现状11.3本文结构安排2第2章系统技术概述32.1Eclipse简介32.2Sqllite简介32.3Java简介4第3章需求分析53.1可行性分析53.1.1技术可行性53.1.2经济可行性53.1.3时间可行性53.1.4操作可行性63.2系统总体功能需求分析63.3各功能模块需求分析73.3.1用户登录功能模块73.3.2收支管理功能模块83.3.3自选股管理功能模块93.3.4备忘录功能模块103.3.5资讯功能模块113.3.6讨论区功能模块123.4本章小结13第4章系统设计144.1系统功能设计144.2系统数据库设计14 4.2.1概念结构设计144.2.2数据字典设计164.3各功能模块设计174.3.1系统登陆功能模块设计174.3.2备忘录功能模块设计184.3.3收支管理功能模块设计194.3.4财经新闻功能模块设计204.3.5自选股功能模块设计214.3.6讨论区功能模块设计224.4本章小结23第5章系统实现245.1系统登陆功能设计245.2计算器功能设计255.3备忘录管理功能设计265.4财经新闻管理功能设计275.5收支管理功能设计285.6自选股功能设计295.7本章小结30第6章系统测试316.1测试概述316.2测试用例316.3本章小结34第7章总结与展望357.1总结357.2展望35结束语36参考文献37致谢38 第1章前言1.1背景回顾软件开发历史,每一个软件开发浪潮的出现,都伴随着硬件基础实施的跨越。三、四十年前,程序员排一整天队,只为大型主机的终端上调试一个小小程序。直到PC的出现,给软件开发带来了第一次革命[1]。随后,各项IT基础设施的发展一日千里,除了在计算能力,存储量等指标方面,PC有了飞速发展外,“互联网”这项伟大的发明让第二次软件开发浪潮很快席卷全球。现在,我们站在一个交汇点上,正面临第三次软件开发浪潮的来临。今天移动终端设备的计算能力,已经超过2000年生产的PC机[2];无处不在的无线网络覆盖全球大部分地区;软件所占成本在整个系统中的比例越来越高、通用与标准的系统交互方式正在形成……所有这些因素都在试图告诉我们一个信息,移动设备成为主流开发平台的时代即将到来。根据金盛保险发布的《安盛生活信心指数调查》显示,中国中高端消费者是亚洲地区对未来五年生活信心乐观程度最高的人群[3]。对中国的中高端消费者来说,家庭是生活信息的源泉,然而他们对实现这一憧憬的实际行动不足,多数人至今尚未制定任何财务规划。而结合最新的移动开发信息技术,为这类人群提供便捷,高效的辅助理财工具,必将对其个人理财事倍功半。1.2国内外研究现状(1)面向个人的软件消费存在巨大市场在以往的信息化应用中,软件开发商特别是国内开发商往往将软件销售方向放在企业而非个人。但是以微软为代表的个人桌面操作系统的成功,让很多的传统企业软件开发商意识到,个人软件消费是一个不可忽视的利润空间。随着居民消费水平的提高,一个家庭拥有多台电脑及移动终端已经是一件很普遍的事情,而与之带来的是个人对于软件消费的更多期待。(2)面向移动的应用开发已进入快速成熟期智能手机,PDA已经在国内拥有一定的普及性。用这类移动设备进行邮件收发、炒股、看视频、听音乐、玩游戏已经逐步成为主流应用。而在传统的桌面软件应用中,针对个人的各类软件、已应用比较广泛,但在移动应用领域,还是比较缺乏。如何将传统的桌面个人管理软件移植到移动终端,发挥移动终端的便捷性、已是一个迫切的应用需求。(3)“理财”理念已经深入人心37 有一句比较经典的话叫“我不理财,财不理我”[4]。这句话能很好的体现理财的一个重要性。近年来国内外金融理财机构对于个人消费群体的狂轰滥炸,理财概念已经深入人心。特别是理财手段的多样化,如房产、理财产品,保险,股票,期货、黄金产品等已经成为多数人的投资渠道。而利用信息化手段,来进行收入、支出数据的采集,并进行分析及预测,往往对个人理财能达到事半功倍的效果。在移动设备平台选择上、存在三大主流操作系统Android,WindowsMobile和IOS。相对其它两类操作系统而言,Android因为其与用户习惯更为温和,而倍受消费者的青睐。而在开发平台选择上,存在.Net和Java两种开发平台。抛去跨平台特性、执行性能不论,Java的开发效率上,将对.NET有压倒性的优势。因此本系统的实现将建立在Android基础上,用Java平台来进行开发针对智能手机的第一个版本。1.3本文结构安排本文总分为七章,各章节的内容安排如下:第一章:前言。介绍本课题的背景、国内外研究现状。第二章:系统技术概述。介绍本系统开发过程中涉及的知识及技术。第三章:需求分析。整体介绍系统的组成,然后分为总体功能模块需求分析、各功能模块需求分析、可行性三个层次来对手机理财软件进行需求分析。第四章:系统设计。根据系统需求分析对手机理财软件进行概要设计,整体介绍对系统的设计。第五章:系统实现。主要是介绍主要功能模块的详细设计与实现,UI界面的设计与实现。第六章:系统测试。主要是测试系统的功能并展示运行结果。第七章:总结与展望。对本课题的工作进行总结,同时对手机理财软件下一阶段的开发进行展望。37 第2章系统技术概述2.1Eclipse简介Eclipse是一个以Objectjava为核心的集成开发环境(IDE)[5]。开发者可以利用图形界面进行研发设计。eclipse使用IDE、VCL编译器来连接各类数据库,构成面对对象且拥有图形界面的程序设计开发工具。eclipse采用了MicrosoftWindows图形用户界面的优点,创造了一个简易、高效的可视化开发环境,具有先进的设计思想。可以说它既有VC强大的编辑运行功能,又拥有VB简单直观的优点。同时,拥有最先进、高效的编辑器及数据库使得eclipse可以极大的提高其使用者的编程效率及编程乐趣。Eclipse从eclipse1到eclipse2010的革新过程中,拓展了更多的数据库支持,更优秀的框架,更便捷的开发组件,以及增加了针对不同集成开发环境的新特性。不管是界面还是功能,作为一个应用程序开发的工具,eclipse变得愈发完美。2.2Sqllite简介本系统采用的SQLLITE数据库(全称为MicrosoftOfficeSQLLITE)作为MicrosoftOffice的一员,是一款关联式的数据库管理系统[6]。SQLLITE数据库具有的五大优点:(1)因为在同一个文件内的表、项、报表等模块的清晰分布使得存储操作更加简单,管理维护更加快捷,很大程度上提升管理者的工作效率。(2)SQLLITE为面向对象的程序开发工具,由于面向对象程序开发的特性,使得对于利用SQLLITE对于数据库进行管理变得更加简易,同时对于应用程序的开发也变得更加便捷,对于开发者而言,整个设计开发测试过程也会更加的简易。(3)SQLLITE拥有可视化的界面及工具。系统拥有的工具及功能强大,使得操作更加的简易直观且容易学习掌握,对于初学者来说是一个很好的学习数据库系统运作原理的工具。 (4)SQLLITE拥有极强兼容性的集成开发环境,方便开发者进行复杂数据信息的处理,以及开发程序能够拥有更加的多元的兼容性。 (5)SQLLITE具有强大的数据开发兼容性和可嵌入性,可以在一个数据表里插入诸如Excel表、图片、音乐等。同时,SQLLITE可以与网络数据进行关联并应用于互联网,可以使得最终完成的系统可以跟异构数据库进行良好的数据交流。37 2.3Java简介Java是一种结构化的高级编程语言,因语法严谨且层次分明,故拥有很强的可读性[7]。对于Java的使用者来说,java变成语言主要的特点如下:(1)良好的结构化Java书写结构化的程序相对其他算法语言更加便捷,编写出的程序可读性非常强,语句犹如诗歌一样排列,使得阅读者更好的理解程序设计的逻辑。(2)丰富的数据类型Java拥有近乎所有的基础类型、指针以及基础类型相互组合构成的数组类型、集合类型等复杂类型。丰富的数据结构和上述的结构化性质,使得java可以被方便地用来描述复杂的算法。由良好的结构化及丰富的数据类型(结构)做基础,让使用者可以更好的利用java去描述完成复杂的算法程序。(3)适用范围广泛Java可以进行数值运算及非数值领域的运算。其功能的强大以至于可以被在更广泛的领域进行运用。(4)编辑设计简易自由Java在对于程序的编辑格式上没有严格的规定要求,可以允许在同一行中写多个语句,同一个语句也可以分为多行书写。在这样的基础之下,java可以让程序编辑者像写一首诗歌般完成程序设计,完成的程序相对于其他语言更加便于阅读。正因为如此,诸多学校会以java作为主要的程序设计语言进行程序设计教学,以达到培养学生严谨且优良的程序设计习惯的目的,为学生后续的程序设计生涯打下坚实的基础。37 第3章需求分析本章节主要是通过UML建模的形式,对系统的需求进行详细的描述,帮助程序开发人员更好地进行程序的设计,如果系统需求分析不到位,可能会造成软件研发的大量返工,不仅可能延误软件开发进度,还有可能因此损失大量的资金,需求分析是连接软件的使用者和软件的开发者之间的桥梁,双方是一个矛盾体,看待一个问题的角度是不同的,因此有时就难免会出现理解上的偏差。根据对系统的调研,基于Android的理财系统的主要包括备忘录、财经新闻模块、利率计算模块、计算器模块、收支管理模块、收支排行榜以及讨论交流模块。3.1可行性分析3.1.1技术可行性本系统的开发环境与运行环境如表3-1所示,可见本系统在技术上是可行的。表3-1技术可行性分析表开发环境本次项目开发环境为windows7,eclipse,ADT,JDK,SDK使用语言主要语言为java,XML运行环境Android4.0以上系统和android手机硬件平台智能手机运行系统Android4.0+是否需要联网是3.1.2经济可行性对于开发者来说,计算机现在已经成为生活中的必备物,而开发所需要的软件和开发环境都可以免费下载到,即使需要重新购置硬件,其花费相对开发者来说是可接受的,因此,本系统在经济上是可行的[8]。3.1.3时间可行性如表3-2所示,经过估算统计,实现系统总计需要67个工作日,所以完成本系统具有时间上的可行性。表3-2开发工作量表序号事项工作量(单位:日)1需求分析62概要设计63详细设计94代码编写375测试9总计6737 3.1.4操作可行性本系统为一个小型的手机理财系统,所耗费的资源非常的小,在界面友好度有较好的表现。即使是第一次使用本系统的用户也能在最短的时间掌握本系统的使用。所以,本系统在操作上是可行的。3.2系统总体功能需求分析如图3-1所示,基于Android的理财系统主要包括备忘录、财经新闻模块、利率计算模块、计算器模块、收支管理模块、收支排行榜以及讨论交流模块。图3-1系统功能结构图通过对一些理财系统的了解,和根据本系统的总体需求功能分析,本系统主要提供一下功能:收支管理功能:收支管理面模块是本系统的核心数据源,在这一功能模块中,主要实现个人理财系统的重要功能,可以添加,删除,修改信息。添加的内容里,可以选择添加的日期,类型是支出还是收入。支出又可以分为:生活费,服装费,交通,购物等。收入又可以分为:工资,奖金,利息等,可以选择添加到哪一个账户里面,多少金额。另外还可以对已经添加的信息进行修改和删除,类似账户管理模块。计算器功能:计算器功能主要实现了普通的加减乘除运算,该功能嵌入本系统后可以更好的应用于理财系统,使得收支记录更加便利。备忘录功能:备忘显示界面每一个备忘都会有它所包含的时间和备忘内容。日历日期所对应的备忘显示界面也是相应的显示。而在备忘添加界面中包含了显示界面所对应的各项数据、添加备忘成功后会有对应日历日期的标记。资讯功能:财经新闻里是客户端从新闻服务器端获取的数据,在网络连接的情况下,显示出所有的订阅信息,所有的订阅信息放在一个二级分类下面,阅读是服务器端推荐的好的订阅源。37 自选股功能:自选股功能模块主要实现对股票信息的查询,同时将自选股票信息加入自选股列表中,可以查询所选股票的走势,以及自选股列表信息,并实现自选股记录的删除等。收支排行榜:收支排行榜功能模块是本系统和PC服务器交互的模块之一,主要实现了对服务器数据的获取,并根据获取结果读取收支排名信息后以列表的形式显示在app界面中,由于服务器的数据共享性,因此该模块对于所有app端来说都是数据一致的。讨论区功能:讨论交流功能模块是本系统的各app端实现交互的重要模块,讨论交流功能模块主要将交流数据以记录的形式存在服务器端,其他用户登陆后可以查询到该交流列表信息。通过对系统的用户和功能结构图的分析,可得出本系统大致的用例图如3-2所示:图3-2系统用例图3.3各功能模块需求分析3.3.1用户登录功能模块用户登录功能是用户通过系统登录进入主界面,用例图如下图3-3所示:图3-3用户功能模块用例图通过对用户功能用例图进行分析,用例描述如表3-3所示:37 表3-3用户功能用例描述表用例名称用户登录标识符01简单描述用户进行系统登录参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统输入用户名和密码点击登录,登录完成可选操作流程退出系统3.3.2收支管理功能模块收支管理功能是用户对自己的收入和支出进行管理,包括添加、删除、修改信息,用例图如下图3-4所示:图3-4收支管理功能模块用例图通过对收支管理功能模块用例图进行分析,该模块划分出来的各个子模块的功能和用例描述如下:收入管理:对收入信息的添加、修改、删除操作;用例描述如表3-4所示:表3-4收入管理用例描述表用例名称收入管理标识符02简单描述用户对收入进行管理参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统进入收入界面添加收入信息可选操作流程删除、修改已存在的信息支出管理:对支出信息的添加、修改、删除操作;用例描述如表3-5所示:37 表3-5支出管理用例描述表用例名称支出管理标识符03简单描述用户对支出进行管理参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统进入收入界面添加支出信息可选操作流程删除、修改已存在的信息3.3.3自选股管理功能模块自选股管理功能是用户根据自身需求自行添加关注的股票,并可以实时更新股票的最新信息以便查阅。用例图如下图3-5所示:图3-5自选股管理功能模块用例图通过对自选股管理功能模块用例图进行分析,该模块划分出来的各个子模块的功能和用例描述如下:新增股票:用户通过输入股票代码添加新股票;用例描述如表3-6所示:表3-6新增股票用例描述表用例名称新增股票标识符04简单描述用户添加股票参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统,进入自选股界面添加新股票可选操作流程无股票列表:股票列表显示用户所有已添加的股票;用例描述如表3-7所示:表3-7股票列表用例描述表用例名称股票列表标识符05简单描述股票列表显示用户所有已添加的股票37 参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统进入自选股界面查看已添加的股票可选操作流程查看已选股票的最新信息3.3.4备忘录功能模块备忘录功能是用户按自身要求添加注意事项,并按日期时间进行排列,方便用户随时查阅。用例图如下图3-6所示:图3-6备忘录功能模块用例图通过对备忘录功能模块用例图进行分析,该模块划分出来的各个子模块的功能和用例描述如下:新增事项:用户添加新事项;用例描述如表3-8所示:表3-8新增事项用例描述表用例名称新增事项标识符06简单描述用户添加新事项参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统进入备忘录界面添加新事项可选操作流程无事项列表:事项列表显示用户所有已添加的事项;用例描述如表3-9所示:表3-9事项列表用例描述表用例名称事项列表标识符07简单描述事项列表显示用户所有已添加的事项参与者用户前置条件访问该系统37 后置条件登录成功,显示主界面基本操作流程访问该系统进入备忘录界面查看所有事项可选操作流程修改信息3.3.5资讯功能模块备忘录功能是用户按自身要求添加注意事项,并按日期时间进行排列,方便用户随时查阅。用例图如下图3-7所示:图3-7资讯功能模块用例图通过对资讯功能模块用例图进行分析,该模块划分出来的各个子模块的功能和用例描述如下:财经新闻列表:显示所有分类新闻;用例描述如表3-10所示:表3-10财经新闻列表用例描述表用例名称财经新闻列表标识符08简单描述用户查看财经新闻列表参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统进入资讯界面查看财经新闻列表可选操作流程无查看新闻:通过财经新闻列表二级分类查看新闻;用例描述如表3-11所示:表3-11查看新闻用例描述表用例名称查看新闻标识符09简单描述通过财经新闻列表二级分类查看新闻参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统进入资讯界面37 查看新闻可选操作流程无3.3.6讨论区功能模块讨论区功能可以帮助用户与其他用户进行理财心得与理念的交流,同时也可以查看讨论区列表上的信息。用例图如下图3-8所示:图3-8讨论区功能模块用例图通过对讨论区功能模块用例图进行分析,该模块划分出来的各个子模块的功能和用例图描述如下:讨论区列表:显示讨论信息;用例描述如表3-12所示:表3-12讨论区列表用例描述表用例名称讨论区列表标识符10简单描述用户讨论区信息参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统进入讨论区界面查看讨论区信息可选操作流程无用户交流:用户与用户之间互相交流;用例描述如表3-13所示:表3-13事项列表用例描述表用例名称用户交流标识符11简单描述用户与用户之间相互交流参与者用户前置条件访问该系统后置条件登录成功,显示主界面基本操作流程访问该系统进入讨论区界面发表信息可选操作流程无37 3.4本章小结本章主要是通过走访,对手机理财软件所需工作进行研究分析,找到个人理财信息管理核心需求点,满足信息管理工作的需求,对系统使用人员进行分析,对系统功能进行阐述。37 第4章系统设计系统设计是新系统的物理设计阶段。根据系统分析阶段所确定的新系统的逻辑模型、功能要求,在用户提供的环境条件下,设计出一个能在计算机网络环境上实施的方案,即建立新系统的物理模型[9]。系统的功能结构是根据需求分析的结果来设计的,根据系统详细分析,个人理财系统共分为:备忘录、财经新闻模块、利率计算模块、计算器模块、收支管理模块以及讨论交流。通过对手机理财软件工作的分析,对系统进行了主要模块的划分,通过对主要功能模块的建立时序图和流程图对功能进行梳理,对数据库设计了E-R图和数据表格。4.1系统功能设计用户进入系统对系统进行访问,系统结构图如图4-1所示:`图4-1系统结构图4.2系统数据库设计4.2.1概念结构设计(1)总体E-R图通过如图4-2的总体E-R图可以较为清晰的看到,每个用户可以记录多条收入和支出信息。37 图4-2数据库总体E-R图(2)局部实体图图4-3为用户表实体图,包括了账号、用户名、用户密码的描述。图4-3用户表实体图图4-4为收入表实体图,包括了id、收入时间、收入金额、收入类型、收入说明。37 图4-4收入表实体图图4-5为支出表实体图,包括id、支出时间、支出金额、支出类型、支出说明。图4-5支出表实体图4.2.2数据字典设计(1)日常收入类别表:用于记录日常收入类别的相关信息,主要字段有日常收入类别名称、日常收入类别的说明信息,具体设计如表4-1所示:表4–1日常收入类别表字段名称数据类型字段大小是否主键说明icategoryvarchar10是类别名称sayvarchar10否对类别的说明(2)日常支出类别表:用于记录日常支出类别的相关信息,主要字段有日常支出类别名称、日常支出类别的说明信息,具体设计如表4-2所示:表4–2日常支出类别表字段名称数据类型字段大小是否主键说明icategoryvarchar10是类别名称sayvarchar50否对类别的说明(3)日常收入表:用于记录日常收入数据的相关信息,主要字段有日常收入日期、金额、类别、备注,具体设计如表4-3所示:表4–3日常收入表字段名称数据类型字段大小是否主键说明idinteger8是收入ididatechar10否收入时间isourcevarchar8否收入类型iImoneyinteger8否收入金额imemovarchar50否收入说明37 (4)日常支出表:用于记录日常支出数据的相关信息,主要字段有日常支出日期、金额、类别、备注,具体设计如表4-4所示:表4–4日常支出表字段名称数据类型字段大小是否主键说明idinteger8是支出ididatechar10否支出时间isourcevarchar8否支出类型imoneyinteger8否支出金额imemovarchar50否支出说明4.3各功能模块设计4.3.1系统登陆功能模块设计(1)模块描述登陆功能模块主要是一个系统的必备模块,即用户输入用户信息并点击登陆按钮等相关功能。如表4-5所示为该模块主要业务功能,如图4-6所示为该功能模块的流程逻辑图。(2)模块功能表4-5用户功能表业务输入处理输出登录用户名、密码验证登录结果(3)模块流程逻辑37 图4-6用户登陆功能模块流程图4.3.2备忘录功能模块设计(1)模块描述在本模块中包括总的备忘显示页面。备忘显示界面每一个备忘都会有它所包含的时间和备忘内容。日历日期所对应的备忘显示界面也是相应的显示。而在备忘添加界面中包含了显示界面所对应的各项数据、添加备忘成功后会有对应日历日期的标记。另外也有对备忘的一系列管理操作的功能。如表4-6所示为该模块主要业务功能,如图4-7所示为该功能模块的流程逻辑图。(2)模块功能表4-6备忘录功能表业务输入处理输出备忘录新增备忘录信息存储至数据库中新增结果备忘录删除无删除数据信息删除结果(3)模块流程逻辑37 图4-7备忘录功能模块流程图4.3.3收支管理功能模块设计(1)模块描述收支管理是本系统的重要功能,可以添加,删除,修改信息。添加的内容里,可以选择添加的日期,类型是支出还是收入。支出又可以分为:生活费,服装费,交通,购物等。收入又可以分为:工资,奖金,利息等,可以选择添加到哪一个账户里面,多少金额。另外还可以对已经添加的信息进行修改和删除,类似账户管理模块。如表4-7所示为该模块主要业务功能,如图4-8所示为该功能模块的流程逻辑图。(2)模块功能表4-7收支管理功能表业务输入处理输出收入添加录入收入的相关信息保存录入信息保存结果支出添加录入支出的相关信息保存支出信息保存结果查看账单无查询账单列表显示账单(3)模块流程逻辑37 图4-8收支管理功能模块流程图4.3.4财经新闻功能模块设计(1)模块描述财经新闻里是客户端从新闻服务器端获取的数据,在网络连接的情况下,显示出所有的订阅信息,所有的订阅信息放在一个二级分类下面,阅读是服务器端推荐的好的订阅源,个性阅读是用户自己喜欢的一些阅读,各个分类下面是用户需要订阅的一些订阅源。如表4-8所示为该模块主要业务功能,如图4-9所示为该功能模块的流程逻辑图。(2)模块功能37 表4-8设置功能表业务输入处理输出新闻获取新闻类别获取网络新闻新闻列表(1)模块流程逻辑图4-9新闻模块流程图4.3.5自选股功能模块设计(1)模块描述自选股是主要实现对股票信息的查询,在网络连接的情况下,显示出所有的用户已经添加的股票,所有的已经添加的股票自动添加到列表中,用户通过点击列表中的任一已添加股票,查看该股票获取的最新数据,同时也可以查看最新的K线图,通过K线图可以得知股票的最新走势。。如表4-9所示为该模块主要业务功能,如图4-10所示为该功能模块的流程逻辑图。(2)模块功能37 表4-9设置功能表业务输入处理输出添加自选股自选股代码获取自选股自选股列表查看自选股无更新自选股自选股数据(3)模块流程逻辑图4-10自选股模块流程图4.3.6讨论区功能模块设计(1)模块描述讨论交流功能模块是本系统的各app端实现交互的重要模块,讨论交流功能模块主要将交流数据以记录的形式存在服务器端,其他用户登陆后可以查询到该交流列表信息。同时,用户可以发表自己的信息,互相交流理财的相关经验或心得。如表4-10所示为该模块主要业务功能,如图4-11所示为该功能模块的流程逻辑图。(2)模块功能37 表4-10设置功能表业务输入处理输出发表信息交流信息存在服务端交流列表信息(3)模块流程逻辑图4-11讨论区模块流程图4.4本章小结在对系统进行需求分析之后,本章主要对系统进行相应的设计,主要包括三大部分内容,包括对系统的总体架构设计、主要功能模块设计和数据库设计。37 第5章系统实现本软件属于手机应用程序,因此手机界面的设计也是其用户友好性实现的重要根基,用户界面设计的好坏很大程度上在直观第一印象上给人深刻印象,利用画布重绘方法,实现界面显示,广告动画之间的显示则是通过时间间隔判断,设置透明度重绘。实现部分主要主要是对系统的实现界面进行展示,对系统实现的外界条件进行介绍,通过功能实现关键代码,方便用户更为直观的了解系统的功能。5.1系统登陆功能设计由于进行手机理财信息管理涉及到重要的私密信息,事关重大,所以在系统的登入过程必须有一定的严密性,所以对于登入的身份校验就是非常重要的一环,对于收支的权限管理和确认必须严密,保证好系统存储的信息不易被篡改。同时基本的功能及逻辑算法必须正确,诸如系统不可以重复开启多个运行,同一个账号不可重复登入,登出后账号再次登入不会报错,登入的账号或者密码错误能够正确弹出提示错误内容等。图5-1为登入界面:用户登录步骤如下:步骤1:用户在账号输入框、密码框输入账号、密码。(a)(b)图5-1系统登陆界面实现步骤2:向服务器发送登录请求。步骤337 :获取服务器返回的成功或失败的登录信息,若成功则跳转到系统主界面,否则弹出提示错误内容。LayoutInflaterinflater=LayoutInflater.from(this);views=newArrayList();//初始化引导图片列表views.add(inflater.inflate(R.layout.viewpager_one,null));views.add(inflater.inflate(R.layout.viewpager_two,null));views.add(inflater.inflate(R.layout.viewpager_three,null));views.add(inflater.inflate(R.layout.viewpager_four,null));//初始化AdaptervpAdapter=newViewPagerAdapter(views,this);vp=(ViewPager)findViewById(R.id.viewpager);vp.setAdapter(vpAdapter);//绑定回调vp.setOnPageChangeListener(this);5.2计算器功能设计计算器功能主要实现了普通的加减乘除运算,该功能嵌入本系统后可以更好的应用于理财系统。该功能模块的主要实现界面如下图5-2所示:图5-2计算器功能界面实现37 publicbooleanonKeyDown(intkeyCode,KeyEventevent){if(keyCode==KeyEvent.KEYCODE_BACK&&keyCode==KeyEvent.KEYCODE_HOME||event.getRepeatCount()==0){Intentintent=newIntent();intent.setClass(CalculatorActivity.this,MainActivity.class);startActivity(intent);CalculatorActivity.this.finish();returnfalse;}returnfalse;}5.3备忘录管理功能设计在本模块中包括总的备忘显示页面。备忘显示界面每一个备忘都会有它所包含的时间和备忘内容。日历日期所对应的备忘显示界面也是相应的显示。而在备忘添加界面中包含了显示界面所对应的各项数据、添加备忘成功后会有对应日历日期的标记。另外也有对备忘的一系列管理操作的功能。其实现界面如下图5-3所示:图5-3备忘录实现界面37 flag=DBUtil.addNotepad(content);Toasttoast;if(flag){toast=Toast.makeText(getApplicationContext(),"添加成功",Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,0);toast.show();}else{toast=Toast.makeText(getApplicationContext(),"添加失败",Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,0);toast.show();5.4财经新闻管理功能设计财经新闻里是客户端从新闻服务器端获取的数据,在网络连接的情况下,显示出所有的订阅信息,所有的订阅信息放在一个二级分类下面,阅读是服务器端推荐的好的订阅源,个性阅读是用户自己喜欢的一些阅读,各个分类下面是用户需要订阅的一些订阅源。该模块的实现截图如图5-4所示:图5-4财经新闻模块publicvoidonClick(Viewv){//TODOAuto-generatedmethodstubintname=R.raw.jinrongjichu;intent.setClass(KnowledgeActivity.this,KnowledgeDetailActivity.class);37 Bundlebundle=newBundle();bundle.putInt("name",name);bundle.putString("title",title);intent.putExtras(bundle);startActivity(intent);overridePendingTransition(R.anim.add_go,R.anim.main_go);KnowledgeActivity.this.finish();}5.5收支管理功能设计收支管理是本系统的重要功能,可以添加,删除,修改信息。添加的内容里,可以选择添加的日期,类型是支出还是收入。支出又可以分为:生活费,服装费,交通,购物等。收入又可以分为:工资,奖金,利息等,可以选择添加到哪一个账户里面,多少金额。另外还可以对已经添加的信息进行修改和删除,类似账户管理模块。如图5-5所示,用户记账的步骤如下:步骤1:用户点击支出/收入导航图标。步骤2:分别在金额、类别、账户、日期、项目、成员对应的框内填入或选定相应的内容。步骤3:点击“保存”按钮,保存数据。图5-5收支管理功能模块publicvoidonClick(Viewv){//TODOAuto-generatedmethodstubString[]income_content=newString[]{income_money.getText().toString(),incomeCategoryStr,37 incomeZhanghuStr,income_time.getText().toString(),incomeProjectStr,incomeMemberStr,income_ps.getText().toString()};if(income_money.getText().toString().length()==0){Toasttoast=Toast.makeText(getApplicationContext(),"请输入消费金额",Toast.LENGTH_SHORT);toast.setGravity(Gravity.CENTER,0,0);toast.show();return;}5.6自选股功能设计自选股功能模块主要实现对股票信息的查询,同时将自选股票信息加入自选股列表中,可以查询所选股票的走势,以及自选股列表信息,并实现自选股记录的删除等,该模块的实现界面如下:如图5-6所示,自选股操作步骤如下:步骤1:点击“添加自选股”按钮,进入添加自选股界面。步骤2:输入股票相应代码进行查询,将股票添加到自选股列表上。步骤3:点击相应股票,查看股票走势图。(a)(b)图5-6自选股管理功能模块StringBuildersb=newStringBuilder("http://image.sinajs.cn/newchart/min/n/");//字符串默认部分sb.append(exchangeHall);//证券交易所sb.append(code);//股票代码sb.append(".gif");//字符串默认部分37 StringurlStr=null;urlStr=newString(sb.toString().getBytes(),"gbk");URLurl=newURL(urlStr);URLConnectionconn=url.openConnection();InputStreamis=conn.getInputStream();5.7本章小结本章节主要是对系统的开发环境进行介绍,对系统的实现界面进行展示,方便用户更为直观的了解系统的功能。37 第6章系统测试在系统投入使用之前,需要对系统进行测试主要完成测试用例的编写以及系统性能测试等内容,保证系统正式投入使用前能够测试正常,本章节也对系统的绩效情况进了详细的分析[10]。6.1测试概述在实际完成毕业设计的过程之中,由于完成时间有限且任务较多,并没有进行严密的系统测试,只是进行了一些模块简单的测试过程。但足以保证整个系统的稳定性和可靠性,在多次测试中,不断的改进系统的功能,基本能满足一个企业的基本需求。6.2测试用例在系统发布之前必须对整个系统的每个模块进行测试,下面将对测试的具体操作过程进行举例说明:系统总体简单测试,如表6-1:表6-1用例测试表测试子项目预置条件测试步骤期望结果测试人员欢迎界面无打开手机应用1.页面图片清晰,无明显拉伸、模糊感;2.等待欢迎界面动画显示进入应用界面;夏曦光主界面登录验证打开手机软件,登录进入主界面1.界面中的各种元素都显示正常;2.各模块导航图标清晰无重叠;夏曦光日常收入界面用户已登录点击日常收入导航图标,进入收入界面1.界面各控件显示正常;2.类别无差错,信息插入无异常;3.底部动画切换正常夏曦光日常支出界面用户已登录点击日常支出导航图标,进入支出界面1.界面各控件显示正常;2.类别无差错,信息插入无异常;3.底部动画切换正常;夏曦光计算器界面用户已登录,数据库连接无异常点击进入计算器界面1.界面各元素显示无异常;2.分类切换正常;3.计算结果无异常;夏曦光查询界面用户已登录,数据库连接无异常点击进入收入、支出界面1.界面控件显示正常;2.数据查询功能无异常;3.查询结果列表显示正确,切换进入详情页;夏曦光基本信息界面用户已登录,数据库连接无异常点击进入基本信息界面1.界面各元素显示正常;2.数据类型和范围正确;3.数据库操作无异常;夏曦光退出软件运行中点击直接退出软件无异常夏曦光37 (1)测试用户登入功能:先在底层的程序设计过程里,设定一个固定的管理员登入账号,即账号密码同为“admin”。在打开系统之后,在系统的登入界面上,输入用户名“admin”,在密码栏中输入默认密码“root”,之后点击确认模块,如果正常运行即登入成功。之后再次打开程序,会弹出程序已经在运行中的提示。退出程序重复上述操作,但是输入另外的密码,将提示“密码错误”的提示。同时在后续的检测中必须保证同一个账号无法重复登入且在输入不存在用户时,会弹出“账号不存在”的错误提示。如表6-2所示:表6-2管理员登录用例测试表测试编号01测试目标验证是否能够正确登录系统测试步骤① 输入已经设定的管理员账号和密码② 输入正确的账号名,错误的密码③ 输入错误的账号名和密码预期输出输入正确账号名和密码时进入系统,任何一项有错时都不能进入系统实际结果输入正确账号名和密码的时候能够进入系统,输出错误信息则不能登录系统结论系统登录正常(2)测试其他用户是否能够正常登录:在利用管理员账号登入后,在人事管理界面登记新的收支模拟账号,再次登入。重复测试1中的操作测试账号登入及校验功能是否正常。并且要注意收支的权限是否和管理者相同。如表6-3所示:表6-3用户登录用例测试表测试编号02测试目标验证是否能够正确登录系统测试步骤① 输入正确的用户名和密码② 输入正确的用户名,错误的密码③ 输入错误的用户名和密码预期输出输入正确用户名和密码时进入系统,任何一项有错时都不能进入系统实际结果输入正确用户名和密码的时候能够进入系统,输出错误信息则不能登录系统结论用户登录正常(3)测试收支信息的编辑功能:在管理员账号登录成功之后,在收支个人信息的管理页面中进行编辑操作选择“编辑”按键之后,就可以在弹出的界面中对收支信息进行增加、删除、修改操作。再在点击“保存”按钮之后,除了查看底层的存储文件是否有新增收支信息,还可以进入下一个“查询”过程的测试,对于信息保存功能进行二次测试。如表6-4,6-5所示:37 表6-4收入管理用例测试表测试编号03测试目标验证是否能够正确添加和删除收入信息测试步骤① 用户登录系统② 点击日常收入导航图标,进入收入界面③ 输入收入信息后点击添加/点击确认删除预期输出添加时,该模块的界面上显示添加的收入信息删除时,该模块的界面上删除掉选中的收入信息实际结果添加时,能够正确显示添加的收入信息删除时,正确删除掉所选中的收入信息结论收入管理正常表6-5支出管理用例测试表测试编号04测试目标验证是否能够正确添加和删除支出信息测试步骤① 用户登录系统② 点击日常支出导航图标,进入支出界面③ 输入支出信息后点击添加/点击确认删除预期输出添加时,该模块的界面上显示添加的支出信息删除时,该模块的界面上删除掉选中的支出信息实际结果添加时,能够正确显示添加的支出信息删除时,正确删除掉所选中的支出信息结论支出管理正常(4)测试查询功能:如上,在管理员账号登入之后,点击主界面上的“查询”按钮,之后在界面中出现的文本框中输入收支的信息便可进行查询。查询结果将会出现在新增的弹窗中显示,页面显示的内容为收支的个人信息。这样就可以测试查询功能的同时完成存储功能的测试。如表6-6所示:表6-6测试查询用例测试表测试编号05测试目标验证是否能够正确查询收入和支出信息测试步骤① 用户登录系统② 点击主界面上的“查询”按钮③ 输入收入或支出信息进行查询预期输出新弹窗显示查询结果实际结果新弹窗显示查询结果结论测试查询正常(5)测试自选股功能:在管理员账号登入之后,点击主界面上的“自选股”按钮,之后在界面中可以点击“添加自选股”37 进行添加股票,添加成功后将会显示在自选股列表中;也可以点击一添加的自选股,弹出的界面将会显示股票最新的走势。这样就可以测试自选股功能的同时完成存储功能的测试。如表6-7,6-8所示:表6-7测试添加自选股用例测试表测试编号06测试目标验证是否能够正确添加自选股测试步骤① 用户登录系统② 点击自选股界面上的“添加自选股”按钮③ 输入股票代码进行查询添加预期输出新添加的自选股显示在股票列表上实际结果新弹窗显示查询结果结论测试添加自选股正常表6-8测试自选股更新用例测试表测试编号07测试目标验证是否能够更新最新走势测试步骤④ 用户登录系统⑤ 点击自选股界面上的已添加自选股⑥ 界面显示走势图预期输出界面显示最新走势图实际结果界面显示最新走势图结论测试自选股更新正常在测试过后,得出的测试结果是:实际结果与预期结果基本一致,功能达到了预期效果,系统完成了基本要求,但是其中还是存在缺陷,需要在今后不断完善。6.3本章小结本章节主要是对系统功能的测试与绩效分析,根据系统功能编写测试用例,对系统的具体功能点进行详细的测试用例设计,对系统的性能进行相应的测试,保证了系统在显示使用中的正常运行。37 第7章总结与展望7.1总结经过了13周的时间,本课题从前期的调研,到需求分析、概要设计、详细设计、再到开发和测试最终基本完成课题的要求。基于安卓android手机理财软件已经实现预计功能。具体而言,本课题所做的工作包括以下几个方面:(1)从宏观角度,对理财做了调研,了解了理财的相关意义,明确了手机理财系统的目标和功能,制定本课题的工作内容。(2)利用软件需求理论,对手机理财系统进行需求分析。首先从整体设计了手机理财系统的组成架构,然后详细的分析了系统的用户需求、功能需求、开发环境、可行性研究。(3)根据需求分析,对手机理财系统进行了概要设计。首先从整体设计了手机理财系统的系统结构,然后设计了手机理财系统的功能模块结构、数据库设计与数据存储、数据操作。(4)根据概要设计,对手机理财系统进行了详细设计并实现。首先从整体上设计了系统的代码结构,然后在原来概要设计的基础上对手机理财系统的功能模块、UI界面、数据库与数据存储、数据操作进行了详细设计,最后实现对代码的编写。(5)随着手机理财系统开发的进行,测试了手机理财系统的运行结果,从而进一步完善手机理财系统的功能。7.2展望本课题设计实现的基于安卓android手机理财软件基本满足了课题的要求,达到了课题的预期目标。但是,距离一个完善的系统还是有一定的差距。本系统存在以下几个方面需要改进和完善:(1)改善界面设计。理财管理的界面设计并不是很友好,主要是界面的布局不是非常的规范,有待改进。(2)软件在系统安全的设置上并没有进行系统管理员以及系统普通用户的操作区分,后期会进行改进优化。(3)移植性还有待解决。目前只能运行在Android上,但是还有很多用户可能用的是IOS、WindowsPhone等其他操作系统的手机,一个好的解决方案就是在客户端嵌入Web轻应用,这样就可以实现跨平台,带来更多的便利。37 结束语在反反复复的学习中,我的辛勤努力有了回报,终于做出了这个系统,虽然这个系统的功能不是很强大,而且我想,在实际的运用中,还有些不足。因为内容非常丰富,我涉及到的仅仅是理财系统的一部分简单的内容,离实际的客户的需求肯定还有一定的差距。由于我的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多的不足,比如功能过少,界面不够醒目等,我会在工作的使用过程中,根据工作的具体要求不断的修改,完善,争取使该系统慢慢趋向完美。虽然通过系统的软件测试方法的检测,但是该个人理财管理系统还存在着一些潜在的缺陷:首先,理财管理的界面设计并不是很友好,主要是界面的布局不是非常的规范,致使该个人理财管理系统在使用时不会给用户带来非常舒适、新颖的感觉。其次,软件在系统安全的设置上并没有进行系统管理员以及系统普通用户的操作区分,这对以后系统增添新功能是可能会造成权限的不统一问题,这还有待今后系统功能强大后再进行补救。最后,该系统的移植性并不理想在此方面的欠缺亟待解决。虽然这个理财管理系统还存在着以上问题,但是该系统通过了比较系统的测试证明,其实用性还是可以达到要求的,系统存在的问题由于时间不足以及本人水平有限,没能够得到及时的解决,希望在以后的学习中可以找到解决的方法和途径。37 参考文献[1]杨丰盛.Android技术内幕[M].北京:机械工业出版社,2011:77-89.[2]李刚.疯狂Android讲义[M].北京:电子工业出版社,2013:25-42.[3]马越.Android的架构与应用[D].北京:中国地质大学,2008:330-357.[4]姚昱旻,刘卫国.Android的架构与应用开发研究[J].计算机系统应用,2008,77(11):99—111.[5]武玉坤.基于Android移动学习平台的设计[J].计算机应用,2013,01:21-47.[6](美)斯蒂夫(Stephens,R.K.),(美)普卢(Plew,R.R.)著.何玉洁等译.数据库设计[M].北京:机械初版社,2001.9.[7]姚永明,吕建平.基于Android平台的用户管理软件的设计与实现[J].西安文理学院学报(自然科学版),2013,01:79—83.[8]明日科技.Android从入门到精通[M].清华大学出版社,2013,02:166-167.[9]杜吉志,徐明昆.Android系统内存管理研究及优化[J].软件,2012,24(5):69-80.[10]杨云君.Android的设计与实现[M].北京:机械工业出版社,2013:45-49.37 致谢能够顺利完成本次毕业设计和论文,首先要感谢老师对我的指导。老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我受益匪浅。她无论在理论上还是在实际中,都给了我许多宝贵的意见,解决了很多技术上的难题,给予了我很大的帮助,使我得到不少的提高。从选题到开题报告,从写作提纲,到一遍又一遍的指出每稿中的具体问题,严格把关,循循善诱,这对于我以后的工作和学习都有一种巨大的帮助,衷心感谢她耐心的辅导。同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和朋友。通过这次毕业设计,我不仅提高了专业技术水平,还拓宽了我的知识面,培养了我独立解决问题的能力。毕业设计是四年大学所学专业知识的综合运用,是我综合能力的全面体现,也是我将来顺利走上工作岗位的前奏。为此,我不断的提醒自己:一定要尽最大努力做好这次毕业设计!实践证明,这次毕业设计我真的学到了不少知识,从中受益匪浅。希望这次在毕业设计中所学到的知识能够更好的运用于将来的工作,同时在毕业设计中所体现出来的精神能够继续延续!最后,谨向百忙之中审阅论文和参加答辩的每一位老师表示由衷的谢意!37