资源描述
- .
XX城市建立学院
本科毕业论文
基于Android平台的个人记账系统分析与设计
ThePersonal Accounting System Analysis and Design
Based on the Android Platform
学生:
林鑫
学生学号:
08580103
专业名称:
信息管理与信息系统
指导教师:
巍
经济与管理学院
2012年6月15日独创性声明
本人声明所呈交的毕业设计〔论文〕是本人在指导教师指导下进展的研究工作和取得的研究成果,除了文中特别加以引用标注之处外,论文中不包含其他人已经发表或撰写过的研究成果,没有伪造数据的行为。
毕业设计〔论文〕作者签名:签字日期:年月日
毕业设计〔论文〕使用授权书
本毕业设计〔论文〕作者完全了解学校有关保存、使用论文的规定。同意学校保存并向有关管理部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权XX城市建立学院可以将本论文的全部或局部容编入有关数据进展检索,可以采用影印、缩印或扫描等复制手段保存和汇编本论文。
〔的毕业设计〔论文〕在解密后适用本授权说明〕
毕业设计〔论文〕作者签名:指导教师签名:
签字日期:年月日签字日期:年月日
目录
第 1 章 绪论1
1.1 个人理财与记账1
1.1.1 个人理财简述1
1.1.2 个人记账简述1
1.2 移动记账应用1
1.2.1 移动记账应用的意义2
1.2.2 移动记账的特点2
1.2.3 移动记账应用现状2
1.3 关键技术5
1.3.1 面向对象方法5
1.3.2 Android移动操作系统5
1.3.3 Java程序设计语言5
1.3.4 SSH2系统框架6
1.3.5 db4o对象型数据库6
1.4 可行性研究及结论6
1.4.1 必要性分析6
1.4.2 技术可行性7
1.4.3 经济可行性7
1.4.4 社会可行性7
1.4.5 可行性研究结论8
第 2 章 系统分析9
2.1 需求分析9
2.1.1 常用记账方式9
2.1.2 功能性需求9
2.1.3 非功能性需求10
2.2 用例模型10
2.2.1 识别参与者10
2.2.2 确定用例10
2.2.3 确定用例关系11
2.2.4 描述用例规约12
2.3 分析模型18
2.3.1 类图18
2.3.2 顺序图22
第 3 章 系统设计29
3.1 系统架构29
3.2 分析模型的细化29
3.2.1 添加边界类29
3.2.2 添加实体类30
3.2.3 边界类详细设计31
3.2.4 重新绘制类图33
3.2.5 重新绘制顺序图37
3.2.6 系统包图42
3.3 对象持久化与数据库设计44
第 4 章 系统实施46
4.1 系统实施的准备工作46
4.1.1 系统硬件准备46
4.1.2 系统软件准备46
4.1.3 系统人员培训46
4.1.4 系统数据准备46
4.2 系统功能实现46
致47
参考文献48
附录49
附件一:综述50
附件二:英文翻译51
英文原文52
. word.zl.
- .
第 1 章 绪论
1.1 个人理财与记账
1.1.1 个人理财简述
人们的生活与消费息息相关,有消费就会有钱财的流动,那么如何管理好自己的钱财,做到花有头,存有绪,个人理财也就成为了人们愈发急需的个人能力之一。有句话说得好,“你不理财,财不理你〞。如果你希望自身的财务状况能够良好、XX可持续的开展,学会理财是十分必要的。
个人理财,是在对个人收入、资产、负债等数据进展分析整理的根底上,根据个人对风险的偏好和承受能力,结合预定目标运用诸如储蓄、保险、证券、外汇、收藏、住房投资等多种手段管理资产和负债,合理安排资金,从而在各个人风险可以承受围实现资产增值的最大化的过程[1]。宏观概念的生涩,使得大局部人对理财望而却步,但其实个人理财并没有那么复杂,毕竟在生活中,储蓄和投资并不占据主体,而弱化后的理财,主要是在财富的管理、安排和控制这几方面。每个人都有能力实现个人理财。但是对于大局部人的生活来说,个人理财的概念并没有那么复杂,毕竟储蓄和投资并不占据生活的主体,而弱化后的理财,主要以财富的管理、安排和控制这几方面。
1.1.2 个人记账简述
随着每个人生活水平和消费水平的不断上升,以及自身财富的积累,越来越多的人开场意识到需要为自己做好理财规划。
记账,是理财的第一步,也是最根本的一种理财方式。早在距今几万年前的旧石器时代中晚期,人类的祖先就在石器上使用简单刻记的方式进展财产的记录。可以说,记账甚至是人类最古老的理财方式。从广义上说,记账就是将与自身有关的经济业务按照时间顺序,通过某种形式连续地记录下来,可供日后查看和汇总。通过记账,可以简洁明了的对自身的收入、支出和消费都做到知根知底。让你再也不会问自己:“钱都花哪去了?〞。
当你学会了记账,会在看到清清楚楚的账单数据,然后痛恨自己一把怎么花了这么多钱;当你学会了记账,会时刻提醒自己要节约从而积累下更多的财富。当然,记账不是任务,也不是通过节约就能到达富裕的生活,只是需要通过记账的手段,到达明白花钱,了解自己哪一局部的消费可控,哪一些是不可控的,哪一局部需要进展调控,哪一局部可以适当加大投入,然后尽量控制进而到达解决需要钱时却没钱的捉襟见肘的境遇。记账是为了理财,也是为了给自己一个提醒,追忆把握金钱的流向!
1.2 移动记账应用
移动记账应用,指的是那些运行在便携移动设备如手机、平板电脑上的,能够方便、快捷、轻量级的,可随时随地供设备持有者使用的记账应用软件。
1.2.1 移动记账应用的意义
说起记账,相信大家的脑海里会浮现出多种多样的记账方式。老一辈的人都有使用算盘记账的经历;后来有了计算器,大家就使用笔和账簿辅以计算结果进展记账;到了二十一世纪的信息化时代,电脑软件的普及,使得大家转向了Excel或是其他一些带有强大分析功能的桌面软件进展电脑记账。然而,以上种种方式,都带有时间、空间的限制,不能做到随时随地的记录,延误了最正确的记账时间,或是需要后期拿出大量时间进展账目的统计分析工作,导致人们的记账习惯不能得以延续下去,功亏一篑,更是达不到规划理财的目的。
观察身边的同学朋友,消费可观,但是理财能力偏弱的大有人在。他们不是不想进展理财规划,只是没有找到一个适宜自己而又便捷有效的记账理财方式。记账需要坚持,只有坚持记账才能发挥作用,但是怎样才能坚持呢?其中最关键的就是要有一个好的工具能帮助你有效的记账,做到随时随地记账这是必须的,而且还能随时随地对你的历史账簿进展查询统计,这样才能有效的控制你的消费,否那么想查的时候查不到,想记的时候不能记,那也是白搭!
手机是目前最为普及的便携移动设备,具有最为广泛的普遍性,且随着手机操作系统的智能化,以及日益强大的运算功能,移动记账软件的出现,很好地解决了以上种种方式的弊端。有了移动记账,就可以做到真正随时随地、便捷、高效地记账,并且能够随时随地的根据个人需求进展账目的分析统计,根据结果报表对自己的消费进展有效的控制,到达XX理财的目的。
1.2.2 移动记账的特点
一个好的移动记账软件,必须具备以下特点:
(1) 便携性。由于软件是搭载在手机终端上,因此自然而然的拥有了便捷随身移动的特征,能够让用户随时随地的携带着记账工具。
(2) 简单性。搭载于移动终端上的记账软件还应做到操作简单,界面简洁,各类用户均能无障碍操作的特性。
(3) 高效性。移动记账软件,应做到快捷的启动方式,并能以最快的速度建立收支条目,并将数据存储下来;还能实时地提供报表分析数据,为用户的经济决策做参考。
(4) 完整性。除了便捷、高效以外,对于数据的完整、平安做到应有的保障,能够和Web效劳器端的数据进展同步。
1.2.3 移动记账应用现状
由于手机的智能化始于2021年,而智能手机的流行开场于2021年,到目前为止也都有了一定的时间积累,在国外开发者的努力下,移动应用方面已取得了一定的成果。目前在诸如国外的Google Play和国的安智市场、应用汇等各大应用商店、市场中都有大量优秀的各类应用供广阔用户下载使用。自然,记账理财方面的应用也不例外,也已小有成就。
虽说应用的数量不在少数,但是质量可以说是良莠不齐。在这里选择了6个自己试用之后感觉比拟有代表性的记账应用〔国、国外各3个〕来从各个方面的功能进展简要的比照,比照结果以表格的形式列出,其中以“●〞实心圆标识表示具有该项功能,而空白单元格表示没有此项功能。比照结果如表1–1所示:
表1–1国外移动记账应用比照
应用
功能
国应用
国外应用
快捷
记账
随手记
精英理财
Finance Note
Keep Account
Quick Track
记账功能
收入
●
●
●
●
●
●
支出
●
●
●
●
●
●
转入
●
●
转出
●
●
查询明细
●
●
●
●
●
●
统计报表
统计余额
●
●
●
●
●
●
收支趋势
●
●
●
●
●
●
图表分析
●
●
●
●
●
●
数据操作
加密
●
●
●
●
●
备份
●
●
●
●
同步
●
其他操作
货币设置
●
●
短信监听
●
定期财报
●
●
●
固定收支
●
●
●
是否收费
●
●
●
●
可以从上表的所示情况中看出,这6个比拟有代表性的目前国外记账应用各有特色,都具有自己的优势,也不可防止的含有一些缺点。总结归纳如下:
(1) 快捷记账:是6个现有应用之中功能较为全面的一个,包括各项账目的收支、转出转入,同时也具有了较为强大的数据统计分析功能,对于数据的平安性也提供了相应的保护措施。比拟有特色的是短信监听功能,可监听接收到的短信,假设是带有交易数据,会自动询问用户是否需要计入账簿。美中缺乏的是,由于快捷记账没有Web版系统应用,因此所有的功能都局限在了移动终端上,带来些许不便,也意味着不具有数据同步功能。除此之外,还有大家都很关心的一点,快捷记账是需要收费的。仅此一点,可以说是限制了相当一局部的用户。
(2) 随手记:是著名的国IT效劳提供商金蝶公司的产品。可想而知,其功能必然不在话下。大体上和快捷记账十分相似,功能也十分全面,除了应有的记录收入、支出、转入、转出转账功能,强大的报表分析功能,由于金蝶自身深厚的软硬件实例,随手记还具有Web版的应用系统,当你在家使用电脑时,就没有必要再使用体格偏小的移动终端设备进展记账了,可以使用Web版的应用系统,而且效劳器所具有的强大运算功能也是手机、平板所匹敌不了的,因此在Web端,你可以获得更全面的账务分析。与此同时,随手记也就具有了数据同步功能,使得数据更为平安,不易丧失。但是,随手记并不具有短信监听记账功能,少了一些特色。而且,遗憾的是,随手记也是需要收费的,也因此影响到的了活泼用户的数量。
(3) 精英理财:从产品的规模上可以看出是属于国个人开发者的产品。由于本身技术的局限,本款应用在功能上相比前两者要削弱不少。从功能上来说,只具有最根本的收入、支出记录功能,不支持转入、转出转账功能。但是可喜的是,精英理财同样具有理财数据分析功能,可以进展消费趋势、图标分析等。相比前两者,虽然功能有相对的削弱,但是,该应用是完全免费的,即使功能并不全面,但是根本能够符合普通用户的需求。
(4) Finance Note:和国的精英理财在功能数量上十分相近,都没有转入、转出转账的记录功能。但是在数据分析功能上不必其他应用要来得弱,明细查询、数据分析、报表统计等功能并无不能。相比精英理财,它还具有了数据加密和定期报表的功能,更胜一筹。在于应用价格方面,其同意是免费的,相信在国外还是具有一定的用户数量的。
(5) Keep Account:应用的整体功能和Finance Note十分相似,在记账功能方面,只有收入、支出的记录功能,没有转账条目的记录功能。具有完善的明细查询、数据分析,报表输出等统计功能。相比Finance Note强大的地方在于,具有本地的数据备份功能,虽然笔者认为本地备份在移动终端的用处似乎不大,但也算一个优点吧。除此之外,该应用还具有货币设置和固定收支这两项特殊功能,能方便不同人群的使用,也省去固定周期的固定收入、支出的记录过程。但是,该应用是收费的。
(6) Quick Track:该应用与Finance Note和Keep Account都十分相似,无论是记账功能还是统计分析功能,都不尽一样,依然是没有转账相关记录功能。但是与前两者国外应用不同的是,其具有定期报表的特色功能,用户可以设置一个时间点和周期进展定期的报表显示,让用户的固定时间固定频率下看到自己的账目统计。该应用也是需要收费的。
从以上国外6个比拟具有代表性的应用比拟来看,国的应用目前功能较为丰富,而国外的几个应用在记账功能上那么相对简单,所试用的3个应用中,无一具有转账记账功能。而国应用在这方面都有所考虑,在账目的设置上也自然而然的更适合国用户的使用习惯。而在数据统计分析方面,国外应用目前都做的不错,各个应用也都具有此项功能,而且都不弱。在数据管理方面,除了国较大的两个产商在除了应用以外,还具有Web版的记账系统之外,能够进展数据的云备份和云同步,其余应用都最多只有本地备份功能,并不全面。而数据加密功能,本人觉得本身移动终端就是私人随身携带的物品,极少会到他人手上,被他人查看记账数据的可能也是极小,因此加密功能笔者认为并不重要,可以删去。本地功能也是一样,在移动终端上并不如个人PC端的作用来得大,因此也不建议增加此功能。而其他功能,例如货币设置、固定收支、定期报表等,都可适当增加,但是即使少了也影响不大。最后,还有十分重要的一点,就是应用的价格问题。很明显,现今应用市场和商店中的应用,功能强大的都防止不了需要收费才能使用,或是免费版只具有局部功能,假设要使用全部功能需另外购置,免费的版的功能普遍较为弱化。是否收费很大程度的影响到了用户的选择。
因此,笔者希望的是,能够设计、开发中一个功能较为完善,移动终端和Web版系统能够同时运行的个人记账系统,最重要的是免费供用户使用全部功能。
1.3 关键技术
1.3.1 面向对象方法
面向对象的方法在系统分析设计中可分为三个阶段:面向对象分析〔OOA〕、面向对象设计〔OOD〕以及面向对象编程〔OOP〕。
面向对象分析主要指的是将问题域中存在的客观事物或概念抽象识别为对象建立分析模型,用对象的属性和效劳〔service〕分别描述事物的静态特征和行为,并且保存问题域中事物之间关系的原貌。面向对象分析的是为了理清“做什么〞,而面向对象设计是为了解决“怎么做〞。面向对象分析是基于面向对象分析得到的模型进展模型的修改、细化和详细设计,建立起设计模型作为面向对象编程的根底。面向对象编程指的是选定面向对象的语言,对应设计模型,实现模型中的类及其中的属性和效劳,进而实现整个系统。
面向对象的方法能让系统分析、设计、实现阶段平滑的过渡和转换,最大限度的降低差异和转换本钱。面向对象中的继承和封装的特点能够大大提高系统的重用性和可拓展性,降低系统升级、维护的本钱开销。
1.3.2 Android移动操作系统
Android移动操作系统是美国的Google公司于2021年9月发布,以Linux为核心层并免费开放源代码的一款移动操作系统。因为Android系统免费、开源的特性,很快吸引了众多手机生产商和手机应用开发者投入到生态系统的建立中。第一款采用Android系统的智能手机发布至今不到4年,Android系统已经成为了最炙手可热的生态系统,包括三星、索尼、宏达电等知名手机硬件产商都大力主推搭载Android系统的智能手机。据统计,目前Android系统占全球移动终端市场的50%以上的份额,而在中国国甚至更高,已十分接近70%。所以选择开发运行于Android系统的应用软件,能够具有很大的用户人群和稳定的技术支持。
1.3.3 Java程序设计语言
Java程序设计语言是Sun公司于1995年5月发布的一门面向对象的程序设计语言。Java具有跨平台的重要特性,能够做到“一次开发,处处运行〞,使开发从不同操作系统的区别中解脱出来。自从Java发布以来,就成为了最炙手可热的高级程序设计语言,近年来更是连续占据着权威TIOBE编程语言排行榜领头羊的位置。既然使用了面向对象的系统分析设计方法,因此选择一门像Java这样的纯面向对象的高级程序设计语言,是一个契合的选择,能够实现分析设计到编程实施的平滑过渡,实现模型到程序的完美转换,并为整个系统分析设计过程减少额外的学习本钱。
1.3.4 SSH2系统框架
SSH2即Struts2、Spring、Hibernate,这三大框架是目前Java Web应用技术中最为流行的三大框架。其中,Struts2是主要负责表示层和控制层的典型MVC框架,能够对客户端请求进展拦截,对页面数据进展封装并转化为能让后台更为方便处理的对象,在后台对数据处理完之后,Struts2还负责将结果反响给客户端,使系统的逻辑更为清晰。Spring一般应用于中间层框架,其反转控制〔IoC〕实现了对象的托管,省去开发者繁琐的对象创立过程;而面向切面编程〔AOP〕能够使业务逻辑局部和应用效劳别离开来,防止相似代码重复编写,尤其是类似数据库事务操作的这类代码,Spring的使用能够大幅降低系统的耦合性,使系统各局部的关联度降低,易于后期修改和扩展。Hibernate是为了解决面向对象编程语言的数据操作和关系型数据库的数据存储之间阻抗不匹配问题的对象-关系映射〔ORM〕框架,很好的封装了各类关系型数据库的操作,使开发人员可以使用面向对象的方式来进展数据的存取,利用面向对象的思想开发基于关系型数据库的应用系统。
良好的框架应用,可以减轻开发者在技术解决方案上消耗的精力和负担,将注意力转移到问题业务的解决上,并且在编码时减少代码的编写量,提高开发效率。另一方面,框架的使用,能让应用系统最大限度的松耦合,这样在应对变化或增加时,能够很好的进展系统的扩展。
1.3.5 db4o对象型数据库
db4o是一个开源的纯对象型的数据库,功能强大,体积小轻量级,而且性能足够优异,因此特别适合作为嵌入式数据库,运用在Android应用程序中。而且db4o能够实现零管理的模式,不需要额外的DBA技术来进展数据库的管理。因为是100%使用Java写成的数据库,能够让Java应用程序无缝的和db4o数据库连接进展数据的存取操作,大大减少了开发人员花费在对象模型到关系模型的转换时间和代价,提高开发效率。
1.4 可行性研究及结论
1.4.1 必要性分析
记账的形式多种多样,有的人至今仍然随身携带记账本和笔随时随地进展记账,确实不能说这种方式不方便,能够在消费发生的第一时间就拿出来进展记录,但是后期需要进展大量的人工数据统计工作,更不用说报表输出了;而有的人早已废弃纸币,选择了电脑软件进展记账,如Excel工作簿、记账通等,最大的有点就是带有强大的数据分析和报表输出功能,但是缺点是电脑哪怕是笔记本电脑想要随时携带比拟麻烦,想要在消费发生的第一时间就进展记账几乎不可能。种种方式,要不就是没有分析功能,要不就是限制了记账时间和地点,往往造成人们不能养成连续记账的习惯,更不用说进展个人的理财规划了。
因此,一个便携、小巧,又具有强大数据统计、报表分析的移动记账软件的诞生是十分有必要的,一切的这些都可以在搭载了Android移动操作系统的手机上实现。
1.4.2 技术可行性
此基于Android平台的个人记账系统所需技术的要求,以及现有掌握熟练程度,存在的差距等方面进展分析可采用下表形式表示:
表1–2关键技术分析表
关键技术项
要求
现有水平
对照分析
Android活动及其生命周期
熟练
熟练
可以满足要求
Java
熟练
熟练
可以满足要求
AJAX
了解
了解
可以满足要求
jQuery
了解
了解
可以满足要求
JSON
熟练
熟练
可以满足要求
XML
熟练
熟练
可以满足要求
Struts2
熟练
熟练
可以满足要求
Hibernate
熟练
熟练
可以满足要求
Spring
熟练
熟练
可以满足要求
db4o数据库
了解
了解
可以满足要求
依上表可知:对于本系统的所需技术的要求均可满足要求,因此本系统在技术方面是可行的,不存在技术上的问题。
1.4.3 经济可行性
该系统只笔者一人参与设计开发,因此没有人员的额外开销。而在开发工具上,选用的是由“蓝色巨人〞IBM公司开发并开源的Java应用程序IDE工具Eclipse,可免费下载使用,而且在所需的各项技术中,全部都是开源免费技术,每一个下载使用这些技术的开发者都可获得对应技术的GNU通用公共许可证,可自由运用于任何工程,因此也没有技术使用的开销。另外,系统分析设计过程中需要的硬件设备要求也不高,单独的一台配置不高的笔记本电脑就可以满足需求。因此,从经济的角度上来看,系统也是可行的。
1.4.4 社会可行性
随着生活水平的提高,经济活动占据个人生活的主导地位,在消费的同时,想要通过记账的方式进展个人理财的人必定不在少数。基于Android平台的个人记账系统,再配合上Web版的个人记账系统,在功能上相信能够满足当前具有一定消费能力且有记账习惯的用户的需求,而且应用系统本身也将是完全免费的,相信社会上的广阔Android手机用户也会有同等的期待。所以,从社会方面来看,此系统也是可行的。
1.4.5 可行性研究结论
由以上四点分别从必要性、技术、经济、社会等方面进展了充分的分析论证,在各方面都是符合市场需求、个人能力、经济条件、社会背景,因此基于Android平台的个人记账系统是可行的,可以立即开场系统的分析设计工作。
. word.zl.
- .
第 2 章 系统分析
2.1 需求分析
2.1.1 常用记账方式
有记账习惯同学不在少数,故从身边同学的记账事例来获取一个移动记账系统应具有怎样的需求。主要的记账形式有如下几种:
(1) 记账本
使用记账本来记录日常的收入支出,最明显的缺点就是时效性太差,不能在消费的第一时间就将发生额记录到记账本中,总是要等回到宿舍,再拿出笔和记账本进展记录,而常常又因为记不住消费确实切金额或是干脆就忘了有笔账需要记一记,错过了最正确的记账时机就很难再形成连续、完整的记账,造成记录数据与真实收支数据不统一。另一方面,在数据较为完整的情况下,当你需要回头来看看这个月在各方面消费了多少金额的时候,需要花费大量时间进展统计整理,让人十分泄气。
(2) Excel工作表
笔者的另一位舍友,使用的是Excel工作表进展收支条目的记录。Excel具有强大的统计功能,因此能够快捷地进展各类统计分析,甚至生成图表分析结果。但是和手工记账本记账一样,存在时效性差的特点,一样不能抓住最正确的记账时机,而便携性甚至比不上记账本。而且为了备份数据,需要定期将Excel工作簿备份复制一份,存储在另一个介质中,如U盘、移动硬盘,需要额外的开销。
(3) 手机记事本
即使现有的手机并不是Android操作系统,并没有可用的移动记账应用,但是仍然具有便携的特性,于是有的同学就使用手机上的记事本进展日常记账。虽然解决了时效性的问题,能在消费发生的第一时间就进展记录,但是因为仅仅是记事本,每次都需要手动录入记账条目,显得十分繁琐和低效。而且和记账本一样,不具有后期的统计分析功能。
由上述案例可知,基于Android平台的移动记账应用是十分有必要的,它可以很好的解决以上各种方式的缺点。移动记账应用应该具有便携、即时,能够在消费发生的第一时间就能进展记录,简单快捷的操作方式,还能进展全面的统计分析,数据的平安备份等特点。
2.1.2 功能性需求
通过案例分析,大致得出以下主要功能需求:
(1) 记账功能:收入、支出、转账等条目的记录。
(2) 账目查询:可通过设立多个查询条件〔如日期区间、账目类别〕来获取账目列表。
(3) 账户管理:设置例如现金、银行卡、信用卡、一卡通等各类账户。
(4) 账目类别管理:设置账目类别如餐饮、交通、娱乐等一级类别;早餐、公交、KTV等二级类别,可供添加账目条目时进展选择。
(5) 数据管理:可将数据备份至本机存储空间,或者选择将数据备份至应用的Web系统版。
(6) 报表分析:设定假设干可选条件,进展符合条件的账目统计,并能按用户要求输出图表,并提供消费建议。
(7) Web版同步账号的注册和登陆功能。
(8) 理财资讯的获取:通过移动互联网从效劳器获取个人理财规划相关资讯。
2.1.3 非功能性需求
移动互联网时代,一个应用想要获得用户青睐,让用户真正的喜欢上该系统,不仅仅需要满足用户的功能性需求,非功能性需求的满足也是十分必要的,必须具备以下良好的用户体验:
(1) 界面简洁明了,不失美感,必须适合全触摸屏的使用习惯
(2) 操作应尽量简单、快速
(3) 程序页面跳转应流畅、平滑
(4) 使用优秀的算法,将明细查询和统计分析的报表生成时间做到最短
(5) 金额数字应显示清晰,毕竟手机屏幕的大小仍有限,绝大多数为3.5至4.3英寸
2.2 用例模型
2.2.1 识别参与者
所谓的参与者是系统之外与系统进展交互的任何事物,一般是使用系统的用户或是其他外部系统、外部设备等外部实体。
因为记账应用系统是相互独立地安装于每个用户各自的Android手机终端上,可从以下几个方面确定参与者:
(1) 该应用系统的数据、信息都是由系统的用户当经济活动发生时进展手动录入的,相关理财资讯均是由系统管理员手动录入的;录入的数据也是供用户自己日后进展查询、统计分析所用;而数据的删除、备份也是由用户自行操作。
(2) 位于手机终端上的各项功能均是由安装了该应用系统的用户使用
(3) 每个用户均是处于对该记账应用系统的特定功能具有相当需求和兴趣的情况下,进展的下载和安装以及使用
(4) 该系统由系统管理员数据的支持和维护
由以上四点分析可知,该记账应用系统是由在手机上安装了该应用系统的用户和系统管理员作为参与者。
2.2.2 确定用例
通过上文分析得到的参与者可以进展系统用例确实定。首先,参与者普通用户是为了记账和理财而使用该系统,系统管理员是为了维护和管理该系统而使用;其次,普通用户会用到的是相关记账和报表分析功能,如:记账、明细查询、数据管理、系统设置等功能,管理员通常用到用户管理、资讯管理等功能。由上分析,很容易就能得到该系统大致应有的用例,按照参与者的类型分为:
(1) 用户
记账管理:收入管理〔增加、编辑、删除〕,支出管理〔增加、编辑、删除〕,转账管理〔增加、编辑、删除〕,借贷管理〔增加、编辑、删除〕。
明细查询:查询所有、分类查询、账户查询、条件查询
报表统计:支出报表、收入报表、逐月支出、逐月收入、条件报表、资产状况
数据管理:备份至本机、同步到云端〔云端账号注册、登陆〕、从本地恢复、从云端恢复、去除本地数据
系统设置:支出、收入类别管理〔增加、编辑、删除〕,账户管理〔增加、编辑、删除〕,借贷账户管理〔增加、编辑、删除〕
(2) 管理员
用户管理〔增加、编辑、删除〕,
2.2.3 确定用例关系
由上文分析得到的用例以及用例分类可以得出以下用例关系图:
记账功能的相关用例关系,如图2–1所示:
图2–1记账管理用例
2.2.4 描述用例规约
根据上文已确定的用例以及用例关系,制定用例规约。
在记账管理用例中,又包含了收入管理、支出管理、转账管理、借贷管理四种用例,每种用例各包含了新增、编辑、删除三个方面的用例。收入管理和支出管理的用例规约十分相近,转账管理和借贷管理稍有区别。
表2–1记账管理用例规约
用例名称
记账管理
参与者
用户
假设
用户知道当前经济活动未被记录过,系统并不验证此经济活动是否已存在
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
系统更新相关数据
主事件流
1. 选择记账类型〔支出、收入、转账、借贷〕
2. 根据所选记账类型进入相应类型账目记账界面
3. 根据所选类型,用户可选择进展新增、编辑、删除操作
4. 系统更新账户数据
表2–2账号管理用例规约
用例名称
账号管理
参与者
用户
假设
无
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
系统完成账号的注册或者登录
主事件流
1. 用户进入账号管理界面
2. 用户可选择进展登录账号或者注册账号
3. 系统更新账户数据
由明细查询用例包含可得查询所有、账户查询、分类查询和条件查询四个用例,它们的用例规约如下:
表2–3查询所有用例规约
用例名称
查询所有
参与者
用户
假设
系统已有账目记录数据
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
显示指定日期区间所有账目记录数据
主事件流
1. 从数据库获取指定日期的所有账目记录数据
2. 系统显示所获取的账目记录数据
备选事件流
无
表2–4账户查询用例规约
用例名称
账户查询
参与者
用户
假设
系统已有账目记录数据
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
显示指定日期区间所有账户明细
主事件流
1. 系统从数据库获取各账户明细
2. 系统显示各账户明细数据
备选事件流
无
表2–5分类查询用例规约
用例名称
分类查询
参与者
用户
假设
系统已有账目记录数据
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
显示指定日期区间所有分类的账目明细
主事件流
1. 系统从数据库获取各分类明细数据
2. 系统显示各账户明细数据
备选事件流
无
表 2–6条件查询用例规约
用例名称
条件查询
参与者
用户
假设
系统已有账目记录数据
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
显示用户指定条件的账目明细
主事件流
1. 用户根据界面提示录入、选择各条件
2. 系统从数据库获取指定条件的明细数据
3. 系统显示获取的明细数据
由报表统计用例包含得到支出报表、收入报表、逐月支出、逐月收入四个用例,它们的用例规约如下:
表2–7支出报表用例规约
用例名称
支出报表
参与者
用户
假设
系统已有账目记录数据
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
显示用户指定日期区间的支出报表
主事件流
1. 用户指定日期区间
2. 系统从数据库获取指定日期区间的支出账目数据
3. 系统显示获取的支出数据的报表
表2–8逐月支出用例规约
用例名称
逐月支出
参与者
用户
假设
系统已有账目记录数据
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
显示用户指定月份区间的逐月支出报表
主事件流
1. 用户指定月份区间
2. 系统从数据库获取指定月份区间的逐月支出总数据
3. 系统显示获取的逐月支出数据的报表
收入报表、逐月收入报表的用例规约与支出报表、逐月支出报表的用例规约十分相似,故不一一列举。
在系统设置用例中,包含了收入类别管理、支出类别管理、账户管理、借贷账户管理四大用例,这四个用例各包含了新增、编辑、删除三个方面的用例。收入类别管理和支出类别管理的用例规约十分相近。
表2–9新增收入类别用例规约
用例名称
收入类别管理
参与者
用户
假设
无
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
系统将新收入类别存入数据库
主事件流
1. 用户进入收入类别管理界面
2. 系统显示现有收入类别列表
3. 用户可选择对收入类别进展增加、编辑、删除等操作
4. 系统更新收入类别数据
支出类别管理、账户管理、借贷账户管理四大用例包含的新增、编辑、删除三个方面的用例与上述所示的收入类别管理包含用例的用例规约十分相似,故不一一列举。
数据管理用例包含得到数据备份和数据恢复用例,而数据备份和数据恢复又各自包含为本地和云端两个方面。其用例规约如下:
表2–10数据备份至本地用例规约
用例名称
备份至本地
参与者
用户
假设
系统取得本地文件读写权限
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
系统将数据库数据以文件的形式备份至本地
主事件流
1. 系统将数据库数据以文件形式备份至本地
2. 系统告知用户文件所在位置
3. 系统在数据库中存储文件的保存位置
表 2–11从本地恢复数据用例规约
用例名称
从本地恢复
参与者
用户
假设
系统取得本地文件读写权限
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
系统从本地文件中恢复数据库数据
主事件流
1. 系统读取保存在本地的数据库数据文件
2. 系统将文件中的数据写入数据库
表 2–12数据备份至云端用例规约
用例名称
备份至云端
参与者
用户
假设
系统取得网络权限
前置条件
系统未设置密码保护或用户身份已被识别和授权
后置条件
系统将数据库数据发送到云端进展备份
主事件流
1. 系统将数据库数据发送到云端
2. 云端系统将数据保存至云端数据库中
表 2–1
展开阅读全文