摘 要
近年来,基于Android系统来开发的便携式的智能手机以惊人的速度发展开来。智能手机拥有高速的运算能力、优秀的图形用户界面和高分辨率的屏幕,使人们从计算机中解放出来,能够随时随地的方便地处理各种电子资料并进行一些复杂的运算。因此,智能手机的应用软件将有广阔的发展前景。
本软件是运用Android平台、Java技术和SQLite数据库开发了一款家庭理财应用软件,使用户可以随时随地的管理自己的收支信息。本软件主要包括以下几个模块:新增收入、新增支出、我的收入、我的支出、数据管理、收支便签以及密码设置。用户可以对支出和收入信息的记录、修改、删除、查询、统计进行操作以及用便签功能来记录将要支出和收入的信息,从而实现对个人的支出与收入进行有效并系统地管理。对自己在生活中的各类收支做一个详细的统计。
本软件方便了人们日常生活中对自己收支信息的了解,能清楚的看到自己的收支状况,对自己的收支状况做一个调整,可以起到一个及时调节的作用,让自己做出正确的财务决策。
关键字:安卓;家庭理财;SQLite数据库
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
目 录
1 绪 论 ................................................ 6 开发背景 ................................................ 7 ......................................................... 7 ......................................................... 8 2 开发的相关技术与概念 ................................... 8 Android移动平台 ........................................ 8 系统架构 ................................................ 9 开放性及其应用前景 ..................................... 10 开发环境与工具 ......................................... 11 关键的概念 ............................................. 12 Android 的活动及其生命周期 ............................ 12 资源文件与XML ......................................... 13 SQLite 数据库 ......................................... 13 图形用户界面与组件 ..................................... 14 进程间通讯与意图 ....................................... 14 3 系统分析与设计 ........................................ 15 可行性分析 ............................................. 15 ........................................................ 15 ........................................................ 15 ........................................................ 16 用户功能需求分析 ....................................... 16
........................................................ 17 ........................................................ 17 ........................................................ 17 ........................................................ 18 数据库设计 ............................................ 18 数据库需求分析 ......................................... 18 数据表设计 ............................................. 18 4 编码与实现 ............................................ 20 主要代码 ............................................... 20 主要界面设计 ........................................... 21 用户登录模块 ........................................... 21 ........................................................ 22 我的收入模块 ........................................... 23 ........................................................ 24 我的支出模块 ........................................... 24 ........................................................ 25 ........................................................ 26 ........................................................ 26 ........................................................ 28 5 测 试 ................................................ 29 测试原则 ............................................... 29 ........................................................ 29
........................................................ 29 ........................................................ 30 6结 论 ................................................ 31 致 谢 .................................. 错误!未定义书签。 参考文献 ................................. 错误!未定义书签。
1 绪 论
近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要内容。社会学家细心的观察到,时下家庭的“小九九”比之计划经济年代,开始发生微妙的变化。现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。为此,不少家庭就有中长期财务预算,有基本建设规划。
总的说来,家庭理财必须以量入为出为原则,以财产保值增值为目标,处理好积累和消费的关系。因此,应树立以下四个观念:
第一,资金运动质量观。资金(包括现金,有价证券,存款等)运动,是家庭经济活动的价值反应,家庭理财应管好用活资金,加速资金周转,提高资金利用效果,力争做到结构合理、偿债能力强、经济效益高,家庭财务做为资金的载体,应力争实现其保值增值。
第二,资金使用责任观。家庭财产作为社会资源的一部分,有责任创造社会财富,履行社会责任,为适应我国经济发展的要求,家庭可根据自身状况,适当投资,适度超前消费。
第三,经济效益观。家庭经济生活的基本目标,是在满足生活最佳需要的基础上,实现家庭财力的最大化。因此家庭理财要与经济效益挂钩,必须处理好投入与产出的关系,规避各种经济风险,堵塞各种经济漏洞,增收节支,当好家理好财,不断提高经济效益。
第四,利益协调观。家庭作为社会的细胞,它无疑又是一个利益结合体。从该意义上讲,家庭理财实质就是处理协调家庭内部及与各有关的经济方面的经济利益关系。在理财实践中,要坚持公正、公平、诚实和守信的原则,妥善处理好家庭内部利益关系、家庭与国家及有关经济单位的利益关系。
开发背景
谷歌的Android平台自从2010年以来呈现出突飞猛进的发展势头,在全球手机市场中所占份额从不到10%一路猛增至50%以上,俨然已经抢占了“半壁江山”。对于Android系统来说,最大的特点就是具有开源性。这个特点很大程度的改变以往由少数软件大厂垄断系统软件平台的状况,让众多开发软件供货商和内容开发商来一起分享共同的利益,极大地增进了客户使用的经验[1]。在此背景下,Android开发如雨后春笋。目前手机便捷、随时随地可携带的优势使得它逐渐取代PC成为人们生活中必不可少的用品,所以手机端的软件更加受到人们的青睐。我所做的软件正是基于移动端Android平台,致力于为人们提供更便捷、优质服务。
随着家庭收支的规模不断扩大,家庭理财需求急剧增加,有关家庭理财的各种信息也成倍增长。面对庞大的信息量,有必要开发家庭理财管理系统来提高家庭收支管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。
准确地反映家庭收支经营成果和业绩。本论文所设计的“家庭理财软件”是为方便家庭收支对家庭理财的管理而开发的。
多年以来人们都使用传统的人工方式记录和管理家庭或自己财务情况。这种管理和记录方式不仅不便于长期保存,也存在着不可避免的缺点,如效率太低、保密性太差。时间一长,伴随着居民收入水平的提高和居民各种消费收入的多样性,家庭理财所需要管理的信息就会越来越多,就会产生大量的文件和数据,这样就会对查阅、更新、保存等方面都产生不少的困难。
家庭理财系统在国外很多地方使用已经相当的普遍,而且国外的家庭理财系统的功能已经相当的强大了,比如系统里含有股票的预测、基金的分析等等。在我们国家,随着家庭收入的增加和财富的增长以及市场的各种不确定性越来越大并且越来越影响到家庭的各种行为,所以家庭理财已经越来越受到重视了。而且,
人儿都知道,在现代社会里要维持一个家庭并不容易,尤其是能使一个家庭过上好日子更是不容易。因为生活不可避免地要涉及必要的经济负担,一个家庭若没有起码的经济能力来负担各种家庭的需求,家庭势必解体,家庭成员也无法在家庭内生存下去。如何管理好家庭经济,是维持一个家庭及过好日子的至关重要的问题,因此,家庭理财是摆在每个家庭面前不可忽视的重要课题。谈到家庭理财,有人会认为我们国家还不是很富裕,多数人的家庭收入还不算高,没有什么闲钱能省下来,哪里还谈得上什么家庭理财。其实,这是一种不正确的看法。当亲友日子过得更富裕并能小有积蓄,而相比之下,你自己有时还捉襟见肘,这就说明你应该好好重视一下家庭理财这个问题了。
在个人理财越来越受到重视的今天,越来越多人使用软件进行理财。理财软件的发展在不同时期表现有不同技术的特点,例如互联网的发展催生了不少基于网站的个人记账和理财服务。然而一般人的经济(例如消费)是突发性的,这时用网站来记录消费信息就不是很方便,随着社会的进步,生活的富裕,手机已经成为人们必备的工具之一,利用手机进行理财不失为一种行之有效的方法,同时也给用户带来极大的便利,达到随时随地都能管理财富的目的。而且,在现在的生活中,手机是非常普遍的通讯工具,尤其是智能手机的出现和普及使移动计算成为一种简单的事情。那么人们就可以对生活中发生的各种经济活动及时进行记录并进行统计,这样就可以随时对自己的消费情况进行实时监控[2]。通过对平时的消费进行管理,不进行盲目的消费,达到开源节流的目的,更好的积累财富。
2 开发的相关技术与概念
Android移动平台
Android是Google与2007年宣布的面向移动设备的开源操作系统。该平台
采用以Linux内核作为底层,采用Java作为应用软件编写语言。简而言之,Android是一个免费和开源的操作系统,也指运行Android系统的移动设备(尤其指手机),同时是一个开源的移动应用开发平台[3]。Android的标志是一个绿色可爱的小机械人(),它以十分惊人的速度风靡全球。
图2 .1 Android的标志
系统架构
Android平台采用软件堆层(Software Stack)的系统架构,,从下而上主要由以下几个组成部分:
Linux内核,包括硬件驱动、进程管理、内存管理和电源管理等。 开源库文件,包括各种C/C++核心库,提供多媒体、图形(OpenGL)、数据库(SQLite)和网络完全等方面的支持。
Android运行环境,运行环境用于执行Android应用程序,核心是Java库文件和Dalvik虚拟机。Android没有使用Java虚拟机,而是重新设计了虚拟机使其适用于移动设备,保证多个应用可以在小型设备上有效的运行。,Android使用自己的运行环境和虚拟机来管理内存[4]。与其他框架不同的是。Android同时管理进程的生命周期。为了保证应用程序的灵敏反应,会在适当的时候停止和终止进程,来释放更多的资源来运行优先级的程序。
应用框架,提供了用于创建Android应用类库,包括位置管理器、内容提供器(content provider)、电话服务和感应器等,为表现层提供系统服务。 应用层,所有应用程序包括系统预安装的和第三方应用都位于该层,它们基于同一个应用框架提供的API建造。
Android的软件堆层系统架构
开放性及其应用前景
Google Andyrubin (Android创始人之一)这样描述Android:这是一个面向移动设备的真正开放和通用的平台,运用于上面的所有软件将越过封闭系统造成的障碍而获得移动领域的革新。Android的诞生随即牵动了移动平台激烈的竞争浪潮。苹果Iphone、微软Windows phone、palm pro等掌上智能设备也是市场上有力的竞争者,他们同样为开发移动应用提供一个丰富而又简易的开发环境。然而,与Android不同的是,他们建造于专有的操作系统上,并且在一定程度上排斥第三方软件,推广自家的应用软件。封闭系统不仅限制不同应用软件之间的沟通,限制共享本地设备的数据,甚至限制第三方应用发布至其平台。而基于开源Linux内核的Android采用的是开放的哲学。通过提供一个开放的开发环境,Android为移动应用开发提供了新的可能性[5]。开发者可以根据自己的想法来创建手机界面。
Android被设计成支持许多不同硬件设备,Android不只是应用于手机,也被广泛应用在只能上网设备上。为了推广Android,Google和其他几十个公司创
建了开放手机联盟(Open Handset Alliance),联盟将各成员贡献出来的软件和知识产权集合起来,成员只要遵守Apache v2软件许可协议,可以免费使用Android代码,并根据自己的需要进行修改,修改后的代码可以保持私有,也可通过开源社区提供给开发者。Android在国内日渐普及,国内厂商和运行商也纷纷加入阵营。因此基于Android进行开发移动应用,前景十分广阔。
开发环境与工具
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 的开发与调试提供了许多便利,另一方面集成了上下文提到的Android 的实用工具。
关键的概念
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就被销毁了。。
Activity的整个生命周期始于onCreate()方法而止于onDestroy()方法。通常在onCreate()方法中构建Activity所需资源,并在onDestroy()方法中释放资源。Activity的可视化生命周期始于onStart()方法而止于onStop()方法,此时的Activity是可见的,可能无法和用户进行交互操作。
Android 活动生命周期图
资源文件与XML
无论是什么开发环境,分离与代码无关的内容(如图片和文本),都是好的编程习惯。Android 支持将字符串、颜色、图片和视图布局等内容用XML文件的方式作为外部资源放置在代码目录/res下。这些内容会被自动编译成为对象并由一个命名为R的全局资源类所引用。这样就可以在任何一段代码中使用这些资源 [9]。
SQLite 数据库
Android 提供了一个轻量级的数据库SQLite 用于数据存储和访问。对于一个存储容量有限的移动设备来讲,快速和高效的数据存储和访问是很关键的[10]。SQLite这个嵌入式的数据库引擎可以为每一个Android 应用程序安全而高效地
实现数据持久化。
图形用户界面与组件
Android 的用户界面是由一组树状的图形元素组成,它们都是View类(视图)的子类。树状的视图布局通常用XML表示,在活动创建时被实例化。与其他图形用户界面一样,Android 是基于MVC(Model-View-Controller )的设计模式[11]。事件监听、状态更新与重绘由Android 的用户界面框架由单一线程自动完成。
强大的交互功能预示着用户界面的设计上是复杂的,Android 提供了丰富的用户界面元素而且非常易用。一般情况下,开发者无需自己绘制界面。除了如文本、按钮之类常见的元素,一些复杂的界面例如菜单(Menu)、下拉列表(Spinner)、滚动视图(ListView)都可以通过系统提供的视图组件(Widget)来实现。
进程间通讯与意图
Android 通过引入意图(Intent)机制用来实现进程间有效的通讯,并且降低了功能之间的耦合性。意图具有非常重要的作用,Android应用使用意图进行页面跳转、传递参数以及返回结果。意图可以指定启动特定的活动,也可以发送抽象的“意图”并由系统选择合适的活动完成任务[12]。
3 系统分析与设计
可行性分析
可行性分析主要包括经济可行性、技术可行性、社会可行性。
首先,本次设计是基于安卓系统的应用开发,安卓应用开发只需要一台性能不错的电脑,这对于大部分大学生来说都是拥有的,特别是计算机专业,只要有了电脑,硬件条件就满足了。其次,只要在网上或是相关书籍上查找安卓平台开发环境搭建的相关资料,然后在电脑上搭建好开发环境,就具备了本次设计的基本条件,最后就是能有一个网络环境,虽然不是必须的,但是在有网络环境情况下,如果遇到困难就可以很方便的查阅资料来寻求解决的办法,而这个条件也是很容易满足的,不管在寝室还是在图书馆。由此可见,在经济上本次设计是可行的。
本次设计主要是在安卓平台上开发一个理财应用,将会涉及人机交互,数据库操作你,客户端开发,这些利用安卓平台以及安卓平台内嵌的SQLite数据库,运用Eclipse软件Java技术进行代码编写。
从自身技术而言,安卓开发需要有一定的Java技术基础、数据库技术基础、对安卓平台的了解、熟悉XML. 作为计算机专业的学生,在大学四年里学习过很多类似的基础知识:Java编程、SQL Server数据库原理、XML基础知识等相关基础知识,只要有一定的自学能力,通过阅读安卓开发书籍和网上查询相关的开发资料,是有能力开发出基于安卓系统的理财软件的。
由以上两点可以看出,基于安卓系统的理财软件在技术上也是可行的。
理财是现代社会每个人都必须掌握的基本生存能力之一。随着信息化时代的到来和现代生活节奏的加快,通过纸笔记账的传统理财方式早已远去,通过PC软件实施的信息化理财也曾兴起,但是通过PC软件进行理财,很难做到信息的实时记录。随着Android 和i phone等智能手机的普及,手机的功能早已不再局限于打电话发信息,由于具备天然的便携性,手机的功能和作用正在社交、游戏以及大量实用软件领域大量的替代PC[13]。将理财软件安装在手机中,用户就可以随时随地的进行记录,并可以进行统计和查看,这样就可以帮助用户真正实时的了解自己的财务状况。
因此,开发基于Android 系统的手机理财软件具有很大的实际价值和意义。所以,基于Android 系统的理财软件也具有社会可行性。
综上所述, 本系统的开发目标明确,开发时机成熟,所以完全是可行的。
用户功能需求分析
家庭理软件是针对用户要求用手机对自己的财务的收入、支出以及相关的各种信息,进行记录、修改、添加、删除而设计的一种现代化管理软件,所以本软件需要具有以下功能:
(1)由于一项新的软件在被使用之前,对于使用者来说是陌生和崭新的,所以要求系统具有良好的人机界面。
(2)能够实现家庭理财软件的各项功能,能成功的对用户各种信息进行管理。
(3)查询、修改、删除、添加数据方便,数据的稳定性和可靠性好。 具体说来,要求本系统具有以下几个功能模块:新增支出、我的支出、新增收入、我的收入、便签、数据管理以及系统设置。:
为了保证系统在长期使用过程中能保持高效、可靠、安全等。系统应该达到以下性能要求:
即时性是系统中十分重要的性能之一。在用户使用过程中,及时的处理数据及信息反馈对于用户体验至关重要。在系统开发设计时,要充分考虑数据和数据交换,使系统的数据处理能力和响应速度能够满足用户需求[14]。从系统本身来讲,即时准确的处理用户操作是系统成功的标志之一。
系统的使用者并非专业人员,这就要求系统设计简单,操作直接。所以良好的界面十分重要。界面作为人机交互的窗口,能让用户对软件产生最直观的认识。界面甚至决定了用户对软件的选择。这就要求系统从整体到细节尽量使用用户熟悉的语言和命名信息。要提供足够的帮助解释信息,缩短用户的熟悉过程,并对可能出现的问题给予解决。
系统中冗余数据和重复性处理是影响响应速度的最大因素。优秀的数据库设计,各个表结构的最大优化,可以大大提高系统响应速度。系统要做到及时处理,保证用户的使用效率。
数据库设计
在涉及数据库的软件开发时,对数据库的详细设计是软件开发过程中重中之重,完善的数据库设计是后期开发的必要基础。
数据库需求分析
本项目需要从数据库中查询信息,许多模块功能的实现都需要和数据库 进行交互]。用户权限的实现以及页面上各个功能图标的显示是查询数据库动态生成的,并且鉴于系统数据交互的复杂性,一个良好的数据库设计就成为我们必须 关注的问题[15]。
数据表设计
本系统是一个关于家庭理财信息的管理系统,主要包括收入、支出的管理。所以,所设计数据库表的时候设计了密码表、收入表、支出表、便签信息表用来存储对应的信息。下面将对各个表进行介绍。
密码信息表(表3-1):用于用户登入时进行密码核对。
表3-1 密码信息表 字段名 Password 数据类型 Varchar(20) 是否主键 否 描述 用户密码
支出信息表(表3-2):用于记录支出信息,主要属性包括id(编号)、money(支出金额)、time(支出时间)、type(支出类别)、address(支出地点)、mark(备注)。
表3-2 支出信息表 字段名 id money time type address mark
数据类型 integer decimal Varchar(10) Varchar(10) Varchar(100) Varchar(200) 是否主键 是 否 否 否 否 否 描述 编号 支出金额 支出时间 支出类别 支出地点 备注 收入信息表(表3-3):用于记录收入信息,主要属性包括id(编号)、money(收入金额)、time(收入时间)、type(收入类别)、handler(付款方)、mark(备注)。
表3-3 收入信息表 字段名 id money time type handler mark 数据类型 integer decimal Varchar(10) Varchar(10) Varchar(100) Varchar(200) 是否主键 是 否 否 否 否 否 描述 编号 收入金额 收入时间 收入类别 付款方 备注
便签信息表(表3-4):用于记录所有提醒便签信息,主要属性有id(编号)、Flag(便签内容)。
表3-4 便签信息表 字段名 id Flag 数据类型 integer varchar(20) 是否主键 是 否 描述 编号 便签内容
4 编码与实现
主要代码
。
主要界面设计
用户登录模块
用户登录,,验证用户信息是否合法,以及验证用户是否为系统设计的合法用户。首次登录不需要密码,进去后可在系统设置里设置密码。由于本软件属于个人客户端,通常情况下只有本人使用,所以没有用户名,直接进入密码输入环节,便于保护用户隐私。
登入界面
用户登入后进入软件的主界面,。主界面包括软件的所有功能图标,用户可
根据需要使用。
,此模块的功能是添加用户新增的收入。在平时理财的过程中,添加收入记录是很频繁操作,所以此模块为用户提供了一个非常实用而且便捷的操作过程。在这个模块中,用户可以添加收入信息记录的内容包括:金额、时间、类别、付款方以及备注。为了用户能够方便的查看收入记录,故将收入类别进行了分类,具体分为十三类,分别为工资、股票、兼职、基金、分红、利息、奖金、补贴、礼金、租金、应收款、销售款、报销款以及其他。
我的收入模块
当在新增收入模块进行了添加操作后,添加的收入记录就会显示在我的收入模块中。在这个界面中可以清楚的看到所有的收入信息。同时在这个模块中可以进行查询、修改、删除操作,而查询的是按照类别来进行查询。。
我的支出界面,,此模块的功能是添加用户的新增支出。同样新增支出可以选择金额、时间、类别、地点和备注。类别可以选择早餐、午餐、晚餐、夜宵、买菜、随礼、应酬、打的以及其他。
我的支出模块
。当在新增支出模块进行了数据添加操作后,添加的支出记录就会显示在我的支出模块中。在这个界面中可以清楚的看到所有的支出信息。在这个模块中可以进行查询、修改、删除操作,而查询也是按照类别来进行查询。
便签模块,,它主要实现的是添加便签记录。便签模块可以记录将要进行
的收入或支出信息,也就是相当于备忘录的功能。
,它是让用户来设置密码。密码设置成功后,用户再次登录时就需要所设置的密码。
数据管理界面,,对于家庭理财系统来说,数据管理功能是非常重要的一个功能,它主要是管理支出、收入以及便签的记录信息。当点击支出、收入或便签按钮时,下方就会出现所有的支出、收入或便签信息。同时会总计出支出或收入的总金额。另外还有一个统计的功能,可以进行类别的统计。如果支出、收入或便签出现记录错误,点击改条记录,就会进入对应的管理界面。然后就可以对该条记录进行修改或删除,,,。
用户点击退出图标后回到登录界面。
5 测 试
在系统开发周期中系统测试是一个十分重要的环节。它是保证系统质量与可靠性的最后关口,是对整个系统开发过程包括系统分析、系统设计、系统实现的最终审查。系统测试的对象不仅仅是源程序,而应是整个系统,它把需求分析、概要设计、详细设计以及程序设计各阶段的开发文档,包括需求规格说明、概要设计说明、详细设计说明以及源程序都作为测试的对象[15]。测试的目的就是发现系统的错误。
测试原则
(1)软件测试工作应该贯穿于软件的整个过程,测试工作应该尽早开始,防止出现需求不能满足客户需求的问题。
(2)软件测试应由第三方来完成,以便得出客观的结果。程序员不能测试自己的软件。
(3)测试用例应该考虑到各种情况,如:合法输入、不合法输入以及各种边界值。还应该考虑一些意外情况,如:硬件问题、电源问题等。 (4)测试计划要严格制定,具有可行性与指导性。
(5)测试结果、测试用例、统计数据等一定要妥善保存,为后期的维护工作提供便利。
(1)通过测试来降低开发风险。 (2)发现潜在问题并尽早改正。
(3)在开发项目的过程中将测试看作是一个标准项目。
由于本系统的数据量不是很大,所以测试重点不在测试系统性能,如压力测
试、兼容性测试等,本系统测试的重点主要是文本框的输入。测试它每个部件的操作是否符合预期,并且具有良好的交互性和操作友好性,如下表5-1所示。
表5-1 测试用例表 测试项目 输入 文本框为空,例如便签保存按钮 输入为空 文本框不为空,例如便保存按钮 签输入:明天要交房租 可以保存 不符合格式,例如: 日期输入 2015-01-32 符合格式,例如: 日期输入 2015-01-01 可以输入 继续操作 提示密码位数不够或超出 无法输入 提示错误并清空 保存成功 无法保存 提示请输入便签 预测结果 测试结果 六位以上或十位以下, 密码设置 例如:123 六至十位之间,例如:密码设置 金额输入 金额输入 123456 正整数,例如:10 设置成功 可以输入 设置不成功 设置成功 成功 无法输入 非正整数,例如:-10 无法输入
本系统的开发使用了Android作为开发工具,具有良好的可视化的编程环境。在编程的过程中就可以对所做的模块进行运行,发现错误,以便立即进行改正。经过不断地修改和更正,最终得以完善各个模块的功能。通过进行系统各个子模块的测试和总体的测试,本系统各个模块运行良好,能够完成其对应的功能。要进入系统,系统用户必须通过验证。在登录之后,进入系统主界面。在主界面中,系统用户能够进入新增支出模块、我的支出模块、新增收入模块、我的收入模块、密码管理模块、便签模块等模块。在这些模块中,用户能够对子模块中对应的信息进行相应的操作,本系统的各个模块都能正常的运行。
6结 论
经过这次家庭理财软件的设计和开发,使我对软件开发有了更深层次的认识,一个软件从定义、开发、使用和维护,直到最终被废弃,要经历一个漫长的时期,这就如同一个人要经过胎儿、儿童、青年、中年和老年,直到最终死亡的漫长时期一样。通常把软件经历的这个漫长的时期称为生命周期。
在毕业设计过程中我遇到了很多问题,因为对基于Android的编程不熟悉,我前期不知如何下手,为此我查阅了大量的文献信息,我努力阅读大量的书籍,并且仔细研究别人项目的源代码,推敲其中道理。我也经常在网上下载一些开发实例作为参考,自己尝试着动手去敲代码。另外一旦碰到自己不能解决的问题,我会立刻询问指导老师或者和同学探讨,听取他们的意见与建议。从中我学到了很多知识,也迈出了成功的第一步。
通过此次软件开发让我了解到最初的工作应该是问题定义,也就是确定要求解决的问题是什么;然后进行可行性研究,结局问题是否存在可行解决办法;接下来应该进行需求分析,也就是深入具体地了解用户的要求,在所要开发的系统中必须做什么这个问题上和用户取得完全一致的看法。经过上述软件定义时期的准备工作才能进入开发时期,而在开发时期,首先需要对软件进行设计,然后才能进入编程的阶段,编写程序完之后还必须经过大量的测试工作才能使最终使用。所以,编写程序只是软件开发过程的一个阶段,编写程序完成后进入软件测试占全周期的40%-50%,最重要的阶段了。而且在软件开发过程中,编写程序所需求的工作量只占软件开发全周期的10%-20%。再者,通过本次程序设计我发现对于Android语言和数据库知识的掌握还有很多欠缺的地方,还有很多的盲点,了解还是不够深入,当认识到了自身的不足,所以今后仍需要不懈的努力学习,不断的完善自我。
.
因篇幅问题不能全部显示,请点此查看更多更全内容