个人记帐软件系统设计.docx
- 文档编号:24731377
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:19
- 大小:246KB
个人记帐软件系统设计.docx
《个人记帐软件系统设计.docx》由会员分享,可在线阅读,更多相关《个人记帐软件系统设计.docx(19页珍藏版)》请在冰豆网上搜索。
个人记帐软件系统设计
个人记帐软件
PersonalAccountingSoftware
系统设计
北京菲易博思技术有限公司
2010年5月
背景
随着经济的飞速发展,Money已经在人们的心目中发生了翻天覆地的变化,一分钱掰成八瓣花的日期早已成为上一代人的记忆,现在的八零后,甚至九零后,关心的问题是如何更有效的花钱。
在西方欧美国家,财务管理(FinancialManagement)已经成为常识,更兼有强大的金融工具,使得对于Money的管理得心应手。
而国内的情况却几乎一片空白,几乎所有和财务相关的东西,似乎都和企业有关,而和个人无关。
当然,西方欧美国家在金融领域已经实现了高度发达的电子货币,人们可以非常方便的记录自己的日常开支,所需要的仅仅是进行汇总和分析而已。
而在国内,日常琐碎的收支账目记录本身就是一项非常繁杂的工作。
但是财务管理的基础工作,却无法离开日常这些数据的录入。
随着手机在国内的普及,采用手机这种随身工具进行数据录入,可以大大增加个人财务管理的可行性。
市场分析
2009年中国手机用户净增1亿,达到7.4亿的规模。
而2012年时,北美的智能手机用户将超过传统手机用户。
所以保守估计,中国的智能手机用户有1亿。
需求分析
个人财务管理(PersonalAccountingSoftware,PAS)是一款运行于智能手机平台的面向个人、家庭以及团体,提供资金支出的日常记录、共享、统计等财务管理功能。
软件的用户是指除了企业以外的资金支出实体,比如个人、家庭或者团体。
这些用户在进行资金支出行为时,由于缺乏有效的计划手段,会导致大量的不合理支出,从而产生资金浪费。
对于个人而言,资金的浪费会导致个人计划往往无法得到实现,日久天长会对个人的生活、事业产生严重的影响。
而对于家庭用户和团体用户而言,除了产生大量不合理支出以外,还会导致家庭、团体成员之间产生矛盾,从而影响到团体的整体利益。
软件的功能注重于对资金支出的管理,包括录入、查询、统计等。
对于家庭和团体用户,还能够将团体成员之间的数据进行步和合并(通过蓝牙等方式),或者能够在一个团体成员进行操作时,通过短消息(SMS)等方式对其他成员进行实时通知。
软件对资金支出管理是按照“项目”来进行管理的。
用户一般需要维护一个五个左右的项目,比如交通、通信、服装、学习、伙食等等。
每一项费用的开支,都应该纳入到一个项目中。
对用户而言,还可能存在有多个账本的需求。
例如对于个人的开支,需要有一个个人账本;而和一同租房的朋友的共同开支,则需要有一个住房费用账本;在上班午餐时,又因为和同事一起吃饭,而需要维护一个吃饭的账本。
用户功能列表:
1、账本的增、删、改;
2、账本的数据导入、导出;
3、账本的共享
4、账本的同步合并;
5、帐目的录入、修改、删除及查询功能;
6、项目的管理功能;
7、费用统计功能;
系统概要设计
软件结构和功能
系统结构为模块化结构,按照功能模块进行模块划分。
整个系统的功能分为:
账本管理、账目管理、项目管理和报表管理。
帐本管理
账本管理模块实现了如下功能:
1、账本的增、删、改;
2、账本的数据导入、导出;
3、账本的共享;
4、账本的同步合并;
帐目管理
账目管理模块实现了如下功能:
1、帐目的录入、修改、删除及查询功能;
项目管理
项目管理模块实现了如下功能:
1、项目管理功能;
报表管理
报表管理模块实现了如下的功能:
1、费用统计功能;
费用统计是按照项目进行统计的。
一个项目的总费用,就是包括它的所有费用支出的费用的总和。
数据结构
软件的数据包括:
账本、共享联系人、项目和帐目。
它们之间的关系如下图所示:
每个帐目可以有多个共享联系人;
每个账本有多个项目;
每个项目属于一个账本;
每个账本有多个帐目;
每条帐目属于一个账本;
每条帐目都对应一个账本内的项目,或者不对应任何项目(未分类项);
账本
系统可以创建账本数量取决于系统的处理能力,理论上没有限制。
每个账本的信息包括名称、帐期和开始日期。
账本的名称最长为255个字符;账本的帐期最大为200。
账本可以增加、删除和修改。
账本数据可以修改其名称、帐期和共享信息,操作频率很低。
由于账本数据的特点(任何帐目、项目数据都属于某个账本,操作频率很低),账本数据可以用文件系统的文件名来表示。
一个文件可以存储一个账本的数据,包括该账本的项目、帐目信息,和该账本本身的信息(帐期、开始日期和共享信息)。
账本文件的开始位置包括四个信息,标志位、版本、开始日期和帐期。
标志位用于表示该文件为系统账本文件,用三个字节表示,内容为“PAS”。
版本用两个字节表示;帐期用一个字节表示,开始日期用两个字节表示。
账本的信息共占用了3+2+1+2=8个字节的空间。
开始日期的值是从2000年开始,按月计算的值。
比如开始日期为2010年5月,则开始日期的值为125。
共享联系人
每个账本可以有10个共享联系人。
每个共享联系人的信息包括:
名称、手机号。
名称的最大长度为16个字符,手机号的长度为16位字符。
每个共享联系人占用32个字节,10个共享联系人共占用320字节。
项目
每个账本最多可以创建20个项目,每个项目的信息包括名称。
项目名称最长为16个字符;项目数据可以增加、删除和修改。
项目数据可以修改其名称,操作频率略高于账本数据。
项目数据共占用了16×20=320字节。
帐目
帐目数据包括日期、金额、说明和项目。
帐目的信息可以按帐期分成不同的帐期帐目。
首先按照帐期帐目建立一个索引块。
索引块的数量就是账本帐期的值。
帐期帐目索引块的索引项包括:
索引号,位置。
比如第一个帐期帐目的索引号为0,第二个帐期帐目的索引号为1。
索引号最大值是账本帐期,用一个字节表示;
位置用三个字节表示,最大可表示16777215字节。
例如对于一个12个帐期的账本,其帐期帐目索引块的大小为:
帐期×索引号×位置=12×1×3=48字节
每个帐期帐目包括:
日期、金额、说明和项目。
日期只是表示日,年和月通过账本的开始日期以及账本帐期的索引号获得,用一个字节表示。
金额由三个字节表示,前两个字节表示整数部分,后一个字节表示小数部分。
项目是一个项目的位置号,用一个字节表示。
说明是一个以0结尾的变长字符串,最长是255字节。
所以,一个帐期帐目的长度在6-260字节范围内。
如果每个帐期帐目的数量为1000条(平均每天为30天),则每个帐期帐目的存储量约为130×1000=130000字节。
如果有12个帐期,则存储量约为1560000字节。
帐目数据可以增加、删除、修改和查询。
帐目数据可以修改其日期、金额、说明和项目,并可按照日期、金额、说明或者项目进行查询,操作频率较高。
增加的操作尤其高。
对于删除帐期帐目,或者修改帐期帐目的说明,由于帐期帐目数据是顺序存取的,所以会使得速度变慢。
修改的位置越靠前,修改操作费时越长(需要修改的部分越多)。
所以,在实现时,只允许修改或删除最近一个帐期帐目的信息。
用户UI
从Android被人们迅速接受来看,用户UI是手机应用的最重要的关键点之一。
软件除了在功能设计上贴近用户需求以外,还必须在用户UI上更人性化。
账本管理、帐目管理、项目管理、报表管理各自需要一个Form。
账本管理
帐目管理
项目管理
报表管理
运行平台
软件运行在智能手机上,例如支持WindowsMobile的多普达智能手机,或者支持Symbian的诺基亚手机。
手机特点
手机又成为移动设备,具有以下的特点:
1、一个小的屏幕,能显示有限的字符;
以BlackBerry7100Series手机为例,其屏幕为240×260像素,点距为0.168毫米。
以大小为9像素的字体为例,全屏幕可以显示624个字符,312个汉字。
2、处理器速度慢;
以BlackBerry7100Serial手机为例,其处理器主频为50MHz。
3、无线网络连接比起有线网来有很大的丢包率;
以中国移动EDGE(2.5G)网络为例,平均带宽约80-100Kbps,平均丢包率约10%-20%。
4、很少的内存空间;
以BlackBerry7100Serial手机为例,其内存为32M的Flash,4M的SRAM。
5、电池的电量是有限的;
一般手机的电池电量为几千毫安小时,可使手机连续运行数十个小时。
手机输入方式
手机的输入方式,主要包括有键盘、滚轮、轨迹球、触摸屏,最新的Android还提供平衡感应,没有统一的标准,但有一定的规律。
键盘一般包括有一组快捷按钮(如拨号、挂机等),一个用于输入电话号码的数字按钮,用于输入字符的字母按钮(有时和数字按钮复用)。
通过滚轮、轨迹球等输入方式,可以提供纵向和横向的滚动输入信息。
触摸屏的输入方式是近期比较流行的输入方式,提供了除了位置以外,包括轻按、点击、滑动等操作的输入方式。
Google的Android手机,还提供了平衡感应的输入方式,可以通过改变手机的状态(横向、纵向)来输入信息。
通过这种方式,应用程序可以得到手机的状态数据,可以得到手机的不同状态,例如震动、倒置、平放等等。
数据存储
手机系统对于信息的存储方式,分为两种:
永久存储和临时存储。
永久存储方式存储的信息,在手机断电之后仍然保存。
而临时存储的方式,只适应于开机状态下的信息存储。
手机采用的永久存储方式,主要是Flash技术;临时存储技术,主要是SRAM技术(DRAM技术集成度较低)。
传统手机注重于通话功能,只需要搭载1~2M的SRAM存储,8M的Flash存储即可实现。
智能手机需要搭载16~32M的SRAM存储和64~128M的Flash,可以达到最基本的音乐播放等功能。
而要实现更高级的功能,除了需要搭载32~64M的SRAM和128~256M的Flash以外,还需要支持外置存储卡。
开发平台
目前的手机市场充满了变数。
在移动设备提供商(朗讯、西门子、华为、中兴等)、移动终端设备提供商(诺基亚、摩托罗拉、三星等)、移动运营商(T-Mobile、沃达丰等)各领风骚之后,一场针对手机操作系统的争夺战已经展开。
目前手机操作系统包括有:
Symbian,iPhoneOS,BlackBerryOS,Microsoft公司的wPhoneOS,Android等等。
Sybmian系统由Nokia提供,目前拥有60%的市场份额。
由于是2G时代的产品,所以存在性能不高的缺点,功能也不是最强的。
iPhoneOS是由苹果公司推出的,拥有非常优秀的用户体验界面,即使在性能不高的CPU上依然能够有良好的表现。
BlackBerryOS,是由ResearchMotion开发的,起初面向邮件管理的系统,拥有完善的企业化解决方案,是最为安全和完善的企业移动解决方案。
wPhoneOS,由微软公司推出的手机操作系统,由原先的WindowsCE、PocketPC2000和之后的WindowsMobile演进而来。
由于受到Windows操作系统的禁锢,这个手机操作系统的发展一直不顺,市场份额也连续下滑。
Android,由Google推出的,基于Linux的一套开源手机操作系统。
其注重娱乐性和用户体验。
基于手机操作系统运行的软件开发,由于手机操作系统的多样化,同样充满了很多的变数。
风险最小的方式,是采用跨平台的J2ME作为开发平台。
J2ME是为机顶盒、移动电话和PDA等嵌入式设备提供的Java语言平台,包括有虚拟机和一系列的JavaAPI。
J2ME的架构分为Configration、Profile和OptionalPackages。
Configuration主要是对设备纵向的分类,目前已经形成的规范包括CLDC和CDC。
Profile建立在Configuration基础之上,一起构成了完整的运行环境。
它对设备进行横向分类,针对特定领域细分市场,内容主要包括特定用途的类库和API。
CLDC已经标准化的profile有MIDP和IMP。
OptionalPackages独立于前面两者提供附加的、模块化的和更为多样化的功能。
目前标准化的可选包包括数据库访问、多媒体、蓝牙等。
开发J2ME程序一般不需要特别的开发工具,开发者只需要装上JDK以及下载免费的SunJavaWirelessToolkit,就可以开始编写、编译和测试J2ME程序。
J2ME提供了LWUIT,一个轻量级的UI实现。
该包中包括了Form、Label、Button、RadioButton、CheckBox、ComboBox、TabbedPane、TextArea、TextField、Calendar、Tickering、Table、Tree、Dialog、Layout、Themes、Transitions、Animations等组件和手段,可以实现对界面的灵活实现。
采用J2ME开发的应用软件,称为MDIlet。
软件安全
软件的安全包括几个方面,如加密、签名、授权。
对于Java代码的加密一直是个难题,更兼手机上环境有限,不适宜采用一些PC上的方式来进行软件的加密。
所以在软件的加密方面,不做考虑。
MIDP2.0提供了签名的方式,可以对软件进行签名。
用户授权是指软件只能让某个用户使用,而不允许被未授权的用户使用。
软件可以通过SIM卡的手机号来对用户身份进行鉴别。
软件的授权为帐期,帐期的单位为月。
帐期被分配到所创建的账本中。
购买帐期需提供的信息包括:
用户信息,比如姓名、手机号;
帐期信息,现有的帐期,需要的帐期;
软件收费
帐期的费用为1元/每帐期。
用户可以为账本的帐期延长帐期。
例如现有的帐期为6个月,只需再付6元,即可将帐期延长至12个月。
这个时候,购买资料中应该有用户现有的注册码。
软件安装
MIDlet可以通过空中下载(OverTheAir,OTA)的方式进行安装。
软件市场推广
软件主要针对国内用户,但国内的一些智能手机用户也会通过国外的一些网站进行应用购买软件,例如AppStore。
国内用户的人均收入低,帐期价格定位在1元人民币/每帐期。
国外用户的人均收入高,软件价格定位在0.5美元/每帐期。
推广的渠道包括有:
1、通过Internet进行软件推广;
2、通过网上软件商店进行推广,需要和商家分成;
3、通过和手机绑定的方式,进行推广。
需要和商家分成;
系统详细设计
账本管理
账本管理包括了增加账本、修改账本和删除账本的功能。
以及导入、导出、合并账本的功能。
账本信息包括:
账本名称、账本帐期、开始日期。
增加账本
增加一个新账本到系统中。
过程:
1、显示新账本录入窗口;
2、用户录入新账本信息;
3、检查录入信息是否准确、完整;
4、检查账本是否已经存在;
5、根据用户录入的信息创建一个新账本。
删除账本
从系统中删除一个已存在的账本。
过程描述:
1、显示系统的已有账本列表;
2、用户选择要删除的账本;
3、警告用户删除账本列表;
4、删除账本数据;
修改账本
修改系统以后账本的信息。
1、显示系统已有的账本列表;
2、用户选择要修改的账本;
3、显示用户所选择账本的现有信息,包括账本名称,账本帐期,账本开始日期、共享联系人;
4、用户录入新的账本信息;
5、根据用户录入的新的账本信息,修改账本的现有信息。
导入账本
将外部文件中的账本信息导入到某个账本中。
1、显示系统已有的账本列表;
2、用户选择要导入的账本;
3、用户选择需要导入的外部文件;
4、导入文件中的帐目信息到所选择的账本中。
导出账本
将账本中的帐目信息导出到外部文件中。
1、显示系统已有的账本列表;
2、用户选择要导出的账本;
3、用户选择需要导出的外部文件;
4、导出账本中的帐目信息到外部文件中。
账本合并
将两个账本的信息合并到一个账本中。
合并原则:
日期、金额,用户可以定制合并规则。
1、显示系统已有的账本列表;
2、用户选择要合并的目标账本;
3、用户新廁要合并的源账本;
4、将源账本中的数据合并到目标账本中。
项目管理
增加项目
增加一个项目到一个账本中。
1、输入新的项目名称;
2、将新的项目增加到所选择的账本中。
删除项目
从账本中删除项目。
1、用户选择要删除的项目;
2、将所选择的项目从该账本中删除。
修改项目
修改账本中的项目名称信息。
1、用户选择要修改的项目;
2、用户录入新的项目名称;
3、更改原有的项目名称为新的项目名称。
账目管理
查询帐目
根据日期、金额、说明和项目对账本帐目进行查询。
1、用户选择账本;
2、用户输入帐目日期条件,按日,按月,所有;
3、用户录入帐目金额条件,大于,小于;
4、用户录入帐目说明关键字;
5、用户录入帐目项目条件;
6、用户录入显示页;
7、根据用户选择的显示页和每页显示的的帐目行数,计算起始位置;
8、按照用户录入的条件,对账本帐目进行查询,返回结果集。
该功能在实现时,变为点击标题时,按标题重新排序。
增加帐目
增加一个帐目。
1、用户录入新的帐目信息,包括日期、金额、说明和项目;
2、将该新帐目的信息保存到系统中。
删除帐目
1、用户选择需要删除的帐目信息;
2、将该帐目的信息从系统中删除。
修改帐目
1、用户选择需要修改的帐目信息;
2、显示该帐目的原有信息,日期、金额、说明和项目;
3、用户录入新的帐目信息,日期、金额、说明和项目;
4、根据用户录入的新的帐目信息,修改该帐目的原有信息。
报表管理
帐目分布图
显示一个帐期内的帐目汇总情况,按项目进行分组,饼图显示。
1、用户选择账本;
2、用户选择帐期;
3、统计该帐期内帐目的汇总,按项目进行分类汇总;
4、按饼图显示汇总结果。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 个人 记帐 软件 系统 设计