记账本的设计.docx

上传人:b****7 文档编号:9175731 上传时间:2023-02-03 格式:DOCX 页数:22 大小:31.90KB
下载 相关 举报
记账本的设计.docx_第1页
第1页 / 共22页
记账本的设计.docx_第2页
第2页 / 共22页
记账本的设计.docx_第3页
第3页 / 共22页
记账本的设计.docx_第4页
第4页 / 共22页
记账本的设计.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

记账本的设计.docx

《记账本的设计.docx》由会员分享,可在线阅读,更多相关《记账本的设计.docx(22页珍藏版)》请在冰豆网上搜索。

记账本的设计.docx

记账本的设计

NewlycompiledonNovember23,2020

 

记账本的设计

课题名称

基于Android记账本的设计

院系

计算机与软件学院

专业

移动互联网技术(Android技术)

班级

学号

学生姓名

指导教师:

2016年05月日

计算机与软件学院

毕业设计(论文)诚信承诺

我谨在此承诺:

本人所写的毕业论文《基于Android的Time记账本的设计》,系本人独立完成,没有抄袭行为,凡涉及其他作者的观点和材料,均作了注释与说明,若有不实,后果由本人承担。

承诺人(签名):

2016年05月18日

摘要

在后PC时代的今天,手机已经普及到人手一台以上,智能手机成为最重要的移动终端,其两大主流是GoogleAndroid系统及其IOS系统。

特别是Android平台,其具有开放的、配置优、性价比高等特点,显然越来越多的软件使用Android技术开发。

然而在基于Android技术开发的软件中,却没有一款能够满足用户对收支图形化显示的记账软件。

为了解决用户需求的问题,本毕业设计基于Android技术设计并实现了Time记账本管理软件的开发。

该记账软件以AndroidStudio作为开发平台,使用AChartEngine制作图表,调用本地SQLite数据库保存本地信息,同时利用LeanCloud云端数据来管理用户账户,实现了对账本(Bill)数据的增删改查和用户资产的增删改查。

本记账软件包括以下几个模块:

用户密码登陆,收支数据的录入、个人明细及汇总统计,数据云端备份。

本设计着重实现记账功能和资产管理功能。

关键词:

记账软件;AndroidStudio;数据库;

Abstract

InthePCeratoday,mobilephoneshavespreadtomorethanahand,smartphonesbecomethemostimportantmobileterminal,itstwobigmainstreamisGoogleAndroidandIOSsystem.TheAndroidplatform,inparticular,ithasopen,configurationandhighcostperformancecharacteristics,moreandmoreobviouslyusingAndroidsoftwaretechnologydevelopment.InthedevelopmentofsoftwarebasedonAndroidtechnology,however,havenoagraphicaldisplaycansatisfytheusers'paymentsbillingsoftware.Inordertosolvetheproblemofuserdemand,thisgraduationdesignisbasedontheAndroidtechnologyisdesignedandimplementedtheTimeforthedevelopmentofthemanagementsoftwareofchargetoanaccount.

TheaccountingsoftwareforAndroidStudioasadevelopmentplatform,usingAChartEnginecharts,callalocalSQLitedatabasetostorethelocalinformation,atthesametimeusingLeanCloudclouddatatomanageuseraccounts,realizedwithbookstoaddanddelete(Bill)dataanduserassetstoaddanddelete.

Theaccountingsoftwareincludesthefollowingseveralmodules:

userpasswordlogin,balanceofpaymentsdataentry,personaldetailsandsummarystatistics,datacloudbackup.Thisdesignfocusesonaccountingandassetmanagementfunctions.

Keywords:

accountingsoftware;AndroidStudio;Database;

目录

 

1绪论

选题背景

一个有经济头脑的人,在日常生活和投资中,都会对自己的收入和开销做到心里有数,以便于制定出自己的一套理财计划,达到合理的经济统筹,有记账习惯的人可以从以往的统计中看到自己主要消费方向,看出自己的消费是否合理。

之所谓巧妇难为无米之炊,如果自己想要理财,先决条件得要有“财”才行。

如何才能有财呢开源节流呀!

有计划的用钱,再将节流下来的钱去用于理财,这样不就行了吗那又怎么样来“开源”呢记账是个好办法,它有针对性地罗列、统计计算资源信息。

