基于andriod系统的个人记账软件

基于andriod系统的个人记账软件
基于andriod系统的个人记账软件

基于Android的个人记账系统设计

摘要

随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。因此,智能手机的应用软件及其需要的服务将有广阔的发展前景。

在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。这款软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软件。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。

本文就在分析讨论Android手机软件开发技术原理的基础上,开发出能为用户提供更好的基于Android平台的个人记账手机软件。

关键词:Java; Android; 记账; 智能手机平台

The Design of Accounting System Base Android

Abstract

With the rapid proliferation of smart phones, smart phone operating system market, wind and water. In order for smart phone users to check the Internet anytime, anywhere services provided an efficient way to expand the function of the system will be applied to the mobile phone terminal, the mobile phone to Internet access via mobile networks, and variety of Web sites and process business. Therefore, the smart phone applications and the need for the service will have broad prospects for development.

In today's smart phone system when disputes warlords, 2008, Google introduced a smart phone called the Android open source operating system, which uses Linux kernel, Open Handset Alliance (OHA) members can be free to use and modify the SDK package, the system It has a good open-source nature of the expansion of. The software includes the operating system, user interface and applications that need to work smart phones all the software. Android's biggest feature is its open architecture, not only has a very good development and debugging environment, but also supports a variety of scalable user experience, including rich graphical components, multimedia support, and powerful browser. Therefore, for software professionals is, Android platform has unlimited appeal.

In this paper, the analysis and discussion Android mobile phone software development technology on the basis of the principle, developed to provide users with better platform to the personal charge based on Android meteorological software.

Key words: Java; Android; Charge; smartphone platform

目录

第一章前言 (3)

1.1 选题背景及目的 (3)

1.2 国内外研究状况 (3)

1.3 设计和解决方法 (3)

第二章需求分析 (5)

2.1 范围 (5)

2.1.1 系统概述 (5)

2.1.3 文档概述 (5)

2.2 需求概述 (5)

2.2.1 系统目标 (5)

2.2.2 运行环境 (5)

2.2.3 用户的特点 (6)

2.3功能需求 (6)

2.4.1 系统用例图 (6)

2.4.2 系统各项功能描述 (7)

2.5数据 (9)

2.5.1 数据关系ER实体类 (9)

2.6故障处理 (11)

第三章概要设计 (12)

3.1 范围 (12)

3.1.2 系统概述 (12)

3.1.3 文档概述 (12)

3.2 系统结构 (12)

3.2.1 部署图 (12)

3.2.2 类图 (13)

3.4 执行概念 (17)

3.4.1 添加消费信息 (17)

3.4.2 添加消费预算 (18)

3.4.3 用户转账 (19)

3.5 用户界面设计 (19)

3.6系统出错处理 (21)

3.6.1 出错信息 (21)

3.6.2 补救措施 (21)

3.6.3 系统维护 (21)

第四章系统详细设计 (22)

4.1 范围 (22)

4.1.1 系统概述 (22)

4.1.2 文档概述 (22)

4.2 系统结构 (22)

4.3 详细设计说明 (23)

4.3.1 系统功能模块 (23)

4.3.2 实体类 (23)

4.4 接口设计 (24)

5.1 范围 (25)

5.1.1 系统概述 (25)

5.1.2 测试方案 (25)

5.2 测试说明 (25)

5.2.1 功能测试 (25)

5.3 测试结果概述 (27)

5.4 详细测试结果 (27)

5.5 测试结果评价 (28)

第六章总结 (29)

致谢 (31)

第一章前言

1.1 选题背景及目的

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

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

1.2 国内外研究状况

在国外的发展,自google公司宣布android系统上市以来,在短短几年间的到了飞速的发展。在国外已经有很多已经非常成熟的技术进行基于android平台下的软件开发。短短几年间,成千上万的基于android系统的应用发布在安卓市场上,加上android系统的开源性,使得他在国外的到了广大学者的深爱,各大厂商也纷纷加入到使用android系统的行列。

