本科毕业论文(设计)
题目: Android平台下家庭理财软件设计与开发
姓 名:
学 号:专 业: 计算机科学与技术
院 系: 信息工程学院 指导老师:
职称学位:
完成时间: 2015年5月
教务处制
安徽新华学院本科毕业论文(设计)独创承诺书
本人按照毕业论文(设计)进度计划积极开展实验(调查)研究活动,实事求是地做好实验(调查)记录,所呈交的毕业论文(设计)是我个人在导师指导下进行的研究工作及取得的研究成果。据我所知,除文中特别加以标注引用参考文献资料外,论文(设计)中所有数据均为自己研究成果,不包含其他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究所做的工作已在论文中作了明确说明并表示谢意。
毕业论文(设计)作者签名:
日期:
安徽新华学院2015届本科毕业论文(设计)
基于Android的家庭理财软件的设计与实现
摘 要 近年来,基于Android系统来开发的便携式的智能手机以惊人的速度发展开来。智能手机拥有高速的运算能力、优秀的图形用户界面和高分辨率的屏幕,使人们从计算机中解放出来,能够随时随地的方便地处理各种电子资料并进行一些复杂的运算。因此,智能手机的应用软件将有广阔的发展前景。
本软件是运用Android平台、Java技术和SQLite数据库开发了一款家庭理财应用软件,使用户可以随时随地的管理自己的收支信息。本软件主要包括以下几个模块:新增收入、新增支出、我的收入、我的支出、数据管理、收支便签以及密码设置。用户可以对支出和收入信息的记录、修改、删除、查询、统计进行操作以及用便签功能来记录将要支出和收入的信息,从而实现对个人的支出与收入进行有效并系统地管理。对自己在生活中的各类收支做一个详细的统计。
本软件方便了人们日常生活中对自己收支信息的了解,能清楚的看到自己的收支状况,对自己的收支状况做一个调整,可以起到一个及时调节的作用,让自己做出正确的财务决策。
关键字:安卓;家庭理财;SQLite数据库
I
安徽新华学院2015届本科毕业论文(设计)
Design and implement of family financial management software
based on Android
Abstract
In recent years, based on the Android system to develop a portable smartphone development at an alarming rate. Smartphones have high-speed computing power, excellent graphical user interface and high resolution screens, make people liberated from the computer, can easily deal with all kinds of electronic information anytime and anywhere and carry on some complex operation. As a result, smartphone
applications will have broad prospects for development.
This software is to use the Android platform, Java technology and SQLite
database developed a family financial management application software, the user can manage their income information anytime and anywhere. This software mainly includes the following several modules: new revenue, new spending, my income, spending, data management, notes, and password. Users can record of spending and income information, modify, delete, query, statistic to operate and use sticky notes function to record will be spending and income information, so as to realize the
personal spending and income were effective and systematic management. In your life to do a detailed statistics of all kinds of payments.
This software is convenient for people to know about their payment information in daily life, can clearly see their balance of payments, balances do a adjustment to oneself, can have the effect of a timely adjustment, allow yourself to make the correct financial decisions.
Key Words: Android;SQLite Database;family financial management
II
安徽新华学院2015届本科毕业论文(设计)
目 录
1 绪 论 ................................................ 1
1.1 开发背景 ............................................. 2
1.2国内外现状 ........................................... 2
1.3开发意义及前景........................................ 3
2 开发的相关技术与概念 ................................... 4
2.1 Android移动平台 ...................................... 4
2.1.1 系统架构 ........................................... 4
2.1.2 开放性及其应用前景 ................................. 5
2.1.3 开发环境与工具 ..................................... 6
2.2 关键的概念 ........................................... 7
2.2.1 Android 的活动及其生命周期 ........................ 7
2.2.2 资源文件与XML ...................................... 8
2.2.3 SQLite 数据库 ..................................... 8
2.2.4 图形用户界面与组件 ................................. 9
2.2.5 进程间通讯与意图 ................................... 9
3 系统分析与设计 ........................................ 10
3.1 可行性分析 .......................................... 10
3.1.1经济上的可行性 ..................................... 10
3.1.2技术上的可行性 ..................................... 10
3.1.3社会可行性 ........................................ 11
3.2 用户功能需求分析 .................................... 11
安徽新华学院2015届本科毕业论文(设计)
3.3系统性能要求 ........................................ 12
3.3.1即时性要求 ........................................ 12
3.3.2易用性要求 ........................................ 12
3.3.3响应速度要求....................................... 13
3.4 数据库设计 ......................................... 13
3.4.1 数据库需求分析 .................................... 13
3.4.2 数据表设计 ........................................ 13
4 编码与实现 ............................................ 15
4.1 主要代码 ............................................ 15
4.2 主要界面设计 ........................................ 16
4.2.1 用户登录模块 ...................................... 16
4.2.2新增收入模块....................................... 17
4.2.3 我的收入模块 ...................................... 18
4.2.4新增支出模块....................................... 19
4.2.5 我的支出模块 ...................................... 19
4.2.6便签模块 .......................................... 20
4.2.7系统设置模块....................................... 21
4.2.8数据管理模块....................................... 21
4.2.9退出 .............................................. 23
5 测 试 ................................................ 24
5.1 测试原则 ............................................ 24
5.2测试目标 ............................................ 24
安徽新华学院2015届本科毕业论文(设计)
5.3测试用例 ............................................ 24
5.4测试结果 ............................................ 25
6结 论 ................................................ 26
致 谢 ................................................. 27
参考文献 ................................................ 28
安徽新华学院2015届本科毕业论文(设计)
1 绪 论
近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要内容。社会学家细心的观察到,时下家庭的“小九九”比之计划经济年代,开始发生微妙的变化。现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。为此,不少家庭就有中长期财务预算,有基本建设规划。
总的说来,家庭理财必须以量入为出为原则,以财产保值增值为目标,处理好积累和消费的关系。因此,应树立以下四个观念:
第一,资金运动质量观。资金(包括现金,有价证券,存款等)运动,是家庭经济活动的价值反应,家庭理财应管好用活资金,加速资金周转,提高资金利用效果,力争做到结构合理、偿债能力强、经济效益高,家庭财务做为资金的载体,应力争实现其保值增值。
第二,资金使用责任观。家庭财产作为社会资源的一部分,有责任创造社会财富,履行社会责任,为适应我国经济发展的要求,家庭可根据自身状况,适当投资,适度超前消费。
第三,经济效益观。家庭经济生活的基本目标,是在满足生活最佳需要的基础上,实现家庭财力的最大化。因此家庭理财要与经济效益挂钩,必须处理好投入与产出的关系,规避各种经济风险,堵塞各种经济漏洞,增收节支,当好家理好财,不断提高经济效益。
第四,利益协调观。家庭作为社会的细胞,它无疑又是一个利益结合体。从该意义上讲,家庭理财实质就是处理协调家庭内部及与各有关的经济方面的经济利益关系。在理财实践中,要坚持公正、公平、诚实和守信的原则,妥善处理好家庭内部利益关系、家庭与国家及有关经济单位的利益关系。
1
安徽新华学院2015届本科毕业论文(设计)
1.1 开发背景
谷歌的Android平台自从2010年以来呈现出突飞猛进的发展势头,在全球手机市场中所占份额从不到10%一路猛增至50%以上,俨然已经抢占了“半壁江山”。对于Android系统来说,最大的特点就是具有开源性。这个特点很大程度的改变以往由少数软件大厂垄断系统软件平台的状况,让众多开发软件供货商和内容开发商来一起分享共同的利益,极大地增进了客户使用的经验[1]。在此背景下,Android开发如雨后春笋。目前手机便捷、随时随地可携带的优势使得它逐渐取代PC成为人们生活中必不可少的用品,所以手机端的软件更加受到人们的青睐。我所做的软件正是基于移动端Android平台,致力于为人们提供更便捷、优质服务。
随着家庭收支的规模不断扩大,家庭理财需求急剧增加,有关家庭理财的各种信息也成倍增长。面对庞大的信息量,有必要开发家庭理财管理系统来提高家庭收支管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。
准确地反映家庭收支经 理财管理对每个家庭和个人都是一件十分重要的工作营成果和业绩。本论文所设计的“家庭理财软件”是为方便家庭收支对家庭理财的管理而开发的。
多年以来人们都使用传统的人工方式记录和管理家庭或自己财务情况。这种管理和记录方式不仅不便于长期保存,也存在着不可避免的缺点,如效率太低、保密性太差。时间一长,伴随着居民收入水平的提高和居民各种消费收入的多样性,家庭理财所需要管理的信息就会越来越多,就会产生大量的文件和数据,这样就会对查阅、更新、保存等方面都产生不少的困难。
1.2国内外现状
家庭理财系统在国外很多地方使用已经相当的普遍,而且国外的家庭理财系统的功能已经相当的强大了,比如系统里含有股票的预测、基金的分析等等。在我们国家,随着家庭收入的增加和财富的增长以及市场的各种不确定性越来越大 2
安徽新华学院2015届本科毕业论文(设计)
并且越来越影响到家庭的各种行为,所以家庭理财已经越来越受到重视了。而且,人儿都知道,在现代社会里要维持一个家庭并不容易,尤其是能使一个家庭过上好日子更是不容易。因为生活不可避免地要涉及必要的经济负担,一个家庭若没有起码的经济能力来负担各种家庭的需求,家庭势必解体,家庭成员也无法在家庭内生存下去。如何管理好家庭经济,是维持一个家庭及过好日子的至关重要的问题,因此,家庭理财是摆在每个家庭面前不可忽视的重要课题。谈到家庭理财,有人会认为我们国家还不是很富裕,多数人的家庭收入还不算高,没有什么闲钱能省下来,哪里还谈得上什么家庭理财。其实,这是一种不正确的看法。当亲友日子过得更富裕并能小有积蓄,而相比之下,你自己有时还捉襟见肘,这就说明你应该好好重视一下家庭理财这个问题了。
1.3开发意义及前景
在个人理财越来越受到重视的今天,越来越多人使用软件进行理财。理财软件的发展在不同时期表现有不同技术的特点,例如互联网的发展催生了不少基于网站的个人记账和理财服务。然而一般人的经济(例如消费)是突发性的,这时用网站来记录消费信息就不是很方便,随着社会的进步,生活的富裕,手机已经成为人们必备的工具之一,利用手机进行理财不失为一种行之有效的方法,同时也给用户带来极大的便利,达到随时随地都能管理财富的目的。而且,在现在的生活中,手机是非常普遍的通讯工具,尤其是智能手机的出现和普及使移动计算成为一种简单的事情。那么人们就可以对生活中发生的各种经济活动及时进行记录并进行统计,这样就可以随时对自己的消费情况进行实时监控[2]。通过对平时的消费进行管理,不进行盲目的消费,达到开源节流的目的,更好的积累财富。
3
安徽新华学院2015届本科毕业论文(设计)
2 开发的相关技术与概念
2.1 Android移动平台
Android是Google与2007年宣布的面向移动设备的开源操作系统。该平台采用以Linux内核作为底层,采用Java作为应用软件编写语言。简而言之,Android是一个免费和开源的操作系统,也指运行Android系统的移动设备(尤其指手机),同时是一个开源的移动应用开发平台[3]。Android的标志是一个绿色可爱的小机械人(见图2.1),它以十分惊人的速度风靡全球。
图2 .1 Android的标志
2.1.1 系统架构
Android平台采用软件堆层(Software Stack)的系统架构,如图2.2所示,从下而上主要由以下几个组成部分:
Linux内核,包括硬件驱动、进程管理、内存管理和电源管理等。
开源库文件,包括各种C/C++核心库,提供多媒体、图形(OpenGL)、数据库(SQLite)和网络完全等方面的支持。
Android运行环境,运行环境用于执行Android应用程序,核心是Java库文件和Dalvik虚拟机。Android没有使用Java虚拟机,而是重新设计了虚拟机使其适用于移动设备,保证多个应用可以在小型设备上有效的运行。与Java和.NET类似,Android使用自己的运行环境和虚拟机来管理内存[4]。与其他框架不同的是。Android同时管理进程的生命周期。为了保证应用程序的灵敏反应,会在适当的时候停止和终止进程,来释放更多的资源来运行优先级的程序。
应用框架,提供了用于创建Android应用类库,包括位置管理器、内容提供 4
安徽新华学院2015届本科毕业论文(设计)
器(content provider)、电话服务和感应器等,为表现层提供系统服务。
应用层,所有应用程序包括系统预安装的和第三方应用都位于该层,它们基于同一个应用框架提供的API建造。
图2.2 Android的软件堆层系统架构
2.1.2 开放性及其应用前景
Google Andyrubin (Android创始人之一)这样描述Android:这是一个面向移动设备的真正开放和通用的平台,运用于上面的所有软件将越过封闭系统造成的障碍而获得移动领域的革新。Android的诞生随即牵动了移动平台激烈的竞争浪潮。苹果Iphone、微软Windows phone、palm pro等掌上智能设备也是市场上有力的竞争者,他们同样为开发移动应用提供一个丰富而又简易的开发环境。然而,与Android不同的是,他们建造于专有的操作系统上,并且在一定程度上排斥第三方软件,推广自家的应用软件。封闭系统不仅限制不同应用软件之间的沟通,限制共享本地设备的数据,甚至限制第三方应用发布至其平台。而基于开源Linux内核的Android采用的是开放的哲学。通过提供一个开放的开发环境,Android为移动应用开发提供了新的可能性[5]。开发者可以根据自己的想法 5
安徽新华学院2015届本科毕业论文(设计)
来创建手机界面。
Android被设计成支持许多不同硬件设备,Android不只是应用于手机,也被广泛应用在只能上网设备上。为了推广Android,Google和其他几十个公司创建了开放手机联盟(Open Handset Alliance),联盟将各成员贡献出来的软件和知识产权集合起来,成员只要遵守Apache v2软件许可协议,可以免费使用
Android代码,并根据自己的需要进行修改,修改后的代码可以保持私有,也可通过开源社区提供给开发者。Android在国内日渐普及,国内厂商和运行商也纷纷加入阵营。因此基于Android进行开发移动应用,前景十分广阔。
2.1.3 开发环境与工具
Android 提供了免费和开放的开发环境使开发者能够快速编制应用程序[6]。 Android 提供了一些使用的工具用于搭建开发和调试环境,主要包括:
Eclipse 集成开发环境。 Android 支持多种集成开发环境(IDE),其中Eclipse 与Android SDK集成最好,而且Eclipse 是完全免费。
Android 软件开发包(SDK)。Android SDK 通过Google的Android 开发者网站发布。根据操作系统类别提示下载后直接解压到选定的文件夹即可。其中子文件夹/tools下包含了很多开发过程中非常实用的工具。
虚拟设备管理器(AVD)。用于创建Android虚拟机,通过指定不同硬件配置,开发者可以模拟出各种Android设备用于测试。
开发包管理器(SDK Manager)。用于安装、更新和管理不同版本的Android SDK、API库和技术文档。
Dalvik 调试监控工具(DDMS)。DDMS是一个强大的调试工具,可以查询、监视和暂停活动进程;查看堆栈;访问文件系统;还有截图和查看日志的功能。
Android 调试桥(ADB)。ADB是一个客户端程序,让开发者连接到Android 模拟器或设备,负责开发工具与Android设备之间通讯,包括安装应用程序、读写文件、运行Shell命令等。
Eclipse 插件(ADT)。通过在eclipse 软件更新选项下添加ADT的安装网址即可按提示完成安装。插件安装成功后的eclipse开发环境将为Android 的开 6
安徽新华学院2015届本科毕业论文(设计)
发与调试提供了许多便利,另一方面集成了上下文提到的Android 的实用工具。
2.2 关键的概念
2.2.1 Android 的活动及其生命周期
Android 应用由4种应用程序组件构成:活动(Activity)、服务(Service)、广播和意图接收器(Broadcast and Intent Receivers)、内容提供器( Content Provider)。 其中应用程序大部分的代码是以活动的形式存在[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是可见的,可能无法和用户进行交互操作。
7
安徽新华学院2015届本科毕业论文(设计)
图2.3 Android 活动生命周期图
2.2.2 资源文件与XML
无论是什么开发环境,分离与代码无关的内容(如图片和文本),都是好的编程习惯。Android 支持将字符串、颜色、图片和视图布局等内容用XML文件的方式作为外部资源放置在代码目录/res下。这些内容会被自动编译成为对象并由一个命名为R的全局资源类所引用。这样就可以在任何一段代码中使用这些资源 [9]。
2.2.3 SQLite 数据库
Android 提供了一个轻量级的数据库SQLite 用于数据存储和访问。对于一个存储容量有限的移动设备来讲,快速和高效的数据存储和访问是很关键的[10]。SQLite这个嵌入式的数据库引擎可以为每一个Android 应用程序安全而高效地 8
安徽新华学院2015届本科毕业论文(设计)
实现数据持久化。
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]。
9
安徽新华学院2015届本科毕业论文(设计)
3 系统分析与设计
3.1 可行性分析
可行性分析主要包括经济可行性、技术可行性、社会可行性。
3.1.1经济上的可行性
首先,本次设计是基于安卓系统的应用开发,安卓应用开发只需要一台性能不错的电脑,这对于大部分大学生来说都是拥有的,特别是计算机专业,只要有了电脑,硬件条件就满足了。其次,只要在网上或是相关书籍上查找安卓平台开发环境搭建的相关资料,然后在电脑上搭建好开发环境,就具备了本次设计的基本条件,最后就是能有一个网络环境,虽然不是必须的,但是在有网络环境情况下,如果遇到困难就可以很方便的查阅资料来寻求解决的办法,而这个条件也是很容易满足的,不管在寝室还是在图书馆。由此可见,在经济上本次设计是可行的。
3.1.2技术上的可行性
本次设计主要是在安卓平台上开发一个理财应用,将会涉及人机交互,数据库操作你,客户端开发,这些利用安卓平台以及安卓平台内嵌的SQLite数据库,运用Eclipse软件Java技术进行代码编写。
从自身技术而言,安卓开发需要有一定的Java技术基础、数据库技术基础、对安卓平台的了解、熟悉XML. 作为计算机专业的学生,在大学四年里学习过很多类似的基础知识:Java编程、SQL Server数据库原理、XML基础知识等相关基础知识,只要有一定的自学能力,通过阅读安卓开发书籍和网上查询相关的开发资料,是有能力开发出基于安卓系统的理财软件的。
由以上两点可以看出,基于安卓系统的理财软件在技术上也是可行的。 10
安徽新华学院2015届本科毕业论文(设计)
3.1.3社会可行性
理财是现代社会每个人都必须掌握的基本生存能力之一。随着信息化时代的到来和现代生活节奏的加快,通过纸笔记账的传统理财方式早已远去,通过PC软件实施的信息化理财也曾兴起,但是通过PC软件进行理财,很难做到信息的实时记录。随着Android 和i phone等智能手机的普及,手机的功能早已不再局限于打电话发信息,由于具备天然的便携性,手机的功能和作用正在社交、游戏以及大量实用软件领域大量的替代PC[13]。将理财软件安装在手机中,用户就可以随时随地的进行记录,并可以进行统计和查看,这样就可以帮助用户真正实时的了解自己的财务状况。
因此,开发基于Android 系统的手机理财软件具有很大的实际价值和意义。所以,基于Android 系统的理财软件也具有社会可行性。
综上所述, 本系统的开发目标明确,开发时机成熟,所以完全是可行的。
3.2 用户功能需求分析
家庭理软件是针对用户要求用手机对自己的财务的收入、支出以及相关的各种信息,进行记录、修改、添加、删除而设计的一种现代化管理软件,所以本软件需要具有以下功能:
(1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面。
(2)能够实现家庭理财软件的各项功能,能成功的对用户各种信息进行管理。
(3)查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。
具体说来,要求本系统具有以下几个功能模块:新增支出、我的支出、新增收入、我的收入、便签、数据管理以及系统设置。家庭理财通的功能结构如下图
3.1所示:
11
安徽新华学院2015届本科毕业论文(设计)
图3.1功能结构图
3.3系统性能要求
为了保证系统在长期使用过程中能保持高效、可靠、安全等。系统应该达到以下性能要求:
3.3.1即时性要求
即时性是系统中十分重要的性能之一。在用户使用过程中,及时的处理数据及信息反馈对于用户体验至关重要。在系统开发设计时,要充分考虑数据和数据交换,使系统的数据处理能力和响应速度能够满足用户需求[14]。从系统本身来讲,即时准确的处理用户操作是系统成功的标志之一。
3.3.2易用性要求
系统的使用者并非专业人员,这就要求系统设计简单,操作直接。所以良好的界面十分重要。界面作为人机交互的窗口,能让用户对软件产生最直观的认识。界面甚至决定了用户对软件的选择。这就要求系统从整体到细节尽量使用用户熟悉的语言和命名信息。要提供足够的帮助解释信息,缩短用户的熟悉过程,并对可能出现的问题给予解决。
1
2
安徽新华学院2015届本科毕业论文(设计)
3.3.3响应速度要求
系统中冗余数据和重复性处理是影响响应速度的最大因素。优秀的数据库设计,各个表结构的最大优化,可以大大提高系统响应速度。系统要做到及时处理,保证用户的使用效率。
3.4 数据库设计
在涉及数据库的软件开发时,对数据库的详细设计是软件开发过程中重中之重,完善的数据库设计是后期开发的必要基础。
3.4.1 数据库需求分析
本项目需要从数据库中查询信息,许多模块功能的实现都需要和数据库 进行交互]。用户权限的实现以及页面上各个功能图标的显示是查询数据库动态生成的,并且鉴于系统数据交互的复杂性,一个良好的数据库设计就成为我们必须 关注的问题[15]。
3.4.2 数据表设计
本系统是一个关于家庭理财信息的管理系统,主要包括收入、支出的管理。所以,所设计数据库表的时候设计了密码表、收入表、支出表、便签信息表用来存储对应的信息。下面将对各个表进行介绍。
密码信息表(表3-1):用于用户登入时进行密码核对。
表3-1 密码信息表
支出信息表(表3-2):用于记录支出信息,主要属性包括id(编号)、money(支出金额)、time(支出时间)、type(支出类别)、address(支出地点)、mark(备注)。
13
安徽新华学院2015届本科毕业论文(设计)
表3-2 支出信息表
收入信息表(表3-3):用于记录收入信息,主要属性包括id(编号)、money(收入金额)、time(收入时间)、type(收入类别)、handler(付款方)、mark(备注)。
表3-3 收入信息表
便签信息表(表3-4):用于记录所有提醒便签信息,主要属性有id(编号)、Flag(便签内容)。
14
安徽新华学院2015届本科毕业论文(设计)
4 编码与实现
4.1 主要代码
系统程序架构如图4.1所示。
图4.1程序架构 1 5
安徽新华学院2015届本科毕业论文(设计)
4.2 主要界面设计
4.2.1 用户登录模块
用户登录,如图4.2所示,验证用户信息是否合法,以及验证用户是否为系统设计的合法用户。首次登录不需要密码,进去后可在系统设置里设置密码。由于本软件属于个人客户端,通常情况下只有本人使用,所以没有用户名,直接进入密码输入环节,便于保护用户隐私。
图4.2 登入界面
用户登入后进入软件的主界面,如图4.3所示。主界面包括软件的所有功能图标,用户可根据需要使用。
16
安徽新华学院2015届本科毕业论文(设计)
图4.3主功能界面
4.2.2新增收入模块
新增收入界面如下图4.4所示,此模块的功能是添加用户新增的收入。在平时理财的过程中,添加收入记录是很频繁操作,所以此模块为用户提供了一个非常实用而且便捷的操作过程。在这个模块中,用户可以添加收入信息记录的内容包括:金额、时间、类别、付款方以及备注。为了用户能够方便的查看收入记录,故将收入类别进行了分类,具体分为十三类,分别为工资、股票、兼职、基金、分红、利息、奖金、补贴、礼金、租金、应收款、销售款、报销款以及其他。
17
安徽新华学院2015届本科毕业论文(设计)
图4.4新增收入界面
4.2.3 我的收入模块
当在新增收入模块进行了添加操作后,添加的收入记录就会显示在我的收入模块中。在这个界面中可以清楚的看到所有的收入信息。同时在这个模块中可以进行查询、修改、删除操作,而查询的是按照类别来进行查询。界面如下图
4.5所示。
图4.5我的收入界面
18
安徽新华学院2015届本科毕业论文(设计)
4.2.4新增支出模块
我的支出界面,如图4.6所示,此模块的功能是添加用户的新增支出。同样新增支出可以选择金额、时间、类别、地点和备注。类别可以选择早餐、午餐、晚餐、夜宵、买菜、随礼、应酬、打的以及其他。
图4.6新增支出界面
4.2.5 我的支出模块
我的支出模块界面如下图4.5。当在新增支出模块进行了数据添加操作后,添加的支出记录就会显示在我的支出模块中。在这个界面中可以清楚的看到所有的支出信息。在这个模块中可以进行查询、修改、删除操作,而查询也是按照类别来进行查询。
19
安徽新华学院2015届本科毕业论文(设计)
图4.7我的支出界面
4.2.6便签模块
便签模块,如图4.8所示,它主要实现的是添加便签记录。便签模块可以记录将要进行的收入或支出信息,也就是相当于备忘录的功能。
图4.8便签界面
20
安徽新华学院2015届本科毕业论文(设计)
4.2.7系统设置模块
此模块如图4.9所示,它是让用户来设置密码。密码设置成功后,用户再次登录时就需要所设置的密码。
图4.9系统设置
4.2.8数据管理模块
数据管理界面,如图4.8所示,对于家庭理财系统来说,数据管理功能是非常重要的一个功能,它主要是管理支出、收入以及便签的记录信息。当点击支出、收入或便签按钮时,下方就会出现所有的支出、收入或便签信息。同时会总计出支出或收入的总金额。另外还有一个统计的功能,可以进行类别的统计。如果支出、收入或便签出现记录错误,点击改条记录,就会进入对应的管理界面。然后就可以对该条记录进行修改或删除,如下图4.11是对支出信息进行修改或删除的管理界面,图4.12是收入的管理界面,图4.13是便签管理界面。 21
安徽新华学院2015届本科毕业论文(设计)
图4.10数据管理界面
图4.11支出管理界面
22
安徽新华学院2015届本科毕业论文(设计)
图4.12收入管理界面
图4.13便签管理模块
4.2.9退出
用户点击退出图标后回到登录界面。
2
3
安徽新华学院2015届本科毕业论文(设计)
5 测 试
在系统开发周期中系统测试是一个十分重要的环节。它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计、系统实现的最终审查。系统测试的对象不仅仅是源程序,而应是整个系统,它把需求分析、概要设计、详细设计以及程序设计各阶段的开发文档,包括需求规格说明、概要设计说明、详细设计说明以及源程序都作为测试的对象[15]。测试的目的就是发现系统的错误。
5.1 测试原则
(1)软件测试工作应该贯穿于软件的整个过程,测试工作应该尽早开始,防止出现需求不能满足客户需求的问题。
(2)软件测试应由第三方来完成,以便得出客观的结果。程序员不能测试自己的软件。
(3)测试用例应该考虑到各种情况,如:合法输入、不合法输入以及各种边界值。还应该考虑一些意外情况,如:硬件问题、电源问题等。
(4)测试计划要严格制定,具有可行性与指导性。
(5)测试结果、测试用例、统计数据等一定要妥善保存,为后期的维护工作提供便利。
5.2测试目标
(1)通过测试来降低开发风险。
(2)发现潜在问题并尽早改正。
(3)在开发项目的过程中将测试看作是一个标准项目。
5.3测试用例
由于本系统的数据量不是很大,所以测试重点不在测试系统性能,如压力测 24
安徽新华学院2015届本科毕业论文(设计)
试、兼容性测试等,本系统测试的重点主要是文本框的输入。测试它每个部件的操作是否符合预期,并且具有良好的交互性和操作友好性,如下表5-1所示。
表5-1 测试用例表
5.4测试结果
本系统的开发使用了Android作为开发工具,具有良好的可视化的编程环境。在编程的过程中就可以对所做的模块进行运行,发现错误,以便立即进行改正。经过不断地修改和更正,最终得以完善各个模块的功能。通过进行系统各个子模块的测试和总体的测试,本系统各个模块运行良好,能够完成其对应的功能。要进入系统,系统用户必须通过验证。在登录之后,进入系统主界面。在主界面中,系统用户能够进入新增支出模块、我的支出模块、新增收入模块、我的收入模块、密码管理模块、便签模块等模块。在这些模块中,用户能够对子模块中对应的信息进行相应的操作,本系统的各个模块都能正常的运行。
25
安徽新华学院2015届本科毕业论文(设计)
6结 论
经过这次家庭理财软件的设计和开发,使我对软件开发有了更深层次的认识,一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,这就如同一个人要经过胎儿、儿童、青年、中年和老年,直到最终死亡的漫长时期一样。通常把软件经历的这个漫长的时期称为生命周期。
在毕业设计过程中我遇到了很多问题,因为对基于Android的编程不熟悉,我前期不知如何下手,为此我查阅了大量的文献信息,我努力阅读大量的书籍,并且仔细研究别人项目的源代码,推敲其中道理。我也经常在网上下载一些开发实例作为参考,自己尝试着动手去敲代码。另外一旦碰到自己不能解决的问题,我会立刻询问指导老师或者和同学探讨,听取他们的意见与建议。从中我学到了很多知识,也迈出了成功的第一步。
通过此次软件开发让我了解到最初的工作应该是问题定义,也就是确定要求解决的问题是什么;然后进行可行性研究,结局问题是否存在可行解决办法;接下来应该进行需求分析,也就是深入具体地了解用户的要求,在所要开发的系统中必须做什么这个问题上和用户取得完全一致的看法。经过上述软件定义时期的准备工作才能进入开发时期,而在开发时期,首先需要对软件进行设计,然后才能进入编程的阶段,编写程序完之后还必须经过大量的测试工作才能使最终使用。所以,编写程序只是软件开发过程的一个阶段,编写程序完成后进入软件测试占全周期的40%-50%,最重要的阶段了。而且在软件开发过程中,编写程序所需求的工作量只占软件开发全周期的10%-20%。再者,通过本次程序设计我发现对于Android语言和数据库知识的掌握还有很多欠缺的地方,还有很多的盲点,了解还是不够深入,当认识到了自身的不足,所以今后仍需要不懈的努力学习,不断的完善自我。
.
26
安徽新华学院2015届本科毕业论文(设计)
致 谢
首先,我非常的感谢丁春玲老师,她在我做毕业设计的过程中提出了很多建设性的意见,使我的设计更加的全面与完善。另外她还对我的论文提出了很多详细的需求与指导,使我的论文更加清晰明朗。我真心的感谢老师为我做出的这一切。我时常在她休息的时间去打扰她,这令我感到羞愧。但老师从来没有责怪我,反而是细心地为我解答难题,老师这种无私的敬业精神深深的印刻在我的心里,令我敬佩。在此,我衷心的对老师说一句,辛苦您了,您是我永远尊重的老师。
在本次任务中,同学对我的帮助也是相当大的的,在我不懂,不会的时候,他们尽心的帮助我,最终完成了一个这么家庭理财软件,虽然这个系统不是十分的善完善,但是,它是我们一起努力的成果,再此,再次的对他们说一声谢谢。
最后,非常感谢答辩小组几位老师对学生本次毕业设计的考核,我希望自己能顺利的通过此次考核,在今后的道路上,我会一直不断的努力学习,完善自身。
27
安徽新华学院2015届本科毕业论文(设计)
参考文献
[1] 黄彬华.Android手机/平板电脑程序开发教练[M].北京:水利水电出版社,2012.
[2] 孙宏明.Android手机程序设计入门、应用到精通[M].北京:中国水利水电出版社,2012.
[3] 郭少豪.创意之钥:Android手机交互应用开发[M].北京:中国铁道出版社,2011.
[4] 杨丰盛.Android技术内幕[M].北京:机械工业出版社,2011.
[5] 吴想想.基于Android平台软件开发方法的研究与应用[D].北京:北京邮电大学,2011.
[6] 王琳.基于Android平台音频播放系统的设计与实现[D].吉林:吉林大学,2013.
[7] 李宁.Android开发完全讲义[M].北京:中国水利水电出版社,2012.
[8] 韩超.Android经典应用程序开发[M].北京:电子工业出版社,2012.
[9] 杨云君.Android的设计与实现[M].北京:机械工业出版社,2013.
[10]秦建平.Android编程宝典[M].北京:北京航空航天大学出版社,2013.
[11]李宁.Android开发权威指南[M].北京:人民邮电出版社,2011.
[12] 王克锋.基于Android的信息推送管理系统的设计和实现[D].大连:大连理工大学,2012.
[13] 张嘉宾.Android应用的安全性研究[D].北京:北京邮电大学 ,2013.
[14] 靳岩、姚尚朗.Google Android开发入门与实战[M].北京:人民邮电出版社,2009.
[15] 吴亚峰.Android编程典型实例与项目开发[M].北京:电子工业出版社. 2011.
28
29