基于Android个人财产管理系统的设计与实现.doc_第1页
基于Android个人财产管理系统的设计与实现.doc_第2页
基于Android个人财产管理系统的设计与实现.doc_第3页
基于Android个人财产管理系统的设计与实现.doc_第4页
基于Android个人财产管理系统的设计与实现.doc_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本科生毕业论文(设计)论文题目:基于Android个人财产管理系统的设计与实现姓名:左子娟学号:793944360班级:计科Q1101年级:专业:学院:指导教师:完成时间:中南财经政法大学201N届本科生毕业论文(设计)作者声明本毕业论文(设计)是在导师的指导下由本人独立撰写完成的,没有剽窃、抄袭、造假等违反道德、学术规范和其他侵权行为。对本论文(设计)的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。因本毕业论文(设计)引起的法律结果完全由本人承担。毕业论文(设计)成果归中南财经政法大学所有。特此声明。作者专业:作者学号:作者签名: 基于Android个人财产管理系统的设计与实现Design and Implementation Of Personal Property Management System For Android2015年4月23日摘 要Android是一种操作系统,它与其他操作系统的区别在与它是基于Linux的,并且开放源码的。Android通常被应用在便携式移动终端上,比如手机、平板。随着Android的发展,它已经不再像以前那样只能使用Java语言来进行应用程序的开发,有多重编程方式可以选择的局面使得Android受到了大多数开发者的一致好评,越来越多的开发者加入到Android应用程序开发大军当中,这使得Android成为了真正意义上的开发式操作系统。随着智能手机的普及,开发者的增多,Android系统也在不断的适应着人们的使用习惯,在未来的某一天,它有可能成为主流的手机操作系统。在社会发展的过程当中,人们的个人收入也在不断增加,越来越多的人开始希望提高生活质量,但是越来越高的工作压力,使他们并没有太多的时间去思考如何提高生活质量。在这样的一个环境下,人们就希望用极少的时间来实现提高生活质量的愿望,在大多数人看来,实现这个愿望的第一步是管理自己的财产,所以个人财产管理系统就应运而生了。作者通过对Android系统应用开发的学习和对通过数据库实现数据存储和处理过程的了解,最终实现了用户能够随时随地对其收支数据进行管理的应用程序的开发。通过本课题的探索,希望能够实现广大朋友使用少量时间进行个人财产管理的美好愿望。个人财产管理系统的目标是在用户记录每天收入支出情况的基础上,对用户的个人财务数据进行简单的数据分析,希望用户可以从数据分析结果中找到优化财产分配的方式。本项目包括了收入支出管理、预算管理、账目明细、报表等主要功能,除此之外,本项目还具有两大创新功能,第一,自动提醒记账功能,也是本项目最大的创新点;第二,固定收支记录。自动提醒记账功能的设计是为了让应用程序更人性化,在用户可能产生消费情况时,提醒用户进行记账,以免遗忘;固定收支记录,用户根据个人的财务情况,可以自定义设置周期性产生的收支情况,根据用户设置的固定收支记录,系统会自动添加收支记录,减少用户对周期性收支信息如工资、房租等的重复录入,节省了用户的时间。 关键词: 理财,记账,手机,移动应用AbstractAndroid is an operating system different from other operating systems, which is based on Linux with open source. It is often used in portable mobile terminals like mobile phone and tablet PC. With the development of Android, it can be developed not only in Java language anymore. The condition that various kinds of methods are available makes it more popular among program developers. More and more developers flock into the development of Android applications, which makes Android an open source OS of real significance. With the popularity of smart mobile phones and the increasing number of developers, Android is also constantly adapting to peoples habits. Maybe one day in the future, it will become the dominating OS on mobile phones. During the development of society, personal income of people is increasing, and they want to improve the quality of life. However, they dont have enough time to think about how to do it under the high pressure of work. So, people want to find a way to realize their dream with fewer time. In their opinions, the first step to make it lies in managing their own property. Thus, the personal property management system emerge sat the very point. Through the study on application development of Android system, data storage and data processing, the author finally completes the development of application by which users can manage their data of income and expenses at any time and any place. Personal property management system is based on the records of users daily income and expenses. On the basis of a simple analysis of the data, the paper aims to help people distribute their property more reasonably.The project mainly includes the functions of the income and expenditure management, budget management, detailed accounts, and reports etc. Besides, it also has two innovative features. The first one is automatic reminder, which is also the most innovative point. The second one is the recording of fixed income and expenditure. Design of automatic reminder function aims to make the application more suitable, which will reminds the user to account when he may produce consumptive action and avoid forgetting. Users can set up the data of fixed income and expenditure according to their own consumption habits and the system will make recordsperiodically. The system will add records automatically according to users setting, which will save their efforts in repeated recording of periodical data like salary and house rent.Key words: Financial management, accounting, mobile phone, mobile application 目 录一、绪 论1(一)论文研究主要内容1(二)国内外现状2二、关键技术介绍2(一)关键性开发技术的介绍2三、系统分析5(一)构架概述5(二)系统开发环境6(三)系统任务的可行性分析7四、系统设计8(一)系统概述8(二)系统的功能结构设计8(三)系统控制流程15(四)数据库设计17五、系统实现19(一)创新性功能实现19(二)其他功能界面实现20(三)创新性功能的关键代码23六、系统测试26(一)测试的对象及目的26(二)界面测试26(三)功能测试27结论30致 谢31参考文献32一、绪 论社会在进步,人们的个人财产收入越来越高,这使得人们对于生活质量的要求也越来越高,然而大多数人并没有足够的时间去思考如何提高生活质量。我们普遍认识对个人的财产收入进行管理是实现高质量高水平生活的第一步。在人们收入,支出的费用的不断增加,而又没有时间来对其进行管理的情况下,个人财产管理系统就变得尤为实用了。本系统适合运行在移动设备上,随时随地对财产进行管理,能够适应和满足用的需求,使人们花很少的时间,就能随时随地的对收入,支出等进行存储。对于那些爱乱发钱,缺少时间的人们,个人财产管理系统能够帮助他们控制开销和节省时间,对提高生活质量积极作用。(一) 论文研究主要内容通常来说记账是个人财产管理所要进行的第一个步骤。记账所要记录的是人们在日常生活中的每一笔收入和支出的消费情况,简而言之,也就是发生在一个人身上的所有资金来源和去向。俗话说,好记性不如烂笔头。记账,可以让人们更清楚的认识到自己的支出消费构成,个人财产的存在形式;记账,可以更直观具体地体现消费产生的时间地点,产生消费行为的原因。有人认为记账记的只是流水账,并没有什么实际意义。事实上,记账是为了记录数据,系统通过对数据进行统计分析得出分析结果,而得出的分析结果往往可以真正折射出数据主人的财务状况。然而传统的个人财产管理系统,很多功能强大,但是也有很多冗余功能,对于普通人来说,他们对个人财产管理系统的功能需求是非常简单的。复杂的界面和繁琐的操作反而会消耗用户的大量时间和精力,因此个人财产管理系统所要追求的应该是方便快捷。用户需要投入的应该是对数据分析结果的研究,而不是花大多数精力去研究繁杂的操作。手机是每个人日常生活中必备的通讯和娱乐工具。尤其是在智能手机大量普及之后,庞大的“低头族” 低头族是指这么一群年轻人,低着头,使用手机等装置。自智能型手机问世,那一方小小屏幕,因而直如三秒胶,紧紧黏住了无数人,全球不分地域不分年龄,遂普遍出现低头。使得移动计算成为了特别容易的事情。利用移动终端进行记账对于用户来说是一件非常方便的事,用户可以实时记录正在发生的收支信息,更好地保障了消费信息的准确性和实时性。人们可以利用移动终端进入个人财产管理系统随时查看自己当前的消费情况和财务状况。通过系统的记账,能够更快地实现个人生活目标。利用移动终端对个人财产进行管理,使其成为终端应用的一部分,具有传统记账方式手工管理和计算机管理所不存在的优点,比如:携带便利,实时控制,信息查找方便快捷,检索速度快,易于存储且存储容量更大,安全性高,延长使用实现,投入成本更低等。以上的优点使得个人或家庭的财产管理效率得到提高,促进了个人财产管理系统的发展,保证其正规化、科学化地实现管理目标,同时也是该系统接壤现代先进科学技术水平的主要条件。基于Android平台下搭建的个人财产管理系统,是采用相对普及率高的终端平台来进行财产管理,用户使用起来更方便,也能够更直接、准确的管理个人财产;同时也能够让自己重温Android开发技术,熟悉SQLite技术,提升个人开发技术能力。(二) 国内外现状美国人很重视独立能力的培养,大部分美国父母在孩子满18岁以后不再为他们支付生活费。也就是说,大部分美国学生在满18岁以后必须要自己赚钱养活自己,如果住在父母家,也需要缴纳房租、生活等费用。尽管美国的大学生们很容易从银行贷款,但是如果他们没有良好的个人财产管理习惯,依然是难以维持学业和生存的。所以美国家长会从小培养孩子的个人财产管理习惯,只有养成了良好的个人财产管理习惯,美国父母才会放心让18岁的孩子完全独立。由此可见,个人财产管理能力对于一个人的独立能力来说是很重要的一部分。中国的孩子从小就生活在父母的庇护下,至少到大学毕业,孩子都不用为自己的生活而发愁,父母有可靠地后勤支援。所以,在中国小孩眼里,他们并不认为理财是一件重要的事。谈到理财,大多数中国人的投资理财观念还有待提高,多数人还在梦想着一夜暴富,怀着投机取巧的心态去投资。总是企图通过所谓的内部消息来帮助他们实现投资的目的,往往忽略了投资原本是一项艰苦的工作,需要做大量的数据分析,做大量的功课以期获得长期稳定的回报。相比之下,一些发达国家的投资理财观念就已经很成熟了,他们更希望获得的是长期持续而且稳定的收益,对于一夜暴富之类的赌博投资反而没有兴趣。因此,更为理性的能够使整个社会的投资环境更理性,也是社会经济发展最终应该呈现的形态。然而我们中国人是聪慧的,随着社会的发展,人们生活水平的提高,财产管理的概念意识也不断增强。要实现人生梦想,仅有适合的人生规划是远远不够的,在这一基础上,还应该具备应对各个阶段的各种需求,这个时候,一个良好的个人财产管理习惯就变得尤为重要了。一句话,在中国个人财产管理的理念虽然产生相对比较晚,但是也正因为此其前景是非常广阔的。二、关键技术介绍(一) 关键性开发技术的介绍1android技术Android 的功能很多样,所以很难与桌面操作系统区分开来。构建在 Linux 内核 Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。基础上的Android系统 是一个分层的环境,这个环境中有很多的功能。其UI 子系统又包括了用于显示的常见组件和小部件以及窗口和视图等,比如编辑框、列表和下拉列表都属于用于显示的常见组件。Android 的可嵌入浏览器的构建是基于WebKit WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也称MSHTML,IE 使用)。的,同样的,iPhone 的 Safari 浏览器, 跟Android 的可嵌入浏览器一样,同样是在WebKit的基础上构建起来的。Android提供的连接选项有WIFi、蓝牙和通过eellular连接的无线数据传输(例如GPRS、EDGE和3G)。链接到 Google 地图是Android 应用程序中一项常见的技术,这一技术主要是为了为应用程序提供获取地址并显示出来的功能。除此之外,Android还为此功能提供了一些其他的服务和支持,比如GPS和加速器。但是有的Android 设备可能没有配置必须的硬件,比如需要摄像支持。以前,相对于桌面应用程序来说,移动应用软件需要提升的主要是两个方面,一方面是图形/媒体的美观性,另一方面是数据存储采用的方式。现在,Android已经解决了图形方面的差距,这一方面主要是通过系统提供的对2D和3D的图形内置支持来实现的,比如说 OpenGL 库。(1)应用层:在进行Android软件开发时,一般是采用Java语言作为编程语言进行软件开发活动,这一编程活动通常情况下是通过SDK 软件开发工具包(外语首字母缩写:SDK、外语全称:Software Development Kit)一般都是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。来展开的。如果采用的软件开发包不是SDK,则编程所用的语言也是不一样的。(2)应用程序框架层:Android基本应用程序运用的系统API API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。经常被软件开发者所使用。Android 应用框架中包含了很多模块和服务,而这些模块和服务基本上都是可以复用的。为了能够开发出更好的应用软件,开发人员需要做到对这个机制足够的了解。(3)系统运行库:程序库:Android的程序库通常可以被其系统中的不同组件所应用,这些程序库包括C/C+库等。它们可以为软件开发者提供一些服务。Android 运行库:在Android系统中众多的运行库中,其中之一是核心库,它对JAVA编程来说是很重要的,因为它为其提供了很多功能。(4) Linux核心层:Android的安全性,内存管理,进程管理,网络协议栈和驱动模型等核心服务都非常需要 Linux 2.6内核的支持。在Android系统中有一个抽象层,存在与硬件和软件栈中间,这个抽象层被称为Linux内核。2sqlite数据库SQLite,是一款轻量型的数据库,它提供了全部的源代码,而且还是完全免费的,是以嵌入式为设计目标的遵守ACID ACID,指数据库事务正确执行的四个基本要素的缩写。包含:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。的关联式数据库管理系统 可以有一个连带关系,比如,一个用户表,一个信息表,一个用户对应多条信息,当你删除用户的时候是不是这个用户的信息也要被删除,如果没有关系的话,你就要在删除用户前手工写条sql语句去删除信息表里的对应信息,如果有关联的话,就不用了,级联删除就可以了,只要删除用户,这个用户下面的信息也就没了。,目前SQLite被多数嵌入式产品所运用。SQLite有很多优点,比如Source需求量小,运行速度可观,占用存储空间小(以嵌入式设备为例,几百K对它来说就已经足够了)等。它还可以供各种不一样的平台所使用,很多主流的被用户普遍使用的操作系统都是可以完全支持,比如Windows、Linux、Unix。它还可以实现多种编程语言(包括PHP、Java、Tcl、C#等)相互结合在一起使用,除此之外,它还为ODBC 开放数据库互连(Open Database Connectivity,ODBC)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。接口提供了支持。和PostgreSQL PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS)。、Mysql比较,虽然它们都是非常有名的开源数据库,但是相比之下,SQLite有它自己的优势,比如在处理数据时它甚至更快速,而且也是非常值得信赖的。SQLite数据库的一些特性:(1)速度快,在这一方面,SQLite可以算作是嵌入式数据库中的佼佼者,Sql Server Mobile一类的嵌入式数据库系统速度都比它慢。(2)sqlite的数据库文件是可以共享的,就算是字节顺序并不相同的机器之间,也可以实现自由共享。(3)给大量编程语言提供支持,如C、PHP、Java、 Perl、等。(4)资源完全开放, 你可以用于任何用途, 包括出售它。32三、系统分析(一)构架概述1功能构架在经过需求分析之后,个人财产管理系统的功能模块应该囊括的功能模块有收支管理,账目明细,预算,报表,固定收支,提醒记账等。本系统主要包括的功能模块如图3.1所示。收支管理账目明细预 算报 表提醒记账固定收支用户登录系统地 图图3.1 系统功能构架图2功能需求描述对个人财产进行管理是本系统开发的主要目的,财产是每个人的隐私,因此,系统需要考虑到用户数据的安全性。为了保证用户的数据安全,系统添加了用户权限功能,可以在这一功能模块中对系统进行加密操作。用户收入支出情况的及时记录,历史数据的查询,用户消费行为的分析和预算设置都是本系统需要包括的基本功能。下面将会针对每一个功能模块的需求进行展开具体分析。(1) 用户权限财产状况属于个人隐私,所以个人财产管理系统要考虑的第一层便是安全性,为了保证用户数据的安全,在用户进入系统之前,需要进行用户验证。本系统采用的验证方式是密码验证,用户可以对登录密码进行更改,密码由四位数字或字母组成,用户可以在设置模块进行设置,也可以设置密码口令的开关,当密码口令打开后,用户在进入系统前需要输入密码,密码验证成功则进入系统,否则验证失败不能进行系统,在一定程度上保证了用户的数据安全。(2)收支管理收支管理是本系统的基础功能,在这一功能模块中,用户可以对个人的收入和支出信息进行增加、删除、修改和查询操作。为了提高用户体验,需要记录的数据信息大部分采用选择方式。(3)账目明细在这一功能模块中,系统会提取数据库中的所有收支信息并显示出来。用户可以通过选择日期、账户、收支项目来对自己的收入支出记录进行分类查看,用户可以查询到数据库中的每一条收支记录,并对它们进行修改或删除等操作。(4)预算 在预算功能模块用户可以对当月各类型消费支出进行预算设置,对当月支出做出清晰计划。该模块还根据用户当前支出信息给出预算余额,预算超支时系统会做出相应的提醒。用户可以对预算金额进行调整修改。(5)报表在报表模块,系统将数据库中的收入和支出分别按项目进行分类统计并以报表的形式给出。用户可以通过对分析结果的查看,了解自己的消费结构,在了解的基础上,能够更好地进行预算和消费计划的制定。(6)设置设置模块包含密码设置、密码开关,提醒记账开关等功能的设置管理。(7)提醒记账提醒记账模块是个人财产管理系统的一大创新点。在这一模块功能开启之后,后台会自动运行,该服务会自动获取当前位置与数据库中用户自定义的消费点位置信息做判断,一旦判断结果是当前位置在消费点有效范围内,就弹出通知,提醒用户进行记账。这一模块需要地图模块作为功能支持,用户在定义消费点时,需要通过地图模块获取当前消费点位置的经纬度存入数据库中。(8)固定收支在固定收支模块中,用户可以自定义一些周期性的收入支出信息,比如工资、房租之类的。用户添加固定收支信息后,系统将获取当前时间与记录中的开始时间对比判断,根据判断结果决定是否在数据库中写入收支信息记录。在系统启动时,系统会启动固定收支模块,对收支信息进行更新。(二)系统开发环境 硬件环境:3.40GHZ/4096MB/128G/软件环境:windows 7、Eclipse4.3、android4.3 SDK (三)系统任务的可行性分析1技术可行性 (1)对于开源操作系统来说,应用程序开发者Android系统中进行开发活动时是可以使用多种编程语言的。这些编程语言包括Java、C/C+、各种脚本语言(如:python、lua、tcl、php等等),但是在使用C/C+编程时需要通过NDK Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。,使用脚本语言编程时需要用到SL4A SL4A是Scripting Layer for Android 的缩写1,中文直译为“安卓的脚本层”,与Android Scripting Environment(ASE)意义相同,据Google官方博客介绍,SL4A将脚本语言带入Android,允许用户编辑和执行脚本,直接在Android设备上运行交互式解释器。Android系统有四大组件,即由四个部分组合而成。在Android系统中,开发者有很大的自由,他们可以发挥想象,开发出高人性化的UI,追求更好的用户体验,因为Android系统为开发者和使用者提供了非常丰富的界面空间,这也提高了开发者在用户界面模块的开发速度,保证界面的一致性。Intent是Android系统提供的进程间通讯机制,这样一个轻量级的通讯机制让软件中各个进程组件之间的通信成为可能,也实现了系统级广播的发送。在系统后太长时间运行的Service,是Android提供的无用户界面组件。Android 还提供了Broadcast一种被广泛应用于各个应用程序之间,用来传输信息的机制。有了信息传输机制,必须有对应的信息接收并处理相应的机制,在Android中,这类组件就是BroadcastReceiver用来对发送出来的Broadcast进行过滤接受并响应。Android中的第三方程序数据的访问由Content Provider来实现。(2)Sqlite是一款完全开源的,提供全部的源代码,支持多操作系统的的SQL数据库。Sqlite访问数据库时,没有再通过其他的中间介质,而是直接访问数据库文件。Sqlite对于数据的操作具有独特的性质原子性、独立性,这些性质使得在程序或系统崩溃时,并不会造成数据错误的产生。Sqlite的开源性使得任何人都有权限获得和使用Sqlite,甚至是源码。Sqlite是的轻量级架构并不影响它的实用性,它支持的SQL语句并不比其他数据库少,相比之下,它更易于操作,学习起来上手很快,速度也并不受限制,是非常值得信赖的。2系统安全性分析作为开源系统的Android有一个自身的特点,就是权限分立。在权限分立的操作系统中,每一个应用都由其唯一对应的ID,应用以其独立的ID(系统识别身份)运行(Linux用户ID与群组ID)。在系统中的各个独立分不分也都有一一对应的识别标志。就是采用这样的机制,Linux中的应用和应用被分割开来,应用和系统被分割开来。在个人财产管理系统中,特别设置了密码验证模块,用户可以自行设置登录系统所需的密码,由四位数字或字母组成,一定程度上提高了密码的安全级别。如果用户并不需要密码保护,也可以关闭密码验证功能。这样,保证了用户的安全,也尊重用户本人的意愿。只要用户打开密码保护,并且设置了密码,别人破解的可能性是非常小的。所以说,本系统在安全性上是有一定的保障的。四、系统设计(一)系统概述在系统概述部分,需要完成两个设计目标,一是确定本系统所要包含的物理元素,第二是确定软件设计的结构。在完成这些设计目标的基础之上,就可以对系统进行总体的设计了,同时还可以根据系统分析结果确定该系统的功能模块。系统设计的主要任务是使系统实现所要求的所有功能,同时,努力争取达到高效率、高可靠性、可修改性,并且容易掌握和使用。本系统包括收支、预算、提醒记账、固定收支、设置等模块。(二) 系统的模块结构设计1 模块化层次结构图,经过系统分析,确定了个人财产管理系统所应该包括的主要功能模块有收支模块、预算模块、提醒记账、固定收支模块和设置模块,每个模块又由各个子模块组成。系统模块结构图如图4.2.1所示。设置模块固定收支模块收支模块密码设置收支管理账目明细报表预算管理预算模块提醒记账模块模块消费点管理地图个人财产管理系统固定收支管理提醒记账开关图4.2.1 模块化层次结构图2主要功能操作流程图和说明(1)收支管理操作流程,如图4.2.2所示是开始删除收支信息结束新增收支信息修改收支修改收支信息确定新增删除收支否否是否是新增收支输入与选择收支信息输入与选择收支信息返回是否图4.2.2 收支管理操作流程附加说明:收支管理操作是个人财产管理系统的主要功能。用户可以对其收入支出信息进行增加、删除、修改、查询等操作。收入支出信息是该系统报表生成等功能的基础。(2) 提醒记账操作流程如图4.2.3所示是否是开始获取自己经纬度计算距离有消费点信息否150米以内提醒用户结束提取消费点经纬度图4.2.3 提醒记账操作流程附加说明:提醒记账功能的作用是在用户可能产生消费之前,提醒用户进行支出信息记录,防止遗忘。因此,用户可以将产生消费的位置自行定义为消费点,下一次用户再靠近消费点时,系统就会自动提醒用户记账。(3) 固定收支操作模块,如图4.2.4所示否开始提取固定表数据有固定表数据结束新增记录至收支表否是当前时间-记录时间=周期?是新记录时间=原记录时间+周期图4.2.4 固定收支操作流程附加说明:固定收支记录操作,是自动为用户添加自定义的周期性的收支信息的一项功能。系统在启动时会先判断当前时间是否需要添加固定收支信息。开始输入密码进入系统密码正确结束否是(4)密码保护操作流程,如图4.2.5所示图4.2.5 密码保护模块流程附加说明:密码保护是为了保护用户的个人隐私,如果不需要密码保护,用户也可以在设置模块关闭密码保护功能。3数据流图录入显示消费点信息触发用户触发地图界面显示设置消费点信息触发消费点数据表读取删除消费点信息删除删除(1) 消费点管理模块数据流图,如图4.2.6所示图4.2.6 消费点管理模块数据流图上图描绘了用户利用地图进行消费点管理的过程。这些操作主要是同过百度地图数据库的接口实现,进行数据库文件中的查询和读取显示操作,设置消费点时,将当前位置录入消费点数据表。其中涉及了消费点的增加、删除、查询算法。该算法主要是获取当前所在位置,加以描述,存入数据库文件当中。并在地图上显示当前的消费点,可以直接对消费点进行删除操作。以下是具体的IPO描述:消费点管理模块方案IPO描述输入:点击设为消费点图标(增加)/消费点图标(删除)。执行算法:用户点击设为消费点图标,程序获取当前位置的经纬度,经纬度录入到消费点信息表中。用户点击消费点图标,程序提取数据库中所有消费点信息,并显示在地图上。用户点击相应的消费点进行查看或删除操作,程序对应对数据库中的消费点信息表进行查询或删除操作。输出:消费点信息记录。(2) 收支管理数据流图,如图4.2.7所示用户新增收支信息记录新增录入收支信息基本数据录入修改收支信息记录修改收支信息基本数据录入收支明细表读取保存收支信息记录修改保存收支明细表删除删除收支信息记录收支明细表读取删除 图4.2.7 收支管理数据流图以上的数据流程图是对收支管理功能模块的描述,它包括了对于收入支出数据的处理过程。其中涉及收支记录的增加、删除、修改算法。该算法主要是根据用户的输入,对每一条收支记录进行存储,并根据用户需要,可以对收支记录进行修改和删除操作。以下是具体的IPO描述:收支管理模块方案IPO描述输入:收支金额、分类、时间等信息,增加收入或增加支出图标点击。执行算法:用户点击增加收入或增加支出图标进入增加收支信息界面,程序获取用户输入的收支信息保存到数据库中的收入支出表中。读取最近的收支记录显示到系统主页,用户通过长按收支记录进行修改或删除操作,程序通过数据库对收入支出表执行修改或删除算法。 输出:收支信息记录。用户预算界面显示数据触发预算信息表读出触发预算输入界面新增预算信息记录新增录入修改预算信息记录预算信息表输入预算数额修改录入修改(3)预算模块数据流图,如图4.2.8所示图4.2.8预算模块数据流图以上的数据流图是对预算功能模块的描述,主要的处理过程都是针对于预算数据展开的,其中包括了对于预算数据的新增、删除和修改算法。当用户输入预算值时,系统需要获取用户输入的预算金额,并将支出金额以图形形式显示在预算界面。为了更方便用户操作,在预算数据输入时以计算器的界面进行输入。以下是具体的IPO描述:预算模块方案IPO描述输入:预算数额,用户列表短按。执行算法:用户选择预算,进入预算界面,系统查询数据库中的预算信息并将查询结果输出,用户选择相应支出项进行预算修改时,系统弹出计算器界面供用户输入金额使用。如果用户已经设置过预算,再次输入预算金额时,如果输入数值大于0,则对原预算记录进行修改,否则删除该条预算记录。如果用户之前没有设置过预算,当输入数值大于0,新增预算记录,否则设置预算失败。输出:预算信息记录。用户流水账界面显示默认数据日期按帐号读取显示收支数据按日期读取显示收支数据收支明细表读出触发分类执行算法按收支项目读取显示收支数据账户收支项目分类分类执行算法执行算法读出读出删除收支信息记录删除收支明细表读取删除显示收支管理界面修改收支明细表读出读取修改(4)账目明细模块数据流图,如图4.2.9所示图4.2.9账目明细模块数据流图以上数据流程图描绘的是账目明细模块收入支出数据记录的处理过程。主要包括了数据封信算法,用户点击流水按钮后,系统从数据库获取所有收入支出记录,并按月份顺序排列输出。该模块可以查询到每一条收支记录,还可以对每条记录进行修改、删除操作。以下是具体的IPO描述:账目明细模块方案IPO描述输入:用户选择流水图标,点击月份列表,长按收支记录,短按收支记录执行算法:用户选择流水图标时,程序向数据库发出查询指令,获取所有收支产生的时间,将所有时间取到月份并按列表排序显示。点击月份列表,系统显示数据库中对应月份的所有收支记录。长按收支记录,获取该条记录的ID并向用户确认是否删除该条收支记录。短按收支记录,如果用户做出修改,获取新输入的数据,对数据库中原来的记录进行修改操作。输出:收支信息记录。(三)系统控制流程整个系统的控制流程,如图4.3.1所示开始登录界面密码验证系统首页退出结束增加收支界面增加收支账目明细界面预算界面报表界面固定收支界面地图界面增加预算增加固定收支增加消费点设置界面失败失败失败失败正确错误否是成功或返回成功或返回成功或返回成功或返回返回返回返回图4.3.1 系统流程图(四)数据库设计数据库设计通常是系统设计的最后一步,但这并不意味着数据库设计不重要,在软件设计过程中,数据库设计是举足轻重的,数据库设计的好坏将直接影响软件系统中各部分数据的之间联系的紧密性。本项目所采用的数据库系统是Sqlite,在本文的关键技术介绍部分已经对Sqlite数据库系统做出了详细的介绍,这里就不再赘述了。作为个人财产管理系统,首先要处理的基本信息便是收入支出信息,由此就得出了收入支出表,在这张表中,主要包括的属性有收支记录的金额、类型、账户、时间、备注等;为了完成预算模块的功能,需要有一张表来存储用户设置的固定收支情况,由此就得出了固定收支表,其中包括的属性有固定收支的金额、周期、类别、账户、时间等;第三张表是预算信息表,包括预算的金额、时间、类型等属性;第四张表是为了实现提醒记账功能而设计的表消费点信息表,用来存储消费点的经度、纬度、说明等信息;最后一张表就是分类消费信息表,用来记录不同消费类型的支出总计,包括分类和消费总额两个属性。以上五个表的具体设计如表4-1至4-5所示: 1 收入支出表,如表4-1所示表4-1 收入支出表ID字段名称字段类型(大小)说明ic_ep_ididint自动编号ic_ep_money收支金额moneyic_ep_category收支类型varcharic_ep_account收支账户varcharic_ep_time收支时间dateic_ep_remak收支备注varcharic_or_ep收入或支出varchar区分收入与支出2 固定收支表,如表4-2所示表4-2 固定收支表ID字段名称字段类型(大小)说明fd_ididint自动编号fd_money固定收支金额moneyfd_period固定收支周期datefd_category固定收支类别varcharfd_account固定收支账户varcharfd_date固定收支时间datefd_remak收支备注varcharfd_ic_or_ep固定收入或支出varchar区分收入与支出3 预算信息表,如表4-3所示表4-3 预算信息表ID字段名称字段类型(大小)说明bg_ididint自动编号bg_money预算金额moneybg_date预算时间datebg_category预算类型varchar4 消费点信息表,如表4-4所示表4-4 消费点信息表ID字段名称字段类型(大小)说明ep_ididint自动编号ep_latiude消费点纬度intep_longitude消费点经度intep_remark消费点说明varchar5 分类消费信息表,如表4-5所示表4-5 分类消费信息表ID字段名称字段类型(大小)说明category_ididint自动编号category_name类别名称varchar(16)category_parent类别总计money每个类别的总消费额五、系统实现(一)创新性功能实现1提醒记账功能当用户打开记账提醒功能开关后,系统会在后台每隔5秒就获取用户当前位置的经纬度,并与数据库中的消费点经纬度进行对比判断,如果判断结果为距离相差150米,就弹出通知,提醒用户进行记账。提醒界面如图5.1.1所示:图5.1.1 提醒记账模块界面2固定收支自动添加功能固定收支模块又包括了新增固定收支和固定收支管理等模块。(1)新增固定收支功能在新增固定收支界面,可以进行固定收支的新增和修改操作。界面如图5.1.2所示:图5.1.2 固定收支管理模块界面(2)固定收支管理功能 固定收支管理功能主要是用户查看已经设置的固定收支信息时使用,长按可以删除对应的固定收支记录。界面如图5.1.3所示:图5.1.3 固定收支管理模块界面(二)其他功能界面实现1系统主界面本系统的主页面包含了用户比较关心的一些基本信息,使得用户在进入系统之处就能获得这些信息,提高用户体验。在系统主页面显示当月的总收入,总支出,以及当月各类支出占总支出比例的报表,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论