河南建筑职业技术学院毕业设计
{财务管理股票证券}虚拟
股票交易系统毕业设计
河南建筑职业技术学院毕业设计
摘要
所谓股票交易,就是指股票投资者之间按照市场价格对已发行上
市的股票所进行的买卖。近年来,国内股票市场发展十分迅速,催生
出了诸如上海证券交易所和深圳证券交易所等国内知名的股票交易
中心,同时也吸引了越来越多的股票热爱者。当然,问题也接踵而来,
由于国内股票市场刚刚起步,缺少统一而且全面的交易平台,导致许
多人对于股票的认识还很匮乏。本着为大众服务的宗旨,基于 JAVA
的虚拟股票交易系统就是为了解决上述问题而进行开发的。该系统严
格按照软件工程中面向对象的开发方法和
开发流程,采用 Struts+Hibernate+JSP 技术和 MySQL 数据库进行设
计、开发并实现。用户通过注册、登录到该系统后,可以浏览、学习
自己感兴趣的股票信息和股票知识,查看个人股票持仓,进行股票交
易,修改个人资料等等。该系统内容丰富、安全可靠、操作简单,能
够充分满足绝大多数股票爱好者的需求。
关键词:JAVA、MySQL数据库、股票交易
Abstract
Theso-calledstocktrading,stockinvestorsisthataccordingtothe
河南建筑职业技术学院毕业设计
,t
hedomesticstockmarketdevelopmentisveryrapid,producesuchasth
eShanghaistockexchangeandShenzhenstockexchange,andotherwell
-knowndomesticstocktradingcenter,butalsoattractedmoreandmor
,theproblemwillfollowcloseonsucce
ssion,asthedomesticstockmarkethasjuststarted,thelackofaunif
iedandprehensivetradingplatform,leadingtomanypeoplesharethe
se,basedontheJAVAvirtualstocktradingsystemistosolvetheprobl
twareengineeringofobject-orienteddevelopmentmethodand
Developmentprocess,usingStruts+Hibernate+JSPtechnologyandMy
SQLdatabasedesign,
ers,logintothesystem,canbrowse,learntheirinterestinthestock
informationandthestockofknowledge,viewpersonalstockholdings,a
femoraltickettransactions,modifypersonalinformationandsoon.
Thesystemisrichincontent,safeandreliable,simpleoperation,ca
nfullymeettheneedsofthevastmajorityofstockenthusiastsdemand
河南建筑职业技术学院毕业设计
.
Keywords:JAVA、TheMySQLdatabase、stocktrade
目录
第 1章 系统概述 6
背景 6
系统开发环境 6
系统机构 7
第 2章 系统组成及系统模块介绍 8
系统功能图介绍 8
系统功能描述 8
系统数据库和类结构 9
第 3章 用户管理 112
用户注册 12
用户登录 14
用户设置 16
河南建筑职业技术学院毕业设计
用户修改密码 17
用户退出 18
第 4章 用户股票管理 19
股票交易 19
买入股票 21
卖出股票 22
用户查看股票 24
第 5章 总结 25
参考文献 27
系统运行所需的基本环境 28
致谢 29
第 1章系统概述
背景
股票至今已有将近 400年的历史,它是伴随着股份公司的出现而出现。它是
一种有价证劵,是股份公司在筹集资本时向出资人公开或私下发行的,用以证明
出资人的股本身份和权利,并根据持有人所持有的股份数享有权益和承担义务的
河南建筑职业技术学院毕业设计
凭证。
购买股票是现代人理财的一种风靡的方式。任何一种理财工具都有其风险与
报酬,报酬越高,风险也就越高,买股票与银行储蓄存款及购买债券相比较,虽
说它是最高风险的,但只要掌握得好,它能给人们带来非常高的收益。或许这就
是很多人选择炒股的原因吧!然而目前的上市公司已有上千家,每日产生的信息
更是以海量来计,没有先进的电脑软件来辅助,就很难了解市场的运作情况并作
出判断,可以说做股票不使用分析软件无异于“盲人骑瞎马”,想稳住收益又不
被套是很难的。故而,“工欲善其事,必先利其器”,做股票也是如此。二十一
世纪是知识化、信息化的网络时代。计算机信息技术的使用对股票市场的发展空
间带来了质的变革,极大地拓展了股票市场的时空界限,提高了人们对股票软件
产品的学习兴趣和利用效率。以网络手段来获得股票数据资源的方式和利用网络
作为基本的操作股票的形式,实现以资源共享为核心的全新的股票模拟交易方式,
必将成为众多股民涉足股市前的必修课,并将成为新世纪的主流。
我们学习 java 语言编程,是学习其方法和思想,来为我们今天的生活服务
和创造。在这样一种炒股环境下,我们学习用自己学到的方法来编写一个股票交
易模拟系统,不仅有助于我们熟练掌握和应用编程知识,而且能帮助我们了解股
市交易,学习如何通过股市理财,跟上是时代的步调。
我们做这个股票交易系统主要是为散户量身定制,为股民提供最理性的指引
和方便,主要有以下功能:
1、为用户提供交易的平台。
2、让用户更清楚地看清自己所持有股票的各种属性,以及要交易股票的属性。
系统开发环境
开发工具:该项目是基于 JAVA的数据库应用技术,采用 MYSQL作为后台数据库。
为使系统达到预期性能,必须根据业务规模对硬件配置进行论证。
客户端:浏览器
操作系统:WindowXP
数据库访问:MYSQL数据库访问技术
河南建筑职业技术学院毕业设计
MyEclipse 企 业 级 工 作 平 台 (MyEclipseEnterpriseWorkbench , 简 称
MyEclipse)是对 EclipseIDE的扩展,利用它我们可以在数据库和 JavaEE的开发、
发布,以及应用程序服务器的整合方面极大地提高工作效率。它是功能丰富的
JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML、
Struts、JSP、CSS、Javascript、SQL、Hibernate。
Tomcat 是 Apache 软件基金会(ApacheSoftwareFoundation)的 Jakarta 项目
中的一个核心项目,由 Apache、Sun和其他一些公司及个人共同开发而成。Tomcat
是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普
遍使用,是开发和调试 JSP程序的首选。实际上 Tomcat部分是 Apache服务器的
扩展,但它是独立运行的,所以当你运行 tomcat时,它实际上作为一个与 Apache
独立的进程单独运行的。
MySQL是一个小型关系型数据库管理系统,开发者为瑞典 MySQLAB公司。在
2008年 1月 16号被 Sun公司收购,而 2009年,SUN又被 Oracle收购。目前 MySQL
被广泛地应用在 Internet 上的中小型网站中。由于其体积小、速度快、总体拥
有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成
本而选择了 MySQL作为网站数据库。
系统机构
系统结构是系统的最高层概念。在开发虚拟股票交易系统的实例之前,应该先选
择或定义好一个合适的系统结构。该系统主要采用 MVC 三层模式,分别是模型
(Model)层、视图(View)层和控制(Controller)层。
结构模型如图所示:
模型(Model)层实现系统中的业务逻辑。在 MVC 的三个部件中,模型(Model)
层拥有最多的处理任务。封装的是数据源和所有基于对这些数据的操作。
JavaBean分为业务类和数据实体,业务类处理业务数据、数据实体承载数据,基
本上大多数的项目都是使用这种 MVC 的实现模式。在一个组件中,Model 往往表
示组件的状态和操作状态的方法,如处理请求执行业务逻辑、访问数据库、封装
数据等等。封装的数据和行为必须是独立于任何的表现,提高可重复性,可以独
河南建筑职业技术学院毕业设计
立的测试,不要包含任何的 Servlet和 JSP的 API。
视图(View)层用于与用户的交互,封装的是对数据源 Model的一种显示。一
个模型可以由多个视图,而一个视图理论上也可以和不同的模型关联起来,通常
用 JSP来实现。JSP(JavaServerPages)是由 SunMicrosystems公司倡导、许多公
司参与一起建立的一种动态网页技术标准。技术有点类似 ASP 技术,JSP 它是在
传统的网页 HTML 文件(*.htm,*.)中插入 Java 程序段(Scriptlet)和 JSP 标记
(tag),从而形成 JSP文件(*.jsp)。用 JSP开发的 Web应用是跨平台的,既能在
Linux下运行,也能在其他操作系统上运行。
控制(Controller)层封装的是外界作用于模型的操作。通常,这些操作会转
发到模型上,并调用模型中相应的一个或者多个方法。一般 Controller在 Model
和 View 之间起到了沟通的作用,处理用户在 View 上的输入,并转发给 Model。
这样 Model 和 View 两者之间可以做到松散耦合,甚至可以彼此不知道对方,而
由 Controller连接起这两个部分。
第 2章系统组成及系统模块介绍
系统功能图介绍
该虚拟股票交易系统主要有我的首页、我的持仓、交易明细、账户信息、用户注
册、用户登录、安全退出七大功能模块。用户在注册该系统之后,只需输入自己
的用户名和密码,即可登录到该系统进行股票信息查询、股票买入、股票卖出、
交易明细查询、个人信息修改等操作。除此之外,该系统还提供了丰富详细的股
票、财经链接,以方便用户进行浏览和学习。
系统结构图如下:
系统功能描述
VSTS虚拟股票交易系统是让股民实时了解股市行情的虚拟系统,为股民提供了一
个交流的平台,以便能够个更好的对股票进行交易,为股民提供一个交流的平台,
以便能够更好的对股票进行交易,其主要功能如下:
(一)用户管理:在该系统中的用户管理包括用户注册、用户登录、修改用户
河南建筑职业技术学院毕业设计
信息等功能。
(二)用户股票管理:在该系统中的用户股票管理包括用户浏览股票实时信息,
然后对股票进行买卖等功能
注册用户操作:
1、用户注册
2、用户登录
3、用户设置
4、用户股票操作
5、用户退出
(三)注册用户是系统的主要使用者,主要实现用户登录,浏览信息,然后对
股票进行买卖,修改用户信息,用户退出等功能。
注册用户的操作示意图如下:
系统数据库和类结构
用例模型是整个系统开发过程中的起点,并驱动建模的全过程。用例模型包括系
统的用例图及用例描述。在设计系统用例模型之前,首先要识别活动者和用例。
帐户(帐户编号、客户编号、余额、交易历史)
用户(编号、全称、Email地址、)
用户详细信息(真实姓名、性别、出生日期、出生城市、居住城市、情感状态、
交友目的、血型)
持股(编号、所属帐户、股票代码、数量)
交易历史(编号、交易类型、所属帐户、股票代码、交易价格、成交量、成功否)
股票(股票代码、股票概述)
数据表由类映射得出。
整个系统建立了一个数据库 vsts,五个数据表:股票表 Stock、用户表 User、用
户详细信息表 Userinfo、股票持仓表 Holding、交易记录表 Trade。各数据表的
具体情况如下所示。
第 3章用户管理
河南建筑职业技术学院毕业设计
用户注册
该步骤是针对未注册的用户,来完成注册的功能,未注册的用户不能对该系统进
行操作,只有在注册才能实现对自己信息以及对股票的各种操作。
需要在注册页面提交系统要求的简单的基本信息,包括用户名(无重复),密码,
电子邮箱。为了防止个别用户恶意刷系统注册用户,用户还需要输入系统随机生
成的验证字符。页面上应当有友好的提示:用户输入内容的基本格式,例如用户
名的限制,不能超过某一长度,允许使用那些字符等等。如果用户输入的信息有
误,需要在注册页面上给出详细的错误信息,以醒目的颜色在错误字段旁边显示
即可,尽量不使用弹出对话框这种不友好的方式,除非如验证码这种只能在服务
器端进行校验的字段。
(一)用户注册时,用例既已启动。
(二)注册页面显示:
1、检查用户名是否重复,若重复重新输入,若不重复继续进行
2、用户名、密码(6-16位包含数字和字母,区分大小写)
3、确认密码、Email,用户依次填写完毕后点击确认,并且进行简单的页
面查错功能。
(三)用例结束,注册成功,返回登录界面就能登录。
用户注册示意图:
用户注册的核心代码-如图所示:
用户登录
该步骤完成的是用户的登录功能,本用例允许用户登录。用户登录后,则可以拥
有用户的浏览股票信息,股票买卖等。
注册用户需要在登录时提交自己的用户名和密码,服务器端进行验证后如果有错
误发生,应当给出详细的提示,例如用户名为空、密码错误等等。在登录页面上,
需要提供用户进入注册流程的快速通道,以方便非注册用户的使用。和注册功能
相似,用户完成登录后,系统需要自动跳转到用户登录前所停留的页面,有未完
成的动作的话自动完成。不同之处在于,登录结束时不需要出现自动跳转的页面,
河南建筑职业技术学院毕业设计
避免浪费用户时间。
(一)用例开始,用户执行登录时,该用例开始。
(二)显示用户登录界面,页面上有用户名、密码
(三)登录用户分别填入用户名、密码,单击确定。
(四)用户登录成功后进入系统,即用例结束。
(五)用户名不存在(备选)用户密码。、用户名输入错误,系统给出密码错误
提示,用户重新输入。如果系统发现所输入的用户名不存在,则给出该用户名不
存在,请重新输入的提示。
用户登录示意图:
用户登录的核心代码-如图所示:
用户设置
该步骤主要完成的是用户的设置,本用例完成对用户的信息进行设置。
(一)已经注册过的用户执行我的设置操作时,该用例开始。
(二)显示详细资料页面:详细资料包括性别、出生城市、居住城市、情感状态、
交友目的、血型。
(三)设置完毕之后,选择确认,系统保存设置资料。该用例结束。
用户设置详细信息示意图:
用户修改详细资料的核心代码-如图所示:
用户修改密码
该步骤主要完成的是用户重新修改密码,本用例完成对用户的密码进行重新设置。
(一)已经注册过的用户执行我的修改密码操作时,该用例开始。
(二)显示修改密码页面:原密码、新密码、确认新密码
(三)设置完毕之后,选择确认,系统保存设置。该用例结束。
用户修改密码的核心代码-如图所示:
用户退出
该步骤要是用户退出账户。
河南建筑职业技术学院毕业设计
(一)当用户开始执行退出功能时,该用例开始。
(二)用户退出成功后退出论坛该用例结束。
用户退出示意图:
用户注销的核心代码-如图所示:
第 4章用户股票管理
股票交易
股票买卖是整个系统的核心模块,涉及到交易历史展现、股票查询、股价实
时更新、购买量校验等。其中,交易历史的展现是通过登陆 ID 从交易历史表中
获得。这是一个简单的查询。通过向封装了查询操作的实体 bean中传入用户 id,
即可获得相应的交易记录。整个过程依然是通过 Servlet控制数据流转,使用实
体 bean完成业务逻辑,将结果展现到 Jsp页面中。购买量的校验是通过页面中 js
实现的。在用户选择某只股票,输入购买量,点击确认购买时,股价和购买量会
传入业务逻辑层,进行购买力的校验。实体 bean 取出该用户的帐户余额
balance,与购买额进行比较。若购买额超出帐户余额,则提示购买力不足。否
则,购入股票成功。抛出股票时涉及到的校验包括:客户是否持有该支股票、持
有量是否满足欲要抛出量。这些校验都是通过页面的 Javascript实现的。
(一)用户登录,即用例开始
(二)用户根据情况,买入或者卖出股票
(三)用例结束
该步骤是用户根据股票行情对股票进行买卖,示意图如下:
买入股票
(一)用户点击买入股票,即用例开始。
(二)用户可以在网页上罗列的热门股票里面选择需要购买的股票。
(三)选择股票跳转到该股票的详细信息页面,用户选择购买数量。
(四)用户点击买入股票,即该用例结束。
买入股票示意图如下:
河南建筑职业技术学院毕业设计
用户购买股票的核心代码-如图所示:
卖出股票
(一)用户点击卖出股票,该用例开始
(二)用户在自己个人的股票列表里面选择需要卖出的股票
(三)选择股票跳转到该股票的详细信息页面,用户选择卖出数量。
(四)用户点击卖出股票,即该用例结束。
卖出股票示意图如下:
用户卖出股票的核心代码-如图所示:
用户查看股票
用户可对交易的历史记录进行查看,以总结前期的经验与教训,并可以汇总
某段时间的总盈利或亏损额。在不断总结的过程中,增长自己的经验。历史信息
中展现了用户的交易记录,包括股票代码、状态(买入和卖出)、买入价、卖出
价、数量等信息。
根据登陆名称,扩展出用户详细资料来。数据从基本资料表和帐户表中获取,
包括用户基本信息、当前帐户状态、交易历史记录等。当用户登陆后,Servlet
从 Session 中获取到登录名,通过 setAttribute 方法将其传送给业务逻辑层。
业务层获取到数据后,即可调用封装了基本操作的实体 bean,进行查询,获取到
相关信息。这些信息再通过控制层的 Servlet传向展现层的 Jsp页面,展现给用
户。帐户信息如下图所示:
(一)用户登录,该用例开始。
(二)用户在个人详细列表查看股票
(三)用户退出登录,该用例结束
查看股票示意图如下:
第 5章总结
基于 J2EE平台的股票交易模拟系统,目前实现部门在使用上仍有一定的局限性。
但系统的运行平台和环境均可满足企业级的应用,在扩展性上不存在后天局限性。
河南建筑职业技术学院毕业设计
本次课题的实现主要是对 Java领域的几种热门技术(Struts、Servlet、EJB等)
做了整体运用,并研究和实现了股价的实时更新。这过程对于个人来说,是提高
独立设计和研究能力的好机会。
论文主要完成了以下三方面的工作:
(1) 基于轻量级框架——Spring实现了互动问答平台,具备了基本问答、处
理问题、搜索答案、评论等基本功能。
(2) 着重阐述了系统的多层次架构的设计思想和实现过程,包括将传统的
MVC模式下的三级层次结构细化为视图层、控制层、业务逻辑层和数据持久化层。
(3) 实现了模拟交易中的实时股价,同时可以方便的跟踪自己的交易历史,
从而提高了系统的学习价值。
开发完成的系统具有以下特点:
(1) 在系统架构方面,结合自身特点采用 Struts以及 J2EE的三层架构模型,
在降低了系统各层之间的耦合的同时,也提高了系统的可扩展性,可移植性和灵
活性。
(2)系统界面简洁,操作友好,便于用户使用,具有一定的实用性。同时,
在注册、评价等页面使用局部刷新技术,带给用户良好的体验感受。由于时间有
限,系统目前尚未实现后台管理的功能,无法真正模拟股票交易中的各个环节,
比如:选择证券商、委托、交割等。无法提供实时大盘信息或者股票列表,用户
只能通过搜索已知代码的股票,得到其价格等信息。系统的缺陷与不足都将是我
下一步努力的方向和学习的动力。
参考文献
[1]耿祥义,张跃平.JAVA2实用教程[M].1
[2]刘湛.J2EE全面简介[EB/OL].
[3]龙马工作室.感受精彩—DreamweaverMX2004 中文版完全实例[M].北京:人民邮电出版
社,2005.
[4]龙马工作室.JSP+Oracle组建动态网站实例精讲[M].北京:人民邮电出版社,2004.
1 北京:清华大学出版社,2001.
河南建筑职业技术学院毕业设计
[5]吴其庆.JSP网站设计经典教程[M].北京:冶金工业出版社,2001.
[6]屈辉立,陈可明,石武信.JSP网站编程教程[M].北京:北京希望电子出版社,2002.
[7]周绪,管丽娜,白海波.SQLServer2000中文版入门与提高[M].北京:清华大学出版社,2001.
[8]罗会波.Struts原理与实践系列文章[EB/OL].
[9]TedHusted,CedricDumoulin,GeorgeFranciscus,.
Greenwich:ManningPublicationsCompany,2003.
[10]孙卫琴.精通 Struts:基于 MVC的 JavaWeb设计与开发[M].北京:电子工业出版社,2004.
[11]王沛,冯曼菲.征服 开发技术详解[M].北京:人民邮电出版社,2006.
[12]埃克尔著,陈昊鹏译.Java编程思想(第 4版)[M].北京:机械工业出版社,2007.
[13]孙卫琴编著.JAVA面向对象编程[M].北京:电子工业出版社,2006.
[14]唐汉明等编著.深入浅出 MySQL 数据库开发、优化与管理维护[M].北京:人民邮电出版
社,2008.
[15]刘晓华,张健,周慧贞编著.JSP应用开发详解(第三版)[M]北京:电子工业出版社,2007.
[16]扎卡斯著,曹力等译.JavaScript高级程序设计——图灵程序设计丛书[M]北京:人民邮
电出版社,2006.
[17]:(美)JohnResig 著,陈贤安,江疆译.精通 JavaScript[M].北京:人民邮电出版
社,2008.
系统运行所需的基本环境
硬件环境
1.服务器端:
CPU:以上
内存:不低于 512M
硬盘:不低于 20G
2.客户端:
暂无
软件环境
1.服务器端:
操作系统:Windows2000Server/WindowsXPProfessional
河南建筑职业技术学院毕业设计
网络协议:TCP/IP
Web服务器:WebSphere
数据库:CloudScape
浏览器:
2.客户端:
暂无
致谢
几经彷徨求索,论文终于完成。回顾这一程求学路,记忆里满是老师的悉心
指导和同学的快乐相伴,在此向你们致以最诚挚的谢意和由衷的感激。
"饮其流时思其源,成吾学时念吾师",在此论文完成之际,谨向我尊敬的导师黄
振颖老师致以诚挚的谢意和崇高的敬意。感谢黄老师,真诚的祝您一生健康平安。
大学期间朝夕相处的同学们还有师兄师弟们也给了我许多的关心和帮助,与你们
的相处的日子里,让我收获了真挚无价的友情,让我在校期间的生活过的更快乐
也更充实。感谢你们,同窗之情将永记心中。
我还要感谢传授我知识和给予我指导的其他各位老师,感谢我工作和实习过的公
司,正是有了你们,才让我得到更多的历练,得到更快的成熟和更好的成长。
最后衷心感谢在百忙之中抽出时间审阅本论文的老师们,感谢答辩的各位老
师对我的论文提出的宝贵建议,为我今后的学习和研究开拓了思路。
时光飞快,三年前昂首阔步踏进校园的情景恍若昨天,转眼间今天又要告别
了。过去的日子能够认识你们是我的荣幸,再次感谢你们带给我的许许多多,以
后当我回顾这段时光的时候,我想一定是愉快和感动的。
祝愿你们心想事成!
河南建筑职业技术学院毕业设计
感谢阅读
多年企业管理咨询经验,专注为企业和个人提供精品
管理方案,企业诊断方案,制度参考模板等
欢迎您下载,均可自由编辑