个人记账本
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
前言
手机自诞生以来不过数十年光景,但其商用及其更新换代的速度却让人难以置信,在谷歌Android大潮席卷市场,苹果iOS系统风靡全球的现在,以往对于虚拟现实、增强现实、高速无线网络、更绚丽的屏幕、更强悍的图形芯片以及多核处理器的畅想早已不再遥远,完全集成在一部小小的智能设备当中。在移动互联网大潮的侵袭下,想必未来的智能手机市场还将掀起一场智能化的革命。手机行业快速的变化需求对手机设计行业提出了更新的要求。
智能手机的已经融入我们的生活当中,社交我们有QQ、微信;影音我们有百度影音、优酷、土豆;金融我们有支付宝、微信支付;网购我们有淘宝、京东,各色各样应用占满了手机存储空间。
李嘉诚说过,“30岁以后,投资理财的重要性逐渐提升,中年时赚多少钱已经不重要,反而是如何管钱比较重要。”如今,随着生活水平的提高,个人投资理财在当今社会变得越来越重要。很多人没有记账的习惯,就会导致钱花完了到头来却不知道花在了什么地方。而使用记账APP,虽然不能帮我们省钱,却能让我们知道自己的钱花在了什么地方。久而久之,就会对自己的消费情况有个了解,学会更好的调配自己的资金,避免乱花钱、花冤枉钱的情况。
本文着重介绍Android记账类应用《个人记账本》,它拥有记账、钱包管理、报表生成、账本分类等功能。相比于同类产品,操作简单、界面清晰、更加简单易用。
1 绪论
1.1 研究背景
Android系统是基于Linux的智能操作系统,2007年11月,Google与84家软件开发商、硬件制造商及电信运营商组建开发手机联盟,共同研发、改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android 的源代码,也就是说Android系统是完整公开并且免费的,Android系统的快速发展,也与它的公开免费不无关系。
随着Android系统的迅猛发展,它已成为全球范围内具有广泛影响力的操作系统。它不仅仅是一款手机操作系统,它还广泛的被应用于平板电脑、电视、数码相机、可佩戴设备,这也造就了目前Android开发人才需求的快速增长。
从2007年11月5日谷歌公司正式向外界展示了这款名为Android的操作系统至今,Android已经经历了多个版本的更新,如今Android 7.0的相关新闻也层出不穷,这意味着新版本即将到来。
1.2 主要技术
1.2.1 Eclipse集成开发环境
Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java 语言开发,通过安装不同的插件,Eclipse可以支持不同的计算机语言,比如Python 和C++。Eclipse本身只是一个框架平台,但是有了众多插件的支持,使得Eclipse 具有很高的灵活性,许多软件开发商都以Eclipse为框架开发自己的IDE。
Eclipse的插件机制是轻型软件组件化架构。Eclipse所有的附加功能都是由插件提供的,例如支持Java以外的其他语言。已有的分离的插件已经能够支持Ruby、Python、Perl、C/C++、telnet和数据库开发。插件架构能够支持将任意的扩展加入到现有环境中,而决不仅仅限于支持各种编程语言。
Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。
1.2.2 Android技术
Android是基于Linux的自由且开放源代码的操作系统,主要用于便携设备,如平板电脑、智能手机。其系统架构采用了分层的架构,从底层到高层分别是Linux内核层、系统运行库层、应用程序框架层和应用程序层。
Android开发四大组件分别是:活动(Activity):用于表现功能。服务(Service):后台运行服务,不提供界面呈现。内容提供商(Content Provider):支持在多个应用中存储和读取数据,相当于数据库。广播接收器(BroadcastReceiver):用于接收广播。
1.2.3 SQLite
SQLite是一款轻型的、遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经有许多嵌入式产品在使用它,在嵌入式设备有限的资源中,它仅需几百K的内存空间。它支持Windows/Linux/Unix等主流操作系统,同时还能够跟很多主流的程序语言相结合,比如Java 、C#、PHP等,还有ODBC 接口。比起PostgreSQL、Mysql这样的著名数据库管理系统来讲,它的处理速度毫不逊色。
1.3 论文的主要研究内容
本课题将实现一个Android平台的记账应用,它为手机用户提供了丰富的功能,便于管理生活中一些理财的问题。具体的研究内容如下:
(1)介绍实现系统的主要技术,包括Android技术、SQLite数据库。
(2)使用Android技术开发记账软件。
(3)分模块实现该软件的每个子模块和UI交互。
1.4 本章小结
本章简要介绍了本次课题研究中应用的主要技术以及开发工具,也就是为什么要选择它们的原因。其中包括开发所使用的Android技术以及用于建立数据库的SQLite数据库管理系统,在接下来的开发中均会使用到这些技术与工具。
2 分析与设计
2.1 需求分析
在软件生命周期中,其他阶段都是面向软件技术方面的,只有本阶段是面向用户的。需求分析是对用户的业务活动进行分析的,以便确定在用户的业务环境中软件系统需要“做什么”。
软件需求包括两部分:功能性需求和非功能性需求。虽然功能性需求是对软件系统的一项基本需求,但却并不是唯一的需求。除功能性需求外,软件质量属性的特性,称为系统的非功能性需求。这些特性包括:系统的易用性、执行速度、可靠性,处理异常情况的能力与方式等。在决定系统的成功或失败的因素中,满足非功能性需求往往比满足功能性需求更为重要。
有研究表明,客户对系统的不满意很多因素是因为设计者没有与客户进行良好的沟通而造成的,所以编写需求分析报告要求无歧义性、完整性、可验证性、一致性、可追踪性、运行和维护阶段的可使用性。下面是在我们经过调研后得出的客户需求:
(1)明细界面:显示当前年、月、周、日的收支情况,提供“流水明细”“记一笔”按钮进入对应的功能模块。
(2)钱包界面:管理用户的账户,如现金、支付宝、借记卡、信用卡,查询剩余金额,还可进行转账功能。
(3)报表界面:按时间、分类型地对用户的收支情况进行统计分析。
(4)更多界面:可以设置软件密码,只有密码正确了才能进入该系统,否则无法操作账本内的数据,还有清空数据的功能。