最新版基于Android平台下家庭理财软件设计与开发毕业论文.docx
《最新版基于Android平台下家庭理财软件设计与开发毕业论文.docx》由会员分享,可在线阅读,更多相关《最新版基于Android平台下家庭理财软件设计与开发毕业论文.docx(22页珍藏版)》请在冰豆网上搜索。
最新版基于Android平台下家庭理财软件设计与开发毕业论文
本科毕业论文(设计)
题目:
Android平台下家庭理财软件设计与开发
姓名:
学号:
专业:
计算机科学与技术
院系:
信息工程学院
指导老师:
职称学位:
完成时间:
2015年5月
教务处制
安徽新华学院本科毕业论文(设计)独创承诺书
本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。
据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。
与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。
毕业论文(设计)作者签名:
日期:
基于Android的家庭理财软件的设计与实现
摘要
近年来,基于Android系统来开发的便携式的智能手机以惊人的速度发展开来。
智能手机拥有高速的运算能力、优秀的图形用户界面和高分辨率的屏幕,使人们从计算机中解放出来,能够随时随地的方便地处理各种电子资料并进行一些复杂的运算。
因此,智能手机的应用软件将有广阔的发展前景。
本软件是运用Android平台、Java技术和SQLite数据库开发了一款家庭理财应用软件,使用户可以随时随地的管理自己的收支信息。
本软件主要包括以下几个模块:
新增收入、新增支出、我的收入、我的支出、数据管理、收支便签以及密码设置。
用户可以对支出和收入信息的记录、修改、删除、查询、统计进行操作以及用便签功能来记录将要支出和收入的信息,从而实现对个人的支出与收入进行有效并系统地管理。
对自己在生活中的各类收支做一个详细的统计。
本软件方便了人们日常生活中对自己收支信息的了解,能清楚的看到自己的收支状况,对自己的收支状况做一个调整,可以起到一个及时调节的作用,让自己做出正确的财务决策。
关键字:
安卓;家庭理财;SQLite数据库
DesignandimplementoffamilyfinancialmanagementsoftwarebasedonAndroid
Abstract
Inrecentyears,basedontheAndroidsystemtodevelopaportablesmartphonedevelopmentatanalarmingrate.Smartphonesscreens,makepeopleliberatedfromthecomputer,caneasilydealwithallkindsofelectronicinformationanytimeandanywhereandcarryonsomecomplexoperation.Asaresult,smartphoneapplicationswillsoftware,theusercanmanagetheirincomeinformationanytimeandanywhere.Thissoftwaremainlyincludesthefollowingseveralmodules:
newrevenue,newspending,myincome,spending,datamanagement,notes,andpassword.Userscanrecordofspendingandincomeinformation,modify,delete,query,statistictooperateandusestickynotesfunctiontorecordwillbespendingandincomeinformation,soastorealizethepersonalspendingandincomewereeffectiveandsystematicmanagement.Inyourlifetodoadetailedstatisticsofallkindsofpayments.
Thissoftwareisconvenientforpeopletoknowabouttheirpaymentinformationindailylife,canclearlyseetheirbalanceofpayments,balancesdoaadjustmenttooneself,can(Android创始人之一)这样描述Android:
这是一个面向移动设备的真正开放和通用的平台,运用于上面的所有软件将越过封闭系统造成的障碍而获得移动领域的革新。
Android的诞生随即牵动了移动平台激烈的竞争浪潮。
苹果Iphone、微软Windowsphone、palmpro等掌上智能设备也是市场上有力的竞争者,他们同样为开发移动应用提供一个丰富而又简易的开发环境。
然而,与Android不同的是,他们建造于专有的操作系统上,并且在一定程度上排斥第三方软件,推广自家的应用软件。
封闭系统不仅限制不同应用软件之间的沟通,限制共享本地设备的数据,甚至限制第三方应用发布至其平台。
而基于开源Linux内核的Android采用的是开放的哲学。
通过提供一个开放的开发环境,Android为移动应用开发提供了新的可能性[5]。
开发者可以根据自己的想法来创建手机界面。
Android被设计成支持许多不同硬件设备,Android不只是应用于手机,也被广泛应用在只能上网设备上。
为了推广Android,Google和其他几十个公司创建了开放手机联盟(OpenHandsetAlliance),联盟将各成员贡献出来的软件和知识产权集合起来,成员只要遵守Apachev2软件许可协议,可以免费使用Android代码,并根据自己的需要进行修改,修改后的代码可以保持私有,也可通过开源社区提供给开发者。
Android在国内日渐普及,国内厂商和运行商也纷纷加入阵营。
因此基于Android进行开发移动应用,前景十分广阔。
2.1.3开发环境与工具
Android提供了免费和开放的开发环境使开发者能够快速编制应用程序[6]。
Android提供了一些使用的工具用于搭建开发和调试环境,主要包括:
Eclipse集成开发环境。
Android支持多种集成开发环境(IDE),其中Eclipse与Android SDK集成最好,而且Eclipse是完全免费。
Android软件开发包(SDK)。
AndroidSDK通过Google的Android开发者网站发布。
根据操作系统类别提示下载后直接解压到选定的文件夹即可。
其中子文件夹tools下包含了很多开发过程中非常实用的工具。
虚拟设备管理器(AVD)。
用于创建Android虚拟机,通过指定不同硬件配置,开发者可以模拟出各种Android设备用于测试。
开发包管理器(SDKManager)。
用于安装、更新和管理不同版本的AndroidSDK、API库和技术文档。
Dalvik调试监控工具(DDMS)。
DDMS是一个强大的调试工具,可以查询、监视和暂停活动进程;查看堆栈;访问文件系统;还有截图和查看日志的功能。
Android调试桥(ADB)。
ADB是一个客户端程序,让开发者连接到Android模拟器或设备,负责开发工具与Android设备之间通讯,包括安装应用程序、读写文件、运行Shell命令等。
Eclipse插件(ADT)。
通过在eclipse软件更新选项下添加ADT的安装网址即可按提示完成安装。
插件安装成功后的eclipse开发环境将为Android的开发与调试提供了许多便利,另一方面集成了上下文提到的Android的实用工具。
2.2关键的概念
2.2.1Android的活动及其生命周期
Android应用由4种应用程序组件构成:
活动(Activity)、服务(Service)、广播和意图接收器(BroadcastandIntentReceivers)、内容提供器(ContentProvider)。
其中应用程序大部分的代码是以活动的形式存在[7]。
活动负责屏幕内容的显示以及用户的交互,每一个活动都代表一个显示界面。
理解活动的生命周期对于开发Android应用是非常关键的。
在Android系统中,Activity的实例被放在一个堆栈里面。
当一个新的Activity启动之后,就会被放置在堆栈的顶部,成为正在运行的Activity;而先前的Activity则变成不可见的,位于新的Activity的下面。
只有当新的Activity退出时,先前的Activity才会出现在堆栈的顶部。
Activity有4种状态:
运行、暂停、停止和销毁[8]。
当Activity位于堆栈的顶部时,它就处于运行状态(active)。
当Activity失去了焦点,但是它依然可见时,例如,一个半透明的Activity覆盖了当前的Activity就会出现这种情况,此时被覆盖的Activity就处于暂停状态(paused),维持着成员信息和所有状态。
当系统处于内存严重不足的情况下时,暂停的Activity可能会被系统销毁。
当Activity完全被其他的Activity覆盖时,它就可能处于停止状态(stopped)。
当Activity处于停止或暂停状态时系统可能要求它结束生命周期,或者直接把它所在的进程杀死,进而从内存中删除,此时的Activity就被销毁了。
如图2.3所示是Activity的生命周期图。
Activity的整个生命周期始于onCreate()方法而止于onDestroy()方法。
通常在onCreate()方法中构建Activity所需资源,并在onDestroy()方法中释放资源。
Activity的可视化生命周期始于onStart()方法而止于onStop()方法,此时的Activity是可见的,可能无法和用户进行交互操作。
图2.3Android活动生命周期图
2.2.2资源文件与XML
无论是什么开发环境,分离与代码无关的内容(如图片和文本),都是好的编程习惯。
Android支持将字符串、颜色、图片和视图布局等内容用XML文件的方式作为外部资源放置在代码目录res下。
这些内容会被自动编译成为对象并由一个命名为R的全局资源类所引用。
这样就可以在任何一段代码中使用这些资源[9]。
2.2.3SQLite数据库
Android提供了一个轻量级的数据库SQLite用于数据存储和访问。
对于一个存储容量有限的移动设备来讲,快速和高效的数据存储和访问是很关键的[10]。
SQLite这个嵌入式的数据库引擎可以为每一个Android应用程序安全而高效地实现数据持久化。
2.2.4图形用户界面与组件
Android的用户界面是由一组树状的图形元素组成,它们都是View类(视图)的子类。
树状的视图布局通常用XML表示,在活动创建时被实例化。
与其他图形用户界面一样,Android是基于MVC(Model-View-Controller)的设计模式[11]。
事件监听、状态更新与重绘由Android的用户界面框架由单一线程自动完成。
强大的交互功能预示着用户界面的设计上是复杂的,Android提供了丰富的用户界面元素而且非常易用。
一般情况下,开发者无需自己绘制界面。
除了如文本、按钮之类常见的元素,一些复杂的界面例如菜单(Menu)、下拉列表(Spinner)、滚动视图(ListView)都可以通过系统提供的视图组件(Widget)来实现。
2.2.5进程间通讯与意图
Android通过引入意图(Intent)机制用来实现进程间有效的通讯,并且降低了功能之间的耦合性。
意图具有非常重要的作用,Android应用使用意图进行页面跳转、传递参数以及返回结果。
意图可以指定启动特定的活动,也可以发送抽象的“意图”并由系统选择合适的活动完成任务[12]。
3系统分析与设计
3.1可行性分析
可行性分析主要包括经济可行性、技术可行性、社会可行性。
3.1.1经济上的可行性
首先,本次设计是基于安卓系统的应用开发,安卓应用开发只需要一台性能不错的电脑,这对于大部分大学生来说都是拥有的,特别是计算机专业,只要有了电脑,硬件条件就满足了。
其次,只要在网上或是相关书籍上查找安卓平台开发环境搭建的相关资料,然后在电脑上搭建好开发环境,就具备了本次设计的基本条件,最后就是能有一个网络环境,虽然不是必须的,但是在有网络环境情况下,如果遇到困难就可以很方便的查阅资料来寻求解决的办法,而这个条件也是很容易满足的,不管在寝室还是在图书馆。
由此可见,在经济上本次设计是可行的。
3.1.2技术上的可行性
本次设计主要是在安卓平台上开发一个理财应用,将会涉及人机交互,数据库操作你,客户端开发,这些利用安卓平台以及安卓平台内嵌的SQLite数据库,运用Eclipse软件Java技术进行代码编写。
从自身技术而言,安卓开发需要有一定的Java技术基础、数据库技术基础、对安卓平台的了解、熟悉XML.作为计算机专业的学生,在大学四年里学习过很多类似的基础知识:
Java编程、SQLServer数据库原理、XML基础知识等相关基础知识,只要有一定的自学能力,通过阅读安卓开发书籍和网上查询相关的开发资料,是有能力开发出基于安卓系统的理财软件的。
由以上两点可以看出,基于安卓系统的理财软件在技术上也是可行的。
3.1.3社会可行性
理财是现代社会每个人都必须掌握的基本生存能力之一。
随着信息化时代的到来和现代生活节奏的加快,通过纸笔记账的传统理财方式早已远去,通过PC软件实施的信息化理财也曾兴起,但是通过PC软件进行理财,很难做到信息的实时记录。
随着Android和iphone等智能手机的普及,手机的功能早已不再局限于打电话发信息,由于具备天然的便携性,手机的功能和作用正在社交、游戏以及大量实用软件领域大量的替代PC[13]。
将理财软件安装在手机中,用户就可以随时随地的进行记录,并可以进行统计和查看,这样就可以帮助用户真正实时的了解自己的财务状况。
因此,开发基于Android系统的手机理财软件具有很大的实际价值和意义。
所以,基于Android系统的理财软件也具有社会可行性。
综上所述,本系统的开发目标明确,开发时机成熟,所以完全是可行的。
3.2用户功能需求分析
家庭理软件是针对用户要求用手机对自己的财务的收入、支出以及相关的各种信息,进行记录、修改、添加、删除而设计的一种现代化管理软件,所以本软件需要具有以下功能:
(1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面。
(2)能够实现家庭理财软件的各项功能,能成功的对用户各种信息进行管理。
(3)查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。
具体说来,要求本系统具有以下几个功能模块:
新增支出、我的支出、新增收入、我的收入、便签、数据管理以及系统设置。
家庭理财通的功能结构如下图3.1所示:
图3.1功能结构图
3.3系统性能要求
为了保证系统在长期使用过程中能保持高效、可靠、安全等。
系统应该达到以下性能要求:
3.3.1即时性要求
即时性是系统中十分重要的性能之一。
在用户使用过程中,及时的处理数据及信息反馈对于用户体验至关重要。
在系统开发设计时,要充分考虑数据和数据交换,使系统的数据处理能力和响应速度能够满足用户需求[14]。
从系统本身来讲,即时准确的处理用户操作是系统成功的标志之一。
3.3.2易用性要求
系统的使用者并非专业人员,这就要求系统设计简单,操作直接。
所以良好的界面十分重要。
界面作为人机交互的窗口,能让用户对软件产生最直观的认识。
界面甚至决定了用户对软件的选择。
这就要求系统从整体到细节尽量使用用户熟悉的语言和命名信息。
要提供足够的帮助解释信息,缩短用户的熟悉过程,并对可能出现的问题给予解决。
3.3.3响应速度要求
系统中冗余数据和重复性处理是影响响应速度的最大因素。
优秀的数据库设计,各个表结构的最大优化,可以大大提高系统响应速度。
系统要做到及时处理,保证用户的使用效率。
3.4数据库设计
在涉及数据库的软件开发时,对数据库的详细设计是软件开发过程中重中之重,完善的数据库设计是后期开发的必要基础。
3.4.1数据库需求分析
本项目需要从数据库中查询信息,许多模块功能的实现都需要和数据库进行交互]。
用户权限的实现以及页面上各个功能图标的显示是查询数据库动态生成的,并且鉴于系统数据交互的复杂性,一个良好的数据库设计就成为我们必须关注的问题[15]。
3.4.2数据表设计
本系统是一个关于家庭理财信息的管理系统,主要包括收入、支出的管理。
所以,所设计数据库表的时候设计了密码表、收入表、支出表、便签信息表用来存储对应的信息。
下面将对各个表进行介绍。
密码信息表(表3-1):
用于用户登入时进行密码核对。
表3-1密码信息表
字段名
数据类型
是否主键
描述
Password
Varchar(20)
否
用户密码
支出信息表(表3-2):
用于记录支出信息,主要属性包括id(编号)、money(支出金额)、time(支出时间)、type(支出类别)、address(支出地点)、mark(备注)。
表3-2支出信息表
字段名
数据类型
是否主键
描述
id
integer
是
编号
money
decimal
否
支出金额
time
Varchar(10)
否
支出时间
type
Varchar(10)
否
支出类别
address
Varchar(100)
否
支出地点
mark
Varchar(200)
否
备注
收入信息表(表3-3):
用于记录收入信息,主要属性包括id(编号)、money(收入金额)、time(收入时间)、type(收入类别)、handler(付款方)、mark(备注)。
表3-3收入信息表
字段名
数据类型
是否主键
描述
id
integer
是
编号
money
decimal
否
收入金额
time
Varchar(10)
否
收入时间
type
Varchar(10)
否
收入类别
handler
Varchar(100)
否
付款方
mark
Varchar(200)
否
备注
便签信息表(表3-4):
用于记录所有提醒便签信息,主要属性有id(编号)、Flag(便签内容)。
表3-4便签信息表
字段名
数据类型
是否主键
描述
id
integer
是
编号
Flag
varchar(20)
否
便签内容
4编码与实现
4.1主要代码
系统程序架构如图4.1所示。
图4.1程序架构
4.2主要界面设计
4.2.1用户登录模块
用户登录,如图4.2所示,验证用户信息是否合法,以及验证用户是否为系统设计的合法用户。
首次登录不需要密码,进去后可在系统设置里设置密码。
由于本软件属于个人客户端,通常情况下只有本人使用,所以没有用户名,直接进入密码输入环节,便于保护用户隐私。
图4.2登入界面
用户登入后进入软件的主界面,如图4.3所示。
主界面包括软件的所有功能图标,用户可根据需要使用。
图4.3主功能界面
4.2.2新增收入模块
新增收入界面如下图4.4所示,此模块的功能是添加用户新增的收入。
在平时理财的过程中,添加收入记录是很频繁操作,所以此模块为用户提供了一个非常实用而且便捷的操作过程。
在这个模块中,用户可以添加收入信息记录的内容包括:
金额、时间、类别、付款方以及备注。
为了用户能够方便的查看收入记录,故将收入类别进行了分类,具体分为十三类,分别为工资、股票、兼职、基金、分红、利息、奖金、补贴、礼金、租金、应收款、销售款、报销款以及其他。
图4.4新增收入界面
4.2.3我的收入模块
当在新增收入模块进行了添加操作后,添加的收入记录就会显示在我的收入模块中。
在这个界面中可以清楚的看到所有的收入信息。
同时在这个模块中可以进行查询、修改、删除操作,而查询的是按照类别来进行查询。
界面如下图4.5所示。
图4.5我的收入界面
4.2.4新增支出模块
我的支出界面,如图4.6所示,此模块的功能是添加用户的新增支出。
同样新增支出可以选择金额、时间、类别、地点和备注。
类别可以选择早餐、午餐、晚餐、夜宵、买菜、随礼、应酬、打的以及其他。
图4.6新增支出界面
4.2.5我的支出模块
我的支出模块界面如下图4.5。
当在新增支出模块进行了数据添加操作后,添加的支出记录就会显示在我的支出模块中。
在这个界面中可以清楚的看到所有的支出信息。
在这个模块中可以进行查询、修改、删除操作,而查询也是按照类别来进行查询。
图4.7我的支出界面
4.2.6便签模块
便签模块,如图4.8所示,它主要实现的是添加便签记录。
便签模块可以记录将要进行的收入或支出信息,也就是相当于备忘录的功能。
图4.8便签界面
4.2.7系统设置模块
此模块如图4.9所示,它是让用户来设置密码。
密码设置成功后,用户再次登录时就需要所设置的密码。
图4.9系统设置
4.2.8数据管理模块
数据管理界面,如图4.8所示,对于家庭理财系统来说,数据管理功能是非常重要的一个功能,它主要是管理支出、收入以及便签的记录信息。
当点击支出、收入或便签按钮时,下方就会出现所有的支出、收入或便签信息。
同时会总计出支出或收入的总金额。
另外还有一个统计的功能,可以进行类别的统计。
如果支出、收入或便签出现记录错误,点击改条记录,就会进入对应的管理界面。
然后就可以对该条记录进行修改或删除,如下图4.11是对支出信息进行修改或删除的管理界面,图4.12是收入的管理界面,图4.13是便签管理界面。
图4.10数据管理界面
图4.11支出管理界面
图4.12收入管理界面
图4.13便签管理模块
4.2.9退出
用户点击退出图标后回到登录界面。
5测试
在系统开发周期中系统测试是一个十分重要的环节。
它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计、系统实现的最终审查。
系统测试的对象不仅仅是源程序,而应是整个系统,它把需求分析、概要设计、详细设计以及程序设计各阶段的开发文档,包括需求规格说明、概要设计说明、详细设计说明以及源程序都作为测试的对象[15]。
测试的目的就是发现系统的错误。
5.1测试原则
(1)软件测试工作应该贯穿于软件的整个过程,测试工作应该尽早开始,防止出现需求不能满足客户需求的问题。
(2)软件测试应由第三方来完成,以便得出客观的结果。
程序员不能测试自己的软件。
(3)测试用例应该考虑到各种情况,如:
合法输入、不合法输入以及各种边界值。
还应该考虑一些意外情况,如:
硬件问题、电源问题等。
(4)测试计划要严格制定,具有可行性与指导性。
(5)测试结果、测试用例、