从查阅资料来看,一些比较发达国家的人生活中对理财有着很严格的计划,因此国外的理财系统总体来说比较普遍,做的也比较完善。

国内的理财系统主要偏重于办公财务软件,而个人理财和家庭理财方面的比较少,因此需要开发相关的系统软件,从而达到引导理性消费,合理安排收支。

记账本的发展趋势

记账从过去的纸质记账到网络记账,再到现在流行的手机记账,让记账成为了很好的传统习惯,也变成了现代生活的一种时尚。

随着年龄的增长,消费项目逐渐多起来,有时一天下来收入、支出的小项目达到几十项,攒到晚上一块儿记很容易就会落下。

而且晚上经常加班到很晚,回到家打开电脑再完成记账这项任务也有些力不从心。

记账从过去的纸质记账到网络记账,再到现在流行的手机记账,让记账成为了很好的传统习惯,也变成了现代生活的一种时尚。

如果进行账目的整理,每天手动统计的话,用于统计的账本和记录会越来越多,不利于保管,容易造成丢失;其次,随着纪录的增多,如果要查找以前的记录,会变得越来越困难。

电脑记账的话,不方便携带,要先在纸上记录然后再录入到电脑上,麻烦且浪费时间,记账又是一种需要持之以恒的耐力才能实现的良好习惯,但是工作以后时间就没那么固定。

因此,需要一个功能比较完善的手机记账系统来代替传统的手工和电脑统计。

在手机上装上记账软件以后,等公交车或坐车的时候、甚至吃午饭、晚饭等待的时间都可以成为记账的时间。

本软件详细记录用户的每次收入、支出行为,并且可以做出统计,用户可以对自己的收支情况做各种综合的查询,可以管理账目,方便对数据的管理。

2软件需求分析

需求分析

记账管理是一个家庭和个人不可缺少的部分,但现在人使用的小型财务系统却还是凤毛麟角。

记账是很小的一个部分,但大到企业,小到家庭以及个人都有十分重要的意义。

本记账系统的系统设计是基于Android语言,使用AndroidStudio作为开发平台,实现记账系统的系统构建。

而后台的数据库则使用了Sqlite+LeanCloud云端数据库管理整个记账系统的后台数据。

包括以下几个模块:

用户密码登陆,收支数据的录入、个人明细及汇总统计,数据云端备份等,从而对家庭、个人收入与支出进行有效、系统的管理,并使之更全面和灵活。

随着支付手段及购物场景的日趋多样化,人们对于自己的开支消费未能有着很好的整体把握,而单纯的采用记事本记账,条目繁多而杂乱。

用户对于收支记账有着较大的需求。

而专业的记账软件,通过良好的归类和便捷的记账功能,让用户方便的记下自己的每一笔开支,并且通过图表形式,清晰的了解自己的收支情况和变化趋势。

随着人们生活水平的不断提高,越来越多的人开始注意到理财的重要性,在计算机网络技术高速发展的今天,原始的记账方式已经不能满足人们的需要,手机记账不仅方便快捷,而且可以实现数据的长期保存,同时还可以实现账本信息共享,并与更多的朋友分享自己的理财心得。

论文首先对家庭及个人记账本系统的研究背景进行了介绍,对系统需要解决的问题进行了详细概述,讨论了课题的重要性和研究意义,并且阐述了系统的开发流程和开发过程中使用的相关技术;论文提出了系统的项目要求和项目目标,并对系统进行详细的需求调研和需求分析,主要包括系统的业务需求分析、功能需求分析、数据需求分析和非功能性需求分析,并且给出了系统主要功能的业务流程图、数据流图和功能分析图,并对数据库进行描述。

  其次在系统设计过程中,主要对系统进行总体设计和模块设计,总体设计主要包括对系统的架构设计和功能结构设计,同时给出了系统的架构模型和总体功能结构图,主要包括会员管理、账本管理、收支分类管理、日常收支记录管理、查询和统计分析等六大功能模块,并且分别描述每个模块设计的功能结构图和处理流程图,详细阐述了系统的设计内容。

  论文最后对研究的课题进行了总结,阐述了本人的主要工作,指出了论文存在的不足,并对进一步的工作进行了展望。

