基于J2EE的虚拟股票交易系统.doc
《基于J2EE的虚拟股票交易系统.doc》由会员分享,可在线阅读,更多相关《基于J2EE的虚拟股票交易系统.doc(41页珍藏版)》请在沃文网上搜索。
1、 摘要本文首先介绍了J2EE平台的体系架构,及基于该平台而诞生,并被广泛应用的MVC(modelviewcontroller)开发模型。其次,简要描述了系统开发过程中使用到的关键技术struts的原理及配置的核心代码。在需求分析阶段,抽象出系统的功能结构图,并建立了数据库表结构及关系模型。基于以上技术背景及系统需求,形成了开发规范。其中包括文档、变量和数据表的命名规范,代码结构规范,及文件结构规范。同时提出了系统开发所需的软、硬件环境需求。然后,依据需求文档,逐一实现各个功能模块,并附带相应的核心代码,加以阐述详细设计过程和实现细节。最后,编写简要测试用例,完善系统,以期达到预结果,完成系统的
2、设计与实现。关键词:J2EE、MVC、股票交易AbstractThis paper first introduced the J2EE platform architecture and MVC (model-view-controller) development model, based on the J2EE platform and was widely used. Second, a brief description of the system to use the key technologies in the process of developing , including
3、struts and the core code of configuration. In the analysis of requirement stage, the functional structure of the system was abstracted, with the establishing database structure and model. Based on the above technical background and system requirements, the development of a standardized was formed. I
4、t includes the documents, data sheets and variable naming standards, code of norms, standards and file structure. At the same time, the software and hardware environment needing in the system was constructed. Based on demand documents , I achieved the various functional modules one by one correspond
5、ing with the core code, to describe the detail design process and the achievement of the details clearly. Finally, I provided a brief test case to find bugs in the system, improve and complete the design and implementation.Key words:J2EE、MVC、stock trade目录第1章 绪论41.1 课题的意义41.2 目前研究的现状51.2.1虚拟市场的研究51.2
6、.2存在问题和不足5第2章 系统规划与需求分析62.1 系统描述62.1.1 用户管理模块62.1.2 股票交易模块62.2 功能描述62.2.1 注册功能62.2.2 登录72.2.3 股票查询72.2.4 股票买卖72.2.5 历史查询72.2.6 实时股价7第3章 系统的总体设计73.1 J2EE三层架构73.1.1 用户界面层83.1.2 业务逻辑层83.1.3 数据服务层83.2 架构设计93.2.1 MVC开发93.2.2 struts技术应用113.2.3 Data Access Object143.2.4 其他层的设计153.3 业务对象设计163.4 数据库设计173.4.1
7、 系统数据分析183.4.2 数据库的字段结构183.5 开发环境的选取203.5.1 Java开发工具203.5.2 页面设计工具213.5.3 Web服务器213.5.4 系统数据库21第4章 系统的实现214.1 通用实现流程224.1.1 视图层224.1.2 控制层实现234.1.3 业务逻辑层与持久化层234.2 功能详细实现234.2.1 欢迎页面244.2.2 帐户信息展现:254.2.3 股票买卖264.2.4 股价实时更新274.2.5 用户好友管理界面294.2.6 查询交易历史记录30第5章 总结31参考文献33附 录33功能实现的核心代码33系统运行所需的基本环境40
8、致 谢41第1章 绪论在jsp、servlet技术的推动下,java web开发进入一个新的时代,但是jsp和servlet在代码重用性上表现并突出,而且造成了java代码与前台的HTML代码的强烈耦合性,使得系统维护起来很困难,由此出现了框架技术,其中以struts框架为主要代表,jakarta-struts框架是Apache软件组织提供的一项开放源代码项目,它为java web 提供了模型-视图-控制(Model-View-Controller,MVC)框架,尤其适合大型项目的开发,目前Struts版本为1.2。本文研究了基于J2EE平台B/S架构的股票交易系统的设计与实现。不仅模拟了股票
9、交易的流程,同时也模拟了运行环境。1.1 课题的意义我国的股票市场,从沪、深两个交易所成立日算起,已有十多年的历史。虽然中国股票市场具有与生俱来的制度性缺陷,但我们不能否定股票市场对中国经济增长的积极作用,它的跨越式的发展为国有企业改革和国民经济的持续健康发展做出了积极的贡献。总体上看,中国股票市场正在不断规范中得到较快发展,那么我们就应该以发展的眼光看待中国股票市场的发展,在完善有关法规和规范市场主体的前提下,进一步发展和壮大股票市场,使其在国民经济的发展中发挥更大的作用。二十一世纪是知识化、信息化的网络时代。计算机信息技术的使用对股票市场的发展空间带来了质的变革,极大地拓展了股票市场的时空
10、界限,提高了人们对股票软件产品的学习兴趣和利用效率。以网络手段来获得股票数据资源的方式和利用网络作为基本的操作股票的形式,实现以资源共享为核心的全新的股票模拟交易方式,必将成为众多股民涉足股市前的必修课,并将成为新世纪的主流16。模拟交易系统中可以自行设立上市公司,通过完全独立的撮合过程,完成股票交易。由于这种模拟交易的对象和交易过程都是自成体系的,与真实股票市场完全脱钩,真实股市中股票价格变动不会对本系统的股票价格产生任何影响13。由于模拟交易的独立性和完整性,参与操作的使用者可以清楚地了解股票价格的形成过程及市场(如庄家)运作机制,同时也为使用者提供了一个在资本市场中角色扮演的机会,在科研
11、、教学及系统的可扩展性等方面优于前一种方式。这种方式更能够帮助使用者掌握股票交易系统的内在原理和运行机制,全面地熟悉上市公司的评价、股票的发行、证券品种的创建、市场投资者博弈及股价的形成原里等知识,为以后参与资本市场运作积累宝贵的实战经验。1.2 目前研究的现状1.2.1虚拟市场的研究市场模拟即虚拟市场研究是目前较为流行的一种研究方法,主要应用于在市场微观结构研究和学习行为等。主要方法是构造虚拟经济市场,设计虚拟经济人行为,编制计算机程序,利用计算机技术进行的一种研究方法1。计算机模拟市场使得研究者可以在受控的环境中研究市场微观结构和学习行为的各种理论。与多时期交易行为过程几乎从来都无法清楚的
12、进行建模的真人试验(human-based experiment)不同,虚拟经济人模型(agent-based model)可以很容易容纳复杂的学习行为、不对称信息、异质偏好、特殊的直觉(adhocheuristics)等。Garman(1976)、Cohen 等(1983)、Hakansson 等(1990)是金融市场虚拟经济人模型研究的先驱。Gode 和 Sunder(1993)利用这一框架描述了竞争市场的一个显著特点:即使没有任何形式的学习或者智力,在预算约束始终满足的前提下,随机交易的经济人最终收敛到了理性预期均衡10。另外一些学者通过限制他们给出的买卖报价的幅度给 Gode 和 Su
13、nder(1993)的零智力(zero-intelligence, ZI)交易人增加了不同程度的智力。通常这些限制包括最近观测的交易或者报价的某些函数8。例如,Jama 和 lSunder(1996)、Cliff和 Bruten(1997),他们都引入了简单的直觉来限制和改善那种简单的随机报价。更多学者开始研究交易行为随时间发展得更加复杂的计算机模拟市场。LeBaron(2000)总结了不少这样的计算机模拟的市场。这些模拟试图研究长期的市场现象以及短期的交易行为,并且是在个人层次上建立行为的理论12。1.2.2存在问题和不足系统实现了股价的实时更新,对特定的股票满足了虚拟交易。但用户在买卖过程
14、中,无法参考该股票的历史价格走势,进而无法对未来价格做出预测。在选择某只股票,作为购买对象的过程中,用户只能在事先已知股票代码的前提下,才可获得该股票明细,但无法看到其价格涨跌情况及交易数量。第2章 系统规划与需求分析本章主要结合系统平台的需求,提出平台的模块设计方案,并对模块的各功能进行描述。2.1 系统描述系统实现股价的实时更新,以及少量客户对特定几只股票的买卖。客户除可买卖股票外,也可对帐户余额进行更改。以期模拟股票交易流程。系统主要包括以下模块:2.1.1 用户管理模块用户是整个交易平台的主体,基于系统的安全性考虑,用户必须注册才能使用系统的各个功能,用户在未登录的情况下,不能进行发送
15、消息和买卖股票。用户可以注册成为新的帐户,登录系统。由于系统只是模拟股票交易,所有注册用户都未设置初始基金。在数据库中的user表中,只保存了注册用户的登录名。用户登录后,可以对自己的帐户信息进行查询、更改,包括基本资料和帐户余额。也可以查询输入股票代码,查询实时股价,并进行买卖,或者查询历史交易记录。2.1.2 股票交易模块由于系统治旨在对股票交易过程进行模拟,所以在交易时,只能对数据表中预存的几支特定过票进行买卖。用户可输入特定股票代码,查询股价,并输入数量,进行股票买入。若买入量总额大于用户账面余额,系统会提示金额不足。同时,页面显示目前用户手中持有的股票信息。包括买入价、数量、总额、买
16、入日期等。在交易历史记录中,列出了用户所有买卖记录,并计算出利润和亏损额。交易模块是整个系统的核心模块。其中涉及到的业务处理逻辑、所操作的表、以及页面展示都比较复杂。对应的数据表包括holding-存储用户所持股票、TransactionHistory-记录用户交易历史。2.2 功能描述2.2.1 注册功能需要在注册页面提交系统要求的简单的基本信息,包括用户名(无重复),密码,手机号码,电子邮箱。为了防止个别用户恶意刷系统注册用户,用户还需要阅读用户协议才能进行注册。页面上应当有友好的提示:用户输入内容的基本格式,例如用户名的限制,不能超过某一长度,允许使用那些字符等等。如果用户输入的信息有误
17、,需要在注册页面上给出详细的错误信息,以醒目的颜色在错误字段旁边显示即可,尽量不使用弹出框这种不友好的方式,除非像验证码这种只能在服务器端进行校验的字段。用户完成注册后,提示用户注册成功,进入自动跳转的页面,系统返回到用户在注册之前所停留的页面。2.2.2 登录注册用户需要在登录时提交自己的用户名和密码,服务器端进行验证后如果有错误发生,应当给出详细的提示,例如用户存在,用户名为空等等。在登录页面上,需要提供用户进入注册流程的快速通道,以方便非注册用户的使用。和注册功能相似,用户完成登录后,系统需要自动跳转到用户登录前所停留的页面,有未完成的动作的话自动完成。不同之处在于,登录结束时不需要出现
18、自动跳转的页面,避免浪费用户时间。2.2.3 股票查询股票查询功能尚未完善。查询前,用户需事先知道待查询的某支股票的代码,才可通过系统获得该股票的详细信息。查询包括对以持有股票的查询和对尚未购买的股票的查询。查询结果中包括股票代码、股票名称、当前价格(实时更新)等。若用户已持有该股票,则结果中还包含持有量、买入价和购入时间。2.2.4 股票买卖用户抛出所持有的股票时,需输入抛出量、抛出价等信息,其具体值都是参考股票查询结果而有用户自定义的。欲抛出的股票必须是已持有股票,抛出量不得大于持有量。当用户想购入一定量的某支股票时,也是根据股票查询的结果,输入购入价、购入量等信息。并保证所需总金额不得高
19、于用户帐户余额。2.2.5 历史查询用户可对交易的历史记录进行查看,以期总结经验与教训,并可以汇总某段时间的总盈利或亏损额。在不断总结的过程中,增长自己的积累。历史信息中展现了用户的交易记录,包括股票代码、状态(买入和卖出)、买入价、卖出价、数量等信息。2.2.6 实时股价实时股价指的是系统使用其他网站的股价查询接口,每两秒钟刷新一次当前的股价,从而实现了股价的不断更新。股价的更新提高了模拟交易系统的实用价值,使其更具有学习的意义。第3章 系统的总体设计本章介绍了系统开发过程中采用的J2EE框架,并详细阐述了总体架构和数据库设计方案。3.1 J2EE三层架构基于B/ S模式的信息系统一般由三层
20、构成,即用户界面层、业务逻辑层和数据服务层。J2EE三层架构如图3-1:图3-1: J2EE三层架构图3.1.1 用户界面层该层是系统的人机接口部分,用户和应用程序之间的交流在该层完成。通过用户界面层,用户可以完成获取数据、输入数据、修改数据、删除数据等一系列操作。用户界面层也包含了一定的安全机制,用户根据授权范围可以控制数据和机密信息。作为ASP程序,用户界面是典型的HTML或DHTML (也可能是XML) 页面,该层通过HTTP协议与业务逻辑层通信8。3.1.2 业务逻辑层该层是用户界面层和数据服务层的桥梁,它响应用户界面层的用户请求,执行任务并从数据服务层提取数据,然后将必要的数据传送给
21、用户界面层,从而实现用户界面层与数据服务层之间的交互。该层包含了在应用程序中执行关键处理的组件,这些应用程序遵守所有的业务规则及限制,典型的业务逻辑既可以体现在一个简单应用程序的ASP文件中,也可以很好地体现在COM组件中。3.1.3 数据服务层该层就是数据库管理系统(DBMS) ,它负责管理数据库中数据的读写。系统采用现在主流的关系数据库管理系统(RD2BMS) ,从业务逻辑层传送到数据服务层使用SQL语言,使其能迅速执行大量数据的更新和检索11。系统的三层体系结构三层中的核心是业务逻辑层,它将原本在两层客户机/ 服务器中客户端上的一些有关逻辑运算处理部分独立出来,并安装在业务逻辑层。由于所
22、有的商业运算规则集中在一个地方,所以当运算规则需修改的时候,只需修改业务逻辑层就能在用户界面层得到体现,而不需要修改每台客户机上的程序,这是三层B/ S结构的特点所在。三层B/ S结构的应用,最大限度地保证了数据的唯一性和安全性。3.2 架构设计3.2.1 MVC开发MVC模式减弱了业务逻辑接口和数据接口之间的耦合。“Model” 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现),“View”是应用的表示面(由JSP页面产生),“Controller”是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 J2EE 虚拟 股票交易 系统