Android口袋记账本的设计与实现

2019-11-11 13:14胡致杰陆玉波胡羽沫
电脑知识与技术 2019年27期
关键词:口袋软件

胡致杰 陆玉波 胡羽沫

摘要:根据用户需求设计并实现了基于Android平台的口袋记账本软件,系统采用视图层、业务逻辑层和数据层三层模式进行设计,包含用户管理、记账管理、查询与统计、分析与报表4大模块,实现了记账的常用功能。该口袋记账本可以克服传统记账的易遗漏、难统计等缺点,使记账不再受时间和空间的限制。

关键词:记账本;口袋;Android;软件

中图分类号 TP399      文献标识码:A

文章编号:1009-3044(2019)27-0050-03

Abstract: According to the user's needs, the pocket bookkeeping software based on Android platform is designed and implemented. The system is designed with three layers of view layer, business logic layer and data layer. It includes four modules: user management, bookkeeping management, query and statistics, analysis and report forms. It realizes the common functions of bookkeeping. This pocket book can overcome the shortcomings of traditional bookkeeping, such as easy omission and difficult statistics, so that bookkeeping is no longer limited by time and space.

Key words: bookkeeping; pocket; Android; software

1 背景

记账就是将生活中的各项经济活动按时间顺序进行记录,用于日后的查询和统计[1]。由于传统手工记账本具有携带不便,不能实时记账,容易遗失,后期查找分析困难等缺点,电子记账越来越受到人们的青睐[2]。将智能手机与记账相结合,不仅可解决传统手工记账的不足,还使记账不受时空限制,且能快速进行信息的查找和统计。

2 系统分析

2.1 需求分析

Android口袋记账本可提供便捷的记账服务,具有用户管理、记账管理、查询与统计、分析与报表等功能,系统基本功能模块结构如图1所示。

用户管理:利用该模块可实现新用户注册及用户修改密码等功能。

记账管理:用户可以对每一笔收入与支出进行登记,还可根据需要对已登记的账目进行修改和删除。

查询与统计:利用查询功能可进行基本查询和条件查询,并能根据一定的要求进行数据统计,以满足用户不同需求。

分析与报表:针对用户的支出数据,进行用户消费行为分析,并给出指导性建议。同时可根据用户设置的条件生成相应的数据报表。

功能性需求是软件要实现的基本需求,但非功能性需求也将直接影响用户的使用体验,在软件开发过程中也不容小觑[3]。本系统的非功能性需求主要包括以下几个方面。

图1   系统功能模块图

良好的用户界面:作为Android的记账软件,应关注用户的感官体验,注重系统界面的配色与布局,在统计图表中,使用不同颜色对多种记账类型进行区分,使得层次清晰。

系统响应时间:应用启动、查询统计、报表生成等操作的响应时间应控制在用户可以接收的正常范围内。

操作环境需求:考虑目前使用中低端手机用户数量较大,开发软件时充分考虑系统的兼容性。

2.2 数据流图

数据流图(Data Flow Diagram)是从数据传递和加工的角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是进行结构化系统分析的主要表达工具[4,5]。根据系统功能需求的描述,口袋记账本系统的顶层数据流图如图2所示。对于顶层数据流图,还可进行多层次的分解和细化,形存多层次结构的数据流图。

3 系统设计

3.1 设计原则

系统设计是根据系统分析的结果,运用系统科学的思想和方法,设计出能最大限度满足所要求的目标 (或目的) 的新系统的过程,包括总体设计和详细设计两个阶段[4,5]。在Android口袋记账本的设计中,应考虑以下几个原则。

实用性:系统功能应实用,具有记账、查询、统计及报表等常用功能,同时相关操作的流程应简单明确。

易用性:考虑一般用户手机操作习惯,在系统布局上减少页面跳转,操作界面简洁明了;减少页面之间的手势动作,多用滑动代替手势。

安全性:对于记账类的应用,它涉及用户的个人隐私,因此应能保证用户账单数据的安全。

灵活性:系统在架构上应具备一定的灵活性,便于拓展新业务时不需对系统进行过大的改动,降低系统扩展成本。

3.2 总体设计

Android口袋记账本系统总体结構可划分为三层,分别是视图层、业务逻辑层和数据层。视图层,负责对UI界面渲染;业务逻辑层,负责业务的逻辑处理,实现操作流程的控制,规定业务实体类之间的通讯,以及与上下各层之间交互的方法;数据层,负责数据的获取和写入,后台使用SQLite作为数据库。系统总体应用结构如图3所示。

系统采用三层结构有以下几个优点:一是有利于明确系统各层次模块之间的分工,使得系统开发更加高效方便。二是视图层发生变化时不必关心系统业务逻辑,反之亦然,从而提高软件的内聚性,降低耦合性。

3.3 详细设计