可行性分析

可行性研究前提

1)要求

主要功能满足用户实际需求

可便利地进行收入支出的增删改操作

对用户数据进行正确的统计

系统操作人性化、简单易用

保证软件的安全性

2)目标

方便地进行收入、支出等数据进行管理整合

能够多个用户一起使用,确保数据的安全性

技术可行性研究

记账本软件在目前主流的智能Android手机上运行,在AndroidStudioIDE开发,使用LeanCloud云端数据库+调用本地Sqlite的方式进行数据存储。

社会可行性研究

随着支付手段及购物场景的日趋多样化,人们对于自己的开支消费未能有着很好的整体把握,而单纯的采用记事本记账,条目繁多而杂乱。

用户对于收支记账有着较大的需求。

而专业的记账软件,通过良好的归类和便捷的记账功能,让用户方便的记下自己的每一笔开支,并且通过图表形式,清晰的了解自己的收支情况和变化趋势。

时间可行性研究

现在的时间流逝的飞快,人们肯定不会为了那些让人头疼的小账目而浪费时间清理。

手机记账软件是非常契合现在人的便捷记账需要。

在手机上装上记账软件以后,等公交车或坐车的时候,等电梯的工夫,甚至吃午饭、晚饭等时间都成为记账的时间。

让你对花销有一个完整的概念。

结论

根据以上分析,软件开发在技术上,时间成本上都在可以接受的范围,该系统具有很高的开发可行性,可以进行对该项目的开发。

3软件详细设计

软件功能结构图

软件主要实现记账功能和资产管理功能,辅助添加大小写计算,汇率换算,快递,彩票等功能,使用图表展示数据。

为了数据保存,软件实现了云端数据库备份功能,使用户在更换Android手机时保障数据的不丢失。

当用在同一部手机登录不同的账号时,记账本软件会将上一次用户的数据完全清楚,以保障用户信息的安全,当用户在登录账户时会从LeanCloud云端数据库下载数据并完成初始化。

具体软件功能结构图如下图所示:

图记账本软件功能结构图

软件业务流程

登录注册模块

记账本软件在云端保存用户的信息,用户在同一部手机首次登陆记账本软件时是需要登陆,用户输入登陆信息,记账本软件将数据发送到LeanCloud云端数据库,LeanCloud云端数据库返回验证结果;当用户首次注册时,记账本软件会将注册数据发送到LeanCloud云端数据库,LeanCloud云端数据库在接受到数据后将数据保存,并返回注册结果信息,记账本软件在接收到数据后,会将数据以缓存的形式保存在本地,使用户在下一次登录时不需要再次输入登录信息。

具体的用户登录流程如下图所示:

图登陆模块业务流程

资产模块

资产(银行卡,支付宝)管理是记账本软件首要功能之一,用户在首次安装记账本软件的时候,记账本软件,即在后台新建“支付宝”“现金”两个默认的资产账户。

当用户输入资产信息(银行卡账户)是记账本软件讲数据上传至网络并验证用户资产信息的合法性,当用户输入的资产合法是将返回资产信息(所属银行),若用户的输入不和法是则返回错误信息,1、资产(银行卡号格式错误)2、不存在的银行卡账户等。

资产支持注销功能,但是用户使用资产时所产生的账单信息则不会同时被删除。

用户删除资产后,资产内用户数据会被清空。

操作具体流程如图所示:

图资产管理流程图

支出、收入相关业务流程

支出,收入是记账本软件的核心功能之一,主要用于记录用户的资产增加,减少项目的记录。

用户在新增支出、收入时,会同时关联一个资产账户,会将资产账户中的资产数数值进行增加和减少。

用户在新增支出,收入的时候要设置支出,收入类别,支出收入类别可以在界面菜单中增加删除。

操作具体流程如图所示:

图收入、支出业务流程图

用户数据的显示图表模块

本系统中对输入数据的统计是特色模块。

数据统计模块的主要功能就是把输入的收入、支出信息经过相关计算使其以饼图的形式展现给用户,让用户能够一目了然的知道各个支出或收入的百分比具体的数据统计。

操作流程如图所示:

图用户数据统计业务流程图

服务模块

服务模块主要有房贷计算,大小写转换,彩票,快递,汇率换算等,服务模块各个子模块数据并没有保存在数据库,也不会上传只是实现一些功能。

服务模块各个子模块主要是调用相关API实现。

例如大小写转换,用户输入阿拉伯数字,单击转换按钮,记账本软件即将数据加上API拼接成字符串发送至网络,再从网络接受数据处理。

服务模块典型实现方案如图所示:

如图服务模块典型实现方案图

软件命名规范

数据库命名规范

数据库以相关的英文单词缩写命名,如表所示。

表数据库命名

数据库名称

描述

记账本软件

数据库表命名以相应意思的英语单词,如表所示。

表数据库表命名

数据库表名称

描述

tb_account

账户表

字段命名除用户id以_id下划线开头,其他均为相应英语单词,如表所示。

表数据库字段命名

字段名称

描述

_id

用户id

time

时间

程序代码命名规范

数据类型命名规则。

在系统中定义变量、常量时,以数据类型简写开头加上对应的英语简写,如表所示。

表数据类型命名规则

数据类型

简写

整型

int

字符串

str

布尔型

bl

单精度浮点型

flt

双精度浮点型

dbl

组件命名规则。

在为组件申明id时以组件类型缩写加对应的作用英语,如表所示。

表组件命名规则

组件

简写

EditText

txt

Botton

btn

TextView

tv

Spinner

sp

ListView

lv

数据库与数据库表设计

软件数据库设计

数据库的设计思路:

1)确保数据库中的每个数据表都有明确的数据关系。

2)统一数据库中的命名规则,使得有良好的交互性,使程序能够良好的运行。

3)减少程序中的重复,尽可能多的通过表与表之间的关系进行联查。

LeanCloud云端账户表

LeanCloud云端账户表(_User)用来保存用户信息。

objectld为用户的唯一标识,为表的主键,也为其他表的objectld相对应。

email和password分别代表着用户名和密码,是用户后期可以修改的,如表所示。

表用户账户表

字段名

数据类型

是否主键(Y/N)

是否外键(Y/N)

描述

objectld

String

Y

N

用户id

emails

String

N

N

用户名/邮箱

password

String

N

N

密码

LncomeAndExpenditure(收入/支出表)

LncomeAndExpenditure收入/支出表。

iae为收入/支出代码1:

收入,2支出,assets为资产id,如表所示。

表收入/支出信息表

字段名

数据类型

是否主键(Y/N)

是否外键(Y/N)

描述

_id

Integer

N

Y

用户id

iae

Integer

Y

N

支出/支出代码

amountOfMoney

String

N

N

金额

remarks

String

N

N

备注

category

String

N

N

类别

assets

String

N

N

资产id

time

time

N

N

时间

Assets(资产管理表)

资产管理表保存资产信息,如表所示。

表支出信息表

字段名

数据类型

是否主键(Y/N)

是否外键(Y/N)

描述

_id

Integer

Y

N

用户id

assetsName

String

N

N

资产名

assetsDetailed

String

N

N

资产详细

assetsAmountOfMoney

String

N

N

金额

Category(支出/收入表)

Category为支出类型表。

本系统在数据库中已写入部分类型,由于每个用户都有不同的支出原因,在添加支出信息时,选择支出类型也大有不同。

在此设计支出类型表,可以为用户提供修改支出类型的服务,根据自己的需要修改支出类型。

这里的_id和账户表的_id是对应着的,如表所示。

表支出类型表

字段名

数据类型

是否主键(Y/N)

可否为空(Y/N)

描述

_id

Integer

N

N

用户id

category

String

N

N

类型名称

lae

String

N

N

收入/支出

4软件的实现与结果

项目结构MVC设计模式

在编写系统之前,定制好系统的系统文件夹组织结构有利于规范系统整体结构,如图所示。

图文件夹组织结构

MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。

MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

MVC是一种使用MVC(ModelViewController模型-视图-控制器)设计创建Web应用程序的模式:

[1]

Model(模型)表示应用程序核心(比如数据库记录列表)。

View(视图)显示数据(数据库记录)。

Controller(控制器)处理输入(写入数据库记录)。