在国内的发展,android自09年进入中国市场以来,也得到了飞速的发展,大到成百上千人的大公司,小到几个人的个体公司都在使用android系统进行软件开发。但是虽然在国内发展迅速,学习资源也很丰富,但是基本上都是良莠不齐,绝大部分是翻译自国外的一些学习资料而来。这样给我们国内的学者学习带来了一些困扰,在着一些高科技术的发展上,国内还需要进一步加强。

1.3 设计和解决方法

在android系统应用如此火热的情况下,开发一款基于android系统的个人记账系统,不仅能很好的应用android系统的优势,可以在不同的小型手持设备上安装该软件。同时,手持设备的便于携带性也大大提高了软件的使用价值,不仅可以随时随地记账,还能从另一方面解决人们不善于管理个人财务的习惯,帮助大家实现自主理财。基于andorid系统手机的个人记账系统,设计清新,使用简单,管理功能强,在当前的高速发展的社会经济条件下,为帮助我们这一代不会理财的年轻人轻松实现自主理财,设计这样一款个人记账系统是非常有意义和利用价值的。

根据个人理财实现的实际需求,本系统的设计解决方法如下:

1. 设计语言与结构:本系统选用当前主流的开语言Java语言作为开发语言,结合当

前最为流行的移动开发技术,基于android系统下的软件开发技术,开发本系统,设计选在在android平台上实现可以很好的发挥该软件系统的用处。

2. 功能解决:本系统设计主要为帮助不会自主理财的人们能很容易的学会自主理财,通过软件中的各个功能,实现在电子系统上记录个人理财信息,提醒以及帮助用户实现自主理财。

3. 性能解决:对于一个系统不仅要考虑功能的实用性,还要考虑系统的性能可靠。本系统通过使用sqlite作为数据库存储数据。Sqlite数据库是一款轻量级数据库,便于移植。同时,配合android系统,可以设计一款清凉级的基于android系统应用软件。

第二章需求分析

2.1 范围

2.1.1 系统概述

1.软件名称:天天记账

2.软件功能:在天天记账上实现账户添加,收入记录,消费记录,以及对每个月

的消费预算。在用户账户之间实现金额转账,统计用户某年或者某月消费、收入与

预算的关系等.

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

子系统

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

2.1.3 文档概述

天天记账系统设计需求分析采用面向对象的方法,在文档中主要采用了用例、E-R图和数据字典等表示方法来描述需求。文档的预期读者为软件开发者、分析人员、设计人员和测试人员等。

2.2 需求概述

2.2.1 系统目标

本系统的最终目的是设计一个名为“天天记账”的个人记账理财系统。对不会自主理财,同时有渴望有一个合理的消费和收入标准的广大用户来说,天天记账系统将是一款适合大众的个人记账系统,通过系统的不同功能帮助用户实现自主理财。天天记账系统功能齐全但操作简单,可满足家庭用户的需求。系统在设计和实施过程中,力争做到以下几点:

1. 具有较高的可靠性和可用性。

2. 系统易于管理维护。

3.使用方便,易学易用。

4. 良好的性能价格比。

2.2.2 运行环境

1)设备

具备Android系统的手机或者其他手持设备

2)支持软件

(1)用户基础软件配置

Android1.6及其以上版本

相关软件工具:

(2)开发工具

IDE:Eclipse + Android ADT + android SDK

平台:Windows XP

数据库: SQLite

(3)测试环境

不同厂商以及不同android系统版本的智能手机

2.2.3 用户的特点

本系统针对的用户为所有使用操作系统为Android的智能手机用户。客户应具备基础的手机操作以及手机键盘打字基础。

2.3功能需求

通过对实际需求的调研,确定本系统由五个功能模块组成,即用户记账、消费预算、账户转账、消费收入曲线图表、系统设置。系统功能模块图如图2.1所示。

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

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

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

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

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

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

6)系统功能模块图如下:

图2.1本系统的各个模块

2.4.1 系统用例图

根据需求分析,分析出系统的具体操作步骤及功能,从而确定系统用例图,具体描述如下。