详细设计的主要任务就是设计每个模块的实现算法、所需的局部数据结构[4,5]。通过系统分析,Android口袋记账本软件主要包括个主要模块:用户管理、记账管理、查询与统计、分析与报表。

1)用户管理

用户管理模块主要实现两个方面的功能,一是新用户注册,注册成功后,新用户将获得一个合法的用户名和密码。二是用户修改密码,用户可不定期修改账号密码保证账号的安全性。

2) 记账管理

记账管理模块主要用于收入记账和支出记账,是口袋记账本系统的核心模块。

记账时,先在程序界面选择添加记账,然后选择记账类别 “收入/支出”,并完成账目具体内容的录入。

对于已录入的收支账目,用户可以进行修改或删除,在程序界面选择要修改的收支记录,重新编辑后提交。选择要删除的收支记录,确认删除后将删除记录。

3) 查询与统计

查询功能允许用户对历史收入、支出账目进行各种条件组合查询,以满足用户多种查询需求,同时还可根据统计要求进行数据的统计操作。

4) 分析与报表

依据用户的收入、支出数据,对用户的消费模式和消费行为进行分析,并给出一定的消费建议供用户参考。

以月份或年为单位时间统计收支情况,生成收入、支出报表,并以饼状图的形式展示。当用户点击饼状图中的某一种记账类型,将会跳转到二级菜单查询模块,此模块下将给出该记账类型按时间查询、按金额排序查询所得的流水账单。

4 系統实现

4.1 系统实现环境

口袋记账本系统的实现环境,如1所示。

表1   系统实现环境

[序号 参数名称 参数值 1 编程开发语言 JAVA 2 数据库管理系统 SQLite3 3 集成开发环境(IDE) Android Studio3.0 4 开发工具包(JDK) JDK1.8 5 操作系统 Windows10 ]

4.2 系统框架实现

4.2.1 视图层

视图层主要包括每个用户界面的Activity活动,视图的组件是用布局文件去实现,详细是在res目录下的布局文件夹.xml文件配置的[6,7]。主要用户界面有:记账页面(activity_add_record.xml)、增加记账类型页面(activity_add_type.xml)、账单主页(activity_ home)、设置页面(activity_setting.xml)、账单类型管理页面(activity_type+manage.xml)、账单统计页面(activity_statistics.xml),记账类型记录(fragment_type_records.xml),系统视图层的Activity类图如图4所示。

4.2.2 业务逻辑层

业务逻辑层中包含7个ViewModel类,分别是AddRecordViewModel、AddTypeViewModel、HomeViewModel、SetingViewModel、TypeManageViewModel、StatisticsViewModel和TypeRecordViewModel,每一个ViewModel类对应相应的视图层中的Activity类。

4.2.3 数据层

数据层主要包括系统中所包含的各个实体类,例如Record、RecordType、RecordWithType、DaySumMoneyBean、SumMoneyBean、TypeSumMoneyBean,以及进行数据操作的DAO类,比如RecordDao、RecordTypeDao。

4.3 系统功能模块实现

记账管理模块是口袋记账本系统的核心模块,在该模块下面可以进行账目的添加、修改和删除。记账管理模块的页面入口在程序主页面的下方,用“+”按钮表示。点击该按钮,进入记账管理页面,在页面上方有一组RadioButton控件,用于选择账目类型“支出”还是“收入”,在支出/收入栏下面是一个recycleView布局,存放记账类型,点击相应的记账类型标记账单,即可进行记账,记账完毕后点击确定提交记账记录。

5 结束语

本文从实用性,易用性的角度设计并实现了Android口袋记账本软件,该软件解决了传统手写记账的不方便,数据难以保存易遗失等问题,用户只要手持一台Android智能手机便能实现随时随地记账需求。

参考文献:

[1] 鲍美英. 基于Android的理财软件的设计与实现[J]. 山西大同大学学报: 自然科学版, 2017, 33(3): 7-9, 15.

[2] 李德华, 司潇洒. 基于Android平台的家庭财务管理软件的设计和实现[J]. 电脑知识与技术, 2016, 12(28): 90-92.

[3] 吴想想. 基于Android平台软件开发方法的研究与应用[D]. 北京: 北京邮电大学, 2011.

[4] 李代平, 杨成义. 软件工程[M]. 4版. 北京: 清华大学出版社, 2017.

[5] 钱乐秋, 赵文耘, 牛军钰. 软件工程[M]. 3版. 北京: 清华大学出版社, 2016.

[6] 李宁. Android开发权威指南[M]. 2版. 北京: 人民邮电出版社, 2013.

[7] 丁永明, 纪方明. 基于Android平台移动学习软件的研究与实现[J]. 数字通信世界, 2011(3): 155-203.

【通联编辑:谢媛媛】

猜你喜欢
口袋软件
禅宗软件
浪漫口袋
神秘烟口袋
软件对对碰
借口袋
谈软件的破解与保护