收藏 分享(赏)

基于安卓的个人记账本系统的设计与实现——毕业论文.docx

上传人:wo7103235 文档编号:6143828 上传时间:2019-03-30 格式:DOCX 页数:34 大小:349.14KB
下载 相关 举报
基于安卓的个人记账本系统的设计与实现——毕业论文.docx_第1页
第1页 / 共34页
基于安卓的个人记账本系统的设计与实现——毕业论文.docx_第2页
第2页 / 共34页
基于安卓的个人记账本系统的设计与实现——毕业论文.docx_第3页
第3页 / 共34页
基于安卓的个人记账本系统的设计与实现——毕业论文.docx_第4页
第4页 / 共34页
基于安卓的个人记账本系统的设计与实现——毕业论文.docx_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、毕业设计中文题目 基于安卓的个人记账本系统的设计与实现英文题目 The Designand Implementation of PersonalAccount Based on Android Platfom院系: 计算机与信息工程学院年级专业: 软件(金融) 姓名:学号:指导教师:职称: 年 月摘要I摘要个人理财管理系统是基于 Android 系统开发的一款手机应用程序。它主要是为了满足人们在快节奏的生活中可以随时记下自己的收支情况的需求。个人理财管理系统与传统的记账方式相比,具有便捷性、安全性及可扩展性的特点。系统采用 Eclipse+ Android Developer Tools 作为

2、开发工具,以 SQLite 为数据库。系统功能包括:用户账户的注册、用户名密码修改、账户删除,收入信息的增删改,支出信息的增删改,收入信息分类统计,支出信息分类统计,收入支出总额统计,数据还原、清空等等。系统具有界面简洁鲜明、功能便捷易用、操作人性化等特征。关键词:Android;软件开发;个人理财管理系统ABSTRACTIIABSTRACTThe personal financial management system isa mobile application developedbased on the Android system .It is mainly to meet those

3、 people who want to write down their income and expenditure more quickly and conveniently in the fast-paced life. Compared with the traditional method, Personal financial management system reflects more conve -nience,security and scalability. Especially in this day and age, people are on the side of

4、 the phone. System uses Eclipse and Android Developer Tools as a development tool and SQLite as the database. Android technology is now very mature, we can easily develop.Personal Financial Management System of the main functional modules,including: user account registration, user switching, usernam

5、e password changes, account deletion,Incomeinformation management,Expenditure information management,Notes manage- ment,Type of income management, Expenditure Type Manager, Income information classification statistics, expenditure information classification statistics, total income and expenditure s

6、tatistics,Data reduction, data emptied and so on. The system has a simple and clear interface, easy-to-use features, user-friendly operation and other features.Key Words: Android; Software development; Personal financial management system目录III目录第 1 章 引言 .11.1 研究背景 11.2 国内外发展现状 11.3 本章小结 2第 2 章 主要理论和

7、技术路线 .32.1 Android 软件开发基本技术 32.2 Android 软件开发关键技术 32.3 本章小结 4第 3 章 需求分析 .53.1 系统概述 53.2 需求概述 53.3 系统结构 63.4 系统各项功能描述 73.5 本章小结 .11第 4 章 系统设计 124.1 系统结构 .124.2 时序图 .124.2.1 用户登录 .124.2.2 用户记账 .134.2.3 用户查询 .134.3 类图 .134.3.1 账目信息类 .144.3.2 用户信息类 .144.4 数据 .154.5 本章小结 .16第 5 章 系统实现 175.1 各模块功能实现 .175.

8、1.1 登录模块实现 .175.1.2 注册模块实现 .175.1.3 主界面模块实现 .185.1.4 饼状图模块实现 .195.1.5 账目记录以及账目修改模块实现 .195.1.6 账目明细模块实现 .205.2 数据库实现 .215.3 本章小结 .21第 6 章 系统测试 236.1 范围 .236.1.1 系统概述 .236.1.2 测试方案 .236.2 功能测试 .23目录IV6.3 本章小结 .25第 7 章 总结与展望 267.1 总结 .267.2 展望 .26参考文献 .28致 谢 1第 1 章 引言1第 1 章 引言1.1 研究背景近年来,人们对于智能手机日益依赖,对