(1)系统用例主要包括系统记账、消费预算、图表统计、账户转账和系统设置五大功能,其中记账包括添加支出和添加收入;图表统计可以选择以按年显示和按月显示;系统设置还包括添加消费类型,添加收入类型,添加账户类型,密码保护等,系统用例图如图2.2所示。

图2.2 系统用例图

2.4.2 系统各项功能描述

(1)用例1

用例名:系统记账

行为者:用户

目的:用户根据每天的收入和消费情况进行详细的记录,以便日后查看。

级别:一级

过程描述:

a.进入andorid系统菜单界面,点击天天记账图表进入系统;

b.进入系统主界面后选择“记一笔”进入系统记账页面;

c.选择记账类型,输入金额,选择好收入或者支出类型,同时选择好指定账

户进行记录;

d.设置完毕,用户数据保存成功。

与其它用例的关联:无

异常处理:无

(2)用例2

用例名:消费预算

行为者:用户

目的:消费预算主要是为了帮助我们在月初进行消费估算,以便以后按照月初的消费预算合理进行消费,达到帮助用户自主理财的目的。

级别:一级

过程描述:

a.点击ICON图表进入系统主界面,选择菜单栏中的预算进入消费类型列表界

面;

b.选择一种消费类型,进入预算金额输入界面;

c.输入该消费类型可能消费的总金额后选择OK保存消费预算金额;

d.消费预算保存好后数据即保存到数据库中,返回消费类型类表;

e.消费列表中显示消费预算金额信息。

与其它用例的关联:无。

异常处理:无

(3)用例3

用例名:账户转账

行为者:用户

目的:用户的消费和收入的金额可能会存在不同类型的账户中,甚至是现金的形式表现,用户可以在这些不同账户类型之间进行转账。

级别:一级

过程描述:

a.点击系统ICON图表进入系统主界面;

b.选择主菜单栏中的转账按钮,进入到账户转账界面;

c.选择转出账户,系统显示可转金额,再选择转入账户;

d.输入转账金额(必须是一个数学数字,不能是字母);

e.点击确定转账按钮实现账户之间的转账功能。

与其它用例的关联:无

异常处理:无

(4)用例4

用例名:图表统计

行为者:用户

目的:将用户某年或者某月的消费信息通过曲线图显示出来,使用户能够一眼分析出消费和收入以及预算三者间的关系。

级别:一级

过程描述:

a. 点击用户ICON图表进入系统主界面;

b. 选择主菜单中的报表按钮进入图表统计界面;

c. 系统界面显示用户当月消费、收入和预算曲线;

d. 点击系统界面顶端的按年显示图表;

e. 系统显示用户当年消费、收入和预算曲线

与其它用例的关联:无

异常处理:无

(5)用例5

用例名:添加账户类型

行为者:用户

目的:添加用户可能在实际生活中存在的账户类型名称。

级别:一级

过程描述:

a.点击系统ICON图表,进入系统主界面;

b.选择主菜单中的设置,进入系统设置界面;

c.选择添加账户类型,进入账户类型添加;

d.输入账户名称点击添加按钮,即添加成功;

e.返回设置界面,选择添加账户子类;

f.进入账户子类添加,输入账户子类名称,点击添加按钮添加账户子类。

与其它用例的关联:无。

异常处理:无

(6)用例6

用例名:添加消费和收入类型

行为者:用户

目的:根据用户实际需求添加用户生活中常用到的消费和收入类型。

级别:一级

过程描述:

a. 点击系统ICON 图表,进入系统主界面;

b. 选择主菜单中的设置,进入系统设置界面;

c. 点击选择添加消费类型,进入消费类型添加界面

d. 输入消费类型,点击添加按钮添加消费类型

e. 返回设置界面,点击添加收入类型进入类型添加界面

f. 输入收入类型,点击添加按钮添加收入类型

g. 与其它用例的关联:无。

异常处理:无

2.5数据

2.5.1 数据关系ER 实体类

