您的当前位置:首页基于安卓的个人记账本的设计与实现

基于安卓的个人记账本的设计与实现

2020-04-12 来源:六九路网
长 春 大 学

目 录

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

一、设计题目 ........................................... 1 二、设计目的 ........................................... 1 三、设计分析 ........................................... 1 四、总体设计 ........................................... 2 五、详细设计 ........................................... 3 六、系统测试 .......................................... 10 七、结论 .............................................. 13

共 1 页 第 1 页

长 春 大 学

一、设计题目

基于安卓的个人记账本的设计与实现

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

二、设计目的

随着经济社会的高速发展,人们的生活水平也在飞速的提高,同时人们

的收入和消费水平也得到了很大的提升,也从过去的单一输入和消费变成了今天的多元化收入和消费模式。尤其是我们青年人,对现在新型消费有非常高的热情,但是这样给在高速发展的消费经济情况下的我们带来了一些意想不到的负面影响,比较突出的一点就是当前80、90后的一代年轻人只懂得消费和挣钱,不能很好的理财,这给我们的物质生活带来了不少的麻烦。所以不同功能的个人理财系统便由此产生了,不论是PC版还是手持设备版都有。

自2007年google公司的android系统产生以来,在这几年中,飞速的发展,现在已经超过了过去看似很完美的塞班系统,成为全球最大的手机及手持设备系统之一。Android操作系统凭借着自己开放的平台允许任何移动终端厂商加入到Android联盟中,从而使得越来越多的用户倾向于选择操作系统为Android的终端设备。选择设计基于Android平台的软件,毫无疑问能覆盖更多的受众,等到各大厂商的青睐。

三、设计分析

通过对实际需求的调研,确定本系统由五个功能模块组成,即用户记

账、消费预算、账户转账、消费收入曲线图表、系统设置。系统功能模块图如图2.1所示。

各模块的具体功能如下所述:

1) 用户记账:用户根据日期记录某天消费情况和收入情况

2) 消费预算:在月初系统会提示用户进行当月消费预算,可以根据消费类型预计当月的消费预算金额

3) 账户转账:在用户不同账户之间实现金额的转移

4) 消费收入曲线图表:根据用户选择产生消费、收入和预算的走势图,走势图一眼分析出消费、收入和预算之间的关系

5) 系统设置:设置本系统中的一些账户和收入以及消费类型,系统版本信息,软件更新等等。

共 14 页 第 1 页

长 春 大 学

四、总体设计

1. 系统设计

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

2. 界面设计

1. 首页界面:首页布局主要分为主题部分和导航部分,导航部分处在整个

界面的底部,内容部分中有分为上下两块,上面显示当月的消费、收入、和预算信息,下面显示三条信息,分别为今天,本月,本年度的收入和支出信息。具体布局如图所示

记一笔 当月消费、收入、预算信息

页面导航

共 14 页 第 2 页

长 春 大 学

五、详细设计

5.1 范围

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

5.1.2 系统概述 1.件名称:天天记账

2.软件功能:在天天记账上实现账户添加,收入记录,消费记录,以及对每个月的消费预算。在用户账户之间实现金额转账,统计用户某年或者某月消费、收入与预算的关系等

3.其他子系统的关系:本系统为一个独立的系统,目前没有与之发生关系的其它子系统

4.用户:所有Android 天天记账软件用户

5.1.3 文档概述

根据需求分析,对软件的功能实现、接口和界面等进行设计。文档采用了面向对象的设计方法,描述了系统中主要的类等。文档的预期读者为软件开发者、用户。

5.2 系统结构 本系统设计在基于Linux系统的android系统平台上,系统设计遵循android软件设计的系统模式。

系统UI布局在Layout文件夹下的XML文件中设计完成,每个界面的是一个Activity,并在activity中加载这些用户UI界面,在Values文件夹中定义字符串信息,以及Style样式信息,在anim文件夹下添加动画文件,整个系统结构根据google公司公布的android软件开发目录结构来进行。

5.2.1 部署图

系统部署图如下图3.1所示,本系统是基于android系统的手机端应用软件,是一款轻量级手机应用软件,其中不涉及到网络应用,所以不存在服务器,其中软件部署运行存在两种方式,一种是IDE集成开发环境的模拟器,另一种则是基于android系统的只能终端手机系统。本系统软件在android模拟器和移动手持设备下的安装部署图

Android模拟器 软件运行安装IDE集成开发环境Android系统智能手机软件打包Android APK包Install图5.1 系统部署图

共 14 页 第 3 页

长 春 大 学

5.2.2 类图