9、于很多人来说,对于手机的依赖大于电脑,智能手机成为人们对日常信息获取处理的主要手段。随着人们对于手机软件日益增加的需求,手机软件开发日益火热。Android 由于其开源的特性,很多智能手机都使用 Android 系统作为手机操作系统,使得 Android 在手机市场的占有率最大,而 Android 软件开发也成为当下热门的课题之一。人们在日常生活中可能会有记账的需求,而用普通的纸质载体去记账,会有很多不方便的地方。手机个人记账本的实现,使人们可以随时随地进行个人消费的记录,实现多账户管理,按日期查询,方便了广大一般家庭用户的记账需求。1.2 国内外发展现状Android 是一个自由且开放的操作

10、系统,主要应用环境为移动端(一般为智能手机、平板电脑),为何 Android 能够占据主流的市场,并在可预期的未来几年内,仍可保持其优势,有如下三点最为重要:其一,Android 具有显著的开放性。它是免费的,并且代码是开源的。免费使得制造商可以放心投入资金,Android 硬件技术将是免费的,开发人员可以放心编写应用程序 ,而不需要担心复杂的平台成本,并且研究人员可以放心寻找缺陷,提高底层系统,无需购买许可和协议。而开源使得更多的软件得以开发,用户可以使用到更多种类的软件。其二,Android 拥有丰富的硬件,这也与其开放性有关,首先有很多的制造商制造的智能手机、平板电脑都使用的 Andro

11、id 系统,并且 Android 可以使用在功能特色多变的各种产品当中,如现今热门的一些可穿戴设备(如智能眼镜),以及一些终端(如智能家居)当中。其三,方便开发,Android 提供给开发者非常自由开放的平台,使得其并不受各种框架所阻碍,人们可以开发各种新颖的软件。虽然经过 8 年来的发展, Android 堆积了一些问题,但作为开源的项目,只要其不断创新,就会展现其强大的生命力。而我们作为开发者,自由的将自己的想法做成软件,则是 Android 其生命力的最好体现。 Android 开发由于其行业门槛低的特点,市场上一款好的 APP 往往可以创造出奇迹 1。而在将来,Android 开发可能

12、会给我们带来更大的惊喜。由于其开源的特性,我们将可以实现一些更加神奇的功能。如可穿戴设备等。而之后我们的手机可能也不再仅仅是一个通信设备或微型电脑,更有可能发展成为快捷生活的遥控第 1 章 引言2器。1.3 本章小结本系统将采用 Java 开发语言,利用 JDK,Android SDK,Eclipse 等工具,进行开发。软件开发时,充分考虑客户对与记账功能的诉求,保证整个软件拥有简洁方便的功能和良好的用户体验。系统功能为按现金、存款、第三方支付平台、借出、借入分类,来实现多账户管理,按账户以及时间查询记账明细,按收入、支出、转账、调整余额分类记账,保证用户能清楚明晰的来进行账目的记录和查询。而

13、本文将分为主要理论以及技术路线,需求分析(详解人们对于记账的主要功能诉求),界面设计到每一个功能的实现,对于整个软件的测试,以及对于本次系统设计的总结与感受,从各个方面分析个人记账本系统的设计过程。第 2 章 主要理论和技术路线3第 2 章 主要理论和技术路线本章将主要介绍 Android 开发的相关技术,主要包括对 Android 开发的基本技术以及对一些关键技术进行简单介绍,让读者对 Android 开发有一个简要的认识。2.1 Android 软件开发基本技术一个 Android 的软件主要由四个种类的组件来构成,其分别为:Activity(活动):是 Android 软件中最基本的构造

14、零件,一个 Activity 往往就表示一块屏幕,而一个 Android 常常由多个 Activity 所构成,之间可以相互跳转。Service(服务):亦是 Android 软件的组件之一,与 Activity 是同一个级别的。但是其不可以自己独自去运行,而必须后台运行且可以和其他的组件进行交互。Service 是一个没有界面的程序,它将会在后台一直运行下去,是一个生命周期长的程序。Broadcast(广播接收器):是一种在各应用程序之间被广泛应用的机制。可以广播为其他的程序,来为本事件进行通知。Content Provider(内容提供):由于安卓的开源性,为了保证安卓的安全性,Andro

