基于javame的手机版家庭理财助手的设计与实现.doc_第1页
基于javame的手机版家庭理财助手的设计与实现.doc_第2页
基于javame的手机版家庭理财助手的设计与实现.doc_第3页
基于javame的手机版家庭理财助手的设计与实现.doc_第4页
基于javame的手机版家庭理财助手的设计与实现.doc_第5页
已阅读5页,还剩120页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业论文(设计) 基于 Java ME 的手机版家庭理财助手的 设计与实现 2012 年 05 月 21 日 I 摘 要 现今社会,随着人们的理财观念不断增强,尤其是家庭理财观念的提高、家庭理财 助手需求的增加,传统的网上的理财方法不是在纸上做账目就是在电脑上记录收支状况, 数据繁琐且准确性不高。同时,由于电脑本身的重量与个人生活消费水平的不同,电脑 无法随时随地的为人们的理财提供方便,使得网络上的一些家庭理财工具不能满足人们 的需求,因此,很多手机版家庭理财工具软件应运而生。 基于 Java ME 的家庭理财助手软件的论文采用自顶向下的结构化的软件分析方法, 阐述了基于Java ME 的家庭理财助手软件的开发过程、操作流程及其一些核心的技术。 首先进行了项目概述,简单介绍了项目开发的背景、项目开发的目的和项目开发的意义; 接下来是软件规划阶段,通过实际的业务流程调研,分析了软件的组织结构,具体完成 了基于 Java ME 的家庭理财助手软件的需求分析、可行性分析、现行业务流程分析,并 通过对现行业务流程的优化,得出了软件的业务流程;之后是软件分析,具体完成了数 据流分析和数据字典;软件设计阶段主要完成了功能模块的划分、数据库的设计和软件 界面设计。该阶段对各个模块的功能进行了详细设计,形成了本软件的功能模块图,在 此基础上选择了合适的开发模式;数据库的设计先进行了概念结构设计,之后进行了逻 辑结构设计,最后完成了数据库的整体设计。 此家庭理财软件实现了添加支出、添加收入、查询记录的功能,另外,软件 还可以进行密码设置及财务计划和帮助文档的显示。 不受信息源和用户访问位置的 限制,更简单,更易用,更便捷,让人们随时随地轻松理财。 关键词: 家庭理财;Java ME;系统建模 II Abstract Nowadays the society, as peoples growing financial management idea, especially family financial management idea, the improvement of the family financial assistant to increased demand, the traditional online financial method is not on paper accounts do on the computer is record payments, data trival and accuracy is not high. At the same time, because of the weight of the computer itself and personal life consumption level is different, the computer cant at any time and place for peoples financial management to provide convenient, enabling the network on some of the family financial management tool cant satisfy peoples needs, so a lot of mobile phones family financial tools software version came into being. Based on Java ME family financial assistant software paper using the top-down structured software analysis method, this paper expounds the based on Java ME family financial assistant software development process, operation process and some of the core technology. The first description of project, introduced the project development background, the purpose of the project development and the significance of developing project; The next stage of planning is software, through the actual business process of the investigation and research, analyzes the software structure, and the specific completed based on Java ME family financial assistant software needs analysis, feasibility analysis, the current business process analysis, and through to the current business process optimization, it is concluded that the software business process; After the software analysis, specific completed the data flow analysis and data dictionary; The software design phase is completed the function module and database design and software interface design. This phase of the function of each module of the detailed design, formed the software function module chart, on the basis of the choice of appropriate development mode; The first database design the concept structure design, on the logical structure after design, finally completed the overall design of database. The family financial management software realize the added spending, adding income, inquires the function of the record, in addition, the software can also carry on the password set and financial planning and help documents show. From information sources and users access to position the limit, the more simple, are more likely to use, more convenient, let people easily finance anywhere at any time. Keywords:Family Financial Management,Java ME,System Modeling III 目 录 1 引 言.1 1.1 研究背景1 1.2 目前手机开发现状1 1.3 目前手机理财软件的对比分析4 1.4 论文组织结构5 2 需求分析7 2.1 系统分析7 2.2 软件实现的功能目标 .8 2.2.1 流水记账模块9 2.2.2 查询记录模块.10 2.2.3 财务分析模块.11 2.2.4 密码设置模块.11 2.3 非功能需求分析 11 2.4 可行性分析.11 2.5 手机版家庭理财软件的界面设置:.12 2.5.1 手机版家庭理财助手的首页 12 2.5.2 输入密码界面 12 2.5.3 功能模块的首界面 13 2.5.4 输入支出类别的管理界面.14 2.5.5 输入收入类别管理界面.14 3 系统设计 16 3.1 系统总体设计原则.16 3.2 系统设计思想及框架.16 3.3 数据库的逻辑设计.17 4 软件的详细设计 19 4.1 软件系统实现的关键点.19 4.1.1 类结构的定义.19 4.1.2 事务处理机制.19 4.2 数据查询的算法分析.20 5 软件测试 22 5.1 软件测试的定义及相关概念 22 IV 5.2 软件测试的目的及意义 22 5.3 软件测试的重要性 23 5.4 软件测试常用的方法 23 5.5 测试的用例图及测试结果 24 6 结论.26 参考文献 27 致 谢 28 1 1 引 言 1.1 研研究究背背景景 20 世纪 80 年代末以来,计算机网络和通信技术的迅速发展,使得信息软件 进入网络化的发展时期,世界上许多发达国家已建立起了完善的先进的管理信息 软件体系,在其社会经济发展领域中发挥着巨大的作用。 在信息化的当今社会,人们无时无刻都是在与信息打交道,报纸、广告、电 视传播、互联网等都是信息的大众化载体,人们简直生活在“信息海洋”中。众 多信息的取舍以及如何将这些有用的信息存储起来避免忘记或丢失,如何对有 用信息进行有序地组织、管理?这正是信息管理软件所要解决的问题。 进入 21 世纪以来,无所不在的计算将打破传统意义上的计算机概念:使用 更方便、移动更容易、功能更多样化的各种具有计算机功能的设备大量出现, 并且在需要时,可以随时通过无线方式连接到移动数据通信 网络中,以便高效地 交换信息和获得各种服务。这种设备人们称之为移动设备(Mobile Device)。移 动设备最根本的特征是移动性,即能够利用无线电波、微波或红外线等传输介 质允许通信中的设备在一定范围内自由移动,其位置不受束缚,从而实现通信 双方至少有一方在移动中进行信息传输和交换的目的。移动设备从产生到现在 的历史并不长,然而其发展速度却远远超出人们的预料。 随着 3G 通信、智能手机等新的移动技术的发展,手机的使用范围越来越广 , 全球有超过十亿部移动电话正在被使用,并且这个数目正在逐渐增加 。因此,在 移动设备上开发各种应用程序也逐渐受人青睐。移动互联网蕴藏的巨大商机以及 嵌入式开发的神秘色彩使得越来越多的人开始学习和研究移动开发技术。 随着智 能手机越来越多,人们普遍有了用手机进行娱乐,工作理财等观念,而手机本 身技术的进步,也给基于Java ME 的软件提供了很好的运行平台。 1.2 目目前前手手机机开开发发现现状状 在信息社会中,手机及其他无线设备越来越多的走进普通百姓的工作和生 活,随着信息网络化的不断进展,手机目前作为一种重要的信息处理工具,已经 成为一种重要的软件运行平台。 目前,出现的手机操作系统有很多,微软 WM6、WM7 系统,主流版本6.5、 谷歌 Android 系统,主流版本2.2、塞班 S60V5,S60V3 以及 Symbian3、Java 非 智能系统、三星 bada 系统等等。手机软件开发所用的主流语言是Java 和 C 语言。 其中,Android 系统和 Java ME 是主流的手机开发平台。安卓平台和Java ME 平 2 台存在很多的差异:其中,Java ME 是 SUN 公司针对嵌入式、消费类电子产品 推出的开发平台,与J2SE 和 J2EE 共同组成 Java 技术的三个重要的分支。Java ME 实际上是一系列规范的集合,由JCP 组织制定相关Java Specification Request(JSR)并发布,各个厂商会按照规范在自己的产品上进行实现,但是必须 要通过 TCK 测试,这样确保兼容性。比如MIDP2.0 规范就是在JSR118 中制定 的。Java ME 平台是由配置(Configuration)和简表(Profile)构成的。配置是提供给 最大范围设备使用的最小类库集合,在配置中同时包含Java 虚拟机。简表是针 对一系列设备提供的开发包集合。在Java ME 中还有一个重要的概念是可选包 (Optional Package),它是针对特定设备提供的类库,例如:某些设备是支持蓝牙 的,针对此功能Java ME 中制定了 JSR82(Bluetooth API)提供了对蓝牙的支持。 目前,Java ME 中有两个最主要的配置,分别是Connected Limited Devices Configuration(CLDC)和 Connected Devices Configuration(CDC)。他们是根据设 备的硬件性能进行区分的,例如处理器、内存容量等。 下面给出的是Java ME 的 体系结构如1-1 所示。 图 1-1 Java ME 体系结构图 图 1-1 定义了在 Java ME 环境中设备的系列和类别之间的关系。Java ME 技 术在一个完整的应用程序运行模型中定义了这种模块性和可伸缩性,在该模型 中的 4 个软件层都构建在设备的主机操作系统上。Optional Packages(可选包): 可选包独立于前面两者提供附加的、模块化的和更为多样化的功能。目前标准 化的可选包包括数据库访问、多媒体、蓝牙等等;Profiles(框架层):框架层定 义了特定系列设备上可用的应用程序编程接口(API)的最小集。框架在一个特定 的配置上实现。应用程序是针对特定框架编写的,因此可以移植到支持该框架 Optional Packages Profiles Configurations Java Virtual Machines Host Operationg System 3 的任何设备上。一个设备可以支持多个框架,是用户和应用程序供应商看到最多 的层;Java Virtual Machines (虚拟机层):是Java 虚拟机的一个实现,它是为 特定设备的主机操作系统定制的,而且支持特定的Java ME 配置(configuration)。 Configurations(配置层):配置层定义了Java 虚拟机功能上和特定类别设备 上可用的 Java 类库的最小集。从某种程度上说,一个配置定义了Java 平台功能 部分和库的共同性,开发者可以假设这些功能部件和库在属于某一特定类别的 所 有设备上都是可用的。MIDP(mobileinformationdeviceprofile)层:移动信息设备 框架。是 JavaAPI 集合,它处理诸如用户界面、持久存储和联网等问题。 而 Android 采用了软件堆层(software stack,又名软件叠层)的架构,主要分 为三部分:低层以Linux 核心工作为基础,只提供基本功能,其他的应用软件则 由各公司自行开发,以Java 作为编写程式的一部分。结构如图 1-2 所示。 HomeContactsPhone Browser Activity Manager、Content Providers、Telephony Manager、Location Manager Media 框架库、FreeType Display Driver、Bluetooth Driver 图 1-2 Android 平台结构图 另外,为了推广此技术,Google 和其它几十个手机公司建立了开放手机联 盟(Open Handset Alliance)。Android SDK 提供了在 windows/Linux/Mac 平台上 应用的开发组件,即无论什么样的平台都可以开发出Android 应用软件,其中包 含了在 Android 平台上开发移动应用的各种工具集。它不仅包括了Android 模拟 器和用于 Eclipse 的 Android 开发工具插件(ADT),还包括了各种用来调试、 打包和在模拟器上安装应用的工具发方式相比,Java ME 技术是使用比较普遍的 一种技术,下面就对这些技术进行一些简单的比较。Java ME 技术最大的优势是 移植性强7。使用 Java ME 技术开发的程序,可以经过简单的修改以后,在不同 厂商的手机上运行。另外,由于 Java 语言自身的特点,和系统的关联不大,所 以开发速度很快;程序的开发周期比较短;技术入门快由于Java 语言相当的普 及,而对于有一定Java 语言基础的人来说,学习Java ME 技术的门槛很低,所 运行核心库、Dalcik 虚拟机 4 以 Java ME 技术的普及速度很快。所以,此手机理财软件采用的以Java 语言为 基础的 Java ME 的开发平台。 1.3 目目前前手手机机理理财财软软件件的的对对比比分分析析 目前,流行的理财软件有财智手机理财软件、91 理财、金蝶随手记等等理 财软件,其中,91 理财软件的主要功能有: 1 集中统一管理所有帐户:将现金、储蓄、贷款、房产、股票、基金、债 券、保险、理财产品、黄金、收藏品、家居物品、汽车、保险等各种帐户进行 统 一管理。 2 自动更新股票价格:自动更新股票收盘价格,让您对投资状况一目了然, 不再需要每天手工查找和录入股票和基金数据。 3 让你获得更高的投资回报:强大的投资工具可以帮助你确定的投资目标, 优化投资组合,让投资收益最大化,获得更高的回报。 4 财务规划,规划未来:国际领先的家庭财务规划理念,帮助您规划购买 住房、健康医疗费用、子女教育金、退休养老费用等,从而创造未来幸福生活。 5 检查你的净资产状况:通过资产负债分析,跟踪你的全部资产组合。通 过资产收益报表和图表,更深入了解您的投资状况。 6 强大的统计分析图表:对收支、投资行为进行全方位、多角度分析,帮 助你发现财务问题以及更好的解决问题等诸多功能。 财智理财的主要功能有: 1 规划功能:分析房地产投资、车辆保险、人寿保险、外汇投资等家庭理 财需求,并提供相应的投资建议报告 。 2 新增功能:增加了首页和中心界面的定制功能,提供固定资产、收藏品等 的买卖均价、盈亏、存量估值等功能,并通过按揭资产与债权债务账户关联来 管 理重大资产,新增了非上市债券的管理功能。 3 增加了数据导入、导出的功能,增加了系统本币的设置,对账簿进行整理、 恢复、按指定日期结算,改变了备份账簿格式,并增加了备份账簿的恢复功能 。 4 账户注销功能 :增加了账户注销功能。 5 开放式基金管理:记录开放式基金交易活动,管理和掌握开放式基金余 额和盈亏,管理和掌握外汇的买卖情况,自动生成多种统计图表(包括年度收支表) 便于分析统计,完善理财。 6 信息服务功能:通过互联网自动提供精选的个性化证券、银行、保险信 息,事务提醒等工具为工作生活提供方便。 7 财务计划:协助安排住房、子女就学等重大支出,管理各种形式私人借 款和资金往来; 5 8 资金管理:提供存款、信用卡、外币、保险保单及个人贷款等不同资产 针对性管理; 9 家庭帐簿:以账户为核心分类记录管理家庭收支,让日子过得更清楚明 白。 家财通理财软件是由专业的IT 及财务团队研究了国内外不下五十款财务软 件后推出的产品。功能上也和财智不相上下。实现的核心功能有: 1 日常收支、住房、汽车、物品、储蓄、保险、债权、债务、贷款、税务、 股票、基金、外汇、债券、房地产、收藏及其他投资。 2 增值功能:理财目标、财务计划、收支预算、事务报警、理财宝典、理 财计算器。 3 并有资讯时代不可或缺的在线服务:联网自动更新股票 /基金/外汇行情 与各种基础资料、银行交易记录联网下载自动导入记账。家财通对家庭投资与 财 务的管理更精细、更完善。 金蝶随手记的主要功能有: 1 随手记账免输入,直接选择已经给你内置好的常用选项就可以录入 。 2 账单拍照没空记账,不要紧赶紧拍张照片,回家后再回忆起来补账 。 3 图文报表随手记的报表可以随你的选择,自定义范围的为你显示数据 。 4 控制消费消费预算控制是随手记的杀手锏之一,通过预算控制你再也 不用担心每个月还款,每个月不够花的问题了。 5 数据同步(专业版)现在还在使用单机版未免太老土,随手记支持手 机记账,网站理财,换个手机都没啥,随时打开随手记输入帐号,数据手到擒来 。 6 随需而定 自定义报表,自定义分类,自定义帐户,你可以打造一个完 全属于自己的记账工具。 7 密码保护私人账单,当然需要保护,随手记提供了密码保护功能,个 人账本放心记录。 8 简单直观更直接的显示每日清单,每月清单,每年的清单。 9 一键清空账单记录的太繁杂,可以清空以前的以后记录一个更好的 。 10 预算提示预算超支,记账的分类下面会以红色的文字显示您超支的 数 量。 1 1. .4 4 论论文文组组织织结结构构 基于 Java ME 的手机版家庭理财助手软件的设计与实现主要包括六章内容, 具体概括如下: 6 第一章主要阐述基于Java ME 的手机版家庭理财软件的设计与实现这个课题 的研究背景,目前手机开发的现状以及社会上流行的几款理财软件实现的功能比 较,最后对本课题进行可行性分析。 第二章主要进行需求分析,包括对系统的分析,软件所实现的流水记账、 查 询记录、财务分析及密码设置功能模块的分析与设计以及非功能需求分析,最后 是对手机理财软件界面的设置。 第三章主要阐述了简单性、一致性、实用性等系统总体设计的原则,MVC 系统整体的设计思想的贯穿及整体框架的架构,最后阐述了RMS 记录管理系统 的逻辑设计与实现。 第四章主要是软件的详细设计,包括各个界面实现用到的类结构图及各类 之 间的继承关系,功能目标实现所触发的事务处理机制的逻辑设计。最后是对数据 查询功能实现的算法分析。 第五章是软件测试的相关问题,包括软件测试的定义及相关概念,测试的 目 的及意义,软件测试的重要性和方法,最后画出对每个功能目标实现的测试 后的 测试用例图,然后并总结出测试结果。 第六章是对手机版家庭理财软件的设计与实现的设计过程、功能目标及设计 的不足进行总结。 7 2 需求分析 2 2. .1 1 系系统统分分析析 在进行业务流程分析时,需要按照原有信息流动过程,逐个地调查分析所 有 环节的处理业务、处理内容、处理顺序和对处理时间的要求,弄清各个环节 需要 的信息、信息来源、流经去向、处理方法、计算方法、提供信息的时间和 信息形 态等。 业务流程分析可以帮助开发者了解该业务处理过程,发现和处理系统调查 工 作中的错误和疏漏。业务流程分析是通过业务流程图来进行,即用一些规定 的符 号及连线来表示某个具体业务处理过程。 数据流程是指数据在系统中产生、传输、加工处理、使用、存储的过程。 数 据流程分析是把数据在现行系统内部的流动抽象的独立起来,舍去了具体组 织机 构、信息载体、处理工具、物质、材料等,单从数据流动过程来考查实际 业务的 数据处理模式1。 数据流分析是今后建立数据库系统和设计功能模块处理过程的基础。描述 数 据流程的工具是数据流图以及其附带的数据字典、处理逻辑等图表。其中数 据流 程图是描述系统逻辑模型的主要工具,它以少数几种符号综合地反映出信 息在系 统中的流动、存储和传递。在业务流程分析的基础上,对数据流进行分 析,从数 据流动过程考察了实际业务的数据处理模式。现行的顶层数据流图如 图 2-1 所示。 家庭理财系统 用户 类别 支出 收入、支出列表 收入 图 2-1 顶层数据流图 8 P1 添加支出 P4 财务计划 D4 计划 信息 用户 支出信息 P2 添加收入 P3 明细查询 支出信息 收入 支出信息 计划信息 收入列表 支出列表 收入 收入信息 支出 收入 信息 D2 支出信息 图 2-2 第一层数据流图 首先,用户将支出信息通过手机客户端的添加支出菜单输入系统, 其中,支 出信息包括支出的类别例如电话费、水费煤气费等、支出的时间是在系统中有 选 项直接点击需要的年月日即可。同时,用户将收入信息添加到系统,其中,添加 的收入信息包括收入的类别如工资、奖金等、收入的时间和添加支出的时间 机制 是一样的。然后,对于用户添加的数据,有两种途径可以传送给用户,系统可以 将之添加到财务计划,通过财务计划将计划信息输送给用户, 也可以将数据通 过明细查询传送给用户。用户可以通过明细查询得到支出和收入的数据信息,也 可以通过财务计划的到支出和收入的数据信息。这是整个系统数据的输出输入流 向。 9 2 2. .2 2 软软件件实实现现的的功功能能目目标标 为满足人们家庭理财需求,基于 Java ME 的家庭理财助手软件主要有理财添 加记录模块、数据管理模块、数据分析模块、密码设置功能目标,对于本软件 (手机版的家庭理财助手软件),设计时计划大致实现的具体的功能 如图 2-3 所 示。 家庭理财软件 科目的设置流水记账财务分析密码设置 添加支出添加收入类别分析时间分析 图 2-3 功能模块图 2.2.1 流水记账模块 基于 Java ME 的家庭理财助手软件的流水记账模块主要实现了添加支出、收 入的功能,其中添加支出模块主要实现了用户在手机客户端添加支出的类别、 时 间及金额的功能,比如是税费、电话费等等。添加收入模块主要实现了用户在手 机客户端添加收入的类别、时间及金额的功能,添加支出功能的实现的系统流程 图 2-4 所示。 添加支出 支出类 别、时 间、金额 结束 数据记录管理系统 数据存储器 图 2-4 添加支出系统流程图 10 添加收入功能实现的系统流程图如2-5 所示。 添加收入 收入类 别、时 间、金额 结束 数据记录管理系统 数据存储器 图 2-5 添加收入系统流程图 用户通过的手机客户端将收入的类别、时间及金额触发事件处理机制,将 添加收入的信息保存到记录管理系统中。 2.2.2 查询记录模块 此模块主要实现了对输入输出数据进行查询的功能,包括收入记录和支出 记录,查询功能实现的系统流程图如2-6 所示。 查询支出/收入 显示数据 支出列表 收入列表 结束 记录系统管理器 图 2-6 查询记录系统流程图 用户通过手机客户端点击查询,选择类别后响应事件处理机制,将系统数 据库中存储的支出记录、收入记录数据传递给用户。 11 2.2.3 财务分析模块 实现了数据从的分类存储的功能,根据输入支出和收入的数据类别,将之 分类,并传递给用户数据。具体操作步骤为:家庭理财软件启动输入密码 确定财务计划显示财务计划内容。 2.2.4 密码设置模块 密码设置模块主要是在用户登录家庭理财软件时进行密码设置,提示输入 密码,如果密码输错,则提醒密码输入错误,请重输,然后自动返回重新回到密 码输入页面,重新输入密码进行登录。如果想修改密码,则在软件设置菜单中点 击修改密码项,提示输入旧密码,下面有输入新密码,确认输入新密码,点击完 成按钮,则密码修改成功,提示下次请用新密码进入。 2 2. .3 3 非非功功能能需需求求分分析析 非功能方面放入需求是用户针对系统提出如安全性、保密性、性能等方面 的要求: 1 要求手机用户能使用 PIN/密码 保护自己的手机、使用强壮的PINs/密码。 2 对存储在手机中的数据进行加密、在手机上安装安全软件,防护病毒和恶 意软件攻击、考虑开发智能手机安全,监控和管理方面的软件,如Juniper Networks for Windows Mobile, Symbian, iPhone, Android, 以及 BlackBerry。 3 有些智能手机可以被企业的权限管理系统管理和配置从而避免未经验证 的用户查看用户数据或防止认证用户私自拷贝或传送内部数据。随着智能手机的 普及,人们对软件在安全性保密性方面的要求也越来越高,这也 正是手机软件开 发需要考虑的问题。 2 2. .4 4 可可行行性性分分析析 可行性分析也称为可行性研究,是在调查的基础上,针对新软件的开发是 否具备必要性和可能性,对新软件的开发从技术、经济、社会等方面进行分析 和研究,以避免投资失误,保证新软件的开发成功。可行性研究的目的就是用 最小的代价在尽可能短的时间内确定问题是否能够解决。下面将分别从技术、 经济、社会三个方面对基于Java ME 的家庭理财助手软件的建设进行分析和研究。 12 目前,随着智能机的普及率越来越高,以及手机在技术上的进步,具备了基 于手机端的应用开发的基础,支持Java 运行环境的手机市场占有率在90%以上, 手机本身的运行环境也发生了很大的变化,所以,目前,在市场上大部分的手 机 都支持 Java 运行环境的情况下,选择Java me 作为开发平台满足技术可行性。各 种基于手机客户端的应用程序的普及,越来越多的手机游戏等娱乐软件受到人 们的欢迎,目前,人们已经普遍接受了通过手机娱乐、工作,当然用手机进行 理财比起电脑更方便,快捷。另外,本软件对用户的要求,不需要特别的技术能 力。使用软件的管理员,在投入使用前,无需对使用人员进行培训。这样既减少 投入成本又简化了操作环节。 本软件开发成本低,在经济上是可以接受的,并且本软件实施后可以显著 提高工作效率,有助于个人生日提醒管理。而且软件维护简单,实用性强,一 次性开发使用,即可长久使用,我们要做的只是把软件加载在移动通信设备上。 当软件满足不了用户需求时,只需对信息加以更新,对具体功能模块加以改进 完善。 由以上分析可知,本软件在技术经济及社会方面具有可行性。 2 2. .5 5 手手机机版版家家庭庭理理财财软软件件的的界界面面设设置置: 2.5.1 手机版家庭理财助手的首页 在手机模拟器 sun_java-wireless_toolkit-2-5-2 里打开项目,选择项目,自动 加载程序,然后单击运行选项,就会出现默认手机模型 DefaultColorPhone,选 择家庭理财助手按正中间的 OK 键,将会启动家庭理财助手软件。如图 2-7 所 示。 13 图 2-7 家庭理财助手的首界面 2.5.2 输入密码界面 单击确定按钮,启动家庭理财助手,进入设置密码,需要输入密码,同时界 面会出现退出和确定按钮,第一次可以随意设置你的密码,点击确定进入 家庭理 财工具的首页,下次登录此页面是需要输入相同的密码,否则,会提示密码输 入错误,直接返回密码输入界面。如图 2-8 所示。 图 2-8 输入密码界面 2.5.3 功能模块的首界面 输入正确的密码后,点击确定,即可登录到软件的首页, 如果输入密码错 误会提示“密码错误”请重新输入密码,直到输入正确的密码,模拟器中出现整 个设计的主界面,可以任意选择选项,点击确定后会跳转到你选择的界面,否 则可以选择退出按键直接退出界面。如图 2-9 所示。 14 图 2-9 软件首界面 2.5.4 输入支出类别的管理界面 单击添加支出,进入支出类别管理界面,输入电话费,车费等类别的支出 项目,界面的右软件出现了菜单选项,单击菜单会出现删除所有、添加、删除 三个选项,界面如图 2-10 所示。 图 2-10 输入支出类别界面 15 2.5.5 输入收入类别管理界面 单击添加收入菜单,进入添加收入类别管理界面,输入外快、工资等类别, 同时界面会出现类别列表,右软键上方会出现删除所有,添加和删除菜单选项, 用户可以通过按键选择是添加还是删除或删除所有的选项,界面 如图 2-11 所示。 图 2-11 添加收入类别管理界面 16 3 系统设计 3 3. .1 1 系系统统总总体体设设计计原原则则 本软件为了设计、实现和后期维护的方便,以及软件用户使用的便利,所 以必须采取一定的设计原则。其主要设计原则有: 简单性:在实现软件的功能的同时,尽量让软件操作简单易懂,这对于一 个软件来说是非常重要的。 针对性:本软件设计是基于Java ME 的家庭理财助手软件的需求定向开发 设计,所以具有专业突出和很强的针对性。 实用性:要求本软件能够满足基于Java ME 的家庭理财助手软件的需要,因 此具有良好的实用性。 一致性:界面整体设计风格以及命名规则的一致性:整体界面布局和用图用 色风格及变量、类名和其他元素的命名规则保持一致。功能一致性:完成同样 的功能应该尽量使用同样的元素。 元素风格一致性:界面元素的美观风格、摆 放位置在同一个界面和不同界面之间都应该是一致的。变量命名规则的一致性: 变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。 3 3. .2 2 系系统统设设计计思思想想及及框框架架 本软件的设计始终贯穿着MVC 设计思想,首先,模型(Model)是应用程 序的主体部分。模型表示业务数据,或者业务逻辑。其次,视图(View)是应 用程序中用户界面相关的部分,是用户看到并与之交互的界面 2。最后,控制器 (controller)工作就是根据用户的输入,控制用户界面数据显示和更新Model 对 象状 态。MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提 高了应用系统的可维护性。 软件整体的结构设计图如图3-1 所示。 17 添加支出收入 查询记录 财务计划 用户 收支 事件响应处理 View Controller Model 图 3-1MVC 设计框架图 在视图控制器模型的设计思想的指导下, 用户通过手机客户端输入的 支出和收入信息,包括支出和收入的类别、时间及金额等具体数据通过响应模块 向用户提供了支出收入信息。 查询记录模块是用户通过手机客户端对数据查询,有事件处理模块响应向 用户提供详细的查询记录,包括收入记录和支出记录。 财务计划模块通过控制机 制的响应处理向用户显示支出收入列表及财务计划的详细内容。 本软件系统实现了用户通过手机客户端输入的支出和收入信息,在控制器中 的响应模块的处理下将收入和支出的列表、时间及详细的数据传给用户的功能。 数据由用户使用手机客户端传给系统;实现了用户点击查询记录,通过事件处理 机制让用户在交互界面上可以看到添加的支出、收入列表,类别、时间及详细 数据的功能。具体的支出记录和收入记录由事件处理机制响应后由系统传递给 用户;用户点击通过财务计划,通过存储显示事件处理的机制,实现了向用户 显示财务计划的功能。 18 3 3. .3 3 数数据据库库的的逻逻辑辑设设计计 MIDP应用程序提供了一种跨多个调用、持久存储数据的机制,这种机制称 为记录管理系统(Record Management System,RMS) 3。RMS是一种简单面向记 录的数据库模型,它可以对存储在设备可持续存储空间中的记录和记录集进行 有效的管理14。RMS将数据按照每一个记录集(RecordStore)为单元进行管理, 同一个Suite内的MIDlet应用可以共享同一个记录集的数据,不同Suite的应用则只 能拥有自己的记录集空间。一条记录(Record)其实就是一个字节数组,存储长度 可变的二进制数据,并且有唯一的整数标识符(ID)。ID是一个32位的整数,可以 被用于设置、获取记录值并进行一些记录管理的操作 4。记录集为每一条新添加 的记录分配一个ID,第一条记录从1开始, ID只能增加,删除一条记录其后的 记录ID不会前移。记录集具有线程安全性,同时可以有不同的线程对其进行安 全的更新和访问(无论是在同一MIDlet或不同MIDlet),多线程操作时由MIDlet负 责协调访问5,否则可能出现无法预料的结果。 本系统中需要对用户通过手机客户端输入的支出收入的类别、时间及金额等 数据进行记录管理的具体过程为: 1 支出信息的存储:对添加支出的类别、时间及金额的信息保存到数据库 中。 2 收入信息的存储:对添加收入的类别、时间及金额的信息保存到数据库 中。 3 财务计划的存储:对财务计划的内容包括收入列表、支出列表保存到数 据库中,以便用户进行查询。 在存储过程中将输入的信息转换正字节数组进行存储,因为 RMS不支持字符 型和布尔型数据的存储。一条记录就是一个字节型的数组,每一条的记录都有 唯一标识符用来用户对数据进行查询。 19 4 软件的详细设计 4 4. .1 1 软软件件系系统统实实现现的的关关键键点点 4.1.1 类结构的定义 MIDP的用户界面类库中提供的接口API分为低层和高层两种6。低层用户 接口API要求应用对显示的绘制和对用户输人做出响应,而高层用户接口API工 作在抽象层,使用时不需要负责低层信息的设定,不用实现Paint方法和重写, 只需要进行相关的调用即可,因此大大地简化了程序员的编码工作。在低层用 户接口API中,应用程序与用户交互的方法只有一个即通过Canvas类进行自己的 扩展和定义,而高层用户接口API定义了几个类取代Canva、类,这些类都继承 自Screen类,被称为屏幕类。Screen类是从Displayable类继承而来的,与 Displayable类相比又增加了4个方法,包括屏幕标题(Title)和广告条(Ticker)组 件。MIDP的用户界面类库层次结构如图1所示。其中箭头表示继承和派生关系, 直线表示下面的类可以放在上面的类对象中作为一个元素进行处理,如Display 类中可以容纳多个Displayable对象,而一个Form里又可以添加多个Item对象进 行组合7。MIDP用户界面的类库层次结构图如4-1所示。 20 D Di is sp pl la ay y D Di is sp pl la ay ya ab bl le e S Sc cr re ee en n类类/ /C Ca an nv va as s类类 A Ad dd dP Pa ay yO Ou ut tF Fo or rm mA Ad dd dI In np pu ut tF Fo or rm mI In np pu ut tU Us se er rP Pa as ss ss se ea ar rc ch hF Fo or rm mS Sh ho ow wH He el lp pF Fo or rm m 图4-1添MIDP的用户界面类库层次结构图 4.1.2 事务处理机制 基于J2ME的手机软件设计中,在添加了J2ME插件的Eclipse编译环境中 MIDP提供了高级用户UI类和低级用户UI类,在事件处理上主要通过 Commandlistener()来监听,用CommandAction()方法来调用响应的方法来实现具 体的功能,最终的显示都是通过Displayable来显示的。 1 添加支出收入数据时的事件处理用户通过手机客户端输入支出收入类别、 时间及具体的金额时,构造AddPayOutForm()函数,创建一个新的Form容器类用 来添加按钮组件,调用rms.openRs()方法打开数据库,然后将数据类型强制转换 成字节型的,触发事件处理机制,将输入的信息存储到RMS中,具体的数据属性 值为:TextField(“金额” ,null,20,TextField.DECIMAL)备注的长度为 30,extField(“备注”,null, 30, TextField.DECIMAL)时间是系统默认的数值, rs.addRecord(bytearr,0,bytearr.length)方法添加到数据库中,iteUTF(str)来写入字 符串,用byte dat = bos.toByteArray();将要写入的内容变成字节数组,然后 用rms.openRs(payMoney)打开RMS, 将数据读取到RMS中。 2 查询记录事件处理:用户点击查询记录时,触发事件处理机制,将用户 需要的数据以支出列表、收入列表的形式传递给用户。 通过read_UTF8(bytebyteArray)方法,查询数据记录时,显示添加的支出 和收入时,调用ShowPayOutAllist方法来显示所有的支出记录,同时界面会出现 删除所有、添加、删除菜单选项。用户单击删除所有按钮时触发deleteAll_cmd 按键,用户单击删除按钮时触发delete_cmd按键。用ShowPayOutAllList()方法来 显示所有支出记录的信息。查询所有支出记录时新创建一个List(“所有支出记 录”,Choice.IMPLICIT),打开支出记录rms.openRS(payMoneyNote), 21 payoutAlllist()显示所有支出记录,同样可方法调用rms.openRS(addMoneyNote) 记录用addMoneyALLlist来显示所有收入记录的信息,收入的时间、类别及金额。 3 财务规划事件处理:用户通过手机客户端点击财务规划选项时,构造函 数PlanInputBox(),super(“财务计划”,null,1024,TextField.ANY) 8,新建一个 RMS,将各个控制按钮添加上,触发事件处理机制,打开数据记录系统将财务 计划添加到记录集里,addNewLoan(getstring),当用户点击查询时,调用 Midlet.medlet.ShowMainFrame()方法显示财务计划的信息,从而将财务计划传 输给用户。其他的数据存储调用方法逻辑一致,最后用ExitFrame()方法退出程 序。 4 4. .2 2 数数据据查查询询的的算算法法分分析析 整个软件中需要将添加的收入支出类别、时间及金额存储, 因为 RMS 记录 管理系统智能存储字节型的数组因此需要将输入的信息转化成字节型数组的一 条条的 record 记录添加读取到数据库中,在添加记录时,用到三个参数:字节数 组、字节数组内的offset 位移、加入的字节数目9,将记录添加到RMS 中主要 代码如下: private final byte getData(String _key, byte _value) ByteArrayOutputStream baos = new ByteArrayOutputStream(); DataOutputStream dos = new DataOutputStream(baos); try dos.writeUTF(_key); dos.write(_value); dos.flush(); return baos.toByteArray(); catch (IOException e) finally try baos.close(); dos.close(); catch (IOException e) return null; 对存储的数据信息查询时,根据条件查询,addMoneyIndex是收入列表的索 引,代码如下: public voidsearchForm(final int index) 22 try final Form search

温馨提示

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

评论

0/150

提交评论