系统的实体类,各类用例图分别是下图的图3.2--图3.8所示。

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

图5.2 用户信息类 类图

用户信息实体类说明:

用户信息类(UserInfo)包含用户的个人信息,属性_id为系统用户身份唯一标识,类型为int。userName为用户名,类型为String。属性userPassword,为用户的系统保护密码,类型为String。属性对应的get*()方法能得到对象中的这些属性的值,无输入,返回各个属性值。而set*()方法则相反,是为这些属性分别赋值,输入为属性的值,返回void。

图5.3 预算信息类 类图

图5.4 预算项类 类图

共 14 页 第 4 页

长 春 大 学

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

图5.5 消费收入子项类 类图

图5.6 预算项类 类图

共 14 页 第 5 页

长 春 大 学

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

图5.7 记账类型类 类图

共 14 页 第 6 页

长 春 大 学

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

图5.7 预算信息类 类图

5.4 执行概念

下面采用顺序图来表示本系统用户完成一次记账功能的时间顺序,具体活动时序图与下面每项活动信息对应。

5.4.1 添加消费信息

用户添加消费信息时序图如图5.8所示

HomeActivity为界面,同时也是边界,用户进入主界面后点击按钮后进入添加消费信息记录页面AddBalance,用户选择好消费类型和输入好消费金额后,填写消费项备注,进入备注添加界面Remark,备注输入完成后返回到添加界面,点击保存后,完成添加返回系统首页

共 14 页 第 7 页

长 春 大 学

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

图5.8 添加消费信息时序图

5.4.2 添加消费预算

用户添加某月消费预算信息时序图如图3.9所示

HomeActivity为界面,同时也是边界,用户进入主界面后点击预算菜单后进入消费预算列表界面ItemBudget,选中某项后进入该项的预算设置几面KeyPad,设置好预算金额后点击OK,返回预算列表界面。

HomeActivityItemBudgetKeyPad用户进入软件软件主页预算消费类型列表添加预算预算设置返回图5.9 添加消费预算时序图

共 14 页 第 8 页

长 春 大 学

5.4.3 用户转账

用户转账活动时序图如图3.9所示

HomeActivity为界面,同时也是边界,用户进入主界面后点击设置菜单后进入系统设置界面(SystemSetting),然后添加账户类型(AddParent),添加账户子类(addChild),当系统中存在账户信息后返回转账界面进行转账。

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

图5.9 用户转账时序图

六、系统测试

6.1 范围 6.1.1 系统概述 (1)软件名称:天天记账

(2)软件功能:在天天记账上实现账户添加,收入记录,消费记录,以及对每个月的消费预算。在用户账户之间实现金额转账,统计用户某年或者某月消费、收入与预算的关系等.

(3)其他子系统的关系:本系统为一个独立的系统,目前没有与之发生关系的其它子系统

(4)用户:所有Android 天天记账软件用户 6.1.2 测试方案

单元测试方案:由开发人员在系统开发过程中对编写的系统函数以及数据库接口函数等使用白盒测试方法进行单元测试。

集成测试方案:由测试小组在单元测试结束后对使用黑盒测试方法对各单元组合在一起能否按照既定意图写作运行进行测试。

系统测试方案:由测试小组在集成测试结束后对整个系统能否在实际软件要求的环境正常运行,并且对最终的系统软件进行全面的测试,以确保最终软件系统满足产品需求并且遵循系统设计。

共 14 页 第 9 页

长 春 大 学

6.2 测试说明 由于篇幅有限,只写出部分重要代表性测试用例,有添加账户类型、添加消费记录、添加消费预算的测试用例。其他测试略。

6.2.1 功能测试 (1)添加账户类型:

添加账户类型测试用例见表6.1。

表6.1 添加账户类型测试表 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

序号 1测试目的&先决条件 测试输入 预期测试结果 1 目的:正确输入,添 输入一个字符串“现金 在理表中显示添加的加账户类型能否成功 账户” 类型 2 目的:检测添加空类2型是否能检测 2 不输入任何东西,点击添加按钮 弹出警告框提示添加内容不能为空 (2)添加消费记录: 添加消费记录测试用例见表6.2。

表6.2 添加消费记录测试表 序号 1测试目的&先决条件 测试输入 预期测试结果 1 目的:正确输入,添输入消费金额,同是选 页面个填出Toast提加账户类型能否成功 择好消费类型,消费时间和 示添加成功 支出账户 目的:检测不输入金 额,是否提示错误 2 目的:检测不选3 择消费类型是否提示 错误 弹出警告框提示添加内容不能为空 不输入任何东西,点击添加按钮 输入消费金额,选择支出账户,弹出警告提示选择不选择消费类型,点击保存按钮 支出类型 共 14 页 第 10 页