15、id 对数据保护的相当的严密,除存放于 SD 卡中的数据一个应用所持有的文件及数据库等内容,并不允许其他直接访问。而 Content Provider 为所有的应用打开了一扇窗 2-4。在本系统的开发过程中,组成记账本软件最主要的零件就是 Activity,他将包括所有界面的应用以及功能的实现。由于本记账本软件并无对手机内其他数据的应用,故并不需要添加相应的权限。2.2 Android 软件开发关键技术数据库技术:一个软件的开发离不开数据存储。而在 Android 平台中,数据的存储则分为两种,第一种是内部存储,另一种则是外部存储。内部存储包括如下:文件储存、系统配置以及 SQLite 数据库

16、储存。外部存储则包括如下两种方式:网络和 Content Provider(内容提供)。我们通常通过 SharedPrefereneces类来实现对系统配置信息进行保存。而 Android 支持 Java 的各种输入输出语句,第 2 章 主要理论和技术路线4可以对储存在内部储存器或外部储存器(如 SDcard)的文件进行访问。对于SQLite 数据库,我们将使用 SQL 语句进行对其进行操作。如果软件需要在网上从服务器端获得数据,我们需要通过无线网络传送数据需要使用相关技术(如使用 JSP)建立 web 服务器。此时需考虑软件在无线网下使用的一些效果 5-6。在开发记账本软件的过程当中,我们主

17、要使用数据库进行数据的存取,并不需要用到其他技术。界面开发技术:界面开发在所有软件开发过程中,是一个基础,界面做的是否,严重关系到用户在使用软件时的感受。基于 Android 的软件开发过程中,界面开发一共有三种方法:其一,使用代码来创建,在很多时候我们会需要使用到动态代码来进行部分界面的创建和修改以及一些布局样式的应用,最主要的类是 LayoutInflater。其二,先使用 xml 文件来进行界面的详细设计,然后在Activity 中进行引用或修改,同样的我们在开发记账本过程当中,这也是我们创建界面的主要手段。其三,有一情况下我们会自己绘制界面,这则主要出现在开发一些游戏的过程中 7-8。

18、二次开发技术:二次开发技术有两个方面:其一,面向应用层的开发技术。其二,面向底层组件的开发技术。目前,有数家公司相继退出了基于 Android平台的二次开发平台 9-10。2.3 本章小结本章主要对 Android 开发的基本技术以及对一些关键技术进行简单介绍。通过本章我们了解到了 Android 开发的相关技术。本文将采用这些技术对手机个人记账本系统进行开发。第 3 章 需求分析5第 3 章 需求分析需求分析就是确定将要做什么,本章将主要对系统各个模块进行概述,以及通过系统用例对系统各功能进行了详细设计。3.1 系统概述(1) 软件名称:乐群个人记账本。(2) 软件功能:在乐群个人记账本上用

19、户实现用户登录、账号注册及修改、用户记账、账目一览表、总览表、账单修改、饼状图,按账户以及时间查询记账明细,按收入、支出分类记账,保证用户能清楚明晰的来进行账目的记录和查询。(3) 用户:对于那些在日常生活中有记账需求的一般家庭人员。3.2 需求概述本系统的目标是实现取名为“乐群个人记账”的手机个人记账本系统。人们在日常生活中有记账的需求时,用普通的纸质载体去记账,会有很多不方便的地方。手机个人记账本的实现,使人们可以随时随地进行个人消费的记录,实现多账户管理,按日期查询,方便了广大一般家庭用户的记账需求。为达到以上目标,我们在设计和实现的过程中,要做到以下几个要点:(1) 系统易于使用且方便

20、维护。(2) 界面简洁,用户体验良好。(3) 易于使用,对任何群体都易于上手。(4) 拥有良好的关键性能。主要的运行设备为 Android 系统的手机,要求 Android1.6 及以上版本。本文将运用 JDK,Android SDK,Android ADT,Eclipse 以及 SQLite 等工具,在Win7 平台上进行开发。而主要测试环境为开发工具自带的官方模拟器以及利用各种为 Android 系统的手机进行真机测试。本系统面对的用户都是拥有以 Android 为操作系统的智能手机的群体,拥有对智能手机的基本操作经验,即可对本软件轻松上手。通过对各群体用户的调研进行总结,确定了本软件准备

