目录
1 引 言 4
1.1 研究背景 4
1.2 研究现状 5
1.3 项目研究内容 5
1.4 项目研究意义 5
2 开发工具介绍 7
2.1 Android技术 7
2.2 Java技术介绍 7
2.3 数据库工具 7
2.4 开发平台 7
2.5 MVC设计模式 7
3 需求分析 9
3.1 设计目标 9
3.2 系统可行性分析 10
3.2.1 操作的可行性分析 10
3.2.2 发展的可行性分析 10
3.2.3 技术的可行性分析 10
4 总体设计 11
4.1 功能模块设计 11
4.2 数据库设计 12
4.2.1 物理设计 12
4.2.2 模型设计 12
4.2.3 数据库E-R图设计 13
4.2.4 表/字段及表间关系设计 13
5 系统界面设计和详细设计 15
5.1 首页界面设计 15
5.2 收入管理界面设计 15
5.2.1 收入管理界面首页设计 15
5.2.2 收入信息添加界面设计 15
5.2.3 收入信息修改界面设计 17
5.2.4 收入信息删除界面设计 18
5.2.5 收入信息查询界面设计 18
5.3 支出管理界面设计 19
5.3.1 支出管理界面首页设计 19
5.4 统计界面设计及实现 20
5.4.1 统计界面首页设计 20
5.4.2 收入统计设计及实现 20
5.4.3 收入折线统计设计及实现 22
5.4.4 收入支出对比统计设计及实现 24
5.5 个人帐户界面设计及实现 26
6 系统测试 28
6.1 测试环境 28
6.1.1 系统测试的硬件条件 28
6.1.2 测试数据 28
6.2 系统测试用例 29
结 论 30
致 谢 31
参 考 文 献 32
1 引 言
1.1 研究背景
因为科技的日新月异的发展,人们的生活质量不断的提高,人们已经不只是满足于单纯的吃喝穿暖,人们更多的是寻求精神上的慰藉,智能手机的诞生是人们发生这种转变的一个重要原因之一。它使人们在生活中可以便捷的实现各种这样的功能,例如人们无论何时何地都可以打开手机视频跨越距离见到想见的人,越来越多的管理系统以及手机管理功能的成熟催生了基于Android的家庭理财管理系统的推出。
现在我们生活的方方面面都已经离不开智能手机,其已经彻底改变了我们的生活,人与人之间的联系方式也出现了巨大的改变,古人的通信方式是快马传书,逐渐后来有了电报,邮局,到电话等通信方式一直发展到今天的智能手机时代,可以说只要人们愿意,人和人之间的沟通交流是非常方便快捷的。移动技术和智能手机产业的快速发展与更新迭代,智能手机有着它独有的优秀的特点,目前的智能手机市场广被消费者所接受认可的就是以Android为系统的智能手机为代表,其主导了一定的移动手机市场,越来越多的人将Android智能手机作为首选。移动管理功能的成熟奠定了家庭理财管理系统基于Android是可行且具有发展前途的,而这项技术也非常适合帮助需要管理自己个人信息的用户的公司,因为这非常符合这类型公司当今的发展方向,在当今快节奏的社会中,具有很多的市场。安卓手机的快速发展,成为苹果手机目前最有力的竞争对手,有关数据表明现在使用苹果系统的手机用户已经远远的低于使用Android系统的手机用户的数量。
Android还有一个优势是企业可以免费使用Android平台的源代码的新功能,如此一来,可以降低开发方面的支出,也提升了研发速度,扩大了服务范围,可以最大限度地发挥效益[1]。
Android同时也将移动平台进行了规范化,与以往的操作系统不一样,因此它被大家广泛欢迎与接受是理所当然的。而且安卓将传统的移动通信的优势进行重新的运用,使得整个系统的价值进一步提高,并且手机和软件的制造商彼此互相合作,达到了多赢的结果,同时随之4G时代的到来,Android更方便地推动了手机产业的发展,并且在手机以外的其他方面也带来了许多的拓展[2]。根据调查,Android已经占有全球上手机操作的很大一部分,大约有百分之七十的智能手机都基于Android上运行,随着手机行业不断发展,一款可以智能地管理家庭理财的系统在技术上来说完全可以被开发出来的。
1.2 研究现状
现在人们使用已经打破了单一通信的需求,更多的是想要其集通信,娱乐,生活工具等各个方面集为一体的的智能手机,受到了每个人的欢迎和喜爱,随着智能手机的渐渐普及,人们生活的点点滴滴都与智能手机息息相关,而移动系统正变得越来越智能化,截至2018年,因为智能手机方便快捷,易于携带等诸多优点,其的人均拥有量很大程度的超过了计算机,而且智能手机功能多样,智能手机中各种智能实用的手机APP 在不断的促进创新技术的进步。面对现在经济发展。所以,研究开发管理家庭理财的智能手机APP是很符合目前手机市场需求的现实状况的。
1.3 项目研究内容
首先该项目大致对系统中涉及的相关技术有了整体的把握,因此,研发程序中的关键步骤就在于对系统的深入分析,使得最终呈现出来的设计结果更加的完善。 在研究期间,我研究发现人们在生活日常中其实能够给真正理财的时间并不多,因为人们有许多的事情要做,如果我们要开发一款理财软件,那么它一定要具有方便快捷的使用特点,这样才会使用户拥有习惯理财的资格。那么要实现方便快捷的理财功能,又需要哪些模块呢,首先收支的信息录入、删除、修改、查询功能是必不可少的;其次,信息录入后,其目的是为了让人们更好的理财,能够了解自己日常开销都去了哪儿,所以我们要加入统计图功能,统计图有柱状统计图和折线统计图,他们的分工是不一样的。柱状图能够让用户了解自己在各个方面开支的金额大小,而折线图可以让用户了解自己在不同的时间段总收入和总支出的趋势。前者可以让用户调整自己在各个方面的支出金额,理性消费;后者可以让用户了解自己平日中的收入和支出的趋势,从而可以一定程度上的预测未来的收入和支出,对自己的财务管理有进一步的提升。另外,由于目前的支出和收入方式有多种多样,因此,应该在收入和支出中添加一个选择个人账户的选项,让用户更清楚每一笔收入都进了哪个账户,每一笔支出都从哪个个人账户中支出,最终在真正意义上实现软件的智能化。
1.4 项目研究意义
理财管理是一种人们基本生活的保障,真正的理财计划包括对财产的规划,这就是理财的基础。有许多人认为理财管理是一项让人们资产保值升值的投资,这是一种不成熟的理解。事实上,理财不等同于致富,而是合理地分配财务收入和家庭开支。这些计划旨在实现一个目标,实现收入和支出的平衡,提供基本的家庭开支、抚养子女、提供养老金、提供教育的保障以及结婚等。
这样一来,理财在疾病预防和其他意外情况发生时,人们就有足够的资产去承受,而不会造成财务收入和支出的不平衡。简单来说,家庭理财管理就是当人们需要花钱时,有足够的钱供人们支出。它能使人们能够合理地分配家庭中的财务收入和支出,确保收入和支出的平衡,来保障家庭的基本生活费用[3]。
2 开发工具介绍
2.1 Android技术
Android架构简洁明了,因此它可以充分地利用硬件资源的性能,与其他手机开发平台相比,Android具有很大的优势,更具竞争力。反过来,开源安卓公司承诺手机的价格是普通大众可以承受的,方便用户能够以最小的成本获取自身所需的各种信息。 另外,由于Android的手机机型众多,有很多Android高端旗舰手机也有价格亲民的Android手机,导致Android的用户基数很大,所以用Android开发这款软件能够受益的目标数量也一定不低,基于此课题,使用Android移动平台是最合适不过的。
2.2 Java技术介绍
Java语言是继C语言之后的另一种计算机编程语言。其被众多公司应用,它已经基本代替C语言成为了计算机最新颖创新的编程语言之一。该语言设计的程序与我们人类大脑的思维模式十分相似,可扩展性和可维护性是其非常突出的特点,使编写的计算机代码更加可靠[4]。
2.3 数据库工具
SQLite数据库是非常便捷操作的,在Android Studio开发平台上使用SQLite数据几乎是不必进行配置的,并且它几乎不需要占用什么系统资源,运行速度还比其他大型数据库软件要快[5]。我们研究的是关于理财的手机APP,对数据库的复杂性要求不高,因此SQLite数据库是个不二的选择[6]。
2.4 开发平台
谷歌公司开发的Android Studio,其是面向Android开发者的IDE,支持环境众多。Android Studio操作界面也是一目了然的,功能众多却不是杂乱无章,而是井井有条,那么开发者就会非常的省事,其生产效率就会相应的得到提高 [7]。
Android Studio的优势也是显而易见的:稳定速度快、功能强大的UI编辑器、完善的插件管理、完善的支持多种代码管理工具、整合了Gradle构建工具、智能、内置终端,这些优点也决定了Android Studio作为开发平台是正确的选择[8]。
2.5 MVC设计模式
该系统本次运用的设计模式是MVC,该手机软件的设计想法是面向对象的编程模式。逻辑模型,指视图模型,控制器就是整个MVC的整体组成 [9]。我们采用这种模式是为了将逻辑模型和视图模型的代码分开,这样我们就可以实现在同一个程序中用不同的形式表现出来,那么控制器的作用就是保证它们两个能同时运行,其中一个发生变化,那么另外一个也要同时更新。这种模式对于用户来说最大的好处就是根据自己的要求选择自己认为比较方便的方式去浏览数据。那对于开发者来说,该模式最大的好处就是它把界面和应用程序的逻辑层分开,这样界面的设计人员和程序员可以在他们自己的领域工作,互不干扰。
3 需求分析
在实现基于Android的家庭理财管理软件时首先我们要考虑下面几点:
(1)安全性。手机信息是个人的隐私,考虑到外人不会轻易窃取到他人的手机,所以不用加入账户登陆界面,打开即可使用,一定程度上是满足其需要的安全性的[10]。
(2)先进性、传统性。根据当下手机软件的发展形势,这款软件在研发的同时,要按照当前社会中的大家所认可的先进技术,加上一些受广大Android手机用户欢迎的元素,既要有年轻人喜欢的元素,也要有基础传统的元素,因为毕竟理财不是当代才出现的,但是这样的理财方式确实是新颖的,这也就需要我们将系统中的先进性和传统性相互结合。
(3)可扩展性。当前社会备受人们关注的理财,现在在便携的手机上就可以轻松的完成,但随着社会的不断发展进步,软件一定会有新的需求出现,所以应用APP的可扩展性也是必须要考虑在内的,为了之后的整个软件的升级更新[11]。
(4)有效性。有效性指的是用户需求的功能如果软件中考虑到了,那么这项功能一定要能够正确地实现,这样系统才能具有有效性,例如对于数据的增删改查,数据的导出,一目了然数据的统计和个人钱包帐户等。
3.1 设计目标
在如今人们每天匆忙地为生计而奔波的时候,智能手机的普及使得人们越来越依赖于智能手机,因此开发出一款具有实用性兼赏心悦目的外观的软件已经刻不容缓。首先,在软件的使用上不仅要让人一眼就学会使用,同样要具有一款理财软件该具有的重要的统计,对日常收支的增删改查等功能。因此我们为了满足人们所需,决定开发出这款软件,不仅可以添加、删除、修改和查询日常收支情况,还可以对人们的个人财务信息进行清晰的了解,从而作出正确的理财决定[12]。这对平时无暇顾及传统理财的人们来说很大程度的提高其理财效率,每次只需要点击几下功能按键,就可以对管理系统进行操作,并不需要花费很久的时间,如查看收支柱状图和收支折线图,查看个人账户余额等,由此作出具有针对性的理财计划。我们开发这款软件就是为了让人们养成有理财的好习惯,软件里的清晰的功能能够使得人们再进一步提高理财的效率,让人们觉得理财不再是遥远的感觉,而是触手可及,让人人都学会理财,这才是当今社会必然的一种趋势。
通过对目前社会人们的生活现状进行详细调查做出需求分析,对安卓系统进行深入研究,从而明确需要达到哪些具体的功能项目,利用Android系统能否实现这些功能,最终作出决定如何开发[12],最终开发出一款能够让广大用户满意且实用的优秀理财软件。
3.2 系统可行性分析
3.2.1 操作的可行性分析
其是基于安卓系统进行开发的,所以软件的使用方面是完全可以做到简洁明了的,做到只要用户曾使用过智能手机,就可以轻易地玩转这个软件,你需要做的只是打开这款软件,对相关的数据进行管理和查看,用户可以根据自己的需要,在软件中输入收支数据,操作使用方法简单,因此操作方面是可行的。
3.2.2 发展的可行性分析
智能手机已经被广泛的使用,其手机自带的语音系统日益完善,人们的生活已经离不开智能手机了,其使用的频率非常高,在当今社会,理财是很受大众欢迎的,因此,一款好用的理财软件也一定是受大众欢迎的。要想开发的本系统长期发展,就必须时刻了解用户不同时期的不同需求,开发一款能够时刻保持走在用户需求的前沿的理财软件,而不是一款落后失败的理财软件,而这也是确保系统的长期发展,提高竞争力的重点[13]。
3.2.3 技术的可行性分析
安卓是使用Java语言进行开发的,因此Android系统上的应用程序也是使用Java编写的,而Java语言能够实现的功能多种多样,至少在开发的这款理财软件上技术支持是完全足够的[14];再说数据库SQLite,这是一个十分好用的数据库,在这款软件的支持性上也是完全没有问题的;还有开发平台Android Studio就更不用说了,是开发这款软件的不二选择[15]。因此,总体来说,从技术可行性上看,这款软件的开发方案是完全可行。
4 总体设计
4.1 功能模块设计
本基于Android的家庭理财管理软件为用户提供收入管理功能、支出管理功能、统计管理功能、个人钱包功能等。
收入管理功能包括添加收入的类型、添加收入的时间、添加收入的来源、添加收入的金额数目以及添加相关备注信息;删除收入的类型、删除收入的时间、删除收入的来源、删除收入的金额数目以及删除相关备注信息;修改收入的类型、修改收入的时间、修改收入的来源、修改收入的金额数目以及修改相关备注信息;查询收入的类型、查询收入的时间、查询收入的来源、查询收入的金额数目、查询相关备注信息以及查询指定月份收入总金额。
支出管理功能包括添加支出的类型、添加支出的时间、添加支出的来源、添加支出的金额数目以及添加相关备注信息;删除支出的类型、删除支出的时间、删除支出的来源、删除支出的金额数目以及删除相关备注信息;修改支出的类型、修改支出的时间、修改支出的来源、修改支出的金额数目以及修改相关备注信息;查询支出的类型、查询支出的时间、查询支出的来源、查询支出的金额数目、查询相关备注信息以及查询指定月份支出总金额。
统计管理功能包括查看收支对比饼图、查看收入柱状统计图、查看支出柱状统计图、查看收入折线统计图、查看支出折线统计图。
个人钱包功能包括查看各个个人账户的余额以及查看各个个人账户余额的总额。
主要功能模块如下图4-1所示。
图4-1 总功能结构图
4.2 数据库设计
数据库的设计是为了能够将该软件的所有信息数据能够不出差错地保存在数据库中,并在需要使用数据的时候将数据不出差错完整地提取出来,因此在这个过程中应该十分谨慎,否则整个系统都将失去它该有的功能。因此,对于数据库的设计不能够急于求成,而应该循序渐进,在设计的过程中应该尽早规划好预想的功能的实现方法,比如数据之间的关系以及调用数据的方法等。
4.2.1 物理设计
从此前的需求分析中可以分析出,该软件有以下几个实体:
用户实体:用户实体用于显示用户的信息,包括理财收入的信息、理财支出的信息以及个人钱包信息等。
收入信息实体:收入信息实体用于显示用户理财收入的信息,包括理财收入类型信息、理财收入来源信息、理财收入金额信息、理财收入日期信息、备注信息等。
支出信息实体:支出信息实体用于显示用户理财支出的信息,包括理财支出类型信息、理财支出来源信息、理财支出金额信息、理财支出日期信息、备注信息等。
个人钱包实体:个人钱包实体用于显示用户每个个人账户的信息,包括每个个人帐户的余额信息以及个人账户余额的总额信息等。
4.2.2 模型设计
本类图的作用是显示了这款理财系统的模型的静态结构,可以使开发人员心中有一定的规划,这不仅仅是为了设计的方便,也是为了方便之后的开发。基于Android的家庭理财管理系统的类图如下图4-2所示。
图4-2 系统类图
4.2.3 数据库E-R图设计
本数据库E-R图是一种描述本软件的概念模型一种非常有用的工具,E-R图可以将软件中需要用到的实体互相联系起来,对软件的设计与开发有很大的帮助,本软件的E-R图如下图4-3所示。
图4-3 系统E-R图
4.2.4 表/字段及表间关系设计
1.收入信息表
理财收入信息表包括了理财收入种类信息、理财收入金额信息、理财收入来源、理财收入时间信息、备注信息等,如下表1所示。
表1理财收入信息表
名 类型 长度 小数点 是否为Null 是否主键
id varchar 36 0 非空 是
type char 15 0 Null 否
amount double 18 0 Null 否
createTime date 0 0 Null 否
remark char 36 0 Null 否
2.支出信息表
理财支出信息表包括了理财支出种类信息、理财支出金额信息、理财来源账户、理财支出时间信息、备注信息等,如下表2所示。
表2支出信息表
名 类型 长度 小数点 是否为Null 是否主键
id varchar 36 0 非空 是
type char 15 0 Null 否
amount double 18 0 Null 否
createTime date 0 0 Null 否
remark char 36 0 Null 否
5 系统界面设计和详细设计
5.1 首页界面设计
本款软件为家庭理财软件,进入软件首页后有四个功能入口,分别为收入管理、支出管理、统计、个人钱包四个功能。首页背景为海底的一张图片,界面清爽简洁,使人们对该款软件功能一目了然,左上角显示了理财管理系统的软件名,系统首页截图如下图5-1所示。
图5 -1系统首页界面图 图5 -2收入管理界面图
5.2 收入管理界面设计
5.2.1 收入管理界面首页设计
用户点击“收入管理”功能按钮,进入收入管理界面,收入管理界面有“添加”按钮、“输入查询关键字”文本框、“月份汇总”按钮、收入信息展示以及收入总金额显示等,收入管理界面如上图5-2所示。
5.2.2 收入信息添加界面设计
用户在收入管理界面点击右上角“添加”按钮,进入收入信息添加界面,收入信息添加界面有“类型”选项、“来源”选项、“金额”项目、“日期”项目和备注信息文本框等。收入信息添加界面如下图5-3所示。