长 春 大 学

目的:检测不选 输入消费金额,选择支出类型,弹出警告框提示选择支出账户是否提示 4 不选择支出账户,点击保存按钮 择支出账户 错误 目的:检测选择输入消费金额,选择支出账户, 弹出警告框提示选没有到的日期是否报选择支出类型,选择一个还没到 5 择的消费日期还没到 错 达的日期

(3)添加消费预算:

添加消费预算测试用例见表6.3。

表6.3 添加消费预算测试表 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

序号 1测试目的&先决条件 测试输入 预期测试结果 1 目的:正确输入,添输入消费金额,同是选 页面个填出Toast提 加账户类型能否成功 择好消费类型,消费时间和示添加成功,返回预算 支出账户 列表 目的:检测预算值为负值是否报错 弹出警告提示,提示预算值不能为负值 2 输入一个负值,点击保存预算 6.3 测试结果概述 测试结果显示,系统实现的添加消费类型,添加收入类型,添加消费子项,添加收入子项,添加账户类型,添加账户子项,添加消费信息,添加收入信息,月消费预算,转账,密码保护,系统菜单显示,消费曲线报表,清除系统数据等功能均正常。

6.4 详细测试结果 (1)添加消费信息功能测试如表6.1:

表6.1 添加消费信息测试结果表 序号 1测试目的&先决条件 测试输入 预期测试结果 实际测试结果 1 目的:正确输入,输入消费金 系统给出Toast 添加账户类型能额,同是选择好 页面个填出Toast提示,添加消费信消费类型,消费提示添加成功 否成功 息成功 时间和支出账户 共 14 页 第 11 页

长 春 大 学

目的:检测不输入 金额,是否提示错 2 误 目的:检测不3 选择消费类型是否提示错误 目的:检测不 选择支出账户是 4 否提示错误 目的:检测选 择没有到的日期 5 是否报错 其他功能测试略。 弹出警告框提示添加内容不能为空 系统给出警告提示:消费金额不能为空 不输入任何东西,点击添加按钮 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

输入消费金额,选择支出账户,不选择消费类型,点击保存按钮 输入消费金额,选择支出类型,不选择支出账户,点击保存按钮 弹出警告提示选择支出类型 系统给出警告提示:请选择消费类型 弹出警告框提示选择支出账户 系统给出警告提示:请选择支出账户 输入消费金额,选择支出账户,选择支出类型,选择一个还没到达的日期 弹出警告框提示选择的消费日期还没到 系统给出警告提示:选择的日期不能在今天以后

6.5 测试结果评价 测试结果显示本系统已实现需求中基本功能,能满足用户实现生活中的简单的消费收入和预算记录,同时也能帮助用户实现自主理财。存在的不足是系统功能还不是特别完善,系统界面设计美观程度还打不到一个很好的用户体验,建议以后对这些模块进行完善。此次测试目的在于发现系统缺陷与漏洞,从测试结果中没有发现严重系统缺陷。

七、结论

从大环境出发,在电子信息如此发达的今天,几乎每个年轻人都拥有一台自己的手机或者其他手持电子设备,相当部分已经使用上了智能系统的电子设备,出门也许你可以不带钱包,但你绝不会落下手机.手机在人们生活的地位越来越重要.虽然人们的生活过得越来越富裕,消费水平也不断提高,但人们的消费观念也变得比过去紊乱,没有一个很好的消费规划,设计一款使用在手持设备上的个人理财系统,不但顺应大趋势,而且能随时随地为人们服务,对现在不会自助理财的年轻一代来说是非常有帮助的。

本系统设计的主要目的就是帮助不会自主理财的朋友们实现自主理财,使大家实现有计划的消费,合理的消费。同时软件设计美观,使用简单,结合了

共 14 页 第 12 页

长 春 大 学

现在流行的android系统,安装在用户随身携带的手机上,可以实现随时随地记账。经过几个月的不断努力,系统基本实现了需求分析给出的各项功能。

由于作者经验不足,天天记账软件仍然存在一些不足的地方,还需要进一步的扩展。由于时间和其他客观条件的约束,本系统暂时实现了目前的这些基本功能,完善的工作还待以工作中继续。

┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ 装 ┊ ┊ ┊ ┊ ┊ 订 ┊ ┊ ┊ ┊ ┊ 线 ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊ ┊

共 14 页 第 13 页

因篇幅问题不能全部显示,请点此查看更多更全内容