21、实现的基本功能,分为用户登录、账号注册及修改、用户记账、账目一览表、总览表、账单修改、饼状图等 7 个模块,对各模块的功能描述如下:第 3 章 需求分析6(1) 用户登录:用户输入账号密码进行登录。(2) 账号注册及修改:用户可以注册账号以及修改账号。(3) 用户记账:记录每一笔现金操作,对于现金操作,并选择收入或支出,选择交易类型。(4) 账目一览表:可以查看本日,本月,本年总共收入支出,并点击查看详细账单。(5) 总览表:可以查看收入总额,支出总额,并点击查看详细账单。(6) 账单修改:可以编辑删除详细账单。(7) 饼状图:可以将收入和支出以饼状图的形式呈现。系统功能模块图如图 3.1 所

22、示:图 3.1 乐群个人记账的各个模块3.3 系统结构本系统设计在基于 Linux 系统的 Android 系统平台上,系统设计遵循Android 软件设计的系统模式。系统 UI 布局在 Layout 文件夹下的 xml 文件中设计完成,每个界面的是一乐群个人记账账号注册及修改用户记账 账目一览表 总览表 饼状图账单修改用户登录本日账目 本月账目 本年账目 总体账目总支出账目总收入账目乐群个人记账第 3 章 需求分析7个 Activity,并在 Activity 中加载这些用户 UI 界面,在 Values 文件夹中定义字符串信息,以及 Style 样式信息,在 Anim 文件夹下添加动画文件

23、,整个系统结构根据 google 公司公布的 Android 软件开发目录结构来进行。系统部署图如图 3.2 所示,本系统是基于 Android 系统的手机端应用软件,是一款轻量级手机应用软件,其中不涉及到网络应用,所以不存在服务器,其中软件部署运行存在两种方式,一种是 IDE 集成开发环境的模拟器,另一种则是基于 Android 系统的智能终端手机系统。本系统软件在 Android 模拟器和移动手持设备下的安装部署图。I D E 集成开发环境A n d r o i d 模拟器A n d r o i d A P K 包A n d r o i d 系统智能手机软件运行安装软件打包I n s t

24、a l l图 3.2 系统部署图3.4 系统各项功能描述本软件主要有如下几个功能,本文将通过系统用例对项功能进行描述:用户登录模块,主要功能是用户通过登录进入主界面,具体用例如表 3.1 所示。表 3.1 系统用例用例标识 Account_0 用例名称 用户登录应用范围 手机个人记账本系统 用例类型 用户目标用例描述 用户通过登录进入到主界面参与者 用户,手机个人记账本系统前置条件 无基本流程1、用户输入账号2、用户输入密码3、系统查看是否有该用户名4、系统验证密码的正确性事件流 扩展流程1、用户选择取消2、用户退出系统1、 用户输入密码错误第 3 章 需求分析82、 系统提示用户重新输入密码

25、异常流程无后置条件 用户成功登录进入了主界面用户注册模块,主要功能是用户通过注册获得账号,具体用例如表 3.2 所示。表 3.2 系统用例用例标识 Account_1 用例名称 用户注册应用范围 手机个人记账本系统 用例类型 用户目标用例描述 用户通过注册获得账号参与者 用户,手机个人记账本系统前置条件 无基本流程1、用户输入账号2、用户输入密码3、用户再次输入密码4、系统验证两次输入的密码是否相同5、系统将账号以及密码储存扩展流程1、用户选择取消2、用户返回到登录界面1、用户输入两次密码不同2.系统提示用户重新输入账号密码事件流异常流程无后置条件 用户成功注册了账号修改用户信息模块,主要功能

26、是用户修改账号密码,具体用例如表 3.3 所示。表 3.3 系统用例用例标识 Account_2 用例名称 用户修改信息应用范围 手机个人记账本系统 用例类型 用户目标用例描述 用户修改账号密码参与者 用户,手机个人记账本系统前置条件 用户登录进入主界面基本流程1、用户点击修改用户信息按钮2、用户输入新账户和密码3、用户再次输入密码4、系统验证两次输入的密码是否相同5、系统将账号以及密码储存事件流扩展流程1、用户选择取消2、用户返回到主界面第 3 章 需求分析91、用户输入两次密码不同2.系统提示用户重新输入账号密码异常流程无后置条件 用户成功注册了账号记账模块,主要功能是用户记录一笔账目,具