MVC模式同时提供了对HTML、CSS和JavaScript的完全控制。

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。

  通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。

  通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。

  通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

软件公共类设计

软件公共类的设计是为了使程序更加的结构化,使代码的重复降低。

本软件中设计了数据模型公共类和对数据库进行增删改查的API接口和继承制API接口的lmpi公共类。

每一个数据模型类都封装成一个接口供API接口和继承制API接口的lmpi公共类中的数据存放和取出数据来实现API接口和继承制API接口的lmpi公共类中对数据库信息的操作。

其中包括资产管理、收入/支出管理等,以下是以资产管理为例的类图如图所示。

资产管理的类图

界面设计语言MaterialDesign

设计风格采用谷歌全新推出的设计语言MaterialDesign,MaterialDesign和苹果以前的拟物设计并不尽相同。

拟物设计是尽力利用美工和交互在设计上模拟实物。

而MaterialDesign则更为抽象,它不关心实物是什么,只关心它的质感,层次,深度,和其他物体的叠放逻辑。

从某种程度上来说,MaterialDesign更像是把交互界面变成了一张张的纸。

因此,MaterialDesign更像是拟物设计和扁平设计的结合。

数据库设计

数据库的创建

记账本软件使用LeanCloud云端数据库和litepal开源工具操作本地数据库。

1、使用语句创建记账管理系统数据库。

2、使用语句创建数据表

数据库的增删改查

此基于Android系统的Time记账管理软件对数据库的操作主要是:

对数据库中的财务信息进行添加、删除、修改、和查询,在进行任何一个操作的时候都必须对数据库对象进行初始化,才能对想查看的相应的数据库的表进行数据操作。

以下是各种操作的主要方法:

(1)添加资产代码如下:

(2)删除资产代码如下:

(2)修改资产代码如下:

(3)查询资产代码如下:

本地数据库的初始化

主窗体设计实现

图主窗体运行界面

主界面使用侧滑菜单作为导航栏。

主界面标题栏有个Menu用于分享软件,一个账单按钮跳转到账单界面。

下部显示日期和收入支出总数,在下面使用三个Tab显示不同内容三者页面标签均在下方,切换方便,结构清晰,如图所示。

1)明细:

当前月份显示所有收入支出明细。

2)类别报表:

当前月份所有类型支出的统计表(饼状图)。

3)服务:

服务模块主要有房贷计算、大小写转换、彩票、快递、汇率换算等。

4)侧滑菜单:

用户信息查看、修改、数据同步、资产管理、日志、设置、指南、反馈、联系我们。

收入支出版块设计实现

图收入支出模块部分运行界面

1)页面布局

“我的收入”主面板页面布局整体采用相对布局,显示类型、金额、日期、收入增删改查界面,采用的是线性布局内嵌套相对布局的方式实现。

中间的金额、顶部的时间和资产等为相对关系。

收入支出显示为Spinner动态获取。

2)数据存储

当新增一个账单的是为两种类型,一种是收入,一种是支出,但选择收入是实在资产中增加数据,当选择支出是则在资产中减少数据,如图所示。

支出收入数据显示版块设计实现

图支出收入显示模块运行界面

支出收入显示模块运行界面非常简单就是一个图片展示和数据内容数据部分组件将内容动态显示。

根据Intent中传输的用户id,在数据库中提取相应的记录,如图所示。

资产管理模块的设计

图资产管理模块运行界面

1)页面布局

资产管理模块的页面布局,简单大方清秀最上方的账户资产开关,可以关闭后隐藏用户账户金额的显示。

2)功能的实现

账户资产的管理,使用网络验证功能,记账本软件将用户输入的数据与API链接组成新的字符串上传至网络,在从网络获取验证信息,如图所示。

数据统计版块设计实现

分类收入、支出统计

图分类收入统计表界面

1)明细界面

明细界面是一个Listview用于展示数据显示当前月份的账单明细,更具设置的时间从数据库中获取。

在金额显示部分,如果属于支出则金额前面显示“-”,如果属于收入则金额前面显示“+”。

2)图表界面

图标界面直接从数据库中获取相关数据经过计算后转换对象添加到图表当中去,如图所示。

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

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1