毕业设计(论文)-基于Android的手机理财软件.doc_第1页
毕业设计(论文)-基于Android的手机理财软件.doc_第2页
毕业设计(论文)-基于Android的手机理财软件.doc_第3页
毕业设计(论文)-基于Android的手机理财软件.doc_第4页
毕业设计(论文)-基于Android的手机理财软件.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

全套设计加扣 3012250582 毕 业 设 计 论 文题 目: 基于Android的手机理财软件 学 院: 计算机科学与工程学院 专 业: 计算机科学与技术 姓 名: 学 号: 指导老师: 完成时间: 2015年05月 全套设计加扣 3012250582 摘要随着移动互联网的快速发展和人民经济水平的提高以及当今快速的生活节奏,人们似乎已经没有时间管理自己的资金。手机是现代生活非常普遍的随身通讯工具,尤其是智能手机的发展和使用,使移动管理计算成为一件十分简单的事情。手机记账的优点就是在于人们对日常生活中的经济活动能够及时进行记录,方便、快捷,并且保证消费记录的精确性。人们可以随时随地的来查看自己的收入和支出情况,从而合理的规划自己的资金使用。通过这样的记账系统,从而进一步实现生活目标。手机理财系统作为手机应用的一部分,使用手机对个人资金进行记录管理,是具有人工记录和电脑软件管理无法相比的优势,比如,方便携带,成本低,存储量大,查找快捷,可靠性高,保密性好,方便管理等。这些优点使得手机理财软件的得到应用和欢迎,使人们从此能够科学化,正规化的管理自己的资金。论文的主要内容是介绍android系统,具体分析了android的四大组件,并对android的系统结构进行分层描述和分析以及根据需求和总体设计对个人理财的功能进行详细分析和实现。关键词:android 理财 智能手机IIABSTRACTWith the rapid development of mobile Internet and the improvement of peoples economic level and in todays fast rhythm of life, people seem to have no time to manage their own money. Mobile phones are very common modern life portable communication tools, especially the development of smart phones and mobile management is used to calculate be a very simple thing. Mobile phone charge to an account is the advantages of economic activities in the Peoples Daily life can carry on the record timely, convenient, fast, and ensure accuracy of records of consumption. People can be anywhere at any time to view their own income and expenditure situation, thus reasonable planning their own money to use. Through such accounting system, thus further realize the goal of life.Mobile banking system as part of the mobile application, the use of mobile phones to record management of personal finances, is a manual record and the advantage of computer management software cannot be compared, for example, portable, low cost, large storage capacity, fast search, high reliability, good secrecy, convenient management, etc. These advantages make mobile financial software applications and welcome, make people from now on to the scientific, regularized management their money.The main content of the paper is to introduce the android system, a detailed analysis of the four components of the android, and the system structure of android hierarchical description and analysis, and according to the requirements and overall design detailed analysis of the function of personal finance, and implementation.Keywords: android financial smartphoneIII全套设计加扣 3012250582目录1 绪论11.1 课题研究的目的背景及意义11.2 移动互联网和android现状11.3 论文研究内容22 Android系统研究32.1 Android介绍32.2 Android框架综述42.2.1 Android框架图42.2.2 Android框架各层介绍42.3 Android应用程序组成部分62.4 应用组成详解72.5 Windows下Android开发环境搭建93 可行性分析113.1 功能分析113.2 决定可行性的主要因素113.3 可行性研究任务113.4 可行性研究结论124 需求分析134.1 需求分析的意义134.2 理财软件功能需求134.3 可靠性和可用性需求134.4 用例图144.4.1 理财应用模块144.4.2 账目管理模块用例图144.4.3 更多侧滑模块用例图155 系统设计175.1 框架设计模块175.1.1 MVC框架介绍175.1.2 服务端介绍175.1.3 Android客户端介绍185.2 项目类图设计185.2.1 服务端类图185.2.2 客户端类图20III5.3 系统流程图235.3.1 程序主流程图235.3.2 更多侧滑流程图246 软件实现266.1 应用欢迎界面266.2 应用新手指导界面276.3 应用登陆注册界面286.4 账目管理界面296.5 侧滑和账目列表界面306.6 关于和计算器界面326.7 完善信息和修改密码界面357 系统测试377.1 测试目的377.1.1 软件测试的目的377.1.2 软件测试原理377.1.3 测试内容377.2 测试范围37参考文献39致谢40IV全套设计加扣 30122505821 绪论1.1 课题研究的目的背景及意义 现今社会生活紧张,人们根本无暇管理自己的消费情况,而基于手机的android理财软件是管理消费的最好的软件之一。该项目的研究目的是开发出一个在android手机上面运行的一款可以随时随地记录收入和支出消费情况的软件。该软件不仅可以记录消费情况还可以对消费情况修改和删除以及查询等功能。该软件运行在android手机上面,携带方便,易于操作,可以随时随地记录消费情况,是非常适合现在紧张的社会生活的一款理财软件。移动设备和互联网的迅速发展和相互结合,使得移动互联网得到迅猛发展,手机等移动产品在人们的生活学习中已经不仅仅是用来通讯的设备了,而是集通讯,娱乐,办公,社交等的一种多功能智能设备。而现在智能手机几乎等于是掌上电脑了,电脑能做的事情手机也几乎都能做,因此人们在手机上花费的时间是越来越长。在这样的情况下,移动终端上的应用是非常受人们所青睐的。各种移动互联网产品呈现在用户面前,并且正在潜移默化的改变着人们的学习,工作和生活。移动互联网智能手机应用所基于的平台系统中最常见的有ios和android,这些操作系统的多样性提供了应用软件的开发平台的多样性和运行环境的多样性,这样的多样性虽然能给用户带来了更多选择满足用户的需求,但是这样的多样性给很多进行移动开发的工程师和企业带来了更多的开发上的难题。如何快速,低成本的开发出用户满意的应用成了企业和用户关注的热点。移动操作系统中发展最好的是android,android占有的市场份额排名位居移动操作系统的榜首。可见使用android设备和应用的用户相对比较多,因此开发android端的手机理财软件会更有意义。因为android用户是目前最多的,所以开发android端的手机理财软件可以帮助更多的人进行消费情况的记录,帮助人们在紧张的社会生活中更加合理的规划自己资金,提醒用户资金消费情况,让个人生活更加井然有序,幸福美满。1.2 移动互联网和android现状与传统的互联网时代相比较,移动互联网产业的业务和终端形态产生了变化并且展示出巨大的创新活力,引起这些变化的主要因素有:网路无处不在的接入能力,服务的个性化,网络的开放性和创新性,以及这些因素的相互作用。移动互联网已经成为我国重要的战略性新兴产业,它是以后信息技术的发展趋势。李克强总理在政府工作报告中提出,制定“互联网+”行动计划,大数据物联网等与现代制造业结合,推动移动互联网,促进电子商务,云计算,工业互联网和互联网金融健康快速的发展,引导互联网企业拓展国际市场,由此可见我国对移动互联网的发展是非常重视的,它可是未来几年我国研究的重点也是市场需求所要求的。目前移动互联网的应用中,采用IOS系统,android系统,Window Mobile 系统的占据了大多数,其中android系统最火。它的市场占有率是其他无法比拟的。虽然android占据了很大的市场份额,但是用户使用的系统版本却不集中,目前使用的android版本多打8个,最低版本是android1.5,最高时android5.0。这种多版本的问题给开发者带来了不少的问题,那就是开发出来的应用程序需要在不同的版本机器上进行测试。即使如此,android的开发性和易于开发的特点仍然吸引了大量企业和个人的参与,android是移动市场的主流,开发前景无限。1.3 论文研究内容本课题主要研究基于Android系统的手机理财软件的开发,本文的研究内容有:1. 对android的相关知识进行研究和学习,了解android的特点,分层学习系统结构。2. 对开发基于android的手机理财软件进行需求分析和部分功能实现。3. 在需求分析的基础上完成应用的总体设计和全部功能。42全套设计加扣 30122505822 Android系统研究2.1 Android介绍Android这个单词的本身意思是指“机器人”,Android也是谷歌公司在2007年11月5日宣布的基于Linux平台的开源的手机操作系统的名字,该平台由操作系统、中间件、用户界面和应用软件组成,宣称是首个为移动终端设计的真正开放和完整的移动平台。Android以其特有的开放性优势越来越受到人们和智能手机厂商的青睐。对于第三放软件开发商来说,Android 是一个真正意义上的开放性移动设备综合平台,Android系统是免费向开发人员提供的,这样就避免了开发中专利权的障碍。因此,就能够为第三方软件开发商省下大笔资金。对于设备制造商来说,Android是一个免费的平台。当设备制造商每制造一台手机时,那些支付给手机系统制造商的费用也省去了,这样也降低了每台手机的生产费用,同时就降低了手机的价格,这样在市场上也提高了竞争力。对硬件开发厂商来说,Android也是个开放的平台。使用Android平台的厂商可以根据自己的需求以及能力为Android开发具有该厂商特色的功能,好处就是这样的功能增加完全不用考虑版权的问题,因为android是开放的。同时Android平台支持各种先进的网络、绘图、3D 处理能力,可以用来提供更好的使用者体验。Google Android 系统作为一个完全开源的操作系统,是由操作系统(Linux)、中间件以及核心应用程序组成的软件栈(software stack)。Android操作系统平台以Linux系统为基础,扩充了Android运行时环境(Android Runtime)和应用程序开发平台(Application Platform)。通过 android SDK 提供的 API 以及相应的开发工具, android工程师可以很方便的开发基于android操作系统上的应用程序。其整个系统由应用程序(Application),应用程序框架(Application Framework),应用程序库(Libraries),Android运行库(Android Runtime),Linux内核(Linux Kernel)五个部分组成。此种结构模式使得各层之间的依赖性减少了,并且增强了各层独立开发与调试的能力。Android操作系统还内置了一部分应用程序, 包括电子邮件客户端、SMS程序、日历、地图、浏览器、通讯录以及其他的程序,值得一提的是这些所有的程序都是用java编写,这些程序在购买到手机时厂商都已经写好了内置到手机中了。因为应用程序框架使得组件更易于重用,所以开发者的应用程序可以很容易的调用API函数实现我们想要的功能。在遵守应用程序框架的安全机制约束的前提下,开发者开发的一个应用程序可以使用其他程序所有的已经存在的功能。虽然Android的应用程序是用Java语言开发的,但是Android给应用程序开发者提供了一系列的 C/C+ 程序库,通过Android的一些特殊的设计,我们开发者可以使用这些库,这在后面的叙述中将看到。2.2 Android框架综述任何一个操作系统都是游戏自己的系统框架的这种框架各不相同,Android是一个包括操作系统,中间件以及一些重要应用程序的专门针对移动设备的层次结构的软件集。 2.2.1 Android框架图图2.1 Android系统框架从图2.2.1中明显的可以看出该系统从上到下包括应用程序层、应用程序框架层、Libraries和运行时环境层、Linux内核层四层结构。在Android的最下层的Linux内核层是基于Linux2.6内核的,往上的中间件包括Libraries和运行时环境层和应用程序框架层两个层次,最上层则是应用程序层。2.2.2 Android框架各层介绍(1)应用程序Android会同一系列核心应用程序包一起发布,该应用程序包包括联系人管理程序,SMS短消息程序,浏览器,地图,日历,Email等。所有的应用程序都是使用JAVA语言编写的。 (2)应用程序框架开发者也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用,任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括;丰富而又可扩展的视图(Views):可以用来构建应用程序,它包括列表(listview),网格(grids),文本框(textview),按钮(button),甚至可嵌入的webview网页。内容提供者(Content Providers):这个是android四大组件中的一个它使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。资源管理器(Resource Manager):这个模块的作用是提供非代码资源的访问并且对这些资源进行管理,如本地字符串,图形,和布局文件(layout files)。对资源的管理可以减少代码的开发量,对发开者来说是非常重要的,这样做也可以让程序在后期得到更好的维护。通知管理器(Notification Manager):使得应用程序可以在手机顶部的状态栏中显示自定义的提示信息。比如未接来电,短息,新闻,广告等。活动管理器(Activity Manager):用来管理手机里的应用程序的生命周期并提供常用的导航回退功能。使用活动管理器可以知道手机里面在后台正在运行的消耗内存的程序。(3) 系统运行库3.1 程序库Android包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过 Android应用程序框架为开发者提供服务。以下是一些核心库:系统C库:一个从BSD继承来的标准C系统函数库(libc), 它是专门为基于embedded linux的设备定制的。媒体库:基于PacketVideo OpenCORE,该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。Surface Manager:对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融合。当操作系统同时执行多个软件的时候,外观处理器负责管理存取操作和显示之间的交换。LibWebCore:一个最新web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图,简单的说就是在android页面中可以使用html文件。SGL:底层的2D图形引擎。3D libraries:基于OpenGL ES 1.0 APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。FreeType:位图(bitmap)和矢量(vector)字体显示。SQLite:一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。3.2 Android 运行库Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行的Dalvik可执行文件(.dex),该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK的dx工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于Linux内核的一些功能,比如线程机制和底层内存管理机制。(4) Linux内核Android的核心系统服务基于Linux 2.6内核,如网络协议栈和驱动模型,进程管理,内存管理,安全性。Linux内核同时也作为硬件和软件栈之间的抽象层。2.3 Android应用程序组成部分任何一个Android应用程序,都可由四个部分组成,这四个组成部分分别是Activity;Intent Receiver;Service;Content Provider。对于一个应用程序来说,不一定这四个部分都需要。其中,Activity、Intent Receiver和Service是Android最基本的三个组件。其实,这四个部分全部或者其中几个的相互协调工作组成了我们平时见到的应用程序。在Android中每一个应用程序都需要有一个AndroidManifestxml配置文件,该配置文件用于定义我们的应用程序组件和组件的功能以及一些必要条件,当应用打开时系统首先会读取此XML文件,然后解析它。因此当我们使用到任何一个组件时都需要在这个配置文件中进行登记,否则就算是你在代码中使用了这个组件,但是Android系统也是找不到该组件的。 活动是最基本的 Android 应用程序组件,在应用程序中,一个活动通常就是一个单独的用户界面。而每一个活动都都是要继承系统的活动从而成为一个独立的类的,活动类将会显示由视图(View)控件组成的用户接口,并对事件(Event)做出响应。大多数的应用程序都会有多个用户界面,因此便会有多个相应的活动。Android 的一个活动一般对应界面中的一个屏幕显示,可以理解成一个界面,每一个活动在界面上可以包含按钮、文本框等多种可视的UI元素。Android 系统中的不同组件具有不同的生命周期。Android 根据每个进程中运行的组件以及组件的状态把进程放入一个重要性分级(importance hierarchy)中。Android 进程的重要性分级,可以理解成执行的优先级。活动的生命周期如图2.2所示。 图2.2 activity的生命周期2.4 应用组成详解 Activity:Activity是Android中最最基本的组件,实际应用中,通常就是一个单独的,也就是一个运行在前台程序在某一时刻在屏幕中所能展示的全部内容就是一个Activity。每一个Activity都是继承于Activity基类的一个子类,并且该Activity类由几个之前说过的应用程序框架提供的视图组成用户接口,实现对事件的响应。绝大部分的应用都会包含多个屏幕,例如名片管理的应用,一个屏用于显示所有的联系人,另一个屏用于显示其中某个联系人的详细信息,可能还会有用于分组信息或者用于系统设定的屏。对于这些,每一个屏都是一个Activity。当一个新的Activity执行以后,前一个Activity将暂停,并保存到系统历史堆栈当中,用户可以返回到历史堆栈中的上一个Activity。当该Activity不用时可以从历史堆栈中删除。 Intent Receiver:Intent Receiver有的地方也叫做Broadcast Receiver。当你希望你的应用能够捕获一个外部事件并作出响应时,比如手机快没电了,收到一条新的短信息等。这时你就可以使用一个Intent Receiver。因为Intent Receiver只是在一个你所关注的事件发生时,会给那些关注该事件的应用程序发送一个通知,所以它并不会生成一个UI。同样的Intent Receiver也需要在AndroidManifest.xml中进行注册。当一个你所关注的时间发生时,我们的应用不需要主动去调用intent receiver,系统会在一个合适的时候去调用我们的程序。 Service:Service是一段长生命周期的,没有用户界面的程序。我们举一个播放器的例子,来说明Service程序。当一个播放器在前台运行时我们会看到应用程序提供的一个屏,也就是之前说的Activity,这个Activity提供给用户一些操作播放器如播放、停止、下一曲等操作以及显示一些歌曲和播放列表信息的功能。但是当播放器被切换到后台以后,所有的Activity都放到历史堆栈中了,而这时播放器仍然继续进行播放,而当一首歌曲播放完了以后,还会根据播放列表中的信息播放下一首歌曲。完成这些功能的组件就是Service。当播放器的Activity利用Context.startService()方法启动一个Service后,这个播放器就能够在后台持续的播放音乐了。还有,对于一个Service组件,我们可以使用Context.bindService()连接到Service上,就能通过该Service提供的接口与之进行通信。 Content ProviderContent Provider提供给你的应用程序与其他应用程序共享数据的一个功能。我们的应用程序可以通过Content Provider提供的一些方法来处理或者保存其他应用程序Content Provider中的数据,这样来达到数据的共享。 AndroidManifest.xml之前提到过,每一个Android应用程序都包括了一个AndroidManifest.xml配置文件,它对应了应用程序的说明,包括运行权限,组件的注册等。其实AndroidManifest.xml配置文件和使用Visual Studio开发中的Manifest.xml很相似,但是VS的可视化的界面的缘故,只需进行简单的设置,就能自动生成该文件,所以不少的VS程序员会忽略掉该文件的存在。但是在Android应用程序开发中,该文件是不可缺少的。应用程序在运行前通过AndroidManifest.xml文件向系统提供一些必要的信息,让系统知道该应用程序应该如何配置。 AndroidManifest.xml示意图如图2.3所示。 图2.3 AndroidManifest.xml示意图2.5 Windows下Android开发环境搭建为了在PC主机上得到Android的开发环境,我们选择在Windows操作系统中进行对Android开发环境的搭建,具体步骤如下:(1)JDK安装首先下载JDK,按照提示安装成功后,最重要的是进行环境变量的配置,步骤如下:我的电脑属性高级环境变量系统变量中添加以下环境变量:Java_HOME:E:Program FilesJavajdk1.7.0(安装JDK的目录) path:%java_home%bin;E:ProgramFilesJavajdk1.7.0;.;E:softwareandroid-sdk-windows;E:softwareandroid-sdk-windowstools;E:softwareandroid-sdk-windowsplatform-tools;C:mysql-5.5.11-win32bin;Classpath:.(2)Eclipse安装可下载一个绿色版的Eclipse,无需安装,和安装版一样都能为Android开发提供功能。(3)Android SDK安装在AndroidDevelopers下载Androidsdkr07windowszip,下载完成后解压到任意路径。运行SDK Manager.exe,点击Available Package。选择希望安装的SDK及其文档或者其它包,点击Installation Selected、Accept All、Install Accepted,开始下载安装所选包。下载完成后出现如下图的所有Androidsdkr07windows文件夹内容;(4)ADT安装ADT实际上是一个工具,它可以连接sdk和Eclipse,帮助Eclipse找到sdk打开Eclipse界面,进入菜单中的“Help” “InstallNewSoftware”,点击Add按钮弹出对话框要求输入Name和Location,完成之后,选择Window Preferences;在左边的面板选择Android,然后在右侧点击Browse;并选中SDK路径,本机为;E:softwareandroid-sdk-windows;点击Apply、OK。配置完成。(5)创建AVD为使Android应用程序可以在模拟器上运行,必须创建AVD,步骤如下:在Eclipse中,选择Windows Android SDK and AVD Manager,点击左侧面板的Virtual Devices,再右侧点击New,填入Name,选择Target的API,SDCard大小任意,Skin随便选,Hardware目前保持默认值,点击CreateAVD即可完成创建AVD。河南城建学院本科毕业设计(论文) 3 可行性分析3 可行性分析3.1 功能分析在3.4节已经用用例图展示了系统的功能,通过用例图分析功能可以知道所有的功能都是系统必须具备的功能,而除了这些功能以外对系统功能的扩充还是很好的,所以说功能分析是可以通过的。3.2 决定可行性的主要因素成本/效益分析结果:效益大于成本技术可行:现有技术可以完全承担开发任务操作可行:应用能被绝大部分人快速学会使用。3.3 可行性研究任务(1)技术可行性确保现有的技术是否能解决本该开发项目:系统采用JAVA语言开发,Eclipse作为Android开发环境。ADT插件提供了一系列图形用户界面组件进行界面编程,所以在技术上可行。Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun公司推出的Java程序设计语言和Java平台的总称。Java自面世后就非常流行,发展迅速,对C+语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。Java是目前使用最为广泛的网络编程语言之一。它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点。Java语言有以下几点优点:a 面向对象的编程更符合人的思维模式,使人们更容易编写程序。b 内置对多线程的支持。c Java程序的安全性。当你准备从网络上下载一个程序时,你最大的担心是程序中含有恶意的代码,比如试图读取或删除本地机上的一些重要文件,甚至该程序是一个病毒程序等。当你使用支持Java的浏览器时,你可以放心地运行Java的小应用程序 Java Applet ,不必担心病毒的感染和恶意的企图,Java小应用程序将限制在 Java运行环境中,不允许它访问计算机的其它部分。d Java 程序的基本组成单元就是类,有些类是自己编写的,有一些是从类库中引入的,而类又是运行时动态加载的,这就使得 Java 可以在分布环境中动态地维护程序及类库,而不像 C+那样,每当其类库升级之后,相应的程序都必须重新修改,编译。因此本人认为Java程序语言技术已成熟,采用JAVA编程语言是可行的。(2)经济可行性由于“手机理财软件应用”作为毕业设计进行开发,由我亲自开发,成本不会太高,所以经济上是可行的。(3)操作可行性确定软件产品是否能够被最终的用户所接受,用户是否能操作最终的产品:该手机理财软件应用在方便易操作的Android手机上运行,方便用户操作。3.4 可行性研究结论根据以上几个方面的研究,在技术上、经济上和操作上都是可行的,项目进行开发是没有问题的。河南城建学院本科毕业设计(论文) 4 需求分析4 需求分析4.1 需求分析的意义为了开发出真正的满足用户需求的软件产品,首先必须知道用户的需求。为软件需求的深入理解是软件开发工作获得成功的前提条件,不论人们把设计和编码工作做得如何出色,不能真正的满足用户需求的程序只会令用户失望,给开发者带来烦恼。需求分析是软件定义时期的最后一个阶段,它的基本任务是准确地回答“系统必须做什么”这个问题。4.2 理财软件功能需求理财软件是一款可以帮助人们随时随地记录个人消费情况的软件,要求操作简单,查看方便,修改容易等适合大部分人的使用。本系统主要为用户提供基本的理财需求,包括数据插入,数据查询,数据删除等功能,用户可以通过系统对数据进行相应的操作,主要功能有以下几点:1) 用户登录,进入本软件需要密码验证登录以保护个人理财状况的隐私性;2)辅助维护,用户可对相关选项进行增加和删除;3)日常收入,用户可以按照日常收入的日期,金额,类别,备注对数据进行修改;4)日常支出,用户可以按照日常支出的日期,金额,类别,备注对数据进行修改;5)收入支出统计,按照用户的数据查询要求,用户可以对相关数据进行统计;6)计算器,用户可以对银行存款,个人理财投资进行相应的计算,求其变化值;7)收入查询,用户可以根据输入的查询条件进行数据查询,并删除有误数据;8)支出查询,支出查询功能与收入查询功能相似,同样根据条件对数据进行操作;9)基本情况,用户可以增加自己的个人基本情况,修改个人信息及登录信息;4.3 可靠性和可用性需求在手机理财软件的开发阶段要求在windows 7操作系统、JAVA编程语言、Eclipse平台下开发,在Android SDK模拟器和华为真机下测试运行。要求手机理财软件能够在Android 4.0.0及其以上版本、RAM为512MB的安卓手机上稳定流畅运行,并要求手机理财应用在运行过程中不能影响手机正常通信功能及手机上的其他应用功能。4.4 用例图在该理财应用中用户可操作应用的功能有:登陆、注册、保存支出账目、保存收入账目、查看所有账目、根据条件查询账目,删除账目,修改账目,修改密码,完善个人信息。而这些功能有又分为三个模块,理财软件应用主模块,更多侧滑模块,和账目管理模块。4.4.1 理财应用模块理财应用模块用例的说明,该模块是整个应用的大体框架,其用例图基本展示了软件的操作流程以及大致功能。参与者就是用户,当用户首次安装此应用并且打开该应用时展现在用户面前的就是带有此应用特点的欢迎界面,在此界面停留三秒钟后该应用会自动的进入新手指导页面。进入新手指导页面后展现给用户的是该软件的功能介绍,以及如何使用该软件的操作步骤。当用户再次打开该应用时就不显示新手指导页面了。从新手指导页面就进入主页面,这个主页面就是让用户进行注册和登陆的使用的。当用户注册成功后就返回主界面进行登陆,如果注册不成功就会提醒用户注册失败。当登陆成功后就进入账目管理界面了,当登陆不成功就会提醒用户登陆失败。进入账目管理界面后就是该应用的主操作页面了。理财应用模块的用例图如图4.1所示。 图4.1 理财应用模块用例图4.4.2 账目管理模块用例图账目管理模块用例的说明,该模块是用户对自己日常生活消费情况的记录,用户进入该界面后可以对自己的收入和支出的账目名称,金额和时间进行保存,还可以对保存的账目进行备注,如果保存成功就提示用户保存成功,如果保存失败也会提醒用户保存失败。如果用户输入后不想进行保存,也是可以取消的。该页面操作简单,适合大部分人使用,用户体验好。账目管理模块用例图如图4.2所示。图4.2 账目管理模块用例图4.4.3 更多侧滑模块用例图更多侧滑模块用例说明,当用户登录成功后进入账目管理界面,这个时候就可以进行侧滑了,侧滑功能就可以使用了。在侧滑菜单上实现了额外的对账目管理的功能。账目列表菜单功能是对数据库中的所有账目进行查询并计算支出和收入的总和呈现给用户看的。当用户点击时就出现了所有账目。当在界面上长按时会弹出对该账目的操作选项。操作选项有修改和删除。当修改完成时,账目总和和列表都会改变。当删除该账目时,账目列表也是会改变的。支出查询功能,用户可以根据所知道的账目信息进行查询,例如可以根据账目的名称,账目的日期,账目的金额,账目的备注等进行查询。如果用户都不填写如何查询条件,就是把所有的支出账目查询出来,别计算支出的总金额。收入查询和支出查询基本是类似的,只有在查询的时候设置查询的类型不一样,其他操作还是一样的。计算器是用户在计算账目金额时使用的,在该应用中实现计算功能是为了用户操作方便。这样用户就不用退出应用使用系统自带的计算器了,而是直接使用该应用自带的计算器,这样做都是为用户考虑,操作方便快捷。关于界面是以网页的形式来呈现该应用的一些信息的。在该页面上还实现了打电话的功能。设置界面就是进入界面以后可以对用户的基本信息进行修改和完善。例如,可以修改用户的登陆密码和完善用户信息。这两个功能是要和服务端进行数据交换的,详细的实现下面将会介绍到。退出功能就是把任务堆中的所有activity销毁掉并结束该线程,是整个应用彻底的退出。更多侧滑用例图如图4.3所示。图 4.3 更多侧滑用户图河南城建学院本科毕业设计(论文) 5 系统设计5 系统设计5.1 框架设计模块在开始编码之前所有的应用都应该确定所使用的框架,因为这对系统的功能和扩展性非常重要。确定所使用的框架基本上就确定了系统的功能,例如聊天系统所使用的框架和协议是asmark框架和xmpp协议,只看框架和协议就基本了解系统所做的功能和用途了。而个人理财软件应用所使用的框架是MVC协议是HTTP协议。5.1.1 MVC框架介绍MVC框架设计模式分三个层次:1)视图层(View):一般采用XML文件进行界面的描述,使用的时候可以非常方便的引入。当然,如何你对Android了解的比较的多了话,就一定可以想到在Android中也可以使用JavaScript+HTML等的方式作为View层,当然这里需要进行Java和JavaScript之间的通信,幸运的是,Android提供了它们之间非常方便的通信实现。视图层的作用是收集用户输入的数据,并且把这些数据提交给控制层,接收控制层的请求,展现相应的业务给用户看。 2)控制层(Controller):Android的控制层的重任通常落在了众多的Acitvity的肩上,这句话也就暗含了不要在Acitivity中写代码,要通过Activity交割Model业务逻辑层处理,这样做的另外一个原因是Android中的Acitivity的响应时间是5s,如果耗时的操作放在这里,程序就很容易被回收掉。控制层的作用是接收视图层传来的参数,根据不同的请求类型执行相应的业务模块,接收业务模块的返回值,更具不同的情况调用不同的view给用户看。3)模型层(Model):对数据库的操作、对网络等的操作都应该在Model里面处理,当然对业务计算等操作也是必须放在的该层的。就是应用程序中二进制的数据。模型层的作用是接收控制层的调用,执行相应的业务。采用MVC的好处是界面设计人员可以直接参与到界面开发,程序员就可以把精力放在逻辑层上。而不是像以前那样,设计人员把所有的材料交给开发人员,由开发人员来实现界面。在Eclipes工具中开发Android采用了更加简单的方法,设计人员在DroidDraw中设计界面,以XML方式保存,在Eclipes中直接打开就可以看到设计人员设计的界面。5.1.2 服务端介绍服务端的框架也是采用MVC框架的,通过以上对MVC框架的介绍可以了解到,服务端使用MVC框架能使程序结构层次分明,有利于程序的扩展性。服务端的代码完成以后要生成.war文件,把该.war文见部署到tomcat中,利用tomcat和android客户端的手机理财软件应用进行通信。5.1.3 Android客户端介绍手机理财软件的客户端基本上也是采用MVC框架实现的,对于手机应用大家都是比较熟悉的,而我在该应用的客户端所使用的技术基本上都是现在最流行的技术,欢迎界面使用的是viewpager+fragment,主要业务模块使用的新技术是侧滑。这两种技术都是当下比较流行的也是用户体验最好的技术。这种技术的使用不仅使用户能更好的操作还增添了用户理财记账的兴趣。5.2 项目类图设计类图(Class diagram)是显示了模型的静态结构,特别是模型中存在的类、类的内部结构以及它们与其他类的关系等。类图不显示暂时性信息。类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。5.2.1 服务端类图服务端所用到的UML类图如图5.1,图5.2,图5.3,图5.4,图5.5所示。图5.1 action包的UML图Action包中类主要的作用就是根据客户端发的不同的请求来调用不同的service包中的方法处理不同的事件。图5.2 dao包的UML图Dao包的作用就是被service包中的方法来调用的从而根据service中不同的调用方法,来处理服务服务端的数据库,从而达到修改数据的目的。图5.3 util包的UML图Util包的作用就是配置一些文件信息,比如获取某个类的实例,可以在这里配置,还有就是数据的连接和关闭这些都是通用的做法,可以根据需要把这些东西都写在工具类中,这样做优化了代码。图5.4 service包的UML图Service包的作用就是根据不同的请求来调用不同的方法,并且把处理结果返还给action,action再把处理结果返还给客户端用来提醒用户的操作结果。图5.5 entity包的UML图Entity包的作用就是对数据的一种封装,这样在类与类之间进行数据的传递时候只传递一个实例对象就可以了,减少了参数的传递。5.2.2 客户端类图客户端所用到UML类图如图5.6,图5.7,图5.8,图5.9,图5.10,图5.11

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论