27、体用例如表 3.4 所示。表 3.4 系统用例用例标识 Account_3 用例名称 用户记账应用范围 手机个人记账本系统 用例类型 用户目标用例描述 用户记录一笔账目参与者 用户,手机个人记账本系统前置条件 用户登录进入主界面基本流程1、用户点击记账按钮2、用户选择时间3、用户输入金额4、用户选择消费类型5、用户选择是收入还是支出6、用户添加备注7、用户点击确认添加一笔新的账目8、系统将账目添加到了数据库中扩展流程1、用户选择取消2、用户返回到主界面1、用户未输入金额2.系统提示用户重新输入金额事件流异常流程无后置条件 用户成功记录了一笔账目按时间查询账户模块,主要功能是用户按时间查询账目,

28、具体用例如表3.5 所示。表 3.5 系统用例用例标识 Account_4 用例名称 用户按时间查询账目应用范围 手机个人记账本系统 用例类型 用户目标用例描述 用户按时间查询账目参与者 用户,手机个人记账本系统前置条件 用户登录进入主界面事基本流程1、 系统在账户一览表模块显示本日总收入支出,本月总收入支出,本年总收入支出2、 用户点击本日总收入支出查看本日账目明细第 3 章 需求分析103、 用户点击本月总收入支出查看本月账目明细4、 用户点击本年总收入支出查看本年账目明细扩展流程无件流异常流程无后置条件 用户成功按时间查看了账目总览账户模块,主要功能为用户总览账目,具体用例如表 3.6

29、所示。表 3.6 系统用例用例标识 Account_5 用例名称 用户总览账目应用范围 手机个人记账本系统 用例类型 用户目标用例描述 用户总览账目参与者 用户,手机个人记账本系统前置条件 用户登录进入主界面基本流程1、系统在账户总览模块显示总收入,总支出,以及剩余资金总额2、用户点击总收入查看总收入账目明细3、用户点击总支出查看总支出账目明细4、用户点击剩余资金总额查看所有账目明细扩展流程无事件流异常流程无后置条件 用户成功总览账目修改账目模块,主要功能是用户修改账目记录,具体用例如表 3.7 所示。表 3.7 系统用例用例标识 Account_6 用例名称 用户修改账目应用范围 手机个人记

30、账本系统 用例类型 用户目标用例描述 用户修改账目记录参与者 用户,手机个人记账本系统前置条件 用户进入账户明细界面事件流基本流程1、 用户点击一条账户记录2、用户选择时间3、用户输入金额4、用户选择消费类型5、用户选择是收入还是支出6、用户添加备注7、用户点击确认修改8、系统将账目在数据库中进行修改第 3 章 需求分析11扩展流程1、 用户点击取消2、 系统返回明细界面异常流程无后置条件 用户成功修改账目3.5 本章小结本章主要对系统各个模块进行了概述,以及通过系统用例对系统各功能进行了详细设计。通过对功能的概述可以明确在设计时的方向,每个功能必须实现简单易操作,这需要在详细设计时多多考虑客

31、户的体验。明确分析客户想要的功能,确保这些功能确实如大家想象的一样好用。第 4 章 系统设计12第 4 章 系统设计本章主要通过时序图,类图对系统进行详细设计,并通过表格的形式对数据库进行详细设计。4.1 系统结构本系统是基于 Android 系统的手机软件,系统设计结构遵循 google 公司发布的 Android 工程项目的标准,布局等 xml 文件和后台 Java 处理文件分开,系统实例结构如下。系统外层机构主要有两部分组成,上面部分为控制界面显示的 Activity 包和逻辑处理 Java 包,里面主要是实现整个系统的逻辑代码。下面部分是系统资源文件,主要包括动画文件夹 Anim,图片

