基于安卓的个人记账本系统的设计与实现毕业作品.docx
- 文档编号:8321398
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:27
- 大小:340.06KB
基于安卓的个人记账本系统的设计与实现毕业作品.docx
《基于安卓的个人记账本系统的设计与实现毕业作品.docx》由会员分享,可在线阅读,更多相关《基于安卓的个人记账本系统的设计与实现毕业作品.docx(27页珍藏版)》请在冰豆网上搜索。
基于安卓的个人记账本系统的设计与实现毕业作品
基于安卓的个人记账本系统的设计与实现
摘要
个人理财管理系统是基于Android系统开发的一款手机应用程序。
它主要是为了满足人们在快节奏的生活中可以随时记下自己的收支情况的需求。
个人理财管理系统与传统的记账方式相比,具有便捷性、安全性及可扩展性的特点。
系统采用Eclipse+AndroidDeveloperTools作为开发工具,以SQLite为数据库。
系统功能包括:
用户账户的注册、用户名密码修改、账户删除,收入信息的增删改,支出信息的增删改,收入信息分类统计,支出信息分类统计,收入支出总额统计,数据还原、清空等等。
系统具有界面简洁鲜明、功能便捷易用、操作人性化等特征。
关键词:
Android;软件开发;个人理财管理系统
ABSTRACT
ThepersonalfinancialmanagementsystemisamobileapplicationdevelopedbasedontheAndroidsystem.Itismainlytomeetthosepeoplewhowanttowritedowntheirincomeandexpendituremorequicklyandconvenientlyinthefast-pacedlife.Comparedwiththetraditionalmethod,Personalfinancialmanagementsystemreflectsmoreconve-nience,securityandscalability.Especiallyinthisdayandage,peopleareonthesideofthephone.SystemusesEclipseandAndroidDeveloperToolsasadevelopmenttoolandSQLiteasthedatabase.Androidtechnologyisnowverymature,wecaneasilydevelop.PersonalFinancialManagementSystemofthemainfunctionalmodules,including:
useraccountregistration,userswitching,usernamepasswordchanges,accountdeletion,Incomeinformationmanagement,Expenditureinformationmanagement,Notesmanage-ment,Typeofincomemanagement,ExpenditureTypeManager,Incomeinformationclassificationstatistics,expenditureinformationclassificationstatistics,totalincomeandexpenditurestatistics,Datareduction,dataemptiedandsoon.Thesystemhasasimpleandclearinterface,easy-to-usefeatures,user-friendlyoperationandotherfeatures.
KeyWords:
Android;Softwaredevelopment;Personalfinancialmanagementsystem
第1章引言
1.1研究背景
近年来,人们对于智能手机日益依赖,对于很多人来说,对于手机的依赖大于电脑,智能手机成为人们对日常信息获取处理的主要手段。
随着人们对于手机软件日益增加的需求,手机软件开发日益火热。
Android由于其开源的特性,很多智能手机都使用Android系统作为手机操作系统,使得Android在手机市场的占有率最大,而Android软件开发也成为当下热门的课题之一。
人们在日常生活中可能会有记账的需求,而用普通的纸质载体去记账,会有很多不方便的地方。
手机个人记账本的实现,使人们可以随时随地进行个人消费的记录,实现多账户管理,按日期查询,方便了广大一般家庭用户的记账需求。
1.2国内外发展现状
Android是一个自由且开放的操作系统,主要应用环境为移动端(一般为智能手机、平板电脑),为何Android能够占据主流的市场,并在可预期的未来几年内,仍可保持其优势,有如下三点最为重要:
其一,Android具有显著的开放性。
它是免费的,并且代码是开源的。
免费使得制造商可以放心投入资金,Android硬件技术将是免费的,开发人员可以放心编写应用程序,而不需要担心复杂的平台成本,并且研究人员可以放心寻找缺陷,提高底层系统,无需购买许可和协议。
而开源使得更多的软件得以开发,用户可以使用到更多种类的软件。
其二,Android拥有丰富的硬件,这也与其开放性有关,首先有很多的制造商制造的智能手机、平板电脑都使用的Android系统,并且Android可以使用在功能特色多变的各种产品当中,如现今热门的一些可穿戴设备(如智能眼镜),以及一些终端(如智能家居)当中。
其三,方便开发,Android提供给开发者非常自由开放的平台,使得其并不受各种框架所阻碍,人们可以开发各种新颖的软件。
虽然经过8年来的发展,Android堆积了一些问题,但作为开源的项目,只要其不断创新,就会展现其强大的生命力。
而我们作为开发者,自由的将自己的想法做成软件,则是Android其生命力的最好体现。
Android开发由于其行业门槛低的特点,市场上一款好的APP往往可以创造出奇迹[1]。
而在将来,Android开发可能会给我们带来更大的惊喜。
由于其开源的特性,我们将可以实现一些更加神奇的功能。
如可穿戴设备等。
而之后我们的手机可能也不再仅仅是一个通信设备或微型电脑,更有可能发展成为快捷生活的遥控器。
1.3本章小结
本系统将采用Java开发语言,利用JDK,AndroidSDK,Eclipse等工具,进行开发。
软件开发时,充分考虑客户对与记账功能的诉求,保证整个软件拥有简洁方便的功能和良好的用户体验。
系统功能为按现金、存款、第三方支付平台、借出、借入分类,来实现多账户管理,按账户以及时间查询记账明细,按收入、支出、转账、调整余额分类记账,保证用户能清楚明晰的来进行账目的记录和查询。
而本文将分为主要理论以及技术路线,需求分析(详解人们对于记账的主要功能诉求),界面设计到每一个功能的实现,对于整个软件的测试,以及对于本次系统设计的总结与感受,从各个方面分析个人记账本系统的设计过程。
第2章主要理论和技术路线
本章将主要介绍Android开发的相关技术,主要包括对Android开发的基本技术以及对一些关键技术进行简单介绍,让读者对Android开发有一个简要的认识。
2.1Android软件开发基本技术
一个Android的软件主要由四个种类的组件来构成,其分别为:
Activity(活动):
是Android软件中最基本的构造零件,一个Activity往往就表示一块屏幕,而一个Android常常由多个Activity所构成,之间可以相互跳转。
Service(服务):
亦是Android软件的组件之一,与Activity是同一个级别的。
但是其不可以自己独自去运行,而必须后台运行且可以和其他的组件进行交互。
Service是一个没有界面的程序,它将会在后台一直运行下去,是一个生命周期长的程序。
Broadcast(广播接收器):
是一种在各应用程序之间被广泛应用的机制。
可以广播为其他的程序,来为本事件进行通知。
ContentProvider(内容提供):
由于安卓的开源性,为了保证安卓的安全性,Android对数据保护的相当的严密,除存放于SD卡中的数据一个应用所持有的文件及数据库等内容,并不允许其他直接访问。
而ContentProvider为所有的应用打开了一扇窗[2-4]。
在本系统的开发过程中,组成记账本软件最主要的零件就是Activity,他将包括所有界面的应用以及功能的实现。
由于本记账本软件并无对手机内其他数据的应用,故并不需要添加相应的权限。
2.2Android软件开发关键技术
数据库技术:
一个软件的开发离不开数据存储。
而在Android平台中,数据的存储则分为两种,第一种是内部存储,另一种则是外部存储。
内部存储包括如下:
文件储存、系统配置以及SQLite数据库储存。
外部存储则包括如下两种方式:
网络和ContentProvider(内容提供)。
我们通常通过SharedPrefereneces类来实现对系统配置信息进行保存。
而Android支持Java的各种输入输出语句,可以对储存在内部储存器或外部储存器(如SDcard)的文件进行访问。
对于SQLite数据库,我们将使用SQL语句进行对其进行操作。
如果软件需要在网上从服务器端获得数据,我们需要通过无线网络传送数据需要使用相关技术(如使用JSP)建立web服务器。
此时需考虑软件在无线网下使用的一些效果[5-6]。
在开发记账本软件的过程当中,我们主要使用数据库进行数据的存取,并不需要用到其他技术。
界面开发技术:
界面开发在所有软件开发过程中,是一个基础,界面做的是否,严重关系到用户在使用软件时的感受。
基于Android的软件开发过程中,界面开发一共有三种方法:
其一,使用代码来创建,在很多时候我们会需要使用到动态代码来进行部分界面的创建和修改以及一些布局样式的应用,最主要的类是LayoutInflater。
其二,先使用xml文件来进行界面的详细设计,然后在Activity中进行引用或修改,同样的我们在开发记账本过程当中,这也是我们创建界面的主要手段。
其三,有一情况下我们会自己绘制界面,这则主要出现在开发一些游戏的过程中[7-8]。
二次开发技术:
二次开发技术有两个方面:
其一,面向应用层的开发技术。
其二,面向底层组件的开发技术。
目前,有数家公司相继退出了基于Android平台的二次开发平台[9-10]。
2.3本章小结
本章主要对Android开发的基本技术以及对一些关键技术进行简单介绍。
通过本章我们了解到了Android开发的相关技术。
本文将采用这些技术对手机个人记账本系统进行开发。
第3章需求分析
需求分析就是确定将要做什么,本章将主要对系统各个模块进行概述,以及通过系统用例对系统各功能进行了详细设计。
3.1系统概述
(1)软件名称:
乐群个人记账本。
(2)软件功能:
在乐群个人记账本上用户实现用户登录、账号注册及修改、用户记账、账目一览表、总览表、账单修改、饼状图,按账户以及时间查询记账明细,按收入、支出分类记账,保证用户能清楚明晰的来进行账目的记录和查询。
(3)用户:
对于那些在日常生活中有记账需求的一般家庭人员。
3.2需求概述
本系统的目标是实现取名为“乐群个人记账”的手机个人记账本系统。
人们在日常生活中有记账的需求时,用普通的纸质载体去记账,会有很多不方便的地方。
手机个人记账本的实现,使人们可以随时随地进行个人消费的记录,实现多账户管理,按日期查询,方便了广大一般家庭用户的记账需求。
为达到以上目标,我们在设计和实现的过程中,要做到以下几个要点:
(1)系统易于使用且方便维护。
(2)界面简洁,用户体验良好。
(3)易于使用,对任何群体都易于上手。
(4)拥有良好的关键性能。
主要的运行设备为Android系统的手机,要求Android1.6及以上版本。
本文将运用JDK,AndroidSDK,AndroidADT,Eclipse以及SQLite等工具,在Win7平台上进行开发。
而主要测试环境为开发工具自带的官方模拟器以及利用各种为Android系统的手机进行真机测试。
本系统面对的用户都是拥有以Android为操作系统的智能手机的群体,拥有对智能手机的基本操作经验,即可对本软件轻松上手。
通过对各群体用户的调研进行总结,确定了本软件准备实现的基本功能,分为用户登录、账号注册及修改、用户记账、账目一览表、总览表、账单修改、饼状图等7个模块,对各模块的功能描述如下:
(1)用户登录:
用户输入账号密码进行登录。
(2)账号注册及修改:
用户可以注册账号以及修改账号。
(3)用户记账:
记录每一笔现金操作,对于现金操作,并选择收入或支出,选择交易类型。
(4)账目一览表:
可以查看本日,本月,本年总共收入支出,并点击查看详细账单。
(5)总览表:
可以查看收入总额,支出总额,并点击查看详细账单。
(6)账单修改:
可以编辑删除详细账单。
(7)饼状图:
可以将收入和支出以饼状图的形式呈现。
系统功能模块图如图3.1所示:
图3.1乐群个人记账的各个模块
3.3系统结构
本系统设计在基于Linux系统的Android系统平台上,系统设计遵循Android软件设计的系统模式。
系统UI布局在Layout文件夹下的xml文件中设计完成,每个界面的是一个Activity,并在Activity中加载这些用户UI界面,在Values文件夹中定义字符串信息,以及Style样式信息,在Anim文件夹下添加动画文件,整个系统结构根据google公司公布的Android软件开发目录结构来进行。
系统部署图如图3.2所示,本系统是基于Android系统的手机端应用软件,是一款轻量级手机应用软件,其中不涉及到网络应用,所以不存在服务器,其中软件部署运行存在两种方式,一种是IDE集成开发环境的模拟器,另一种则是基于Android系统的智能终端手机系统。
本系统软件在Android模拟器和移动手持设备下的安装部署图。
图3.2系统部署图
3.4系统各项功能描述
本软件主要有如下几个功能,本文将通过系统用例对项功能进行描述:
用户登录模块,主要功能是用户通过登录进入主界面,具体用例如表3.1所示。
表3.1系统用例
用例标识
Account_0
用例名称
用户登录
应用范围
手机个人记账本系统
用例类型
用户目标
用例描述
用户通过登录进入到主界面
参与者
用户,手机个人记账本系统
前置条件
无
事件流
基本流程
1、用户输入账号
2、用户输入密码
3、系统查看是否有该用户名
4、系统验证密码的正确性
扩展流程
1、用户选择取消
2、用户退出系统
1、用户输入密码错误
2、系统提示用户重新输入密码
异常流程
无
后置条件
用户成功登录进入了主界面
用户注册模块,主要功能是用户通过注册获得账号,具体用例如表3.2所示。
表3.2系统用例
用例标识
Account_1
用例名称
用户注册
应用范围
手机个人记账本系统
用例类型
用户目标
用例描述
用户通过注册获得账号
参与者
用户,手机个人记账本系统
前置条件
无
事件流
基本流程
1、用户输入账号
2、用户输入密码
3、用户再次输入密码
4、系统验证两次输入的密码是否相同
5、系统将账号以及密码储存
扩展流程
1、用户选择取消
2、用户返回到登录界面
1、用户输入两次密码不同
2.系统提示用户重新输入账号密码
异常流程
无
后置条件
用户成功注册了账号
修改用户信息模块,主要功能是用户修改账号密码,具体用例如表3.3所示。
表3.3系统用例
用例标识
Account_2
用例名称
用户修改信息
应用范围
手机个人记账本系统
用例类型
用户目标
用例描述
用户修改账号密码
参与者
用户,手机个人记账本系统
前置条件
用户登录进入主界面
事件流
基本流程
1、用户点击修改用户信息按钮
2、用户输入新账户和密码
3、用户再次输入密码
4、系统验证两次输入的密码是否相同
5、系统将账号以及密码储存
扩展流程
1、用户选择取消
2、用户返回到主界面
1、用户输入两次密码不同
2.系统提示用户重新输入账号密码
异常流程
无
后置条件
用户成功注册了账号
记账模块,主要功能是用户记录一笔账目,具体用例如表3.4所示。
表3.4系统用例
用例标识
Account_3
用例名称
用户记账
应用范围
手机个人记账本系统
用例类型
用户目标
用例描述
用户记录一笔账目
参与者
用户,手机个人记账本系统
前置条件
用户登录进入主界面
事件流
基本流程
1、用户点击记账按钮
2、用户选择时间
3、用户输入金额
4、用户选择消费类型
5、用户选择是收入还是支出
6、用户添加备注
7、用户点击确认添加一笔新的账目
8、系统将账目添加到了数据库中
扩展流程
1、用户选择取消
2、用户返回到主界面
1、用户未输入金额
2.系统提示用户重新输入金额
异常流程
无
后置条件
用户成功记录了一笔账目
按时间查询账户模块,主要功能是用户按时间查询账目,具体用例如表3.5所示。
表3.5系统用例
用例标识
Account_4
用例名称
用户按时间查询账目
应用范围
手机个人记账本系统
用例类型
用户目标
用例描述
用户按时间查询账目
参与者
用户,手机个人记账本系统
前置条件
用户登录进入主界面
事件流
基本流程
1、系统在账户一览表模块显示本日总收入支出,本月总收入支出,本年总收入支出
2、用户点击本日总收入支出查看本日账目明细
3、用户点击本月总收入支出查看本月账目明细
4、用户点击本年总收入支出查看本年账目明细
扩展流程
无
异常流程
无
后置条件
用户成功按时间查看了账目
总览账户模块,主要功能为用户总览账目,具体用例如表3.6所示。
表3.6系统用例
用例标识
Account_5
用例名称
用户总览账目
应用范围
手机个人记账本系统
用例类型
用户目标
用例描述
用户总览账目
参与者
用户,手机个人记账本系统
前置条件
用户登录进入主界面
事件流
基本流程
1、系统在账户总览模块显示总收入,总支出,以及剩余资金总额
2、用户点击总收入查看总收入账目明细
3、用户点击总支出查看总支出账目明细
4、用户点击剩余资金总额查看所有账目明细
扩展流程
无
异常流程
无
后置条件
用户成功总览账目
修改账目模块,主要功能是用户修改账目记录,具体用例如表3.7所示。
表3.7系统用例
用例标识
Account_6
用例名称
用户修改账目
应用范围
手机个人记账本系统
用例类型
用户目标
用例描述
用户修改账目记录
参与者
用户,手机个人记账本系统
前置条件
用户进入账户明细界面
事件流
基本流程
1、用户点击一条账户记录
2、用户选择时间
3、用户输入金额
4、用户选择消费类型
5、用户选择是收入还是支出
6、用户添加备注
7、用户点击确认修改
8、系统将账目在数据库中进行修改
扩展流程
1、用户点击取消
2、系统返回明细界面
异常流程
无
后置条件
用户成功修改账目
3.5本章小结
本章主要对系统各个模块进行了概述,以及通过系统用例对系统各功能进行了详细设计。
通过对功能的概述可以明确在设计时的方向,每个功能必须实现简单易操作,这需要在详细设计时多多考虑客户的体验。
明确分析客户想要的功能,确保这些功能确实如大家想象的一样好用。
第4章系统设计
本章主要通过时序图,类图对系统进行详细设计,并通过表格的形式对数据库进行详细设计。
4.1系统结构
本系统是基于Android系统的手机软件,系统设计结构遵循google公司发布的Android工程项目的标准,布局等xml文件和后台Java处理文件分开,系统实例结构如下。
系统外层机构主要有两部分组成,上面部分为控制界面显示的Activity包和逻辑处理Java包,里面主要是实现整个系统的逻辑代码。
下面部分是系统资源文件,主要包括动画文件夹Anim,图片等资源文件夹Drawable,界面布局文件夹Layout,字符串资源和样式资源等文件夹Values。
4.2时序图
下面采用顺序图来表示本系统用户完成一次记账功能的时间顺序,具体活动时序图与下面每项活动信息对应。
4.2.1用户登录
如图4.1所示,用户点击图标进入LoginActivity界面,登录账号密码进入MainActivity,MainActivity接收LoginActivity传来的用户名name,再根据用户名name检索AccountDB数据库,并将账目记录进行计算并显示。
图4.1用户登录时序图
4.2.2用户记账
如图4.2所示,用户进入MainActivity界面后,点击记账按钮进入AddNote界面点击确定添加账目,点击取消返回主界面。
AddNote
图4.2用户记账时序图
4.2.3用户查询
如图4.3所示,用户用户进入MainActivity界面后,点击账目总览进入SpecificData明细界面,点击明细界面的条目可以进入MoreAction修改账目界面。
SpecificData
图4.3用户查询时序图
4.3类图
系统实体类的类图。
4.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
+setTime():
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。
Person
-id:
int
-name:
String
_login:
boolean
+getId():
int
+setId():
void
+getName():
String
+setName():
void
+isLogin():
boolean
+setLogin():
void
图4.5用户信息类
4.4数据
乐群个人记账本采用了SQLite数据库来储存数据。
本系统对数据详细设计如下:
用户信息表,用来储存用户信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 个人 记账 系统 设计 实现 毕业 作品
![提示](https://static.bdocx.com/images/bang_tan.gif)