鉴于系统是应用于手机sqlite 轻量级数据库,所以数据库类型设计简单清晰,数据库结构类型详细信息描述如下:

1. 用户信息表:主要包括了id ,用户名和用户密码,

图2.3 用户信息实体图

2. 账户类型信息表:主要记录用户的所有账户信息,包括账户类型名称,账户标识,作

为一个上层的账户大类,每项中包含了一个或多个账户

图2.4 账户类型信息实体图

3. 账户详细信息表:这个表主要是账户不同账户类型中的账户详细信息,与账户类型的

关系是多对一的关系,里面主要包括字段:账户标识,账户名称账户余额和所属账户类型

图2.5 账户详细信息实体图

用户信息表 用户ID(_id) 用户名

用户密码 账户类型

类型ID 类型名称 账户 账户ID 账户名称 账户金额

4. 消费收入类型信息表:该表主要记录用户的消费和收入类型大类,主要包括消费收入

类型标识,类型名字,图片标识,标识符等信息

图2.6消费收入类型信息实体图

5. 消费收入子项信息表:该表主要根据消费收入类型分类出不同的消费或收入项,与消

费收入类型表的关系是多对一的关系,主要包括消费收入标识,消费收入项名称,图片标识,类型标识

图2.7消费收入子项信息实体图

6. 消费预算详细信息表:该表主要根据用户在月初进行对当月消费情况预算进行记录,

主要包括预算标识、预算金额、已消费金额、年、月等信息

图2.8消费预算详细信息实体图

7. 消费收入记录信息表:该表主要记录用户每次添加的消费和收入信息记录,该表信息

主要有:记录标识、记录流水号、年、月、日、备注等信息

图2.8消费收入记录信息实体图

8、系统E-R 图如图2.9所示:

消费收入类型

类型ID

类型名称 图片ID 类型标识 消费收入子类型 类型子项ID 子项名称 图片ID 标识 类型标识 预算 预算记录ID 预算金额 已消费金额 年份 月份 消费收入记录 消费记录ID 记录流水号

年份 月份 天日 备注信息 记录类型标

预算用户信息表账户类型

账户

消费收入

类型

消费收入

子类型

消费收入

记录包含

包含

包含

N1

N

1

1N

1

N

N

1

N

1

2.6故障处理

(1)无数据异常:软件初始化没有任何数据,安装好系统后,第一次进入系统进入设置界面添加消费类型,收入类型,账户等信息。

(2)内存不足异常:android系统在打开软件后在退出时不会自动杀掉经进程,当前面打开过许多进程已经将资源占到很大时,再进该软件,系统处于等待的界面,这是需先进入软件管理界面去关掉部分正在后台运行的程序。

第三章概要设计

3.1 范围

3.1.2 系统概述

1.件名称:天天记账

2.软件功能:在天天记账上实现账户添加,收入记录,消费记录,以及对每个月的消费预算。在用户账户之间实现金额转账,统计用户某年或者某月消费、收入与预算的关系等3.其他子系统的关系:本系统为一个独立的系统,目前没有与之发生关系的其它子系统

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

3.1.3 文档概述

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

3.2 系统结构

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

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

3.2.1 部署图

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

IDE集成开发环境

Android模拟器

Android APK包Android系统智能

手机

软件运行安装

软件打包

Install

图3.1 系统部署图

3.2.2 类图

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

图3.2 用户信息类类图

用户信息实体类说明:

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

图3.3 预算信息类类图

预算信息实体类说明:略

图3.4 预算项类类图

预算项实体类说明:略

图3.5 消费收入子项类类图消费收入子项类说明:略

图3.6 预算项类类图预算项类说明:略

图3.7 记账类型类类图记账类型类说明:略

图3.7 预算信息类类图

预算信息类说明:略

3.4 执行概念

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

3.4.1 添加消费信息

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

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

图3.8 添加消费信息时序图

3.4.2 添加消费预算

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

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

用户

HomeActivity ItemBudget KeyPad

软件主页消

进入软件

预算

添加预算

返回图3.9 添加消费预算时序图

相关文档
最新文档