32、等资源文件夹Drawable,界面布局文件夹 Layout,字符串资源和样式资源等文件夹 Values。4.2 时序图下面采用顺序图来表示本系统用户完成一次记账功能的时间顺序,具体活动时序图与下面每项活动信息对应。4.2.1 用户登录如图 4.1 所示,用户点击图标进入 LoginActivity 界面,登录账号密码进入MainActivity,MainActivity 接收 LoginActivity 传来的用户名 name,再根据用户名 name 检索 AccountDB 数据库,并将账目记录进行计算并显示。图 4.1 用户登录时序图用户登陆界面主界面LoginActivity MainA

33、ctivity进入软件取消确定第 4 章 系统设计134.2.2 用户记账如图 4.2 所示,用户进入 MainActivity 界面后,点击记账按钮进入AddNote 界面点击确定添加账目,点击取消返回主界面。图 4.2 用户记账时序图4.2.3 用户查询如图 4.3 所示,用户用户进入 MainActivity 界面后,点击账目总览进入SpecificData 明细界面,点击明细界面的条目可以进入 MoreAction 修改账目界面。图 4.3 用户查询时序图4.3 类图系统实体类的类图。AddNote添加账目取消添加账目明细界面SpecificData取消查询第 4 章 系统设计144.

34、3.1 账目信息类账目信息类说明:如图 4.4 所示,账目信息类中 id 是唯一识别值,earnings 是判断这笔账目类型是收入还是输出,其中 get*()方法能得到对象中的这些属性的值,无输入,返回各个属性值,而 set*()是为这些属性分别赋值,输入为属性的值,返回 void。Account-id:int-name:String-time:String-money:float-type:String_earnings:boolean+getId():int+setId():void+getName():String+setName():void+getTime():String+setT

35、ime():void+getMoney():float+setMoney():void+getType():String+setType():void+isEarnings():boolean+setEarnings():void图 4.4 账目信息类4.3.2 用户信息类用户信息类说明:如图 4.5 所示,用户信息类中 id 是唯一识别值,login是判断用户是否登入,其中 get*()方法能得到对象中的这些属性的值,无输入,返回各个属性值,而 set*()是为这些属性分别赋值,输入为属性的值,返回 void。第 4 章 系统设计15Person-id:int-name:String_log

36、in:boolean+getId():int+setId():void+getName():String+setName():void+isLogin():boolean+setLogin():void图 4.5 用户信息类4.4 数据乐群个人记账本采用了 SQLite 数据库来储存数据。本系统对数据详细设计如下:用户信息表,用来储存用户信息,具体数据设置如表 4.1 所示。表 4.1 用户信息表名称 设置用户 Id personId(integer,设置为主键且自增长)用户名 name(verchar(20)密码 passward(verchar(20)连接 login(boolean)账目

37、信息表,用来储存账目信息,具体数据设置如表 4.2 所示。表 4.2 账目信息表名称 设置账目 Id accountid(integer ,设置为主键且自增长)时间 time(verchar (10)金额 money (float)类型 type (varchar(20)收支 earnings (boolean)备注 remark (varchar(50))用户名 name(verchar(20)第 4 章 系统设计164.5 本章小结本章主要通过时序图,类图对系统进行详细设计,并通过表格的形式对数据库进行详细设计,软件的大体架构,接下来就是对软件的具体实现。通过对软件的详细设计,大体构建了代

38、码的框架,在实现过程中只要根据框架进行详细加工,主要是编写实体类,调用数据库,编写每个页面的事件等,并将一些方法进行封装。第 5 章 系统实现17第 5 章 系统实现本章主要介绍系统的具体实现,主要通过各功能模块实现以及数据库实现两个方面来阐述软件是如何实现的。5.1 各模块功能实现5.1.1 登录模块实现如图 5.1 所示,登陆界面主要供客户登录,页面为两个 Edit 编辑框与 3 个设置点击事件的控件,用户输入账号密码,点击确定,系统会根据输入的账户名从数据库用户表中查找是否有该用户,并比对密码,如果正确跳转至主页面,如果错误则会有 Toast 消息通知用户重新输入账号密码。点击取消按钮,

39、会执行系统方法 System.exit(0)退出该应用。图 5.1 登录模块界面5.1.2 注册模块实现如图 5.2 所示,注册模块主要供用户注册,界面为 3 个 Edit 编辑框与两个设置了点击事件的图片控件,点击取消直接关闭界面,点击注册,读取 Edit 编辑框的内容,如果两次密码输入一样,则将用户信息写入用户信息表,关闭界面并 Toast 消息通知 注册成功。两次密码输入不同则会有 Toast 消息通知用户重新输入账号密码。第 5 章 系统实现18图 5.2 注册模块界面5.1.3 主界面模块实现如图 5.3 所示,主界面主要显示了账户的总体信息,界面为两个线性布局,一个饼状图,两个设置

40、了点击事件的控件。线性布局内分别放了三个文本控件并设置了点击事件。当你进入到主页面试,会根据用户名以及收支类型设置游标,查找账目明细表内该用户所记录的账目,并将其储存至 HashMap 容器中,并计算显示收入总额,支出总额,收支总额。之后根据方法Calendar.getInstance 获取时间,并根据时间,用户名,收支类型查找账目明细表内该用户所记录的账目,并计算显示本日收入支出,本月收入支出,本年收入支出。点击这些文本控件会显示相应条件的账目明细界面。点击记账跳转到账目记录界面,点击修改用户信息跳转到用户信息修改界面。图 5.3 主界面模块界面第 5 章 系统实现195.1.4 饼状图模块

41、实现饼状图是根据总收入和总支出的比例来画的,主要用的ChartFactory.getPieChartView 方法,各种参数的设置代码如图 5.4 所示:图 5.4 饼状图代码5.1.5 账目记录以及账目修改模块实现如图 5.5 所示,登陆界面主要供客户登录,页面中时间、金额、备注用Edit 编辑框编辑,类型收益用 Spinner 选择,点击添加则添加到账目明细表中,点击返回则关闭界面,时间通过日期选择控件添加,默认为当天时间。如果用户未输入金额,系统提示用户重新输入。如图 5.6 所示,账目修改界面类似,点击确认修改按钮则按账目 Id 修改当前数据,点击确认删除则删除当前数据。图 5.5 账

42、目记录模块界面第 5 章 系统实现20图 5.6 账目修改模块界面5.1.6 账目明细模块实现如图 5.7 所示,账目明细模块主要显示账目明细,主要构成为一个文本控件和一个 ListView,该模块会根据主界面点击跳转进来的点击事件,设置标题。并将主界面内容器保存的内容遍历显示在这里。图 5.7 账目明细模块界面5.2 数据库实现创建 MyDBOpenHelper 类继承 SQLiteOpenHelper,通过 execSQL 方法执行第 5 章 系统实现21数据库语言“CREATE TABLE IF NOT EXISTS person (personid INTEGER primary ke

43、y autoincrement, name varchar(20) ,passward varchar(10) ,login BOOLEAN)”创建表。AccountDBdao 类里封装了一些增删改查的方法,增加数据方法如图 5.8 所示,删除数据方法如图 5.9 所示:图 5.8 数据库增加代码图 5.9 数据库删除代码同时 AccountDBdao 类里封装了许多数据库类查找的方法,大致为,通过用户名等条件创建 Cursor 游标,查找后将数据放入 List 容器中。5.3 本章小结本章主要介绍系统的具体实现,通过各功能模块实现和数据库实现两个方面来阐述软件如何实现。通过对系统的详细设计的

44、实现,完成对预想目标的实现。第 6 章 系统测试22第 6 章 系统测试本章将对软件测试方法进行简要介绍,并对功能测试进行详细的介绍。6.1 范围6.1.1 系统概述(1) 软件名称:乐群个人记账本。(2) 软件功能:在乐群个人记账本上实现账户添加,收入记录,消费记录,以及对每个月的消费预算。在用户账户之间实现金额转账,统计用户某年或者某月消费、收入与预算的关系等。(3) 其他子系统的关系:本系统为一个独立的系统,目前没有与之发生关系的其它子系统。(4) 用户:所有 Android 乐群个人记账本软件用户。6.1.2 测试方案(1) 单元测试方案:由开发人员在系统开发过程中对编写的系统函数以及

45、数据库接口函数等使用白盒测试方法进行单元测试。 (2) 集成测试方案:由测试小组在单元测试结束后对使用黑盒测试方法对各单元组合在一起能否按照既定意图写作运行进行测试。 (3) 系统测试方案:由测试小组在集成测试结束后对整个系统能否在实际软件要求的环境正常运行,并且对最终的系统软件进行全面的测试,以确保最终软件系统满足产品需求并且遵循系统设计。6.2 功能测试在软件编程过程中我们需要对各个模块进行功能测试,防止未知的 bug,给用户带来不好的用户体验。添加账户模块,主要测试各输入是否正常,具体如表 6.1 所示。表 6.1 添加账户模块功能测试编号 测试用意 输入 结果1 正常输入名称,金额 “

46、新账户”,“11.25”成功建立一个新的账户第 6 章 系统测试232 在金额输入非数字类型 “q、” 由于 EditText 限制只能输入数字3 在金额输入多位小数 “1.121345” 结果显示金额“1.12”4 在金额输入多位小数 “1.1294” 结果显示金额“1.13”5 在名称栏输入为空 弹出 toast 提示用户“请输入名称”6 在金额栏输入为空 默认初始金额为 0添加消费/ 支出记录模块 ,主要测试各输入是否正常,具体如表 6.2 所示。表 6.2 消费/支出记录模块功能测试编号 测试用意 输入 结果1 正常输入金额,选择账户日期 “11.02”成功添加一个账本记录2 在金额输

47、入非数字类型 “q、” 由于 EditText 限制只能输入数字3 在金额输入多位小数 “1.121345”结果显示金额“1.12 ”4 在金额输入多位小数 “1.1294”结果显示金额“1.13 ”5 不选择账户 弹出 toast 提示用户“请选择账户”6 在金额栏输入为空 弹出 toast 提示用户“金额不能为0”7 不选择日期 弹出 toast 提示用户“请选择日期”添加转账记录模块,主要测试各输入是否正常,具体如表 6.3 所示。表 6.3 转账记录模块功能测试编号 测试用意 输入 结果1 正常输入金额,选择账户日期 “11.02”成功添加一个账本记录2 在金额输入非数字类型 “q、”

48、 由于 EditText 限制只能输入数字3 在金额输入多位小数 “1.1213 结果显示金额“1.12 ”第 6 章 系统测试2445”4 在金额输入多位小数 “1.1294”结果显示金额“1.13 ”5 不选择转出账户 弹出 toast 提示用户“请选择账户”6 不选择转入账户 弹出 toast 提示用户“请选择账户”7 在金额栏输入为空 弹出 toast 提示用户“金额不能为0”8 不选择日期 弹出 toast 提示用户“请选择日期”还有一些其他的功能测试,由于输入较简单或与以上雷同,所以略过。6.3 本章小结本章将对软件测试方法进行简要介绍,并对功能测试进行详细的介绍。软件功能基本可以

49、使用,如有不足之处,则不是软件本身的问题,而是在软件设计的过程中有思虑不做之处。如果用更方便的方法去查看账目的话,那么可能会更好。用建议在以后将这些模块做得更好。系统界面设计美观程度还打不到一个很好的用户体验,建议以后对这些模块进行完善。此次测试目的在于发现系统缺陷与漏洞,从测试结果中没有发现严重系统缺陷。第 7 章 总结与展望25第 7 章 总结与展望7.1 总结本文第一第二章主要介绍了 Android 开发的相关背景以及相关技术,第三章主要对系统进行需求分析,在软件开发的最初,必须确定我们要做什么,本文通过系统用例,对本文将要做的系统进行了简要的设计,根据设计思路为后续的开发做准备。而第四章本文通过类图、时序图进行了详细设计,并且详细设计了数据库。第五章则是对系统的功能模块进行了实现。第六章对系统进行了简要的功能测试,以确保系统在运行时不会发现大的 bug。本系统设计的主要目的就是帮助不会自主理财的朋友们实现自主理财,使大家实现有计划的消费,合理的消费。同时软件设计美观,使用简单,结合了现在流行的 Android 系统,安装在用户随身携带的手机上,可以实现随时随地记账。经过几个月的不断努力,系统基本实现了需求分析给出的各项功能,实现了用户登录、账号注册及修改、用户记账、账目一览表、总览表、账单修改、饼状图以及按账户以及时间查询记账明细,按收入、

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报